aaaaaa123456789 / tpp1

TPP1 specification
21 stars 4 forks source link

TPP1

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.