Users browsing this thread: 1 Guest(s)
Marble Saga: Kororinpa Data Compression
#2
Lightbulb 
After over a year, I've finally figured out how the system works. It uses a 1KiB rolling buffer, with flag bytes read right-to-left, with 1 being a literal and 0 being a reference. It's a 10 byte offset (with the top 2 bytes stored in the second byte of the reference), and a 6 byte length parameter stored as the actual length minus 3. The most unusual aspect is that writes start at offset 0x3BE. I've implemented an encoding and decoding algorithm in the koro Python library.
Reply
Thanked by:


Messages In This Thread
A solution - by DigitalDetective47 - 09-16-2023, 03:20 PM

Forum Jump: