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

  <info>
    <manufacturer>Toshiba</manufacturer>
    <code>HX-23F</code>
    <release_year>1985</release_year>
    <description>A Toshiba HX-23 with RS-232C and 128kB of VRAM.</description>
    <type>MSX2</type>
    <region>jp</region>
  </info>

  <!-- by FRS -->
  <!-- CPU is a Sharp LH0080A -->

  <CassettePort/>

  <devices>

    <PPI id="ppi"> <!-- Embedded inside the TCX-1012 MSX-Engine -->
      <sound>
        <volume>16000</volume>
      </sound>
      <io base="0xA8" num="4"/>
      <keyboard_type>jp_jis</keyboard_type>
      <has_keypad>false</has_keypad>
      <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>V9938</version>
      <vram>128</vram>
      <!-- Very unusual VRAM design with eight 4164 DRAM chips for the 1st
           bank and two 4464 DRAM chips for the 2nd bank -->
      <io base="0x98" num="8" type="O"/>
      <io base="0x98" num="8" type="I"/>
      <!-- TV-Encoder: LVA510 -->
    </VDP>

    <PSG id="PSG">
      <type>AY8910</type>
      <keyboardlayout>JIS</keyboardlayout>
      <sound>
        <volume>21000</volume>
        <!-- There's a switch in the back to select stereo or mono sound -->
        <balance channel="1">0</balance>
        <balance channel="2">100</balance>
        <balance channel="3">-100</balance>
      </sound>
      <!-- The PSG I/O ports are mirrored from A0h to A7h -->
      <io base="0xA0" num="4" type="IO"/>
      <ignorePortDirections>false</ignorePortDirections> <!-- not sure, but guess based on discrete PSG chip -->
    </PSG>

    <RTC id="Real time clock">
      <sramname>hx-23f.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>

    <MSX-RS232 id="RS-232">
      <io base="0x80" num="8"/>
      <toshiba_rs232c_switch>true</toshiba_rs232c_switch>
    </MSX-RS232>

    <primary slot="0">
      <ROM id="MSX BIOS with BASIC ROM">
        <rom>
          <filename>Toshiba_HX-23F_IC2_basicbios.bin</filename>
          <sha1>0081ea0d25bc5cd8d70b60ad8cfdc7307812c0fd</sha1> <!-- direct EPROM dump by FRS -->
        </rom>
        <mem base="0x0000" size="0x8000"/>
      </ROM>
        <RAM id="Main RAM 1">
          <mem base="0x8000" size="0x8000"/>
        </RAM>
    </primary>

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

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

    <primary slot="3">
      <secondary slot="0">
        <RAM id="Main RAM 2">
          <mem base="0x0000" size="0x8000"/>
        </RAM>
      </secondary>
      <secondary slot="2">
        <ROM id="MSX Sub ROM">
          <mem base="0x0000" size="0x4000"/>
          <rom>
            <sha1>6ecf73a1dd55b363c2e68cc6245ece979aec1fc5</sha1> <!-- direct EPROM dump by FRS -->
            <filename>Toshiba_HX-23F_IC52_subrom-jwp.bin</filename>
            <window base="0x0000" size="0x4000"/>
          </rom>
        </ROM>
        <ROM id="Japanese Word Processor part2">
          <rom>
            <sha1>6ecf73a1dd55b363c2e68cc6245ece979aec1fc5</sha1> <!-- direct EPROM dump by FRS -->
            <filename>Toshiba_HX-23F_IC52_subrom-jwp.bin</filename>
            <window base="0x4000" size="0x4000"/>
          </rom>
          <mem base="0x8000" size="0x4000"/>
        </ROM>
      </secondary>
      <secondary slot="3">
        <ROM id="RS-232 BIOS and Japanese Word Processor part1">
          <rom>
            <sha1>0958361ac9b19782cf7017b2e762b416e0203f37</sha1> <!-- direct EPROM dump by FRS -->
            <filename>Toshiba_HX-23F_IC3_rs232-jwp.bin</filename>
          </rom>
          <mem base="0x4000" size="0x8000"/>
        </ROM>
      </secondary>

    </primary>

  </devices>

</msxconfig>
