diff options
-rw-r--r-- | hash/bbc_rom.xml | 169 | ||||
-rw-r--r-- | hash/ibm5170.xml | 2 | ||||
-rw-r--r-- | hash/specpls3_flop.xml | 2 | ||||
-rw-r--r-- | src/devices/cpu/tms7000/tms7000.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/cc40.cpp | 5 | ||||
-rw-r--r-- | src/mame/drivers/hx20.cpp | 136 | ||||
-rw-r--r-- | src/mame/drivers/megatech.cpp | 18 | ||||
-rw-r--r-- | src/mame/includes/hx20.h | 9 | ||||
-rw-r--r-- | src/mame/mame.lst | 3 |
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&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 |