Hi,
On Mon, 1 May 2000, Lars Skovlund wrote:
> I really didn't think of this befoere. Maybe what Said() does is nothing
> (...) more than generating and evaluating a LISP expression from the
> said spec (which then is nothing more than a simplified notation). I
> mean, try "strings sciv.exe" - hmmm... "augment_tree err: non-consp
> KID". Smell some LISP yet? :-)
> (OK, this may be really far-fetched, I just dug out an elisp reference
> from the 'net - I'm just learning) Each node in the parse tree would
> then be a cons cell (with the left pointer beiing the car pointer and
> the right pointer being the cdr pointer),
>From an intuitive point of view, that would make sense; Parse() trees tend
to lean to the right, which is just what the average collection of cons
cells does.
> and augment_tree is really
> just an implementation of the cons function. The storage codes are used
> to identify the type of the subordinated list or atom. With that in mind
> it would probably be easier to write a full Said() implementation.
I'll try to adjust our debug code appropriately; maybe we'll see something
then.
> What are we going to do about patented algorithms? Once we get to SCI01,
> we'll have the path avoidance system to take care of (which is
> documented in patent number 5287446 available at patents.ibm.com).
We could try to work out some sort of agreement with Sierra... this is
pretty bad, though.
Perhaps there is a different (probably slower) way to solve the same
problem without using the patented algorithm.
> Also,
> the PKWARE compression used in later SCI1's may cause us problems.
IIRC, the "Welch patent" covering the LZW algorithms (currently held by
Unisys) expires on Dec 12th, 2002. LZW compression appears to be used at
least in some PKZipped data.
This is another real problem. Unisys is known not to be reasonable about
this patent. OTOH, the patent was issued for use in 'an apparatus that
performs LZW encoding' (according to the UnZip 5.40 COPYING file). Unisys
interprets LZW stand-alone decoders to match that description, though, and
this issue has never been resolved in court.
We could do this the UnZip way and implement but disable LZW support;
people wanting to run SCI1 games would have to enable it manually (they'd
have to change a #define or add an option to 'configure').
llap,
Christoph