Skip to content
/ nlzss Public
forked from magical/nlzss

Nintendo LZ compression/decompression tools

License

Notifications You must be signed in to change notification settings

meunierd/nlzss

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nintendo LZ compression

This is a collection of tools for compressing and decompressing Nintendo's LZSS formats, found in games such as Pokémon. MIT licensed.

Supports: (Python 3)

  • LZ10 (compression and decompression)
  • LZ11 (compression and decompression)
  • overlays (decompression only)

Python 2 support is less complete:

  • LZ10 (decompression only)
  • overlays (decompression only)

Note: Names are pretty inconsistent. I variously refer the compression algorithm as LZSS, LZSS10, LZ10 and NLZ10.

Files

  • lzss3.py - LZ decompression routines for Python 3. Can used as a module or a standalone script.
  • compress.py - LZ compression routines for Python 3. Should be merged into lzss3.py. Command-line interface is spotty.
  • verify.py - Script i threw together while trying to debug LZ11 compression. Should be merged into lzss3.py. Python 3.
  • lzss.py - Incomplete LZ decompression routines for Python 2. Only supports LZ10.
  • armdecomp.py - Command-line tool for decompressing overlays or arm9.bin. Python 2 version.
  • armdecomp3.py - Command-line tool for decompressing overlays or arm9.bin. Python 3 version. About twice as fast as the Python 2 version. The code has already been merged into lzss3.py, so this file isn't really needed.
  • test_lzss3.py - Tests for lzss3.py and compress.py.

About

Nintendo LZ compression/decompression tools

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%