Re: LZ: New idea for compression program!


[Prev][Next][Index][Thread]

Re: LZ: New idea for compression program!



>    This is a good idea.  There is still the problem of updating the
>PROGRAM_ADDR information and such before the decompressor actually executes
>the user program.  Maybe Rob Taylor can tell us what will need to be
>modified and what exactly it should be changed to :-).  I also agree that it
>should be done now, instead of waiting for consent from the game
>programmers.  I will begin working on the decompressor (and compressor for
>the PC) now, but at least four things will be changed later:
>
>- First of all, there will be no actual compression until
>  someone comes up with the specifics for an algorithm
>  (everyone on this list is great at optimization, so I'll
>  leave that alone), but instead, I will make it add some
>  number to each byte to fake the compression.
>
>- The program will be decompressed into a pre-existing
>  string (which must be large enough or else there will be
>  an error message).
>
>- Only the PROGRAM_ADDR variable will be updated (although
>  this may confuse ZShell and endanger the program (Rob?)).
>  None of the other program specific variables will be
>  updated, if there are are any, until we find out if it
>  is safe to do so and how to do it (Rob?).
>
>- The identifier byte will be $7E for now.  I chose this
>  because ZShell developers have reserved everything from
>  $80 up (of course if compression is built into ZS 5.0,
>  then we can use those), and $7F is used by the GCP
>  format.  If there are any other formats using $7E, we
>  can change this.
>
>    So, if anyone has any good compression/decompression routines, put them
>on the list and have the optimization monsters :-) eat them up.  Then we can
>include it.


It seems we have some differing opinions on what to do.  I asked if anyone
wished to help me do this, but I take it you want the credit for yourself?  Are
you going to sell it too?  (sorry).


I don't knwo what you mean by the program_addr being a problem.  Take a look at
my previous messages, I have come up with a better way of doing it that will
take
up less space.  There will be no problem with identifier bytes, or whatever.
Every compressed string will be self-extracting except that the decompression
program will be like the engines on Caves and Scrolls.  In fact, it is the same
principle.


--	Scott Rein
	srein@rain.org


References: