This repository aims to define and specify a GB/GBC mapper.
There is a test ROM available here. In order to build it, you will need RGBDS version 0.5.1 or later.
Once that is done, you can build the test ROM using the make
command in the
repository's main directory; the output will be called testrom.gb
. Using
make clean
will remove the built files.
The compilation of the test ROM can be parameterized via four variables passed
to make
, those being ROMSIZE
, RAMSIZE
, RTC
and RUMBLE
. For instance,
in order to set all of them to their maximum possible values, compile the test
ROM as make ROMSIZE=F RAMSIZE=9 RTC=ON RUMBLE=MULTI
.
The values these variables can take are as follows:
ROMSIZE
: sets the size of the ROM. Default value is 9.
Value | Banks | Size |
---|---|---|
0 | 2 | 32 kiB |
1 | 4 | 64 kiB |
2 | 8 | 128 kiB |
3 | 16 | 256 kiB |
4 | 32 | 512 kiB |
5 | 64 | 1 MiB |
6 | 128 | 2 MiB |
7 | 256 | 4 MiB |
8 | 512 | 8 MiB |
9 | 1,024 | 16 MiB |
A | 2,048 | 32 MiB |
B | 4,096 | 64 MiB |
C | 8,192 | 128 MiB |
D | 16,384 | 256 MiB |
E | 32,768 | 512 MiB |
F | 65,536 | 1 GiB |
RAMSIZE
: sets the size of the SRAM. Default value is 5.
Value | Banks | Size |
---|---|---|
0 | 0 | no SRAM |
1 | 1 | 8 kiB |
2 | 2 | 16 kiB |
3 | 4 | 32 kiB |
4 | 8 | 64 kiB |
5 | 16 | 128 kiB |
6 | 32 | 256 kiB |
7 | 64 | 512 kiB |
8 | 128 | 1 MiB |
9 | 256 | 2 MiB |
RTC
: enables or disables RTC support in the header. Any non-empty value will
enable RTC support; set the variable to an empty value to disable it. Default
value is on.
RUMBLE
: sets the type of rumble supported in the header. Setting the variable
to the value MULTI
will enable three rumble speeds; any other non-empty value
will enable a single speed, and an empty value will disable rumble altogether.
Default is 3 speeds.