summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/tmc600.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/tmc600.cpp')
-rw-r--r--src/mame/drivers/tmc600.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/src/mame/drivers/tmc600.cpp b/src/mame/drivers/tmc600.cpp
index 522a0c96fda..ece2550ae81 100644
--- a/src/mame/drivers/tmc600.cpp
+++ b/src/mame/drivers/tmc600.cpp
@@ -255,30 +255,34 @@ WRITE8_MEMBER( tmc600_state::sc_w )
MACHINE_CONFIG_START(tmc600_state::tmc600)
// CPU
- MCFG_DEVICE_ADD(CDP1802_TAG, CDP1802, XTAL(3'570'000))
- MCFG_DEVICE_PROGRAM_MAP(tmc600_map)
- MCFG_DEVICE_IO_MAP(tmc600_io_map)
- MCFG_COSMAC_WAIT_CALLBACK(CONSTANT(1))
- MCFG_COSMAC_EF2_CALLBACK(READLINE(*this, tmc600_state, ef2_r))
- MCFG_COSMAC_EF3_CALLBACK(READLINE(*this, tmc600_state, ef3_r))
- MCFG_COSMAC_Q_CALLBACK(WRITELINE(*this, tmc600_state, q_w))
- MCFG_COSMAC_SC_CALLBACK(WRITE8(*this, tmc600_state, sc_w))
+ cdp1802_device &cpu(CDP1802(config, CDP1802_TAG, 3.57_MHz_XTAL));
+ cpu.set_addrmap(AS_PROGRAM, &tmc600_state::tmc600_map);
+ cpu.set_addrmap(AS_IO, &tmc600_state::tmc600_io_map);
+ cpu.wait_cb().set_constant(1);
+ cpu.ef2_cb().set(FUNC(tmc600_state::ef2_r));
+ cpu.ef3_cb().set(FUNC(tmc600_state::ef3_r));
+ cpu.q_cb().set(FUNC(tmc600_state::q_w));
+ cpu.sc_cb().set(FUNC(tmc600_state::sc_w));
+ cpu.tpb_cb().set(CDP1852_KB_TAG, FUNC(cdp1852_device::clock_w));
+ cpu.tpb_cb().append(CDP1852_TMC700_TAG, FUNC(cdp1852_device::clock_w));
// sound and video hardware
tmc600_video(config);
// keyboard output latch
- MCFG_DEVICE_ADD(CDP1852_KB_TAG, CDP1852, XTAL(3'570'000)/8) // clock is CDP1802 TPB
- MCFG_CDP1852_MODE_CALLBACK(CONSTANT(1))
+ CDP1852(config, m_bwio); // clock is CDP1802 TPB
+ m_bwio->mode_cb().set_constant(1);
+#if 0
// address bus demux for expansion bus
- MCFG_DEVICE_ADD(CDP1852_BUS_TAG, CDP1852, 0) // clock is expansion bus TPA
- MCFG_CDP1852_MODE_CALLBACK(CONSTANT(0))
+ cdp1852_device &demux(CDP1852(config, CDP1852_BUS_TAG)); // clock is expansion bus TPA
+ demux.mode_cb().set_constant(0);
+#endif
// printer output latch
- MCFG_DEVICE_ADD(CDP1852_TMC700_TAG, CDP1852, XTAL(3'570'000)/8) // clock is CDP1802 TPB
- MCFG_CDP1852_MODE_CALLBACK(CONSTANT(1))
- MCFG_CDP1852_DO_CALLBACK(WRITE8(*this, tmc600_state, printer_w))
+ cdp1852_device &prtout(CDP1852(config, CDP1852_KB_TAG)); // clock is CDP1802 TPB
+ prtout.mode_cb().set_constant(1);
+ prtout.do_cb().set(FUNC(tmc600_state::printer_w));
// printer connector
CENTRONICS(config, m_centronics, centronics_devices, "printer");