NES 2.0 Mapper 365

From Nesdev wiki
Jump to: navigation, search

NES 2.0 Mapper 365 is used for the Polish version, and probably other language versions, of the Asder PC-95 educational computer.

Banks

  • CPU $6000-$7FFF: 8 KiB fixed PRG-RAM bank
  • CPU $8000-$9FFF: 8 KiB switchable PRG-ROM bank
  • CPU $A000-$BFFF: 8 KiB switchable PRG-ROM bank
  • CPU $C000-$DFFF: 8 KiB switchable PRG-ROM bank
  • CPU $E000-$FFFF: 8 KiB switchable PRG-ROM bank
  • PPU $0000-$03FF: 1 KiB switchable CHR-RAM bank
  • PPU $0400-$07FF: 1 KiB switchable CHR-RAM bank
  • PPU $0800-$0BFF: 1 KiB switchable CHR-RAM bank
  • PPU $0C00-$0FFF: 1 KiB switchable CHR-RAM bank
  • PPU $1000-$13FF: 1 KiB switchable CHR-RAM bank
  • PPU $1400-$17FF: 1 KiB switchable CHR-RAM bank
  • PPU $1800-$1BFF: 1 KiB switchable CHR-RAM bank
  • PPU $1C00-$1FFF: 1 KiB switchable CHR-RAM bank

Registers

PRG-ROM Bank Select ($8000-$9FFF, write)

Mask: $E003

$8000: Select 8 KiB PRG-ROM bank at CPU $8000-$9FFF
$8001: Select 8 KiB PRG-ROM bank at CPU $A000-$BFFF
$8002: Select 8 KiB PRG-ROM bank at CPU $C000-$DFFF
$8003: Select 8 KiB PRG-ROM bank at CPU $E000-$FFFF. Written value is ORed with $01.

CHR-RAM Bank Select ($A000-$BFFF, write)

Mask: $E007

$A000: Select 1 KiB CHR-RAM bank at PPU $0000-$03FF
$A001: Select 1 KiB CHR-RAM bank at PPU $0400-$07FF
$A002: Select 1 KiB CHR-RAM bank at PPU $0800-$0BFF
$A003: Select 1 KiB CHR-RAM bank at PPU $0C00-$0FFF
$A004: Select 1 KiB CHR-RAM bank at PPU $1000-$13FF
$A005: Select 1 KiB CHR-RAM bank at PPU $1400-$17FF
$A006: Select 1 KiB CHR-RAM bank at PPU $1800-$1BFF
$A007: Select 1 KiB CHR-RAM bank at PPU $1C00-$1FFF

Unknown Registers ($C000-$DFFF/$E000-$FFFF, write)

Mask: $E001

One of them will select the nametable mirroring, but it is not known which one, and what the other register does.

Unknown Register ($4903, read)

Mask: unknown

D~7654 3210
  ---------
  .... .S..
        +--- Status bit of unknown meaning

$4903 seems to indicate the presence of a device of some kind and is only read when the computer's menu, or some of its individual applications, boot.

Keyboard Row Select ($4904, write)

Mask: unknown

Selects the row of the keyboard from which the button state will be returned when reading from $4906.

Unknown register ($4905, write)

Mask: unknown

D~7654 3210
  ---------
  ?... ..??

This register is written to by some of of the applications at the end of their NMI handler.

Keyboard Button State ($4906, read)

Mask: unknown

Returns the button states of the keyboard row selected via $4904. The mapping of keys to bits and rows matches that of the Subor keyboard.

Unknown Registers ($4910-$491F, read/write)

Unknown Registers ($4111, write; $5000-5003/$5080-$5083, read)

These registers are accessed when selecting "save" and "load" from the text editor ("Edytor tekstu").

Printer Port Status ($4902, read)

Mask: unknown

D~7654 3210
  ---------
  B... ....
  +--------- 0=Ready, 1=Busy

Printer Port Output ($4900/$4901, write)

Mask: unknown

The text editor writes every byte to be printed both to $4900 and $4901.

Note

  • The Arabic version of the Asder PC-95 Educational Computer most likely originally used this mapper as well. The publicly-available ROM image has obviously been hacked for iNES Mapper 241 and crashes at several points.
  • The Korean version uses different hardware and adds a speech chip, which are described by NES 2.0 Mapper 531.