INES Mapper 210: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (eradicate n106 mentions)
(add Naruko's blog's post on mirroring on the 340 from the mapper 019 page, and update the $E000 register mirroring bits to match those docs (which I corroborated by investigating wagyan 2 bugs; I checked dream master and famitsu '92 to ensure still workin)
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:INES Mappers|210]]
{{DEFAULTSORT:210}}{{Infobox_iNES_mapper
This mapper represents most of the PCBs using the Namcot 175 and Namcot 340 ICs, such as ''Famista '92'' and ''Wagyan Land 3''.
|name=Namco 175
It is very similar to [[iNES Mapper 019]], having a [[Namco 163]]-class mapper IC with no [[Namco 163 audio|N163 expansion sound]].
|company=Namco
|mapper=210
|nescartdbgames=4
|boards=110F0B
|complexity=ASIC
|prgmax=512K
|prgpage=8Kx3 + 8K fixed
|wrammax=8K
|wrampage=8K
|chrmax=256K
|chrpage=1Kx8
|mirroring=H or V fixed
|busconflicts=No
|irq=No
|audio=No
}}{{Infobox_iNES_mapper
|name=Namco 340
|company=Namco
|mapper=210
|nescartdbgames=8
|boards=CS000x
|complexity=ASIC
|prgmax=512K
|prgpage=8Kx3 + 8K fixed
|wrammax=none
|wrampage=none
|chrmax=256K
|chrpage=1Kx8
|mirroring=H, V, or 1 switchable
|busconflicts=No
|irq=No
|audio=No
}}
iNES Mapper 210 is used to denote Famicom boards bearing either the Namco 175 (Submapper 1) or Namco 340 (Submapper 2) ASIC. Both can be thought of as cost-reduced versions of the [[INES Mapper 019|Namco 163]]:
{| class="wikitable"
! Function !! N163 !! N175 !! N340
|-
|IRQ counter || Yes || No || No
|-
|ROM nametables || Yes || No || No
|-
|Optional WRAM || Yes || Yes || No
|-
|Expansion audio || Yes || No || No
|-
|ASIC-internal RAM || Yes || No || No
|-
|Mirroring || Selectable (extended) || Hard-wired H/V || Selectable H/V/0
|-
|}


The 175 always has hard-wired mirroring. The 340 has an entirely different and incompatible mirroring control from the 163.
==Game list==
===Namco 175 (Submapper 1)===
{| class="wikitable sortable"
! Name !! Battery !! WRAM !! Mirroring
|-
| Chibi Maruko-chan: Uki Uki Shopping || No || No || V
|-
| Dream Master || No || No || H
|-
| Family Circuit '91 || Yes || 2 KiB || V
|-
| Famista '91 || No || No || V
|-
| Heisei Tensai Bakabon || No || No || V
|}
===Namco 340 (Submapper 2)===
* Famista '92
* Famista '93
* Famista '94
* Splatterhouse: Wanpaku Graffiti
* Top Striker
* Wagyan Land 2
* Wagyan Land 3


Run-time heuristics can determine how the emulator should act:
== Banks ==
* CPU $6000-$7FFF: 2 KB PRG RAM bank, mirrored four times (Namco 175 only)
* CPU $8000-$9FFF: 8 KB switchable PRG ROM bank
* CPU $A000-$BFFF: 8 KB switchable PRG ROM bank
* CPU $C000-$DFFF: 8 KB switchable PRG ROM bank
* CPU $E000-$FFFF: 8 KB PRG ROM bank, fixed to the last bank
* PPU $0000-$03FF: 1 KB switchable CHR bank
* PPU $0400-$07FF: 1 KB switchable CHR bank
* PPU $0800-$0BFF: 1 KB switchable CHR bank
* PPU $0C00-$0FFF: 1 KB switchable CHR bank
* PPU $1000-$13FF: 1 KB switchable CHR bank
* PPU $1400-$17FF: 1 KB switchable CHR bank
* PPU $1800-$1BFF: 1 KB switchable CHR bank
* PPU $1C00-$1FFF: 1 KB switchable CHR bank


* if $E000.7 is ever set, this should be a Namcot 340.
== Registers ==
* if $E000.6 is set and this isn't a Namcot 163, this is probably a Namcot 340.
The 175 and 340 have 12 registers within $8000-$FFFF. Each register occupies a range of $800 bytes, so $8000-$87FF all refers to one register, $8800-$8FFF all refers to another register, and so on.
* if the game ever writes to $4800, $5000, $5800, $C800, $D000, $D800, or $F800 this should be a Namcot 163
* if the game ever writes to $C000 and this isn't a Namcot 163, this is probably a Namcot 175 with external RAM.


Badly behaved software or software that writes to both sets of mirroring control registers will fail these heuristics.
=== CHR Select ($8000-$BFFF) w ===
{| class="wikitable"
! Value CPU writes !! Behavior
|-
| $00-$FF || Selects 1KB page of CHR-ROM
|}
{| class="wikitable"
! Write to CPU address !! 1KB CHR bank affected
|-
| $8000-$87FF || $0000-$03FF
|-
| $8800-$8FFF || $0400-$07FF
|-
| $9000-$97FF || $0800-$0BFF
|-
| $9800-$9FFF || $0C00-$0FFF
|-
| $A000-$A7FF || $1000-$13FF
|-
| $A800-$AFFF || $1400-$17FF
|-
| $B000-$B7FF || $1800-$1BFF
|-
| $B800-$BFFF || $1C00-$1FFF
|}


Naruko provided a table of which games used which ICs and what is necessary for accurate emulation, translated here:
=== External PRG RAM enable ($C000-$C7FF) w (Namco 175 only) ===
  Commerically available games using a Namcot 129/163/175/340
  7 bit 0
  hard soft battRAM yyyy.mm.dd name
  ---- ----
  -----------------------------------------------------
  .... ...E
129  163  none    1987.12.04 スターウォーズ (Star Wars)
        |
163* 163  internal 1988.04.05 独眼竜政宗 (Dokuganryuu Masamune)
        +- 1: Enable PRG RAM
163  163  none    1988.05.27 ナムコクラシック (Namco Classic)
163  163  none    1988.06.24 妖怪道中記 (Youkai Douchuuki / Shadow Land)
163* 163  external 1988.07.29 三国志 中原の覇者 (Sangokushi: Chuugen no Hasha / Romance of the Three Kingdoms: Champion of the Central Plains)
163* 163  none    1988.08.12 ファイナルラップ (Final Lap)
163* 163  none    1988.09.27 えりかとさとるの夢冒険 (Erika to Satoru no Yume Bouken / Erika and Satoru's Dream of Adventure)
163  163  internal 1988.11.18 貝獣物語 (Kaijuu Monogatari / Shell Monsters Story)
163* 163  external 1988.12.09 キングオブキングス (King of Kings)
163* 163  internal 1989.02.17 ハイドライド3 (Hydride 3)
163* 163  none    1989.03.17 ローリングサンダー (Rolling Thunder)
163* 163  internal 1989.04.18 マインドシーカー (Mind Seeker)
163  163  none    1989.07.14 ドラゴンニンジャ (Dragon Ninja)
340* 163  none    1989.07.31 スプラッターハウス (Splatterhouse)
163  163  internal 1989.12.19 ファミスタ'90 (Famista '90 / Family Stadium '90)
163  163  none    1989.12.22 マッピーキッズ (Mappy Kids)
163* 163  external 1990.04.06 女神転生II (Shin Megami Tensei II)
  163* 163  internal 1990.06.23 バトルフリート (Fleet Battle)
340* 340  none    1990.12.14 ワギャンランド2 (Wagyan Land 2)
175  163  none    1990.12.21 ファミスタ'91 (Famista '91 / Family Stadium '91)
163* 163  external 1991.01.04 じゅうべえくえすと (Juvei Quest)
175  340  external 1991.07.19 ファミリーサーキット'91 (Family Circuit '91)
175  340  none    1991.10.04 ちびまる子ちゃん (Chibi Maruko-chan: Uki Uki Shopping)
175* 340  none    1991.12.06 平成天才バカボン (Heisei Tensai Bakabon)
340  340  none    1991.12.20 ファミスタ'92 (Famista '92 / Family Stadium '92)
163* 163  none    1992.03.13 ナムコクラシックII (Namco Classic II)
163* 163  external 1992.06.10 三国志II 覇王の大陸 (Sangokushi II: Haou no Tairiku / Romance of the Three Kingdoms II: Overlord of the Continent)
340* 340  none    1992.09.22 ドリームマスター (Dream Master)
340  340  none    1992.10.22 トップストライカー (Top Striker)
340* 340  none    1992.12.08 ワギャンランド3 (Wagyan Land 3)
340  340  none    1992.12.22 ファミスタ'93 (Famista '93 / Family Stadium '93)
340  340  none    1993.12.01 ファミスタ'94 (Famista '94 / Family Stadium '94)


* hard: those marked with * were only found as epoxy: they were determined by connectivity and VRAM /CS behavior
=== PRG Select 1 ($E000-$E7FF) w ===
* soft: The Namcot 175 and 340 are similar enough that they can be emulated together
7  bit  0
* soft: Categorized as 340 if they don't write to $5800 or $c800
---- ----
* battRAM:
MMPP PPPP
** none: Neither external Work RAM nor battery.
|||| ||||
** internal: Battery backup of 163's internal memory.
||++-++++- Select 8KB page of PRG-ROM at $8000
** external: External SRAM with battery backup.
++-------- Namco 340 only: Select mirroring
* yyyy.mm.dd is the release date.
              0: One-screen A
* Splatterhouse and Famista '91 are the only games that do not use a 163 that can be correctly emulated as using a 163. (Translator suspects the games perform compatibility writes)
              1: Vertical
* The 129 sounds different from the 163: sometimes it's distorted. (translator: This is the most coherent I could get it) RAM and IRQ are the same as the 163. VRAM behavior has not been tested.
              2: One-screen B
              3: Horizontal
 
=== PRG Select 2 ($E800-$EFFF) w ===
7  bit  0
---- ----
..PP PPPP
  || ||||
  ++-++++- Select 8KB page of PRG-ROM at $A000
 
=== PRG Select 3 ($F000-$F7FF) w ===
7  bit  0
---- ----
..PP PPPP
  || ||||
  ++-++++- Select 8KB page of PRG-ROM at $C000
 
==Notes==
* ''Family Circuit '91'' relies on its 2 KiB of WRAM being correctly mirrored throughout the $6000-$7FFF address range.
* Many INES Mapper 210 games are incorrectly set to [[INES Mapper 019]].
* In the absence of a NES 2.0 header with submapper 1 or 2 to distinguish between Namco 175 and 340, the following heuristics have been suggested:
** If $E000.6 or $E000.7 are ever set, this should be a Namcot 340.
** If the game ever reads from or writes to PRG RAM, this is a Namco 175 with external RAM.
** If the game ever writes to $C000, this is probably a Namco 175.
 
== See also ==
*[http://d.hatena.ne.jp/na6ko/20110501/1304181038 Naruko's blog's post on mirroring on the 340]
 
[[Category:ASIC mappers]][[Category:Mappers with single-screen mirroring]]

Latest revision as of 03:55, 10 February 2021


Namco 175
Company Namco
Games 4 in NesCartDB
Complexity ASIC
Boards 110F0B
PRG ROM capacity 512K
PRG ROM window 8Kx3 + 8K fixed
PRG RAM capacity 8K
PRG RAM window 8K
CHR capacity 256K
CHR window 1Kx8
Nametable mirroring H or V fixed
Bus conflicts No
IRQ No
Audio No
iNES mappers 210


Namco 340
Company Namco
Games 8 in NesCartDB
Complexity ASIC
Boards CS000x
PRG ROM capacity 512K
PRG ROM window 8Kx3 + 8K fixed
PRG RAM capacity none
PRG RAM window none
CHR capacity 256K
CHR window 1Kx8
Nametable mirroring H, V, or 1 switchable
Bus conflicts No
IRQ No
Audio No
iNES mappers 210

iNES Mapper 210 is used to denote Famicom boards bearing either the Namco 175 (Submapper 1) or Namco 340 (Submapper 2) ASIC. Both can be thought of as cost-reduced versions of the Namco 163:

Function N163 N175 N340
IRQ counter Yes No No
ROM nametables Yes No No
Optional WRAM Yes Yes No
Expansion audio Yes No No
ASIC-internal RAM Yes No No
Mirroring Selectable (extended) Hard-wired H/V Selectable H/V/0

Game list

Namco 175 (Submapper 1)

Name Battery WRAM Mirroring
Chibi Maruko-chan: Uki Uki Shopping No No V
Dream Master No No H
Family Circuit '91 Yes 2 KiB V
Famista '91 No No V
Heisei Tensai Bakabon No No V

Namco 340 (Submapper 2)

  • Famista '92
  • Famista '93
  • Famista '94
  • Splatterhouse: Wanpaku Graffiti
  • Top Striker
  • Wagyan Land 2
  • Wagyan Land 3

Banks

  • CPU $6000-$7FFF: 2 KB PRG RAM bank, mirrored four times (Namco 175 only)
  • CPU $8000-$9FFF: 8 KB switchable PRG ROM bank
  • CPU $A000-$BFFF: 8 KB switchable PRG ROM bank
  • CPU $C000-$DFFF: 8 KB switchable PRG ROM bank
  • CPU $E000-$FFFF: 8 KB PRG ROM bank, fixed to the last bank
  • PPU $0000-$03FF: 1 KB switchable CHR bank
  • PPU $0400-$07FF: 1 KB switchable CHR bank
  • PPU $0800-$0BFF: 1 KB switchable CHR bank
  • PPU $0C00-$0FFF: 1 KB switchable CHR bank
  • PPU $1000-$13FF: 1 KB switchable CHR bank
  • PPU $1400-$17FF: 1 KB switchable CHR bank
  • PPU $1800-$1BFF: 1 KB switchable CHR bank
  • PPU $1C00-$1FFF: 1 KB switchable CHR bank

Registers

The 175 and 340 have 12 registers within $8000-$FFFF. Each register occupies a range of $800 bytes, so $8000-$87FF all refers to one register, $8800-$8FFF all refers to another register, and so on.

CHR Select ($8000-$BFFF) w

Value CPU writes Behavior
$00-$FF Selects 1KB page of CHR-ROM
Write to CPU address 1KB CHR bank affected
$8000-$87FF $0000-$03FF
$8800-$8FFF $0400-$07FF
$9000-$97FF $0800-$0BFF
$9800-$9FFF $0C00-$0FFF
$A000-$A7FF $1000-$13FF
$A800-$AFFF $1400-$17FF
$B000-$B7FF $1800-$1BFF
$B800-$BFFF $1C00-$1FFF

External PRG RAM enable ($C000-$C7FF) w (Namco 175 only)

7  bit  0
---- ----
.... ...E
        |
        +- 1: Enable PRG RAM

PRG Select 1 ($E000-$E7FF) w

7  bit  0
---- ----
MMPP PPPP
|||| ||||
||++-++++- Select 8KB page of PRG-ROM at $8000
++-------- Namco 340 only: Select mirroring
             0: One-screen A
             1: Vertical
             2: One-screen B
             3: Horizontal

PRG Select 2 ($E800-$EFFF) w

7  bit  0
---- ----
..PP PPPP
  || ||||
  ++-++++- Select 8KB page of PRG-ROM at $A000

PRG Select 3 ($F000-$F7FF) w

7  bit  0
---- ----
..PP PPPP
  || ||||
  ++-++++- Select 8KB page of PRG-ROM at $C000

Notes

  • Family Circuit '91 relies on its 2 KiB of WRAM being correctly mirrored throughout the $6000-$7FFF address range.
  • Many INES Mapper 210 games are incorrectly set to INES Mapper 019.
  • In the absence of a NES 2.0 header with submapper 1 or 2 to distinguish between Namco 175 and 340, the following heuristics have been suggested:
    • If $E000.6 or $E000.7 are ever set, this should be a Namcot 340.
    • If the game ever reads from or writes to PRG RAM, this is a Namco 175 with external RAM.
    • If the game ever writes to $C000, this is probably a Namco 175.

See also