summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/freekick.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/freekick.cpp')
-rw-r--r--src/mame/drivers/freekick.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mame/drivers/freekick.cpp b/src/mame/drivers/freekick.cpp
index b8aea34a563..2c10ba20c7a 100644
--- a/src/mame/drivers/freekick.cpp
+++ b/src/mame/drivers/freekick.cpp
@@ -113,12 +113,14 @@ WRITE8_MEMBER(freekick_state::pbillrd_bankswitch_w)
WRITE_LINE_MEMBER(freekick_state::nmi_enable_w)
{
m_nmi_en = state;
+ if (!m_nmi_en)
+ m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-INTERRUPT_GEN_MEMBER(freekick_state::freekick_irqgen)
+WRITE_LINE_MEMBER(freekick_state::vblank_irq)
{
- if (m_nmi_en)
- device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
+ if (state && m_nmi_en)
+ m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
}
WRITE8_MEMBER(freekick_state::oigas_5_w)
@@ -735,7 +737,6 @@ MACHINE_CONFIG_START(freekick_state::omega)
MCFG_CPU_IO_MAP(omega_io_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
- MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
MCFG_DEVICE_ADD("outlatch", LS259, 0) // 3M
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(freekick_state, flipscreen_w))
@@ -749,6 +750,7 @@ MACHINE_CONFIG_START(freekick_state::omega)
MCFG_SCREEN_RAW_PARAMS(XTAL(18'432'000)/3, 768/2, 0, 512/2, 263, 0+16, 224+16) // unknown divisor
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(freekick_state, vblank_irq))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", freekick)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 0x200)
@@ -775,7 +777,6 @@ MACHINE_CONFIG_START(freekick_state::base)
MCFG_CPU_ADD("maincpu", Z80, XTAL(12'000'000)/4)
MCFG_CPU_PROGRAM_MAP(pbillrd_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
- MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
MCFG_DEVICE_ADD("outlatch", LS259, 0)
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(freekick_state, coin1_w))
@@ -787,6 +788,7 @@ MACHINE_CONFIG_START(freekick_state::base)
MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000)/2, 768/2, 0, 512/2, 263, 0+16, 224+16)
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_pbillrd)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(freekick_state, vblank_irq))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", freekick)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 0x200)
@@ -824,7 +826,6 @@ MACHINE_CONFIG_START(freekick_state::pbillrdm)
MCFG_CPU_PROGRAM_MAP(pbillrd_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
- MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::freekick)
@@ -887,7 +888,6 @@ MACHINE_CONFIG_START(freekick_state::gigasm)
MCFG_CPU_IO_MAP(gigas_io_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
- MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(freekick_state, flipscreen_w))