Porting ADL to a new system shouldn't be much trouble, as long as the operating system is 'UN*X-like' enough. MS-DOS is UN*X-like enough, as is AmigaDos. After you have unpacked all of the shar files, look in the file include/adltypes.h. There you will find #defines of the following: HPUX 1 if on an HP-UX, SysIII, or SysV computer, 0 otherwise BSD 1 if on a 4.x BSD computer, 0 otherwise MSDOS 1 if on an MS-DOS computer, 0 otherwise AMIGA 1 if on an Amiga, 0 otherwise LATTICE 1 if Lattice 'C' was used to compile this, 0 otherwise PCC 1 if a true K&R compiler was used, 0 otherwise DEBUG 1 if detailed error checking desired in adlrun, 0 otherwise HPTERM 1 if screen I/O is going to an HP terminal, 0 otherwise ANSI 1 if screen I/O is going to an ANSI term, 0 otherwise TERMCAP 1 if screen I/O will use termcap, 0 otherwise Change these to reflect your system. If your system is not one of those listed, examine the constants, etc. defined in the same file. Create a new name (MYSYS, or whatever) for the system, then create new constants and macros. The files adlcomp/codegen.c, adlrun/adlmach.c, util/virtmem.c, and misc/adldebug.c include some code to compose integers from bytes - this may have to be changed on a machine which has other than 8 bits per byte. Once all changes to the .c files have been made, it will be necessary to modify the Makefile in each directory to reflect 1. Where the programs are to be installed 2. Whether to use termcap, termlib, or nothing in adlrun After all of this has been done, just type "make install" at this level, and then make all. Everything should be made. If you don't have the make utility available, follow these steps in compiling: 1. Compile the files in the util directory, like this: cc -c *.c -O -I../include 2. Compile the files in the adlcomp directory, like this: cc -c *.c -O -I../include cc -o adlcomp *.o ../util/*.o mv adlcomp {wherever you want it} 3. Compile the files in the adlrun directory, like this: cc -c *.c -O -I../include cc -o adlrun *.o ../util/*.o {add -ltermcap or -ltermlib, if appropriate} mv adlrun {wherever you want it} 4. Compile the files in the misc directory, like this: cc -c *.c -O -I../include cc -o adldebug adldebug.o global.o ../util/v*.o cc -o adltouch adltouch.o mv adldebug adltouch {wherever you want them} 5. You should now have adlcomp, adlrun, adldebug, and adltouch. Go to the samples/demos directory. For a test, do: adlcomp tiny.adl -o tiny This should create a file named "tiny" in this directory. Type adlrun tiny You should now be running the sample dungeon. If not, check all of the above steps, and start over :-(. 6. Finish compiling the dungeons: adlcomp actdemo.adl -o actdemo adlcomp chrdemo.adl -o chrdemo adlcomp alldemo.adl -o alldemo adlcomp newtiny.adl -o newtiny -i.. adlcomp baby.adl -o baby -i.. cd ../aard adlcomp aard.adl -o aard -i.. cd ../mpu adlcomp mpu -o mpu -i.. 7. Play the games :-). Please send all changes to: Ross Cunniff UUCP: ...{ucbvax,hplabs}!hpda!cunniff ARPA: cunniff%hpda@hplabs.ARPA