ZIP Infocom Interpreter on DEC VAX

I recently installed the Compaq C compiler on my SIMH VAX. I don't have the 'MMS' app so was not able to build this automatically, so it took quite a long time as I manually typed each 'CC' command to compile the object code, then LINK to link it. The result is a binary. 'zip-md5.txt' is an MD5SUM check file.
-rw-r--r-- 1 lex lex 51712 2008-12-24 10:37 zip
-rw-r--r-- 1 lex lex    38 2008-12-24 10:45 zip-md5.txt
To use this file on your VAX, first rename it to 'ZIP.EXE' and then transfer it over. I haven't given it an 'EXE' extension for the download in case some foolish web browser attempts to execute it.

Running ZIP

You have to use a bit of OpenVMS magic here to get DCL to pass the whole command line to the application and not attempt to untangle it itself. This is documented in section 14.15 of the OpenVMS User's Manual.

I did the following:

In this example, my home directory is DUA1:[LEX] and the ZIP app is one subdir down, in [LEX.ZIP].

The DEFINE command resets the DCL search path so that it looks at DUA1:[LEX.ZIP] for commands.

'SET DEFAULT [LEX.ZIP.DATA]' goes to subdirectory 'DATA' of the 'ZIP' directory. This is where I keep my Infocom data files.

'ZIP LURKING.DATA;1' starts ZIP with 'LURKING.DATA;1' as a parameter. You probably could just do 'ZIP LURKING.DATA' - no need for the version specifier.


I've compiled the popular Frotz interpreter, too. These were originally in GOOD-OL VAX SHOUTY UPPERCASE, but I have downcased them so I can read it. Don't worry - your VAX won't mind.

Important: please rename 'frotz' to 'frotz.exe'. I have renamed this so that certain silly browsers don't attempt to run it. GNOME Web Browser (Epiphany) is one browser that identifies an EXE file as an 'MSDOS binary', just based on the file extension.

lex@desree:Frotz$ ll
-rw-r--r-- 1 lex lex 95232 2012-09-22 00:24 frotz VAX binary executable
-rw-r--r-- 1 lex lex  7005 2012-09-22 00:27 makefile A slightly-edited makefile
-rw-r--r-- 1 lex lex  6981 2012-09-22 00:26 makefile.orig The original makefile