diff options
Diffstat (limited to 'src/mame/drivers/tmc600.cpp')
-rw-r--r-- | src/mame/drivers/tmc600.cpp | 34 |
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"); |