From 923143993ff3baba8f848f9b4232758e22375cb2 Mon Sep 17 00:00:00 2001 From: RobertoFresca Date: Fri, 6 May 2016 20:01:33 -0300 Subject: [PATCH] New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus). Proper inputs. DIP switches: Main Rate, D-Up Rate and Key In... [Roberto Fresca] --- src/mame/drivers/goldstar.cpp | 152 +++++++++++++++++++++++++++++++++- 1 file changed, 151 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp index bae5b02ba04..ff1f8229878 100644 --- a/src/mame/drivers/goldstar.cpp +++ b/src/mame/drivers/goldstar.cpp @@ -3400,6 +3400,156 @@ static INPUT_PORTS_START( ns8linew ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +static INPUT_PORTS_START( ns8linwa ) + PORT_START("IN0") /* b800 */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Big / Switch Controls") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Double-Up") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Take Score") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Bet") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Small / Info") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Start") + + PORT_START("IN1") /* $b801 - P2 Controls... Leftover? Once switched all lamps turn off and no P2 big/small inputs */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Big / Switch Controls") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Double-Up") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Take Score") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Bet") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Small / Info") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Start") + + PORT_START("IN2") /* $b802 */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN3") /* $b810 - Money in */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B"); + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D"); + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C"); + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") + + PORT_START("IN4") /* $b811 - Service controls */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") + + PORT_START("DSW1") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") // not checked + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "Hopper Coin Switch" ) PORT_DIPLOCATION("DSW1:2") // not checked + PORT_DIPSETTING( 0x02, "Active Low" ) + PORT_DIPSETTING( 0x00, "Active High" ) + PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") // not checked + PORT_DIPSETTING( 0x04, "Payout Switch" ) + PORT_DIPSETTING( 0x00, "Automatic" ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") // not checked + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x30, 0x30, "Double-Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5,6") // OK + PORT_DIPSETTING( 0x00, "60%" ) // OK + PORT_DIPSETTING( 0x10, "65%" ) // OK + PORT_DIPSETTING( 0x20, "70%" ) // OK + PORT_DIPSETTING( 0x30, "75%" ) // OK + PORT_DIPNAME( 0xc0, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") // not checked + PORT_DIPSETTING( 0xc0, "None" ) + PORT_DIPSETTING( 0xb0, "Limited to x300 (x1000)" ) + PORT_DIPSETTING( 0x40, "Limited to x500 (x5000)" ) + PORT_DIPSETTING( 0x00, "Limited to x1000 (x10000)" ) + + PORT_START("DSW2") + PORT_DIPNAME( 0x03, 0x01, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2") // OK + PORT_DIPSETTING( 0x03, "58%" ) // OK + PORT_DIPSETTING( 0x02, "62%" ) // OK + PORT_DIPSETTING( 0x01, "66%" ) // OK + PORT_DIPSETTING( 0x00, "70%" ) // OK + PORT_DIPNAME( 0x04, 0x04, "Double Up Game" ) PORT_DIPLOCATION("DSW2:3") // not checked + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") // not checked + PORT_DIPSETTING( 0x18, "300" ) + PORT_DIPSETTING( 0x10, "500" ) + PORT_DIPSETTING( 0x08, "1000" ) + PORT_DIPSETTING( 0x00, "Unlimited" ) + PORT_DIPNAME( 0x20, 0x20, "Over 100 Bet Sound" ) PORT_DIPLOCATION("DSW2:6") // not checked + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "Odds Table" ) PORT_DIPLOCATION("DSW2:7") // not checked + PORT_DIPSETTING( 0x40, "A - Low" ) + PORT_DIPSETTING( 0x00, "B - High" ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") // not checked + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("DSW3") + PORT_DIPNAME( 0x0f, 0x07, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:1,2,3,4") // not checked + PORT_DIPSETTING( 0x0f, "10 Coins/1 Credit" ) + PORT_DIPSETTING( 0x01, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x02, "5 Coins/2 Credits" ) + PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x09, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x0b, "1 Coin/10 Credits" ) + PORT_DIPNAME( 0x70, 0x60, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:5,6,7") // not checked + PORT_DIPSETTING( 0x70, "10 Coins/1 Credit" ) + PORT_DIPSETTING( 0x10, "9 Coins/1 Credit" ) + PORT_DIPSETTING( 0x20, DEF_STR( 6C_1C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) + PORT_DIPNAME( 0x80, 0x80, "4th Coin" ) PORT_DIPLOCATION("DSW3:8") // not checked + PORT_DIPSETTING( 0x80, "As Coin A" ) + PORT_DIPSETTING( 0x00, "As Hopper Line" ) + + PORT_START("DSW4") + PORT_DIPNAME( 0x07, 0x07, "Key In Rate" ) PORT_DIPLOCATION("DSW4:1,2,3") // OK + PORT_DIPSETTING( 0x00, "1 Pulse / 5 Credits" ) // OK + PORT_DIPSETTING( 0x01, "1 Pulse / 10 Credits" ) // OK + PORT_DIPSETTING( 0x02, "1 Pulse / 20 Credits" ) // OK + PORT_DIPSETTING( 0x03, "1 Pulse / 100 Credits" ) // OK + PORT_DIPSETTING( 0x04, "1 Pulse / 110 Credits" ) // OK + PORT_DIPSETTING( 0x05, "1 Pulse / 120 Credits" ) // OK + PORT_DIPSETTING( 0x06, "1 Pulse / 130 Credits" ) // OK + PORT_DIPSETTING( 0x07, "1 Pulse / 500 Credits" ) // OK + PORT_DIPNAME( 0x38, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW4:4,5,6") // not checked + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) // manual says 1c/8c + PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") // not checked + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") // not checked + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + static INPUT_PORTS_START( luckylad ) // CHECK & FIX ME PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -14322,7 +14472,7 @@ GAMEL( 1989, lucky8d, lucky8, lucky8, lucky8d, driver_device, 0, GAMEL( 1989, lucky8e, lucky8, lucky8, lucky8d, driver_device, 0, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 6, W-4, main 40%, d-up 60%)", 0, layout_lucky8 ) GAMEL( 198?, ns8lines, 0, lucky8, lucky8b, driver_device, 0, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8 ) GAMEL( 198?, ns8linew, 0, lucky8, ns8linew, driver_device, 0, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 ) -GAMEL( 198?, ns8linewa, 0, lucky8, ns8linew, driver_device, 0, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus)", 0, layout_lucky8 ) +GAMEL( 198?, ns8linewa, 0, lucky8, ns8linwa, driver_device, 0, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus)", 0, layout_lucky8 ) GAME( 198?, luckybar, 0, lucky8, ns8linew, driver_device, 0, ROT0, "", "Lucky Bar (W-4 with mc68705 MCU)", MACHINE_NOT_WORKING ) // MC68705 MCU GAME( 198?, chryangla, ncb3, lucky8, ns8linew, driver_device, 0, ROT0, "", "Cherry Angel (encrypted, W-4 hardware)", MACHINE_NOT_WORKING )