Thursday, August 11, 2011

Why do people use DOSBox over Virtualbox in a gaming context?

Question

I've noticed that a number of people here use DOSBox for playing older titles on modern PC hardware.

I am very familiar with VirtualBox, I use it to virtualize several operating systems. I have also read up on it's current 3d support.

My question is what is the advantage of something like DOSBox over VirtualBox?

Is it essentially for ease of use? With VB I have to install the actual DOS package and manipulate memory management, etc as I did back in the real dos days (presumably). Does DOSBox remove these sorts of configuration issues?

I'm considering running games that would have had requirements in the 100's of Mhz on an i7-2600k, so I'm not terribly concerned about virtualization overhead unless there's some specific gotcha that I don't know about

Answer

VirtualBox is a general-purpose computer emulator, and nothing else. It doesn't come with any operating system (you need to install one). The guest operating system is fairly "isolated" from the host. You can only access a host directory from the guest system through SMB sharing (over a virtual network).

DOSBox is a 16/32-bit x86 emulator that already comes with a DOS-like operating system pre-installed. The objective is to run DOS applications as easy as possible. It doesn't require a virtual harddrive image, as it can access host directories directly (after mounting a directory as a virtual drive — this is only possible because DOSBox also emulates the operating system). It also has some features to emulate old networking hardware (such as dial-up modems and IPX network) over TCP/IP.

VirtualBox uses virtualization, which means it requires a host CPU of the same architecture of the guest system.

DOSBox is a full emulator, all CPU instructions have been re-implemented in C, and it can run on any hardware. (there are videos of DOSBox running inside Symbian Nokia phones)

In a nutshell: DOSBox has been designed to run old DOS applications and games in a fairly easy way, in any host system.


Glossary:

  • Host: the system/computer that runs the emulator.
  • Guest: the emulated system/computer that runs inside the emulator

No comments:

Post a Comment