Path: utzoo!censor!geac!torsqnt!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!cluster!nuts!cc!c8923075 From: c8923075@cc.nu.oz Newsgroups: comp.sys.cbm Subject: LZW in 64K Message-ID: <12000.25e95ff6@cc.nu.oz> Date: 26 Feb 90 06:57:26 GMT Organization: University of Newcastle Lines: 29 I'm currently developing a Lempel-Ziv-Welch de/compression prog for a CBM64, and would like to ask anyone who've tried the same in a simular 64K memory limitation situtation for any information that would be of use. The prog is being written in 6502 Assembler (No prizes for guessing why), & I intend it to resemble what you've probabally seen on pirated games (Although this program is not for a Com.Sci assignment or simular, I have more scolarly intentions). You run the load & run the prog, it deARCs itself without accessing any external memory (Those of you familar with a 1541 d/drive would know why). What I specifically would like in the way of advice is how to impliment the LZW table, the deARCed & ARCed files within the same 64k, permitting the maximum table size (to increase compacting efficency). A proposial would be to have the table in $0200-$0800, allowing about 510 table entries; the ARCed file move forward up in memory as far as possible; the decompressed prog reconstructed from $0801 onwards; and the actual decompression code kept in $0010 to $01F0 (Stack use kept to a minimum, for a 6502 uses $0100-$01FF) For anyone interested in compacting data, I've used the following reference: "The Design & Implementation of a Microproessor based data compression system" --- by Demetrios A. Prountzos. UMI Dissertation service 1986. - This includes "C" language listings on not only LZW, but also a rationalised Huffman algorithm. ----------------- Assisting 8-bitter owners is good for the soul. C8923075@cc.nu.oz -----------------