
append
-------

Usage: java append compilation.bin image1 image1_title image2 image2_title ...

Generates a compilation of appendable/prependable images for Goomba v2.23.  More
on what that means below.  Images can be of any file format.  image#_title is the
name you want to appear in the border list.  Title limit is 23 characters.

d
--

Usage: java d file.bin file.lz77

Generates an lz77 vram safe compressed file.  GBACrusher or dcmp are both faster
and seem to offer greater or equal compression ratios.  But this is included because
it was trivial to make.

unlz77
-------

Usage: java unlz77 file.lz77 file.bin

Uncompresses an agb compatible lz77 file.


Appending/Prepending
---------------------

To actually make use of the files append generates, one has to actually append them
either to the goomba.gba file or nes file directly, depending on the situation.  This
can be broken down as follows:

When using Goomba as a plugin in Pogoshell:

  1. Use append to generate a compilation of all borders you want to be
     available to all games (make sure it's not larger than ~58K)
  2. For Windows: copy /b goomba.gba+compilation.bin goomba-compilation.gba
     For Linux: cat goomba.gba compilation.bin > goomba-compilation.gba
  3. Run: java d goomba-compilation.gba goomba.mbz
  4. Copy goomba.mbz to your plugins directory
  5. Use append to generate separate compilations for each GB game (if you want)
     ex. java append sml.bin sml.png "Super Mario Land"
  6. For each game
       For Window: copy /b sml.bin+"Super Mario Land.gb" SML.gb
       For Linux: cat sml.bin "Super Mario Land.gb" > SML.gb
  7. Add the new file(s) somewhere under your Pogoshell's root directory

All other cases:
  1. Use append to generate a compilation of all borders you want to be
     available to all games (~32MB size limit, excluding games)
  2. For Windows: copy /b goomba.gba+compilation.bin goomba-compilation.gba
     For Linux: cat goomba.gba compilation.bin > goomba-compilation.gba
  3. Use goomba-compilation.gba in your build program of choice

By default, the order of border selection at startup is as follows:

1. Previous border selection saved
2. Border selection stored in game (only application with Goomba as plugin)
3. Border selection stored with goomba.gba
4. Black border.

Notes
------

Note1: When using Goomba as a plugin in Pogoshell, the base borders available to
       all roms only works if you "multiboot" Goomba (ie, use extension .mb or .mbz,
       as appropiate).

Note2: The actual compressor is an lzss variant.  In simple terms, lzss uses a one
       bit flag instead of encoding all units to the maximal size.  GBA's "lz77"
       just groups these bits as single bytes in front of every 8 units.

Kuwanger
