WHAT IS COLUMBIA?
A file compressor. It aims to reduce tape or disc file space. The principle is
that in any file, there is repetition. E.G. a text file, only a few characters
are used: letters, punctuation, numbers. Yet the CPC stores each in the space
that has a capacity for up to 256 values. So, for example, by replacing each
usage of the word "the" with the otherwise unused value 128, you will save 2
characters (bytes) per occurrence of the word.
In goes the original file: out comes the compressed file, either an "archive"
or an "executable" file. The "executable" is for machine code programmers: it
outputs a RUNable file as the original program, immediately decompressing into
memory. The "archive" option is something that all will find useful: the file
has to be decompressed by Columbia before it can be used again, but takes up a
lot less space on the disc.
E.G. - say you have a disc on which are all your personal correspondence. You
are unlikely to read the letters again, later you might need to find out what
you wrote. Compress them all with Columbia and erase the originals: you've now
saved much disc space, should you need the letter again, all you have to do is
decompress it with Columbia before loading it into your WP.
HOW TO USE COLUMBIA
If you only want to create archive files, this is all you need to know.
Once Columbia has loaded, you will see five icons at the foot of the screen.
You can select one of these with cursor keys and SPACE, COPY or ENTER. In
order, they are: compress a file, decompress a file, set options, display file
information, and display information about Columbia itself.
Disc users are presented with an up/down scrolling list of all the files on
the disc. Press COPY or SPACE to highlight the ones you want to compress, and
then press ENTER. Make sure that you have enough space on the disc to store
the compressed files. B-drive owners can select the source and destination
drives using the "options" icon: use cursor keys (up, down, left, right) to
change the options, and COPY, SPACE or ENTER to finish.
64k users - you are STRONGLY advised to alter the "compression type" setting,
use the "options" icon to "archive".The standard setting is "automatic": when
compressing data, this will create executable files from any machine code you
feed into Columbia (this includes screens and graphics). On 64k machines,this
is a long-winded process that requires reading the file in twice - especially
arduous on tape machines. If you've 128k, or are only decompressing files, you
needn't worry about this.
COLUMBIA STRENGTHS/WEAKNESSES. Columbia uses an advanced compression algorithm
known as LZW (Lempel-Ziv-Welch), like hard disc compression on Macs and PC's.
LZW is very good at compressing text files - the longer the better. One sample
36k file reduced to 18k after Columbia compression. Graphics should also show
significant improvement, although less so. The saving on machine code programs
is not so dramatic, it is still on a par with other CPC compression programs.
You can only create executable machine code files with Columbia.You can't take
a BASIC program and create an executable file.
CREATING EXECUTABLE FILES. If a machine code file is compressed when Columbia
is set to "executable" or "automatic" compression, Columbia will create a file
RUNable directly, decompressing into memory. The outcome on most machine code
programs is a smaller file which works exactly as before, except that after
loading, a few seconds elapse while the program decompresses.
If you plan to use the executable file option, the following notes may help.
First, just because Columbia has compressed a file doesn't necessarily mean it
will RUN correctly! As standard, an executable file is loaded so that it takes
up memory to &A200 (near HIMEM). If your program began near this address, the
file may not run correctly, as the decompression code will be overwritten by
the program code, causing a crash. Problems will also often occur if Columbia
could not make a saving on the file. To solve this, you can change the "memory
limit" before compressing a file, so it loads lower or higher in memory.
Another point to note is decompression requires just over 12k of workspace in
memory. When loading an executable file, you will usually see junk on screen
for a few seconds: this is where the workspace is located by default. However,
if this is not suitable (e.g. if you have compressed a screen!), you can move
the workspace somewhere else in memory using the "buffer location" option. If
the "buffer location" is set to "screen", the buffer will be located in screen
memory, and the screen will be cleared after decompression.
A file with a 0 execution address will return after calling the decompression
routine, rather than jumping to the execution address. You may find the "file
information" icon useful when creating executable files.
INCORPORATING DECOMPRESSION ROUTINES INTO YOUR OWN PROGRAMS
Machine code programmers may want to use the decompression routine in their
own programs, so that they can access archive files without having to use
Columbia. Fully documented source code (Maxam format) is provided for this
purpose.
Richard Fairhurst (CRTC) Special permission has been obtained to
Robot PD Library allow distribution of COLUMBIA with ATM.
January 1995 For ROBOT SOFTWARE Phone 01353 777006
*