summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nemesis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nemesis.cpp')
-rw-r--r--src/mame/drivers/nemesis.cpp28
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)