1XZip version 1.8.2 2 3by Andrew Plotkin (erkyrath@eblong.com) 4based on ZIP V2.0.7 by Mark Howell (howell_ma@movies.enet.dec.com) 5web site: http://www.eblong.com/zarf/xzip.html 6 7This is set up for a fairly generic ANSI C compiler. If you get it to 8compile under some particular system, please send me mail, and I'll 9stick in the relevant #ifdefs and whatnot. 10 11You MUST define either BIG_END_MODE, LITTLE_END_MODE, or 12AUTO_END_MODE, by uncommenting one of the lines in the Makefile. If 13you don't know which is right, try one and see if the program runs 14right. The error messages are nice and obvious. The AUTO_END_MODE 15checks a BYTE_ORDER definition which is in the system headers of 16*some* Unixes. If Murphy's Law strikes, go back to BIG_END_MODE or 17LITTLE_END_MODE. 18 19If your compiler can't find X11 headers or libraries, change the 20definitions of XLIB and XINCLUDE in the Makefile. There are some 21sample values there. If you find other values that work on particular 22operating systems, send me email. 23 24If you get errors in xio.c about fd_set or FD_SET being undefined, put 25"-DNEEDS_SELECT_H" in the SYSTEMFLAGS line, as has been done for the 26RS6000. 27 28If you get errors about bcopy being undefined, put "-DNO_BCOPY" in the 29SYSTEMFLAGS line. 30 31If you get errors about random or srandom being undefined, put 32"-DLOUSY_RANDOM" in the SYSTEMFLAGS line. 33 34If you set DESTDIR to the directory you want things installed in, you 35can just type "make install". That also installs the man 36page. Otherwise, "make" or "make xzip" will just build the executable. 37 38The FONTDEF_XXX definitions are the fonts used by the various 39attributes in the interpreter. As you see, they must be delimited by " 40(double-quotes). If the supplied fonts aren't on your system, pick 41some that are. All the fonts should look the same size. (I use 4214-point Times and 12-point Courier because they look better together 43than same-size Times and Courier.) 44 45Version history: 46 471.8.2: 48Added the -spec option, to make the interpreter label itself as 49spec 1.0 compliant 50Fixed small bugs in arithmetic shift right and printing newlines. 51Added support for 64-byte-long properties (spec 1.0 feature) 52 531.8.1: 54Fixed the scripton_flag bug (control.c wouldn't compile with a pre-ANSI 55C compiler) 56The keypad page-up and page-down keys now work, for those keyboards that 57have such things. 58Fixed a bug which could cause a crash on exit. 59Fixed the set_font opcode to follow the current Z-Spec, and return 0 60if the font is not available. 61 621.8: 63Added extended save and restore opcodes. 64Added support for the portable Quetzal save file format. Yes, the save 65format is changing again. If you don't want this, comment out the 66definition of "USE_QUETZAL" in the ztypes.h file. 67Added nested output streams, as described in Z-Spec 1.0. 68Arrow keys now work right. 69Fixed bug in scripting (garbage appearing after command inputs) 70 711.7: 72Added the -strictz option for better z-code error checking. 73Fixed bugs in @tokenise whch were causing "You don't see that here" 74messages. 75Fixed a problem with color opcodes halting the interpreter. 76 771.6.1: 78Made the timed-input code work right. (How embarrassing.) 79Set all the header bits right. 80 811.6: 82Made the division/modulo code more portable. 83Put in support for more Unixes. 84Put in support for INFOCOM_PATH environment variable. 85 861.5: 87Changed the save file format to be machine-independent (and compatible 88with JZip.) This means that *this version will not read save files 89created with XZip 1.4*, if you are on a little-endian machine. 90Added support for international / accented characters. 91Fixed bug in signed division and modulo operations. 92Added PICKLE support, not that anyone cares. 93 941.4: 95Added support for the new V8 Z-code format. 96Fixed a bug in the display of reverse-video text (especially in sections 97of whitespace which contained both reverse and normal fonts.) 98 991.3: 100Added support for fixed-width sections of text. (This was supposed to 101work already, but the z-machine doesn't work like I thought it 102did. Sigh.) Also fixed small scrolling bug. 103 1041.2: 105Improved support for timed input (a la Border Zone) and input in the 106status window (a la Bureacracy). 107Added macros and the explain-key function. 108 1091.1: 110It now reads command-line options as well as X resources. 111Changed name of random() function to ziprandom(), to avoid conflict with 112the standard random(). 113Added __STDC__ conditionals to support non-ANSI compilers. 114 1151.0: 116Initial release. 117