#24852 - DKL - Thu Aug 12, 2004 2:24 pm
Little update : see below for v1.2.03
http://www.geocities.com/dkl_74/
I'm currently working on a big project and since it will be really "RAM intensive", I coded my own LZSS compressor in pure ASM, trying to keep memory usage to a minimum. Maybe somebody will be interested, so... For decompression, simply call the appropriate bios function (0x11 or 0x12).
There are 2 different implementations. The oldest one is based on hash tables and only need 10240 bytes (or a little less, or a little more) of temporary space. But it can be really slow in worst case scenarios if you are compressing big files (say 64Kbytes). I included it because it can still be used for little files.
The newest one is based on binary trees and is way faster, but needs 25088 bytes of temporary space.
You can compress directly in SRAM too.
I'm using GAS but it wouln't take too long to convert it to another assembler.
This source code is released in public domain.
If you find some errors, don't hesitate to contact me. Thanks.
The link : dead
Regards,
DKL
Last edited by DKL on Fri Aug 13, 2004 11:58 am; edited 3 times in total
http://www.geocities.com/dkl_74/
I'm currently working on a big project and since it will be really "RAM intensive", I coded my own LZSS compressor in pure ASM, trying to keep memory usage to a minimum. Maybe somebody will be interested, so... For decompression, simply call the appropriate bios function (0x11 or 0x12).
There are 2 different implementations. The oldest one is based on hash tables and only need 10240 bytes (or a little less, or a little more) of temporary space. But it can be really slow in worst case scenarios if you are compressing big files (say 64Kbytes). I included it because it can still be used for little files.
The newest one is based on binary trees and is way faster, but needs 25088 bytes of temporary space.
You can compress directly in SRAM too.
I'm using GAS but it wouln't take too long to convert it to another assembler.
This source code is released in public domain.
If you find some errors, don't hesitate to contact me. Thanks.
The link : dead
Regards,
DKL
Last edited by DKL on Fri Aug 13, 2004 11:58 am; edited 3 times in total