INES Mapper 031: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
No edit summary
(switch § Overview to infobox)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''iNES Mapper 031''' represents ''2A03 Puritans'', a cartridge implementing a variant of the [[NSF]] mapper.
{{Infobox_iNES_mapper
|name=NSF subset
|company=varies (homebrew)
|boards=unknown (homebrew)
|mapper=31
|complexity=CPLD
|prgmax=1024K
|prgpage=4K
|chrmax=8K
|chrpage=n/a
|busconflicts=Not applicable
}}'''iNES Mapper 031''' represents a mapper created to facilitate cartridge compilations of [[NSF]] music. It implements a common subset of the features used by NSFs.


$5FF8 switches $8000-$8FFF, $5FF9 switches $9000-$9FFF, ..., $5FFF switches $F000-$FFFF, in 4096 bytes out of a PRG ROM up to 1 MiB.
PRG-ROM is bankswitched in 8 x 4 kB banks from $8000-FFFF. These are controlled by registers at $5FF8-$5FFF like the NSF mapper. The high bank at $F000-FFFF is initialized to the last bank at power-on.
At power-on, $F000 is the last bank ($5FFF contains $FF), and nothing changes at reset.
These registers are [[mirroring|mirrored]] throughout $5000-$5FFF with no bus conflicts.


As with [[BNROM]] and [[UxROM]], there is no mirroring, CHR bank, or IRQ control; this mapper is intended for use with an 8 KiB CHR RAM or ROM and hardwired H or V mirroring.
There is no CHR banking, so it is recommended to use 8 kB CHR-RAM with this mapper.
 
As with [[BNROM]] and [[UxROM]], there is no mirroring, CHR bank, or IRQ control; this mapper has hardwired H or V mirroring.
 
Examples:
* ''2A03 Puritans'' ([http://rainwarrior.ca/projects/nes/2a03puritans.html ROM])
* ''Famicompo Pico'' ([http://rainwarrior.ca/projects/nes/pico.html ROMs])
* ''RNDM'' ([http://megaranmusic.com/album/rndm info])
* ''EZNSF'' ([//forums.nesdev.org/viewtopic.php?t=15204 forum post])
* ''ZENSF'' ([//forums.nesdev.org/viewtopic.php?f=6&t=17698 forum post])
* ''Test ROMs'' ([//forums.nesdev.org/viewtopic.php?f=3&t=13120 forum post])
 
== Registers ==
 
=== PRG bank select $5000-$5FFF ===
 
address              data
15      bit      0  7  bit  0
-------------------  ---------
0101 .... .... .AAA  PPPP PPPP
                |||  |||| ||||
                |||  ++++-++++- Select 4 kB PRG ROM bank at slot specified by write address.
                +++------------ Specify 4 kB bank slot at: $8000 + (AAA * $1000)
 
The canonical write position for these registers is $5FF8-$5FFF, as used in [[NSF]]s.
 
At power on, the register at $5FFF is set to $FF. Startup code should be placed in the last bank. There is no change to this register on reset.


== References ==
== References ==
Line 11: Line 46:


== Emulator support ==
== Emulator support ==
Supported in BizHawk as of r6492.
* [http://tasvideos.org/BizHawk.html BizHawk] 1.11.2
Supported in MESS as of r30137.
* [http://www.fceux.com FCEUX] 2.2.3
* [http://mamedev.org/ MAME] 0.162
* [https://www.mesen.ca/ Mesen] 0.9.0
* [https://www.qmtpro.com/~nes/nintendulator/ Nintendulator] 0.975
* [https://openemu.org/ OpenEmu] (FCEUX core) 2.0.3
* [http://forums.nesdev.org/viewtopic.php?t=6928 puNES] 0.84
 
Cartridges:
*[[Everdrive N8]] OS V14
*[http://www.infiniteneslives.com/nessupplies.php InfiniteNESLives] Mapper 31 board


[[category:Mappers using $4020-$5FFF]] [[category:iNES Mappers]]
{{DEFAULTSORT:031}}[[category:Mappers using $4020-$5FFF]] [[category:iNES Mappers]]

Latest revision as of 04:15, 3 May 2022


NSF subset
Company varies (homebrew)
Complexity CPLD
Boards unknown (homebrew)
PRG ROM capacity 1024K
PRG ROM window 4K
PRG RAM capacity None
CHR capacity 8K
CHR window n/a
Nametable mirroring Fixed H or V, controlled by solder pads
Bus conflicts Not applicable
IRQ No
Audio No
iNES mappers 031

iNES Mapper 031 represents a mapper created to facilitate cartridge compilations of NSF music. It implements a common subset of the features used by NSFs.

PRG-ROM is bankswitched in 8 x 4 kB banks from $8000-FFFF. These are controlled by registers at $5FF8-$5FFF like the NSF mapper. The high bank at $F000-FFFF is initialized to the last bank at power-on.

There is no CHR banking, so it is recommended to use 8 kB CHR-RAM with this mapper.

As with BNROM and UxROM, there is no mirroring, CHR bank, or IRQ control; this mapper has hardwired H or V mirroring.

Examples:

Registers

PRG bank select $5000-$5FFF

address              data
15      bit       0  7  bit  0
-------------------  ---------
0101 .... .... .AAA  PPPP PPPP
                |||  |||| ||||
                |||  ++++-++++- Select 4 kB PRG ROM bank at slot specified by write address.
                +++------------ Specify 4 kB bank slot at: $8000 + (AAA * $1000)

The canonical write position for these registers is $5FF8-$5FFF, as used in NSFs.

At power on, the register at $5FFF is set to $FF. Startup code should be placed in the last bank. There is no change to this register on reset.

References

Emulator support

Cartridges: