[comp.compression] Compressing 68K code

paul@tadtec.uucp (Paul Chown) (05/08/91)

	Does anybody out there in net-land know of a good compression
algorithm for 68K object files? I am trying to cram a large object file
into an EPROM that just doesn't have the room. The best that the UNIX
compress can give me is still not enough. It may be that I have to start
pruning code ... but I would rather not if it can be avoided.

If it helps at all, the text:data ratio is somewhere around 2:1.

	Thanks in advance ..

		Paul Chown

jms@tardis.Tymnet.COM (Joe Smith) (05/10/91)

In article <PAUL.91May8161221@tadsrc.uucp> paul@tadtec.uucp (Paul Chown) writes:
>	Does anybody out there in net-land know of a good compression
>algorithm for 68K object files? I am trying to cram a large object file
>into an EPROM that just doesn't have the room.

You might try asking that question in the comp.sys.amiga.misc or 
comp.sys.amiga.programmer newsgroups.  There is a program (I think it's
called PowerPacker) that will take an executable 68000 binary, compress
it, and write it out as a self-extracting file.  The idea is to file
more executable binaries into what's left on an 880K floppy.  Supposedly,
the time saved by not having to read in the extra blocks of the floppy
more than makes up for the decompress time, making the command faster.
I have no idea what algorithm is uses.
-- 
Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com
BT Tymnet Tech Services | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms
PO Box 49019, MS-C51    | BIX: smithjoe | CA license plate: "POPJ P," (PDP-10)
San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga 3000 speaks for me."

pdt@mullauna.cs.mu.OZ.AU (Peter David THOMPSON) (05/20/91)

jms@tardis.Tymnet.COM (Joe Smith) writes:

>In article <PAUL.91May8161221@tadsrc.uucp> paul@tadtec.uucp (Paul Chown) writes:
>>	Does anybody out there in net-land know of a good compression
>>algorithm for 68K object files? I am trying to cram a large object file
>>into an EPROM that just doesn't have the room.

>You might try asking that question in the comp.sys.amiga.misc or 
>comp.sys.amiga.programmer newsgroups.  There is a program (I think it's
>called PowerPacker) that will take an executable 68000 binary, compress
>it, and write it out as a self-extracting file.  The idea is to file
>more executable binaries into what's left on an 880K floppy.  Supposedly,
>the time saved by not having to read in the extra blocks of the floppy
>more than makes up for the decompress time, making the command faster.
>I have no idea what algorithm is uses.
>-- 

I'm sorry, but that won't work. Powerpacker loads into memory and decruches,
so unless you wnat to treat your eprom as a device it won't work.

Same holds for Imploder, & btw both of these are proprietry products & the
algorithm may not be available.

If this is for the Amiga, you could cruch the text with PP, and use powerpacker.library to decruch it.

Your best approach is to figure out a small crucher algorithm for the text (or
download one) & decrunch when you want to use it.

If your text is all in small chunks (a printf here and a printf there) your bestchoice is to optimise for code size (assuming a C complier).

If you're using assembler how did you manage the large code size?

Have you considered using a larger eprom?

#include <std/disclaimer>