
user57
MemberContent Type
Profiles
Forums
Events
Everything posted by user57
-
NTOSKRNL Emu_Extender for Windows XP/2003
user57 replied to Mov AX, 0xDEAD's topic in Pinned Topics regarding Windows XP
microsoft released the source code of windows xp/2003 having the source code gives a big adventage in speed, analyze speed, quicker understanding, code can be copy pasted, assembly analyze is very reduced the source code release from microsoft was for students but then quickly gone viral public i do not really understand why vista code doesnt get released, students have to work with a old code of xp vista would be old too, but at least some code could be made use of, so why not ? it would be possible for microsoft doing that the windows 2000 vs windows xp rather remembers the fight between vista and windows 7 with one diffrense win 2000 didnt have bad things so directly so you could use vista instead of 7 that could be done but i rather would use windows 7 over vista many used windows 98 se because when windows nt apeared a lot of compatibility was lost and a lot of older apps didnt work anymore in other directions to have some fun with modding or code or creating coding stuff you could choose all of operating systems -
NTOSKRNL Emu_Extender for Windows XP/2003
user57 replied to Mov AX, 0xDEAD's topic in Pinned Topics regarding Windows XP
i dont see a reason to not add functions that can be added with xp its a longer story, there was dos-> win3.11 -> win95 -> 98 -> winme those where also dos based and in part 16 bit this suppose to leave with windows NT then nt versions apeared nt 4.0 wasnt good so most accepted nt 5.0 nt 5.0 then was updated and called windows 2000 then there was xp sp1 aka 5.1 then there was server 2003 was is windows xp but was called nt v 5.2 but then xp recieved a lot of upgrades it surpassed server 2003 and even got the updates from windows pos ready what also was based on xp and upgraded up to 2019 so most likely xp is the sucessor of all nt versions in 3-5 then vista apeared v 6.0 but it had many bugs and a lot things didnt even work, so people actually avoided it xp still was the better choose then microsoft made a good decition they brought back compatibility and tryed to fix the errors they made with vista aka windows 7 apeared, based on version it was nt 6.1 windows 8 suppose to be nt 6.2, but it brought not many new things direct12 ? that was moved to windows 7 too (world of warcraft for example use directx12 on windows 7) the problem with 8 was in my opinion that it didnt brought anything new rather incompatibilities what are not wanted it was a bad seller and begun with the spyware component another reason to avoid it with windows 10 what is at best nt 6.3 was called 10 or internal nt 10.0 for no reason windows 10 also was free to have just upgrade and use it, a lot of people then came up there must be something wrong with this deal and yes so it does it try to get rid of the user as owner of the computer and software, it has spyware components, it can stream updates if it wants to, it take more cpu power on will, it can patch whatever it wants against the users will windows 11 does the same thing but the TPM chip now also take place the user itself had not that many choose options because now time has passed it was time to get a new software having new hardware too a lot of users still use windows 7 for that reason but back to xp why would you go to windows 2000 when you got everything you actually need in windows xp(as successor of all nt ~5 versions), it is very compatible backwards and even upwards a other problem with win2000 and xp is that xp recieved a lot of upgrades that win2000 dont directly have some even from vista this leave open questions you dont have a real advantage going back to win2000 from xp you might have a adventage if you go back from xp to windows 98 -
Windows 7 support long gone , but still on the current OS list !?
user57 replied to D.Draker's topic in Site & Forum Issues
according to microsoft, windows 7 at least support directx 12 in part: https://devblogs.microsoft.com/directx/porting-directx-12-games-to-windows-7/ -
ok but since we seems to found the problem, why this is not progressing? the idea to make a jpegxl.dll and just replaceing jpegxl.dll do probaly not work for the reason that the irvanview´s author wrote plugin functions to jpegxl.dll (instead of using the jpegxl.dll directly) his are added functions to jpegxl.dll are: "ReadAnimatedJXL_W ReadJXL_W SaveJXL_W ScanJXL_W ShowPlugInOptions_W ShowPlugInSaveOptions_W GetPlugInInfo" i wrote a post about that problem, that also goes for that WEBP.dll format (what is probaly linked with 16.8 or newer) v 16.8 + create InitializeCriticalSectionEx 16.7 has a working c-runtime for xp it trys to use InitializeCriticalSectionEx but if cant use it use a working other code you either need to fix the crt described in the other post or you go back to Visual Studio 2019 version 16.7 (maximum) the microsoft website also says something about Visual C++ Redistributable version 14.27.29114.0 (maximum) microsoft source: https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170
-
use a free vpn ? login: de4.vpnbook.com password: ct36a3k does that cuda gpu engine do something software cant do ? sounds weird to me you can emulate everything a cpu/gpu/semiconductor can do of course they will be a lot performance lost but with greater and faster cpus even software based render could reach and pass the often 10 times+ faster hardware acceleration with sse commands probaly a lot closer to hardware acceleration having more of cpu cores probaly also help in this questioning
-
sounds like a harddrive problem they often have this kind of look (even if scandisk/chkdsk find nothing) do you maybe have a different hdd you can try ? they kinda cheap today maybe a ssd i would try that first, put your old hdd outside and install windows (if you no longer want to do this just put your old hdd drive inside the computer again) to debug other applications you need a debugger, to debug the operating system you need a os debugger windbg cant debug the entire os so directly
-
that list says MSVCP140.DLL is the reason ? thats part of Microsoft Visual C++ Redistributable/vc_redist.x86.exe what version of MSVCP140.DLL is used ? microsoft said latest supported version is v 14.27 anyway here is the entire project, here the IrfanView author can add his export functions he maybe programmed that dll to use his functions instead of the export of jxl.dll that can be done that way more common or flexible way would be to use the export functions that jxl.dll (renamed Jpeg_XL.dll) gives those exported functions handle the encode/decode/compression the readme.txt has information about how to do the next part but i do not think msvcp140.dll is the reason https://www.file-upload.net/download-14783581/files.zip.html ------------------------------------------ seems i got confused a bit, it looked to me his jpeg_xl.dll loaded that unwanted functions in kernel32.dll but it doesnt, i must have eaten something wrong that InitializeCriticalSectionEx is result of dynamic CRT (for both the one i compiled (where i know it works on xp) and for the jpeg_xl.dll from IrfanView author, also for that "api-ms-win-core" dlls the CRT Irfanview author use work for xp the reason why this is not in the import list is that it loads this at runtime and its that CRT (i wrote something about that in msfn forum) it doesnt use InitializeCriticalSectionEx on xp it trys to load it, but then choose a working alternativ now we left with a new question why it doesnt work on xp ? maybe that msjava.dll or that MPR.dll ? the jpeg_xl.dll i compiled do not use those but is not having that export functions RamonUn is right those are not part of the compiled jxl.dll that then get renamed to jpeg_xl.dll ReadAnimatedJXL_W ReadJXL_W SaveJXL_W ScanJXL_W ShowPlugInOptions_W ShowPlugInSaveOptions_W GetPlugInInfo
-
can somebody do this again ? i dont know how to use cmake but somehow i managed to compile jpgxl in part, that jpgxl.dll was compiled it even has a few more exported functions so it might work as replacement https://www.file-upload.net/download-14780496/test.zip.html Jpeg_XL.dll goes into "IrfanView\Plugings" (thats where the old jpgxl.dll is) all brotli files go into "IrfanView" (that brotli is somehow part of that jpgxl), those dlls are not found when put into "plugins" folder thats probaly because the directy it searches are the Irfanview directory or system vc_redist.x86.exe installs msvcp140.dll (if missing, the redist problem users had recently last time ?) that decoder/encoder is certainly all os compatible the problem is probaly that the c-style and new compiler automaticly translate the c code into vista+ functions maybe also bring it into the irfanview forum if no missing functions are detected (what i suspect) if im wrong correct me and we make a next step the only Exported function my compiled Jpeg_XL.dll dont have is "GetPlugInInfo" that function is probaly added by the IrfanView author/programmer if that is the last problem the IrfanView author very certainly can program his IrfanView to use the Jpeg_Xl.dll i compiled up that might lead into the IrfanView authors forum
-
well the answers sounded like if the question is solved please post the working file and then put it to xp lastest software working list
-
if you can set me up a working enviorment i can fix this up, the problem for me is that i dont know how to use the new tools like cmake and the other things the programming part i very likely can solve but anyway that error indicates not the programm/app is the problem its that JPEGUXL.DLL i googled around it finds such dlls some say they work on xp, but cant confirm
-
france is the guy for the codecs, he certainly can do this a problem with france is but that hes often very busy and then get hot quickly hehe but someone not neccesary have to use a external functions or dll´s like a bitmap, a format has a certain norm that it progress, that is then put on screen if you write it manually to progress that format it is compatible to any OS even win95 and maybe below that missing functions from ramon do not contain any important function to progress a format unless that dont care about compatibility and just compile some functions you have to progress your code yes the idea to give xp or other os functions is a better way of solving things
-
im the meaning it should go the route windows 8/8.1 did or what happend when windows me apeared and windows 98 se passed
-
the perma link for sumatra pdf xp 3.3.3 http://designingonajuicycup.com/downloads/untested/sumatrapdf_winxp/3.3.3.7z there also some jpeg format´ss to test, for printing sure print formats such as bmp, png ,tif, raw and maybe tga are the best jpeg XR(.jr), jpeg 2000 (.jpf), jpg standart (.jpg) the jpeg XR format useally works, on some older versions of xp there are reports that it doesnt involved dlls are windowscodecs.dll(thats the one in compiler too my version has 6.0.6001.17009), wmphoto.dll, rsaenh.dll
-
it depents if he accept, i dont know if he want to do the oposite we better do not dibya once said to me he only cares about vista or newer the use of a newer compiler would go into that direction the use of "span" is just a type converter, but that version that support span triggers unwanted functions (even tho those functions have nothing to do with the type converter) i found a programming error, that only apears on xp AutoFreeWstr dir = GetSpecialFolder(CSIDL_PROGRAM_FILES); WCHAR* path = path::Join(dir, info->exePartialPath); // <--- this is a fault because it doesnt check if dir has found a directory, in xp that directory doesnt exits // then i fixed it up it just need a reaction if dir has found a folder (he is doing that on other parts of the his code but not on "DetectExternalViewer" AutoFreeWstr dir = GetSpecialFolder(CSIDL_PROGRAM_FILES); WCHAR* path = 0; if (dir) { path = path::Join(dir, info->exePartialPath); if (file::Exists(path)) { info->exeFullPath = path; return true; } } str::Free(path); and so on, and yep when i saw there was already a newer version "3.3.3" i applied the changes to that version what actually was very easy
-
i saw the sumatra author already made a 3.3.3 version the code to apply was easy there was no big differens https://www.file-upload.net/download-14660525/3.3.3.zip.html i wrote you a personal message you might could try what i wrote if thats the problem a other solution would be a direct contact and look where the code actually really fails the message is multiple times in the sumatra pdf code, cant make the conclusion only with that (that message is also not directly at the load of the the jpg files, it also would have failed at a different spot) that release is new enough i think the latest compatible version was in 2015 now its 08/2021 the 3.3.3 version is from 07/2021 while windows 11 is from 06/2021, the compiler version 16.10 is also 07/2021
-
thats interesting do it open png ? here are jpg, jpg2000, png, jpgxr https://www.file-upload.net/download-14659681/jpgtests.zip.html
-
thats what they actually did: there is something called CRT (c runtime) in the past that barly did anything or even was not used the files can be shown in visual studio, and i wrote thembackwards (there is no coding error from my side here) but actually visual studio has this file cached, stored, buildin and do not use my changed files for example i also deleted that function from defition in windows files (and still that CRT still used that function) france had a similiar problem, but he refused to write this in microsoft forums while other said we shouldnt try microsoft knows that (well still some should not lead away instead you should try it anyways neither what microsoft then actually do) this C RunTime then import that functions even if your code is not using that functions
-
here it goes: https://www.file-upload.net/download-14658807/SumatraPDF3.3.zip.html the sumatra author has added a the jpeg XR format it doesnt look to bad when you compare jpg. jpg2000, orginal, jxr https://en.wikipedia.org/wiki/JPEG_XR#/media/File:Comparison_between_JPEG,_JPEG_2000_and_JPEG_XR.png there is a .jxr file in the zip file nearby
-
actually i gone for a solution i editet this cpp file to make use of the previos method but then something weird happend it still imported that function so i was like hmm you might forgotten something ? looked no then i debugged the application picture 01 then this message apeared (basicly it just says that i used a different c++ file to compile but actually this message always apears even tho i made > 10 compiles and > 10 changes) , i so looked if this file exits 2 or more times (no), i restarted vs (also compiled the same problem) also a few trys with rebuild solution/project and clean project deleting the entire project from hardrive and tryed again from beginning also lead to that picture that the c++ files doesnt match the compiled file in picture 02 (thats the one in the middle with the assembly code) you can see that it still used that old code (aka InitializeCriticalSectionEx not InitializeCriticalSectionAndSpinCount) even tho the cpp file is edited (picture 03) in picture 03 thats the one that shows the cpp file that should make that code as you see i first uncommented the code that creates InitializeCriticalSectionEx and replaced it with the common function InitializeCriticalSectionAndSpinCount a other method is i tryed to write c errors into that function, but instead of giving me a error message (because the code cant even work) it also compiled that old code with InitializeCriticalSectionEx do it have some kind of backfile ? maybe staticly skipped ? do somebody actually know why this is happening ? (it let me edit other internal cpp files but for some the code applied/changed does simply not happen, the files itself are changed i gone the folders and looked them with other editors)
-
there was a recent update (my previos version was visual studio 2019 v16.4 updated to vs 2019 v16.10 (the exact version is not known so it must be between those versions) the code i used is windows xp compatible however this "build in trick" still makes my code still incompatible in the past your code useally gone to winmain() in some other codes i reconized that some code was added to my executable that actually was not needed at all so i was wondering why did my executable (what only printed MessageboxA) gone a lot bigger going after that i could understand that this code was added by something else and is executed before my code in winmain() is executed in other compilers or maybe settings? you didnt see this problem and it gone to winmain() directly then the executable was smaller too in my test executable it was just MessageboxA function and no need of executing some "other/more" code this time i had the same problem but this time it made the executable not only inefficient it also made it incompatible (to see here is that microsoft can add this code before your code and make it lets say windows 10 only "this runtime code then gets executed and says "windows 10 only" or "access denied" before your working code is executed) so i took a look what this code actually does do all begins with the function that is called before winmain() extern "C" DWORD WinMainCRTStartup(LPVOID) // <- called before winmain { __security_init_cookie // (unimportant for us) return __scrt_common_main(); // <-- calls next functions } the filename for this code is exe_winmain.cpp and useally is in a directory (or something close) called C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.24.28314\crt\src\vcruntime\exe_winmain.cpp CRT means: C runtime, so we actually know what we deal with in my case it use a unwanted function InitializeCriticalSectionEx (that i actually use nowhere in my code but the c runtime use it) so i looked how and where it do that the code cain is as follows: calls __scrt_common_main ->__scrt_common_main_seh src\vctools\crt\vcstartup\src\eh\i386\secchk.c : (call chain) 0, __SEH_prolog4 1, __scrt_initialize_crt // -> has function __cdecl __vcrt_initialize_locks(VS 16.4works with InitializeCriticalSectionEx and InitializeCriticalSectionAndSpinCount) (VS 16.10 only work with InitializeCriticalSectionEx) -> the VS 16.4 version checks if it can use InitializeCriticalSectionEx if it cant it use InitializeCriticalSectionAndSpinCount (the code use a function called try_get_function() to do so) VC\Tools\MSVC\14.29.30037\crt\src\vcruntime\locks.cpp this is the function with more details: (static void* __cdecl try_get_function( function_id const id, char const* const name, module_id const* const first_module_id, module_id const* const last_module_id ) noexcept ) but that is only important if we want to use InitializeCriticalSectionEx, if we want we just could use InitializeCriticalSectionAndSpinCount and this part would be solved 2, __scrt_acquire_startup_lock 3, _initterm_e (dont have InitializeCriticalSectionEx yet) (then _initterm is done a second time and has InitializeCriticalSectionEx in internal) 4, _initterm <--- second time without _e the function "_initterm" has 2 functions 1 is called __guard_check_icall_fptr (this function checks if the pointer is valid and is unimportant for this case) the other function calls several functions (__xc_a beginning list of functions and __xc_z (end of functions)) the second function in list of __xc_a has InitializeCriticalSectionEx in internal and is called: static _Init_lock (is a class constructor) and leads to _Init_locks _Init_locks is in a file called "xlock.cpp" folder: VC\Tools\MSVC\14.29.30037\crt\src\stl\xlock.cpp (c code) __thiscall _Init_locks::_Init_locks() noexcept { // initialize locks if (InterlockedIncrement(&init) == 0) { for (auto& elem : mtx) { _Mtxinit(&elem); // <- next step we looking for } } } here we look at function _Mtxinit filename that contain _Mtxinit "xmtx.cpp" folder: VC\Tools\MSVC\14.24.28314\crt\src\stl\xmtx.cpp (c code) void __CLRCALL_PURE_OR_CDECL _Mtxinit(_Rmtx* _Mtx) noexcept { // initialize mutex InitializeCriticalSectionEx(_Mtx, 4000, 0); // this variant } here also is the diffrens what has been changed: void __CLRCALL_PURE_OR_CDECL _Mtxinit(_Rmtx* _Mtx) noexcept { // initialize mutex __crtInitializeCriticalSectionEx(_Mtx, 4000, 0); // variant before } the function __crtInitializeCriticalSectionEx has a check if it do use InitializeCriticalSectionEx or if it do use InitializeCriticalSectionAndSpinCount (xp compatible) extern "C" BOOL __cdecl __crtInitializeCriticalSectionEx( LPCRITICAL_SECTION const lpCriticalSection, DWORD const dwSpinCount, DWORD const Flags) { // use InitializeCriticalSectionEx if it is available (only on Windows Vista+)... IFDYNAMICGETCACHEDFUNCTION( PFNINITIALIZECRITICALSECTIONEX, InitializeCriticalSectionEx, pfInitializeCriticalSectionEx) { return pfInitializeCriticalSectionEx(lpCriticalSection, dwSpinCount, Flags); } // ...otherwise fall back to using InitializeCriticalSectionAndSpinCount. InitializeCriticalSectionAndSpinCount(lpCriticalSection, dwSpinCount); return TRUE; } so even if your entire code would just use a single MessageboxA this CRT or "C runtime" starting/calling WinMainCRTStartup beforehand makes your application still incompatible, even if your code 100 % would work noticeable is that "they" can do this not only with a limit to windows vista, 7, 8, 8.1, or 10 they can add incompatible functions to that CRT code thus you might just upgrade your VS/Compiler and your code wont work even if the code is compatible its like a check "do this computer have windows 10" -> access denied -> no code is spawned (even tho your code would work) shame to microsoft for this one (the other code i tryed has a header file that use c++20 style (it are just type converters like you do with templates) but it doesnt use any windows functions)) in that sence that is a compiler question of the c++ style (type converter) not a "missing api" question, but still that CRT used that api even tho i dont have that InitializeCriticalSectionEx in my code and to fix up different types such as handles, int, float etc. for example over a template or type converter, again is a compiler question here is the rest of the callchain (before your code is executed) 5, __scrt_release_startup_lock 6, __scrt_get_dyn_tls_init_callback 7, __scrt_get_dyn_tls_dtor_callback 8 , __scrt_get_show_window_mode 9, _get_narrow_winmain_command_line 10, WinMain(our executable/our code is then executed) <-- here begins/comes our code/programm/app so everybody can easy understand why your code got "blocked" or will just maybe in future, so we know the trick beforehand :-)
-
i made an update with the new version 06/2021 + https://www.file-upload.net/download-14626832/SumatraPDFWinXP.zip.html http://designingonajuicycup.com/downloads/untested/sumatrapdf_winxp/ removed d2d1.dll toolbar works on windows xp tab title works on xp (new)
-
working Chromium v87 for windows xp (last official chrome is v49 for windows xp) it was tested more or less and dont seem to include a spyware or weird connections installer is in chinese III (N) is for Next II(B) for Browse (change folder) II(I) for Install (you only need those 3 for the installer) download links: http://designingonajuicycup.com/downloads/untested/ http://www.filedropper.com/minibrowsersetup1071 https://www.file-upload.net/download-14566263/MiniBrowserSetup_1071.exe.html https://easyupload.io/e3fdad https://transferxl.com/08M79dPPgqG1M https://file.io/wFhiH69x9vge https://filebin.net/jqbzrykgxjv8hl2r you can set any language options -> Settings -> Advanced -> Languages then click on "Language" then you should see "English (United States) in "Add languages" you can find your language v87 is newer then windows 7, 8.1, and windows 10 also it is newer then internet explorer 11 (IE11) that means that version of chromium is not to think away, then rather windows 8.1 , IE 11, (>WIN10 Redstone 5) would disapear even if all of that happens there still would be solutions to make that version of chromium work the market share is also speaking for chrome, chrome being the most used browser https://gs.statcounter.com/browser-market-share
-
http://www.filedropper.com/suma33xp1 bars code was related to d2d1.dll but here goes to toolbar the vs2019 (with upgrades) creates a lot of sse commands , the cpu might not support them ?
-
My Browser Builds (Part 2)
user57 replied to roytam1's topic in Browsers working on Older NT-Family OSes
we actually could rewrite the chrome code to not have dwrite while being fully functional https://www.filedropper.com/chrome76filestoreplace-nodwrite_1 this code even work on newer chrome versions probaly current newest v.84, but that leads into other dependency´s besides dwrite.dll chrome 76 files to replace - no dwrite.zip -
My Browser Builds (Part 2)
user57 replied to roytam1's topic in Browsers working on Older NT-Family OSes
chromium 76 or newer is coming very soon