summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/ngen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/ngen.c')
-rw-r--r--src/mess/drivers/ngen.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mess/drivers/ngen.c b/src/mess/drivers/ngen.c
index b709997c316..f81ad75884f 100644
--- a/src/mess/drivers/ngen.c
+++ b/src/mess/drivers/ngen.c
@@ -120,6 +120,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(fdc_irq_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
DECLARE_WRITE8_MEMBER(fdc_control_w);
+ DECLARE_READ8_MEMBER(irq_cb);
protected:
virtual void machine_reset();
@@ -481,6 +482,11 @@ MC6845_UPDATE_ROW( ngen_state::crtc_update_row )
}
}
+READ8_MEMBER( ngen_state::irq_cb )
+{
+ return m_pic->acknowledge();
+}
+
void ngen_state::machine_reset()
{
m_port00 = 0;
@@ -538,8 +544,9 @@ static MACHINE_CONFIG_START( ngen, ngen_state )
MCFG_CPU_IO_MAP(ngen_io)
MCFG_80186_CHIP_SELECT_CB(WRITE16(ngen_state, cpu_peripheral_cb))
MCFG_80186_TMROUT1_HANDLER(WRITELINE(ngen_state, cpu_timer_w))
+ MCFG_80186_IRQ_SLAVE_ACK(READ8(ngen_state, irq_cb))
- MCFG_PIC8259_ADD( "pic", INPUTLINE("maincpu", 0), VCC, NULL )
+ MCFG_PIC8259_ADD( "pic", DEVWRITELINE("maincpu",i80186_cpu_device,int0_w), VCC, NULL )
MCFG_DEVICE_ADD("pit", PIT8254, 0)
MCFG_PIT8253_CLK0(78120/4) // 19.53kHz, /4 of the CPU timer output?
@@ -629,6 +636,8 @@ static MACHINE_CONFIG_DERIVED( ngen386, ngen )
MCFG_CPU_REPLACE("maincpu", I386, XTAL_50MHz / 2)
MCFG_CPU_PROGRAM_MAP(ngen386_mem)
MCFG_CPU_IO_MAP(ngen386_io)
+ MCFG_DEVICE_REMOVE("pic")
+ MCFG_PIC8259_ADD( "pic", INPUTLINE("maincpu", 0), VCC, NULL )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( 386i, ngen386 )