summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/altos8600.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/altos8600.cpp')
-rw-r--r--src/mame/drivers/altos8600.cpp49
1 files changed, 25 insertions, 24 deletions
diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp
index 78565331a70..cdad666251b 100644
--- a/src/mame/drivers/altos8600.cpp
+++ b/src/mame/drivers/altos8600.cpp
@@ -725,7 +725,7 @@ static void altos8600_floppies(device_slot_interface &device)
}
MACHINE_CONFIG_START(altos8600_state::altos8600)
- MCFG_DEVICE_ADD("maincpu", I8086, 5_MHz_XTAL)
+ MCFG_DEVICE_ADD(m_maincpu, I8086, 5_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(cpu_mem)
MCFG_DEVICE_IO_MAP(cpu_io)
MCFG_DEVICE_OPCODES_MAP(code_mem)
@@ -735,25 +735,25 @@ MACHINE_CONFIG_START(altos8600_state::altos8600)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(altos8600_state, inta)
MCFG_I8086_IF_HANDLER(WRITELINE(*this, altos8600_state, cpuif_w))
- MCFG_DEVICE_ADD("dmac", I8089, 5_MHz_XTAL)
+ MCFG_DEVICE_ADD(m_dmac, I8089, 5_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(dmac_mem)
MCFG_DEVICE_IO_MAP(dmac_io)
MCFG_I8089_DATA_WIDTH(16)
MCFG_I8089_SINTR1(WRITELINE(*this, altos8600_state, sintr1_w))
- MCFG_I8089_SINTR2(WRITELINE("pic8259_2", pic8259_device, ir4_w))
+ MCFG_I8089_SINTR2(WRITELINE(m_pic2, pic8259_device, ir4_w))
- MCFG_DEVICE_ADD("pic8259_1", PIC8259, 0)
- MCFG_PIC8259_OUT_INT_CB(INPUTLINE("maincpu", 0))
- MCFG_PIC8259_IN_SP_CB(VCC)
- MCFG_PIC8259_CASCADE_ACK_CB(READ8(*this, altos8600_state, get_slave_ack))
+ PIC8259(config, m_pic1, 0);
+ m_pic1->out_int_callback().set_inputline(m_maincpu, 0);
+ m_pic1->in_sp_callback().set_constant(1);
+ m_pic1->read_slave_ack_callback().set(FUNC(altos8600_state::get_slave_ack));
- MCFG_DEVICE_ADD("pic8259_2", PIC8259, 0)
- MCFG_PIC8259_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir2_w))
- MCFG_PIC8259_IN_SP_CB(GND)
+ PIC8259(config, m_pic2, 0);
+ m_pic2->out_int_callback().set(m_pic1, FUNC(pic8259_device::ir2_w));
+ m_pic2->in_sp_callback().set_constant(0);
- MCFG_DEVICE_ADD("pic8259_3", PIC8259, 0)
- MCFG_PIC8259_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir3_w))
- MCFG_PIC8259_IN_SP_CB(GND)
+ PIC8259(config, m_pic3, 0);
+ m_pic3->out_int_callback().set(m_pic1, FUNC(pic8259_device::ir3_w));
+ m_pic3->in_sp_callback().set_constant(0);
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1M")
@@ -780,14 +780,14 @@ MACHINE_CONFIG_START(altos8600_state::altos8600)
MCFG_DEVICE_ADD("ppi", I8255A, 0)
- MCFG_DEVICE_ADD("pit", PIT8253, 0)
- MCFG_PIT8253_CLK0(1228800)
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE("uart8274", i8274_new_device, rxca_w))
- MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("uart8274", i8274_new_device, txca_w))
- MCFG_PIT8253_CLK1(1228800)
- MCFG_PIT8253_OUT1_HANDLER(WRITELINE("uart8274", i8274_new_device, rxtxcb_w))
- MCFG_PIT8253_CLK2(1228800)
- MCFG_PIT8253_OUT2_HANDLER(WRITELINE("pic8259_1", pic8259_device, ir1_w))
+ pit8253_device &pit(PIT8253(config, "pit", 0));
+ pit.set_clk<0>(1228800);
+ pit.out_handler<0>().set(m_uart8274, FUNC(i8274_new_device::rxca_w));
+ pit.out_handler<0>().append(m_uart8274, FUNC(i8274_new_device::txca_w));
+ pit.set_clk<1>(1228800);
+ pit.out_handler<1>().set(m_uart8274, FUNC(i8274_new_device::rxtxcb_w));
+ pit.set_clk<2>(1228800);
+ pit.out_handler<1>().set(m_pic1, FUNC(pic8259_device::ir1_w));
MCFG_DEVICE_ADD("fd1797", FD1797, 2000000)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE("pic8259_2", pic8259_device, ir1_w))
@@ -797,9 +797,10 @@ MACHINE_CONFIG_START(altos8600_state::altos8600)
MCFG_FLOPPY_DRIVE_ADD("fd1797:2", altos8600_floppies, "8dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("fd1797:3", altos8600_floppies, "8dd", floppy_image_device::default_floppy_formats)
- MCFG_DEVICE_ADD("ics", ACS8600_ICS, "dmac")
- MCFG_ACS8600_ICS_IRQ1(WRITELINE("pic8259_1", pic8259_device, ir5_w))
- MCFG_ACS8600_ICS_IRQ2(WRITELINE("pic8259_1", pic8259_device, ir6_w))
+ ACS8600_ICS(config, m_ics, 0);
+ m_ics->set_host_space(m_dmac, AS_PROGRAM); // TODO: fixme
+ m_ics->irq1_callback().set(m_pic1, FUNC(pic8259_device::ir5_w));
+ m_ics->irq2_callback().set(m_pic1, FUNC(pic8259_device::ir6_w));
MCFG_HARDDISK_ADD("hdd")
MACHINE_CONFIG_END