summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2018-08-26 19:59:54 +1000
committer Vas Crabb <vas@vastheman.com>2018-08-26 19:59:54 +1000
commitf70581a7a90b5a9cba6ea52dfe6ebc940181a7ff (patch)
treef5ba51a878fda312e5a5e0939f366e19f41140e9
parent4b8a3b854a2ffc114e1a92dc7c6b2ccc4442bcf6 (diff)
hook up Amiga CDTV keyboard reset
-rw-r--r--src/mame/drivers/amiga.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index ffa5bd40d63..f235f1440e0 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -74,6 +74,10 @@ different components:
* BAS32L diode for power-on reset
* This gives delays of 152ms, 176µs, and 704ms
+The equivalent circuit in the Amiga CDTV has the same thresholds as the
+Amiga 2000, but uses 1kΩ resistors for timing. This gives delays of
+11.2ms, 7.43ms, and 27.5ms.
+
*/
DECLARE_DEVICE_TYPE(A2000_KBRESET, a2000_kbreset_device)
@@ -206,7 +210,7 @@ private:
u8 m_c814_charging = 1U; // U805 pin 2
};
-DEFINE_DEVICE_TYPE(A2000_KBRESET, a2000_kbreset_device, "a2000kbrst", "Amiga 1000/2000 keyboard reset circuit")
+DEFINE_DEVICE_TYPE(A2000_KBRESET, a2000_kbreset_device, "a2000kbrst", "Amiga 1000/2000/CDTV keyboard reset circuit")
//**************************************************************************
@@ -1762,6 +1766,9 @@ MACHINE_CONFIG_START(cdtv_state::cdtv)
auto &kbd(AMIGA_KEYBOARD_INTERFACE(config, "kbd", amiga_keyboard_devices, "a2000_us"));
kbd.kclk_handler().set("cia_0", FUNC(mos8520_device::cnt_w));
kbd.kdat_handler().set("cia_0", FUNC(mos8520_device::sp_w));
+ A2000_KBRESET(config, "kbrst")
+ .set_delays(attotime::from_usec(11238), attotime::from_usec(7432), attotime::from_usec(27539))
+ .kbrst_cb().set(FUNC(a1000_state::kbreset_w));
// main cpu
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)