DJGPP & GARAGe software

I provide here a subset of the DOS DJGPP package, suitable for running GALOPPS on a DOS machine. This optional form of GALOPPS with DJGPP was initially offered when many other 'C' compilers could not easily address more than 640KB of RAM. Now that most systems have eliminated this barrier, this will be the LAST release of djgpp with GALOPPS. In the future, the user will be expected to run GALOPPS with whatever 'C' compiler they normally use, under Unix, DOS, Windows, WindowsNT, Windows95, or whatever system they use. Packaged with this version of GALOPPS 3.2 is a version of the DJGPP compiler built about 2 years ago by Bill Punch. You need only unpack the distribution to get a working djgpp package and the new GALOPPS Release 3.2, in a version with DOS-type line endings, and DOS-type "clean" commands in the makefiles (erase rather than rm). The only other difference is that the new GUI code is deleted from this DOS/djgpp version, because it would not run and because it would make file names incompatible with DOS. In ALL OTHER RESPECTS, this GALOPPS 3.2 code is IDENTICAL to Unix GALOPPS Release 3.2.

Please note that I am not the developer of DJGPP, just a user !!!

DJGPP is a port of GNU packages to a DOS platform by DJ DeLorie. DJ describes DJGPP in his readme.dj file as follows ( Click here to read the complete readme file):

This package contains a 32-bit 80386 DOS extender with symbolic debugger, a C/C++ compiler with utilities, development libraries, and source code. It generates full 32-bit programs and supports full virtual memory with paging to disk.

Requirements:

A 80386-based IBM compatible PC or PS/2, 4Mb of hard drive space (70M for full install), and 512K RAM. Available extended (or expanded under VCPI) memory is strongly recommended.

Supported Wares:

The original version of djgpp can be found here
DJGPP offers a number of advantages for researchers in the GA/GP community using DOS. Most importantly, DJGPP turns DOS into a flat memory model, avoiding all the problems of the various large, super-large, extra-special-big-huge memory models inherent in DOS/Windows. It also provides swapping. The result is that you can take advantage of all of your memory, swap if you have to, and not write any special code to do so. Furthermore, because it is gcc, it makes it easy to port the code from a Unix platform to a DOS platform. Finally, DJGPP provides all the Unix tools you are used to, including make and debuggers.

A word of warning. DJGPP is not a system for the faint of heart. It has been my experience that code that would run initially on a Unix box won't under DJGPP. The reason is that DJGPP is very unforgiving. If there is an error of any kind, it will flag it. Thus on a Unix box you may "get away" with something for awhile; not so for DJGPP. We therefore often develop on Unix boxes and later work with code ported to DJGPP. Similarly, DOS/Windows users accustomed to a particular 'C' development environment should probably prepare new applications there, but after they are working, recompile them with djgpp for large-population runs.

This particular package includes only the gcc compiler (no C++, no Objective-C), C libraries, include files, and utilities make and debug from the original djgpp distribution. It also includes the latest version of GALOPPS. I packaged it using the ARJ packaging utility as it allowed me to make a multi-volume package that would fit on 1.4 Mb DOS diskettes. We provide the ARJ utility for those that are unfamiliar with it.

We have tried the package out on a number of systems, from 386's to Pentiums. We have had no trouble except for problems on systems without floating-point hardware (486 SX for example). It runs GLACIALLY slow on these systems for some reason, something to do with how we are setting up fp emulation. Because we don't plan long-term reliance on djgpp, we have no plans to build the latest versions, but the interested reader might want to see if the latest release resolves any such difficulties. Because of some glitches with the code generated on SOME pc hardware systems, I recommend compiling GALOPPS under the version of djgpp provided here ONLY with the -g (debug) option. It is still very fast on a Pentium 100, when run from a ramdisk directory, giving performance comparable to a Sparc20 (50 MHz).

CURRENT USERS OF GALOPPS:

NOTE: If you installed the djgpp distribution of the GARAGe 3.0 software, it included GALOPPS3.0, which included two bugs. One was in the makefiles, interfering with compilation of Onepop, and one interfered with extending (restart) of Onepop runs. GARAGe Release 3.02 (released a year ago) remedied those problems, and also added some more example input files and an improved user guide (only the PostScript form was changed).

Release 3.2 replaces all files in previous releases, but requires only VERY MINOR tweaking of any user-defined application files created by users. Those modifications are described in the file "changes.txt" included with the GALOPPS 3.2 distribution.

PROSPECTIVE GALOPPS/DJGPP USERS:

Here are the links to the full DJGPP and GALOPPS distributions.

GALOPPS software, Erik Goodman