GEM DZIP 2.12 version 0.10 by Steve "Dosius" Nickolas This program is a HACK! It is also not complete, although it should play most games just fine. All attributes are mapped to color; the color opcode is not supported and games are told that they cannot use color. This is my source tree (what tree?). Build the GEM Toolkit as a library, large model, and place the include files in a "GEM" subdirectory of your include directory (usually C:\TC\INCLUDE). The library is expected to be in C:\TC\LIB; you may need to tweak this in the IDE. Turbo C++ 1.01 only PLEASE. A hacked version of Heinz Rath's "TW" is included. I/O is based on a merger of the JZIP 2.1 Termcap subsystem and parts of the DZIP 2.x Turbo C subsystem. (It does not use GEM calls to read the keyboard yet, sorry.) It is complete enough that Beyond Zork, Freefall, et al. all run correctly, but one thing will annoy you - scrolling emulation. Since I don't know how to do anything in GEM, I fudged it, using a subset of conio and an emulated text buffer, manually scrolling as necessary. Finally, for v0.02, I have added a "freeze screen" flag to limit screen output, speeding GEM DZIP up substantially. Configuration of the following options is supported in the GEMDZIP.CFG file which must be located in your PATH. Place one command per line. These are the same as the switches, essentially. Case matters (as with the switches) but they are all lowercase (now)...just do not put space on the LEFT of the command. x - Alternate display (Z1-Z3 only), starts screen at top with abbreviated score display like ITF, INF and the Apple II and C64 emulators. l n - Sets the number of lines, max 22 (now). c n - Sets the number of columns, max 80. r n - Sets the text right margin. t n - Sets the text top margin. (I really must create code to move the window around.) k nnnnn - Size of the DOSKEY buffer. There are some minor bugs in the DOSKEY mode. Default is 1024, max is 16384 (16K). i nn - Set the interpreter number. 6 (IBM) is default, but "Beyond Zork" might look better with 2 (Apple //e) set instead. y - Enable the "Tandy bit" for Z3 games. This for example will censor "The Witness" and make most versions of Z3 "ZORK I" oblivious to the existence of a sequel. s - STRICTZ reporting level, 0-3, 0=ignore, 3=all fatal... From the DOS docs: DZIP 2.12 - Infocom/Inform interpreter - supports Z1-Z5 and Z8 games This version maintained by Steve "Dosius" Nickolas Based on JZIP 2.1 by John Holder, which is based on ZIP 2.0 by Mark Howell. This program is "open source" and freeware. See license.txt for details. Donations of computer software or hardware to the author are welcomed, but not required; this is not a shareware program, and never will be. Support free software! Notes: * This is a source and binary distribution. For most purposes all you need is the DZIP.EXE file. * This distribution only supports DOS. If you need support for another OS, try using the support files from JZIP 2.1; they may work with only one change (JZIPVER to DZIPVER in two adjacent lines, look for "The story is loading"). If not, I only have DOS on my computer so, sorry, I can't help you. * Borland C users: You may need to change alloc.h back to malloc.h if your build fails. This change was required for my compiler. * Turbo C++ 1.01 users - since that compiler is freeware, I expect there to be a few - this should build "out-of-the-box" on your system; MAKE -FDZIP will do the job. ZLIB_L.LIB, ZLIB.H and ZCONF.H, *not part of DZIP*, are included for your benefit; you can build in the gzip features without the need for the zlib sources. I did not provide sources for zlib; try going to http://www.gzip.org/ and see if you find it. This is the most recent version as of build time. * Build update 2002.0217: builds before this date are broken with jzexe and do not correctly run as standalone games. I have "Merged Duplicate Strings" (-d in Turbo C++ 1.01) and it works fine. JZEXE and CKIFZS are not built by default, although I do compile them and have packaged them with the distribution as of this release. JZEXE will also work with JZIP 2.0.1g and later, if you provide the filename to jzip.exe (I altered this to dzip.exe in the code for obvious reasons). * Build update 2002.0320: Finally! Real dialog boxes are used in a few places. Minor but noticeable.