summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/dsbz80.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/dsbz80.cpp')
-rw-r--r--src/mame/audio/dsbz80.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/mame/audio/dsbz80.cpp b/src/mame/audio/dsbz80.cpp
index ea7a83ae824..c521ac825b6 100644
--- a/src/mame/audio/dsbz80.cpp
+++ b/src/mame/audio/dsbz80.cpp
@@ -45,19 +45,20 @@ DEFINE_DEVICE_TYPE(DSBZ80, dsbz80_device, "dsbz80_device", "Sega Z80-based Digit
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(dsbz80_device::device_add_mconfig)
- MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000) /* unknown clock, but probably pretty slow considering the z80 does like nothing */
- MCFG_DEVICE_PROGRAM_MAP(dsbz80_map)
- MCFG_DEVICE_IO_MAP(dsbz80io_map)
-
- MCFG_DEVICE_ADD("uart", I8251, 4000000)
- MCFG_I8251_RXRDY_HANDLER(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
- MCFG_I8251_TXD_HANDLER(WRITELINE(*this, dsbz80_device, output_txd))
-
- MCFG_CLOCK_ADD("uart_clock", 500000) // 16 times 31.25MHz (standard Sega/MIDI sound data rate)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("uart", i8251_device, write_rxc))
- MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("uart", i8251_device, write_txc))
-MACHINE_CONFIG_END
+void dsbz80_device::device_add_mconfig(machine_config &config)
+{
+ Z80(config, m_ourcpu, 4000000); // unknown clock, but probably pretty slow considering the z80 does like nothing
+ m_ourcpu->set_addrmap(AS_PROGRAM, &dsbz80_device::dsbz80_map);
+ m_ourcpu->set_addrmap(AS_IO, &dsbz80_device::dsbz80io_map);
+
+ I8251(config, m_uart, 4000000);
+ m_uart->rxrdy_handler().set_inputline(m_ourcpu, INPUT_LINE_IRQ0);
+ m_uart->txd_handler().set(FUNC(dsbz80_device::output_txd));
+
+ clock_device &uart_clock(CLOCK(config, "uart_clock", 500000)); // 16 times 31.25MHz (standard Sega/MIDI sound data rate)
+ uart_clock.signal_handler().set("uart", FUNC(i8251_device::write_rxc));
+ uart_clock.signal_handler().append("uart", FUNC(i8251_device::write_txc));
+}
//**************************************************************************
// LIVE DEVICE