konamigx.cpp: fix Golfing Greats 2 inputs [Angelo Salese]

This commit is contained in:
angelosa 2020-04-12 19:09:20 +02:00
parent c90443af88
commit 9a42cf6c6d

View File

@ -1211,6 +1211,7 @@ static INPUT_PORTS_START( konamigx )
PORT_INCLUDE( common )
PORT_MODIFY("SYSTEM_DSW")
// TODO: nuke this
PORT_DIPNAME( 0x00010000, 0x00010000, "Foo")
PORT_DIPSETTING( 0x00000000, "Foo")
PORT_DIPSETTING( 0x00010000, "Bar")
@ -1279,6 +1280,109 @@ static INPUT_PORTS_START( racinfrc )
PORT_START("AN1")
PORT_BIT( 0xff, 0xf0, IPT_PEDAL ) PORT_MINMAX(0x90,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(35) PORT_CODE_INC(KEYCODE_LCONTROL) PORT_REVERSE
PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPUNUSED_DIPLOC( 0x01000000, 0x01000000, "SW:1")
PORT_DIPUNUSED_DIPLOC( 0x02000000, 0x02000000, "SW:2")
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW:3")
PORT_DIPSETTING( 0x04000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x18000000, 0x00000000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:4,5")
PORT_DIPSETTING( 0x18000000, "2in1" )
PORT_DIPSETTING( 0x10000000, "Upright (Mono)" )
PORT_DIPSETTING( 0x08000000, DEF_STR( Unused ) ) // ???
PORT_DIPSETTING( 0x00000000, "Upright (Stereo)" )
PORT_DIPNAME( 0xe0000000, 0xe0000000, "Car Number & Color" ) PORT_DIPLOCATION("SW:6,7,8")
PORT_DIPSETTING( 0xe0000000, "No. 1 (Red)" )
PORT_DIPSETTING( 0xc0000000, "No. 2 (Blue)" )
PORT_DIPSETTING( 0xa0000000, "No. 3 (Yellow)" )
PORT_DIPSETTING( 0x80000000, "No. 4 (Green)" )
PORT_DIPSETTING( 0x60000000, "No. 5 (Red)" )
PORT_DIPSETTING( 0x40000000, "No. 6 (Blue)" )
PORT_DIPSETTING( 0x20000000, "No. 7 (Yellow)" )
PORT_DIPSETTING( 0x00000000, "No. 8 (Green)" )
INPUT_PORTS_END
static INPUT_PORTS_START( opengolf )
PORT_INCLUDE( racinfrc )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) PORT_NAME("P4 Shoot")
PORT_BIT( 0x00000060, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) PORT_NAME("P3 Shoot")
PORT_BIT( 0x00006000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Shoot")
PORT_BIT( 0x00600000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Shoot")
PORT_BIT( 0x60000000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("AN0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("AN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("SYSTEM_DSW")
// TODO: these coin mechs are available only when coin slots is in independent mode
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_SERVICE4 )
PORT_DIPNAME( 0x01000000, 0x00000000, "Sound Output" ) PORT_DIPLOCATION("SW:1")
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, "Coin Slots" ) PORT_DIPLOCATION("SW:2")
PORT_DIPSETTING( 0x02000000, "Common" )
PORT_DIPSETTING( 0x00000000, "Independent" )
PORT_DIPNAME( 0x04000000, 0x00000000, "Number of Players" ) PORT_DIPLOCATION("SW:3")
PORT_DIPSETTING( 0x04000000, "2P" )
PORT_DIPSETTING( 0x00000000, "4P" )
PORT_DIPUNUSED_DIPLOC( 0x08000000, 0x08000000, "SW:4")
PORT_DIPUNUSED_DIPLOC( 0x10000000, 0x10000000, "SW:5")
PORT_DIPUNUSED_DIPLOC( 0x20000000, 0x20000000, "SW:6")
PORT_DIPUNUSED_DIPLOC( 0x40000000, 0x40000000, "SW:7")
PORT_DIPUNUSED_DIPLOC( 0x80000000, 0x80000000, "SW:8")
INPUT_PORTS_END
static INPUT_PORTS_START( ggreats2 )
PORT_INCLUDE( opengolf )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED ) // P3/P4 connector
// Advice is on top of the ball device
// According to the attract mode all buttons are actually two "half" buttons for each couple
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Direction/Left")
PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Direction/Right")
PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Club/Left")
PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) PORT_NAME("P2 Club/Right")
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) PORT_NAME("P2 Stance/Left")
PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2) PORT_NAME("P2 Stance/Right")
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Advice")
PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Direction/Left")
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Direction/Right")
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("P1 Club/Left")
PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME("P1 Club/Right")
PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME("P1 Stance/Left")
PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME("P1 Stance/Right")
PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Advice")
PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_START1 )
PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00000c00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0000c000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPUNUSED_DIPLOC( 0x04000000, 0x04000000, "SW:3")
// TODO: if on 3P/4P mode inputs are re-routed (ignore it for now)
PORT_DIPNAME( 0x08000000, 0x00000000, "Select Connector" ) PORT_DIPLOCATION("SW:4")
PORT_DIPSETTING( 0x08000000, "3P 4P" )
PORT_DIPSETTING( 0x00000000, "1P 2P" )
PORT_MODIFY("AN0")
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(35) PORT_REVERSE PORT_PLAYER(1)
PORT_MODIFY("AN1")
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(35) PORT_REVERSE PORT_PLAYER(2)
INPUT_PORTS_END
static INPUT_PORTS_START( le2 )
@ -3935,9 +4039,9 @@ GAME( 1994, konamigx, 0, konamigx_bios, konamigx, konamigx_state, init_k
GAME( 1994, racinfrc, konamigx, racinfrc, racinfrc, konamigx_state, init_posthack, ROT0, "Konami", "Racin' Force (ver EAC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN )
GAME( 1994, racinfrcu, racinfrc, racinfrc, racinfrc, konamigx_state, init_posthack, ROT0, "Konami", "Racin' Force (ver UAB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN )
GAME( 1994, opengolf, konamigx, opengolf, racinfrc, konamigx_state, init_posthack, ROT0, "Konami", "Konami's Open Golf Championship (ver EAE)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
GAME( 1994, opengolf2, opengolf, opengolf, racinfrc, konamigx_state, init_posthack, ROT0, "Konami", "Konami's Open Golf Championship (ver EAD)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
GAME( 1994, ggreats2, opengolf, opengolf, racinfrc, konamigx_state, init_posthack, ROT0, "Konami", "Golfing Greats 2 (ver JAC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
GAME( 1994, opengolf, konamigx, opengolf, opengolf, konamigx_state, init_posthack, ROT0, "Konami", "Konami's Open Golf Championship (ver EAE)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
GAME( 1994, opengolf2, opengolf, opengolf, opengolf, konamigx_state, init_posthack, ROT0, "Konami", "Konami's Open Golf Championship (ver EAD)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
GAME( 1994, ggreats2, opengolf, opengolf, ggreats2, konamigx_state, init_posthack, ROT0, "Konami", "Golfing Greats 2 (ver JAC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 2: totally stock, sometimes with funny protection chips on the ROM board */