summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/konamigx.cpp
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2020-04-12 19:09:20 +0200
committer angelosa <lordkale4@gmail.com>2020-04-12 19:09:20 +0200
commit9a42cf6c6da4feb8d24c0cbff443ed0267dbe751 (patch)
tree97ad64d06e84d0df3a098c197827f1e78fe52530 /src/mame/drivers/konamigx.cpp
parentc90443af887bf86df140aea60c6685aeb3544952 (diff)
konamigx.cpp: fix Golfing Greats 2 inputs [Angelo Salese]
Diffstat (limited to 'src/mame/drivers/konamigx.cpp')
-rw-r--r--src/mame/drivers/konamigx.cpp110
1 files changed, 107 insertions, 3 deletions
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index bece7338b8b..ff07fbcbf3b 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -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 */