Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/aaaaaa123456789/tpp1

TPP1 specification
https://github.com/aaaaaa123456789/tpp1

Last synced: 2 months ago
JSON representation

TPP1 specification

Lists

README

        

# TPP1

This repository aims to [define and specify a GB/GBC mapper](specification.md).

There is a test ROM available here. In order to build it, you will need
[RGBDS version 0.5.1 or later](https://github.com/gbdev/rgbds).

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.