First off, it will be easier with GCC. There are a couple of places in the code which use non-constants in array initializers, something only GCC supports (as far as I know). You can change them if you don't have GCC. If you don't have an ANSI-comformant C compiler, forget it, unless you want to do a lot of work. If you have System V Curses, make sure `-DSYSV' is in CFLAGS; otherwise remove it. You *must* have some version of Curses. You may need to add `-ltermcap' or `-ltermlib' to the link command. If your machine supports unaligned memory accesses (i.e. reading a word from an odd address), putting `-DUNALIGNED_MEMORY_ACCESS' in CFLAGS will make the interpreter slightly faster. Otherwise, remove it. If the interpreter gives you `bus errors' with it defined, your machine probably can't deal; remove it, `make clean', and try again. Now, type `make'. You may need to fiddle with some #includes to get things to compile. If you have any other problems, please let me know. If everything goes well, you should have an executable named `zterp' now. If you make any improvements to the code, or port it to some oddball system, please let me know and send diffs. Shar and enjoy! -- - Charles Hannum, mycroft@ai.mit.edu