summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/p8k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/p8k.cpp')
-rw-r--r--src/mame/drivers/p8k.cpp29
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));