rgbfix —
Game Boy checksum fixer
  
    rgbfix | 
    [-CcjsVv] [-f
      fix_spec] [-i
      game_id] [-k
      licensee_str] [-l
      licensee_id] [-m
      mbc_type] [-n
      rom_version] [-p
      pad_value] [-r
      ram_size] [-t
      title_str] file | 
  
The rgbfix program changes headers of Game Boy ROM
  images. It also performs other filetype operations, such as truncation. The
  arguments are as follows:
  -C 
  - Set the Game Boy Color–only flag: 0x143 =
      0xC0. If both this and the 
-c flag are set, this
      takes precedence. 
  -c 
  - Set the Game Boy Color–compatible flag:
      0x143 = 0x80. If both this and the
      
-C flag are set, -C takes
      precedence. 
  -f
    fix_spec 
  - Fix certain header values that the Game Boy checks for correctness.
      Alternatively, intentionally trash these values by writing their binary
      inverse instead. fix_spec is a string containing any
      combination of the following characters:
    
    
      l 
      - Fix the Nintendo logo
          (0x104–0x133).
 
      L 
      - Trash the Nintendo logo.
 
      h 
      - Fix the header checksum (0x14D).
 
      H 
      - Trash the header checksum.
 
      g 
      - Fix the global checksum
          (0x14E–0x14F).
 
      G 
      - Trash the global checksum.
 
    
   
  -i
    game_id 
  - Set the game ID string
      (0x13F–0x142) to a
      given string of exactly 4 characters. If both this and the title are set,
      the game ID will overwrite the overlapping portion of the title.
 
  -j 
  - Set the non-Japanese region flag: 0x14A = 1.
 
  -k
    licensee_str 
  - Set the new licensee string
      (0x144–0x145) to a
      given string, truncated to at most two characters.
 
  -l
    licensee_id 
  - Set the old licensee code, 0x14B, to a given value
      from 0 to 0xFF. This value is deprecated and should be set to 0x33 in all
      new software.
 
  -m
    mbc_type 
  - Set the MBC type, 0x147, to a given value from 0
      to 0xFF.
 
  -n
    rom_version 
  - Set the ROM version, 0x14C, to a given value from
      0 to 0xFF.
 
  -p
    pad_value 
  - Pad the image to a valid size with a given pad value from 0 to 0xFF.
      
rgbfix will automatically pick a size from 32KiB,
      64KiB, 128KiB, ..., 8192KiB and give a warning thereafter. The cartridge
      size byte (0x148) will be changed to reflect this
      new size. 
  -r
    ram_size 
  - Set the RAM size, 0x149, to a given value from 0
      to 0xFF.
 
  -s 
  - Set the SGB flag: 0x146 = 3.
 
  -t
    title 
  - Set the title string
      (0x134–0x143) to a
      given string, truncated to at most 16 characters. It is recommended to use
      15 characters instead, to avoid clashing with the CGB flag
      (
-c or -C). If both this
      and the game ID are set, the game ID will overwrite the overlapping
      portion of the title. 
  -V 
  - Print the version of the program and exit.
 
  -v 
  - Equivalent to 
-f lhg. 
Most values in the ROM header are only cosmetic. The bare minimum requirements
  for a workable image are checksums, the Nintendo logo, and (if needed) the
  CGB/SGB flags. It is a good idea to pad the image to a valid size as well
  (“valid” meaning a multiple of 32KiB).
The following will make a plain, no-color Game Boy game without
    checking for a valid size:
$ rgbfix -v foo.gb
The following will make a SGB-enabled, color-enabled game with a
    title of “foobar”, and pad it to a multiple of 32KiB. (The
    Game Boy itself does not use the title, but some emulators or ROM managers
    might.)
$ rgbfix -vcs -l 0x33 -p 0 -t foobar baz.gb
The following will duplicate the header (sans global checksum) of
    the game “Survival Kids”:
$ rgbfix -cjsv -k A4 -l 0x33 -m 0x1B -p 0xFF -r 3 -t
  SURVIVALKIDAVKE SurvivalKids.gbc
rgbfix was originally released by Carsten
  Sørensen as a standalone program called gbfix, and was later packaged
  in RGBDS by Justin Lloyd. It is now maintained by a number of contributors at
  https://github.com/rednex/rgbds.