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

  <info>
    <manufacturer>Toshiba</manufacturer>
    <code>HX-10</code>
    <release_year>1984</release_year>
    <description>A very common basic MSX1 in the UK, with 64kB RAM.</description>
    <type>MSX</type>
    <region>uk</region>
  </info>

<!--
Info from serial 244634, see http://bilgisayarlarim.com/Toshiba/HX-10/
CPU: Sharp LH0080A Z80A-CPU-D
PSG: GI AY-3-8910A
Toshiba TCX-1007
-->

  <CassettePort/>

  <devices>

    <PPI id="ppi">
      <sound>
        <volume>16000</volume>
      </sound>
      <io base="0xA8" num="4"/>
      <keyboard_type>gb</keyboard_type> <!-- It's not fully GB... There's something weird with typing a `, that goes with row/col 2 1 (like int), but in normal GB that works with CODE 1 4. -->
      <has_keypad>false</has_keypad>
      <key_ghosting_sgc_protected>true</key_ghosting_sgc_protected>
      <code_kana_locks>false</code_kana_locks>
      <graph_locks>false</graph_locks>
    </PPI>

    <VDP id="VDP">
      <version>TMS9929A</version>
      <io base="0x98" num="2"/>
    </VDP>

    <PSG id="PSG">
      <type>AY8910</type>
      <sound>
        <volume>21000</volume>
      </sound>
      <io base="0xA0" num="4" type="IO"/>
      <keyboardlayout>JIS</keyboardlayout> <!-- verified on Manuel's real HX-10! -->
      <ignorePortDirections>false</ignorePortDirections> <!-- not sure, but guess based on discrete PSG chip -->
    </PSG>

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

    <primary slot="0">
      <ROM id="MSX BIOS with BASIC ROM">
        <rom>
          <filename>hx-10_basic-bios1.rom</filename>
          <sha1>4dad9de7c28b452351cc12910849b51bd9a37ab3</sha1>
        </rom>
        <mem base="0x0000" size="0x8000"/>
      </ROM>
    </primary>

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

    <primary slot="2">
      <RAM id="Main RAM">
          <initialContent encoding="gz-base64">eJztzjENADAMwLDxJ92C8FFFWgg4M9bDkGe//q9+/V/9+r/69X/16//q1//Vr/+rX/9Xv/6vfv1f/fq/+vV/9ev/6tf/1a//q1//V7/+r379X/36v/r1f/Xr/+rX/9Wv/6tf/1e//q9+/V/9+r/69X/16//q1//Vr/+rX/9Xv/6vfv1f/fq/+vV/9ev/6tf/1a//q1//V7/+r379X/36v/r1f/Xr/+rX/9Wv/6tf/1e//q9+/V/9+r/69X/16//q1//Vr/+rX/9Xv/6vfv1f/fq/+vV/9ev/6tf/1a//f/+263/16//q1//Vr/+rX/9Xv/6vfv1f/fq/+vV/9ev/6tf/1a//q1//V7/+r379X/36v/r1f/Xr/+rX/9Wv/6tf/1e//q9+/V/9+r/69X/16//q1//Vr/+rX/9Xv/6vfv1f/fq/+vV/9ev/6tf/1a//q1//V7/+r379X/36v/r1f/Xr/+rX/9Wv/6tf/1e//q9+/V/9+r/69X/16//q1//Vr/+rX/9Xv/6vfv1f/fq/+vV/9ev/6tf/1a//q1//V7/+r379X/0Ff+HDsg==</initialContent> <!--ababbaba*32 + babaabab*32 where a = (chr(255) * 64) and b = (chr(0) * 64)), according to the machine of Peter Hanraets with serial 232290. -->
        <mem base="0x0000" size="0x10000"/>
      </RAM>
    </primary>

    <!-- Note: this connector is actually a non-standard expansion connector on the back -->
    <primary external="true" slot="3"/>

  </devices>

</msxconfig>
