|
This morning I was under the shower and I was wondering what algorithm did the C64 packers use... it must be a very tiny thing (but that's not a great issue with 8bit instructions) able to decompress stuff in place (no disk swapping of course) and booted from the BASIC space maybe? But I vaguely recall the ,1 parameter in LOAD"*",8,1 to be used to load directly executable code or something like that...
Another suspect I had is that decompressing probably ended up eating the BASIC interpreter memory (was it copied to ram on boot? why those 38911 bytes free at startup otherwise?) and some video memory too maybe? There are a lot of games that throw trash on the screen once loaded, before starting... so I guess the video memory was shared.
So, is it some kind of weird, quick and dirty algo? Or just a stripped down Huffman or LZ? Just out of curiosity.. I am still awed to see how many pirate intros with music and gfx fit, together with the game, in a 120-block file or so :P
Thanks in advance :)
|