mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
With permission from the main authors [1], most of the code has been relicensed under the MIT license. SPDX license identifiers are used so that the license headers in source code files aren't too large. Add CONTRIBUTORS.rst file. [1] https://github.com/rednex/rgbds/issues/128 Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
188 lines
9.5 KiB
HTML
188 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<style>
|
|
table.head, table.foot { width: 100%; }
|
|
td.head-rtitle, td.foot-os { text-align: right; }
|
|
td.head-vol { text-align: center; }
|
|
div.Pp { margin: 1ex 0ex; }
|
|
</style>
|
|
<link rel="stylesheet" href="manual.css" type="text/css" media="all"/>
|
|
<title>RGBFIX(1)</title>
|
|
</head>
|
|
<body>
|
|
<table class="head">
|
|
<tr>
|
|
<td class="head-ltitle">RGBFIX(1)</td>
|
|
<td class="head-vol">General Commands Manual</td>
|
|
<td class="head-rtitle">RGBFIX(1)</td>
|
|
</tr>
|
|
</table>
|
|
<div class="manual-text">
|
|
<h1 class="Sh" title="Sh" id="NAME"><a class="selflink" href="#NAME">NAME</a></h1>
|
|
<b class="Nm" title="Nm">rgbfix</b> — <span class="Nd" title="Nd">Game
|
|
Boy checksum fixer</span>
|
|
<h1 class="Sh" title="Sh" id="SYNOPSIS"><a class="selflink" href="#SYNOPSIS">SYNOPSIS</a></h1>
|
|
<table class="Nm">
|
|
<tr>
|
|
<td><b class="Nm" title="Nm">rgbfix</b></td>
|
|
<td>[<span class="Op"><b class="Fl" title="Fl">-CcjsVv</b></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-i</b>
|
|
<var class="Ar" title="Ar">game_id</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-k</b>
|
|
<var class="Ar" title="Ar">licensee_str</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-l</b>
|
|
<var class="Ar" title="Ar">licensee_id</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-m</b>
|
|
<var class="Ar" title="Ar">mbc_type</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-n</b>
|
|
<var class="Ar" title="Ar">rom_version</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-p</b>
|
|
<var class="Ar" title="Ar">pad_value</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-r</b>
|
|
<var class="Ar" title="Ar">ram_size</var></span>]
|
|
[<span class="Op"><b class="Fl" title="Fl">-t</b>
|
|
<var class="Ar" title="Ar">title_str</var></span>]
|
|
<var class="Ar" title="Ar">file</var></td>
|
|
</tr>
|
|
</table>
|
|
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="selflink" href="#DESCRIPTION">DESCRIPTION</a></h1>
|
|
The <b class="Nm" title="Nm">rgbfix</b> program changes headers of Game Boy ROM
|
|
images. It also performs other filetype operations, such as truncation. The
|
|
arguments are as follows:
|
|
<dl class="Bl-tag">
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#C"><b class="Fl" title="Fl" id="C">-C</b></a></dt>
|
|
<dd class="It-tag">Set the Game Boy Color–only flag:
|
|
<i class="Ad">0x143</i> = 0xC0. If both this and the
|
|
<b class="Fl" title="Fl">-c</b> flag are set, this takes precedence.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#c"><b class="Fl" title="Fl" id="c">-c</b></a></dt>
|
|
<dd class="It-tag">Set the Game Boy Color–compatible flag:
|
|
<i class="Ad">0x143</i> = 0x80. If both this and the
|
|
<b class="Fl" title="Fl">-C</b> flag are set,
|
|
<b class="Fl" title="Fl">-C</b> takes precedence.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#i"><b class="Fl" title="Fl" id="i">-i</b></a>
|
|
<var class="Ar" title="Ar">game_id</var></dt>
|
|
<dd class="It-tag">Set the game ID string
|
|
(<i class="Ad">0x13F</i>–<i class="Ad">0x142</i>) 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.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#j"><b class="Fl" title="Fl" id="j">-j</b></a></dt>
|
|
<dd class="It-tag">Set the non-Japanese region flag: <i class="Ad">0x14A</i> =
|
|
1.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#k"><b class="Fl" title="Fl" id="k">-k</b></a>
|
|
<var class="Ar" title="Ar">licensee_str</var></dt>
|
|
<dd class="It-tag">Set the new licensee string
|
|
(<i class="Ad">0x144</i>–<i class="Ad">0x145</i>) to a given
|
|
string, truncated to at most two characters.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#l"><b class="Fl" title="Fl" id="l">-l</b></a>
|
|
<var class="Ar" title="Ar">licensee_id</var></dt>
|
|
<dd class="It-tag">Set the old licensee code, <i class="Ad">0x14B</i>, to a
|
|
given value from 0 to 0xFF. This value is deprecated and should be set to
|
|
0x33 in all new software.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#m"><b class="Fl" title="Fl" id="m">-m</b></a>
|
|
<var class="Ar" title="Ar">mbc_type</var></dt>
|
|
<dd class="It-tag">Set the MBC type, <i class="Ad">0x147</i>, to a given value
|
|
from 0 to 0xFF.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#n"><b class="Fl" title="Fl" id="n">-n</b></a>
|
|
<var class="Ar" title="Ar">rom_version</var></dt>
|
|
<dd class="It-tag">Set the ROM version, <i class="Ad">0x14C</i>, to a given
|
|
value from 0 to 0xFF.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#p"><b class="Fl" title="Fl" id="p">-p</b></a>
|
|
<var class="Ar" title="Ar">pad_value</var></dt>
|
|
<dd class="It-tag">Pad the image to a valid size with a given pad value from 0
|
|
to 0xFF. <b class="Nm" title="Nm">rgbfix</b> will automatically pick a
|
|
size from 32KiB, 64KiB, 128KiB, ..., 8192KiB and give a warning
|
|
thereafter. The cartridge size byte (<i class="Ad">0x148</i>) will be
|
|
changed to reflect this new size.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#r"><b class="Fl" title="Fl" id="r">-r</b></a>
|
|
<var class="Ar" title="Ar">ram_size</var></dt>
|
|
<dd class="It-tag">Set the RAM size, <i class="Ad">0x149</i>, to a given value
|
|
from 0 to 0xFF.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#s"><b class="Fl" title="Fl" id="s">-s</b></a></dt>
|
|
<dd class="It-tag">Set the SGB flag: <i class="Ad">0x146</i> = 3.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#t"><b class="Fl" title="Fl" id="t">-t</b></a>
|
|
<var class="Ar" title="Ar">title</var></dt>
|
|
<dd class="It-tag">Set the title string
|
|
(<i class="Ad">0x134</i>–<i class="Ad">0x143</i>) 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
|
|
(<b class="Fl" title="Fl">-c</b> or <b class="Fl" title="Fl">-C</b>). If
|
|
both this and the game ID are set, the game ID will overwrite the
|
|
overlapping portion of the title.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#V"><b class="Fl" title="Fl" id="V">-V</b></a></dt>
|
|
<dd class="It-tag">Print the version of the program and exit.</dd>
|
|
<dt class="It-tag"> </dt>
|
|
<dd class="It-tag"> </dd>
|
|
<dt class="It-tag"><a class="selflink" href="#v"><b class="Fl" title="Fl" id="v">-v</b></a></dt>
|
|
<dd class="It-tag">Validate the header and fix checksums: the Nintendo
|
|
character area (<i class="Ad">0x104</i>–<i class="Ad">0x133</i>),
|
|
the header checksum (<i class="Ad">0x14D</i>), and the global checksum
|
|
(<i class="Ad">0x14E</i>–<i class="Ad">0x14F</i>).</dd>
|
|
</dl>
|
|
<h1 class="Sh" title="Sh" id="EXAMPLES"><a class="selflink" href="#EXAMPLES">EXAMPLES</a></h1>
|
|
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).
|
|
<div class="Pp"></div>
|
|
The following will make a plain, no-color Game Boy game without checking for a
|
|
valid size:
|
|
<div class="Pp"></div>
|
|
<div class="D1">$ rgbfix -v foo.gb</div>
|
|
<div class="Pp"></div>
|
|
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.)
|
|
<div class="Pp"></div>
|
|
<div class="D1">$ rgbfix -vcs -l 0x33 -p 0 -t foobar baz.gb</div>
|
|
<div class="Pp"></div>
|
|
The following will duplicate the header (sans global checksum) of the game
|
|
“Survival Kids”:
|
|
<div class="Pp"></div>
|
|
<div class="D1">$ rgbfix -cjsv -k A4 -l 0x33 -m 0x1B -p 0xFF -r 3 -t
|
|
SURVIVALKIDAVKE SurvivalKids.gbc</div>
|
|
<h1 class="Sh" title="Sh" id="SEE_ALSO"><a class="selflink" href="#SEE_ALSO">SEE
|
|
ALSO</a></h1>
|
|
<a class="Xr" title="Xr">rgbasm(1)</a>, <a class="Xr" title="Xr">rgblink(1)</a>,
|
|
<a class="Xr" title="Xr">rgbds(7)</a>
|
|
<h1 class="Sh" title="Sh" id="HISTORY"><a class="selflink" href="#HISTORY">HISTORY</a></h1>
|
|
<b class="Nm" title="Nm">rgbfix</b> 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
|
|
<a class="Lk" title="Lk" href="https://github.com/rednex/rgbds">https://github.com/rednex/rgbds</a>.</div>
|
|
<table class="foot">
|
|
<tr>
|
|
<td class="foot-date">January 26, 2018</td>
|
|
<td class="foot-os">RGBDS Manual</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|