NES 2.0 Mapper 365

From NESdev Wiki
Jump to navigationJump to 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.