[A83] Re: shell that runs compressed programs


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

[A83] Re: shell that runs compressed programs



> The Pucrunch compressor gets really good compression on lots of games.
Mars
> partrol dropped 800 bytes, glasscars dropped 3.5k, galaxian 1.3k, dying
eyes
> dropped 8.4k (!).

Wow!

> Anyone thought of making a shell that would yeild these
> gains?

Yes, I have, but not, of course, using this algorithm.  I was hoping to add
compression to the shell I am working on now.  The problem is, I do not
think I understand compression schemes well enough to implement them.

> The games could be stored in archive, and get decompressed to RAM.
> The shell could automaticly create appvars for games that need writeback
> capability.  Probably not practical for the regular 83 with its miniscule
> memory size.

Wouldn't compression be most needed by the No-flash TI-83?  Since there is
so little space, every Kb is precious.  Granted, I know nothing about this
particular scheme, but a shell on the TI-83 could decompress up to or
including 768 bytes into a saferam location, delete the section of
compressed code needed for that chunk, and then move the saferam chunk to
the loading location, and repeat.  After the program is done executing, the
shell could recompress it.  This way, it seems that no *extra* free space
would be required to decompress each program ("Uses no extra memory in
decompression").  Or wouldn't it be practical to include both a compressor
and decompressor in a shell?  Would a compressor be too large?

Besides (I know, it's sad), I don't have access to a TI-83+, therefore I
truthfully do not know how to program for one (keeping flash in
consideration).  So, I will probably end up writing a shell for the TI-83
and relying on someone else to use or port my code to create a TI-83+
version.

I suggest that you or whomever create a ZASMLOAD-type program for the
TI-83+, more of a loader than a shell, that runs compressed programs.
Because if a flash-wealthy TI-83+ user is that stingy about free space,
he/she might not like having another shell on his/her calculator.  Or, any
new shell could use your program as a sort of loader module for compressed
programs it detects.

>
> More info on Pucrunch at http://www.cs.tut.fi/~albert/Dev/pucrunch/.  The
> compressor is at the bottom of the page.  Make sure you use the
switches -d
> and -c0 to make it not generate c64 executables.
>
> There's a Z80 decompressor made for the gameboy on that site, I've already
> hacked up a TASM compatible version, still unoptimized at 500+ bytes, but
it
> works.
>




References: