Namco 163: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Hello world! I'm the n106! You may have heard of me.)
 
(Info courtesy of Disch's docs. Not done yet, just saving changes.)
Line 10: Line 10:
* Nametable [[mirroring]]: Controlled by mapper (Mapper 19), hardwired (Mapper 210)
* Nametable [[mirroring]]: Controlled by mapper (Mapper 19), hardwired (Mapper 210)
* Subject to [[bus conflict]]s: No
* Subject to [[bus conflict]]s: No
== Banks ==
* CPU $6000-$7FFF: 8 KB PRG RAM bank
* 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 n106 has 19 registers within $4800-$FFFF, except $6000-$7FFF which is WRAM. Each register occupies a range of $800 bytes, so $4800-$4FFF all refers to one register, $5000-$57FF all refers to another register, and so on.
=== Sound Data Port ($4800-$4FFF) r/w ===
See [[Namco 163 audio]]].
=== IRQ Counter (low) ($5000-$57FF) r/w ===
7  bit  0
---- ----
IIII IIII
|||| ||||
++++-++++- Low 8 bits of IRQ counter
=== IRQ Counter (high) / IRQ Enable ($5800-$5FFF) r/w ===
7  bit  0
---- ----
EIII IIII
|||| ||||
|+++-++++- High 7 bits of IRQ counter
+--------- IRQ Enable: (0: disabled; 1: enabled)
=== CHR Select 1 ($8000-$87FF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0000
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 2 ($8800-$88FF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0400
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 3 ($9000-$97FF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0800
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 4 ($9800-$9FFF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0C00
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 5 ($A000-$A7FF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1000
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 6 ($A800-$AFFF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1400
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 7 ($B000-$B7FF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1800
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.
=== CHR Select 8 ($B800-$BFFF) w ===
7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1C00
'''Note:''' Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

Revision as of 07:52, 8 November 2011

The Namco 106 and Namco 163 are ASIC mappers, assigned to iNES mapper 19. A variant of this mapper with hardwired mirroring is assigned to iNES mapper 210.

Overview

  • PRG ROM size: Up to 512 KB
  • PRG ROM bank size: 8 KB
  • PRG RAM: Up to 8 KB
  • CHR capacity: Up to 256 KB ROM and/or 32 KB RAM simultaneously
  • CHR bank size: 1 KB
  • Nametable mirroring: Controlled by mapper (Mapper 19), hardwired (Mapper 210)
  • Subject to bus conflicts: No

Banks

  • CPU $6000-$7FFF: 8 KB PRG RAM bank
  • 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 n106 has 19 registers within $4800-$FFFF, except $6000-$7FFF which is WRAM. Each register occupies a range of $800 bytes, so $4800-$4FFF all refers to one register, $5000-$57FF all refers to another register, and so on.

Sound Data Port ($4800-$4FFF) r/w

See Namco 163 audio].

IRQ Counter (low) ($5000-$57FF) r/w

7  bit  0
---- ----
IIII IIII
|||| ||||
++++-++++- Low 8 bits of IRQ counter

IRQ Counter (high) / IRQ Enable ($5800-$5FFF) r/w

7  bit  0
---- ----
EIII IIII
|||| ||||
|+++-++++- High 7 bits of IRQ counter
+--------- IRQ Enable: (0: disabled; 1: enabled)

CHR Select 1 ($8000-$87FF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0000

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 2 ($8800-$88FF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0400

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 3 ($9000-$97FF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0800

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 4 ($9800-$9FFF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $0C00

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.6 is set to 0. If $E800.6 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 5 ($A000-$A7FF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1000

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 6 ($A800-$AFFF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1400

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 7 ($B000-$B7FF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1800

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.

CHR Select 8 ($B800-$BFFF) w

7  bit  0
---- ----
CCCC CCCC
|||| ||||
++++-++++- Select 1KB page of CHR-ROM or CHR-RAM at $1C00

Note: Pages $E0-$FF are CHR-RAM, as long as $E800.7 is set to 0. If $E800.7 is set to 1, then pages $E0-$FF refer to the last $20 pages of CHR-ROM as you'd expect.