Panasonic mapper
This page was last modified 01:21, 29 January 2019 by Gdx. Based on work by Rderooy 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 segment 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 segment number of the pages.

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 segment switching

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

To read the registers with segment numbers

  • 7FF0h (R): Read the current segment number on page 0000h~1FFFh
  • 7FF1h (R): Read the current segment number on page 2000h~3FFFh
  • 7FF2h (R): Read the current segment number on page 4000h~5FFFh
  • 7FF3h (R): Read the current segment number on page 6000h~7FFFh
  • 7FF4h (R): Read the current segment number on page 8000h~9FFFh
  • 7FF5h (R): Read the current segment number on page A000h~BFFFh
  • 7FF6h (R): Read the current segment number on page C000h~DFFFh
  • 7FF7h (R): Read the current segment number on page 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 segment switching

  • 7FF8h (R/W): Registers that contains all 9th bits of segment switching
   bit0 for most significant bit of the segment on page 0000h~1FFFh
   bit1 for most significant bit of the segment on page 2000h~3FFFh
   bit2 for most significant bit of the segment on page 4000h~5FFFh
   bit3 for most significant bit of the segment on page 6000h~7FFFh
   bit4 for most significant bit of the segment on page 8000h~9FFFh
   bit5 for most significant bit of the segment on page A000h~BFFFh
   bit6 for most significant bit of the segment on page C000h~DFFFh
   bit7 for most significant bit of the segment on page 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 segment number via 7FF0h~7FF7h
   bit3 to 1 make the configuration register readable at 7FF9h
   bit4 to 1 to enable registers of the 9th segment switching bits at 7FF8h (unused on the FS-A1WX/WSX)


Segment content

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

  • From segment 0, there seems to be firmware.
  • From segment 028h, there is the Main-ROM.
  • From segment 080h, there is S-RAM. WX/WSX has SRAM on 80h~81h. Segments 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 segment 100h, there is the data of the ROM Disk. (FS-A1GT)
  • From segment 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 segments here and here. (in Japanese)