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

  <info>
    <manufacturer>Mitsubishi</manufacturer>
    <code>ML-G30/model 2</code>
    <release_year>1985</release_year>
    <description>Luxurious and expandable MSX2, model 2, with 2 disk drives and built in RS-232C interface.</description>
    <type>MSX2</type>
    <region>jp</region>
  </info>

  <!-- Info taken by Peter Hanraets of his machine with serial number 201351 

  Note that empty memory areas show up as 0xBF bytes, instead of 0xFF. This is
  not emulated.

  Photo on MSX.org shows:
  - NEC D780C-1 CPU
  - S3527
  - V9938
  -->

  <MapperReadBackBits>largest</MapperReadBackBits>

  <CassettePort/>

  <devices>

    <Kanji id="Kanji ROM">
      <rom>
        <filename>ml-g30m2_kanjifont.rom</filename>
        <sha1>db03211b7db46899df41db2b1dfbec972109a967</sha1>
      </rom>
      <io base="0xD8" num="2" type="O"/>
      <io base="0xD9" num="1" type="I"/>
    </Kanji>

    <PPI id="ppi">
      <io base="0xA8" num="8"/> <!-- S-3527 mirrors -->
      <sound>
        <volume>16000</volume>
      </sound>
      <keyboard_type>jp_jis</keyboard_type>
      <has_keypad>true</has_keypad>
      <key_ghosting_sgc_protected>true</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>
      <io base="0x98" num="8" type="O"/> <!-- S-3527 mirrors -->
      <io base="0x98" num="8" type="I"/> <!-- S-3527 mirrors -->
    </VDP>

    <PSG id="PSG">
      <type>YM2149</type> <!-- in S-3527 MSX-ENGINE -->
      <keyboardlayout>JIS</keyboardlayout>
      <sound>
        <volume>21000</volume>
      </sound>
      <io base="0xA0" num="8" type="IO"/> <!-- S-3527 mirrors -->
      <ignorePortDirections>true</ignorePortDirections> <!-- not sure, but guess based on use of Engine IC -->
    </PSG>

    <RTC id="Real time clock">
      <sramname>ml-g30m2.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="8" type="IO"/> <!-- S-3527 mirrors -->
      <status_readable_on_all_ports>true</status_readable_on_all_ports> <!-- S-3527 property -->
    </PrinterPort>

    <primary slot="0">
      <ROM id="MSX BIOS with BASIC ROM">
        <rom>
          <filename>ml-g30m2_basic-bios2.rom</filename>
          <sha1>c1e46c00f1e38fc9e0ab487bf0513bd93ce61f3f</sha1>
        </rom>
        <mem base="0x0000" size="0x8000"/>
      </ROM>
    </primary>

    <primary external="true" slot="1"/> <!-- Front slot -->

    <primary external="true" slot="2"/> <!-- Back slot 1, behind plate -->

    <primary slot="3">

      <secondary slot="0">
        <ROM id="MSX Sub ROM">
          <rom>
            <filename>ml-g30m2_msx2sub.rom</filename>
            <sha1>b8e30d604d319d511cbfbc61e5d8c38fbb9c5a33</sha1>
          </rom>
          <mem base="0x0000" size="0x4000"/>
        </ROM>
        <WD2793 id="Memory Mapped FDC">
          <connectionstyle>Philips</connectionstyle>
          <broken_fdc_read>false</broken_fdc_read>
          <drives>2</drives>
          <rom>
            <sha1>6069d63c68b03fa56de040fb5f52eeadbffe2a2c</sha1>
            <filename>ml-g30m2_disk.rom</filename>
          </rom>
          <mem base="0x4000" size="0x4000"/>
        </WD2793>
      </secondary>

      <secondary external="true" slot="1"/> <!-- Back slot 2, behind plate -->

      <secondary slot="2">
        <MemoryMapper id="Main RAM">
          <mem base="0x0000" size="0x10000"/>
          <initialContent encoding="gz-base64">eJz7z/B/QOEAW/8fAASAf4E=</initialContent> <!-- 64x FF00, 64x 00FF, etc. -->
          <size>128</size>
        </MemoryMapper>
      </secondary>

      <secondary slot="3"> <!-- Back slot 3, with RS-232C -->
        <MSX-RS232 id="MSX RS-232">
          <rom>
            <sha1>782e54cf88eb4a974631eaa707aad97d3eb1ea14</sha1>
            <filename>ml-g30m2_rs232.rom</filename>
          </rom>
          <io base="0x80" num="8"/>
          <mem base="0x4000" size="0x4000"/>
        </MSX-RS232>
      </secondary>

    </primary>

  </devices>

</msxconfig>
