diff options
Diffstat (limited to 'src/mame/drivers/p8k.cpp')
-rw-r--r-- | src/mame/drivers/p8k.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp index 5aa1240db72..8b8997c6382 100644 --- a/src/mame/drivers/p8k.cpp +++ b/src/mame/drivers/p8k.cpp @@ -116,7 +116,7 @@ private: void p8k_iomap(address_map &map); void p8k_memmap(address_map &map); - required_device<cpu_device> m_maincpu; + required_device<cpu_device> m_maincpu; // Z80 or Z8001 depending on the machine optional_device<p8k_16_daisy_device> m_daisy; optional_device<z80pio_device> m_pio2; optional_device<i8272a_device> m_i8272; @@ -417,20 +417,21 @@ GFXDECODE_END MACHINE_CONFIG_START(p8k_state::p8k) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000) ) - MCFG_Z80_DAISY_CHAIN(p8k_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(p8k_memmap) - MCFG_DEVICE_IO_MAP(p8k_iomap) + z80_device& maincpu(Z80(config, "maincpu", XTAL(4'000'000))); + maincpu.set_daisy_config(p8k_daisy_chain); + maincpu.set_addrmap(AS_PROGRAM, &p8k_state::p8k_memmap); + maincpu.set_addrmap(AS_IO, &p8k_state::p8k_iomap); + MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k) /* peripheral hardware */ - MCFG_DEVICE_ADD("dma", Z80DMA, XTAL(4'000'000)) - MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(*this, p8k_state, p8k_dma_irq_w)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, p8k_state, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, p8k_state, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, p8k_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, p8k_state, io_write_byte)) + z80dma_device& dma(Z80DMA(config, "dma", XTAL(4'000'000))); + dma.out_busreq_callback().set(FUNC(p8k_state::p8k_dma_irq_w)); + dma.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + dma.in_mreq_callback().set(FUNC(p8k_state::memory_read_byte)); + dma.out_mreq_callback().set(FUNC(p8k_state::memory_write_byte)); + dma.in_iorq_callback().set(FUNC(p8k_state::io_read_byte)); + dma.out_iorq_callback().set(FUNC(p8k_state::io_write_byte)); clock_device &uart_clock(CLOCK(config, "uart_clock", 307200)); uart_clock.signal_handler().set("sio", FUNC(z80sio_device::txcb_w)); @@ -491,8 +492,8 @@ MACHINE_CONFIG_START(p8k_state::p8k_16) MCFG_DEVICE_IO_MAP(p8k_16_iomap) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("p8k_16_daisy", p8k_16_daisy_device, irq_callback) - MCFG_DEVICE_ADD("p8k_16_daisy", P8K_16_DAISY, 0) - MCFG_Z80_DAISY_CHAIN(p8k_16_daisy_chain) + P8K_16_DAISY(config, m_daisy, 0); + m_daisy->set_daisy_config(p8k_16_daisy_chain); clock_device &uart_clock(CLOCK(config, "uart_clock", 307200)); uart_clock.signal_handler().set("sio", FUNC(z80sio_device::txcb_w)); |