diff options
-rw-r--r-- | src/mame/igs/goldstar.cpp | 268 | ||||
-rw-r--r-- | src/mame/mame.lst | 2 | ||||
-rw-r--r-- | src/mame/pce/ggconnie.cpp | 2 | ||||
-rw-r--r-- | src/mame/seta/speedatk.cpp | 73 |
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 ) |