summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-09-01 16:27:55 +0200
committer hap <happppp@users.noreply.github.com>2019-09-01 16:27:55 +0200
commit903e7e7890c4ccee3331014a610d270c411e6616 (patch)
tree5f90cf0f038574843c195b7644557cb5c26977ad
parent9b7df56b03e1614f84b7f96d8d1f738bed97f90d (diff)
New working clones
------------------ Mephisto ESB II [Berger, Achim] Mephisto III (ver. B) [Berger, Achim]
-rw-r--r--src/mame/drivers/mephisto_brikett.cpp68
-rw-r--r--src/mame/mame.lst2
2 files changed, 55 insertions, 15 deletions
diff --git a/src/mame/drivers/mephisto_brikett.cpp b/src/mame/drivers/mephisto_brikett.cpp
index 04a01983c3b..dd76de605da 100644
--- a/src/mame/drivers/mephisto_brikett.cpp
+++ b/src/mame/drivers/mephisto_brikett.cpp
@@ -30,9 +30,9 @@ Mephisto program module:
- PCB label: DF 4003-B
- 6*CDP1833CE (1KB ROM)
-Mephisto II program module:
+Mephisto II/ESB II program module:
- PCB label: HG 4005 02 301 00
-- 3*TC5334P (4KB ROM)
+- 3*TC5334P (4KB ROM), 4*M2532A on ESB II
- 2*TC5514P (1KBx4 RAM)
- 2*CDP1859CE (4bit latch)
@@ -93,6 +93,7 @@ public:
// machine drivers
void mephisto(machine_config &config);
void mephisto2(machine_config &config);
+ void mephisto2e(machine_config &config);
void mephisto3(machine_config &config);
protected:
@@ -112,6 +113,7 @@ private:
// address maps
void mephisto_map(address_map &map);
void mephisto2_map(address_map &map);
+ void mephisto2e_map(address_map &map);
void mephisto3_map(address_map &map);
void mephisto_io(address_map &map);
@@ -306,6 +308,12 @@ void brikett_state::mephisto2_map(address_map &map)
map(0xf000, 0xf3ff).ram();
}
+void brikett_state::mephisto2e_map(address_map &map)
+{
+ mephisto2_map(map);
+ map(0x3000, 0x3fff).rom();
+}
+
void brikett_state::mephisto3_map(address_map &map)
{
mephisto_map(map);
@@ -362,9 +370,18 @@ static INPUT_PORTS_START( mephisto )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("RES") PORT_CHANGED_MEMBER(DEVICE_SELF, brikett_state, reset_button, 0)
INPUT_PORTS_END
-static INPUT_PORTS_START( mephisto3 )
+static INPUT_PORTS_START( mephisto2e )
PORT_INCLUDE( mephisto )
+ PORT_START("IN.5") // optional
+ PORT_CONFNAME( 0x01, 0x01, "ESB 6000" )
+ PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
+ PORT_CONFSETTING( 0x01, DEF_STR( On ) )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( mephisto3 )
+ PORT_INCLUDE( mephisto2e )
+
PORT_MODIFY("IN.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("INFO")
@@ -376,11 +393,6 @@ static INPUT_PORTS_START( mephisto3 )
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right / White / 0")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("MEM")
- PORT_START("IN.5") // optional
- PORT_CONFNAME( 0x01, 0x01, "ESB 6000" )
- PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
- PORT_CONFSETTING( 0x01, DEF_STR( On ) )
-
PORT_MODIFY("IN.4")
PORT_CONFNAME( 0x03, 0x01, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, brikett_state, switch_cpu_freq, 0)
PORT_CONFSETTING( 0x00, "3.579MHz (Battery)" )
@@ -435,13 +447,12 @@ void brikett_state::mephisto2(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephisto2_map);
}
-void brikett_state::mephisto3(machine_config &config)
+void brikett_state::mephisto2e(machine_config &config)
{
mephisto2(config);
/* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephisto3_map);
- m_maincpu->q_cb().set(FUNC(brikett_state::q_w));
+ m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephisto2e_map);
m_maincpu->ef1_cb().set(FUNC(brikett_state::esb_r));
m_extport->do_cb().set(FUNC(brikett_state::esb_w));
@@ -453,6 +464,16 @@ void brikett_state::mephisto3(machine_config &config)
config.set_default_layout(layout_mephisto_3);
}
+void brikett_state::mephisto3(machine_config &config)
+{
+ mephisto2e(config);
+
+ /* basic machine hardware */
+ m_maincpu->set_clock(6.144_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephisto3_map);
+ m_maincpu->q_cb().set(FUNC(brikett_state::q_w));
+}
+
/******************************************************************************
@@ -477,6 +498,14 @@ ROM_START( mephisto2 )
ROM_LOAD("5621_03_353", 0x2000, 0x1000, CRC(430dac62) SHA1(a0e23fcb4cfa27778a9398bd4994a7792e4541d0) ) // "
ROM_END
+ROM_START( mephisto2e )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD("251-11", 0x0000, 0x1000, CRC(3c8e2631) SHA1(5960e47f0659b1e5f164107069738e730e3ff255) ) // M2532A
+ ROM_LOAD("252-10", 0x1000, 0x1000, CRC(832b053e) SHA1(b0dfe857c38f13a4b04ac67a8a46f37c962a8629) ) // "
+ ROM_LOAD("253-09", 0x2000, 0x1000, CRC(00788b63) SHA1(cf94dc19ef85b359989410e7824280c59433fca9) ) // "
+ ROM_LOAD("254-09", 0x3000, 0x1000, CRC(d6be47a6) SHA1(3d577036111c026292b6c445efcb126cf7a6a472) ) // "
+ROM_END
+
ROM_START( mephisto3 )
ROM_REGION( 0x10000, "maincpu", 0 )
@@ -484,6 +513,11 @@ ROM_START( mephisto3 )
ROM_LOAD("201", 0x4000, 0x4000, CRC(0c3cb8fa) SHA1(31449422142c19fc71474a057fc5d6af8a86be7d) ) // "
ROM_END
+ROM_START( mephisto3b )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD("g81", 0x0000, 0x8000, CRC(7b49475d) SHA1(30193153f0c259294b47e95d3e33834e40a94821) ) // HN613256P
+ROM_END
+
} // anonymous namespace
@@ -492,7 +526,11 @@ ROM_END
Drivers
******************************************************************************/
-// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
-CONS( 1980, mephisto, 0, 0, mephisto, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1981, mephisto2, 0, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1983, mephisto3, 0, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
+CONS( 1980, mephisto, 0, 0, mephisto, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+
+CONS( 1981, mephisto2, 0, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1981, mephisto2e, mephisto2, 0, mephisto2e, mephisto2e, brikett_state, empty_init, "Hegener + Glaser", "Mephisto ESB II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+
+CONS( 1983, mephisto3, 0, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (ver. A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1983, mephisto3b, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (ver. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 30ba9e0b7fa..28a483cf056 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -21461,7 +21461,9 @@ menghong // 2004? Sealy
@source:mephisto_brikett.cpp
mephisto
mephisto2
+mephisto2e
mephisto3
+mephisto3b
@source:mephisto_glasgow.cpp
amsterd // Amsterdam