A "Brief" Synopsis of Running Classic PC Games on Emulators and Virtual Machines.
There Are Multiple Ways Of Killing Those Hell-Spawned Creations That UAC Released Upon Us!
I've been
meaning to do a article like this for the longest time. Finally getting
around to it, there is a lot to say. First And foremost......VMware
Player for 3D accelerated games. VirtualBox isn't that bad. I do have a
few VBox configurations. They usually center around Linux or my Windows
NT 4.0 VM though.
I don't use VBox for games. I've always had performance and compatibility issues with mostly older 3D titles in VBox. With Need For Speed Hot Pursuit 2 (2002), I was averaging 15-20 FPS on VirtualBox. On Windows 7 32-bit guest OS on VMware Player, HFSHP2 was averaging 25-30 FPS while occasionally hitting 60 FPS at times. It was a similar story with GTA 3, VC, and SA unmodded versions. They had much lower frame-rates on VBox compared to VMware Player.
I don't use VBox for games. I've always had performance and compatibility issues with mostly older 3D titles in VBox. With Need For Speed Hot Pursuit 2 (2002), I was averaging 15-20 FPS on VirtualBox. On Windows 7 32-bit guest OS on VMware Player, HFSHP2 was averaging 25-30 FPS while occasionally hitting 60 FPS at times. It was a similar story with GTA 3, VC, and SA unmodded versions. They had much lower frame-rates on VBox compared to VMware Player.
For most 3D accelerated games made between late 90's-early 2000's,
there is much better compatibility with Windows 7 32-bit as the guest
OS. I'm assuming that the reason for this is that Windows 7 uses DirectX
in a manner different than how XP uses it. Windows 95 and 98 under
VMware doesn't support 3D acceleration. Windows 9x only supports the
high-resolution, non-accelerated VESA video modes using the UniVBE
drivers. As a result, games running on Windows 95/98 can only do
software rendering. This isn't a issue with Half-Life and UT99 as those
games run great on those setups in software rendering. A Quad-Core AMD
FX-4300 CPU running at 3.8 GHz isn't going to have a issue running games
from a time when most PC's were clocked at 300-500MHz. This will be a
similar story with most modern processors as well.
However, why should we stick to software rendering for? On Windows 7 32-bit on VMware, both of these games ran great with 3D acceleration enabled and using the nGlide driver for 3DFX support. Quake 3 Arena runs great on both the XP and Windows 7 VM as well.
My Windows 7 VM has 2GB of memory allocated to it. For many older games from the late 90's/early 2000's, more memory isn't really necessary. Most of the memory allocated is there for Windows 7 mainly, and not the games. It's actually quite surprising how little memory UT99 and Half-Life used compared to modern games. My XP VM also has the same amount of memory that my Windows 7 VM has. For Windows 95, I typically allocate 32MB's of RAM as there were few games or applications from that time that needed more memory. My Windows 98 and ME VM's have 128MB's each. Windows 98 era games and apps didn't really need any more than that amount of memory. Anything more than that is just overkill.
I could never understood why some created Windows 95/98 virtual machines that had 1GB of RAM allocated to them. There was nothing from the late 90's that required that much memory. The Windows 98 Setup un-patched crashes if the computer has 512MB's or more memory. Windows 98 was designed at a time where most computers didn't expect to have more than even 128MB's of RAM.
My PCEM configuration for MS-DOS 6.22/Windows 3.1 have 16MB's of RAM allocated to it. PCEM has become a good alternative for Windows 95 nostalgia because that OS crashes on systems that have processors running faster than 2.1GHz. This is a far-cry from the time when Windows 95 expected 486 and Pentium 1 CPU's. PCEM has various options for CPU selection ranging from the 16-bit 8088/8086 to the 32-bit Pentium processors. This range of emulated processors includes those made by AMD, NEC, and Cryix, along with Intel.
One of the important things to remember when building these VM's is that they should be given the amount of RAM that is period specific to what computers that shipped during the OS lifetime expected. The only exception to that rule is XP and Windows 7 32-bit, and even then, the OS's are capped at 4GB's because that is the most amount of memory that 32-bit OS's can use.
However, why should we stick to software rendering for? On Windows 7 32-bit on VMware, both of these games ran great with 3D acceleration enabled and using the nGlide driver for 3DFX support. Quake 3 Arena runs great on both the XP and Windows 7 VM as well.
My Windows 7 VM has 2GB of memory allocated to it. For many older games from the late 90's/early 2000's, more memory isn't really necessary. Most of the memory allocated is there for Windows 7 mainly, and not the games. It's actually quite surprising how little memory UT99 and Half-Life used compared to modern games. My XP VM also has the same amount of memory that my Windows 7 VM has. For Windows 95, I typically allocate 32MB's of RAM as there were few games or applications from that time that needed more memory. My Windows 98 and ME VM's have 128MB's each. Windows 98 era games and apps didn't really need any more than that amount of memory. Anything more than that is just overkill.
I could never understood why some created Windows 95/98 virtual machines that had 1GB of RAM allocated to them. There was nothing from the late 90's that required that much memory. The Windows 98 Setup un-patched crashes if the computer has 512MB's or more memory. Windows 98 was designed at a time where most computers didn't expect to have more than even 128MB's of RAM.
My PCEM configuration for MS-DOS 6.22/Windows 3.1 have 16MB's of RAM allocated to it. PCEM has become a good alternative for Windows 95 nostalgia because that OS crashes on systems that have processors running faster than 2.1GHz. This is a far-cry from the time when Windows 95 expected 486 and Pentium 1 CPU's. PCEM has various options for CPU selection ranging from the 16-bit 8088/8086 to the 32-bit Pentium processors. This range of emulated processors includes those made by AMD, NEC, and Cryix, along with Intel.
One of the important things to remember when building these VM's is that they should be given the amount of RAM that is period specific to what computers that shipped during the OS lifetime expected. The only exception to that rule is XP and Windows 7 32-bit, and even then, the OS's are capped at 4GB's because that is the most amount of memory that 32-bit OS's can use.
Many of the early
Microsoft titles are quirky. They weren't typically as well optimized as
other games, and since Microsoft created DirectX, they would naturally
be a early adapter of it as well. They would take liberties in there
development of games that many other game designers would have avoided.
Despite that, FS98 ran fine in 3D accelerated mode on Windows 7.
I couldn't get FS200 to run on any configuration period, both VM and real. I achieved it in the past, but now, the game just stopped working and I couldn't get it working again. FS2002 and 2004 mostly runs in a VM, but there are occasional graphical and performance hiccups. As far as I know, the only configuration that I know that can run Midtown Madness with 3D acceleration in a VM is VMware Player + Windows 7 32-bit. Midtown Madness is running with all the graphical options enabled at a resolution of 1024 by 768.
This game can run under Windows 98/ME on VMware Player. However, on that setup, Midtown Madness only runs in software rendering at 640 by 480, which looks hideous. It's a similar story with MM2. I couldn't even get MM2 with 3D acceleration to running within a VM. I had to run the game natively on my host OS. This was also a similar story with Microsoft Train Simulator as there were performance issues in the VM. I couldn't get the Rainbow 6/Rogue Spear games to run on any setup as well, either real or VM. Many of the early DirectX games are a hit-or-miss. Glide and OpenGL games typically have much better compatibility.
I couldn't get FS200 to run on any configuration period, both VM and real. I achieved it in the past, but now, the game just stopped working and I couldn't get it working again. FS2002 and 2004 mostly runs in a VM, but there are occasional graphical and performance hiccups. As far as I know, the only configuration that I know that can run Midtown Madness with 3D acceleration in a VM is VMware Player + Windows 7 32-bit. Midtown Madness is running with all the graphical options enabled at a resolution of 1024 by 768.
This game can run under Windows 98/ME on VMware Player. However, on that setup, Midtown Madness only runs in software rendering at 640 by 480, which looks hideous. It's a similar story with MM2. I couldn't even get MM2 with 3D acceleration to running within a VM. I had to run the game natively on my host OS. This was also a similar story with Microsoft Train Simulator as there were performance issues in the VM. I couldn't get the Rainbow 6/Rogue Spear games to run on any setup as well, either real or VM. Many of the early DirectX games are a hit-or-miss. Glide and OpenGL games typically have much better compatibility.
Need For
Speed 2 ran mostly well. I was running the 3DFX version using nGlide on
Windows 7 32-bit VM. However, there were some unresolved performance
hiccups, and there were frame-skips on a semi-regular basis. NFS 3 Hot
Pursuit, High Stakes, and Porsche Unleashed ran without issues after
installing the modern patches for those games. Need For Speed Hot
Pursuit 2 ran great on VMware Player. Underground and UG2 ran at descent
performance once the graphics settings were adjusted on the lower end.
I'm going to revisit these titles in the future and try more patches and
mods to see if I can improve compatibility/performance. Most Wanted ran
without any issues. All the NFS Windows games under tested under
Windows 7 32-bit as the guest OS. After NFS:MW, it was bare metal under
the host OS as there are too many performance issues running the later
titles in a VM.
In the case
of Driver, the guest operating system running is Windows 7 32-bit. There
is 3D acceleration support provided via my GPU, which is a Nvidia GTX
950. The VM has 2GB of RAM allocated to it (enough memory for this old
game). In order for this game to run, the configuration program must
have the display set to the "Primary Display". The game is running at
800 by 600, 32-bit color.
On VMware, I try to use XP as much as possible to make things quote "more authentic", but I've always experienced both much better compatibility and performance when I use Windows 7 32-bit as the guest OS. This is typically my first "go to" configuration to test games. For games running in a VM, 2005/2006 is typically the cutoff year. A huge selection of 3D accelerated games released before those years run fine under VMware. After those years, few 3D accelerate games run on it, thus needing to be installed directly under the host OS. Despite that, nGlide runs very well under VMware Player if one wants to play games that supported the 3DFX Voodoo accelerator.
On VMware, I try to use XP as much as possible to make things quote "more authentic", but I've always experienced both much better compatibility and performance when I use Windows 7 32-bit as the guest OS. This is typically my first "go to" configuration to test games. For games running in a VM, 2005/2006 is typically the cutoff year. A huge selection of 3D accelerated games released before those years run fine under VMware. After those years, few 3D accelerate games run on it, thus needing to be installed directly under the host OS. Despite that, nGlide runs very well under VMware Player if one wants to play games that supported the 3DFX Voodoo accelerator.
Many of the late 90's software titles only supported software
rendering. As such, most of these games can run under Windows 95/98/ME
on VMware Player without issue or under PCEM/86Box as long as the they
aren't too demanding on the emulated CPU. DOSBox for Windows 95 era
games is also another good option.
DOSBox-G, a community fork of DOSBox, can run Windows 95 very
well, and provides both decent compatibility and performance. However,
this fork of DOSBox hasn't been updated in a few years. DOSBox-X,
another fork with largely the same feature set, have largely taken its
place, and is updated on a regular basis. I haven't used DOSBox-X for
anything outside of Need For Speed for DOS though, and as such, I don't
have much experience with it. With that noted, the 3DFX versions of
Quake 1 and 2 ran very well under DOSBox-G. Other games tested on
Windows 95 on DOSbox-G includes Microsoft FS95, Pinball and Hover!,
along with Activision's Interstate 76. Windows 98 under any version of
DOSBox should be avoided at all cost as I've experienced massive
compatibility issues and constant blue-screens.
When it comes to 3DFX Windows games on DOSBox, I hadn't had any luck outside of Quake. For DOS Games that used the 3DFX though, like GTA, Tomb Raider, and Carmagedon 1; they run great under DOSBox-G.
When it comes to 3DFX Windows games on DOSBox, I hadn't had any luck outside of Quake. For DOS Games that used the 3DFX though, like GTA, Tomb Raider, and Carmagedon 1; they run great under DOSBox-G.
PCEM is a lot more attractive these days. It's near authentic
emulation of classic PC configurations can master most nostalgic games.
On the highest end of systems, PCEM can emulate the 3DFX Voodoo 1 and 2
GPU at decent performance for many games now. PCEM supports various
motherboards, processors, and SVGA adapters. The BIOS ROM files for
these devices are required though. However, they are trivial to find
using a Google Search. Regardless though, since the BIOS ROM files are
intellectual property owned by various companies, I'm not linking them
here.
PCEM isn't as well optimized on my setup, a AMD FX-4300 Quad-Core CPU running at 3.8GHz. PCEM is much better optimized for Intel processors. I had similar results with 86Box, a fork of PCEM. The performance have been the same, even when using a build optimized for my processor. However, despite these very minor issues, I'm still a happy pigeon because even without the 3DFX emulation, I can emulate a Multimedia PC with a Pentium 1 processor running at 166MHz at 100% most of the time. This is a complete system that includes the video, network, and sound adapters, along with the processor guiding everything. Most Windows 95 and late DOS games will have no trouble running on such a setup. My PCEM Pentium configuration is running Windows 95 OSR2 and has 32MB's allocated to it. It should be noted that Glide/3DFX games typically ran much better than DirectX games. I've encountered issues with games that utilize DirectX, mainly performance related.
PCEM isn't as well optimized on my setup, a AMD FX-4300 Quad-Core CPU running at 3.8GHz. PCEM is much better optimized for Intel processors. I had similar results with 86Box, a fork of PCEM. The performance have been the same, even when using a build optimized for my processor. However, despite these very minor issues, I'm still a happy pigeon because even without the 3DFX emulation, I can emulate a Multimedia PC with a Pentium 1 processor running at 166MHz at 100% most of the time. This is a complete system that includes the video, network, and sound adapters, along with the processor guiding everything. Most Windows 95 and late DOS games will have no trouble running on such a setup. My PCEM Pentium configuration is running Windows 95 OSR2 and has 32MB's allocated to it. It should be noted that Glide/3DFX games typically ran much better than DirectX games. I've encountered issues with games that utilize DirectX, mainly performance related.
For most 3D accelerated titles, I'm going to be sticking to
Windows 7. However, I find PCEM very appealing, and I've already built
many emulated nostalgic configurations of PC/XT and 486 systems that I
fondly remembered as a kid and teen. My Packard Bell 486 will make a
comeback. Windows 3.1 and its games run great under PCEM. I've spent
countless hours playing Sim City 2000 and Civ2. On MS-DOS, Doom 1 and 2
runs great under PCEM as well. What more could you ask?
For DOS games, I usually alternate back and forth between PCEM and
DOSBox. In the past, DOSBox was much better than PCEM. However, PCEM
had caught up to where DOSBox is at now. It doesn't really matter which
emulator is used when it comes to compatibility. I prefer PCEM because
it feels quote "more authentic". However, that's just personal
preference. I like DOSBox as well, and DOSBox is typically easier to
setup between the two emulators for basic games. If one wants to start
massacring the Hell-spawned demons unleashed by UAC quickly, then DOSBox
is your go-to choice as Doom has been running great under it for many
years now. DOSBox supports shared directories as well as booting from
actual disk images, both floppy and hard-disk. DOSBox is more involving
to setup if one want a more specfic setup. This usually means editing
the DosBox.conf file and understanding the various settings within it.
I'm a sucker
for BIOS configurations, Config.sys and Autoexec.bat editing on MS-DOS
6.22. Configuring the DOS memory manager using the MS-DOS Editor was
necessary back in the day to get that particular DOS game running. As a
young teen, I grew up gaming with the SNES and PlayStation. By the
tail-end of the 90's, I've became a PC gamer at around the time when DOS
games were finally phased out in favor of Windows ones. UT99 and
Half-Life entered the scene as the 3DFX Voodoo started to redefine PC
gaming.
Coming of age when DOS was still occasionally used, but largely phased out, I still learned how to setup MS-DOS 6.22 along with Windows 95/98. I've learned the basic DOS commands. MSDOS 6.2 and Windows 9x isn't as straightforward to install as later versions of Windows. Such setups, along with those DOS commands used to execute those setups, could be intimidating for someone not familiar with any Windows OS pre-XP.
Editing Config.sys using the MS-DOS editor to change the setting for the memory manager to get that particular DOS game running could be scary for someone not familiar to such environments (and scary for those who are familiar as well!). Despite that, there is a lot to learn from a usability perspective.
Coming of age when DOS was still occasionally used, but largely phased out, I still learned how to setup MS-DOS 6.22 along with Windows 95/98. I've learned the basic DOS commands. MSDOS 6.2 and Windows 9x isn't as straightforward to install as later versions of Windows. Such setups, along with those DOS commands used to execute those setups, could be intimidating for someone not familiar with any Windows OS pre-XP.
Editing Config.sys using the MS-DOS editor to change the setting for the memory manager to get that particular DOS game running could be scary for someone not familiar to such environments (and scary for those who are familiar as well!). Despite that, there is a lot to learn from a usability perspective.
There are a lot of hit-and-misses, and the constant evolution of
the PC emulation scene means that compatibility levels constantly change
(usually for the better). Sometimes, there is no other choice other
than bare metal. Sometimes, even that isn't a choice. However, PC
emulation has come a very long way, and it constantly evolves on a
regular basis. Even this post really just scratches the surface of the
PC emulation scene.
Last bit of information when it comes to PC emulation: feed the pigeons!
Comments
Post a Comment