Difference between revisions of "INES Mapper 100"

From Nesdev wiki
Jump to navigationJump to search
m (defaultsort)
m (Protected "INES Mapper 100": Domain migration ([Edit=Allow only administrators] (indefinite)))
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{DEFAULTSORT:100}}[[Category:Bad iNES Mappers]][[Category:INES Mappers]][[Category:MMC3-like mappers]][[Category:Mappers with scanline IRQs]]
+
{| style="margin: 1em 10%; border: 2px solid #800000; font-size: 200%"
iNES Mapper 100 was assigned by fwNES<ref>FWNES98E.TXT, fwNES 0.302b, 1998/11/16, by FanWen Yang</ref> to denote [[Mapper hack|mapper hacks]] for the [[INES Mapper 004|MMC3]] emulation of Nesticle, an influential NES emulator for MS-DOS in the late 1990s. Nesticle did not directly support many of the custom ASICs by Irem, Konami and Namco, but did incorrectly emulate the MMC3 in a way that made it useful to run modified ROM images. Most of them use 512-byte trainers that must be loaded to CPU address $7000.
+
| Nesdev is moving to [//nesdev.org nesdev.org]!
  
Nestopia uses iNES mapper 100 as a magic number for UNIF-only boards. Nintendulator uses this as a general-purpose debugging mapper, allowing PRG/CHR banks to be selected arbitrarily using a control dialog.
+
This page is now at https://wiki.nesdev.org/w/index.php/{{FULLPAGENAMEE}}
==Bankswitch Index Register ($8000)/Data Register ($8001)==
+
|}
Mask: $E001 (nominally)
 
 
$00: 1 KiB CHR-ROM bank at PPU $0000-$03FF := Value AND $FE
 
      1 KiB CHR-ROM bank at PPU $0400-$07FF := Value OR $01
 
$01: 1 KiB CHR-ROM bank at PPU $0800-$0BFF := Value AND $FE
 
      1 KiB CHR-ROM bank at PPU $0C00-$0FFF := Value OR $01
 
$02: 1 KiB CHR-ROM bank at PPU $1000-$13FF := Value
 
$03: 1 KiB CHR-ROM bank at PPU $1400-$17FF := Value
 
$04: 1 KiB CHR-ROM bank at PPU $1800-$1BFF := Value
 
$05: 1 KiB CHR-ROM bank at PPU $1C00-$1FFF := Value
 
$06: 8 KiB PRG-ROM bank at CPU $8000-$9FFF := Value
 
$07: 8 KiB PRG-ROM bank at CPU $A000-$BFFF := Value
 
$46: 8 KiB PRG-ROM bank at CPU $C000-$DFFF := Value
 
$47: 8 KiB PRG-ROM bank at CPU $A000-$BFFF := Value
 
$80: 1 KiB CHR-ROM bank at PPU $1000-$13FF := Value AND $FE
 
      1 KiB CHR-ROM bank at PPU $1400-$17FF := Value OR $01
 
$81: 1 KiB CHR-ROM bank at PPU $1800-$1BFF := Value AND $FE
 
      1 KiB CHR-ROM bank at PPU $1C00-$1FFF := Value OR $01
 
$82: 1 KiB CHR-ROM bank at PPU $0000-$03FF := Value
 
$83: 1 KiB CHR-ROM bank at PPU $0400-$07FF := Value
 
$84: 1 KiB CHR-ROM bank at PPU $0800-$0BFF := Value
 
$85: 1 KiB CHR-ROM bank at PPU $0C00-$0FFF := Value
 
 
 
On an actual MMC3, changing bits 6 and 7 in the index register would immediately apply the current content of all seven bank registers to their flipped meaning. Nesticle applies these bits only on the next $8001 write, which makes eight independent 1 KiB CHR-ROM banks available: Registers $82-$85 to set four 1 KiB banks at CPU $0000-$0FFF, and registers $02-$05 to set four more 1 KiB banks at CPU $1000-$1FFF.
 

Latest revision as of 21:21, 21 September 2021

Nesdev is moving to nesdev.org!

This page is now at https://wiki.nesdev.org/w/index.php/INES_Mapper_100