summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/coco12.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/coco12.cpp')
-rw-r--r--src/mame/drivers/coco12.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index df8a8c60d12..210e81f4e2d 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -492,13 +492,16 @@ void coco12_state::coco(machine_config &config)
m_maincpu->set_dasm_override(FUNC(coco_state::dasm_override));
// devices
+ INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
+ INPUT_MERGER_ANY_HIGH(config, m_firqs).output_handler().set_inputline(m_maincpu, M6809_FIRQ_LINE);
+
pia6821_device &pia0(PIA6821(config, PIA0_TAG, 0));
pia0.writepa_handler().set(FUNC(coco_state::pia0_pa_w));
pia0.writepb_handler().set(FUNC(coco_state::pia0_pb_w));
pia0.ca2_handler().set(FUNC(coco_state::pia0_ca2_w));
pia0.cb2_handler().set(FUNC(coco_state::pia0_cb2_w));
- pia0.irqa_handler().set(FUNC(coco_state::pia0_irq_a));
- pia0.irqb_handler().set(FUNC(coco_state::pia0_irq_b));
+ pia0.irqa_handler().set(m_irqs, FUNC(input_merger_device::in_w<0>));
+ pia0.irqb_handler().set(m_irqs, FUNC(input_merger_device::in_w<1>));
pia6821_device &pia1(PIA6821(config, PIA1_TAG, 0));
pia1.readpa_handler().set(FUNC(coco_state::pia1_pa_r));
@@ -507,8 +510,8 @@ void coco12_state::coco(machine_config &config)
pia1.writepb_handler().set(FUNC(coco_state::pia1_pb_w));
pia1.ca2_handler().set(FUNC(coco_state::pia1_ca2_w));
pia1.cb2_handler().set(FUNC(coco_state::pia1_cb2_w));
- pia1.irqa_handler().set(FUNC(coco_state::pia1_firq_a));
- pia1.irqb_handler().set(FUNC(coco_state::pia1_firq_b));
+ pia1.irqa_handler().set(m_firqs, FUNC(input_merger_device::in_w<0>));
+ pia1.irqb_handler().set(m_firqs, FUNC(input_merger_device::in_w<1>));
SAM6883(config, m_sam, XTAL(14'318'181), m_maincpu);
m_sam->set_addrmap(0, &coco12_state::coco_ram);