summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-08-05 10:04:56 +0200
committer hap <happppp@users.noreply.github.com>2019-08-05 10:05:17 +0200
commit67cc4efe7bd0f06813208e12be06703118023ce1 (patch)
tree76c9b2c6def328aef28b5dbb439936436ecaa833
parente24d084520446cc5eef85d13fd916a5937a93e3d (diff)
mephisto_brikett: add mephisto III Special (nw)
-rw-r--r--src/mame/drivers/mephisto_brikett.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mame/drivers/mephisto_brikett.cpp b/src/mame/drivers/mephisto_brikett.cpp
index 08799e9131d..43ca1bf4c43 100644
--- a/src/mame/drivers/mephisto_brikett.cpp
+++ b/src/mame/drivers/mephisto_brikett.cpp
@@ -3,7 +3,7 @@
// thanks-to:Berger
/******************************************************************************
-Hegener + Glaser AG Mephisto (I)/1X/II/ESB II/III
+Hegener + Glaser Mephisto (I)/1X/II/ESB II/III
The base device is nicknamed the "Brikett"
Mephisto is the 1st chess computer by H+G, chess engine by Thomas Nitsche & Elmar Henne.
@@ -172,8 +172,12 @@ void brikett_state::machine_reset()
void brikett_state::set_cpu_freq()
{
- // 2nd hardware model has 2 XTALs, it will increase CPU voltage (and speed) when running on mains power
- m_maincpu->set_unscaled_clock((m_inputs[4].read_safe(0) & 1) ? 6.144_MHz_XTAL : 3.579545_MHz_XTAL);
+ // 2nd hardware model has 2 XTALs, it will increase CPU voltage (and speed) when running on mains power,
+ // the 3.579545MHz XTAL is still used for IRQ. Mephisto III could be fitted with a 12MHz XTAL instead of 6.144MHz
+ // and a newer CDP1805CE CPU by H+G's service department on request.
+ // (It is unexpected that the 1805 accepts such a high overclock, but tests show that it is indeed twice faster)
+ u8 inp = m_inputs[4].read_safe(0);
+ m_maincpu->set_unscaled_clock((inp & 2) ? 12_MHz_XTAL : ((inp & 1) ? 6.144_MHz_XTAL : 3.579545_MHz_XTAL));
}
@@ -372,6 +376,12 @@ static INPUT_PORTS_START( mephisto3 )
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, nullptr)
+ PORT_CONFSETTING( 0x00, "3.579MHz (Battery)" )
+ PORT_CONFSETTING( 0x01, "6.144MHz (Mains)" )
+ PORT_CONFSETTING( 0x02, "12MHz (Special)" )
INPUT_PORTS_END