summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/lpci/southbridge.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/lpci/southbridge.cpp')
-rw-r--r--src/devices/bus/lpci/southbridge.cpp45
1 files changed, 23 insertions, 22 deletions
diff --git a/src/devices/bus/lpci/southbridge.cpp b/src/devices/bus/lpci/southbridge.cpp
index e9fec4c7514..01228cddc3b 100644
--- a/src/devices/bus/lpci/southbridge.cpp
+++ b/src/devices/bus/lpci/southbridge.cpp
@@ -25,7 +25,8 @@
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(southbridge_device::device_add_mconfig)
+void southbridge_device::device_add_mconfig(machine_config &config)
+{
PIT8254(config, m_pit8254, 0);
m_pit8254->set_clk<0>(4772720/4); // heartbeat IRQ
m_pit8254->out_handler<0>().set(FUNC(southbridge_device::at_pit8254_out0_changed));
@@ -88,27 +89,27 @@ MACHINE_CONFIG_START(southbridge_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
- MCFG_DEVICE_ADD("isabus", ISA16, 0)
- MCFG_ISA16_CPU(":maincpu")
- MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259_master", pic8259_device, ir3_w))
- MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259_master", pic8259_device, ir4_w))
- MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259_master", pic8259_device, ir5_w))
- MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259_master", pic8259_device, ir6_w))
- MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259_master", pic8259_device, ir7_w))
- MCFG_ISA_OUT_IRQ2_CB(WRITELINE("pic8259_slave", pic8259_device, ir1_w)) // in place of irq 2 on at irq 9 is used
- MCFG_ISA_OUT_IRQ10_CB(WRITELINE("pic8259_slave", pic8259_device, ir2_w))
- MCFG_ISA_OUT_IRQ11_CB(WRITELINE("pic8259_slave", pic8259_device, ir3_w))
- MCFG_ISA_OUT_IRQ12_CB(WRITELINE("pic8259_slave", pic8259_device, ir4_w))
- MCFG_ISA_OUT_IRQ14_CB(WRITELINE("pic8259_slave", pic8259_device, ir6_w))
- MCFG_ISA_OUT_IRQ15_CB(WRITELINE("pic8259_slave", pic8259_device, ir7_w))
- MCFG_ISA_OUT_DRQ0_CB(WRITELINE("dma8237_1", am9517a_device, dreq0_w))
- MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237_1", am9517a_device, dreq1_w))
- MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237_1", am9517a_device, dreq2_w))
- MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237_1", am9517a_device, dreq3_w))
- MCFG_ISA_OUT_DRQ5_CB(WRITELINE("dma8237_2", am9517a_device, dreq1_w))
- MCFG_ISA_OUT_DRQ6_CB(WRITELINE("dma8237_2", am9517a_device, dreq2_w))
- MCFG_ISA_OUT_DRQ7_CB(WRITELINE("dma8237_2", am9517a_device, dreq3_w))
-MACHINE_CONFIG_END
+ ISA16(config, m_isabus, 0);
+ m_isabus->set_cputag(":maincpu");
+ m_isabus->irq3_callback().set("pic8259_master", FUNC(pic8259_device::ir3_w));
+ m_isabus->irq4_callback().set("pic8259_master", FUNC(pic8259_device::ir4_w));
+ m_isabus->irq5_callback().set("pic8259_master", FUNC(pic8259_device::ir5_w));
+ m_isabus->irq6_callback().set("pic8259_master", FUNC(pic8259_device::ir6_w));
+ m_isabus->irq7_callback().set("pic8259_master", FUNC(pic8259_device::ir7_w));
+ m_isabus->irq2_callback().set("pic8259_slave", FUNC(pic8259_device::ir1_w)); // in place of irq 2 on at irq 9 is used
+ m_isabus->irq10_callback().set("pic8259_slave", FUNC(pic8259_device::ir2_w));
+ m_isabus->irq11_callback().set("pic8259_slave", FUNC(pic8259_device::ir3_w));
+ m_isabus->irq12_callback().set("pic8259_slave", FUNC(pic8259_device::ir4_w));
+ m_isabus->irq14_callback().set("pic8259_slave", FUNC(pic8259_device::ir6_w));
+ m_isabus->irq15_callback().set("pic8259_slave", FUNC(pic8259_device::ir7_w));
+ m_isabus->drq0_callback().set("dma8237_1", FUNC(am9517a_device::dreq0_w));
+ m_isabus->drq1_callback().set("dma8237_1", FUNC(am9517a_device::dreq1_w));
+ m_isabus->drq2_callback().set("dma8237_1", FUNC(am9517a_device::dreq2_w));
+ m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
+ m_isabus->drq5_callback().set("dma8237_2", FUNC(am9517a_device::dreq1_w));
+ m_isabus->drq6_callback().set("dma8237_2", FUNC(am9517a_device::dreq2_w));
+ m_isabus->drq7_callback().set("dma8237_2", FUNC(am9517a_device::dreq3_w));
+}
southbridge_device::southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),