Classic Systems Emulated: Windows 95 (Part 3)
VMware, DOSBox, DOSBox-G, and PCEM
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.
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.
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.
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!
Wikipedia - Windows 95: https://en.wikipedia.org/wiki/Windows_95
ToastyTech - Microsoft Windows 95 : http://toastytech.com/guis/win95.html
Windows 95 (DOSBox) : https://www.dosbox.com/comp_list.php?showID=3120&letter=W
Running Windows 95 in DOSBox : http://dosbox95.darktraveler.com/index.html
Installing Microsoft Windows 95 in DOSBox-X (DOSBox-X) : https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-95
VMware Workstation Player (VMware) : https://www.vmware.com/products/workstation-player.html
SoundBlaster support on VMWare Player (VirtuallyFun.com) : https://virtuallyfun.com/wordpress/2014/06/06/soundblaster-support-on-vmware-player/
Sound (sanbarrow.com) : http://sanbarrow.com/vmx/vmx-sound.html
VBEMP 9x Project : https://bearwindows.zcm.com.au/vbe9x.htm
DirectX (Wikipedia) : https://en.wikipedia.org/wiki/DirectX
Direct3D (Wikipedia) : https://en.wikipedia.org/wiki/Direct3D
DirectDraw (Wikipedia) : https://en.wikipedia.org/wiki/DirectDraw
Quake (Wikipedia) : https://en.wikipedia.org/wiki/Quake_(video_game)
Glide (Wikipedia) : https://en.wikipedia.org/wiki/Glide_(API)
3DFX (Wikipedia) : https://en.wikipedia.org/wiki/3dfx_Interactive
Comments
Post a Comment