diff options
author | Michaël Banaan Ananas <happppp@users.noreply.github.com> | 2014-08-09 15:57:51 +0000 |
---|---|---|
committer | Michaël Banaan Ananas <happppp@users.noreply.github.com> | 2014-08-09 15:57:51 +0000 |
commit | 2ddc0ff00650d801215046d48932a6012b78452a (patch) | |
tree | 3f534ca9b33d221f5467a4d74b4b25010f727008 | |
parent | 5dfc9ec9302c77e14f36ac837f8f155585561054 (diff) |
add irqack
-rw-r--r-- | src/mame/drivers/gyruss.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c index 1c4a525478c..4be9dc5dedf 100644 --- a/src/mame/drivers/gyruss.c +++ b/src/mame/drivers/gyruss.c @@ -123,10 +123,8 @@ WRITE8_MEMBER(gyruss_state::gyruss_irq_clear_w) void gyruss_state::filter_w(address_space &space, int chip, int data ) { - int i; - //printf("chip %d - %02x\n", chip, data); - for (i = 0; i < 3; i++) + for (int i = 0; i < 3; i++) { /* low bit: 47000pF = 0.047uF */ /* high bit: 220000pF = 0.22uF */ @@ -160,11 +158,15 @@ WRITE8_MEMBER(gyruss_state::gyruss_i8039_irq_w) WRITE8_MEMBER(gyruss_state::master_nmi_mask_w) { m_master_nmi_mask = data & 1; + if (!m_master_nmi_mask) + m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); } WRITE8_MEMBER(gyruss_state::slave_irq_mask_w) { m_slave_irq_mask = data & 1; + if (!m_slave_irq_mask) + m_subcpu->set_input_line(0, CLEAR_LINE); } static ADDRESS_MAP_START( main_cpu1_map, AS_PROGRAM, 8, gyruss_state ) @@ -446,13 +448,13 @@ void gyruss_state::machine_start() INTERRUPT_GEN_MEMBER(gyruss_state::master_vblank_irq) { if (m_master_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); } INTERRUPT_GEN_MEMBER(gyruss_state::slave_vblank_irq) { if (m_slave_irq_mask) - device.execute().set_input_line(0, HOLD_LINE); + device.execute().set_input_line(0, ASSERT_LINE); } static MACHINE_CONFIG_START( gyruss, gyruss_state ) @@ -476,7 +478,6 @@ static MACHINE_CONFIG_START( gyruss, gyruss_state ) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) - /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) |