diff options
Diffstat (limited to 'src/mame/drivers/coco12.cpp')
-rw-r--r-- | src/mame/drivers/coco12.cpp | 11 |
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); |