Ramon_Demestre Posted May 13, 2010 I tried to run Eternity on windows 95B. I downloaded msvc80.dll which is needed and then encountered importations error problems. here they are and How I fixed them: Eternity-r979 msvc80.DLL [Version 8.00.50727.42]: GetLongPathNameW -> GetFullPathNameW IsDebuggerPresent -> FreeConsole ETERNITY.EXE: IsDebuggerPresent -> FreeConsole InterlockedCompareExchange -> CreateFileA At offset 0x9D8D5 : 53 56 57 FF 15 18 E0 49 00 -> 89 D8 F0 0F B1 37 90 90 90 That is, replace: push ebx push esi push edi Call dword ptr [InterlockedCompareExchange] With: mov eax, ebx lock cmpxchg [edi], esi With all the above fix, now eternity works like a charm on Win95. I see now there are more recent versions, Those kind of fix should work too. |-| EDIT |-| With latest relese (fixed it this morning) ETERNITY.EXE-r1163 : At ofset 0x9FDD5 53 56 57 FF 15 18 10 4A 00 -> 89 D8 F0 0F B1 37 90 90 90 And other modifications are same. This makes Eternity to run on Windows NT 3.51 Too However, having no VooDoo III and no SBPCI Drivers for NT3.51, I must run ee Windowed in SuperVGA (800x600-16colors) and without sounds and it looks bad. 0 Share this post Link to post
Csonicgo Posted May 13, 2010 I'm sure this would help win98's issues as well. 0 Share this post Link to post
Quasar Posted May 14, 2010 Csonicgo said:I'm sure this would help win98's issues as well. This is why there are two different releases for Win32. The version built with Visual Studio 6.0 runs on Win9x out of the zip without modification. Newer compilers don't allow building for Win9x compatibility. SVN builds by Gez are built with Visual Studio 2005, which I think is friendly down to Win98SE. The "Win32 Plus" release version was built with Visual Studio 2008 which will not allow programs to execute on anything older than Windows 2000. 0 Share this post Link to post
Ramon_Demestre Posted May 15, 2010 Will this be fixed or will I have to Hex Edit every time I update? One should not to merge Win95 and Win98 in Win9x, because none of the still in devloppement Ports that I tested worked directly on Win95, wen they did on 98, Exept Chocolate-Doom which even works on NT3.51, without modifications. 0 Share this post Link to post
Graf Zahl Posted May 15, 2010 This cannot be fixed because the newer MS compilers are no longer compatible with Windows 95 and the SVN build maintainers don't have a compiler that still can create executables that will work with it. So yes, you'll either have to hex edit each version or upgrade your OS. 0 Share this post Link to post
Quasar Posted May 16, 2010 If you are requesting an up-to-date Win95-compatible build I could create one, but this would not be a regular thing because I simply don't have the time or resources to do nightly SVN builds on top of all the other stuff I keep busy with. This is why we have Gez, who graciously takes the time to do this with the tools he has at his disposal. But what Graf says is correct. The problem functions you are changing are being called by code that is outside of the Eternity code (ie. crt0 or other objects that have been linked into the EXE). I can't fix it by simply changing something in Eternity, because we don't call any of these functions directly. 0 Share this post Link to post
myk Posted May 17, 2010 You guys might want to check out KernelEx. It does things to Windows 98 to enable stuff that's been compiled specifically for newer Windows. It's how I'm posting from FireFox 3.6.3 on Windows 98, for instance. If it does what it takes, then you could just recommend installing it before trying to install the corresponding source port. 0 Share this post Link to post