INES Mapper 031: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(this mapper isn't just for 2A03 Puritans (other releases are imminent), revising lead and adding link to information on 2A03 puritans)
(switch § Overview to infobox)
 
(13 intermediate revisions by one other user not shown)
Line 1: Line 1:
'''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.
{{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.


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.
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.
Line 9: Line 20:
Examples:
Examples:
* ''2A03 Puritans'' ([http://rainwarrior.ca/projects/nes/2a03puritans.html ROM])
* ''2A03 Puritans'' ([http://rainwarrior.ca/projects/nes/2a03puritans.html ROM])
 
* ''Famicompo Pico'' ([http://rainwarrior.ca/projects/nes/pico.html ROMs])
== Overview ==
* ''RNDM'' ([http://megaranmusic.com/album/rndm info])
* PRG ROM size: Up to 1024 kB
* ''EZNSF'' ([//forums.nesdev.org/viewtopic.php?t=15204 forum post])
* PRG ROM bank size: 4 kB
* ''ZENSF'' ([//forums.nesdev.org/viewtopic.php?f=6&t=17698 forum post])
* PRG RAM: None
* ''Test ROMs'' ([//forums.nesdev.org/viewtopic.php?f=3&t=13120 forum post])
* CHR capacity: 8 kB RAM/ROM
* CHR bank size: Not bankswitched
* Nametable [[mirroring]]: horizontal or vertical, hard wired.
* Subject to [[bus conflict]]s: No


== Registers ==
== Registers ==
Line 39: Line 46:


== Emulator support ==
== Emulator support ==
*BizHawk r6492
* [http://tasvideos.org/BizHawk.html BizHawk] 1.11.2
*MESS r30137
* [http://www.fceux.com FCEUX] 2.2.3
*puNES 0.84
* [http://mamedev.org/ MAME] 0.162
*FCEUX r3094
* [https://www.mesen.ca/ Mesen] 0.9.0
*Nintendulator 0.975
* [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


{{DEFAULTSORT:031}}[[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: