mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
Corrado confirms the bootleg gwar pcb has the rotary connector so added it back. Changed the default to be joystick only, though, and removed code duplication.
Fixed jcross cabinet dip switches.
This commit is contained in:
parent
8a5c4544b9
commit
c35d83a32b
@ -69,7 +69,7 @@ Notes:
|
||||
|
||||
- the original sgladiat pcb is verified to have huge sprite lag.
|
||||
|
||||
- RAM test fails in sgladiat when "Debug" Dip Switch is ON. Correct behaviour ?
|
||||
- RAM test fails in sgladiat when "Debug" Dip Switch is ON. Correct behaviour?
|
||||
|
||||
- there are no "Bonus Lives" settings in alphamis and arian (always 50k 100k)
|
||||
and only an "Occurence" Dip Switch.
|
||||
@ -175,6 +175,8 @@ TODO:
|
||||
- sgladiat: unknown writes to D200/DA00, probably video related. Also some bits
|
||||
of A600 are unknown.
|
||||
|
||||
- one unknown dip switch in sgladiat.
|
||||
|
||||
- ASO: unknown writes to CE00, probably video related. Always 05?
|
||||
Also unknown writes to F002 by the sound CPU, during reset.
|
||||
|
||||
@ -675,6 +677,18 @@ CUSTOM_INPUT( gwar_rotary )
|
||||
return value;
|
||||
}
|
||||
|
||||
CUSTOM_INPUT( gwarb_rotary )
|
||||
{
|
||||
if (input_port_read(field->port->machine, "JOYSTICK_MODE") == 1)
|
||||
{
|
||||
return gwar_rotary(field, param);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0x0f;
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
|
||||
@ -1254,10 +1268,11 @@ static INPUT_PORTS_START( jcross )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:1,2")
|
||||
PORT_DIPSETTING( 0x03, "Upright, Single Controls" )
|
||||
// PORT_DIPSETTING( 0x01, "Upright, Single Controls" ) /* duplicated setting + unknown additional stuff (code at 0x03ff) */
|
||||
PORT_DIPSETTING( 0x00, "Upright, Dual Controls" )
|
||||
PORT_DIPNAME( 0x01, 0x01, "Upright Controls" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Dual ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:3")
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
@ -1315,7 +1330,7 @@ static INPUT_PORTS_START( sgladiat )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) /* code at 0x054e */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) /* code at 0x054e */
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
@ -1373,7 +1388,7 @@ static INPUT_PORTS_START( sgladiat )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* code at 0x4169 */
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "No Opponents (Cheat)" ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPNAME( 0x80, 0x80, "No Opponents (Cheat)" ) PORT_DIPLOCATION("DSW2:8")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
@ -2163,7 +2178,7 @@ static INPUT_PORTS_START( worldwar )
|
||||
PORT_INCLUDE( bermudat )
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW1:1")
|
||||
@ -2202,7 +2217,7 @@ static INPUT_PORTS_START( gwar )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* tilt? causes reset */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
@ -2289,12 +2304,16 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( gwarb )
|
||||
PORT_INCLUDE( gwar )
|
||||
|
||||
// no rotary joystick in this version. Player fires in the direction he's facing.
|
||||
// the code is patched to handle that, however the rotary joystick input must
|
||||
// be F for the patched code to kick in.
|
||||
// This version is modified to work either with or without a rotary joystick
|
||||
// connected. If rotary is not connected, player fires in the direction he's facing.
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_SPECIAL ) // must be F to turn off rotary joystick handling
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gwarb_rotary, (void*)0)
|
||||
|
||||
PORT_START("JOYSTICK_MODE")
|
||||
PORT_CONFNAME( 0x01, 0x00, "Joystick mode" )
|
||||
PORT_CONFSETTING( 0x00, "Normal Joystick" )
|
||||
PORT_CONFSETTING( 0x01, "Rotary Joystick" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( psychos )
|
||||
@ -2384,7 +2403,7 @@ static INPUT_PORTS_START( chopper )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) /* Reset */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
@ -2495,7 +2514,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( tdfever )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_sound_busy, 0)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -5243,7 +5262,7 @@ GAME( 1987, psychosj, psychos, bermudat, psychos, 0, ROT0, "SNK", "Ps
|
||||
GAME( 1987, gwar, 0, gwar, gwar, 0, ROT270, "SNK", "Guerrilla War (US)", 0 )
|
||||
GAME( 1987, gwarj, gwar, gwar, gwar, 0, ROT270, "SNK", "Guevara (Japan)", 0 )
|
||||
GAME( 1987, gwara, gwar, gwara, gwar, 0, ROT270, "SNK", "Guerrilla War (Version 1)", 0 )
|
||||
GAME( 1987, gwarb, gwar, gwar, gwarb, 0, ROT270, "bootleg", "Guerrilla War (bootleg)", 0 )
|
||||
GAME( 1987, gwarb, gwar, gwar, gwarb, 0, ROT270, "bootleg", "Guerrilla War (Joystick hack bootleg)", 0 )
|
||||
GAME( 1988, chopper, 0, chopper1, chopper, 0, ROT270, "SNK", "Chopper I (US set 1)", 0 )
|
||||
GAME( 1988, choppera, chopper, choppera, choppera, 0, ROT270, "SNK", "Chopper I (US set 2)", 0 )
|
||||
GAME( 1988, chopperb, chopper, chopper1, chopper, 0, ROT270, "SNK", "Chopper I (US set 3)", 0 )
|
||||
|
Loading…
Reference in New Issue
Block a user