summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/igs/goldstar.cpp268
-rw-r--r--src/mame/mame.lst2
-rw-r--r--src/mame/pce/ggconnie.cpp2
-rw-r--r--src/mame/seta/speedatk.cpp73
4 files changed, 222 insertions, 123 deletions
diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp
index a44f7018fd1..16e38b0962e 100644
--- a/src/mame/igs/goldstar.cpp
+++ b/src/mame/igs/goldstar.cpp
@@ -6766,6 +6766,7 @@ static INPUT_PORTS_START( fb2010 ) // hit 'start1' to init NVRAM for first time
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
+
PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -6775,6 +6776,7 @@ static INPUT_PORTS_START( fb2010 ) // hit 'start1' to init NVRAM for first time
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Ticket In")
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused keyin? - causes counter errors */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
+
PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
@@ -6784,131 +6786,159 @@ static INPUT_PORTS_START( fb2010 ) // hit 'start1' to init NVRAM for first time
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings")
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats")
+
+ // definitions and defaults taken from manual (unknown if manual is for this exact version)
PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:3")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW1:1,2,3") // 'Game Level' in manual
+ PORT_DIPSETTING( 0x00, "Level 8 (Hardest)" )
+ PORT_DIPSETTING( 0x01, "Level 7" )
+ PORT_DIPSETTING( 0x02, "Level 6" )
+ PORT_DIPSETTING( 0x03, "Level 5" )
+ PORT_DIPSETTING( 0x04, "Level 4" )
+ PORT_DIPSETTING( 0x05, "Level 3" )
+ PORT_DIPSETTING( 0x06, "Level 2" )
+ PORT_DIPSETTING( 0x07, "Level 1 (Easiest)" )
+ PORT_DIPNAME( 0x38, 0x00, "Max Play" ) PORT_DIPLOCATION("DSW1:4,5,6")
+ // "left" set at DSW5:5
+ PORT_DIPSETTING( 0x00, "8" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x08, "16" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x10, "24" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x18, "32" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ // "right" set at DSW5:5
+ PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x08, "20" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x10, "30" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x18, "40" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00) // duplicate of just below
+ // "left" or "right" set at DSW5:5
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x28, "48" )
+ PORT_DIPSETTING( 0x30, "64" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x00, "Min Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8")
+ // "left" set at DSW5:5
+ PORT_DIPSETTING( 0x00, "8" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x40, "16" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x80, "24" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0xc0, "32" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ // "right" set at DSW5:5
+ PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x40, "20" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x80, "30" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0xc0, "40" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+
PORT_START("DSW2")
- PORT_DIPNAME( 0x01, 0x01, "Double Up" ) PORT_DIPLOCATION("DSW2:1")
+ PORT_DIPNAME( 0x01, 0x01, "Double Up" ) PORT_DIPLOCATION("DSW2:1") // 'Double Game' in manual
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Skill Spin" ) PORT_DIPLOCATION("DSW2:2")
+ PORT_DIPNAME( 0x02, 0x02, "Skill Spin" ) PORT_DIPLOCATION("DSW2:2") // 'Non-Stop Spinning' in manual
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:3")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1c, 0x00, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5")
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7")
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") // 'Warning: this switch must be always off' in manual
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:2")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x03, 0x00, "Min Play to Start" ) PORT_DIPLOCATION("DSW3:1,2")
+ PORT_DIPSETTING( 0x00, "1" )
+ // "left" set at DSW5:5
+ PORT_DIPSETTING( 0x01, "8" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x02, "16" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x03, "24" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x10)
+ // "right" set at DSW5:5
+ PORT_DIPSETTING( 0x01, "10" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x02, "20" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPSETTING( 0x03, "30" ) PORT_CONDITION("DSW5", 0x10, EQUALS, 0x00)
+ PORT_DIPNAME( 0x0c, 0x00, "Coin In & Note In Limit" ) PORT_DIPLOCATION("DSW3:3,4")
+ PORT_DIPSETTING( 0x00, "5.000" )
+ PORT_DIPSETTING( 0x04, "10.000" )
+ PORT_DIPSETTING( 0x08, "50.000" )
+ PORT_DIPSETTING( 0x0c, "90.000" )
+ PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit (Service In)" ) PORT_DIPLOCATION("DSW3:5,6,7,8")
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x10, "4" )
+ PORT_DIPSETTING( 0x20, "5" )
+ PORT_DIPSETTING( 0x30, "10" )
+ PORT_DIPSETTING( 0x40, "15" )
+ PORT_DIPSETTING( 0x50, "20" )
+ PORT_DIPSETTING( 0x60, "25" )
+ PORT_DIPSETTING( 0x70, "30" )
+ PORT_DIPSETTING( 0x80, "40" )
+ PORT_DIPSETTING( 0x90, "50" )
+ PORT_DIPSETTING( 0xa0, "60" )
+ PORT_DIPSETTING( 0xb0, "75" )
+ PORT_DIPSETTING( 0xc0, "80" )
+ PORT_DIPSETTING( 0xd0, "100" )
+ PORT_DIPSETTING( 0xe0, "200" )
+ PORT_DIPSETTING( 0xf0, "500" )
+
PORT_START("DSW4")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x01, 0x00, "Check Account" ) PORT_DIPLOCATION("DSW4:1") // turn on, go into account screen and press double and take to reset board
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") // not shown in manual
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") // not shown in manual
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "Auto Ticket Dispense (Use Score)" ) PORT_DIPLOCATION("DSW4:5")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0xe0, 0x00, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8")
+ PORT_DIPSETTING( 0xe0, "Continuous" )
+ PORT_DIPSETTING( 0xc0, "Max 1 Ticket per Game" )
+ PORT_DIPSETTING( 0xa0, "Max 2 Tickets per Game" )
+ PORT_DIPSETTING( 0x80, "Max 3 Tickets per Game" )
+ PORT_DIPSETTING( 0x60, "Max 4 Tickets per Game" )
+ PORT_DIPSETTING( 0x40, "Max 5 Tickets per Game" )
+ PORT_DIPSETTING( 0x20, "Max 8 Tickets per Game" )
+ PORT_DIPSETTING( 0x00, "Max 10 Tickets per Game" )
+
PORT_START("DSW5")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:2")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:3")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "Show Odds / Title" ) PORT_DIPLOCATION("DSW5:4")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:1") // not shown in manual
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "Limit Score to 10 x Play or $5.00 Max" ) PORT_DIPLOCATION("DSW5:2")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, "Off (Turn DSW4:5 on to activate this)" ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x00)
+ PORT_DIPNAME( 0x04, 0x00, "Auto Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW5:3")
+ PORT_DIPSETTING( 0x00, "Direct Drive" )
+ PORT_DIPSETTING( 0x04, "Pulse Signal - Interface" )
+ PORT_DIPNAME( 0x08, 0x08, "Show Odds / Title" ) PORT_DIPLOCATION("DSW5:4") // 'Show Odds Tables' in manual
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Show 'Game' Text" ) PORT_DIPLOCATION("DSW5:8") // causes corruption in D-Up game?
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, "Choose Left or Right Column of DIP SW1 & DIP SW3" ) PORT_DIPLOCATION("DSW5:5")
+ PORT_DIPSETTING( 0x10, "Left" )
+ PORT_DIPSETTING( 0x00, "Right" )
+ PORT_DIPNAME( 0x20, 0x00, "Play Remain Score (When No Point Left)" ) PORT_DIPLOCATION("DSW5:6")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, "Off (Turn DSW4:5 on to activate this)" ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x00)
+ PORT_DIPNAME( 0x40, 0x00, "Reset Remaining Score (When Game Over)" ) PORT_DIPLOCATION("DSW5:7")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, "Off (Turn DSW4:5 on to activate this)" ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x10)
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_CONDITION("DSW4", 0x10, EQUALS, 0x00)
+ PORT_DIPNAME( 0x80, 0x00, "Show 'Game' Text" ) PORT_DIPLOCATION("DSW5:8") // 'Count Game' in manual. Causes corruption in D-Up game?
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( roypok96 )
@@ -18469,6 +18499,9 @@ ROM_START( fb2010 )
ROM_REGION( 0x200, "proms", 0 ) // palette (taken from nfb96se, not verified)
ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) )
ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) )
+
+ ROM_REGION( 0x800, "nvram", 0 )
+ ROM_LOAD( "fb2010.nv", 0x000, 0x800, CRC(a8fc7d38) SHA1(06848e50be1968e89ba92c29661e8ee9c479d29f) ) // default NVRAM. 0xd2a must be 0x53 to pass start up check
ROM_END
@@ -18490,11 +18523,6 @@ void cmaster_state::init_fb2010()
ROM[i] = x;
}
- // some kind of protection? checks something in NVRAM after a few spins?
- // TODO: work out how to handle this without a patch, doesn't seem 100% related to port read below like in other games?
- ROM[0x10dc] = 0x00;
- ROM[0x10dd] = 0x00;
-
m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8smo_delegate(*this, FUNC(cmaster_state::fixedval_r<0x7d>)));
}
@@ -23547,7 +23575,7 @@ GAMEL( 1996, nc96k, nc96, amcoe2, nfb96, cmaster_state, init_nfb
GAMEL( 1996, nc96l, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_a, ROT0, "Amcoe", "New Cherry '96 (v3.0, A PCB)", 0, layout_nfb96 ) // A Sub-PCB
GAMEL( 2000, nc96txt, nc96, amcoe2, nfb96tx, cmaster_state, init_nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0, layout_nfb96tx ) // ver. tc1.32axt C2 Sub-PCB
-GAME( 2009, fb2010, 0, amcoe2, fb2010, cmaster_state, init_fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", 0 )
+GAME( 2009, fb2010, 0, amcoe2, fb2010, cmaster_state, init_fb2010, ROT0, "Amcoe", "Fruit Bonus 2010 (v. 2.0.1.3", 0 )
GAMEL( 1996, roypok96, 0, amcoe2, roypok96, cmaster_state, init_rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0, layout_roypok96 )
GAMEL( 1996, roypok96a, roypok96, amcoe2, roypok96a, cmaster_state, init_rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0, layout_roypok96 )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 2157626eab7..fb5be0e403d 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -41934,6 +41934,8 @@ renju // (c) 1994 Visco
@source:seta/speedatk.cpp
daifugo
+hanaren2
+harashi
speedatk // CB-0 (c) SetaKikaku
@source:seta/speglsht.cpp
diff --git a/src/mame/pce/ggconnie.cpp b/src/mame/pce/ggconnie.cpp
index 12e92b9fc62..47811c284e3 100644
--- a/src/mame/pce/ggconnie.cpp
+++ b/src/mame/pce/ggconnie.cpp
@@ -450,7 +450,7 @@ void ggconnie_state::ggconnie(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- OKIM6295(config, m_oki, 2_MHz_XTAL, okim6295_device::PIN7_HIGH); // 2MHz resonator, unverified pin 7
+ OKIM6295(config, m_oki, 2_MHz_XTAL, okim6295_device::PIN7_HIGH); // 2MHz resonator, pin 7 verified
m_oki->set_addrmap(0, &ggconnie_state::oki_map);
m_oki->add_route(ALL_OUTPUTS, "lspeaker", 1.00);
m_oki->add_route(ALL_OUTPUTS, "rspeaker", 1.00);
diff --git a/src/mame/seta/speedatk.cpp b/src/mame/seta/speedatk.cpp
index 7a8b537586e..eb00c283ba7 100644
--- a/src/mame/seta/speedatk.cpp
+++ b/src/mame/seta/speedatk.cpp
@@ -12,6 +12,7 @@ TODO:
- Improve IOX device for daifugo (many hardwired reads);
- It's possible that there is only one coin chute and not two, needs a real board to know
more about it.
+ - hanaren2, harashi: Everythin. They seem to run on similar hardware, similar address maps, etc.
How to play:
- A to D select a card.
@@ -143,6 +144,7 @@ public:
void speedatk(machine_config &config);
void daifugo(machine_config &config);
+ void harashi(machine_config &config);
protected:
virtual void machine_start() override ATTR_COLD;
@@ -186,6 +188,7 @@ private:
void io_map(address_map &map) ATTR_COLD;
void speedatk_program_map(address_map &map) ATTR_COLD;
void daifugo_program_map(address_map &map) ATTR_COLD;
+ void harashi_program_map(address_map &map) ATTR_COLD;
};
@@ -441,6 +444,13 @@ void speedatk_state::daifugo_program_map(address_map &map)
}));
}
+void speedatk_state::harashi_program_map(address_map &map)
+{
+ speedatk_program_map(map);
+
+ map(0xc000, 0xffff).rom();
+}
+
void speedatk_state::io_map(address_map &map)
{
map.global_mask(0xff);
@@ -654,6 +664,12 @@ void speedatk_state::daifugo(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &speedatk_state::daifugo_program_map);
}
+void speedatk_state::harashi(machine_config &config)
+{
+ speedatk(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &speedatk_state::harashi_program_map);
+}
+
ROM_START( daifugo )
ROM_REGION( 0x10000, "maincpu", 0 )
@@ -696,8 +712,61 @@ ROM_START( speedatk )
ROM_LOAD( "cb2.bpr", 0x0020, 0x0100, CRC(a604cf96) SHA1(a4ef6e77dcd3abe4c27e8e636222a5ee711a51f5) ) // lookup table
ROM_END
+// K&K95 9403-01-011 main PCB + HSB500 CPU PCB plugged into the CPU socket of the main PCB
+// Main chips on main PCB are: HD46505SP, 11 MHz XTAL, AY38910A/P, unmarked chip at u41, 2 banks of 8 DIP switches, bank of 4 DIP switches
+// Main chips on CPU PCB are: Z0840004PSC, program ROM, 3 banks of 8 DIP switches, 3x GAL16V8B, several unreadable chips and empty locations
+// DIP sheet is available
+ROM_START( hanaren2 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "hana_ren_ii_kyo_rom.ic2.sub", 0x00000, 0x10000, CRC(fbf4c7cd) SHA1(90f9915f72f9bdfb4b487266057c86dad2a19299) ) // actual label is 花れんⅡ 強ROM
+
+ ROM_REGION( 0x6000, "gfx1", ROMREGION_ERASE00 )
+
+ ROM_REGION( 0x6000, "gfx2", 0 )
+ ROM_LOAD( "k.u8", 0x0000, 0x6000, CRC(86633086) SHA1(ad7d9c4f0fe74a72dbe1e139d9c02c7b44e25df9) ) // last 0x2000 empty
+ ROM_IGNORE( 0x2000 )
+
+ ROM_REGION( 0x0220, "proms", 0 ) // not dumped for this set, using daifugo's for now
+ ROM_LOAD( "tbp18s030.7l", 0x0000, 0x0020, BAD_DUMP CRC(bd674823) SHA1(c664b9959c939900dde3f86722404253b0e3f3f6) ) // color PROM
+ ROM_LOAD( "tbp24s10.6k", 0x0020, 0x0100, BAD_DUMP CRC(6bd28c7a) SHA1(6840481a9b496cb37a45895b73d3270e49212a3e) ) // lookup table
+
+ ROM_REGION( 0x900, "plds", ROMREGION_ERASE00 )
+ ROM_LOAD( "gal16v8b.ic4", 0x000, 0x117, NO_DUMP ) // on CPU PCB
+ ROM_LOAD( "gal16v8b.ic7", 0x200, 0x117, NO_DUMP ) // on CPU PCB
+ ROM_LOAD( "gal16v8b.ic8", 0x400, 0x117, NO_DUMP ) // on CPU PCB
+ ROM_LOAD( "hr852.u53", 0x600, 0x2dd, NO_DUMP ) // PALCE22V10H, on main PCB
+ROM_END
+
+// set is composed by a main PCB, a CPU PCB with an original ALBA label, and another riser PCB marked AAL-03 with an unpopulated socket and logic
+// the riser boards are soldered to the main PCB.
+// Visible main chips on main PCB are: D8255AC-5, 11 MHz XTAL, 2 banks of 4 DIP switches, bank of 8 DIP switches
+// Main chips on CPU PCB are: Z0840004PSC, program ROM, 2 banks of 8 DIP switches, unreadable 40-pin chip and logic
+// has 1993 Asahi Bussan copyright in ROM. Probably board was upgraded.
+// given string, it's probably Hana Arashi but it isn't sure.
+// DIP sheet is available
+ROM_START( harashi )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ // seems to contain 2 programs (one at 0, one at 0x8000) but promptly jumps to over 0xc000?
+ ROM_LOAD( "as_a.ic4.sub", 0x00000, 0x10000, CRC(aebd6ff8) SHA1(f97ecfb079129b2bda634a189d78baedeaf349b7) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "as_cr_6.7e", 0x0000, 0x2000, CRC(6b8991ac) SHA1(44934646a1b7b42ec8b7c08770d3c5bbbe4029a7) )
+
+ ROM_REGION( 0x6000, "gfx2", 0 )
+ ROM_LOAD( "zb_04.7c", 0x0000, 0x2000, CRC(0eb2ce75) SHA1(26c78a7ca9cc49239f3b158a7438031f606a1640) ) // 1xxxxxxxxxxxx = 0xFF
+ ROM_LOAD( "zb_05.7d", 0x2000, 0x2000, CRC(9e3d49af) SHA1(9ec1be53459d10b6afe467f0c1ffac0f6d134997) ) // 1xxxxxxxxxxxx = 0xFF
+ ROM_COPY( "gfx2", 0x0000, 0x4000, 0x1000 ) // Fill the blank space with cards GFX
+ ROM_COPY( "gfx1", 0x1000, 0x5000, 0x1000 ) // GFX from cb0-7
+
+ ROM_REGION( 0x0220, "proms", 0 ) // not dumped for this set, using daifugo's for now
+ ROM_LOAD( "tbp18s030.7l", 0x0000, 0x0020, BAD_DUMP CRC(bd674823) SHA1(c664b9959c939900dde3f86722404253b0e3f3f6) ) // color PROM
+ ROM_LOAD( "tbp24s10.6k", 0x0020, 0x0100, BAD_DUMP CRC(6bd28c7a) SHA1(6840481a9b496cb37a45895b73d3270e49212a3e) ) // lookup table
+ROM_END
+
} // anonymous namespace
-GAME( 1983, daifugo, 0, daifugo, daifugo, speedatk_state, empty_init, ROT90, "Seta Kikaku / Sega (Esco Trading Co license)", "Daifugo (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION )
-GAME( 1984, speedatk, 0, speedatk, speedatk, speedatk_state, empty_init, ROT0, "Seta Kikaku", "Speed Attack! (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, daifugo, 0, daifugo, daifugo, speedatk_state, empty_init, ROT90, "Seta Kikaku / Sega (Esco Trading Co license)", "Daifugo (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION )
+GAME( 1984, speedatk, 0, speedatk, speedatk, speedatk_state, empty_init, ROT0, "Seta Kikaku", "Speed Attack! (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, hanaren2, 0, harashi, speedatk, speedatk_state, empty_init, ROT0, "K & K Electron", "Hana no Ren-Chan II (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
+GAME( 1993, harashi, 0, harashi, speedatk, speedatk_state, empty_init, ROT0, "Asahi Bussan", "Hana Arashi (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )