summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--hash/bbc_rom.xml169
-rw-r--r--hash/ibm5170.xml2
-rw-r--r--hash/specpls3_flop.xml2
-rw-r--r--src/devices/cpu/tms7000/tms7000.cpp2
-rw-r--r--src/mame/drivers/cc40.cpp5
-rw-r--r--src/mame/drivers/hx20.cpp136
-rw-r--r--src/mame/drivers/megatech.cpp18
-rw-r--r--src/mame/includes/hx20.h9
-rw-r--r--src/mame/mame.lst3
9 files changed, 284 insertions, 62 deletions
diff --git a/hash/bbc_rom.xml b/hash/bbc_rom.xml
index 08d8bf93449..bf6a6347255 100644
--- a/hash/bbc_rom.xml
+++ b/hash/bbc_rom.xml
@@ -160,6 +160,11 @@
<rom name="Accelerator-1.06.rom" size="16384" crc="e5435cf5" sha1="86d1adfff0cfc31156aa8e3787b796d33f533dcb"/>
</dataarea>
</part>
+ <part name="rom2" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="AcceleratorGCode-1.06.rom" size="16384" crc="58d29499" sha1="da830cec257300f6bd11f869dbcff8ae4b25cd91"/>
+ </dataarea>
+ </part>
</software>
<software name="acom">
@@ -273,6 +278,17 @@
</part>
</software>
+ <software name="adi121" cloneof="adi">
+ <description>Advanced Disc Investigator 1.21 S/N:43318</description>
+ <year>1986</year>
+ <publisher>Advanced Computer Products</publisher>
+ <part name="rom" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="AdvancedDiscInvestigator-1.21.rom" size="16384" crc="d2992efa" sha1="fa3b7053b7b0be6f4cd1f6104b65f66cff64d1f5"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="adi122" cloneof="adi">
<description>Advanced Disc Investigator 1.22 S/N:44712</description>
<year>1986</year>
@@ -455,7 +471,7 @@
<publisher>P.R.E.S.</publisher>
<part name="rom" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="AdvancedFileManager-1.09.rom" size="16384" crc="64d7ff45" sha1="5306205a719d95a4bbad6ddee4fdcf37014821a8"/>
+ <rom name="AdvancedFileManager-1.09.rom" size="16384" crc="02f4091c" sha1="d806e9a605f704bb2096ea5ddcfc2c03a1e009e5"/>
</dataarea>
</part>
</software>
@@ -466,7 +482,7 @@
<publisher>Advanced Computer Products</publisher>
<part name="rom" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="AdvancedROMManager-1.00.rom" size="16384" crc="e7e2a294" sha1="e101477ac60f626c195a6b6fc52cd56d9bb26a64"/>
+ <rom name="AdvancedROMManager-1.00.rom" size="16384" crc="3170b016" sha1="a203bc665a4f6e5797bfbbc1c6c4501fd2792ef8"/>
</dataarea>
</part>
</software>
@@ -1156,7 +1172,7 @@
<publisher>BBC Soft</publisher>
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="ATS-2.59-Morley.rom" size="16384" crc="bb667bcf" sha1="56bba74be442a4c0d6d92b5b6be2c2e2d6fdeb89"/>
+ <rom name="ATS-2.59-Morley.rom" size="16384" crc="b6a1a3f2" sha1="45658bd369a07c5df3d41636a8f84bdf741ce159"/>
</dataarea>
</part>
</software>
@@ -1317,6 +1333,17 @@
</part>
</software>
+ <software name="beebaid105">
+ <description>BeebAid 1.05</description>
+ <year>1986</year>
+ <publisher>JaySoft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="BeebAid-1.05.rom" size="16384" crc="bfb3f2c8" sha1="9a7634239233d39eb19bdaa7d87c0aabee1b8902"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="beebase106" cloneof="beebase">
<description>BeeBASE-1 1.06</description>
<year>1983</year>
@@ -1383,6 +1410,17 @@
</part>
</software>
+ <software name="beebed">
+ <description>BeebEd 1.04</description>
+ <year>1985</year>
+ <publisher>J&amp;O Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="BeebEd-1.04.rom" size="8192" crc="882ae553" sha1="5ba0ad255b59ed53affe20d938c9f7453dff78e4"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="beebflex" supported="no">
<description>CUBE BeebFlex</description>
<year>1984</year>
@@ -1754,6 +1792,17 @@
</part>
</software>
+ <software name="cmslink">
+ <description>CMS Link 2.00</description>
+ <year>1986</year>
+ <publisher>CMS Soft</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="CMSLink-2.00.rom" size="16384" crc="11747e37" sha1="4f70a6253fd147e9585b59cf0abe59a88afe8720"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="cncdfs">
<description>CNCIS DFS 1.2S</description>
<year>198?</year>
@@ -3515,12 +3564,8 @@
<publisher>Permanent Memory Systems</publisher>
<part name="rom1" interface="bbc_rom">
<feature name="slot" value="genie" />
- <!-- Should be single 32K, 8K pages were dumped in-situ so may be corrupt and/or incorrect order. -->
<dataarea name="rom" size="32768">
- <rom name="PMSGenie1-1.01.rom" size="8192" crc="3ee29106" sha1="8b4c14c0657fbb3b19fb85103cc39c06e026f280" offset="0x0000" status="baddump"/>
- <rom name="PMSGenie2-1.01.rom" size="8192" crc="b828717b" sha1="4f8ff82bd05ace8cee99e6c7c8dbc35d6de3e92d" offset="0x2000" status="baddump"/>
- <rom name="PMSGenie3-1.01.rom" size="8192" crc="297e99a8" sha1="4b225606cf052f72ef755fbc67d131ab6aa16438" offset="0x4000" status="baddump"/>
- <rom name="PMSGenie4-1.01.rom" size="8192" crc="3d666c36" sha1="810869aeb66fec7599aaec01641c07b1a8968fdc" offset="0x6000" status="baddump"/>
+ <rom name="PMSGenie-1.01.rom" size="32768" crc="be152c01" sha1="34d8d21c71b1bf1f3648a4dda90fde5d8dc48cd2"/>
</dataarea>
<dataarea name="nvram" size="32768" />
<dataarea name="ram" size="32768" />
@@ -3546,7 +3591,7 @@
</software>
<software name="genieclk">
- <description>PMS Genie Real Time Clock</description>
+ <description>PMS Genie Real Time Clock 3.02</description>
<year>1988</year>
<publisher>Permanent Memory Systems</publisher>
<part name="rom1" interface="bbc_rom">
@@ -3558,7 +3603,7 @@
</software>
<software name="geniejr">
- <description>PMS Genie Junior</description>
+ <description>PMS Genie Junior 1.01</description>
<year>1987</year>
<publisher>Permanent Memory Systems</publisher>
<part name="rom1" interface="bbc_rom">
@@ -3568,8 +3613,30 @@
</part>
</software>
+ <software name="geniejr11u" cloneof="geniejr">
+ <description>PMS Genie Junior 1.1u</description>
+ <year>1987</year>
+ <publisher>Permanent Memory Systems</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="PMSGenieJunior-1.1u.rom" size="16384" crc="e635d89e" sha1="9d046c9eaea8aa96b46efaa32e23e06a70e9e1ac"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="genutils322" cloneof="genutils">
+ <description>General Utilities 3.22</description>
+ <year>1984</year>
+ <publisher>Creative Junior Software</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="GeneralUtils-3.22.rom" size="8192" crc="1ed63ae1" sha1="e6f369d7c2c08493ded1acad43fe970368df47ec"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="genutils">
- <description>General Utilities</description>
+ <description>General Utilities 3.24</description>
<year>1984</year>
<publisher>Creative Junior Software</publisher>
<part name="rom1" interface="bbc_rom">
@@ -4009,6 +4076,17 @@
</part>
</software>
+ <software name="instat">
+ <description>Instat C00144</description>
+ <year>1986</year>
+ <publisher>University of Reading</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Instat-C00144.rom" size="16384" crc="e7bb372e" sha1="0aa30974827a86e3133d317518c8d7399a38ff67"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="ibase">
<description>Inter-Base 2.0A</description>
<year>1987</year>
@@ -4379,7 +4457,7 @@
<info name="release" value="SBL06" />
<part name="rom1" interface="bbc_rom">
<dataarea name="rom" size="16384">
- <rom name="LOGO1-1.00.rom" size="16384" crc="bc3f0a09" sha1="70e28b584a3f82927ffae05d45ac7c72de7825e5"/>
+ <rom name="LOGO1-1.00.rom" size="16384" crc="a0defcf9" sha1="57fdd30894679400cb7c10b331cefd1a2362aeae"/>
</dataarea>
</part>
<part name="rom2" interface="bbc_rom">
@@ -4583,6 +4661,17 @@
</part>
</software>
+ <software name="mbinject">
+ <description>Microbrush Injector 1.00</description>
+ <year>1987</year>
+ <publisher>AB Designs</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Microbrush-Injector-1.00.rom" size="16384" crc="c8c3d200" sha1="90e93da3b2b14b0ba4f7040c0f1d10cca15e360a"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="medmon">
<description>MedMon-B</description>
<year>1983</year>
@@ -5711,6 +5800,18 @@
</part>
</software>
+ <software name="prntsrvr09a" cloneof="prntsrvr">
+ <description>Printer Server 0.9A</description>
+ <year>1982</year>
+ <publisher>Acorn</publisher>
+ <info name="release" value="AES22" />
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="8192">
+ <rom name="PrinterServer-0.9A.rom" size="8192" crc="8546b988" sha1="ebf59dcada8a2d3d0bccddb2db6c8c6811429c02"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="prntsrvr100" cloneof="prntsrvr">
<description>Printer Server 1.00</description>
<year>1982</year>
@@ -6188,6 +6289,17 @@
</part>
</software>
+ <software name="sciways">
+ <description>Sciways 2.03</description>
+ <year>1985</year>
+ <publisher>Mayhew Telonics</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Sciways-2.03.rom" size="16384" crc="cab6e14a" sha1="41f2286f68eccd2d9cd56003e7a55670ad74cb6f"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="scrndump101" cloneof="scrndump">
<description>Screen Dump ROM 1.01</description>
<year>1983</year>
@@ -7220,6 +7332,17 @@
</part>
</software>
+ <software name="style">
+ <description>Style 1.3</description>
+ <year>1991</year>
+ <publisher>SCET</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Style-1.3.rom" size="16384" crc="64f43ef6" sha1="f8f6d2402c347976b13a014edb168b21db301d3f"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="supastor15">
<description>SupaStore 1.5</description>
<year>198?</year>
@@ -7275,6 +7398,17 @@
</part>
</software>
+ <software name="swift">
+ <description>Swift 2.2</description>
+ <year>1986</year>
+ <publisher>Metamorphosis Developments</publisher>
+ <part name="rom1" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="Swift-2.2.rom" size="16384" crc="cc253ed6" sha1="7fcb9192c2163b0525aeef4684600c701cda7a37"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="sysdelta211" cloneof="sysdelta">
<description>System Delta 2.011</description>
<year>1986</year>
@@ -7753,6 +7887,17 @@
</part>
</software>
+ <software name="trx">
+ <description>TRXROM 2.00</description>
+ <year>1984</year>
+ <publisher>Vermillion</publisher>
+ <part name="rom" interface="bbc_rom">
+ <dataarea name="rom" size="16384">
+ <rom name="TRXROM-2.00.rom" size="16384" crc="03273d2d" sha1="1f5c43d139426a4597dd4be97b37496350d35ae0"/>
+ </dataarea>
+ </part>
+ </software>
+
<software name="tubeed">
<description>TUBE Editor</description>
<year>1985</year>
diff --git a/hash/ibm5170.xml b/hash/ibm5170.xml
index 63b03d5c4c1..770584abc3d 100644
--- a/hash/ibm5170.xml
+++ b/hash/ibm5170.xml
@@ -7603,7 +7603,7 @@
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Programdiskett 1 för DOS och Windows Version 2.5" />
<dataarea name="flop" size="737280">
- <rom name="programdiskett 1 för dos och windows version 2.5.img" size="737280" crc="1b5c95b6" sha1="c4f9eb0289c3a5079595919f001f81e35347c1a9"/>
+ <rom name="programdiskett 1 for dos och windows version 2.5.img" size="737280" crc="1b5c95b6" sha1="c4f9eb0289c3a5079595919f001f81e35347c1a9"/>
</dataarea>
</part>
<part name="flop3" interface="floppy_3_5">
diff --git a/hash/specpls3_flop.xml b/hash/specpls3_flop.xml
index c56b033171e..912eb286b50 100644
--- a/hash/specpls3_flop.xml
+++ b/hash/specpls3_flop.xml
@@ -19665,7 +19665,7 @@
<part name="flop1" interface="floppy_3">
<feature name="part_id" value="Side A: ZX Spectrum"/>
<dataarea name="flop" size="166817">
- <rom name="Navy Moves (Doble Edición) (side A).dsk" size="166817" crc="718149f4" sha1="5018740f71bc2ae08343f4040590cfa2550333bf" offset="0" />
+ <rom name="Navy Moves (Doble Edicion) (side A).dsk" size="166817" crc="718149f4" sha1="5018740f71bc2ae08343f4040590cfa2550333bf" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3">
diff --git a/src/devices/cpu/tms7000/tms7000.cpp b/src/devices/cpu/tms7000/tms7000.cpp
index 2034f31756a..11014f63994 100644
--- a/src/devices/cpu/tms7000/tms7000.cpp
+++ b/src/devices/cpu/tms7000/tms7000.cpp
@@ -438,7 +438,7 @@ void tms7000_device::timer_run(int tmr)
// run automatic timer if source is internal
if ((m_timer_control[tmr] & 0xe0) == 0x80)
{
- attotime period = attotime::from_hz(clock()) * 8 * (m_timer_prescaler[tmr] + 1); // fOSC/16 - fOSC is freq _before_ internal clockdivider
+ attotime period = attotime::from_hz(clock()) * 16 * (m_timer_prescaler[tmr] + 1); // fOSC/16 - fOSC is freq _before_ internal clockdivider
m_timer_handle[tmr]->adjust(period, tmr);
}
}
diff --git a/src/mame/drivers/cc40.cpp b/src/mame/drivers/cc40.cpp
index e333a96ba3a..a8c4f440bb4 100644
--- a/src/mame/drivers/cc40.cpp
+++ b/src/mame/drivers/cc40.cpp
@@ -615,9 +615,8 @@ MACHINE_CONFIG_START(cc40_state::cc40)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ DAC_1BIT(config, "dac").add_route(ALL_OUTPUTS, "speaker", 0.25);
+ VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "cc40_cart")
diff --git a/src/mame/drivers/hx20.cpp b/src/mame/drivers/hx20.cpp
index cd2dd29ff86..fb3ca3bf4e6 100644
--- a/src/mame/drivers/hx20.cpp
+++ b/src/mame/drivers/hx20.cpp
@@ -6,13 +6,18 @@
http://fjkraan.home.xs4all.nl/comp/hx20/
- Epson CM6000
+ Epson CM6000 Series
- This is a re-badged HX-20 with revision H motherboard and keyboard overlay.
- It takes 3x16K ROMs instead of the usual 4x8K + 8K optional. Appears to
+ These are re-badged HX-20 with revision H motherboard and keyboard overlay.
+
+ CM6032: Takes 3x16K ROMs instead of the usual 4x8K + 8K optional. Appears to
be from a BT phone exchange.
Label on base states CM6000 Series, CM6032 System, MOH 89/1.
+ CM6127: Takes 2x16K ROMs and 32K CMOS RAM. Also has an expansion unit
+ containing 2x16K ROMs and 32K CMOS RAM.
+ Label on base states CM6000 Series, CM6127H System.
+
****************************************************************************/
/*
@@ -529,6 +534,7 @@ void hx20_state::hx20_mem(address_map &map)
map(0x0028, 0x0028).r(FUNC(hx20_state::krtn89_r));
map(0x002a, 0x002a).w(FUNC(hx20_state::lcd_data_w));
map(0x002c, 0x002c); // mask interruption by using IC 8E in sleep mode
+ map(0x0030, 0x0033); // switch memory banks (expansion unit)
map(0x0040, 0x007f).rw(m_rtc, FUNC(mc146818_device::read), FUNC(mc146818_device::write));
map(0x0080, 0x00ff).ram();
map(0x0100, 0x3fff).ram();
@@ -550,16 +556,28 @@ void hx20_state::hx20_sub_mem(address_map &map)
//-------------------------------------------------
-// ADDRESS_MAP( cm6000_mem )
+// ADDRESS_MAP( cm6032_mem )
//-------------------------------------------------
-void hx20_state::cm6000_mem(address_map &map)
+void hx20_state::cm6032_mem(address_map &map)
{
hx20_mem(map);
map(0x4000, 0xffff).rom().region(HD6301V1_MAIN_TAG, 0);
}
+//-------------------------------------------------
+// ADDRESS_MAP( cm6127_mem )
+//-------------------------------------------------
+
+void hx20_state::cm6127_mem(address_map &map)
+{
+ hx20_mem(map);
+ map(0x4000, 0x7fff).ram();
+ map(0x8000, 0xffff).rom().region(HD6301V1_MAIN_TAG, 0);
+}
+
+
//**************************************************************************
// INPUT PORTS
//**************************************************************************
@@ -682,7 +700,7 @@ static INPUT_PORTS_START( hx20 )
PORT_DIPSETTING( 0x04, "England" )
PORT_DIPSETTING( 0x05, "Germany" )
PORT_DIPSETTING( 0x06, "France" )
- PORT_DIPSETTING( 0x07, "America" )
+ PORT_DIPSETTING( 0x07, "U.S.A." )
PORT_DIPNAME( 0x08, 0x00, "Floppy Drive TF-20" ) PORT_DIPLOCATION("SW6:4")
PORT_DIPSETTING( 0x00, "Installed" )
PORT_DIPSETTING( 0x08, "Not Installed" )
@@ -710,10 +728,10 @@ INPUT_PORTS_END
//-------------------------------------------------
-// INPUT_PORTS( cm6000 )
+// INPUT_PORTS( cm6032 )
//-------------------------------------------------
-static INPUT_PORTS_START( cm6000 )
+static INPUT_PORTS_START( cm6032 )
PORT_INCLUDE(hx20)
PORT_MODIFY("KSC0")
@@ -737,6 +755,35 @@ static INPUT_PORTS_START( cm6000 )
INPUT_PORTS_END
+//-------------------------------------------------
+// INPUT_PORTS( cm6127 )
+//-------------------------------------------------
+
+static INPUT_PORTS_START( cm6127 )
+ PORT_INCLUDE(hx20)
+
+ PORT_MODIFY("KSC0")
+ PORT_BIT(0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F1 Checkout") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
+
+ PORT_MODIFY("KSC1")
+ PORT_BIT(0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F2 Enquiry") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
+
+ PORT_MODIFY("KSC2")
+ PORT_BIT(0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F3 Checkin") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3))
+
+ PORT_MODIFY("KSC3")
+ PORT_BIT(0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F4 Audit") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4))
+
+ PORT_MODIFY("KSC4")
+ PORT_BIT(0x0100, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5 T/Date") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5))
+
+ PORT_MODIFY("KSC7")
+ PORT_BIT(0x0004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Abort")
+ PORT_BIT(0x0008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Pause")
+ PORT_BIT(0x0020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Ext FF")
+INPUT_PORTS_END
+
+
//**************************************************************************
// DEVICE CONFIGURATION
//**************************************************************************
@@ -782,13 +829,13 @@ uint32_t hx20_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
// OPTIONAL ROMS
//**************************************************************************
-DEVICE_IMAGE_LOAD_MEMBER(hx20_state, optrom_load)
+DEVICE_IMAGE_LOAD_MEMBER(hx20_state, optrom)
{
uint32_t size = m_optrom->common_get_size("rom");
if (size != 0x2000)
{
- image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported rom size");
+ image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported ROM size");
return image_init_result::FAIL;
}
@@ -836,9 +883,10 @@ void hx20_state::machine_start()
// machine_config( hx20 )
//-------------------------------------------------
-MACHINE_CONFIG_START(hx20_state::hx20)
+void hx20_state::hx20(machine_config &config)
+{
// basic machine hardware
- HD63701(config, m_maincpu, XTAL(2'457'600));
+ HD63701(config, m_maincpu, 2.4576_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &hx20_state::hx20_mem);
m_maincpu->in_p1_cb().set(FUNC(hx20_state::main_p1_r));
m_maincpu->out_p1_cb().set(FUNC(hx20_state::main_p1_w));
@@ -847,7 +895,7 @@ MACHINE_CONFIG_START(hx20_state::hx20)
// Port 3 = A0-A7, D0-D7
// Port 4 = A8-A15
- HD63701(config, m_subcpu, XTAL(2'457'600));
+ HD63701(config, m_subcpu, 2.4576_MHz_XTAL);
m_subcpu->set_addrmap(AS_PROGRAM, &hx20_state::hx20_sub_mem);
m_subcpu->in_p1_cb().set(FUNC(hx20_state::slave_p1_r));
m_subcpu->out_p1_cb().set(FUNC(hx20_state::slave_p1_w));
@@ -892,25 +940,24 @@ MACHINE_CONFIG_START(hx20_state::hx20)
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K");
// optional rom
- MCFG_GENERIC_SOCKET_ADD("optrom", generic_plain_slot, "opt_rom")
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_LOAD(hx20_state, optrom_load)
+ GENERIC_SOCKET(config, m_optrom, generic_plain_slot, "opt_rom", "bin,rom");
+ m_optrom->set_device_load(device_image_load_delegate(&hx20_state::device_image_load_optrom, this));
// software lists
SOFTWARE_LIST(config, "hx20_opt_list").set_original("hx20_rom");
SOFTWARE_LIST(config, "epson_cpm_list").set_original("epson_cpm");
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
-// machine_config( hx20 )
+// machine_config( cm6032 )
//-------------------------------------------------
-void hx20_state::cm6000(machine_config &config)
+void hx20_state::cm6032(machine_config &config)
{
hx20(config);
- // basic machine hardware
- m_maincpu->set_addrmap(AS_PROGRAM, &hx20_state::cm6000_mem);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &hx20_state::cm6032_mem);
// optional rom
config.device_remove("optrom");
@@ -921,9 +968,17 @@ void hx20_state::cm6000(machine_config &config)
}
-//**************************************************************************
-// ROMS
-//**************************************************************************
+//-------------------------------------------------
+// machine_config( cm6127 )
+//-------------------------------------------------
+
+void hx20_state::cm6127(machine_config &config)
+{
+ cm6032(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &hx20_state::cm6127_mem);
+}
+
//-------------------------------------------------
// ROM( ehx20 )
@@ -933,10 +988,10 @@ ROM_START( ehx20 )
ROM_REGION( 0x8000, HD6301V1_MAIN_TAG, ROMREGION_ERASEFF )
ROM_DEFAULT_BIOS( "v11" )
ROM_SYSTEM_BIOS( 0, "v10", "version 1.0" )
- ROMX_LOAD( "hx20_v10.12e", 0x0000, 0x2000, CRC(ed7482c6) SHA1(8fba63037f2418aee9e933a353b052a5ed816ead), ROM_BIOS(0) )
- ROMX_LOAD( "hx20_v10.13e", 0x2000, 0x2000, CRC(f5cc8868) SHA1(3248a1ddf0d8df7e9f2fe96955385218d760c4ad), ROM_BIOS(0) )
- ROMX_LOAD( "hx20_v10.14e", 0x4000, 0x2000, CRC(27d743ed) SHA1(ebae367b0fa5f42ac78424df2534312296fd6fdc), ROM_BIOS(0) )
- ROMX_LOAD( "hx20_v10.15e", 0x6000, 0x2000, CRC(33fbb1ab) SHA1(292ace94b4dad267aa7786dc64e68ac6f3c98aa7), ROM_BIOS(0) )
+ ROMX_LOAD( "hx20_v10.12e", 0x6000, 0x2000, CRC(ed7482c6) SHA1(8fba63037f2418aee9e933a353b052a5ed816ead), ROM_BIOS(0) )
+ ROMX_LOAD( "hx20_v10.13e", 0x4000, 0x2000, CRC(f5cc8868) SHA1(3248a1ddf0d8df7e9f2fe96955385218d760c4ad), ROM_BIOS(0) )
+ ROMX_LOAD( "hx20_v10.14e", 0x2000, 0x2000, CRC(27d743ed) SHA1(ebae367b0fa5f42ac78424df2534312296fd6fdc), ROM_BIOS(0) )
+ ROMX_LOAD( "hx20_v10.15e", 0x0000, 0x2000, CRC(33fbb1ab) SHA1(292ace94b4dad267aa7786dc64e68ac6f3c98aa7), ROM_BIOS(0) )
ROM_SYSTEM_BIOS( 1, "v11", "version 1.1" )
ROMX_LOAD( "hx20_v11.12e", 0x0000, 0x2000, CRC(4de0b4b6) SHA1(f15c537824b7effde9d9b9a21e92a081fb089371), ROM_BIOS(1) )
ROMX_LOAD( "hx20_v11.13e", 0x2000, 0x2000, CRC(10d6ae76) SHA1(3163954ed9981f70f590ee98bcc8e19e4be6527a), ROM_BIOS(1) )
@@ -965,10 +1020,10 @@ ROM_END
//-------------------------------------------------
-// ROM( ecm6000 )
+// ROM( ecm6032 )
//-------------------------------------------------
-ROM_START( ecm6000 )
+ROM_START( ecm6032 )
// 1988 MOSU 20120200004 H:::
ROM_REGION( 0xc000, HD6301V1_MAIN_TAG, ROMREGION_ERASEFF )
ROM_LOAD( "cm6032a-1_v43.11e", 0x0000, 0x4000, CRC(124797c2) SHA1(33d3418c99eb2d557151996bc09debf4ca089298) )
@@ -976,7 +1031,23 @@ ROM_START( ecm6000 )
ROM_LOAD( "cm6032a-3_v43.15e", 0x8000, 0x4000, CRC(95c34bdc) SHA1(c7022145f37e9fd2f339f8e7ad3adce76a67ca0b) )
ROM_REGION( 0x1000, HD6301V1_SLAVE_TAG, 0 )
- ROM_LOAD( "hd6301v1.6d", 0x0000, 0x1000, CRC(b36f5b99) SHA1(c6b54163bb268e4f4f5c79aa2e83ec51f775b16a)) // not verified
+ ROM_LOAD( "hd6301v1.6d", 0x0000, 0x1000, CRC(b36f5b99) SHA1(c6b54163bb268e4f4f5c79aa2e83ec51f775b16a) )
+ROM_END
+
+
+//-------------------------------------------------
+// ROM( ecm6127 )
+//-------------------------------------------------
+
+ROM_START( ecm6127 )
+ ROM_REGION(0x10000, HD6301V1_MAIN_TAG, ROMREGION_ERASEFF)
+ ROM_LOAD( "cm6127h-1_v16.13e", 0x0000, 0x4000, CRC(80f08fb8) SHA1(f1a1b38ce0aff25e6915fb7092d9158f13fd4108) )
+ ROM_LOAD( "cm6127h-2_v16.15e", 0x4000, 0x4000, CRC(2c59851e) SHA1(2b031e958497b87601bbdda15f5e974cfd931ed9) )
+ ROM_LOAD( "cm6127h-4_v16.14b", 0x8000, 0x4000, CRC(348cdd4b) SHA1(88c88b40d83e3a7cc93d2db684bc70cf78aaa180) ) // Expansion Unit
+ ROM_LOAD( "cm6127h-3_v16.13b", 0xc000, 0x4000, CRC(a1c13419) SHA1(39c1af2d2cf9f159ad64746b1573cc838e73de8e) ) // Expansion Unit
+
+ ROM_REGION(0x1000, HD6301V1_SLAVE_TAG, 0)
+ ROM_LOAD( "hd6301v1.6d", 0x0000, 0x1000, CRC(b36f5b99) SHA1(c6b54163bb268e4f4f5c79aa2e83ec51f775b16a) )
ROM_END
@@ -987,4 +1058,5 @@ ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1983, ehx20, 0, 0, hx20, hx20, hx20_state, empty_init, "Epson", "Epson HX-20", MACHINE_NOT_WORKING )
COMP( 1983, ehx20e, ehx20, 0, hx20, hx20e, hx20_state, empty_init, "Epson", "Epson HX-20 (Europe)", MACHINE_NOT_WORKING )
-COMP( 1989, ecm6000, ehx20, 0, cm6000, cm6000, hx20_state, empty_init, "Epson", "Epson CM6000", MACHINE_NOT_WORKING )
+COMP( 1989, ecm6032, ehx20, 0, cm6032, cm6032, hx20_state, empty_init, "Epson", "Epson CM6032", MACHINE_NOT_WORKING )
+COMP( 1993, ecm6127, ehx20, 0, cm6127, cm6127, hx20_state, empty_init, "Epson", "Epson CM6127", MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index 33a456e044a..c49e0bc2015 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -58,14 +58,14 @@ Ghouls & Ghosts 171-5869A - 610-0239-23 MPR
Super Hang On 171-5782 837-6963-24 610-0239-24 MPR-12640 (234000) EPR-12368-24 (27256) n/a
Forgotten Worlds 171-5782 837-6963-26 610-0239-26 MPR-12672-H (Mask) EPR-12368-26 (27256) n/a
The Revenge Of Shinobi 171-5782 837-6963-28 610-0239-28 MPR-12675 S44 (uPD23C4000) EPR-12368-28 (27C256) n/a
-Arnold Palmer Tour Golf 171-5782 837-6963-31 610-0239-31 MPR-12645F (23C4000) EPR-12368-31 (27256) n/a
+Arnold Palmer Tour Golf 171-5782 837-6963-31 610-0239-31 MPR-12645F (834200A) EPR-12368-31 (27256) n/a
Super Real Basket Ball 171-5782 837-6963-32 610-0239-32 MPR-12904F (838200A) EPR-12368-32 (27256) n/a
Tommy Lasorda Baseball 171-5782 837-6963-35 610-0239-35 MPR-12706F (834200A) EPR-12368-35 (27256) n/a
ESWAT 171-5782 837-6963-38 610-0239-38 MPR-13192-H (uPD23C4000) EPR-12368-38 (27256) n/a
Moonwalker 171-5782 837-6963-40 610-0239-40 MPR-13285A S61 (uPD23C4000) EPR-12368-40 (27256) n/a
Shadow Dancer 171-5782 837-6963-43 610-0239-43 MPR-13571-S (uPD23C4000) EPR-12368-43 (27256) n/a
-Wrestle War 171-5782 837-6963-48 610-0239-48 MPR-14025-F (23C4000) EPR-12368-48 (27256) n/a
-Bonanza Bros. 171-5782 837-6963-49 610-0239-49 MPR-13905A-F (23C4000) EPR-12368-49 (27256) n/a
+Wrestle War 171-5782 837-6963-48 610-0239-48 MPR-14025-F (834200A) EPR-12368-48 (27256) n/a
+Bonanza Bros. 171-5782 837-6963-49 610-0239-49 MPR-13905A-F (834200A) EPR-12368-49 (27256) n/a
Streets of Rage 171-5782 837-6963-51 610-0239-51 MPR-14125-SM (uPD23C4000) EPR-12368-51 (27C256) n/a
Sonic The Hedgehog 171-5782 837-6963-52 610-0239-52 MPR-13913-F (834200A) EPR-12368-52 (27C256) n/a
Spider-Man 171-5782 837-6963-54 610-0239-54 MPR-14027-SM (uPD23C4000) EPR-12368-54 (27C256) n/a
@@ -1102,12 +1102,12 @@ ROM_START( mt_parlg ) /* Parlour Games */
ROM_END
-/* Game 31 - Arnold Palmer Tournament Gold */
+/* Game 31 - Arnold Palmer Tournament Golf */
ROM_START( mt_tgolf ) /* Arnold Palmer Tournament Golf */
MEGATECH_BIOS
ROM_REGION16_BE( 0x400000, "mt_slot1:cart", ROMREGION_ERASE00 )
- ROM_LOAD16_WORD_SWAP( "mp12645f.ic1", 0x000000, 0x080000, CRC(c07ef8d2) SHA1(9d111fdc7bb92d52bfa048cd134aa488b4f475ef) )
+ ROM_LOAD16_WORD_SWAP( "mpr-12645f.ic1", 0x000000, 0x080000, CRC(c07ef8d2) SHA1(9d111fdc7bb92d52bfa048cd134aa488b4f475ef) )
ROM_LOAD16_BYTE( "epr-12368-31.ic2", 0x300001, 0x08000, CRC(30af7e4a) SHA1(baf91d527393dc90aba9371abcb1e690bcc83c7e) )
ROM_REGION( 0x01, "sms_pin", ROMREGION_ERASE00 )
@@ -1248,11 +1248,13 @@ ROM_END
/* Game 49 - Bonanza Bros. */
+// original dump of mpr-13905a.ic1 had a size of 0x100000, which is a double dump of the correct size 0x080000
+// the IC is a Fujitsu MB834200A MaskROM by 4Mb (512KB) in a DIP40-600mil package
ROM_START( mt_bbros ) /* Bonanza Bros. */
MEGATECH_BIOS
ROM_REGION16_BE( 0x400000, "mt_slot1:cart", ROMREGION_ERASE00 )
- ROM_LOAD16_WORD_SWAP( "mp13905a.ic1", 0x000000, 0x100000, CRC(68a88d60) SHA1(2f56e8a2b0999de4fa0d14a1527f4e1df0f9c7a2) )
+ ROM_LOAD16_WORD_SWAP( "mpr-13905a.ic1", 0x000000, 0x080000, CRC(6d617940) SHA1(11d5ff1c2db79632f6dea2edf97f56af2149cea4) )
ROM_LOAD16_BYTE( "epr-12368-49.ic2", 0x300001, 0x08000, CRC(c5101da2) SHA1(636f30043e2e9291e193ef9a2ead2e97a0bf7380) )
ROM_REGION( 0x01, "sms_pin", ROMREGION_ERASE00 )
@@ -1384,14 +1386,14 @@ ROM_END
/* Game 61 - Turbo Outrun */
-// original dump of epr-14674.ic1 had CRC(c2b9a802) SHA1(108cc844c944125f9d271a2f2db094301294e8c2)
+// original dump of mpr-14674.ic1 had CRC(c2b9a802) SHA1(108cc844c944125f9d271a2f2db094301294e8c2)
// with the byte at offset 3 being F6 instead of Fe, this seems like a bad dump when compared to the Genesis rom which
// has been verified on multiple carts, chances are the ROM had developed a fault.
ROM_START( mt_tout ) /* Turbo Outrun */
MEGATECH_BIOS
ROM_REGION16_BE( 0x400000, "mt_slot1:cart", ROMREGION_ERASE00 )
- ROM_LOAD16_WORD_SWAP( "epr-14674.ic1", 0x000000, 0x080000, CRC(453712a2) SHA1(5d2c8430a9a14aac7f19c22617539b0503ab92cd) )
+ ROM_LOAD16_WORD_SWAP( "mpr-14674.ic1", 0x000000, 0x080000, CRC(453712a2) SHA1(5d2c8430a9a14aac7f19c22617539b0503ab92cd) )
ROM_LOAD16_BYTE( "epr-12368-61.ic2", 0x300001, 0x08000, CRC(4aa0b2a2) SHA1(bce03f88d6cfd02683d51c28058f6229fda13b49) )
ROM_REGION( 0x01, "sms_pin", ROMREGION_ERASE00 )
diff --git a/src/mame/includes/hx20.h b/src/mame/includes/hx20.h
index ea5182c9a80..d0dcba1d3d1 100644
--- a/src/mame/includes/hx20.h
+++ b/src/mame/includes/hx20.h
@@ -49,8 +49,9 @@ public:
, m_kbrequest(1)
{ }
- void cm6000(machine_config &config);
void hx20(machine_config &config);
+ void cm6032(machine_config &config);
+ void cm6127(machine_config &config);
private:
required_device<hd63701_cpu_device> m_maincpu;
@@ -94,7 +95,7 @@ private:
DECLARE_WRITE_LINE_MEMBER( sio_rx_w ) { m_sio_rx = state; }
DECLARE_WRITE_LINE_MEMBER( sio_pin_w ) { m_sio_pin = state; }
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER( optrom_load );
+ DECLARE_DEVICE_IMAGE_LOAD_MEMBER( optrom );
DECLARE_READ8_MEMBER( optrom_r );
void update_interrupt();
@@ -116,9 +117,11 @@ private:
// sio state
int m_sio_rx;
int m_sio_pin;
- void cm6000_mem(address_map &map);
+
void hx20_mem(address_map &map);
void hx20_sub_mem(address_map &map);
+ void cm6032_mem(address_map &map);
+ void cm6127_mem(address_map &map);
};
#endif // MAME_INCLUDES_HX20_H
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index f86006f1edd..6575928dd5b 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -15670,7 +15670,8 @@ hvyunitu // (c) 1988 Kaneko
@source:hx20.cpp
ehx20 //
ehx20e //
-ecm6000 //
+ecm6032 //
+ecm6127 //
@source:hyhoo.cpp
hyhoo // (c) 1987