The Jzip 2.1 code has these features:
- Z-Machine Standard 1.0 compliance
- Strictz support
- Quetzal Save files
- Builds on: all UNIX boxen, DOS (w/ BCC or MSQC), OS/2, Atari ST, possible to build on many others.
- Can read Z-Code files that have been gzipped.
- Very open license.
- I no longer have the ability to build Jzip on DOS platforms, and
need someone who can build me binaries upon request. Either
Borland C or MS Quick C is fine.
- I need someone to build the Atari ST version of Jzip 2.1 and ship
me binaries upon request.
The 10 Oct 2000 code contains these fixes:
- I fixed the bug that was causing the comp2000 game "And the Waves Choke the Wind"
by Gunther Schmidl to print text incorrectly. There was a problem in the text-
wrapping code. Thanks for the bug report, Heiko!
Previous fixes include:
- the code is updated to reflect my new email address
- fixed bug in nested/redirected output streams when dealing w/ chars
outside the normal ASCII range (ie, ISO-Latin1). This was causing
the German translation of "Bear's Night Out" (bearg.z5) to display
wrong chars instead of German eszett (ß), a-umlaut (ä), etc. in some places.
Thanks for the bug report, Heiko!
- renamed all opcode routines to z_opcodename to match functionality
to Spec 1.0 more easily.
- With the termcap version, using up/down arrow (for history) entered
a new line each time scrolling stuff off the top of the text window.
Thanks to Alan Swanson.
- Support for reading gzipped game files (requires zlib). Note that zlib is already on most Linux and FreeBSD distros. Try 'man zlib' or 'ls /usr/lib/libz*'.
- IO modules & makes for OS/2 and MS Quick C (Thanks, John Kennedy)
- Improved ckifzs save file verifier. (Thanks, John Kennedy)
- Can turn on Tandy bit.
- Fixed unixio.c - a boundary condition caused some X terminal environments to get extra linefeeds. Thanks, Lucian!
- Fixed property code to handle 64 properties per spec 1.0 (rewrote much of property.c) (should drop right into Xzip, too.) Since the opcode renaming, the new property.c can't drop into old ZIP-core interpreters.
Here is the old one so you can just drop it in.
- @get_prop_len 0 returns zero. Here's why
in the works
- While I have been working on the Unicode support, I developed a character map encoding resource format
that I call Vaxum (link down). This may be useful to other
Interpreter writers adding Unicode support...
- My good friend Paul
Theissen and I have started work on a port of Jzip to
wxWindows, a portable GUI that would
allow GUI versions of Jzip on UNIX, Windows, Mac, and OS/2.
It will be awhile, so don't hold your breath too long!
- The next source code to be uploaded will have major changes - all routines
that implement z-machine opcodes have been renamed to reflect the opcode
names used in spec. 1.0. The convention is z_name where name
is the opcode. The reason: makes life easier.
The obvious question: Why
didn't Jzip have the right opcodes name in its source to begin with?
Answer: The Zip core that Jzip was based on predates the Z-machine
specification document. The renaming has been needed for quite some time.
The Oct 10 code contains these opportunities:
The Unicode stuff should cause no problems unless you are pushing the limits and
are dependant on the spec 1.0 Unicode feature. At the moment, there are no known
games using it...
- @aread/@sread is not quite up to spec.
- Unix termcap build won't let you manually set default foreground and
- @print_unicode and @check_unicode operators are missing per spec 1.0
- cursesio.c still isn't finished.
Feel feel to patch the code and mail me
New screenshots will be made soon. (For large values of soon)
These screenshots were taken on a RedHat Linux box using the Enlightenment
window manager and Eterm.
Jzip was compiled with unixio.c using unixio.mak, and invoked with:
jzip -b -1 game.z5
Note that the title bar says Jzip 2.0.2. Well, now I call it Jzip 2.1, and
it is a helluva lot closer to spec than 2.0.2 was.