Windows 1-3 ran on top of DOS, with a small caveat for Windows 3.x
Windows 3.x running in 386 Enhanced Mode had a very small multi-threaded preemptive kernel, which it used to handle its MS-DOS windows. So whilst each Windows program ran cooperatively within Windows and had no memory protection, Windows itself and each DOS window it opened were pre-emptively multitasked and had better memory protection. This wasn't very well documented, but it's the beginnings of Windows no longer running on top of DOS and instead taking over control of the machine.
Windows 3.1 also introduced "32 Bit Disk Access" which used a custom disk driver to bypass DOS and the BIOS and speed things up. Windows 3.11 (Windows for Workgroups) extended that to "32 Bit File Access", which bypassed DOS for file operations.
Windows 95 only used DOS as a bootstrapper. It would be completely incorrect to say that Windows 95 "ran on top of DOS", as once Windows 95 finished booting it had effectively pulled the rug out from DOS and was handling all I/O, memory operations, and so forth. It would be like saying that Linux runs on top of GRUB - GRUB is no longer in control of the machine, so it's just not true.
Not that I'm saying you were stating Windows 95 ran on top of DOS, you understand! I'm just putting this information here for educational reasons and expanding on your comment. ;-)
That is an interesting semantic question, though - I would say something that needs an extender still counts as a "DOS" program, and I can't quite see the line between that and early Windows. I believe the line exists, mind, but I can't figure out how to define it.
Some of these games are absolutely not DOS games though and no amount of semantics can change that. Grand Theft Auto: Vice City requires Windows 98 and DX9 or newer, for example, and it is available here.
edit: I see Vice City has been removed following a DMCA request!
Yeah, many of the things we consider part of what an "Operating System" provides to programs today were provided by DOS Extenders (or forwarded to something like windows if running under that).
DPMI was pretty much an "Operating System API/ABI".
What about: if the extender is provided with the game (like DOS/4GW) then it's a DOS game; if it needs to be provided by the user (like Win 3.11) it's not.
Well, DirectX was win95 and later right? Windows Enhanced mode and future is kind of both on top of and underneath dos. There's a kind of wild layering that happens.
Yes, but like Windows for Workgroups before them, they didn't need to rely on DOS services once they had started. They were 32-bit multitasking OSes that could host multiple DOS VMs and (in the case of WfW) a 16-bit cooperatively multitasked GUI.
DOS basically acted as a bootloader. But all of those OSes had the very weird feature that they could switch back into a virtualised copy of their bootloader.
I do feel that Wikipedia understates the importance of Windows for Workgroups. Internally, it wasn't just Windows 3.1 with networking. It was a trial run for the fundamentals of the Windows 95 architecture.
In other words, they were bare-metal hypervisors which passed through the majority of the hardware, doing a minimum of virtualisation to allow sharing it between VMs. This is easy to see by comparing the responsiveness of a DOS box running something like EDIT in Win9x vs. NT/2K/XP's NTVDM; the latter is a full emulator of basically all the hardware except the CPU.
The unresponsive NTDVM was mainly due to its piss-poor text mode emulation. Win9x still virtualized the graphics card (so you couldn't use SVGA games in Win9x) but its emulation was implemented better.
This is exactly why I come to HN, vs Wikishemedia... People here WERE THERE!
When I worked at C_ we used to load Some solitaire game (Freecell) to verify that Windows98SE was in 32-bit mode before installing the network stack, and Chief Legal Officer, and from what I understand CLO was $4,000 a seat.
Load Driver, Reboot, Solitare, CLO. and then onward to disk optimizing, and then virus scanning... Two people did 89 machines, in 4 days. an entire floor... Food was delivered, and we slept for 4 hours, in the floor below, and on Friday, The head of Legal called us into his office... we showed him the checklist, as complete, and He laughed... the whole department was both amazed and happy.
He really called us to change his desktop into a scene from JAWS.
It was Windows 98SE that got a 32-bit disk driver upgrade, and FreeCell verified that it was installed.
Fun fact: earlier Windows OSes ran on top of DOS.
Windows 1-3 ran on top of DOS, with a small caveat for Windows 3.x
Windows 3.x running in 386 Enhanced Mode had a very small multi-threaded preemptive kernel, which it used to handle its MS-DOS windows. So whilst each Windows program ran cooperatively within Windows and had no memory protection, Windows itself and each DOS window it opened were pre-emptively multitasked and had better memory protection. This wasn't very well documented, but it's the beginnings of Windows no longer running on top of DOS and instead taking over control of the machine.
Windows 3.1 also introduced "32 Bit Disk Access" which used a custom disk driver to bypass DOS and the BIOS and speed things up. Windows 3.11 (Windows for Workgroups) extended that to "32 Bit File Access", which bypassed DOS for file operations.
Windows 95 only used DOS as a bootstrapper. It would be completely incorrect to say that Windows 95 "ran on top of DOS", as once Windows 95 finished booting it had effectively pulled the rug out from DOS and was handling all I/O, memory operations, and so forth. It would be like saying that Linux runs on top of GRUB - GRUB is no longer in control of the machine, so it's just not true.
Not that I'm saying you were stating Windows 95 ran on top of DOS, you understand! I'm just putting this information here for educational reasons and expanding on your comment. ;-)
It's still not correct to call them DOS games as you can't run them on DOS.
That is an interesting semantic question, though - I would say something that needs an extender still counts as a "DOS" program, and I can't quite see the line between that and early Windows. I believe the line exists, mind, but I can't figure out how to define it.
Some of these games are absolutely not DOS games though and no amount of semantics can change that. Grand Theft Auto: Vice City requires Windows 98 and DX9 or newer, for example, and it is available here.
edit: I see Vice City has been removed following a DMCA request!
Yeah, many of the things we consider part of what an "Operating System" provides to programs today were provided by DOS Extenders (or forwarded to something like windows if running under that).
DPMI was pretty much an "Operating System API/ABI".
What about: if the extender is provided with the game (like DOS/4GW) then it's a DOS game; if it needs to be provided by the user (like Win 3.11) it's not.
Well, DirectX was win95 and later right? Windows Enhanced mode and future is kind of both on top of and underneath dos. There's a kind of wild layering that happens.
Fun fact, Win 95, 98 and ME booted DOS and autoexec'd win for you.
Yes, but like Windows for Workgroups before them, they didn't need to rely on DOS services once they had started. They were 32-bit multitasking OSes that could host multiple DOS VMs and (in the case of WfW) a 16-bit cooperatively multitasked GUI.
DOS basically acted as a bootloader. But all of those OSes had the very weird feature that they could switch back into a virtualised copy of their bootloader.
I do feel that Wikipedia understates the importance of Windows for Workgroups. Internally, it wasn't just Windows 3.1 with networking. It was a trial run for the fundamentals of the Windows 95 architecture.
In other words, they were bare-metal hypervisors which passed through the majority of the hardware, doing a minimum of virtualisation to allow sharing it between VMs. This is easy to see by comparing the responsiveness of a DOS box running something like EDIT in Win9x vs. NT/2K/XP's NTVDM; the latter is a full emulator of basically all the hardware except the CPU.
The unresponsive NTDVM was mainly due to its piss-poor text mode emulation. Win9x still virtualized the graphics card (so you couldn't use SVGA games in Win9x) but its emulation was implemented better.
You can use Reactos' NTDVM in Windows XP just fine.
See? Pepperage Farm and cyberax remembers! Exactly.
[flagged]
This is exactly why I come to HN, vs Wikishemedia... People here WERE THERE!
When I worked at C_ we used to load Some solitaire game (Freecell) to verify that Windows98SE was in 32-bit mode before installing the network stack, and Chief Legal Officer, and from what I understand CLO was $4,000 a seat.
Load Driver, Reboot, Solitare, CLO. and then onward to disk optimizing, and then virus scanning... Two people did 89 machines, in 4 days. an entire floor... Food was delivered, and we slept for 4 hours, in the floor below, and on Friday, The head of Legal called us into his office... we showed him the checklist, as complete, and He laughed... the whole department was both amazed and happy.
He really called us to change his desktop into a scene from JAWS.
It was Windows 98SE that got a 32-bit disk driver upgrade, and FreeCell verified that it was installed.
Bizarre conflation between 3.x and 9x here.
There was WinG (aka DirectX 1) that worked in Win 3.11 with Win32s.
Ah. I was hoping some of these were ports, that's a shame.
Some windows games will run under the hx extender.
Yeah, when I first opened the page, there were 0 DOS games visible.