summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/milwaukee.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/milwaukee.cpp')
-rw-r--r--src/mame/drivers/milwaukee.cpp55
1 files changed, 28 insertions, 27 deletions
diff --git a/src/mame/drivers/milwaukee.cpp b/src/mame/drivers/milwaukee.cpp
index 774c6afc3f3..a0017b97413 100644
--- a/src/mame/drivers/milwaukee.cpp
+++ b/src/mame/drivers/milwaukee.cpp
@@ -52,33 +52,34 @@ void milwaukee_state::mem_map(address_map &map)
static INPUT_PORTS_START( milwaukee )
INPUT_PORTS_END
-MACHINE_CONFIG_START(milwaukee_state::milwaukee)
- MCFG_DEVICE_ADD("maincpu", M6502, XTAL(16'000'000) / 16)
- MCFG_DEVICE_PROGRAM_MAP(mem_map)
-
- MCFG_DEVICE_ADD("pit", PIT8253, 0)
- MCFG_PIT8253_CLK0(XTAL(16'000'000) / 16 / 4) // 250 kHz
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE("pit", pit8253_device, write_gate0)) MCFG_DEVCB_INVERT
- MCFG_PIT8253_CLK1(XTAL(16'000'000) / 2 / 13 / 2048 / 5) // 60.09 Hz?
- MCFG_PIT8253_OUT1_HANDLER(WRITELINE("pit", pit8253_device, write_clk2)) MCFG_DEVCB_INVERT
-
- MCFG_DEVICE_ADD("pia1", PIA6821, 0)
- MCFG_DEVICE_ADD("pia2", PIA6821, 0)
- MCFG_DEVICE_ADD("acia2", ACIA6850, 0)
- MCFG_DEVICE_ADD("ssda", MC6852, 0)
-
- MCFG_DEVICE_ADD("acia_clock", CLOCK, XTAL(16'000'000) / 2 / 13 / 4)
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("acia1", acia6850_device, write_txc))
- MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("acia1", acia6850_device, write_rxc))
-
- MCFG_DEVICE_ADD("acia1", ACIA6850, 0)
- MCFG_ACIA6850_TXD_HANDLER(WRITELINE("rs232", rs232_port_device, write_txd))
- MCFG_ACIA6850_RTS_HANDLER(WRITELINE("rs232", rs232_port_device, write_rts))
-
- MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal")
- MCFG_RS232_RXD_HANDLER(WRITELINE("acia1", acia6850_device, write_rxd))
- MCFG_RS232_CTS_HANDLER(WRITELINE("acia1", acia6850_device, write_cts))
-MACHINE_CONFIG_END
+void milwaukee_state::milwaukee(machine_config &config)
+{
+ M6502(config, m_maincpu, 16_MHz_XTAL / 16);
+ m_maincpu->set_addrmap(AS_PROGRAM, &milwaukee_state::mem_map);
+
+ pit8253_device &pit(PIT8253(config, "pit", 0));
+ pit.set_clk<0>(16_MHz_XTAL / 16 / 4); // 250 kHz
+ pit.out_handler<0>().set("pit", FUNC(pit8253_device::write_gate0)).invert();
+ pit.set_clk<1>(16_MHz_XTAL / 2 / 13 / 2048 / 5); // 60.09 Hz?
+ pit.out_handler<1>().set("pit", FUNC(pit8253_device::write_clk2)).invert();
+
+ PIA6821(config, "pia1", 0);
+ PIA6821(config, "pia2", 0);
+ ACIA6850(config, "acia2", 0);
+ MC6852(config, "ssda", 0);
+
+ clock_device &acia_clock(CLOCK(config, "acia_clock", 16_MHz_XTAL / 2 / 13 / 4));
+ acia_clock.signal_handler().set("acia1", FUNC(acia6850_device::write_txc));
+ acia_clock.signal_handler().append("acia1", FUNC(acia6850_device::write_rxc));
+
+ acia6850_device &acia1(ACIA6850(config, "acia1", 0));
+ acia1.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
+ acia1.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
+
+ rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
+ rs232.rxd_handler().set("acia1", FUNC(acia6850_device::write_rxd));
+ rs232.cts_handler().set("acia1", FUNC(acia6850_device::write_cts));
+}
ROM_START( mc1200 )
ROM_REGION( 0x0c00, "roms", 0 )