konamigx.cpp: rework dips for all games and add dip locations [Angelo Salese]

This commit is contained in:
angelosa 2020-04-12 20:56:42 +02:00
parent a98816be98
commit c8cbf8abb2

View File

@ -1198,7 +1198,28 @@ static INPUT_PORTS_START( common )
PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_SERVICE2 )
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED ) /* DIP#1 & DIP#2 */ // most common dip config
PORT_DIPNAME( 0x01000000, 0x00000000, "Sound Output" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x04000000, 0x04000000, "SW1:3")
PORT_DIPUNUSED_DIPLOC( 0x08000000, 0x08000000, "SW1:4")
PORT_DIPUNUSED_DIPLOC( 0x10000000, 0x10000000, "SW1:5")
PORT_DIPUNUSED_DIPLOC( 0x20000000, 0x20000000, "SW1:6")
PORT_DIPUNUSED_DIPLOC( 0x40000000, 0x40000000, "SW1:7")
PORT_DIPUNUSED_DIPLOC( 0x80000000, 0x80000000, "SW1:8")
// these doesn't seem to be used by anything so far
PORT_DIPUNUSED_DIPLOC( 0x00010000, 0x00010000, "SW2:1")
PORT_DIPUNUSED_DIPLOC( 0x00020000, 0x00020000, "SW2:2")
PORT_DIPUNUSED_DIPLOC( 0x00040000, 0x00040000, "SW2:3")
PORT_DIPUNUSED_DIPLOC( 0x00080000, 0x00080000, "SW2:4")
PORT_DIPUNUSED_DIPLOC( 0x00100000, 0x00100000, "SW2:5")
PORT_DIPUNUSED_DIPLOC( 0x00200000, 0x00200000, "SW2:6")
PORT_DIPUNUSED_DIPLOC( 0x00400000, 0x00400000, "SW2:7")
PORT_DIPUNUSED_DIPLOC( 0x00800000, 0x00800000, "SW2:8")
PORT_START( "EEPROMOUT" ) PORT_START( "EEPROMOUT" )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write)
@ -1206,66 +1227,9 @@ static INPUT_PORTS_START( common )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, clk_write) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, clk_write)
INPUT_PORTS_END INPUT_PORTS_END
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")
PORT_DIPNAME( 0x00020000, 0x00020000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x00020000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x00040000, 0x00040000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00040000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x00080000, 0x00080000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00080000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x00100000, 0x00100000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00100000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x00200000, 0x00200000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00200000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x00400000, 0x00400000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00400000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x00800000, 0x00800000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00800000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x01000000, 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x08000000, 0x08000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x40000000, 0x40000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x80000000, 0x80000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( racinfrc ) static INPUT_PORTS_START( racinfrc )
/* racin force needs Player 2 Button 1 ("IN3" & 0x10) set to get past the calibration screen */ /* racin force needs Player 2 Button 1 ("IN3" & 0x10) set to get past the calibration screen */
PORT_INCLUDE( konamigx ) PORT_INCLUDE( common )
PORT_START("ADC-WRPORT") PORT_START("ADC-WRPORT")
PORT_BIT( 0x1000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("adc0834", adc083x_device, clk_write) PORT_BIT( 0x1000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("adc0834", adc083x_device, clk_write)
@ -1282,18 +1246,17 @@ static INPUT_PORTS_START( racinfrc )
PORT_BIT( 0xff, 0xf0, IPT_PEDAL ) PORT_MINMAX(0x90,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(35) PORT_CODE_INC(KEYCODE_LCONTROL) PORT_REVERSE 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_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_DIPUNUSED_DIPLOC( 0x01000000, 0x01000000, "SW1:1")
PORT_DIPUNUSED_DIPLOC( 0x01000000, 0x01000000, "SW:1") PORT_DIPUNUSED_DIPLOC( 0x02000000, 0x02000000, "SW1:2")
PORT_DIPUNUSED_DIPLOC( 0x02000000, 0x02000000, "SW:2") PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW:3")
PORT_DIPSETTING( 0x04000000, DEF_STR( No ) ) PORT_DIPSETTING( 0x04000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( Yes ) ) PORT_DIPSETTING( 0x00000000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x18000000, 0x00000000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW:4,5") PORT_DIPNAME( 0x18000000, 0x00000000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x18000000, "2in1" ) PORT_DIPSETTING( 0x18000000, "2in1" )
PORT_DIPSETTING( 0x10000000, "Upright (Mono)" ) PORT_DIPSETTING( 0x10000000, "Upright (Mono)" )
PORT_DIPSETTING( 0x08000000, DEF_STR( Unused ) ) // ??? PORT_DIPSETTING( 0x08000000, DEF_STR( Unused ) ) // ???
PORT_DIPSETTING( 0x00000000, "Upright (Stereo)" ) PORT_DIPSETTING( 0x00000000, "Upright (Stereo)" )
PORT_DIPNAME( 0xe0000000, 0xe0000000, "Car Number & Color" ) PORT_DIPLOCATION("SW:6,7,8") PORT_DIPNAME( 0xe0000000, 0xe0000000, "Car Number & Color" ) PORT_DIPLOCATION("SW1:6,7,8")
PORT_DIPSETTING( 0xe0000000, "No. 1 (Red)" ) PORT_DIPSETTING( 0xe0000000, "No. 1 (Red)" )
PORT_DIPSETTING( 0xc0000000, "No. 2 (Blue)" ) PORT_DIPSETTING( 0xc0000000, "No. 2 (Blue)" )
PORT_DIPSETTING( 0xa0000000, "No. 3 (Yellow)" ) PORT_DIPSETTING( 0xa0000000, "No. 3 (Yellow)" )
@ -1329,20 +1292,20 @@ static INPUT_PORTS_START( opengolf )
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_SERVICE4 )
PORT_DIPNAME( 0x01000000, 0x00000000, "Sound Output" ) PORT_DIPLOCATION("SW:1") PORT_DIPNAME( 0x01000000, 0x00000000, "Sound Output" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo )) PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono )) PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, "Coin Slots" ) PORT_DIPLOCATION("SW:2") PORT_DIPNAME( 0x02000000, 0x02000000, "Coin Slots" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02000000, "Common" ) PORT_DIPSETTING( 0x02000000, "Common" )
PORT_DIPSETTING( 0x00000000, "Independent" ) PORT_DIPSETTING( 0x00000000, "Independent" )
PORT_DIPNAME( 0x04000000, 0x00000000, "Number of Players" ) PORT_DIPLOCATION("SW:3") PORT_DIPNAME( 0x04000000, 0x00000000, "Number of Players" ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04000000, "2P" ) PORT_DIPSETTING( 0x04000000, "2P" )
PORT_DIPSETTING( 0x00000000, "4P" ) PORT_DIPSETTING( 0x00000000, "4P" )
PORT_DIPUNUSED_DIPLOC( 0x08000000, 0x08000000, "SW:4") PORT_DIPUNUSED_DIPLOC( 0x08000000, 0x08000000, "SW1:4")
PORT_DIPUNUSED_DIPLOC( 0x10000000, 0x10000000, "SW:5") PORT_DIPUNUSED_DIPLOC( 0x10000000, 0x10000000, "SW1:5")
PORT_DIPUNUSED_DIPLOC( 0x20000000, 0x20000000, "SW:6") PORT_DIPUNUSED_DIPLOC( 0x20000000, 0x20000000, "SW1:6")
PORT_DIPUNUSED_DIPLOC( 0x40000000, 0x40000000, "SW:7") PORT_DIPUNUSED_DIPLOC( 0x40000000, 0x40000000, "SW1:7")
PORT_DIPUNUSED_DIPLOC( 0x80000000, 0x80000000, "SW:8") PORT_DIPUNUSED_DIPLOC( 0x80000000, 0x80000000, "SW1:8")
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( ggreats2 ) static INPUT_PORTS_START( ggreats2 )
@ -1372,9 +1335,9 @@ static INPUT_PORTS_START( ggreats2 )
PORT_MODIFY("SYSTEM_DSW") PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00000c00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x00000c00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0000c000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0000c000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPUNUSED_DIPLOC( 0x04000000, 0x04000000, "SW:3") PORT_DIPUNUSED_DIPLOC( 0x04000000, 0x04000000, "SW1:3")
// TODO: if on 3P/4P mode inputs are re-routed (ignore it for now) // 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_DIPNAME( 0x08000000, 0x00000000, "Select Connector" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08000000, "3P 4P" ) PORT_DIPSETTING( 0x08000000, "3P 4P" )
PORT_DIPSETTING( 0x00000000, "1P 2P" ) PORT_DIPSETTING( 0x00000000, "1P 2P" )
@ -1393,7 +1356,6 @@ static INPUT_PORTS_START( le2 )
PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Unmapped P1 B1 for gun games */ PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Unmapped P1 B1 for gun games */
PORT_MODIFY("SERVICE") PORT_MODIFY("SERVICE")
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* for gun games */
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* for gun games */ PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* for gun games */
@ -1402,34 +1364,28 @@ static INPUT_PORTS_START( le2 )
PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* for gun games */
PORT_MODIFY("SYSTEM_DSW") PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Stereo )) PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Stereo )) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01000000, DEF_STR( Stereo )) PORT_DIPSETTING( 0x01000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x00000000, DEF_STR( Mono )) PORT_DIPSETTING( 0x00000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, "Coin Mechanism") PORT_DIPNAME( 0x02000000, 0x02000000, "Coin Mechanism" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02000000, "Common") PORT_DIPSETTING( 0x02000000, "Common" )
PORT_DIPSETTING( 0x00000000, "Independent") PORT_DIPSETTING( 0x00000000, "Independent" )
// TODO: inverted for le2j PORT_DIPNAME( 0x04000000, 0x04000000, "Stage Select" ) PORT_DIPLOCATION("SW1:3")
PORT_DIPNAME( 0x04000000, 0x04000000, "Stage Select" ) PORT_DIPSETTING( 0x04000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00000000, DEF_STR( Yes ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) ) PORT_DIPNAME( 0x08000000, 0x00000000, "Mirror" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPNAME( 0x08000000, 0x00000000, "Mirror" ) PORT_DIPSETTING( 0x00000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08000000, DEF_STR( Yes ) )
PORT_DIPSETTING( 0x08000000, DEF_STR( On ) ) PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) ) PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) ) PORT_DIPUNUSED_DIPLOC( 0x20000000, 0x20000000, "SW1:6")
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) ) PORT_DIPUNUSED_DIPLOC( 0x40000000, 0x40000000, "SW1:7")
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) ) PORT_DIPUNUSED_DIPLOC( 0x80000000, 0x80000000, "SW1:8")
PORT_DIPNAME( 0x40000000, 0x40000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x80000000, 0x80000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_START("LIGHT0_X") /* mask default type sens delta min max */ PORT_START("LIGHT0_X") /* mask default type sens delta min max */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
@ -1455,35 +1411,36 @@ static INPUT_PORTS_START( le2_flip )
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_REVERSE PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_REVERSE
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( le2u )
PORT_INCLUDE( le2_flip )
PORT_MODIFY("SYSTEM_DSW")
// cannot set mirror and flip on US rev
PORT_DIPUNUSED_DIPLOC( 0x08000000, 0x08000000, "SW1:4")
PORT_DIPUNUSED_DIPLOC( 0x10000000, 0x10000000, "SW1:5")
PORT_DIPUNUSED_DIPLOC( 0x20000000, 0x20000000, "SW1:6")
PORT_DIPUNUSED_DIPLOC( 0x40000000, 0x40000000, "SW1:7")
PORT_DIPUNUSED_DIPLOC( 0x80000000, 0x80000000, "SW1:8")
INPUT_PORTS_END
static INPUT_PORTS_START( le2j )
PORT_INCLUDE( le2_flip )
PORT_MODIFY("SYSTEM_DSW")
// inverted defaults
PORT_DIPNAME( 0x04000000, 0x04000000, "Stage Select" ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04000000, DEF_STR( Yes ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( No ) )
PORT_DIPNAME( 0x08000000, 0x00000000, "Mirror" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( Yes ) )
INPUT_PORTS_END
static INPUT_PORTS_START( gokuparo ) static INPUT_PORTS_START( gokuparo )
PORT_INCLUDE( common ) PORT_INCLUDE( common )
PORT_MODIFY("SYSTEM_DSW") PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00008000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x00008000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x01000000, 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x08000000, 0x08000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x40000000, 0x40000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x80000000, 0x80000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( puzldama ) static INPUT_PORTS_START( puzldama )
@ -1491,31 +1448,20 @@ static INPUT_PORTS_START( puzldama )
PORT_MODIFY("SYSTEM_DSW") PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00008000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x00008000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x01000000, 0x00000000, DEF_STR( Stereo )) PORT_DIPUNUSED_DIPLOC( 0x02000000, 0x02000000, "SW1:2")
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo )) PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) ) PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x08000000, 0x08000000, DEF_STR( Cabinet ) ) INPUT_PORTS_END
static INPUT_PORTS_START( tokkae )
PORT_INCLUDE( puzldama )
PORT_MODIFY("SYSTEM_DSW")
PORT_DIPNAME( 0x08000000, 0x08000000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08000000, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x08000000, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00000000, "Vs. cabinet" ) // unemulated, supposedly same as Type 3/4 games?
PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00000000, "Vs. Cabinet" )
PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x40000000, 0x40000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x80000000, 0x80000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( High ) )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( dragoonj ) static INPUT_PORTS_START( dragoonj )
@ -1541,31 +1487,6 @@ static INPUT_PORTS_START( dragoonj )
PORT_MODIFY("SYSTEM_DSW") PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00008000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x00008000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_DIPNAME( 0x01000000, 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x08000000, 0x08000000, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x08000000, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00000000, "Vs. cabinet" )
PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x40000000, 0x40000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x80000000, 0x80000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( High ) )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( type3 ) static INPUT_PORTS_START( type3 )
@ -1576,31 +1497,19 @@ static INPUT_PORTS_START( type3 )
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_SERVICE3 )
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_SERVICE4 )
PORT_DIPNAME( 0x01000000, 0x00000000, DEF_STR( Stereo )) // TODO: this fallbacks to mono if number of screens is 2
PORT_DIPNAME( 0x01000000, 0x00000000, "Sound output" ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo )) PORT_DIPSETTING( 0x00000000, DEF_STR( Stereo ))
PORT_DIPSETTING( 0x01000000, DEF_STR( Mono )) PORT_DIPSETTING( 0x01000000, DEF_STR( Mono ))
PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Flip_Screen ) ) PORT_DIPNAME( 0x02000000, 0x02000000, "Left Monitor Flip Screen" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) ) PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) ) PORT_DIPNAME( 0x04000000, 0x04000000, "Right Monitor Flip Screen" ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) ) PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x08000000, 0x08000000, "Screens" ) PORT_DIPNAME( 0x08000000, 0x08000000, "Number of Screens" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08000000, "1" ) PORT_DIPSETTING( 0x08000000, "1" )
PORT_DIPSETTING( 0x00000000, "2" ) PORT_DIPSETTING( 0x00000000, "2" )
PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x40000000, 0x40000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPNAME( 0x80000000, 0x80000000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPSETTING( 0x02000000, DEF_STR( High ) )
INPUT_PORTS_END INPUT_PORTS_END
@ -4028,7 +3937,7 @@ void konamigx_state::init_posthack()
/* year ROM parent machine inp init */ /* year ROM parent machine inp init */
/* dummy parent for the BIOS */ /* dummy parent for the BIOS */
GAME( 1994, konamigx, 0, konamigx_bios, konamigx, konamigx_state, init_konamigx, ROT0, "Konami", "System GX", MACHINE_IS_BIOS_ROOT ) GAME( 1994, konamigx, 0, konamigx_bios, common, konamigx_state, init_konamigx, ROT0, "Konami", "System GX", MACHINE_IS_BIOS_ROOT )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 1: standard with an add-on 53936 on the ROM board, analog inputs, */ /* Type 1: standard with an add-on 53936 on the ROM board, analog inputs, */
@ -4049,8 +3958,8 @@ GAME( 1994, ggreats2, opengolf, opengolf, ggreats2, konamigx_state, init_p
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
GAME( 1994, le2, konamigx, le2, le2, konamigx_state, init_konamigx, ROT0, "Konami", "Lethal Enforcers II: Gun Fighters (ver EAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, le2, konamigx, le2, le2, konamigx_state, init_konamigx, ROT0, "Konami", "Lethal Enforcers II: Gun Fighters (ver EAA)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1994, le2u, le2, le2, le2_flip, konamigx_state, init_konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: Gun Fighters (ver UAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, le2u, le2, le2, le2u, konamigx_state, init_konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: Gun Fighters (ver UAA)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1994, le2j, le2, le2, le2_flip, konamigx_state, init_konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: The Western (ver JAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, le2j, le2, le2, le2j, konamigx_state, init_konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: The Western (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1994, fantjour, konamigx, gokuparo, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Fantastic Journey (ver EAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, fantjour, konamigx, gokuparo, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Fantastic Journey (ver EAA)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1994, fantjoura, fantjour, gokuparo, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Fantastic Journey (ver AAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, fantjoura, fantjour, gokuparo, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Fantastic Journey (ver AAA)", MACHINE_IMPERFECT_GRAPHICS )
@ -4061,7 +3970,7 @@ GAME( 1994, puzldama, crzcross, gokuparo, puzldama, konamigx_state, init_p
GAME( 1995, tbyahhoo, konamigx, tbyahhoo, gokuparo, konamigx_state, init_posthack, ROT0, "Konami", "Twin Bee Yahhoo! (ver JAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, tbyahhoo, konamigx, tbyahhoo, gokuparo, konamigx_state, init_posthack, ROT0, "Konami", "Twin Bee Yahhoo! (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, tkmmpzdm, konamigx, konamigx_6bpp, puzldama, konamigx_state, init_konamigx, ROT0, "Konami", "Tokimeki Memorial Taisen Puzzle-dama (ver JAB)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, tkmmpzdm, konamigx, konamigx_6bpp, tokkae, konamigx_state, init_konamigx, ROT0, "Konami", "Tokimeki Memorial Taisen Puzzle-dama (ver JAB)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, dragoona, konamigx, dragoonj, dragoonj, konamigx_state, init_posthack, ROT0, "Konami", "Dragoon Might (ver AAB)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, dragoona, konamigx, dragoonj, dragoonj, konamigx_state, init_posthack, ROT0, "Konami", "Dragoon Might (ver AAB)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, dragoonj, dragoona, dragoonj, dragoonj, konamigx_state, init_posthack, ROT0, "Konami", "Dragoon Might (ver JAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, dragoonj, dragoona, dragoonj, dragoonj, konamigx_state, init_posthack, ROT0, "Konami", "Dragoon Might (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
@ -4071,15 +3980,15 @@ GAME( 1996, sexyparoa, sexyparo, sexyparo, gokuparo, konamigx_state, init_k
GAME( 1996, daiskiss, konamigx, konamigx, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Daisu-Kiss (ver JAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1996, daiskiss, konamigx, konamigx, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Daisu-Kiss (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1996, tokkae, konamigx, konamigx_6bpp, puzldama, konamigx_state, init_konamigx, ROT0, "Konami", "Taisen Tokkae-dama (ver JAA)", MACHINE_IMPERFECT_GRAPHICS ) GAME( 1996, tokkae, konamigx, konamigx_6bpp, tokkae, konamigx_state, init_konamigx, ROT0, "Konami", "Taisen Tokkae-dama (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
/* protection controls player ship direction in attract mode - doesn't impact playability */ /* protection controls player ship direction in attract mode - doesn't impact playability */
GAME( 1996, salmndr2, konamigx, salmndr2, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Salamander 2 (ver JAA)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_UNEMULATED_PROTECTION ) GAME( 1996, salmndr2, konamigx, salmndr2, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Salamander 2 (ver JAA)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_UNEMULATED_PROTECTION )
GAME( 1996, salmndr2a, salmndr2, salmndr2, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Salamander 2 (ver AAB)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_UNEMULATED_PROTECTION ) GAME( 1996, salmndr2a, salmndr2, salmndr2, gokuparo, konamigx_state, init_konamigx, ROT0, "Konami", "Salamander 2 (ver AAB)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_UNEMULATED_PROTECTION )
/* bad sprite colours, part of tilemap gets blanked out when a game starts (might be more protection) */ /* bad sprite colours, part of tilemap gets blanked out when a game starts (might be more protection) */
GAME( 1997, winspike, konamigx, winspike, konamigx, konamigx_state, init_konamigx, ROT0, "Konami", "Winning Spike (ver EAA)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) GAME( 1997, winspike, konamigx, winspike, common, konamigx_state, init_konamigx, ROT0, "Konami", "Winning Spike (ver EAA)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS )
GAME( 1997, winspikej, winspike, winspike, konamigx, konamigx_state, init_konamigx, ROT0, "Konami", "Winning Spike (ver JAA)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) GAME( 1997, winspikej, winspike, winspike, common, konamigx_state, init_konamigx, ROT0, "Konami", "Winning Spike (ver JAA)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 3: dual monitor output and 53936 on the ROM board, external palette RAM */ /* Type 3: dual monitor output and 53936 on the ROM board, external palette RAM */