diff options
Diffstat (limited to 'src/mame/drivers/nsg6809.cpp')
-rw-r--r-- | src/mame/drivers/nsg6809.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/mame/drivers/nsg6809.cpp b/src/mame/drivers/nsg6809.cpp index 1029a53f018..32904a6bef1 100644 --- a/src/mame/drivers/nsg6809.cpp +++ b/src/mame/drivers/nsg6809.cpp @@ -55,7 +55,7 @@ public: private: void main_map(address_map &map); - required_device<cpu_device> m_maincpu; + required_device<mc6809_device> m_maincpu; }; @@ -71,22 +71,23 @@ void nsg6809_state::main_map(address_map &map) static INPUT_PORTS_START( pitchhit ) INPUT_PORTS_END -MACHINE_CONFIG_START(nsg6809_state::pitchhit) - MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000)) // clock buffered through 74HC4060 - MCFG_DEVICE_PROGRAM_MAP(main_map) +void nsg6809_state::pitchhit(machine_config &config) +{ + MC6809(config, m_maincpu, XTAL(4'000'000)); // clock buffered through 74HC4060 + m_maincpu->set_addrmap(AS_PROGRAM, &nsg6809_state::main_map); - MCFG_DEVICE_ADD("via", VIA6522, XTAL(4'000'000) / 4) - MCFG_VIA6522_IRQ_HANDLER(WRITELINE("mainirq", input_merger_device, in_w<0>)) + via6522_device &via(VIA6522(config, "via", XTAL(4'000'000) / 4)); + via.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<0>)); - MCFG_DEVICE_ADD("acia", MOS6551, 0) - MCFG_MOS6551_XTAL(XTAL(1'843'200)) - MCFG_MOS6551_IRQ_HANDLER(WRITELINE("mainirq", input_merger_device, in_w<1>)) + mos6551_device &acia(MOS6551(config, "acia", 0)); + acia.set_xtal(XTAL(1'843'200)); + acia.irq_handler().set("mainirq", FUNC(input_merger_device::in_w<1>)); - MCFG_WATCHDOG_ADD("deadman") + WATCHDOG_TIMER(config, "deadman", 0); - MCFG_INPUT_MERGER_ANY_HIGH("mainirq") - MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", M6809_IRQ_LINE)) -MACHINE_CONFIG_END + input_merger_device &merger(INPUT_MERGER_ANY_HIGH(config, "mainirq")); + merger.output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE); +} /* |