Reply 40 of 58, by Disruptor
- Rank
- Oldbie
The classic game StarCraft + BroodWar and WarCraft 2 Battle.net edition should work fine on NT4.
The classic game StarCraft + BroodWar and WarCraft 2 Battle.net edition should work fine on NT4.
Starcraft is just DirectDraw, im not sure about Wacraft2 in my be only Windows 95 editor, but MS-DOS one main executable, im not sure, maybe they is Windows patch - .Battlenet edition or something like that.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
ruthan wrote on 2025-04-10, 02:51:Starcraft is just DirectDraw, im not sure about Wacraft2 in my be only Windows 95 editor, but MS-DOS one main executable, im not sure, maybe they is Windows patch - .Battlenet edition or something like that.
War2 bne is directdraw and directsound, with mci cdrom audio playback. It's aimed at win95, but as far as I know, it should work on NT4.
It's main claim to fame is being able to netplay with tcpip instead of ipx.
I never used NT4 but this thread has been interesting to read. Impressive to see how it can still almost support modern core counts and memory amounts.
Here (in attachment) is Sysinternals suite got NT4 package, its originated from 2006 package and after i added some compatible utils from 2008. There could be still much newer versions of some utilities working win NT4, but i would take a lot of time to test all versions of all utils, this is just quick job.
Password: gustav
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
I have first success with OpenGL Glide wrapper on Nvidia on NT4:
Descent 3 demo 10 with OpenGlide - v009rc7. Its runs at 60 FPS(Fraps is working too), so wrapper is fast enough (demo is limited to 640x480):
How to do it: simply copy 2 OpenGlide files into Descent 3 directory, run setup 3Dfx card is found, select it and run the game.
Gamma settings is not working - so its too dark, but its quite typical, it could be probably changed through Nvidia OpenGL settings, or through Powerstrip. I dont see any gamma settings in OpenGlide ini file, in worst cases you would have to fiddle with LCD/CRT monitor brightness.
Im using Nvidia 12.20 drivers, for OpenGL wrapper would be probably better to use newer drivers. Same as newer Nvidia cards - my system supports only PCI and PCI-X, i dont have Geforce 3 or 4, in PC variant only Geforce FX 5xxx PCI.
Nice think about - OpenGlide its that it automatically creating - OpenGLid.LOG, were to usually (not everytime) can find Glide incialization info.
I see, these too message within in too:
Note: OpenGL GL_EXT_vertex_array extension is supported but disabled by user
Note: OpenGL GL_EXT_blend_func_separate extension is not supported, emulating behavior.
Im not sure why, maybe its because my card is only OpenGL 1.2 or because i simply need newer drivers, or its some wrapper problem.
First is disabled in OpenGLid.ini - configuration file (part) of OpenGlide package, if i enable it, game fails too start.
Second is not reported by GLinfo, there is only GL_EXT_blend_color or blend_minmax and blend_subract.
In found some Khonos OpenGL source - https://registry.khronos.org/OpenGL/extension … nc_separate.txt there is OpenGl 1.2 requirement, Glinfo reports 1.2.2 and also nice SSE2 support is better than DirectX3D, where SSE is not supported on NT, because too old DirectX max version.
Im not sure maybe this function will work with newer Nvidia drivers or by some registry added key.
Log attached.
Dependency walker - I have tried if will see Glide or Opengl dll loaded when i run Descent 3, but not string as it or module loaded. Maybe i need to enable some deeper profiling, or and probably its because i start to debug launcher and game is executed as separate process by launcher as profiler is not clever enough to automatically start to profile new called process. I cant start the game without launcher (or maybe i dont know magic parameters to do it and bypass launcher).. neither how to attach profiler to already executed process.
These things are over my head and im just occasional coder,let alone OpenGL programmer, so its just guesswork.. Someone able to write simple hello world OpenGL / Direct3D program would be much better for this.
Particular success with other wrappers - i have tried a lot of other wrappers, like every second pass some game setup test - Carmageddon 2 demo or Diablo 2 demo test.. ext, but after that when i run game executable im getting usually black screens and nothing - machine does not freeze, so i can it usually if its not totally grind all CPU power as Subculture demo. Diablo 2 is running, but i suspect that is using DirectDraw fallback instead of Glide, i dont se any better video quality difference, Dependency walker does not write anything about GLide / OpenGL, when i run main executable after successful test, i suspect that GLide is turned on, only when you run game through Vidtest - run game - and this is maybe not working with Dependency walker.
GLide version - Some games are requiring glide2x.dll and some wrappers have only glide3x.dll, as i understand it, glide2x.dll was used for Vooodoo 1+2 and glide3x.dll for Banshee,Voodoo3.. and some old demos simply not supporting it new cards and some emulators authors not bother with old game support.
Im not sure how make Quake 2 demo use glide*.dll, i have tried to replace 3dfxgl.dll, but i suspect that is some special IDsoft 3Dfx implementation so that its not right way, i have tried to use ref_gl.dll with some opengl* files from drivers package, but i dont thing that it worked. For Quake 1 / Hexen use vendor opengl* file and rename it to opengl32.dll often not always worked fine.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
I have made other 8 games with open glide, i added new GLide wrappers sheet to NT4 Nvidia compatibility file:
https://docs.google.com/spreadsheets/d/1Y312n … dit?usp=sharing
Conclusion is that Glide to OpenGL wrapper on NT4 are working quite well, same as game written for Windows9x. They maybe even could be some small group of games which are not supporting Windows9x or ME and could run on NT, because its closeness to Windows 2000, or it could be easier to patch them to do it in comparison to Windows9x.
So only real main gaming problem on NT, is Direct3D, because we are stuck at the best on DirectX5, if unofficial implementation is really good or DirectX6/7 games which are not really using any DirectX6/7 functions, or Direct3D 3 games, because Direct3D 4 was never released.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
Another proven Glide to Opengl Wrapper is Zecke-GlideWrapper0.84 :
Its working with glide-init.exe test too. I added Column for to compatibility sheet too:
https://docs.google.com/spreadsheets/d/1Y312n … dit?usp=sharing
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
I wonder about 1 thing, i run GLinfo under XP, on my machine here GLinfo reports OpenGL 1.5.x, my card should be OpenGL 1.2. Question is this mistake, or there 1.3.1.5 calls are done in software?
If in software is there some tools, which would print which OpenGL function are accelerated and which are running without hardware acceleration?
One other point, it would be really nice to find some performance overlay which can run unter NT4.. Fraps is reporting only FPS, at least something for CPU / MEM /DISK utilization would be nice. The most of old videocards, does not provide temperatura / mem / GPU usage data.. other thing my system does not provide CPU temperature, i have tried lots of tool.. these data where available on through remote control PCI cards and its web interface... and it had special cable for MB connection, but i guess that such data are probably available through some on board controller / sensor call. So if now some less known utility to do it, let me know.. I tried all classic tools like Aida, HWinfo, Astra, Everest, Speedfan etc..
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
I won again in ancient software lottery. It takes a lot of time but there are really are hidden gems, especially for undiscovered NT niches. When i see somewhere some interesting old tool name, im trying to check it, get it and find back tracks its very and through sluggish Wayback machine russian rullet of dead download links.. or slow searching through 25 year old cover cds archive because of 1 utility. NT is really interesting area, because some things which are able to run on Win9x, does not run there - you need alternative utility or dig for older version, it other hands some utilities not running on Win98 are running fine.
I dont understand why, everybody are still using Glinfo, when exist something like OpenGL extension viewer 2.1.8, it has exactly what i was calling and looking for:
- nice list of every supported / unsupported OpenGL extension/ function by OpenGL 1.x standard, included some niche per vendor and CAD / Autodesk nitches, even nine % support of them
- lost of details about them,
- test/benchmark for every OpenGL version
- registry OpenGL device list
- every supported Pixel format and
- It is from version 2.18 its working on NT4 Nvidia and drivers 12.20 fine, except some crash after benchmark skipping and there some newer/older versions which yet not checked just
- i can add only 5 attachment to 1 post there is a more of nice stuff.
I has variant for more modern OS too and they are free: https://www.realtech-vr.com/home/?page_id=142
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
I also tried nice universal ATA drivers, because i felt like disc operations where a bit slugging and unresponsive and it helped a lot at least on my systems:
https://alter.org.ua/en/soft/win/uni_ata/uni_ata.php
Its not such difference like Windows 9x, without DMA and its not freezing like Win9x, but its still big difference.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
1) I keep updated first post by some minor new findings - its main at he end of it and in open points..
2) I also added niceDosFreaks compatibility mega sheet filtredredux for Win - Win9x + WinNT + Win2k, related to this topic, whole original sheet was too huge and sluggish, this version at least on my machine is fast, there is ~250 compatible NT games mentioned, well a bit less because that 250, because threre are separate entries for full releases and demo, so it would be probably like 200 and there is not much more 3D games than my Glide / OpenGL sheet above, so its mainly for 2D games compatibility info . Im only not sure i used up too date data source or not, because i found link to sheet in some old NT4 thread here. Regardless is better than nothing.
https://docs.google.com/spreadsheets/d/1XuEF- … #gid=1914121517
3) Other i check GLinfo with Nvidia 77.xx drivers on Geforce 2 mX and it reports - OpenGL 1.5.4, instead of 1.2.2 on 12.20 drivers. Openg GL extension Viewer reports the same all GL core features are supported up to 1.5.. and half of OpenGL 2.0 ones too.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
1) I originally searched for some Videocars tweaking utilities from year 1999 to 2005 working with Nvidia cards, to try if some will work on Windows NT4, some do, but its fraction of the this collection.
Like 90% of these tools will work on Win9x, a bit less on Windows ME and Win 2000, soem on WinXP or later.
I have tried to get as many versions of these utilities as possible, because some version old version could have Windows 95 + NT support.
I added also all newer versions for more modern OS in package too.
It took a lots of time, because most of them are virtually gone from internet and even with Interner Wayback machine is very hard to find binaries to download, i have to search and download a lot of big cover cds archives to just test 1 or 2 files from them.
Artifact Tester -2 versions - GPU memory errors - picture artefacts test tool
DetonatorUnlock - unlock Coolbits Nvidia panel additional lowlevel settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc..
Geforce-Tweak Utility 2.5 - lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc..
GeForceTweakUtility- 3.2 - lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc..
Nhancer collection - 1.0.3 to 2.5.9- lots of versions collection - lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc..
nTweaker r2.0-2005 - lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc, i found only 1 version
NvhardPage lots of versions collection - 1.3.1 to 3.5 - lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc..
NVmax- lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc..
nvTweaker - 2 versions 1.6.1 +1.7.1 -lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc, i found only 1 version
Rivaturner - like 20 versions of it - lowlevel nvidia settings, include OpenGL and Direct3D, antialing, anisothophic filtering, refresh rate etc, i found only 1 version, based on Horuns collection
XPRTOOL 3.32-2005 - DirectX info, on of few such tools at least partly working on NT, tbpanel is not working for me
Take this package as some ramp to start more NT4 based research i hope that in the future someone will find out how more of these working on NT4.. by testing them on different systems.
For example i found versions of Rivaturner to run on NT4, but only for some Registry settings, not overclocking etc.
Maybe even one day would be some update NT4 kernel to make more of these working, or would be able to fix utilizes themself to run on NT4.
Download link:
https://archive.org/details/nt-4-win-9x-win-2 … tils-collection
or https://mega.nz/file/Bd5zWKbK#X5DggBN6fLpTkF0 … w2V95tw5v2BprfE
2) During research i have found nice NT drivers Uninstaller utility which where part of nvhardpage - it can at least uninstall videocards drivers and Creative sound drivers and what is even nice, can show all files related to particular drivers.
3) I added a bit more info about DMA in NT, UniversalATA drivers seems does not need it, special DMA settings, but could be handy anyway. There is also DMAcheck program which is part of SP3 data package.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
I have tried to push barriers a bit further with Direct3D to OpenGl wrapper, which would fix the biggest NT5 gaming problem (lack of Direct3D 5+):
https://dxgl.org/
Its never wrong just to ask for feature of existing software expansion and trying to find out where is a problem.
Here is discussion with DXGL author, its not totally hopeless, its not project priority, but its in theory possible, if it would happen it would be limited for OpenGL 2.0 unless other developer will help with Opengl 2 to 1.x downgrade, im not sure maybe some these OpenGL 2.0 function just could be run on CPU a rest on GPU at the start to bypass huge work effort at the start.
https://forum.dxgl.info/viewtopic.php?p=3206#p3206
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
BTW Rairii patched DX7 to make it work in NT4:
https://github.com/Wack0/entii-for-workcubes/ … s/tag/v20250329
Thanks for info do you have some personal experience with it?
Its whole Windows NT ported to Gamecube / Wii, what is great.. Its similar to Windows CE, directly with Microsoft coomperation, for Dreamcast if my memory servers..
Question is how to extract from it DirectX 7 part and use it on normal pc.
Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.
ruthan wrote on 2025-05-13, 20:57:Thanks for info do you have some personal experience with it? […]
Thanks for info do you have some personal experience with it?
Its whole Windows NT ported to Gamecube / Wii, what is great.. Its similar to Windows CE, directly with Microsoft coomperation, for Dreamcast if my memory servers..
Question is how to extract from it DirectX 7 part and use it on normal pc.
extract entii-for-workcubes_20250329.zip\nt4dx5d3d7.ppc.zip\system32\wx86\*.* and entii-for-workcubes_20250329.zip\nt4dx5d3d7.ppc.zip\system32\dxdiag.exe to your system32 folder (normally C:\winnt\system32) and import entii-for-workcubes_20250329.zip\nt4dx5d3d7.ppc.zip\dx5.reg into registry.
then you can run dxdiag for testing.
ruthan wrote on 2025-05-12, 13:46:I have tried to push barriers a bit further with Direct3D to OpenGl wrapper, which would fix the biggest NT5 gaming problem (lac […]
I have tried to push barriers a bit further with Direct3D to OpenGl wrapper, which would fix the biggest NT5 gaming problem (lack of Direct3D 5+):
https://dxgl.org/
Its never wrong just to ask for feature of existing software expansion and trying to find out where is a problem.Here is discussion with DXGL author, its not totally hopeless, its not project priority, but its in theory possible, if it would happen it would be limited for OpenGL 2.0 unless other developer will help with Opengl 2 to 1.x downgrade, im not sure maybe some these OpenGL 2.0 function just could be run on CPU a rest on GPU at the start to bypass huge work effort at the start.
https://forum.dxgl.info/viewtopic.php?p=3206#p3206
For NT4, IIRC nVidia's last few versions (e.g. 77.72) claimed to have OpenGL 2.0 support. I'm not sure how OpenGL ICDs work on NT4 and onwards, so I don't know whether this will actually allow NT 4.0 to use those OpenGL 2.0 functions for supported hardware if DXGL can be made to target such old NT versions.
On the other hand, when testing with NT 3.51 it seems the unofficial Mesa 7.5.1 build (opengl32.dll) from here indeed worked as expected (reporting OpenGL 2.1) albeit too slow to be usable with higher resolutions.
roytam1 wrote on 2025-05-13, 01:27:BTW Rairii patched DX7 to make it work in NT4:
https://github.com/Wack0/entii-for-workcubes/ … s/tag/v20250329
I think the most notable part is "d3dim.dll" and "d3dim700.dll", and maybe "ddraw.dll" if newer official ones can't be used on NT4, either.
For other parts one can use up to DirectX 8.0a, though for DirectInput only up to DirectX 7.0a can be used. This is the case for NT 3.51 and I think NT 4.0 is likely similar in this case if not better.
Sadly, for NT 3.51 the "ddraw.dll" from this package can't be used anyway due to lacking some crucial system features as well as some undocumented GDI entries. PAL-DDRAW can be used as an alternative and with it the "d3dim.dll" and "d3dim700.dll" from this package can also be used.
So far I managed to get an arcade-style game called XTOM 3D to actually run on NT 3.51 with the help of Mesa 7.5.1, PAL-DDRAW, DirectSound and DirectPlay files from DirectX 8.0a, just it was too slow to be playable with just the VBEMP driver on high resolutions. From the looks of it, that game is purely OpenGL-powered, and runs very well even on much more modern video hardware with WinXP and widescreen resolutions.
I also tried StarCraft on NT 3.51 with this setup and sadly it could not run. Turned out PAL-DDRAW exports but does not actually implement DirectDrawCreate, so an alternative wrapper that actually implemented those functions may be needed.
EDIT: Tried using the NT3.51 compatible build of DDHACK and it doesn't work, either. The system hardlocked as soon as I tried launching StarCraft with it.
ruthan wrote on 2025-05-12, 13:46:I have tried to push barriers a bit further with Direct3D to OpenGl wrapper, which would fix the biggest NT5 gaming problem (lac […]
I have tried to push barriers a bit further with Direct3D to OpenGl wrapper, which would fix the biggest NT5 gaming problem (lack of Direct3D 5+):
https://dxgl.org/
Its never wrong just to ask for feature of existing software expansion and trying to find out where is a problem.Here is discussion with DXGL author, its not totally hopeless, its not project priority, but its in theory possible, if it would happen it would be limited for OpenGL 2.0 unless other developer will help with Opengl 2 to 1.x downgrade, im not sure maybe some these OpenGL 2.0 function just could be run on CPU a rest on GPU at the start to bypass huge work effort at the start.
https://forum.dxgl.info/viewtopic.php?p=3206#p3206
I did end up making it a priority based on my "maintenance" 0.5.x branch.
I have narrowed down the incompatibility to two areas: First is a helper function I use that tests whether OpenGL is calling DirectDrawCreate to prevent a recursive loop ending in a stack overflow. I have added a code path that uses GetModuleInformation instead of ToolHelp32 to get the address of opengl32.dll, and prefer this path due to it being simpler.
Second issue is the dependency on MinHook for handling scaled graphics modes. This library depends on not only ToolHelp32 to enumerate threads in the process but the OpenThread API to gain access to the threads. In this case I have modified the library so far to have an NT API equivalent for OpenThread as a fallback, and will work on making a fallback version of the thread enumeration function also using NT API. This will be a bit more complex and will likely delay the release of a compatible version of DXGL.