diff options
Diffstat (limited to 'src/mame/drivers/nemesis.cpp')
-rw-r--r-- | src/mame/drivers/nemesis.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp index 50d0f5dc630..e1589cd380a 100644 --- a/src/mame/drivers/nemesis.cpp +++ b/src/mame/drivers/nemesis.cpp @@ -66,16 +66,16 @@ So this is the correct behavior of real hardware, not an emulation bug. #include "konamigt.lh" -INTERRUPT_GEN_MEMBER(nemesis_state::nemesis_interrupt) +WRITE_LINE_MEMBER(nemesis_state::nemesis_vblank_irq) { - if (m_irq_on) - device.execute().set_input_line(1, HOLD_LINE); + if (state && m_irq_on) + m_maincpu->set_input_line(1, HOLD_LINE); } -INTERRUPT_GEN_MEMBER(nemesis_state::blkpnthr_interrupt) +WRITE_LINE_MEMBER(nemesis_state::blkpnthr_vblank_irq) { - if (m_irq_on) - device.execute().set_input_line(2, HOLD_LINE); + if (state && m_irq_on) + m_maincpu->set_input_line(2, HOLD_LINE); } TIMER_DEVICE_CALLBACK_MEMBER(nemesis_state::konamigt_interrupt) @@ -1464,7 +1464,6 @@ MACHINE_CONFIG_START(nemesis_state::nemesis) MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ // 14318180/2, /* From schematics, should be accurate */ MCFG_CPU_PROGRAM_MAP(nemesis_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* From schematics, should be accurate */ MCFG_CPU_PROGRAM_MAP(sound_map) /* fixed */ @@ -1489,6 +1488,7 @@ MACHINE_CONFIG_START(nemesis_state::nemesis) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -1534,7 +1534,6 @@ MACHINE_CONFIG_START(nemesis_state::gx400) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(gx400_sound_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ MCFG_DEVICE_ADD("outlatch", LS259, 0) MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(nemesis_state, coin1_lockout_w)) @@ -1558,6 +1557,7 @@ MACHINE_CONFIG_START(nemesis_state::gx400) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("audiocpu", INPUT_LINE_NMI)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -1674,7 +1674,6 @@ MACHINE_CONFIG_START(nemesis_state::rf2_gx400) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(gx400_sound_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ MCFG_DEVICE_ADD("outlatch", LS259, 0) MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(nemesis_state, coin1_lockout_w)) @@ -1698,6 +1697,7 @@ MACHINE_CONFIG_START(nemesis_state::rf2_gx400) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("audiocpu", INPUT_LINE_NMI)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -1743,7 +1743,6 @@ MACHINE_CONFIG_START(nemesis_state::salamand) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216MHz */ MCFG_CPU_PROGRAM_MAP(salamand_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(sal_sound_map) @@ -1759,6 +1758,7 @@ MACHINE_CONFIG_START(nemesis_state::salamand) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -1794,7 +1794,6 @@ MACHINE_CONFIG_START(nemesis_state::blkpnthr) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ MCFG_CPU_PROGRAM_MAP(blkpnthr_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, blkpnthr_interrupt) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(blkpnthr_sound_map) @@ -1810,6 +1809,7 @@ MACHINE_CONFIG_START(nemesis_state::blkpnthr) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, blkpnthr_vblank_irq)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -1840,7 +1840,6 @@ MACHINE_CONFIG_START(nemesis_state::citybomb) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ MCFG_CPU_PROGRAM_MAP(citybomb_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(city_sound_map) @@ -1856,6 +1855,7 @@ MACHINE_CONFIG_START(nemesis_state::citybomb) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -1890,7 +1890,6 @@ MACHINE_CONFIG_START(nemesis_state::nyanpani) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ MCFG_CPU_PROGRAM_MAP(nyanpani_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(city_sound_map) @@ -1906,6 +1905,7 @@ MACHINE_CONFIG_START(nemesis_state::nyanpani) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(nemesis_state, nemesis_vblank_irq)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) @@ -2698,7 +2698,6 @@ MACHINE_CONFIG_START(nemesis_state::bubsys) MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ MCFG_CPU_PROGRAM_MAP(gx400_sound_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ MCFG_DEVICE_ADD("outlatch", LS259, 0) MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(nemesis_state, coin1_lockout_w)) @@ -2722,6 +2721,7 @@ MACHINE_CONFIG_START(nemesis_state::bubsys) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis) MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("audiocpu", INPUT_LINE_NMI)) MCFG_GFXDECODE_ADD("gfxdecode", "palette", nemesis) MCFG_PALETTE_ADD("palette", 2048) |