From 0922c7efe561a8c74152e315e0c89a6c36b2405e Mon Sep 17 00:00:00 2001 From: mamehaze <140764005+mamehaze@users.noreply.github.com> Date: Thu, 2 Nov 2023 16:22:58 +0000 Subject: tvgames/xavix.cpp: Treat taikodp drum input as digital to avoid issue with multiple hits registering. (#11620) The same workaround is used for taiko arcade games on Namco System 10. --- src/mame/tvgames/xavix.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mame/tvgames/xavix.cpp b/src/mame/tvgames/xavix.cpp index 0901fe85cd6..023068f16b5 100644 --- a/src/mame/tvgames/xavix.cpp +++ b/src/mame/tvgames/xavix.cpp @@ -590,10 +590,20 @@ static INPUT_PORTS_START( taikodp ) PORT_INCLUDE(xavix_an) PORT_MODIFY("AN0") // 00 (read by one type of function, handled in timer interrupt at 0x1d92 in RAM) +#if 0 // should be more correct, but causes multiple hits to register PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) +#else + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_IMPULSE(1) + PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED ) +#endif PORT_MODIFY("AN1") // 01 (read by identical function to 00 but with different addresses, handled in timer interrupt at 0x1dbd in RAM) +#if 0 // should be more correct, but causes multiple hits to register PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) +#else + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_IMPULSE(1) + PORT_BIT( 0x7f, IP_ACTIVE_HIGH, IPT_UNUSED ) +#endif PORT_MODIFY("AN5") // 11 (read by different function, handled in timer interrupt at 0x1de8) (battery status related?) PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) -- cgit v1.2.3