home *** CD-ROM | disk | FTP | other *** search
- Help file for the BASS Cruncher application (version 1.00).
- -----------------------------------------------------------
- This program is FREEWARE: it may be copied and used freely as long as all the
- files are unaltered and is not sold for profit etc. However you're allowed
- to use the crunched files where you want, even in commercials... Of course
- I cannot be held responsible for any data loss...
-
- Important: This is NOT an archiver! The files created are crunched and stay
- crunched for ever!
-
- This application is the multitaking version of an old tiny executable made by
- me to compress executables just as Acorn's Squeeze does, but usually more
- efficiently when mixed data is involved. The latest non multitasking very
- non user friendly version was 'CrunchC030'. By the way, the very first version
- was a conversion from the CBM64...
- Now the interface and the algorithms have been completly reworked in order to
- be easy to use and fast. Those who used the older version will notice the
- difference in compression speed.
- The application works fully multitasking with the interface looking like
- RISC OS 3 filer operations windows...
- As a bonus, clicking ADJUST on the Cruncher icon will bring a RM merger window.
- It allows to build an executable that'll install a given number of modules in
- RMA when run. Of course you can later compress it with Cruncher to gain disk
- space.
- However, it is probable that this program will not be of full interest to real
- users, but would rather be enjoyed by real programmers.
-
- Technical details.
- ------------------
- - Should work on all versions of RISC OS, although it has been tested only on
- RO 3.11.
- - Should work on any configuration, like floppy-only (like me!) or 1Meg-only.
- - You can alter a parameter in the !Run file to set the maximum memory
- claimable by Cruncher: more memory speeds up the algorithm a LITTLE bit and
- could be an advantage when filing is on floppy.
- - Launch the !Help application for more info.
- - Restrictions: when crunching sprites, only a screen dump of the right width
- and no wastage and no mask will be handled correctly.
- - Reliability: it's possible for a file containing no compressable data at its
- start to not decrunch properly, although I've not seen such until now. So
- always check it runs as it should!
- - It can correctly crunch files with the load/exec addresses.
- - The decompression code uses only at most 604 bytes at the decompressed data
- top. It doesn't need any extra workspace.
- - All is written in pure ARM code.
- - When running the decompression routine is in SVC mode with interrupts
- unaltered. It doesn't use nor corrupt all R13's. On exit processor mode and
- interrupts and R13 are unaltered, the rest is corrupted.
- - The exec address can be entered relative to the load address by prefixing
- with a '+'.
-
- About efficiency: usually more efficient than Squeeze or any LZW algorithm when
- mixed code is involved, I mean something like demo or application code.
- LZW can be a little bit better on pictures and Squeeze a little bit better on
- ARM-code-only data. In fact I noticed recently that it's a kind of LZ77
- compression scheme!
-
- Decompression speed: it IS FAST. I think I can't make it faster since all
- registers are fully used... It's not as fast as Squeeze since it's byte
- oriented; Squeeze is word oriented so it can use LDM/STM but the drawback is
- 'lack' of compression efficiency.
-
-
- That's it for now... Happy crunching and hello to other cool hackers!
-
- Bernard Jungen for BASS, August 1993.
-