Skip to content

Mixed LZ-RLE compression tool for HAL Laboratory games.

License

Notifications You must be signed in to change notification settings

romhack/kirbyLzRle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kirbyLzRle.

Mixed LZ-RLE compression tool for HAL Laboratory games.

Synopsis:

kirbyLzRle [-d | -c | -cf] inFileName outFileName

Description:


kirbyLzRle -d <inFile> <offset> <outFile> - Decompress block from given ROM file.

kirbyLzRle -c <inFile> <outFile> - Compress given plain block.

kirbyLzRle -cf <inFolder> <baseOffset> <outFile> Batch compress files in given folder.

-h - Display help

-v - Output version information

See additional files in release archive.

This tool is written significantly later, than Revenant's exhal/inhal with only two purposes:

  1. Show that such relatively complex compression tools can be elegantly written in Haskell (300 lines for compression and decompression, including parsing command line parameters)
  2. Write a more spatially efficient packer than inhal (which was also more efficient than the original packer from the HAL laboratory)

The tool was tested on the NES game "Kirby's Adventure", but given the format, it should work on the same games as exhal / inhal.

Build with Haskell Stack tool.

About

Mixed LZ-RLE compression tool for HAL Laboratory games.

Resources

License

Stars

Watchers

Forks

Packages

No packages published