Tuesday, April 18, 2023

RE: DOSBox Trials

 I got some feedback asking me why I setup a Linux machine to boot straight into DOSBox instead of just restoring and using old hardware, since I have experience doing this and why waste modern hardware by completely dedicating it to running old games and such. This is an interesting question.

First old hardware is getting harder to find and is getting more expensive. Anyone who has went looking for Sound Blaster card recently will know this pain, if you can find one, it could easily cost you $300. On top of that, running 30 or 40 year old hardware is a gamble on how long it will last. Every time you turn it on might be the last time. The tiny amounts of memory and hard drive space is also a problem. With DOSBox I can configure as much RAM as DOS will support and I am not stuck with a 200 MB hard drive on the verge of failure, I can use a 500 GB drive and DOSBox will happily let me use it all.

The other problem is, an old system running DOS or even Windows 3.1, lacks many features of modern operating systems. For instance usable networking and USB support. Since this setup is using Linux underneath, it can function as a modern machine, so for instance getting files onto the machine can be done via FTP, ssh or even a USB key. I can also setup multiple monitors, keyboard and mice, along with different logins, so multiple people can use one machine and play games together

DOSBox is highly configurable. Besides setting RAM, if I want it to emulate a 386, 486 or Pentium, depending on what programs I am running, I don't even have to reboot, hitting a key combo will slow the machine down or speed it up. I can also setup different configurations for different purposes, like a pure DOS environment, one for Windows 3.1 and one for Windows 98.

Finally, why would I dedicate a whole machine to this, when I can just run DOSBox on my main machine? This is a bit trickier. The big reason is simply, because I can. Beyond that, it is something to do with an old computer. Who doesn't have an old computer or laptop laying around these days. Why not put it to use playing Doom, Civilization or Lemmings. This use case has very low system requirement, even  1 GB is more than enough RAM for this project, and integrated graphics is perfectly okay. Heck, this can all be done on a Raspberry Pi. Who knows, maybe Granddad's old 386 just gave up on life, but that is where all of his important stuff is and he has no desire to learn anything beyond Windows 3.1, this is a perfect solution for him, with a bit of work, he might not even see the difference.

Sunday, April 16, 2023

DOSBox Trials

 I was thinking it might be cool to have a Linux machine that booted straight into DOSBox. For those who don't know, DOSBox is a stripped down emulator designed specifically to run old DOS games on modern equipment. I figured this would be an easy project, doable in an hour or two, which was true enough, except I got the hair brained idea that I wanted to run Windows 3.1 in it as well. This caused me to tumble down a massive rabbit hole that cost me more than a day of my life to get working.

Honestly, it is not worth it. The return on investment just is not there. I mean having a Linux machine boot straight into DOSBox is mildly cool, but you really do not gain much by doing it. I suspect most people are not going dedicate an entire machine to this endeavor. If you find yourself wanting to do this and you absolutely want Windows 3.1 support, go get DOSBox-X and compile it from source. This version gives you as many bells and whistles as possible, including networking. If all you want is DOS and no Windows 3.1 support, here are the basic steps;

1. Install Debian with no Xorg, DE or WM

2. Reboot and log in root and install sudo

    2a. apt install sudo

    2b. edit /etc/sudoers and add your user account

    2c. logout and log in under your user

3. sudo apt install dosbox xorg xinit twm xdm

4. Type startx to enter into X, open a terminal and run dosbox, then exit out

5. mkdir dosbox

6. nano .dosbox/dosbox-0.74-3.conf

    6a. Change the following lines to;

        fullscreen=true

        fulldouble=true

        fullresolution=800x600

        windowresolution=800x600

    6b. Add the following lines after [autoexec]

            PATH=Z:\;C:\WINDOWS

            mount c ~/dosbox

            c:

    6c. Save and exit

7. nano .xsession and add

    7a. exec dosbox

    7b. save and exit the file

8. Rebbot the system and when you login, you should go straight to DOSBox.

------------------------

Edit: For those of you wish to use DOSBox-x, a more up to date and feature rich fork of DOSBox, I have the steps for compile from source here;

https://github.com/cjstoddard/dosbox-conf

Mastodon