neogeo (small) fixes:
* fixed popbounc controls bug (MT 598) * removed use of sprintf * added a note about service menu browsing when mahjong panel is ON
This commit is contained in:
parent
554531b6e9
commit
e51606997c
@ -149,7 +149,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( irrmaze )
|
||||
PORT_START("IN0")
|
||||
STANDARD_DIPS
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, "0")
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, (void *)0)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -181,23 +181,21 @@ static INPUT_PORTS_START( irrmaze )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN0-0")
|
||||
PORT_BIT( 0x00ff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
|
||||
|
||||
PORT_START("IN0-1")
|
||||
PORT_BIT( 0x00ff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( popbounc )
|
||||
PORT_START("IN0")
|
||||
STANDARD_DIPS
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, "0")
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, (void *)0)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, "1")
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(multiplexed_controller_r, (void *)1)
|
||||
|
||||
STANDARD_IN2
|
||||
|
||||
@ -205,32 +203,30 @@ static INPUT_PORTS_START( popbounc )
|
||||
|
||||
STANDARD_IN4
|
||||
|
||||
/* Fake inputs read by CUSTOM_INPUT handlers */
|
||||
PORT_START("IN0-0")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x0090, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* note it needs it from 0x80 when using paddle */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
|
||||
|
||||
PORT_START("IN0-1")
|
||||
PORT_BIT( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x90, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* note it needs it from 0x80 when using paddle */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
||||
|
||||
PORT_START("IN1-0")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0090, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* note it needs it from 0x80 when using paddle */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("IN1-1") /* IN1 multiplexed */
|
||||
PORT_BIT( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20) PORT_PLAYER(2)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_START("IN1-1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x90, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* note it needs it from 0x80 when using paddle */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -171,6 +171,24 @@ NOTE: On CTRG2-B, The "A" lines start at "A1". If you trace this on an
|
||||
* Distorted jumping sound in Nightmare in the Dark
|
||||
* Ninja Combat sometimes glitches
|
||||
|
||||
|
||||
Mahjong Panel notes (2009-03 FP):
|
||||
=================================
|
||||
|
||||
* In Service Mode menu with mahjong panel active, controls are as
|
||||
follows:
|
||||
|
||||
A = select / up (for options)
|
||||
B = down (for options)
|
||||
C = go to previous menu
|
||||
E = up (for menu entries)
|
||||
F = down (for menu entries)
|
||||
G = left (for options)
|
||||
H = right (for options)
|
||||
|
||||
* These only work with Japanese BIOS, but I think it's not a bug: I
|
||||
doubt other bios were programmed to be compatible with mahjong panels
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -413,11 +431,14 @@ static void select_controller(UINT8 data)
|
||||
|
||||
static CUSTOM_INPUT( multiplexed_controller_r )
|
||||
{
|
||||
char tag[40];
|
||||
int port = (FPTR)param;
|
||||
|
||||
static const char *const cntrl[2][2] =
|
||||
{
|
||||
{ "IN0-0", "IN0-1" }, { "IN1-0", "IN1-1" }
|
||||
};
|
||||
|
||||
sprintf(tag, "IN%s-%d", (const char *)param, controller_select & 0x01);
|
||||
|
||||
return input_port_read(field->port->machine, tag);
|
||||
return input_port_read_safe(field->port->machine, cntrl[port][controller_select & 0x01], 0x00);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user