OXYGENHUB
◆ main openmsx / share / machines / Hitachi_MB-H2.xml
4.2 KiB · XML · last changed chore(): initial commit 1 month ago source blame history raw
e8555c89 Andy McCall 1
<?xml version="1.0" ?>
2
<!DOCTYPE msxconfig SYSTEM 'msxconfig2.dtd'>
3
<msxconfig>
4
5
<!--
6
  Data provided by Peter Hanraets on machine with serial 120113
7
8
  IDENT says: dvik says VDP is V9938/58: YES (!!!!!?????)
9
              TMS99xx/TMS9xxx/TMS9xxx
10
              screen 2 mirrored mode: YES
11
              mode 3 mixed mode: YES
12
              Z80 scf: 01E529ED01F429FC (dunno)
13
              z80 cpl: 3AFF12D7 (standard)
14
              Z80 out (c), 0: 0 (MSX)
15
              PSG pin 6/7 quirk: C (YES)
16
              PSGmask; AY8910-like
17
18
  Photo on msx.org wiki says:
19
  VDP: TMS9928ANL
20
  PPI: NEC D8255AC-5
21
  CPU: NEC D780
22
  PSG: GI AY-3-8910A
23
24
  Machine has a built-in datarecorder, which is not emulated as such. The
25
  built-in firmware seems to have commands to control the datarecorder, which
26
  are also not emulated.
27
28
  Thanks to BiFi we know something about how the datarecorder is controlled:
29
  - control via I/O port 0x94, with the following bit map:
30
    bit 7 = Fast Forward
31
    bit 6 = Rewind
32
    bit 5 = Record
33
    bit 4 = Stop
34
    bit 3 = Pause
35
    bit 2 = Play
36
    bit 1 = Scan
37
    bit 0 = Mute
38
  - Scan is done in combination with Fast Forward, Rewind or Record. It's used
39
    to scan for the next, previous or blank spot on the cassette respectively.
40
  - Scan in combination with Play is the _IDTRACE command
41
  - Scan in combination with Pause is the _STDBY command
42
  - The scanning stuff is implemented in hardware
43
  - The commands as mentioned in the Cassette Operation Guide:
44
    _CFILES:   not sure, probably a scan of the whole tape
45
    _REC:      only bit 5 and 3 on 1 ("ready to record")
46
    _PLAY:     only bit 2 on 1
47
    _REW:      only bit 6 on 1
48
    _FF:       only bit 7 on 1
49
    _STOP:     only bit 4 on 1
50
    _PAUSE:    only bit 3 on 1
51
    _NSCAN:    only bit 1 and 7 on 1: Next SCAN
52
    _CSCAN:    only bit 1 and 6 on 1: C(urrent)? SCAN
53
    _IDTRACE:  only bit 1 and 2 on 1
54
    _BLSCAN:   only bit 1 and 5 on 1: BLank SCAN
55
    _STDBY:    only bit 1 and 3 on 1: stand by (?)
56
    _AUTOMUTE: ??? mutes and unmutes depending on bits read from port 0x94
57
    _MUTE:     only bit 0 on 1
58
59
  The speed-control button/option is also not emulated.
60
-->
61
62
  <info>
63
    <manufacturer>Hitachi</manufacturer>
64
    <code>MB-H2</code>
65
    <release_year>1985</release_year>
66
    <description>Compact portable 64kB Japanese MSX1 with built in data recorder and speed control (which are both not emulated).</description>
67
    <type>MSX</type>
68
    <region>jp</region>
69
  </info>
70
71
  <CassettePort/>
72
73
  <devices>
74
75
    <PPI id="ppi">
76
      <sound>
77
        <volume>16000</volume>
78
      </sound>
79
      <io base="0xA8" num="4"/>
80
      <keyboard_type>jp_ansi</keyboard_type>
81
      <has_keypad>false</has_keypad>
82
      <key_ghosting_sgc_protected>true</key_ghosting_sgc_protected>
83
      <code_kana_locks>true</code_kana_locks>
84
      <graph_locks>false</graph_locks>
85
    </PPI>
86
87
    <VDP id="VDP">
88
      <version>TMS9928A</version>
89
      <saturation>100</saturation> <!-- TMS9x2x and RGB output -->
90
      <io base="0x98" num="2"/>
91
    </VDP>
92
93
    <PSG id="PSG">
94
      <type>AY8910</type>
95
      <sound>
96
        <volume>21000</volume>
97
      </sound>
98
      <io base="0xA0" num="4" type="IO"/>
99
      <ignorePortDirections>false</ignorePortDirections> <!-- not sure, but guess based on discrete PSG chip -->
100
    </PSG>
101
102
    <PrinterPort id="Printer Port">
103
      <io base="0x90" num="2"/>
104
    </PrinterPort>
105
106
    <primary slot="0">
107
      <ROM id="MSX BIOS with BASIC ROM">
108
        <rom>
109
          <filename>mb-h2_basic-bios1.rom</filename>
110
          <sha1>302afb5d8be26c758309ca3df611ae69cced2821</sha1>
111
        </rom>
112
        <mem base="0x0000" size="0x8000"/>
113
      </ROM>
114
      <ROM id="MB-H2 Firmware">
115
        <rom>
116
          <filename>mb-h2_firmware.rom</filename>
117
          <sha1>e2140fa2e8e59090ecccf55b62323ea9dcc66d0b</sha1>
118
        </rom>
119
        <mem base="0x8000" size="0x4000"/>
120
      </ROM>
121
    </primary>
122
123
    <primary external="true" slot="1"/>
124
125
    <primary external="true" slot="2"/>
126
127
    <primary slot="3">
128
      <RAM id="Main RAM">
129
        <!-- RAM pattern is like 128x 0x00, 128x 0xFF, etc. -->
130
        <initialContent encoding="gz-base64">eJxjYBhY8H+AAQAioH+B</initialContent>
131
        <mem base="0x0000" size="0x10000"/>
132
      </RAM>
133
    </primary>
134
135
  </devices>
136
137
</msxconfig>