Code: Select all
$E6CF:2C 02 20 BIT $2002 = #$20
$E6D2:50 FB BVC $E6CF
$E6D4:A9 81 LDA #$81; this command is never executed
Moderator: Moderators
Code: Select all
$E6CF:2C 02 20 BIT $2002 = #$20
$E6D2:50 FB BVC $E6CF
$E6D4:A9 81 LDA #$81; this command is never executed
D'oh! I've read about it hundred times! Thanks a lot!That code is waiting for a sprite 0 hit.
Dunno... I've never senn something like this before. I tried to ask 'bout it here. There I've also included IDA Lising. I just couldn't figure out what it as by myself, so I've also asked at couple of forums - and nothing... Plus even if i could write unpacker, it would be much harder (impossible? =)) to write the actual packer.What's so special about the compression used in this game?
Yeah, I remember that...griever wrote:Dunno... I've never senn something like this before. I tried to ask 'bout it here.
Compression is something that really interests me... but I don't have the patience to trace the decompression code... it seems like too much work! =) But, just for curiosity, since you seem to think the compression in this game is very efficient, can you give me an idea of how good it is? Do you have any compression ratios to share?There I've also included IDA Lising. I just couldn't figure out what it as by myself, so I've also asked at couple of forums - and nothing... Plus even if i could write unpacker, it would be much harder (impossible? =)) to write the actual packer.
I think my LZ compressor did better than that most of the time. EDIT: I think I was wrong about this. It usually did worse than that. Of course it really depends on the data...griever wrote:start screen GFX: Comp-0x584 bytes; UnComp-0x9D0 bytes; Ratio- 1,78
Fonts should be easy to compress because usually they use only one of the bitplanes. I'm not sure about Bee52, but with such a good compression ratio I'd guess this is the case.font GFX:Comp- 0x13F bytes; UnComp- 0x290 bytes; Ratio- 2,06
That's the VERY beginning of the hell =)I saw they had a function to load 1 bit from the input data, and another to read 2 bits. And depending on the values read they's read something from a table...
Maybe. BTW how about kirby's adventure tile map compression scheme? Have you seen it? Well, It's easyI think my LZ compressor did better than that most of the time.
But quite effective (sorry, but I don't have ratios). And I've never seen working packer for ths game.It uses seven different kinds of compression techniques, which includes the common LZ-Copy,RLE, and uncompressed data methods. The remaining types are simply variations of LZ-Copy and RLE.
Why not? It's interesting...I just noticed the link is dead. If you are interested I can upload again, as soon as I find the exact file...
Yeah, I gave up because it was getting hard to keep track of all the branches... maybe looking at a log of the executed instructions would make it easier to understand... as we could see exactly what happens for each bit read...griever wrote:That's the VERY beginning of the hell =)
Sounds like what's used in SMW and many other SNES (and even the Pokemon games on the Game Boy, I think) games... is this it? This was pretty well documented. This seems hard to encode efficiently, as you'd have to try every type of compression for each byte and see what works best.Maybe. BTW how about kirby's adventure tile map compression scheme? Have you seen it? Well, It's easyIt uses seven different kinds of compression techniques, which includes the common LZ-Copy,RLE, and uncompressed data methods. The remaining types are simply variations of LZ-Copy and RLE.
I'll upload it to a more permanent place in a few minutes... The compression ratio for the CHR I tried was about 1.5 to 1.6... The decompressor written in 6502 assembly will output the data to $2007, but I should probably make a version that outputs to regular RAM.Why not? It's interesting...
You are right. The cool thing about LZ is that, being a step up from RLE, it has built-in RLE support.tepples wrote:Fact: RLE is nothing more than the special case of LZ with a 1-byte window.
Arright, thanks a lot.Get the LZSS compressor/decompressor here.
OK, also you can try this (sorry for shitty colors, but I have net problems, so just had to compess image).If I have the time I'll take another look at that Bee52 code.
Cool! Is everything here? This sure makes things easier!griever wrote:Here it is