It’s been a long time since many computers ran DOS or even Windows 3.1. Given the changes in hardware, it would be difficult to get most any recent PC to run one or both. Yet every time we have a major software upgrade, we lose some of the capabilities we had in the past. It’s something we don’t think about in the advance of computer power, but it’s a fact.
That’s more true in two fields than any other: business and scientific/engineering software. Ever wonder why businesses and medical establishments, for example, still run Windows XP or 7 so often? With engineering software, it’s even worse: there are still DOS programs which do things that more recent software either does not do or does very expensively (the “per seat” cost of programs like AutoCad and most commercial finite element software, would shock most people outside of the field).
This article concentrates on two venerable pieces of DOS software: WEAP87, the wave equation program to analyse driven piles during installation, and SPILE, which estimates axial driven pile capacity. As long as XP “ruled the roost” and was capable of running 16-bit software, it was certainly possible to run both and other DOS and Windows 3.1 packages. With the creeping advance of Windows 7 and 8 (Vista wasn’t an advance) and 64-bit software, it’s become impossible to run these programs. So we’re stuck with two choices: either forget about using them or purchase expensive wave equation software. The latter option is OK if you use it all the time, but for occasional use (and when WEAP87 was perfectly adequate for your needs) it doesn’t make sense. But what is to be done?
The solution to the problem for this and other DOS program requirements is DOSBox, an x86 emulator that runs DOS on a variety of platforms, including 32-bit Windows, Mac OS X and Linux. The purpose of this article is to give an overview of DOSBox, some tips about its installation, how to set up WEAP87 and SPILE on DOSBox, and a quick look into Windows 3.1 on DOSBox.
DOSBox is first an emulator for DOS games. That may look like an odd platform for running a scientific/engineering application with WEAP87, but it actually works well. Games have been a driving force in pushing local computer power forward. Behind the graphics and interaction are some very complex mathematics, and running those in “real-time” has been a challenge of gaming computers from the very start.
DOS gaming for its part is the classic example of taking lemons and making lemonade. Most DOS applications were text-based running on poor graphic standards such as CGA and EGA; it wasn’t until 800 x 600 VGA (or the venerable B&W Hercules standard) when graphics really began to look realistic. The operating system itself came with few integral interfaces other than the screen and keyboard; no common graphical interface like the Mac, no mouse or joystick drivers in the early versions, and the math coprocessor was optional until the “486” processors. It forced DOS gamers to write the visual output directly to the screen. They took up the challenge with zeal and DOS games squeezed every bit of output from the computer it was capable of.
With the advent of Windows 3.0/3.1/3.11 and certainly of 95, many of the routines that had to be written for the software specifically became part of the operating system. Unfortunately that, combined with the system overhead of the OS, slowed down games, which meant that Windows games lagged for a while until the hardware caught up with them. (The system overhead of Windows is still significant, something that anyone who has ventured outside of the Windows world will attest). Thus DOS gaming was something of a “golden age” and DOSBox was designed to recapture that golden age on computers that were no longer capable of running them.
Running Non-Gaming Applications on DOSBox
That having been said, DOSBox’s developers have traditionally discouraged non-gaming applications from DOSBox. For one thing, DOSBox lacks many of the facilities that non-gaming applications often need, such as printing (not an issue with either one of these programs, as they put out text files) and many of the DOS features (which are missing because of patent and copyright issues in many cases). There’s also the issue of emulation; no two computers do digital calculations the same, and that especially applies to an “operating system” which was primarily designed for gaming.
The reason programs like WEAP87 and SPILE can be considered for DOSBox is because they’re batch mode programs. You put data in, you process the data, you get a result out, that’s it. Programs which need long-term interaction with the data may not do so hot in DOSBox. I would also avoid running the programs on non-x86 platforms because of math coprocessor issues.
What You’ll Need
To run WEAP87 and SPILE on DOSBox, you’ll need the following:
- WEAP87 and SPILE themselves, which can be found here.
- The printed manual for WEAP87. Programs in the 1980’s came with printed manuals; online help wasn’t an option except for very basic commands.
- SPILE doesn’t have a printed manual available, but the second volume of the FHWA Soils and Foundations Manual has a good description of the underlying theory behind SPILE and its Windows successor, Driven.
- MCF, a TSR to aid in file management and program running. Especially useful with WEAP87 as you run one program to input/preprocess the data and another to actually run the analysis. Unlike many TSR programs designed for this purpose, MCF is very light on system resources.
- DOSBox, for whatever operating system you’re using.
Setting up DOSBox (the first step) is pretty simple. Open-source packages are notoriously deficient in understandable documentation, but DOSBox has been around for a long time, and seems better than average. I would strongly urge you to check out their wiki for the information you need on installation and running.
One thing you definitely need to do is to set up a “C” drive. DOSBox starts out with a “Z” drive with its basic programs to run. The process is described here. One big advantage of this over, say, a virtual machine is that you’re using the same file system for the emulator as you are for the host computer. This means that you can open the data results in either a text editor or do a screen grab of the graphics.
Once you’ve done that, the easiest way to get the programs going is to do the following:
- Unpack MCF and put it in the root directory of the C drive (c:\).
- Create a directory c:\WEAP87 and put the WEAP 87 files in it.
- Create a director c:\SPILE and put the SPILE files in it. It’s better to use two separate directories to avoid file name conflicts.
And that’s it.
Running SPILE and WEAP87
If you’ve run these programs on, say, Windows XP, running them on DOSBox–either directly from the command line or from MCF–is a familiar experence. If you used either or both in the DOS era, it’s a trip down memory lane–down to the pace the computer runs the programs. That’s because DOSBox deliberately slows down the pace of execution to simulate a DOS-era computer, and thus (for games where it’s critical) the timing of the game isn’t thrown off by faster execution speeds. For either of these programs, it isn’t a big deal, and in any case DOSBox will “pick up the pace” for really processor intensive programs. But after watching the output of WEAP87 in particular whiz by, seeing it going more slowly brings back memories.
SPILE is pretty straightforward, since there’s only one executable file. The one thing you need to watch for is not to print out the output; just save it to a file. If using the output for WEAP87, many engineers prefer to estimate the pile capacity using a spreadsheet and other methods.
WEAP87 is a little more complicated because the preprocessing file and the file that actually executes the wave equation analysis are different. But other than that there is little difference between using it in DOSBox and elsewhere. The governing data files can be edited either with MCF or with another text editor, and the text output can be done likewise. One thing that comes back in DOSBox is shown above: the graphical bearing graph, in all of its CGA glory. I’m not sure you want to put it into a report, but it’s good to have in any case.
Other DOS Programs
I’ve also tried other DOS engineering programs in DOSBox with success, including finite element analysis. The ability to preserve the graphics using a screen grab program is a big plus (see below.) These programs, however, like WEAP87 put their output in a text file, which can then be edited by either a text editor or a word processor. Again a big advantage of DOSBox is that the file system for the program is accessible by the host operating system, which means that you can keep files generated by DOS programs and other data (such as soil boring data, for example, with SPILE and WEAP87) together.
Another interesting program in DosBOX is CFRAME, the Corps of Engineers’ structural finite element analysis program. It was used in preparing the book Sheet Pile Design by Pile Buck. Here are some screen shots showing its graphical output:
Since Windows 3.1 was basically run on top of DOS, and 16-bit software (including software written for 3.1) is becoming out of bounds for newer Windows machines, the obvious question is, “Can DOSBox run Windows 3.1”? Having a legal copy of Windows 3.11 for Workgroups, I gave it a shot, with tremendous help from this post in DOSBox’s forum vogons.org.
Although I haven’t spent much time with it, the short answer is “to some extent”. DOSBox allocates enough extended and expanded memory to run it. There are some obstacles, however, not the least of which is that DOSBox doesn’t contain a full copy of DOS, but simulates DOS 5.0. It thus lacks the key file for full Windows functionality: SHARE.EXE. If you can get this file and get it running, that will probably change. But I’ve gotten further with this approach than, say, setting up a virtual machine. (Any virtual machine I’ve seen for DOS or Windows 3.1 is challenged in accessing files outside of the virtual machine).
Since I’ve spent time on SPILE, I’ll mention that the version of Driven (the Windows successor to SPILE) I offer for download is a 32-bit version and thus won’t run on Windows 3.1 without the 32-bit upgrade (which, in turn, requires SHARE.EXE). A 16-bit version was developed but at this point I don’t have it available.
DOSBox is a tremendous help in using DOS (and to a lesser extent Windows 3.1) programs on current machines and operating systems. I would strongly urge anyone who wants to try this to “test drive” some of these programs to make sure the results are good.
As West Point professor J. Ledlie Klosky noted about geotechnical knowledge in general, “In this modern information age, it is hard to believe that important knowledge could simply vanish through disuse, but the sad fact is that it happens.” That applies to software too; DOSBox is yet another weapon in our arsenal to prevent the loss of knowledge and once again fight “the creep of ignorance.”