Panasonic mapper
This page was last modified 10:39, 13 April 2018 by Rderooy. Based on work by Gdx and Mars2000you and others.

Contents

Description

The Panasonic mapper is the mapper used in the later MSX2+ (FS-A1WX/FS-A1WSX) models and the MSX Turbo R (FS-A1ST/FS-A1GT).

The Panasonic Mapper has a page switching system located in Slot 3-3 that allows you to select any content from internal memory (RAM, ROM or SRAM) independently of slot selection. The controller also has registers that contain the selected page number of the banks.

Caution: This document is not applicable to the FS-A1FX.

Addresses to access Panasonic mapper registers

To access the least significant 8 bits of each registers of page switching

  • 6000h~63FFh (W): Switch the page on bank 0000h~1FFFh
  • 6400h~67FFh (W): Switch the page on bank 2000h~3FFFh
  • 6800h~6BFFh (W): Switch the page on bank 4000h~5FFFh
  • 6C00h~6FFFh (W): Switch the page on bank 6000h~7FFFh
  • 7000h~73FFh (W): Switch the page on bank 8000h~9FFFh
  • 7800h~7BFFh (W): Switch the page on bank A000h~BFFFh
  • 7400h~77FFh (W): Switch the page on bank C000h~DFFFh (mirror from bank 4000h~5FFFh on FS-A1WX/FS-A1WSX)
  • 7C00h~7FEFh (W): Switch the page on bank E000h~FFFFh (mirror from bank 6000h~7FFFh on FS-A1WX/FS-A1WSX)

To read the registers with page numbers

  • 7FF0h (R): Read the current page number on bank 0000h~1FFFh
  • 7FF1h (R): Read the current page number on bank 2000h~3FFFh
  • 7FF2h (R): Read the current page number on bank 4000h~5FFFh
  • 7FF3h (R): Read the current page number on bank 6000h~7FFFh
  • 7FF4h (R): Read the current page number on bank 8000h~9FFFh
  • 7FF5h (R): Read the current page number on bank A000h~BFFFh
  • 7FF6h (R): Read the current page number on bank C000h~DFFFh
  • 7FF7h (R): Read the current page number on bank E000h~FFFFh

Note: These registers are valid only if bit 2 of 7FF9h is set.

To access the most significant bit of all registers of page switching

  • 7FF8h (R/W): Registers that contains all 9th bits of page switching
   bit0 for most significant bit of the page on bank 0000h~1FFFh
   bit1 for most significant bit of the page on bank 2000h~3FFFh
   bit2 for most significant bit of the page on bank 4000h~5FFFh
   bit3 for most significant bit of the page on bank 6000h~7FFFh
   bit4 for most significant bit of the page on bank 8000h~9FFFh
   bit5 for most significant bit of the page on bank A000h~BFFFh
   bit6 for most significant bit of the page on bank C000h~DFFFh
   bit7 for most significant bit of the page on bank E000h~FFFFh

Note: This register does not exist on the FS-A1WX/FS-A1WSX.

To access the configuration register

  • 7FF9h (R/W): Register to enable/disable addresses
   bit2 to 1 to enable the reading of the page number via 7FF0h~7FF7h
   bit3 to 1 make the configuration register readable at 7FF9h
   bit4 to 1 to enable registers of the 9th page switching bits at 7FF8h (unused on the FS-A1WX/WSX)


Page content

The following is not exact because we do not analyse it thoroughly.

  • From page 0, there seems to be firmware.
  • From page 028h, there is the Main-ROM.
  • From page 080h, there is S-RAM. WX/WSX has SRAM on 80h~81h. Pages 82-83h, 84-85h and 86-87h are mirrors. ST has SRAM on 80h~81h without mirror. GT has SRAM on 80h~83h, 84h~87h is not a mirror.
  • From page 100h, there is the data of the ROM Disk. (FS-A1GT)
  • From page 180h, there is the Main-RAM in front.


This wiki is based on Tsujikawa’s document about the internal mapper of Panasonic MSX2+ and Turbo R from the archive “mctr_anl.lzh” and these pages here and here. (in Japanese)