g'day everyone, quite some time ago I took a look at Dosbox versus some real hardware. Today I
thought we'd take a look at another emulator that could also be used for running ms-dos programs
called 86 box. What makes it extremely different is that it's not so much focused on emulating
ms-dos itself, it's more focused upon emulating the machines in a cycle accurate way. It covers a
range of configurations that you can choose from. From early IBM PCs all the way up to Pentium IIs
from around the early 2000 era. This makes it possible to run alternative operating
systems such as Windows or BEOS or Unix of various different flavors in addition to just
MS-DOS. For the purposes of today's video we'll focus on emulating and running MS-DOS programs.
The first step is of course setting up your virtual machine that you want to run.
The configuration options are very extensive allowing you to change even the most subtle
settings, such as the wait states or how much cache memory a machine has. This allows you to
precisely target a particular type of machine that you want to emulate. Whether it's a Pentium II
or an 8088 XT machine. In my case I've configured 86 box to emulate a 20 megahertz 386 sx,
although i have tried a number of configurations to try and sort out some problems that i had
whilst using this program. One nifty feature that i quite liked was the ability to configure
the peripherals as well. I quite liked being able to pick which type of monitor to connect
such as a grayscale amber or green one. Here I've captured a little bit of footage of Xargon
to show the main differences between the four screens that you can connect to a VGA card.
The monitor selection options don't end there however, because if you run a CGA
card you can choose to run a composite monitor. This is extremely useful for CGA games such as
Freddy's Rescue Roundup which do not trigger Dosbox's mode for composite monitors.
In the case of Freddy's Rescue Roundup it's actually quite an improvement over
the normal CGA graphics, something which I haven't been able to see up until now.
You can also play CGA games that don't normally use a composite monitor such as allycat here.
It doesn't really improve the graphics but it's nice to know what it would look like.
I tried out a number of games so we'll go through them all and briefly describe how they ran.
Here I loaded up Vette, it for the most part worked quite well
the only problem was I had difficulty with the keyboard controls.
This is something we'll get back to because I actually had this problem with a lot of games.
VGA Leaper here is a frogger clone that works exceptionally, well
both the controls and the sound worked fine.
Wood fruit the slot machine simulator similarly also worked quite well with no problems.
Xargon which I showed earlier ran mostly fine with the exception of having keyboard difficulties.
much like Vette basically the normal arrow keys didn't work and i had to use the numeric keypad.
I didn't have any of these issues with Where in Time is Carmen Sandiego, it worked perfectly fine.
Catacomb was also a game that worked quite well.
The controls for battle chess worked quite well but the sound seemed a bit off. I'm not
quite sure how to put my finger on it but if you listen you'll notice it doesn't sound quite right.
Corridor 7 doesn't perform particularly well on a 386 at 20 megahertz
so it didn't play particularly well, but I didn't have any of the issues with sound or controls.
This version of the demo doesn't have any sound so that's part of the reason.
Dark Ages plays and sounds quite well.
Hocus Pocus on the other hand doesn't seem to do as well, I used to play it on a 386 running
at 20 megahertz and i don't remember it playing quite this slow. Also the PC speaker sound effects
are quite off, although you could configure for soundblaster sound if you wanted to avoid that.
Adam Peterson's Jet Pack played quite well, uh you'll notice that I've only got ad-lib sound
on. that's because I put an ad-lib card in this virtual machine rather than a sound blaster one.
Civilization played quite well, although it was
a little awkward to play because I didn't have a mouse driver loaded.
Not having a mouse loaded turned out to be even more inconvenient when trying to play Colonization
but it did otherwise work well.
F117a nighthawk didn't fare so well, it had both problems with the keyboard controls and the
sound. Basically the arrow keys did not work when it came to flying the plane,
which was very annoying. I also found that during the introduction sequence both PC
speaker and ad-lib seemed to glitch a little bit when the screen was cleared or changed modes.
It's difficult to describe but the best way is to hear it for yourself.
Silent Service didn't have any issues with its controls but the sound in general was a
bit quiet and the digitized speech, whilst sounding very clear was extremely quiet.
King's Quest 4 worked quite well apart from the arrow keys not working to control Rosella.
It was quite nostalgic to return to this one.
I tried to play through the first level of Thexder Firehawk
but the controls were really really broken in this one.
I was surprised when Simcity had issues with its controls
so this is one that i actually used to try and diagnose the issue later.
The arrow key controls didn't work properly in Spectre
but I found that If I moved to the numeric keypad I could play the game properly.
For Commander Keen Goodbye Galaxy I found the controls worked fine but there were
these weird graphical glitches that i saw throughout the game.
There wasn't anything that I could think of that would explain this.
Duke Nukem one seemed to work quite well and i didn't have any trouble with the controls.
I also tested my own game, Bob's Fury with 86 box and this is part of the reason I actually
tested all those other games, because it has both an issue with the keyboard controls
and the PC speaker sound. At first I thought it was an error in my own programming but
after testing all those other bits of software I realized that there's
probably an issue with 86 box that may be the cause and that's why I did the wider testing.
I used Simcity as a test program to determine what the cause was. Partly for two reasons,
the first one being that it had the same sort of issue with the arrow keys not working
and secondly i know that Simcity also works on a very wide range of hardware,
including the original IBM PC all the way up to 486 class machines. I tested Simcity with a wide
range of configurations and I found the following. Of all the configurations of 286 machines pretty
much all of them didn't work with the keyboard arrow keys and a similar sort of result with
the 386 sx machines. Most of those didn't work except for a couple of them. The 386 motherboards
were sort of a bit mixed, some of them worked and some of them didn't. With the keyboard controls
the really odd part was that anything 486 and newer worked fine and anything that was in 8088
and older also worked fine with the keyboard. I'm completely at a loss as to why this would be the
case, why certain classes of machines wouldn't work with the keyboard controls for Simcity
as it's a game that I know pretty much works across the board on real hardware.
The only other thought that I had is the emulation is actually correct and the software that I had
issues with the keyboard controls actually has these issues on real hardware. Because I don't
own many old computers in the 286 and 386 range I'll never be able to thoroughly test that theory.
For the other issue I had with PC speaker sound there weren't really any emulation settings that
I could change that could possibly fix this. So there must be some kind of weird sampling error
that causes the odd sounds. Having tested 86 box out thoroughly I think it's now time to
compare it to Dosbox which is sort of the de facto standard when it comes to running MS-DOS programs
on modern hardware. Let's start out with the good parts for 86 box. To start out with I think that
it's got better hardware emulation. Particularly for CGA graphics and composite monitors.
It also allows you to select different types of monitors for VGA displays as well as EGA as well,
this is a really big bonus because it lets you live your nostalgia if you happen to like
monochrome screens. You also have significantly greater control over what hardware is emulated.
Take the case of the FPU on Dosbox, you have absolutely no control over whether the FPU is
enabled or not, whereas in 86 box the FPU is an option that you can choose to turn on or not.
This turned out to be a significant difference because when I was developing my game, I had
an issue that was related to the floating point unit and being able to turn it off
was an important part of debugging a particular problem. Speaking of game development, 86 box is
much more accurate when it comes to hardware behavior, and of course the ROM behavior as
well. So it's a much better place to test your DOS programs that you're developing.
There are also some very strong points in favor of Dosbox here as well.
For a start Dosbox is much more adaptable, you can change the cycle count for instance
without having to reboot your virtual machine and loading files into Dosbox is relatively simple.
Whilst Dosbox isn't 100 accurate with its emulation it is generally good enough to get
most DOS games running without too much fuss and the configuration changes can
often be done in real time. Because the biggest change is usually just the cycle count.
86 box is a much more complicated affair to set up, after you've configured the hardware in the
settings for the machine you have to boot it up and configure the CMOS. Unlike other virtual
machines this isn't done for you and you will need to know all the settings and configure them
much like real hardware. After that if you've configured a hard drive you will need to install
your operating system of choice, in my case obviously it's MS-DOS. So that's fairly simple
but you do need to go about doing the installation because the hard drives are all emulated. You will
have to manage somehow to transfer all of your game data or other software data into the hard
disk image. This is usually accomplished by another third-party program like win image,
which makes it a little bit more difficult to get software onto your virtual DOS machine.
If you want to run software that doesn't work on your current virtual machine
you either have to create a second one or you'll need to reconfigure your current one,
which can involve any part of the configuration process again, everything from the cmos
setup down to the operating system setup depending on what change you want to make.
To put it shortly and bluntly there's a lot more faffing about to change anything in 86 box, the
hope being that you shouldn't have to do that too often if you set it up correctly the first time.
To sort of try and summarize I think that Dosbox is quicker and easier to set up and
also a little bit more flexible as well in that you can change some settings on the fly.
It's certainly good enough for playing the vast majority of MS-DOS games. But it does have some
shortcomings which make 86 box a good choice as well. I think 86 box is a good choice where
you're developing software for MS-DOS as it's a better testing platform. It also seems to be a
better platform for playing older CGA games which are much more sensitive to CPU speed and graphic
card choice. It is also more accurate when it comes to hardware and software behavior, so that
can be a bonus if you're trying to do something that Dosbox doesn't normally handle very well,
and of course the final bonus is that you can run any operating system that you want
such as Windows 95 or 98 or even something a bit more esoteric like Windows NT.
I hope you found this look into 86 box interesting and useful.
Thanks for watching and I'll catch you next time!