Re: LZ: New idea for compression program!
[Prev][Next][Index][Thread]
> 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: