<?xml version="1.0" ?>
<!DOCTYPE msxconfig SYSTEM 'msxconfig2.dtd'>
<msxconfig>

  <info>
    <manufacturer>Panasonic</manufacturer>
    <code>FS-A1ST_V9968</code>
    <release_year>1990</release_year>
    <description>The first released MSXturboR. With built in disk drive, sampler, Ren-sha turbo, MSX-MUSIC, MSX-DOS2 and software. Replaced the VDP with a V9968.</description>
    <type>MSXturboR</type>
    <region>jp</region>
  </info>

  <RenShaTurbo>
    <min_ints>47</min_ints>
    <max_ints>221</max_ints>
  </RenShaTurbo>

  <MapperReadBackBits>5</MapperReadBackBits>

  <PanasonicRom id="Firmware ROM">
    <rom>
      <sha1>c212b11fda13f83dafed688c54d098e7e47ab225</sha1>
      <sha1>4b84465c2faa802bfd5f772118c4d31f993f29d0</sha1>
      <filename>fs-a1st_firmware.rom</filename>
    </rom>
  </PanasonicRom>

  <devices>

    <Kanji id="Kanji ROM">
      <rom>
        <filename>fs-a1st_kanjifont.rom</filename>
        <sha1>5aff2d9b6efc723bc395b0f96f0adfa83cc54a49</sha1>
      </rom>
      <io base="0xD8" num="2" type="O"/>
      <io base="0xD9" num="1" type="I"/>
      <io base="0xDA" num="2" type="O"/>
      <io base="0xDB" num="1" type="I"/>
    </Kanji>

    <S1990 id="S1990">
      <io base="0xE4" num="2"/>
    </S1990>

    <T9769 id="T9769">
      <subtype>C</subtype>
    </T9769>

    <PPI id="ppi">
      <sound>
        <volume>16000</volume>
      </sound>
      <io base="0xA8" num="4"/>
      <keyboard_type>jp_jis</keyboard_type>
      <has_keypad>true</has_keypad>
      <has_yesno_keys>true</has_yesno_keys>
      <key_ghosting_sgc_protected>false</key_ghosting_sgc_protected>
      <code_kana_locks>true</code_kana_locks>
      <graph_locks>false</graph_locks>
    </PPI>

    <VDP id="VDP">
      <version>V9968</version>
      <vram>128</vram>
      <io base="0x98" num="5" type="O"/> <!-- No mirroring of VDP ports -->
      <io base="0x98" num="5" type="I"/>
      <timing>0</timing> <!-- 0:V9968 compatible / 1:Normal Speed Mode uses V9958 timing. -->
    </VDP>

    <PSG id="PSG">
      <keyboardlayout>JIS</keyboardlayout>
      <mirrored_registers>false</mirrored_registers>
      <sound>
        <volume>21000</volume>
      </sound>
      <io base="0xA0" num="4" type="IO"/>
      <ignorePortDirections>true</ignorePortDirections> <!-- not sure, but guess based on use of Engine IC -->
    </PSG>

    <RTC id="Real time clock">
      <sramname>fs-a1st.cmos</sramname>
      <io base="0xB4" num="2" type="O"/>
      <io base="0xB5" num="1" type="I"/>
    </RTC>

    <PrinterPort id="Printer Port">
      <io base="0x90" num="2"/>
    </PrinterPort>

    <E6Timer id="Turbo-R timer">
      <io base="0xE6" num="2"/>
    </E6Timer>

    <ResetStatusRegister id="Reset Status register">
      <inverted>false</inverted>
      <io base="0xF4" num="1"/>
    </ResetStatusRegister>

    <TurboRPause id="TurboRPause">
      <io base="0xA7" num="1"/>
    </TurboRPause>

    <TurboRPCM id="PCM">
      <sound>
        <volume>21000</volume>
      </sound>
      <io base="0xA4" num="2"/>
    </TurboRPCM>

    <primary slot="0">

      <secondary slot="0">
        <ROM id="MSX BIOS with BASIC ROM">
          <mappertype>DRAM</mappertype>
          <rom>
            <firstblock>40</firstblock>
            <lastblock>43</lastblock>
          </rom>
          <mem base="0x0000" size="0x8000"/>
        </ROM>
      </secondary>

      <secondary slot="1"/>

      <secondary slot="2">
        <MSX-MUSIC id="MSX Music">
          <rom>
            <firstblock>62</firstblock>
            <lastblock>63</lastblock>
          </rom>
          <sound>
            <volume>9000</volume>
          </sound>
          <ym2413-core>NukeYKT</ym2413-core>
          <io base="0x7C" num="2" type="O"/>
          <mem base="0x4000" size="0x4000"/>
        </MSX-MUSIC>
      </secondary>

      <secondary slot="3">
        <ROM id="MSX Opening ROM">
          <rom>
            <firstblock>36</firstblock>
            <lastblock>37</lastblock>
          </rom>
          <mem base="0x4000" size="0x4000"/>
        </ROM>
      </secondary>

    </primary>

    <primary external="true" slot="1"/>

    <primary external="true" slot="2"/>

    <primary slot="3">

      <secondary slot="0">
        <PanasonicRAM id="Main RAM">
          <size>256</size>
          <mem base="0x0000" size="0x10000"/>
          <initialContent encoding="gz-base64">eJxjYPgPBAxAMDLpweCGgaQBkHH/AQ==</initialContent> <!-- 0000FFFFFFFF0000*32 + FFFF00000000FFFF*32, as found in the machine of Peter Hanraets with serial 0LNMD14115 -->
        </PanasonicRAM>
      </secondary>

      <secondary slot="1">
        <ROM id="MSX Sub ROM">
          <mappertype>DRAM</mappertype>
          <rom>
            <firstblock>56</firstblock>
            <lastblock>57</lastblock>
          </rom>
          <mem base="0x0000" size="0x4000"/>
        </ROM>
        <ROM id="MSX Kanji Driver with BASIC 1">
          <mappertype>DRAM</mappertype>
          <rom>
            <firstblock>58</firstblock>
            <lastblock>61</lastblock>
          </rom>
          <mem base="0x4000" size="0x8000"/>
        </ROM>
      </secondary>

      <secondary slot="2">
        <TC8566AF id="Memory Mapped FDC">
          <io_regs>7FF2</io_regs>
          <rom>
            <firstblock>48</firstblock>
            <lastblock>55</lastblock>
          </rom>
          <drives>1</drives>
          <mem base="0x4000" size="0x8000"/>
        </TC8566AF>
      </secondary>

      <secondary slot="3">
        <ROM id="FS-A1ST">
          <mappertype>PANASONIC</mappertype>
          <sramsize>16</sramsize>
          <sram-mirrored>false</sram-mirrored>
          <sramname>fs-a1st.sram</sramname>
          <rom>
            <firstblock>0</firstblock>
            <lastblock>255</lastblock>
          </rom>
          <mem base="0x0000" size="0x10000"/>
          <device idref="Main RAM"/>
        </ROM>
      </secondary>

    </primary>

  </devices>

</msxconfig>
