Skip to content

romhack/kirbyLzRle

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 

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