Why do people use DOSBox over Virtualbox in a gaming context?
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
Solution 1:
VirtualBox is a general-purpose desktop virtualization software, 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
Solution 2:
In addition to the other answers, DOSBox allows you to strictly control the speed of the CPU that is being emulated, making it possible to play some games (i.e. Wing Commander) that grab all the CPU cycles available and are, therefore, unplayable on modern hardware.
It also seamlessly interfaces with the host OS for hardware, so that you can use a new Logitech controller to play any old DOS game without any configuration issues, and you can easily get sound out of the games without having to figure out how to configure your sound card to emulate a SoundBlaster 16.
Solution 3:
It is essentially for ease of use.
Together with something like DosShell, launching a game becomes incredibly easy/fast.
DOSBox does not remove installation issues, but it does remove memory issues.
But once the game is installed (you install it in a DOS like screen), launching goes as above.