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
- Host: GitHub
- URL: https://github.com/aaaaaa123456789/tpp1
- Owner: aaaaaa123456789
- Created: 2017-02-23T08:34:48.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-10-02T18:00:54.000Z (over 1 year ago)
- Last Synced: 2024-04-06T14:44:40.770Z (2 months ago)
- Language: Assembly
- Size: 160 KB
- Stars: 20
- Watchers: 10
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Lists
- awesome-gbdev - tpp1 - Definition and specification of a custom GB/GBC memory/hardware mapper, as a functional superset of MBC. (Software Development / Tools)
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.