Anyone who checks out my old blog will quickly find out that I have a long history of being obsessed with retrocomputing and messing around with old hardware and software. One of my primary means of doing this has always been VirtualBox. VirtualBox is a great way to bring DOS and other old x86-based operating systems back from the dead and enjoy them on modern computers. I just thought I’d share some of my recent exploits with this program, as well as some sweet screenshots (retrocomputing porn) taken with the VirtualBox screen capture utility.
Since my two Macbooks both broke during the first half of last year, and I decided to use the $200 my mom agreed to give me because I was broke to buy myself a Thinkpad rather than to get the Macs repaired (best decision I ever made), I was without VirtualBox for a couple months as I was first getting acclimated to the new computing environment. I just hadn’t really been doing anything with VMs recently, so I felt no need to install it. When I finally did decide to get VirtualBox for Windows, I started the same way I had previously: by installing DOS. This time I went with MS-DOS 6.22. It wasn’t my first time using this version of DOS, so I knew my way around the system fairly well. But I no longer had access to the utilities I had been using on my Mac to convert directories to floppy images, so I created a second, auxiliary VirtualBox VM running FreeDOS so I could import software into the VM more easily. This proved to be more frustrating than helpful (I can never figure out FreeDOS for some reason; whenever I install it in VirtualBox it always seems to uninstall itself after every reboot). So I chose to just bite the bullet and seek out Windows alternatives to said Mac utilities. WinImage proved to be quite useful in this regard.
Retrocomputing geeks will recognize this screenshot fairly well. It’s the first thing you see when you boot up from the DOS install floppy. I’ve always liked the blue character-based menu interface look used in installers for DOS as well as several other operating systems.
I’m not going to get into too many details about MS-DOS 6.22 itself. I’ve already written extensively about this system in my old blog, and I do not wish to repeat myself here. Rather, I will talk about a few of the programs I installed as well as some of the tinkering I’ve done in my DOS VMs.
First a story of a failed experiment, namely my attempt to install a working sound driver in DOS. When it comes to applications for the various retro systems I’ve installed in VirtualBox, I know where to look. Two of my biggest go-to software sources are archive.org and vetusware.com. However, when it comes to finding DOS drivers for virtual hardware, I’m completely lost. Such was the case with me trying to find a sound driver for my DOS installation. I looked up the sound card in VirtualBox’s VM settings – Sound Blaster 16 – not too difficult. You’d think finding a driver for what is probably the single most popular sound card from the 90’s would be equally easy. Instead it turned out to be a royal pain in the ass. I did manage to find some good downloads though, and I imported them into DOS through the VirtualBox storage settings. One
A:\INSTALL.EXE later and I had something promising. I liked the pretty retro colors of the manual program too.
Sadly, none of the drivers I tried actually worked, or at least they didn’t work with the space shooter game I was using to test them. They did add quite a bit of bloat to my AUTOEXEC.BAT file though. Interestingly enough, what did eventually work was installing Doom. It appears to have installed the drivers I needed for me.
One other DOS/VirtualBox project of mine – and this one has been at least marginally successful – was using CONFIG.SYS to create a startup menu. There was literally no practical reason whatsoever for me to do this. I just liked the thought of modifying the CONFIG.SYS file to hack DOS and make it better. I learned how to create a CONFIG.SYS menu from the appropriate DOS help file. My CONFIG.SYS file currently looks like this:
[MENU] MENUCOLOR=15,0 MENUITEM WINDOWS,Windows GUI MENUITEM DESKMATE,Deskmate GUI MENUITEM GEM,OpenGEM GUI MENUITEM ARACHNE,Arachne Browser SUBMENU DOS,Text Mode SUBMENU GAMES,Games [DOS] MENUITEM COMMAND,Default prompt MENUITEM DN,DOS Navigator MENUITEM DZ,DOSZip Commander MENUITEM 4DOS,4DOS shell MENUITEM RESCUE,Recover installation SUBMENU MENU,Main menu MENUDEFAULT=COMMAND,30 [GAMES] MENUITEM DOOM,Doom MENUITEM NETHACK,Nethack SUBMENU MENU,Main menu [RESCUE] [COMMAND] INSTALL=C:\DOS\COMMAND.COM /C CLS DEVICE=C:\DOS\ANSI.SYS DEVICE=C:\DOS\SETVER.EXE DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE ON 4096 DEVICE=C:\BIN\VIDE-CDD.SYS /D:MSCD001 DOS=HIGH FILES=30 STACKS=9,256 [DOOM] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\DOOM.BAT [NETHACK] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\NETHACK.BAT [WINDOWS] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\AUTOEXEC.BAT [DESKMATE] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\DESK.BAT [GEM] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\GEM.BAT [DN] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\DN.BAT [DZ] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\DZ.BAT [4DOS] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\4DOS.BAT [ARACHNE] INCLUDE=COMMAND INSTALL=C:\DOS\COMMAND.COM /C C:\STARTUP\ARACHNE.BAT
Each item in square brackets is a menu item (except for the initial
[MENU] which denotes the main menu). When a menu item is selected, the commands in the corresponding section of the file are run. These commands may be specifications for a menu (
MENUITEM, etc.) or traditional (meaning non-menu-oriented) CONFIG.SYS commands, but you can’t mix the two. Consult your MS-DOS 6.22 manual for further details. 😛
The ultimate effect of this code is that when I fire up DOS, the first thing that comes up is a menu that looks like this:
Certain menu items – namely Text Mode and Games – bring up further menus when selected, and those menus allow you to move back to the main menu. The menu has a few bugs that I haven’t really figured out, but it’s still pretty cool IMO.
Next I thought I’d add CD-ROM functionality to DOS so I could import games like Doom that won’t fit on a 1.44 MB floppy image. The command to use for this is MSCDEX.
To find out what kind of driver I needed, I once again consulted VirtualBox’s settings for the DOS VM. The only information it gave me was that it used an IDE controller, which I took to mean I needed a generic driver. After some digging, I finally found a driver called VIDE-CDD.SYS. Per the instructions in the manual, I added the following command to CONFIG.SYS:
And I added the following line to AUTOEXEC.BAT:
C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D
This succeeded in adding the ability to read in ISO files, once I rebooted anyway.
I also installed a couple old versions of Windows just for fun – namely Windows 2.01 and Windows 3.1. Actually I had a couple different DOS installations in VirtualBox – I installed Windows 2.01 in one and Windows 3.1 in the other. People nowadays are used to thinking of Windows as an operating system, but all versions before Windows 95 were simply graphical shells that you installed on top of DOS. They were also considerably more lightweight and minimalist (and by this I mean they had genuine minimalism, not the “chickenshit minimalism” you see in modern software and web apps, where a dull, featureless interface hides gigabytes of bloat).
Windows 1 and 2 both look roughly the same, the only noticeable difference being that the default colorschemes are slightly different. I like the simple retro look and think it has a nice late 1980s charm to it.
Windows 3.1 looks, and is, rather more sophisticated and feature-rich than its predecessors, though still not as much as Windows 95. It doesn’t have a start menu yet, but it has a few of the amenities of later Windows versions, such as wallpapers, screensavers, and preconfigured themes.
Windows 3.1 lets you modify program settings using the PIF editor.
There’s also a plethora of software and games written for Windows 3.1, like the notorious Sim City.
Windows 3.1’s default file manager is a definite throwback to the 90’s.
The 4:3 aspect ratio doesn’t work all that well in fullscreen mode on my Thinkpad’s 16:9 display, but I found the perfect monitor. Here’s Windows 3.1 running fullscreen in VirtualBox with a working monitor I picked up at the dump.
The next operating system I recall installing was OS/2 Warp. I had tried installing this in VirtualBox previously on my Macbook, but the installer required the use of the Delete key, which stumped me at the time. I probably could have just used Fn-Backspace, but my psych meds at the time were dulling my cognition and making me stupid, to the point where such obvious insights simply didn’t occur to me. I’m so glad I’m off that shit now. Drugs are bad, mkay?
OS/2 Warp was considerably easier to bring online than Windows 3.1 considering that I didn’t have to install anything new. There’s no web browser to speak of, since most of these mid-90’s systems connected directly through subscriber services like AOL and such. I have yet to find a way around this. However, I was able to find some pretty decent clients for Usenet and Gopher, which I thought was pretty neat, not to mention there’s a Telnet client in the command prompt, so I can play MUDs and shit. Also, for some reason Windows 3.1 is installed on OS/2 Warp as sort of an auxiliary GUI shell.
Windows 95 is the most recent retro OS I’ve installed in VirtualBox. It was somewhat more difficult because I had to get a product key.
I also had to search for a solution to a problem I encountered after installing, which was that Windows wouldn’t boot unless I did it in Safe Mode. After combing through some old forum posts that were on the Web, I learned that this was caused by the fact that the CPU is running too fast and Windows 95 was built to run on a slower CPU. Since VirtualBox virtualizes all virtual hardware from real hardware, the processor speed of the VM is effectively the processor speed of the host computer. An explanation of the problem, and the solution, can be found here and here. Thanks to Lone Crusader for writing this patch. You’re a true life saver.
I think I like this theme best: