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

  <info>
    <manufacturer>Casio</manufacturer>
    <code>MX-10/MX-101</code>
    <release_year>1986</release_year>
    <description>Cheap gaming MSX, with joystick buttons and bad keyboard and no printer port.</description>
    <type>MSX</type>
    <region>jp</region>
  </info>

  <!-- Note: the MX-101 is identical to the MX-10, but it has a wireless video link system, which is obviously not emulated -->
  <!--       The motherboard is quite different though, so it's not 100% sure that it's the same. -->

  <CassettePort/> <!-- actually not a standard DIN-5 cassette interface (CMT), need FA-32 CMT I/F package as adapter -->

  <devices>

  <!-- CPU: NEC scf: 01C501ED01D401FC -->

    <PPI id="ppi">
      <sound>
        <volume>16000</volume>
      </sound>
      <io base="0xA8" num="4"/>
      <keyboard_type>jp_ansi</keyboard_type>
      <has_keypad>false</has_keypad>
      <key_ghosting_sgc_protected>false</key_ghosting_sgc_protected> <!-- seems it is protected on the MX-101 which Peter Hanraets tested. TODO: check the MX-10 -->
      <code_kana_locks>true</code_kana_locks>
      <graph_locks>false</graph_locks>
    </PPI>

    <VDP id="VDP">
      <version>TMS9118</version> <!-- NO effect of 4k/16k switch, no latch, HAS clones, HAS screen 2 mirrored mode, HAS mode 3 mixed mode -->
      <io base="0x98" num="2"/>
    </VDP>

    <PSG id="PSG">
      <type>AY8910</type>
      <keyboardlayout>50on</keyboardlayout>
      <sound>
        <volume>21000</volume>
      </sound>
      <io base="0xA0" num="4" type="IO"/>
      <ignorePortDirections>false</ignorePortDirections> <!-- not sure, but guess based on discrete PSG chip -->
    </PSG>

    <primary slot="0">
      <RAM id="Main RAM">
        <mem base="0xC000" size="0x4000"/>
        <initialContent encoding="gz-base64">eJxj+M+AAtG4DAwE5ElVjy4PABFQP8E=</initialContent> <!-- As shown in Alejandro Cremades' machine. Pattern is line1 = (chr(0) + chr(255))*8; line2 = (chr(255) + chr(0))*8; (line1 + line2)*2 + (line2 + line1)*2 -->
      </RAM>
      <ROM id="MSX BIOS with BASIC ROM">
        <rom>
          <filename>mx-10_basic-bios1.rom</filename>
          <sha1>302afb5d8be26c758309ca3df611ae69cced2821</sha1>
        </rom>
        <mem base="0x0000" size="0x8000"/>
      </ROM>
    </primary>

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

  </devices>

</msxconfig>
