Classic Systems Emulated: Windows 95 (Part 3)

 

VMware, DOSBox, DOSBox-G, and PCEM

Windows 95 running multimedia applications on VMware Player on a Linux host.

Emulation (VMware)

I actually used a few emulators/virtualizers for Windows 95. For applications and games that ran in software mode via DirectDraw, I used VMware Player. VMware virtualizes a PC with a general-purpose SVGA adapter conforming to the VESA standard. After I've installed Windows 95 OSR2, the UniVBE VESA drivers were used as the primary display driver. The UniVBE drivers will work with any adapter that supports VESA (basically anything released in the last 25 years). VMware also supports the SoundBlaster 16, which their is Windows drivers for as well. Since the CPU is virtualized, it will run at the same speed that your host machine has. On my PC, that means that Win95 will run at 3.8GHz. My PC is  equipped with the AMD FX-4300 Quad-Core processor.  

One core was allocated to the virtual machine. Windows 95 had to be patched as the OS wasn't designed to run on CPU's that fast. Win95 will crash un-patched when running on any PC running faster than 2.1GHz. This makes sense as Windows 95 was designed for computers that used either the 486 or Pentium processors. Since Win95 predated multi-core CPU's, it best just to allocate a single core for the sake of compatibility. 

My Win95 VM has 48MB's of RAM, since it's period specific to what most Win95 machines had right before the launch of Windows 98.I could never understood why some created Windows 95/98 virtual machines that had 1-2GB of memory allocated to them. There was nothing from the late 90's that required that much memory. When Windows 95 was introduced, most new PC's shipped with 8-16MB's of RAM. For Windows 95, anything beyond 64MB's is overkill as the system won't run any faster. The only reason why Windows 95 would need much more memory is one hacked it to run modern applications. If that's the case though, then Windows 95 would loose its nostalgic factor along with the case for software preservation. If one uses Windows 95to run modern applications, then why not just run a modern version of Windows.

VMware does have its pros and cons. Since VMware is virtualizing the processor in your PC, Windows 95 and it's software will fly on that setup. For running period specific applications, their are no performance issues. WinAMP plays without issue, along with MODPlug. Their is no stuttering when playing audio or video clips. 

One con about VMware is that it doesn't emulate/virtualize a period-specific PC that Windows 95 would expect. Windows 95 would typically expect a PC with a specific video adapter and processor. Compatibility can be flaky at times. Even games running in software mode using DirectDraw can be flaky within VMware. This is why I use a few other emulators  for Windows 95 alongside VMware.

FS95 running within VMware Player 12 on a Windows 7 host.

Emulation (DOSBox, DOSBox-G, and PCEM)

For applications and games that VMware can't run, or don't run that good, I alternate between DOSBox proper, DOSBox-G, and PCEM. These emulators have their pros and cons. These programs emulate a PC that is much more hardware-specific to what Windows 95 would have expected. 

All the listed programs emulated the S3 864/Trio32/Trio64 SVGA adapter that is supported by Windows 95. DOSBox-G, PCEM, and 86Box emulate the 3DFX Voodoo accelerator that is also supported by Win95. I'm using the latest SVN build of DOSBox to run the IBM Aptiva OEM version of Win95.  That setup uses Pentium emulation along with 32MB's of RAM, Creative Labs SoundBlaster 16 and the Trio32/64 SVGA video adapter. Windows 95 runs very well, along with it's applications.

Their are a few caveats though. DOSBox proper can't make use of a single disc image that is larger than 2GB's. This actually makes since because as the name of the emulator implies, DOSBox is designed to run DOS application. It only happens that Windows 95 is able to run under it because Win95 itself uses its own version of DOS that happens to work on the emulator. If one wants to be very technical, the Windows 95 GUI is technically a 32-bit graphical shell running on top of its own version of MS-DOS.

One of limitations of DOS and it's filesystem (FAT16) is that the OS cannot support drives/partitions that are larger than 2GB. DOSBox proper conforms to those limitations. DOSBox doesn't exist to run Windows 9x applications. Despite that, one could recreate that 90's PC experience while running on a cramped drive with limited space (like most PC users at the time).

The DOSBox configuration is a worthwhile setup with good game compatibility along with the capability to play those Amiga MOD files! Also, one can connect a second drive image giving Windows a extra 2GB's of drive space to work with.



DOSBox-G is essentially DOSBox proper with 3DFX Voodoo emulation and large disk support. DOSBox-G makes greater accommodations for Windows 9x compared to DOSBox proper. One can mount 4GB HD disc images to the emulator. DOSBox-G provides support for the 3DFX Voodoo via a wrapper that maps the emulated graphics routines to a modern GPU. Essentially, the Voodoo is "virtualized" rather than emulated. 

A pro of this is that Glide games will run very fast. The main disadvantage of this is that since the adapter isn't fully emulated, the support is much less accurate, greatly affecting compatibility. I haven't gotten any Windows 3DFX games other than Quake 1/2 working on DOSBox-G. Holy crap though, they fly! 

Also, while DOSBox-G supports the 3DFX pass-though, the emulator can only run Glide games, not general purpose DirectX games using Direct3D. Direct3D and Glide are different API's playing by very different rules. DOSBox-G doesn't emulate a general purpose DirectX accelerator. Thus, games utilizing Direct3D will not run as they will crash DOSBox-G. However, games using DirectDraw still run great though, as these games do everything in software via the CPU.

DOSBox-G is horribly outdated now. However, I've had issues with DOSBox ECE (Enhanced Community Edition) and DOSBox-x. I will revisit these ports in the future. Another thing that makes me reluctant in building configurations around the DOSBox forks is that the ports of DOSBox for Android (like Magic DOSBox) conform to DOSBox proper. Thus, for Windows 95, I going to being sticking to the latest SVN builds of DOSBox proper. It works well enough and performs fast enough now.

PCEM works great for many 3DFX titles. However, their are a few trade-offs when using PCEM. One advantage of PCEM compared to DOSBox-G is that the 3DFX Voodoo is fully emulated. The main disadvantage is that because the Voodoo is fully emulated, 3DFX games won't run as fast on PCEM compared to DOSBox-G as the instructions of the Voodoo are completely translated instead of being passed. The emulated Voodoo will be slower than their real-life counterparts (unless one has a very fast PC to compensate for full code translation). 

However, this approach does result in very awesome compatibility, and the performance is still well enough to justify it's use. On my PC (equipped with AMD FX-4300), the emulated PC with the Voodoo typically runs at 80-85% compared to the real adapter (when using a 90MHz Pentium). Those using the AMD Ryzen CPU's though should be hitting 100% emulation though. Despite the slower performance, I still personally prefer full emulation though as it provides the greatest compatibility. However, PCEM, like DOSBox-G, has massive issues running games utilizing Direct3D as the Voodoo isn't technically a DirectX-based accelerator. As such, these games will either run poorly or not at all.

A Small Selection of 3DFX Voodoo Games Running Under PCEM
Conclusion  
All of these emulators have their pros and cons. The best emulator/virtualizer depends on the type of configuration that you want to build. If one wants to simply run productivity or multimedia applications, VMware Player is your best bet. You can recreate that multimedia powerhouse PC while jamming to MP3 using WinAMP or those awesome Amiga MOD's using MODPlug. 

If you want to relive the glory days of the 3DFX Voodoo while fighting both hunters and dinosaurs, then DOSBox-G and PCEM are the way to go.

If you just want to relive nostalgic memories while running the IBM Aptiva OEM version of Windows 95 while playing Doom95, DopeWars, Hover!, Interstate 76, Microsoft Pinball, Epic Pinball, FS95, Daytona USA and House of the Dead, then you can't go wrong with the latest SVN build of DOSBox. Happy Emulation!

Articles Of Interest

Comments

Popular posts from this blog

WeatherStar 4000 Simulator For Windows (Part 1)

Classic Systems Emulated: Windows 95 (Part 1)

Classic Systems Emulated: Windows 3.1 OEMS

Old Hardware Emulated :Psion Model 3a Emulated On DOSBox Windows

Classic Systems Emulated: OS/2 Version 2.0 On PCEM

Old Hardware Emulated - Windows Mobile 5.0

Old Hardware Emulated : Pocket PC 2000/2002

Old Hardware Emulated :Einstein emulating the Apple Newton (Part 3)

Classic Games Emulated: Revisiting NFS High Stakes Modding

OS/2 Warp 4