A "Brief" Synopsis of PC Emulators and Virtualization Programs (Part 2)
What's The Best Emulator/Virtualizer Depends On Your Wants Or Preference
Which Emulator Is The Best?
Different
emulators have different features. As such, it's important to use the
emulator that's best for the OS that you want to run. For example
PCEM/86box emulate everything from a PC/XT Compatible PC up to a
PCI-based computer. Essentially, PCEM can emulate most PC configurations
between 1981-1997/1998. On my computer, PCEM can emulate a PC equipped
with Pentium 1 CPU running at 200MHz without Voodoo emulation, and
90MHz with it. Many 3DFX games run fine under that clock-speed. However,
many games will still require a faster clock speed. Depending on the
host computer, the emulator will have a tougher time while emulating
higher-clocked processors used in computers from later years. While PCEM
is prefect for period-specific PC's from the 80's to mid 90's, it's not
suitable for anything beyond this. While its possible to run Windows XP
within PCEM, it's not recommended at all. One needs to consider the
system requirements that the particular OS and application required at
the time, and then build a configuration that conforms to those specs.
Essentially, everything needs to be period-specific.
VMware Player is really awesome for emulating/virtualizing a
post-90's PC. At this point though, the difference between emulator and
virtualization program has to be covered. PCEM is emulating certain
processors, and matching the speeds of those processors to try and be as
cycle exact as possible. VMware though doesn't incorporate such caps.
Whatever the native speed of your processor is, that's the speed that
VMware conforms to. This is really awesome when running modern software,
like Windows 7/10, along with most current Linux distros. At the same
time, a lot of older software expects certain processors and adapters
for best performance. This is hardware that's ignored by VMware Player.
This isn't that good for legacy software (pre-Windows 95) that PCEM
excels at running. Even an OS like Windows 95 needs to be patched for
VMware as its setup program crashes on processors running faster than
2.1GHz. When Windows 95 was introduced, the 486 processor was the norm,
with the Pentium 1 being bleeding edge. Windows 95 didn't expect
multi-core, multi-gigahertz processors. For Windows 95 on VMware, one
needs to use the UniVBE VESA drivers for high resolutions and high color
depths. These drivers provide basic use for Windows applications and
games that support software rendering. However, these drivers Direct3D
support or have support for 3D acceleration. VMware only provides 3D
acceleration support for Windows XP and later. VMware virtualizes the
SoundBlaster 16, which Windows 95/98 has drivers for.
Many older OS's require specific hardware. Sure, Windows 3.1 will
run at 640 by 480, 16-color in basic VGA on VMware. However, what if you
wanted to use a high-resolution display mode? One would need to modify
the general-purpose SVGA drivers for 3.1 to get it working on VMware.
Or, one could simply create a PCEM configuration and give Windows 3.1
that Cirrus Logic or S3 Adapter along with the appropriate drivers. The
evolution of Linux demands to be documented as well. However, many of
the early distros expected specific video adapters in order to use X11.
Adapters that are emulated in PCEM/86Box. Sometimes, I ran across a
distro that crapped out on PCEM, but worked in 86Box, and vice-versa.
Setting up these configurations is a labor of love. Setting up
older Windows and DOS means having basic knowledge of DOS commands and
it's limitations. MS-DOS 6.22 couldn't handle partitions larger than 2GB
given how FAT16 (File Allocation Table) worked. Earlier versions of DOS
had even smaller disk-partition limitations. Setting up a DOS/Windows
3.1 environment also means basic understanding of both Config.sys and
Autoexec.bat. One should be knowledgeable on using the MS-DOS Editor to
edit the files mentioned.
At this point, I can make the safe assumption that most that are
reading this are no stranger to DOS commands and moving files back/forth
between the host and the disk images. Back in the day. the user was
expected to know what there PC had in order to get the appropriate
drivers, and it's no exception here. Regardless of emulating the S3
adapter in both DOSBox and PCEM means having the appropriate drivers to
use the display adapter in Windows. Both Windows 3.1 and 95 came with
the drivers for the SoundBlaster audio adapter.
Windows NT 3.1/3.5 throw up the "CPU Not Supported" error on VMware. Sure, this can
be corrected in editing the setup.ini file before install. One could do
that or
create a PCEM configuration and provide the hardware specs that
Windows NT 3.1/3.5 expects (486 processor for NT 3.1, and Pentium processor for 3.5/3.51).
VirtualBox is an option too. When it
comes to legacy operating systems, everything that could be said about
VMware Player could also be applied to VirtualBox as well. However,
there are
a few extra tidbits of need to know information. Windows 9x runs much
better under VMware Player than under VBox. Windows 9x just seems
"slower" on VBox than under VMware Player. Performance is dramatically
improved when hardware virtualization is enabled. However, even under
VMware Player, Windows 9x runs really quick and responsive when
virtualization isn't enabled. For an OS that expected a 486/Pentium
processor, this is not surprising. However, the same can't be said for
VBox.
VBox runs modern Windows and Linux very well. However, 3D
accelerated games tend to run much better under VMware Player than under
VBox using the Windows 7 guest. I had significantly higher framerates
in GTA III,VC, SA, Need For Speed Hot Pursuit 2, Underground 1,2, and
Most Wanted under VMware Player than under VBox (just to name a few).
VMware Player also tends to have better compatibility then Vbox when it
comes to 3D accelerated games. That's not to say that VBox isn't that
good. It's very useful. I use it for a few Linux Configurations and my
Windows NT 4.0 setup. It's one of the few legacy versions of Windows
that I had better time running under VBox than under VMware Player.
The IBM OpenDX Data Visualization Program running under Windows NT 4.0 with Service Pack 6 installed.
PCEM runs very good on my PC. In fact, without the 3DFX Voodoo
enabled, I can emulate a Multimedia PC with a Pentium 1 Processor
running at 200MHz equipped with a S3 864 SVGA Adapter and Creative Labs
SoudBlaster 16 audio adapter running at full performance. The host PC is a
AMD-FX Quad-Core CPU with each core running at 3.8GHz.
PCEM can run a PC/XT
class machine at full performance imitating the cycle-exact performance
of the processors of old. This includes the Intel 8088 CPU running at
4.77MHz that originally shipped with the IBM PC. The IBM Model 5150 is
emulated in PCEM, along with various clones like the AT&T PC
6300/Olivetti M24, the Tandy 1000 family of computers, and the general
clones using the generic Phoenix and Award BIOS. Many early DOS
games could only run correctly at 4.77MHz. The reason for this is that
when the games were introduced, the 4.77MHz variant of the Intel
8086/8088 was the only model around, and not seeing anything faster for
awhile, many game developers hard-coded there games to run at 4.77MHz.
These games ran at the speed that they were clocked at, and thus, ran
too quick on faster processor. In fact, in the late 80's, DOS utilities
like Slomo were introduced to bump the clock speed of the processor
back down to 4.77MHz to run many of those games. Some XT clones also had
hardware buttons on the case that the user could press to slow there
computers down to 4.77MHz.
Not surprisingly, these games
would run too fast on VMware/VBox because those virtualizers uses the
host processor natively. Thus, many of the old DOS
games can't cope with the multi-gigahertz capabilities of modern
possessors. However, PCEM can run most of these games without issue.
PCEM can
also emulate the graphics standards that these games expected. The early
games conformed to the CGA graphics standard. Now, most VGA adapters
are backward compatibility for CGA. However, CGA graphics on VGA look
"off"
because CGA uses a digital signal for video output, along with a
different aspect ratio compared to VGA, which uses an analog video
signal. While I haven't used VMware
Player for anything that uses CGA graphics, I imagine that this would
be a issue because the only video adapter that VMware virtualizes is a
VESA-based SVGA adapter with support for 3D acceleration. I don't know
whether there is backward compatibility for the earlier graphics
standards, or if the SVGA adapter in VMware strictly conforms to
VGA/SVGA standards. With PCEM though, the CGA graphics adapters are
emulated for those games and applications that needed it.
There is another emulated that I haven't referenced. It's called
IBMPCE. In some ways, this emulator is comparable to PCEM. However,
there are differences between the two. IBMPCE strictly emulates a PC/XT
class of PC's. It strives for even more accurate emulation than PCEM,
and is even more compatible than it. It can use disk images that
employee copy-protection schemes that were common in many DOS games and
applications in there day. I use IBMPCE for my IBM PC/XT configuration.
On one hand, this emulator is typically harder to configure than PCEM as
one has to manually edit the configuration file for that particular
machine setup. Also, IBMPCE uses its own hard-disk format which is only
compatible with itself. However, it's easy to covert the file to a
standard img raw format, and the tools are provided to facilitate this.
For those that are looking for ultra-accurate emulation of the IBM
PC/XT, this emulator is worth checking out too.
DOSBox is a very good emulator too. It emulates very similar
hardware compared to PCEM. There is a big difference between DOSBox and
PCEM. DOSBox is technically a "DOS" emulator, and not a hardware
emulator, despite it featuring hardware emulation of various processor,
video and sound adapters. It can't run anything outside of DOS programs
or load other operating systems outside of DOS. However, because Windows
3.1 and 95 used DOS as a bootloader, it's possible to run these
versions of Windows under DOSBox as well, along with there applications.
Thus, DOSBox has a very wide range of software that one can run under
it. Since I'm using my Amazon Fire Tablet with Magic DOSBox installed,
I'm going to be building many new DOSBox configurations in the future.
Now these are desktop solutions for virtualization/emulation.
There is another route one could pursue with KVM (kernel-mode
virtualization) provided by Linux. However, it's highly recommend to
have a ultra-powerful computer with a multi-core (16 cores) processor,
32GB's minimum of RAM, solid-state drives, and two GPU's in order to
utilize it. If one wanted to run a Hackintosh VM, then it's recommended
to buy an Intel processor, as Mac OSX is very finicky about AMD
processors. For that Hackintosh VM, it's also recommended to use a AMD
GPU in place of a Nvidia GPU, as Mac OSX plays much nicer with AMD/ATI
than Nvidia. For us Nvidia die-hards fans, this can be a bitter pill to
swallow, but it is what it is. Windows 10 will run as if its running on
bare metal. Setting up KVM in Linux is significantly much more
complicated than using the desktop solutions. However, KVM provides a
direct passthru for the dedicated hardware components in the PC. KVM
provides what is perhaps the most accurate, compatible, and high
performance solution for modern configurations. If one has the
recommended hardware, than there machine is a beast! My Quad-Core PC
looks on with envy.
One
has to remember that programs like PCEM/86Box, VMware Player, and
VirtualBox aren't "DOS", "Windows" or "Linux" emulators. These programs
are machine emulators/virtualizers. They imitate the hardware only. You
still need to provide the software. Also, PCEM/86Box need the ROM BIOS's
of the various computers in order to use those emulators. They are easy
to find with a Google Search. However, they won't be linked here as
they are still intellectual property of there respective companies.
On
one hand, it's theoretically possible to take a boot disk of IBM PC-DOS
1.1 or MS-DOS 2.0 and boot up a modern, quad-core computer with it.
That's
some backward compatibility. However, there really isn't a practical
purpose to try to run very old software natively when emulators and
virtualizers do a far superior job. On one hand, buying a retro computer
is an option as well. However, real hardware doesn't last forever. As
hardware ages, finding replaceable parts will become a serious chore,and
as such, several will have to abandon the elitist
attitude of only using real hardware. There will be a time where
emulators will be the only option. However, the
emulation scene for classic PC is under constant improvement all the
time. Why should the NES, SNES, PS1, or the consoles get all the love
for! Viva PC's!
Articles Of Interest (Which Emulator Is The Best?)
PCEM - https://pcem-emulator.co.uk/
86box - https://github.com/86Box/86Box
DOSBox - https://www.dosbox.com/
DOSBox Forum- https://www.vogons.org/
PCE PC Emulator - http://www.hampa.ch/pce/
VMware Workstation Player - https://www.vmware.com/products/workstation-player.html
Wikipedia : VMware Workstation Player - https://en.wikipedia.org/wiki/VMware_Workstation_Player
Filehippo : VMware Workstation Player - https://filehippo.com/download_vmware-workstation-player/
Oracle VirtualBox - https://www.virtualbox.org/
86box - https://github.com/86Box/86Box
DOSBox - https://www.dosbox.com/
DOSBox Forum- https://www.vogons.org/
PCE PC Emulator - http://www.hampa.ch/pce/
VMware Workstation Player - https://www.vmware.com/products/workstation-player.html
Wikipedia : VMware Workstation Player - https://en.wikipedia.org/wiki/VMware_Workstation_Player
Filehippo : VMware Workstation Player - https://filehippo.com/download_vmware-workstation-player/
Oracle VirtualBox - https://www.virtualbox.org/
Wikipedia - Kernel-based Virtual Machine - https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
Comments
Post a Comment