summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2019-11-23 18:09:36 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2019-11-23 18:09:36 +0100
commit57dffe9282226e06a78a6f7f3cbaa89f3aa32650 (patch)
treed87717aa49703589c99c082d776b4d2187de608c
parent4fe4965d4f0781fd46fc1309d949da7fb4cbe59d (diff)
ssrj.cpp: fixed MT07492 [sasuke]
-rw-r--r--src/mame/drivers/ssrj.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/mame/drivers/ssrj.cpp b/src/mame/drivers/ssrj.cpp
index 62dae0c18e5..473cf79b7ab 100644
--- a/src/mame/drivers/ssrj.cpp
+++ b/src/mame/drivers/ssrj.cpp
@@ -8,7 +8,6 @@
TODO:
- colors (missing proms)
- dips
- - controls (is there START button ?)
- when a car sprite goes outside of the screen it gets stuck for a split frame on top of screen
HW info :
@@ -92,12 +91,17 @@ static INPUT_PORTS_START( ssrj )
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(4) PORT_REVERSE
PORT_START("IN2")
- PORT_BIT( 0xf, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* code @ $eef , tested when controls = type4 */
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) ) /* ??? code @ $62c */
- PORT_DIPSETTING( 0x10, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Difficult ) )
- PORT_DIPSETTING( 0x30, DEF_STR( Very_Difficult ) )
+ PORT_BIT( 0xf, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("IN3", 0x30, EQUALS, 0x00) /* code @ $eef, tested when controls != type1 */
+ PORT_BIT( 0x1, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("IN3", 0x30, NOTEQUALS, 0x00) PORT_NAME("Start (Easy)")
+ PORT_BIT( 0x2, IP_ACTIVE_LOW, IPT_START2 ) PORT_CONDITION("IN3", 0x30, NOTEQUALS, 0x00) PORT_NAME("Start (Normal)")
+ PORT_BIT( 0x4, IP_ACTIVE_LOW, IPT_START3 ) PORT_CONDITION("IN3", 0x30, NOTEQUALS, 0x00) PORT_NAME("Start (Difficult)")
+ PORT_BIT( 0x8, IP_ACTIVE_LOW, IPT_START4 ) PORT_CONDITION("IN3", 0x30, NOTEQUALS, 0x00) PORT_NAME("Start (Very difficult)")
+ PORT_DIPNAME( 0x30, 0x20, DEF_STR( Difficulty ) ) PORT_CONDITION("IN3", 0x30, EQUALS, 0x00) /* code @ $62c, only used when controls == type1 */
+ PORT_DIPSETTING( 0x30, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Normal ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Difficult ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Very_Difficult ) )
+ PORT_DIPUNUSED( 0x30, IP_ACTIVE_LOW) PORT_CONDITION("IN3", 0x30, NOTEQUALS, 0x00)
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -117,7 +121,7 @@ static INPUT_PORTS_START( ssrj )
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x00, DEF_STR( Controls ) ) /* 'press button to start' message, and wait for button2 */
+ PORT_DIPNAME( 0x30, 0x00, DEF_STR( Controls ) ) /* Type 1 has no start button and uses difficulty DSW, type 2-4 have 4 start buttons that determine difficulty. MT07492 for more. */
PORT_DIPSETTING( 0x00, "Type 1" )
PORT_DIPSETTING( 0x10, "Type 2" )
PORT_DIPSETTING( 0x20, "Type 3" )