I've been porting a number of decompression routines to BeebAsm format and thought I'd share the links here. I haven't really performed any analysis at this time as to best performing (some are clearly a lot faster than others) or which compress best. My main goal is to find a decompressor that allows sequential byte access to a stream similar to Exomizer but with less overhead. Huffmunch does this but the uncompressed source is limited to 64Kb and it's slow. I think some of the others can be adapted with some work - ZX02 looks the most interesting.
Hopefully these may be of some interest/use for others - each has a sample pre-built .ssd that decompresses the same Mode 5 picture to screen:
• Exomizer 3.1.1 https://github.com/NegativeCharge/Exomi ... ebAsm-Port
• Dali https://github.com/NegativeCharge/Dali- ... ebAsm-Port
• Shrinkler https://github.com/NegativeCharge/Shrin ... ebAsm-Port
• TSCrunch https://github.com/NegativeCharge/TSCru ... compressor
• apultra https://github.com/NegativeCharge/apult ... compressor
• Huffmunch https://github.com/NegativeCharge/Huffm ... compressor
• LZSA2 https://github.com/NegativeCharge/LZSA2 ... compressor
• ZX02 https://github.com/NegativeCharge/ZX02- ... compressor
• ZX0 https://github.com/NegativeCharge/ZX0-6 ... Acorn-Port
• Tricky’s Compressor https://github.com/NegativeCharge/Trick ... compressor
• c64f https://github.com/NegativeCharge/c64f- ... ebAsm-Port
• Packbits https://github.com/NegativeCharge/PackB ... ebAsm-Port
• ZX7 https://github.com/NegativeCharge/ZX7-6 ... ebAsm-Port
• ZX5 https://github.com/NegativeCharge/ZX5-6 ... ebAsm-Port
• LZ4 https://github.com/NegativeCharge/LZ4-6 ... ebAsm-Port
Code: Select all
Compressor Size Speed ZP Data Decomp Size
-------------------------------------------------------------------
Exomiser 6688 Medium 18 513
Huffmunch 7320 Medium 14 330
TSCrunch 7632 Very Fast 7 248
Dali 6950 Fast 6 264
Shrinkler 6685 Slow 19-27 468
LZSA2 7213 Fast 1 253
ZX02 6816 Fast 10 138
ZX0 6918 Fast 4 223
apultra 7061 Fast 9 252
Tricky 8438 Fast 5 72
c64f 6860 Fast 11 267
Packbits 8600 Fast 6 110
ZX7 6861 Fast 12 162
ZX5 6712 Fast 14 262
LZ4 7569 Fast 0 144