From 95f48918b00b10324b0d7b5be0062ef9e82e829e Mon Sep 17 00:00:00 2001 From: angelosa Date: Sun, 13 Aug 2017 03:02:32 +0200 Subject: [PATCH] Lightgun checkpoint for Locked N Loaded (nw) --- src/mame/drivers/deco32.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp index 17fe6150867..072f3963d9a 100644 --- a/src/mame/drivers/deco32.cpp +++ b/src/mame/drivers/deco32.cpp @@ -528,10 +528,10 @@ READ32_MEMBER(dragngun_state::lockload_gun_mirror_r) switch(offset) { case 0: - return ioport("IN3")->read() | (ioport("LIGHT0_X")->read()) | (ioport("LIGHT0_X")->read()<<11) | (ioport("LIGHT0_Y")->read()<<19); + return ioport("IN3")->read() | (ioport("LIGHT0_X")->read()) | 0xffff800; case 1: - return ioport("IN4")->read() | (ioport("LIGHT1_X")->read()) | (ioport("LIGHT1_X")->read()<<11) | (ioport("LIGHT1_Y")->read()<<19); + return ioport("IN4")->read() | (ioport("LIGHT1_X")->read()) | 0xffff800; } return ~0; @@ -2241,17 +2241,18 @@ MACHINE_CONFIG_END TIMER_DEVICE_CALLBACK_MEMBER(dragngun_state::lockload_vbl_irq) { int scanline = param; - + if(scanline == 31*8) { m_irq_source = 0; - m_maincpu->set_input_line(ARM_IRQ_LINE, HOLD_LINE); + m_maincpu->set_input_line(ARM_IRQ_LINE, ASSERT_LINE); } - if(scanline == 0) + // TODO: this occurs at lightgun Y positions + if(scanline == 64) { m_irq_source = 1; - m_maincpu->set_input_line(ARM_IRQ_LINE, HOLD_LINE); + m_maincpu->set_input_line(ARM_IRQ_LINE, ASSERT_LINE); } }