summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/deco_irq.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/deco_irq.cpp')
-rw-r--r--src/mame/machine/deco_irq.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/mame/machine/deco_irq.cpp b/src/mame/machine/deco_irq.cpp
index c8cef7fc0fe..65863df16ef 100644
--- a/src/mame/machine/deco_irq.cpp
+++ b/src/mame/machine/deco_irq.cpp
@@ -5,8 +5,20 @@
Data East IRQ Controller
TODO:
- - Lightgun support is only used by Locked 'n Loaded and works badly
-
+ - Lightgun support is only used by Locked 'n Loaded.
+ irq is likely an h AND v beam trigger, game counts via raster irqs until
+ it finds one of these, and where gun trigger x position is the H pixel
+ latch.
+ Two problems here:
+ 1. (assuming being correct) default calibration looks way offset.
+ 2. We currently give minmax defaults to Y latches to order to avoid
+ making the game to crash. These limits doesn't seem very sane,
+ for example lower limit is / 3 the full screen height (248 / 3 = 82).
+ Being an highly timing dependant behaviour ARM core is probably at
+ fault here.
+ - Understand if there's an additional switch for player 1 and player 2
+ wrt lightgun trigger.
+
***************************************************************************/
#include "emu.h"
@@ -212,13 +224,13 @@ u8 deco_irq_device::status_r()
WRITE_LINE_MEMBER( deco_irq_device::lightgun1_trigger_w )
{
if (state)
- m_lightgun_latch = m_lightgun1_cb() / 2;
+ m_lightgun_latch = m_lightgun1_cb();
}
WRITE_LINE_MEMBER( deco_irq_device::lightgun2_trigger_w )
{
if (state)
- m_lightgun_latch = m_lightgun2_cb() / 2;
+ m_lightgun_latch = m_lightgun2_cb();
}
WRITE_LINE_MEMBER( deco_irq_device::lightgun_irq_ack_w )