mirror of
https://github.com/holub/mame
synced 2025-05-20 12:48:53 +03:00
Fixed Dip Switches for 'scotrsht'.
This commit is contained in:
parent
b501279724
commit
7dd6db7738
@ -4,6 +4,32 @@
|
||||
|
||||
It uses a mixed hardware based on Jailbreak and Iron Horse
|
||||
|
||||
|
||||
Stephh's notes (based on the game M6502 code and some tests) :
|
||||
|
||||
- There is a leftover from an unknown previous Konami game
|
||||
when you enter your initials (code at 0x43f2) :
|
||||
if DSW2 bit 2 is ON and DSW3 bit 1 is OFF, you ALWAYS
|
||||
have to use player 1 controls !
|
||||
Here is what you have for example in jailbrek.c driver :
|
||||
|
||||
PORT_START("DSW2")
|
||||
...
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
|
||||
...
|
||||
PORT_START("DSW3")
|
||||
...
|
||||
PORT_DIPNAME( 0x02, 0x02, "Upright Controls" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Dual ) )
|
||||
|
||||
This looks the same, doesn't it ? That's why I've named them
|
||||
"Dip must be OFF !" to avoid confusion and people changing them.
|
||||
- The "Free Play" is correct (press a START button if you aren't
|
||||
convinced), but no text is displayed to tell that to players.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -76,6 +102,7 @@ static ADDRESS_MAP_START( scotrsht_sound_port, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ym2203_write_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( scotrsht )
|
||||
PORT_START("SYSTEM") /* $3300 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -83,16 +110,19 @@ static INPUT_PORTS_START( scotrsht )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("P1") /* $3301 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("P2") /* $3302 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
@ -101,9 +131,10 @@ static INPUT_PORTS_START( scotrsht )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW1") /* $3303 */
|
||||
PORT_START("DSW1") /* $3303 -> $196e */
|
||||
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) )
|
||||
@ -120,7 +151,7 @@ static INPUT_PORTS_START( scotrsht )
|
||||
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
|
||||
PORT_DIPSETTING( 0x00, "Invalid" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) /* see notes */
|
||||
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) )
|
||||
@ -137,57 +168,39 @@ static INPUT_PORTS_START( scotrsht )
|
||||
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
|
||||
PORT_DIPSETTING( 0x00, "Invalid" )
|
||||
// PORT_DIPSETTING( 0x00, "Disable All Coin Slots" )
|
||||
|
||||
PORT_START("DSW2") /* $3100 */
|
||||
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
|
||||
PORT_START("DSW2") /* $3100 -> $196f */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x03, "2" )
|
||||
PORT_DIPSETTING( 0x02, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Dip MUST be OFF !" ) /* see notes */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x08, "30K 80K" )
|
||||
PORT_DIPSETTING( 0x00, "40K 90K" )
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Difficulty ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) ) /* code at 0x40f4 */
|
||||
PORT_DIPSETTING( 0x08, "30k 110k 80k+" )
|
||||
PORT_DIPSETTING( 0x00, "40k 120k 90k+" )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x10, "Difficult" )
|
||||
PORT_DIPSETTING( 0x00, "Very Difficult" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Hard ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSW3") /* $3200 */
|
||||
PORT_START("DSW3") /* $3200 -> $1970 */
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Dip MUST be OFF !" ) /* see notes */
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW )
|
||||
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user