I think that the generic ZIP distribution is the one to start with if
you want to port. Now, it's generic because it implements a simple
terminal-style interface. I don't think it's a good idea to fold in
fancier ports like MaxZip into the generic distribution. There's just
way too much platform-specific code. (Much more than half of the
MaxZip source archive is platform-specific, if you include resource
data.) In case I haven't made it clear, *all* of the code is either
unmodified ZIP source or platform-specific code. There's nothing else
to fold in.
This would lead to an agonizing amount of source-code divergence *if*
ZIP was being updated on a regular basis. But it's not. There has been
only one change in the past year or so, and that was changing a single
function name. The code to handle Inform's V8 Z-code format isn't in
there yet, and that's a two-line change. The only major change I can
imagine to generic ZIP is the addition of V6 support, and that would
involve a lot of platform-specific code, such that any fancy port
would need to be updated by hand anyway.
The Z-machine is not, in short, a moving target.
As to the copyright on the MaxZip source: (I require that people get
permission from me if they want to distribute derivative works.) I
made that decision for a couple of reasons. First, the nature of
MaxZip is to spread, and I want clean copies to spread rather than
possibly-modified copies. Second, nobody actually creates derivative
works on the Mac. (That may be an exaggeration, but I don't.) Third,
the parts of MaxZip that are even slightly generic are code from
XZip, and the XZip source *is* freely modifiable and distributable
and so on.
dbk@mcs.com (Dan Keith) writes:
> Perhaps Andrew's intent is that MaxZip will become the Zip for the
> Macintosh and he has already talked to Mark Howell about this; in which
> case, I'm just going over old ground. It'd be a shame to have to wait for
> bug fixes and version upgrades for MS-DOS zip to be applied to the MaxZip
> source. Correspondingly, MaxZip will likely have improvements that could
> be used on all platforms (Windows/Zip, anyone?).
I think I've addressed all of this (except that I've never talked to
Mark Howell, and I don't think I even have a current email address for
him.) Generic ZIP is stable and unlikely to upgrade much, and any
improvements to MaxZip will not be portable.
This brings up the possibility of creating a "generic fancy" ZIP,
which handles resizable windows and proportional text in a
platform-independent manner, the way 2.0.7 handles terminal-style
text. This would be a pain in the butt, though, and I have other
projects on my list. If anyone wants to try, starting with the XZip
source, have fun.
--Z
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."