summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ron.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ron.cpp')
-rw-r--r--src/mame/drivers/ron.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mame/drivers/ron.cpp b/src/mame/drivers/ron.cpp
index 082cb239050..36a5512d7f1 100644
--- a/src/mame/drivers/ron.cpp
+++ b/src/mame/drivers/ron.cpp
@@ -53,7 +53,7 @@ public:
// screen updates
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(ron);
- INTERRUPT_GEN_MEMBER(vblank_irq);
+ DECLARE_WRITE_LINE_MEMBER(vblank_irq);
DECLARE_WRITE8_MEMBER(output_w);
DECLARE_READ8_MEMBER(p1_mux_r);
@@ -143,6 +143,8 @@ uint32_t ron_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap,
WRITE8_MEMBER(ron_state::output_w)
{
m_nmi_enable = (data & 0x10) == 0x10;
+ if (!m_nmi_enable)
+ m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
if(data & 0xef)
printf("%02x\n",data);
@@ -427,10 +429,10 @@ PALETTE_INIT_MEMBER(ron_state, ron)
}
-INTERRUPT_GEN_MEMBER( ron_state::vblank_irq )
+WRITE_LINE_MEMBER(ron_state::vblank_irq)
{
- if (m_nmi_enable)
- device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
+ if (state && m_nmi_enable)
+ m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
}
READ8_MEMBER(ron_state::audio_cmd_r)
@@ -487,7 +489,6 @@ MACHINE_CONFIG_START(ron_state::ron)
MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK)
MCFG_CPU_PROGRAM_MAP(ron_map)
MCFG_CPU_IO_MAP(ron_io)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", ron_state, vblank_irq)
MCFG_CPU_ADD("audiocpu", I8035, SOUND_CLOCK)
MCFG_CPU_PROGRAM_MAP(ron_audio_map)
@@ -503,6 +504,7 @@ MACHINE_CONFIG_START(ron_state::ron)
MCFG_SCREEN_UPDATE_DRIVER(ron_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK, 320, 0, 256, 264, 0, 240)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(ron_state, vblank_irq))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ron)