DOS Days

Virtualising DOS - Part 2

In Part 1 I introduced three tools which can create a virtual DOS environment. They are DOSBox, vDosPlus, and VirtualBox. For the sake of simplicity, I will refer to these as DOS emulators going forward.

In this part, I will test each of them in 'real-world' scenarios and see how they fare. As I mentioned in Part 1, each emulator is really designed for a different purpose, so I fully expect their respective successes and failures to be aligned with these programs' design goals.

It's probably worth noting that there are different versions of DOSBox that are designed more for running applications instead of games. These are called DOSBox-X and DOSBox-X-App.

Typical Uses of DOS

When DOS was in active use, it was used for a broad set of consumer and business needs. Playing games was certainly not the original aim of IBM when they introduced the IBM 5150 PC in 1982, but over the years it became more and more of a gaming platform. Throughout the DOS era, the operating system was used to:

  • Write documents using a word processor.
  • Create spreadsheets.
  • Keep track of your finances.
  • Store and retrieve data in a database.
  • Desktop publishing.
  • Use drawing tools.
  • Play games.
  • Develop new software.

I will try out various DOS software applications that fall into each of these 8 categories and report on the results. While some of the above operate solely in a DOS text mode (typically 80 x 25), others require graphics modes, so it will be interesting to see how well they are supported. In the early days of DOS, a text mode of 132 columns was widely used to provide more screen 'real estate' - this too will be evaluated where possible.

So let's begin!

System Information

Before I get into testing how applications are able to function, let's take a look at what is being reported as the "guest" operating system. NSSI (Navratil) only worked on DOSBox - with vDosPlus and VirtualBox it crashed on startup while it was detecting SMBIOS/DMI, so I reverted to the older and more simple InfoPlus:


DOSBox 0.74 running InfoPlus 1.55


vDosPlus 2017.08.01 (build 2018.03.01) running InfoPlus 1.55


VirtualBox 7.0 running InfoPlus 1.51

So each virtual machine reports numerous differences, both with the machine type and CPU. Only DOSBox correctly shows the C: drive, with vDosPlus and VirtualBox unable to read the boot record.

132-Column Mode

Back in the DOS days, a lot of EGA and VGA cards supported a larger text mode of 132 columns by 50 lines. In native DOS, you would achieve this by running 'MODE CON COLS=132 LINES=50' at the DOS command-line.

In DOSBox and vDosPlus you don't have a MODE program to run. It may be that we need to run a VESA VBE driver to provide extended text modes (in this case we need 0x54 or 0x55). I also downloaded the VMODE.EXE tool from Columbia.edu, which directly manipulates INT 10h to switch to a different graphics mode, but in DOSBox and vDosPlus this simply results in a blank screen with a flashing cursor. Any programs you run will revert to 80x25 text mode. I also attempted to get both emulators to install a VESA driver (UNIVBE), but under all the 'machine' options in the DOSBox.conf file, they all returned 'No supported Super VGA chipset detected!' when I ran UNIVBE.EXE. I also tried the Paradise SVGA VESA drivers which appeared to load ok, but had the same outcome when running any software - a blank screen with a flashing cursor.

I mentioned DOSBox-X and DOSBox-X-App earlier - these apparently do have text mode commands that mimic what the DOS 'MODE' utility would do, such as typing '80x25' to set the text mode to 80x25. However, these max out at 100x43 (by typing '100x43'), so the common 132-column mode is not supported even in these versions.

Word Processing

The most popular word processors in the DOS era were WordStar and WordPerfect. There are many others, but for this test I'll just use these two:

WordStar 4

DOSBox ran WordStar 4 just fine. I didn't use WordStar much back in the 80s, so I used the WordPerfect 'CONVERT' utility to convert one of my old documents into WordStar 3.3 format (the best it could do). The document wasn't perfectly converted, but making changes in the document and saving went without a hitch. VirtualBox also did a good job with WordStar 4 - I could open documents, change their content and save without issue. While I was hopeful to be able to highlight text with the mouse to copy some text to the host machine (my Windows 10 PC), I was unable to get this to work.

Both DOSBox and VirtualBox however, do not provide support to print to the host machine's attached [or network] printers. This is where vDosPlus gets an extra point - it detects output being sent to LPT1: and other ports, and sends them to the host operating system. It too behaved very well with WordStar 4 in terms of editing, saving, etc.


From left to right: Running WordStar 4 in DOSBox 0.74 and VirtualBox 7.0


WordStar 4 in vDosPlus and after choosing the 'P' "Print Document" option

Unfortunately, I need to do some more research on how to properly support modern printers, as for me it just printed garbage after attempts with various printer types in WordStar - I tried Epson FX80, IBM Proprinter, or HPLJET. I downloaded vDOSPCLPS.zip and put those two files into my vDosPlus folder, and also downloaded and installed a program called Printfil, but I still could not get readable printed text from vDosPlus (Printfil's Print Preview screen showed the garbage chars). It's great news that vDosPlus came up with the Windows print dialog, which assures me this functionality is in place. I know it's simply lack of education on my part concerning PCL or PostScript (printing languages, basically), and will continue to work on it. I did successfully print a raw text file from the DOS command line by redirecting to LPT1:, so top marks for vDosPlus here!

With VirtualBox 7.0, I tried 132-column mode but it didn't work quite right. It might be that WordStar 4 doesn't actually support more than 25 lines, because while it ran the application with 132 columns, it restricted the number of rows to 25:


WordStar 4 running under VirtualBox 7.0 after putting the guest system in 132x50 text mode

WordPerfect 5.1

DOSBox ran WordPerfect 5.1 without any problems, aside from the fact that there is no facility to send the print job to host machine for printing on a modern printer:


WordPerfect 5.1 running in DOSBox 0.74: (Left): A document opened, and (Right): The print preview screen

Next up was vDosPlus, though I really should evaluate a dedicated version of vDos that's been developed specifically for WordPerfect for DOS users - that product is called WPDOS, and is maintained by Edward Mendelson of Columbia State University. So if you are only virtualising DOS primarily to use WordPerfect 5.1, 6.1 or 6.2, this is more what you're after. Likewise, a dedicated fork from vDosPlus for XyWrite exists, and is maintained by Kari Eveli and Lexitec. This supports XyWrite III+, XyWrite IV, and Nota Bene.

 
WordPerfect 5.1 running in vDosPlus: (Left): A document opened, and (Right): The print preview screen

No issues with the standard version of vDosPlus, but apparently WPDOS as I mentioned earlier supports multiple ways of exchanging data with the Windows clipboard, open files on a network share, has a load of additional WordPerfect macros, and up to 142 columns by 60 lines display. Other graphical modes and other fonts and codepages are also supported.

 
WordPerfect 5.1 running in VirtualBox: (Left): A document opened, and (Right): The print preview screen

VirtualBox also runs WordPerfect 5.1 well, though its performance is slower than that of vDosPlus and DOSBox when displaying the print preview.

Now to try out 132-column mode with VirtualBox.... Incidentally, WordPerfect can be set to run in a different text mode via the main menu's File->Setup->Display option. Be careful here, as it doesn't work under DOSBox or vDosPlus, and will corrupt the screen so you cannot even navigate back to a normal mode unless you know what you're doing! If this happens to you, hit Esc, Esc, Shift-F1, 2, 3, 2 to set the text mode back to normal 80x25.

Since VirtualBOX is running a version of FreeDOS 1.2, the DOS MODE utility is available and it works just fine:


WordPerfect 5.1 running in VirtualBox 7.0 with 132 x 50 text mode

In Part 3, I continue with spreadsheets, finance programs, and databases.