Lunar Compress is a decompression and recompression DLL written in C
for a few compression formats that have been known to show up in
certain SNES/GB games. It's intended primarily as a programmer's
resource, so it even includes a few common functions that may be
useful for SNES ROM editing (such as ROM/PC address conversion, ROM
expansion, bpp/indexed GFX conversion, etc).
The zip file contains the source code required for accessing the DLL,
and two simple command line utilities that may prove useful if you
just want to test or use the DLL's compression capabilities without
having to code anything. The source code for these two programs
have been provided, as well as the source to a simple win32 GUI
sample program for Super Mario World so you can examine how to use
the DLL correctly.
A small brute force tool called "sniff" that can occasionally be
useful for locating compressed data offsets is also included (check
the sniff.txt file).
For documentation on the DLL function calls and the values used to
represent each format, please read the files "LunarDLL.h" and
"LunarDLL.def". While the DLL and utilities have all been written in
C/C++, other languages should be able to access the DLL just fine,
Currently, the DLL supports formats found in Super Mario World,
Super Mario World 2 / Yoshi's Island, Mario RPG, Zelda 3, Metroid 3,
Mario Kart, Sim City, Secret of Mana, MegaMan X, Lufia 1, Lufia 2,
RoboTrek, Harvest Moon, Gradius 3, Chrono Trigger, Famicom Tantei/
Detective Club 2, Radical Dreamers, Star Fox 1, Star Fox 2, Sailor
Moon Another Story RPG, Sailor Moon R, Earthbound, Kirby Super Star,
Kirby's Adventure (NES), Pokemon Gold & Silver (GB), Sailor Moon
(GB), and Sailor Moon R (GB).
Lunar Compress DLL + Development Files (WinZip File)
Size: 571K zipped, 1.18MB unzipped
Minimum OS (32 bit): Win95
Minimum OS (64 bit): WinXP 64
Last Updated: February 9, 2015.