Jump to content

roytam1

Member
  • Posts

    3,681
  • Joined

  • Last visited

  • Days Won

    426
  • Donations

    0.00 USD 
  • Country

    Hong Kong

Everything posted by roytam1

  1. roytam1

    XomPie

    maybe it is nothing wrong with xompie but wine3d? I find that palemoon crashes with my AMD OpenGL ICD. atioglxx.dll!69940bd2() atioglxx.dll!69941308() atioglxx.dll!69946e44() atioglxx.dll!6993bda7() atioglxx.dll!6974d51a() atioglxx.dll!6971b1fb() atioglxx.dll!69710a28() atioglxx.dll!697228a2() ntdll.dll!7c93005d() ntdll.dll!7c93005d() atioglxx.dll!69ec55f4() atioglxx.dll!69ec5613() > msvcr120.dll!_cprinput_l(const unsigned char * format=, localeinfo_struct * plocinfo=, char * arglist=) Line 1374 + 0xc
  2. roytam1

    XomPie

    already patched palemoon 27.2 unstable was working but now crashed before showing UI.
  3. in patch.cpp: /** Processes patches and integrates them into the PE file. * @param PEfile PE file. * @param patches Table of patches for selected PE file. */ void apply_patches(CPEFile& PEfile, abstract_patch* patches[]) { /* ... */ //create new section int UpdateRVA; char * UpdateOfs = NULL; if (total_code_size) { UpdateOfs = (char *) PEfile.AddSection(UPDT_SEC_NAME, total_code_size, &UpdateRVA, IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_CNT_CODE); //check if section creation/increase was successful if ((!UpdateOfs) || (!UpdateRVA)) { throw patch_exception("Failed to create '" UPDT_SEC_NAME "' section"); } memset(UpdateOfs, 0, total_code_size); }
  4. If you're using IDE/ATAPI driver, and yes there is 137GB limit. Using IAA or UNIATA should bring you up to 2TB size. for USB, 3rd party driver is needed. Check this out: http://bearwindows.zcm.com.au/winnt4.htm
  5. maybe you just add the driver in incorrect way. for adding network driver, goto Control Panel -> Network -> Interface Card tab -> Add -> Have Disk
  6. As NT4 is not PnP OS, you don't need any chipset driver. for network card, there is limited choices that has NT4 driver.
  7. I'm looking forward to your binaries
  8. instead, I want new palemoon compiled for vanilla XP.
  9. The program in C:\DOCUE~1\ALLUSE~1\APPLIC~1\FIREFL~1\STRONG~1\2031~1.6 is corrupted.
  10. I wonder if newer Firefox (3.x - 12.0) will run with wrapper?
  11. here it is: http://w2k.flxsrv.org/cgi-bin/wluc.cgi?OS=1&TYPE=-1&LANG=-1&DATE=2017&DATE2=/06
  12. BWC's Kernel Ex v2.9/v2.9G is released, Japanese version only at the moment BTW.
  13. the pushs should have "dword" keyword
  14. Looks promising, great! Do codecs and DMO work? Did you try playing WMA/WMV?
  15. Still accessible via http://update.microsoft.com/windowsupdate/v6/
  16. For Qt5, instead of tracing, it is better to look at sources and build a debug build.
  17. Great, that will be fun BTW in NT4 MsgWaitForMultipleObjectsEx() API doesn't accept MWMO_INPUTAVAILABLE flag, which may cause problems with Qt4 programs. I patched Qt4 with some changes in order to made it work in NT4: diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qeventdispatcher_win.cpp QtWeb/src/qt/src/corelib/kernel/qeventdispatcher_win.cpp --- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qeventdispatcher_win.cpp 2013-06-07 08:16:52.000000000 +0800 +++ QtWeb/src/qt/src/corelib/kernel/qeventdispatcher_win.cpp 2013-06-26 20:58:22.064500000 +0800 @@ -810,11 +810,11 @@ if (!filterEvent(&msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } - } else if (waitRet < WAIT_OBJECT_0 + nCount) { + } else if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) { d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0)); } else { // nothing todo so break break; } @@ -830,13 +830,13 @@ Q_ASSERT(nCount < MAXIMUM_WAIT_OBJECTS - 1); for (int i=0; i<(int)nCount; i++) pHandles[i] = d->winEventNotifierList.at(i)->handle(); emit aboutToBlock(); - waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE | MWMO_INPUTAVAILABLE); + waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE); emit awake(); - if (waitRet < WAIT_OBJECT_0 + nCount) { + if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) { d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0)); retVal = true; } } } while (canWait);
  18. It is different approach here. For porting Qt4 back to NT4, I dug older version of Qt and find add back removed logic for older windows(NT4 and 95 here). For Example: diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win.cpp QtWeb/src/qt/src/gui/text/qfontengine_win.cpp --- qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win.cpp 2013-06-07 08:17:00.000000000 +0800 +++ QtWeb/src/qt/src/gui/text/qfontengine_win.cpp 2013-06-19 11:30:42.627875000 +0800 @@ -398,10 +398,23 @@ #if defined(Q_WS_WINCE) GetCharWidth32(hdc, glyph, glyph, &width); #else if (ptrGetCharWidthI) ptrGetCharWidthI(hdc, glyph, 1, 0, &width); + else { + GLYPHMETRICS gm; + DWORD res = GDI_ERROR; + MAT2 mat; + mat.eM11.value = mat.eM22.value = 1; + mat.eM11.fract = mat.eM22.fract = 0; + mat.eM21.value = mat.eM12.value = 0; + mat.eM21.fract = mat.eM12.fract = 0; + res = GetGlyphOutline(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX|GGO_NATIVE, &gm, 0, 0, &mat); + if (res != GDI_ERROR) { + width = gm.gmCellIncX; + } + } #endif } void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const { @@ -651,11 +664,11 @@ 0 }; static const int char_table_entries = sizeof(char_table)/sizeof(ushort); -#ifndef Q_CC_MINGW +#if 0 void QFontEngineWin::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rightBearing) { HDC hdc = shared_dc(); SelectObject(hdc, hfont); diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win_p.h QtWeb/src/qt/src/gui/text/qfontengine_win_p.h --- qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win_p.h 2013-06-07 08:17:00.000000000 +0800 +++ QtWeb/src/qt/src/gui/text/qfontengine_win_p.h 2013-06-18 18:25:51.918125000 +0800 @@ -106,11 +106,11 @@ virtual QImage alphaMapForGlyph(glyph_t, const QTransform &xform); virtual QImage alphaRGBMapForGlyph(glyph_t t, QFixed subPixelPosition, int margin, const QTransform &xform); virtual QFontEngine *cloneWithSize(qreal pixelSize) const; -#ifndef Q_CC_MINGW +#if 0 virtual void getGlyphBearings(glyph_t glyph, qreal *leftBearing = 0, qreal *rightBearing = 0); #endif int getGlyphIndexes(const QChar *ch, int numChars, QGlyphLayout *glyphs, bool mirrored) const; void getCMap(); And what junior600 has to do is that, adding missing API into wrapper so newer programs can run on NT4.
  19. Yes, according to timeline, coding does not begin. https://developers.google.com/open-source/gsoc/timeline https://summerofcode.withgoogle.com/organizations/5423529534160896/#5099385011568640
  20. Seems font width measuring API returning 0 here. This happens when I port QtWeb to NT4. BTW will you do the same for but NT 3.51? It seems more interesting (and challenging, as missing Winsock2)
  21. ReactOS is a clean room reversed engineering free reimplementation of Windows (now targeting 2003 SP1) and Google Summer of Code (GSoC) 2017 they started a branch implementing xHCI driver.
  22. Maybe a working xHCI driver from ReactOS (GSoC 2017) will work on XP.
  23. Thats nice, looks promising.
  24. I dug in msfn and found this: and this may be why blackwingcat NOT to use 5.00.2195.7369. But what about Windows2000-KB2508429-v17(5.00.2195.7371)?
×
×
  • Create New...