bonimy / MushROMs

Super Nintendo game editing libraries and tools
GNU Affero General Public License v3.0
31 stars 1 forks source link

Document compression routines #35

Open bonimy opened 6 years ago

bonimy commented 6 years ago

Issue

There are several compression formats used by Lunar Compress.dll that would be handy if ported to MushROMs and made open source. However, a lot of these formats are still undocumented (even by the author). So it would be helpful to create documentation on their formats.

Features

Since I've wanted this code ported for a long time, having them documented is an essential first step. Further, it would be helpful to document all formats before writing the code for it, so we can see what properties all of the formats share.

Resolution

Create a "LZx Compression Format.md" doc for each format in the doc folder.

Task List

randomdude999 commented 6 years ago

I've searched for a bit and here are all the formats I've found anything about so far: LZ1: The same as LZ2, except the repeat command (#%100) uses little endian for its address LZ2: Here LZ3: Here LZ4: I couldn't find it on the internet, so I'm working on documenting it myself. I'll put it in my smwc filebin or somewhere once I'm done. LZ5: Here LZ16: The decompression routine is here, but it's GSU code so I can't understand it LZ19: At the end of this document RLE1: Here RLE2: Here RLE4: Ersanio might know something about it, but he took his old blog down, it's not on the new blog and the Wayback Machine doesn't have a copy of it

Would you like me to write the documentation on this and make a pull request?

bonimy commented 6 years ago

Would you like me to write the documentation on this and make a pull request?

You don't have to, but it would be super cool.

randomdude999 commented 6 years ago

I've asked Ersanio about LC_RLE4 and he gave me this zip. Also I got bored of figuring out how LC_LZ4 works, but I've mostly figured it out. Here, would be nice if someone finished this.

(also you can check off some of the items in that task list now)

bonimy commented 6 years ago

Neat stuff. Thanks