Users browsing this thread: 1 Guest(s)
Ripping files from the Jumping Flash! games
#2
VAB is audio data but the others* are compressed data, I did look into the compression algorithm a few months back and so far I haven't been able to figure it out. I wrote some code and got some data out but didn't make much notes besides this one image. I have a disassembly of the decompression algorithm but it's complex and even after thorough review I still don't fully get it. But here's the gist of it:
[Image: QfBkASM.png]
1px bordered squares are literals, 2px bordered squares are LZ commands (just read them as signed integers to get the distance). Circles are the bitmasks where 0 is literal and 1 is LZ byte.
a bitmask byte of 00 obviously stands for "print next 8 bytes as-is" but I have no idea how, say, the first FF translates to "print seven bytes from -1 byte back"
in a nutshell; reading the distances is easy but i have zero idea where the amount comes from.

Trying to unpack the files is probably a no go (for now, idk if i'll be returning to analyse this later again) but you can always make save states and view their contents in GGD or something. Everything is 'neatly' in the VRAM so you should be able to go pretty far with just save states alone.

*) i can't remember right off the bat which ones were the compressed files actually lol, maybe it was PEX or EAR I think...
Once there was a way to get back homeward
Reply
Thanked by:


Messages In This Thread
RE: Ripping files from the Jumping Flash! games - by Raccoon Sam - 05-14-2021, 04:45 AM

Forum Jump: