INES Mapper 218: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
m (oops) |
TakuikaNinja (talk | contribs) (Add nesmon to the list of software and clean up the table + notes. Also change VA10 to CIRAM A10, and /VCS to CIRAM /CE, to reflect the cart pinout article.) |
||
(9 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:INES Mappers|218]] | [[Category:INES Mappers|218]] | ||
'''iNES Mapper 218''' is used by the homebrew Magic Floor | '''iNES Mapper 218''' is used by the homebrew game ''Magic Floor''. Excluding the [[CIC]], the cartridge board only contains a single PRG-[[ROM]] chip (up to 32KiB). | ||
There is no [[CHR_ROM_vs._CHR_RAM|CHR-ROM or CHR-RAM]] on the cartridge. Instead, the console's internal 2KiB nametable RAM is mapped as CHR-RAM. This RAM is permanently selected (CIRAM /CE wired to GND), and can be used in four configurations by wiring CIRAM A10 to one of the PPU A10..A13 address lines: | |||
{| class="tabular" | {| class="tabular" | ||
! | ! CIRAM A10 connection || Effect on [[PPU nametables]] || Effect on [[PPU pattern tables]] || [[INES#Flags 6|iNES Flags 6]] || [[UNIF]] "MIRR" bit 7-0 | ||
|- | |- | ||
| PPU | | PPU A10 || Two-screen, '''Horizontal arrangement''' ("Vertical mirroring") || 2KiB (128 tiles) CHR-RAM, also mapped to nametable data || $A1 (0001) || $01 | ||
|- | |- | ||
| PPU | | PPU A11 || Two-screen, '''Vertical arrangement''' ("Horizontal mirroring") || 2KiB (128 tiles) CHR-RAM, also mapped to nametable data || $A0 (0000) || $00 | ||
|- | |- | ||
| PPU | | PPU A12 || Single-screen arrangement || '''BLK0''': 1KiB (64 tiles) CHR-RAM, "swappable" via [[PPUCTRL]] || $A8 (1000) || $02 | ||
|- | |- | ||
| PPU | | PPU A13 || Single-screen arrangement || '''BLK1''': 1KiB (64 tiles) CHR-RAM || $A9 (1001) || $03 | ||
|} | |} | ||
Notes: | |||
* The "alternative nametable layout" (bit 3) in [[INES#Flags_6|Flags 6]] of the iNES header is used to denote the two Single-screen configurations. | |||
* If reads/writes to mirrored addresses are avoided, software for this mapper can also be made compatible with [[AxROM]] ($A8,$A9), [[BxROM]] ($A0,A1), [[NROM]] + CHR-RAM, or other suitable mappers. ''Magic Floor'' itself is well behaved enough to be emulated as AxROM or NROM + CHR-RAM with vertical mirroring. | |||
== Software == | |||
Games: | |||
* [//problemkaputt.de/magicflr.htm ''Magic Floor''] ($A8) | |||
* [//problemkaputt.de/starfigh.htm ''Starfight''] ($A8) | |||
Tests: | |||
* [//forums.nesdev.org/viewtopic.php?p=232238#p232238 OAM corruption stress test ROM] ($A0) | |||
Miscellaneous: | |||
* [//github.com/bitcores/nesmon Port of Apple 1 Woz Monitor] ($A9) | |||
* | == References == | ||
* | * [//forums.nesdev.org/viewtopic.php?t=9342 nesdev forum, Post subject: Single Chip Cartridge] | ||
* [//forums.nesdev.org/viewtopic.php?t=5156 nesdev forum, Post subject: Using the NES's PPU RAM as CHR RAM?] |
Latest revision as of 10:33, 28 December 2024
iNES Mapper 218 is used by the homebrew game Magic Floor. Excluding the CIC, the cartridge board only contains a single PRG-ROM chip (up to 32KiB).
There is no CHR-ROM or CHR-RAM on the cartridge. Instead, the console's internal 2KiB nametable RAM is mapped as CHR-RAM. This RAM is permanently selected (CIRAM /CE wired to GND), and can be used in four configurations by wiring CIRAM A10 to one of the PPU A10..A13 address lines:
CIRAM A10 connection | Effect on PPU nametables | Effect on PPU pattern tables | iNES Flags 6 | UNIF "MIRR" bit 7-0 |
---|---|---|---|---|
PPU A10 | Two-screen, Horizontal arrangement ("Vertical mirroring") | 2KiB (128 tiles) CHR-RAM, also mapped to nametable data | $A1 (0001) | $01 |
PPU A11 | Two-screen, Vertical arrangement ("Horizontal mirroring") | 2KiB (128 tiles) CHR-RAM, also mapped to nametable data | $A0 (0000) | $00 |
PPU A12 | Single-screen arrangement | BLK0: 1KiB (64 tiles) CHR-RAM, "swappable" via PPUCTRL | $A8 (1000) | $02 |
PPU A13 | Single-screen arrangement | BLK1: 1KiB (64 tiles) CHR-RAM | $A9 (1001) | $03 |
Notes:
- The "alternative nametable layout" (bit 3) in Flags 6 of the iNES header is used to denote the two Single-screen configurations.
- If reads/writes to mirrored addresses are avoided, software for this mapper can also be made compatible with AxROM ($A8,$A9), BxROM ($A0,A1), NROM + CHR-RAM, or other suitable mappers. Magic Floor itself is well behaved enough to be emulated as AxROM or NROM + CHR-RAM with vertical mirroring.
Software
Games:
- Magic Floor ($A8)
- Starfight ($A8)
Tests:
Miscellaneous: