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

  <info>
    <manufacturer>Sony</manufacturer>
    <code>HB-F1XV</code>
    <release_year>1989</release_year>
    <description>The last Sony MSX. Same as HB-F1XDJ, but with upgraded BIOS, kanji driver and disk basic.</description>
    <type>MSX2+</type>
    <region>jp</region>
  </info>

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

  <CassettePort/>

  <devices>

    <S1985 id="S1985"> <!-- includes 5 bits mapper-read-back, confirmed by Meits -->
      <sramname>hb-f1xv_s1985.sram</sramname>
    </S1985>

    <Kanji id="Kanji ROM">
      <rom>
        <filename>hb-f1xv_kanjifont.rom</filename>
        <sha1>218d91eb6df2823c924d3774a9f455492a10aecb</sha1> <!-- same as XDJ -->
      </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>

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

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

    <RTC id="Real time clock">
      <sramname>hb-f1xv.cmos</sramname>
      <io base="0xB4" num="4" type="IO"/> <!-- S-1985 mirrors -->
    </RTC>

    <PrinterPort id="Printer Port">
      <io base="0x90" num="8" type="IO"/> <!-- S-1985 mirrors -->
      <bidirectional>true</bidirectional> <!-- S-1985 feature (but not used, nor implemented) -->
      <unused_bits>0x00</unused_bits>
    </PrinterPort>

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

    <primary slot="0">
      <secondary slot="0">
      <ROM id="MSX BIOS with BASIC ROM">
        <rom> <!-- EPROM dump by 'fallen1' -->
          <filename>Sony_HB-F1XV.rom</filename>
          <sha1>f2a1d326d72d4c70ea214d7883838de8847a82b7</sha1>
          <window base="0x0000" size="0x8000"/>
        </rom>
        <rom>
          <filename>hb-f1xv_basic-bios2p.rom</filename>
          <sha1>174c9254f09d99361ff7607630248ff9d7d8d4d6</sha1>
        </rom>
        <mem base="0x0000" size="0x8000"/>
      </ROM>
      </secondary>

      <secondary slot="1"/>

      <secondary slot="2"/>

      <secondary slot="3">
       <ROM id="HB-F1XV MSX-JE">
          <rom>
            <filename>hb-f1xv.rom</filename>
            <sha1>ade0c5ba5574f8114d7079050317099b4519e88f</sha1> <!-- same as XDJ -->
          </rom>
          <mem base="0x0000" size="0x10000"/>
          <sramname>hb-f1xv_msx-je.sram</sramname>
          <mappertype>Halnote</mappertype>
        </ROM>
      </secondary>

    </primary>

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

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

    <primary slot="3">

      <secondary slot="0">
        <MemoryMapper id="Main RAM">
          <size>64</size>
          <mem base="0x0000" size="0x10000"/>
          <initialContent encoding="gz-base64">eNpj+M8wouEI9z4DAJBx/wE=</initialContent> <!-- (chr(0) + chr(255)) * 128 + (chr(255)+ chr(0)) * 128) -->
        </MemoryMapper>
      </secondary>

      <secondary slot="1">
        <ROM id="MSX Sub ROM">
          <rom> <!-- EPROM dump by 'fallen1' -->
            <filename>Sony_HB-F1XV.rom</filename>
            <sha1>f2a1d326d72d4c70ea214d7883838de8847a82b7</sha1>
            <window base="0x8000" size="0x4000"/>
          </rom>
          <rom>
            <filename>hb-f1xv_msx2sub.rom</filename>
            <sha1>fe0254cbfc11405b79e7c86c7769bd6322b04995</sha1> <!-- same as XDJ -->
          </rom>
          <mem base="0x0000" size="0x4000"/>
        </ROM>
        <ROM id="MSX Kanji Driver with BASIC">
          <rom> <!-- EPROM dump by 'fallen1' -->
            <filename>Sony_HB-F1XV.rom</filename>
            <sha1>f2a1d326d72d4c70ea214d7883838de8847a82b7</sha1>
            <window base="0x10000" size="0x8000"/>
          </rom>
          <rom>
            <filename>hb-f1xv_kanjibasic.rom</filename>
            <sha1>dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06</sha1>
          </rom>
          <mem base="0x4000" size="0x8000"/>
        </ROM>
     </secondary>

     <secondary slot="2">
         <WD2793 id="Memory Mapped FDC">
          <connectionstyle>Sony</connectionstyle>
          <motor_off_timeout_ms>4000</motor_off_timeout_ms>
          <drives>1</drives>
          <rom> <!-- EPROM dump by 'fallen1' -->
            <filename>Sony_HB-F1XV.rom</filename>
            <sha1>f2a1d326d72d4c70ea214d7883838de8847a82b7</sha1>
            <window base="0xC000" size="0x4000"/>
          </rom>
          <rom>
           <filename>hb-f1xv_disk.rom</filename>
           <sha1>5a4e7dbbfb759109c7d2a3b38bda9c60bf6ffef5</sha1>
          </rom>
          <mem base="0x4000" size="0x4000"/>
        </WD2793>
     </secondary>

     <secondary slot="3">
        <MSX-MUSIC id="MSX Music">
          <rom> <!-- EPROM dump by 'fallen1' -->
            <filename>Sony_HB-F1XV.rom</filename>
            <sha1>f2a1d326d72d4c70ea214d7883838de8847a82b7</sha1>
            <window base="0x18000" size="0x4000"/>
          </rom>
          <rom>
            <filename>hb-f1xv_fmbasic.rom</filename>
            <sha1>aad42ba4289b33d8eed225d42cea930b7fc5c228</sha1> <!-- same as XDJ -->
          </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>

   </primary>

  </devices>

</msxconfig>
