From 3b304848d06d6d0622fb91ae4348fd3cfc6a6b76 Mon Sep 17 00:00:00 2001 From: Ioannis Bampoulas <34110302+jbtx77gr@users.noreply.github.com> Date: Wed, 5 Nov 2025 13:06:33 +0200 Subject: [PATCH] Update goldstar.cpp cmast97 settings - adding cmast97 correct settings --- src/mame/igs/goldstar.cpp | 263 +++++++++++++++++++++----------------- 1 file changed, 147 insertions(+), 116 deletions(-) diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index 4c8ccf11de5c8..fe1a4b42d7899 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -6335,150 +6335,181 @@ static INPUT_PORTS_START( cmast91 ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // effected only if DSW5:7 is OFF TAKE as S1, BET as S2, SMALL as S3, BET as ALL Stop INPUT_PORTS_END +//====================================================================== +// Control Panel Layout - Cherry Master 97 +//====================================================================== +// 6 Physical Buttons: +// [D-UP] [TAKE] [SMALL] [BIG] [BET] [START] +// +// Function mapping by Code Panel Type (DSW5:1,2,3,4) +// +// Type A : TAKE = Stop 1 BIG = Stop 2 SMALL = Stop 3 +// (Sequential stop order: Take → Big → Small) +// START = All Stop (only if Skill Stop = ON) +// +// Type B : TAKE = Stop 1 BET = Stop 2 SMALL = Stop 3 +// (Sequential stop order: Take → Bet → Small) +// START = All Stop (only if Skill Stop = ON) +// +// Type C : BIG = Stop 1 BIG = Stop 2 BIG = Stop 3 +// (Pressing BIG stops reels one by one) +// START = All Stop (only if Skill Stop = ON) +// +// Type D : SMALL = Stop 1 D-UP = Stop 2 BIG = Stop 3 +// (Sequential stop order: Small → D-UP → Big) +// START = All Stop (only if Skill Stop = ON) +// +//--------------------------------------------------------------------- +// * When Skill Stop (DSW5:3) = OFF: +// - Individual reel Stop buttons are disabled. +// - "All Stop" (START) has no function. +//====================================================================== static INPUT_PORTS_START( cmast97 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big / Red") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_CODE(KEYCODE_C) PORT_NAME("Bet Blue / D-UP") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Take / Stop 1 / Select") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Bet Red / Stop 2") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CODE(KEYCODE_V) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Small / Black / Stop 3 / Info") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Take / Select") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Bet Red") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CODE(KEYCODE_V) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Small / Black / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_N) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("Start / Stop All") PORT_INCLUDE( cmv4_coins ) + PORT_MODIFY("IN1") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no coin here PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x01, "Double Up Game" ) PORT_DIPLOCATION("DSW1:!1") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Double Up Type" ) PORT_DIPLOCATION("DSW1:!2") + PORT_DIPNAME( 0x01, 0x01, "Double Up Game" ) PORT_DIPLOCATION("DSW1:!1") + PORT_DIPSETTING( 0x01, "Used" ) + PORT_DIPSETTING( 0x00, "Not Use" ) + PORT_DIPNAME( 0x02, 0x00, "Double Up Game Type" ) PORT_DIPLOCATION("DSW1:!2") PORT_DIPSETTING( 0x02, "Red / Black" ) PORT_DIPSETTING( 0x00, "Big / Small" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:!3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Double Up Girls" ) PORT_DIPLOCATION("DSW1:!4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:!5") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Reels Speed" ) PORT_DIPLOCATION("DSW1:!6") - PORT_DIPSETTING( 0x00, DEF_STR( Low ) ) - PORT_DIPSETTING( 0x20, DEF_STR( High ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:!7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:!8") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPNAME( 0x04, 0x04, "Double Up <7> Value" ) PORT_DIPLOCATION("DSW1:!3") + PORT_DIPSETTING( 0x04, "Even" ) + PORT_DIPSETTING( 0x00, "Loss" ) + PORT_DIPNAME( 0x08, 0x08, "Double Up Girl Display" ) PORT_DIPLOCATION("DSW1:!4") + PORT_DIPSETTING( 0x08, "Displayed" ) + PORT_DIPSETTING( 0x00, "Un-displayed" ) + PORT_DIPNAME( 0x10, 0x10, "Payout Speed" ) PORT_DIPLOCATION("DSW1:!5") + PORT_DIPSETTING( 0x10, "Payout SW" ) + PORT_DIPSETTING( 0x00, "Automatic" ) + PORT_DIPNAME( 0x20, 0x20, "Spinning Speed" ) PORT_DIPLOCATION("DSW1:!6") + PORT_DIPSETTING( 0x20, "Fast" ) + PORT_DIPSETTING( 0x00, "Slowly" ) + PORT_DIPNAME( 0x40, 0x40, "Hopper Out Micro Switch" ) PORT_DIPLOCATION("DSW1:!7") + PORT_DIPSETTING( 0x40, "Active High (NO)" ) + PORT_DIPSETTING( 0x00, "Active Low (NC)" ) + PORT_DIPNAME( 0x80, 0x80, "Sound Over 100 Odds" ) PORT_DIPLOCATION("DSW1:!8") PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!1") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!2") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!5") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:!8") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPNAME( 0x07, 0x04, "Payout Ratio" ) PORT_DIPLOCATION("DSW2:!1,!2,!3") + PORT_DIPSETTING( 0x07, "55%" ) + PORT_DIPSETTING( 0x06, "60%" ) + PORT_DIPSETTING( 0x05, "65%" ) + PORT_DIPSETTING( 0x04, "70%" ) + PORT_DIPSETTING( 0x03, "75%" ) + PORT_DIPSETTING( 0x02, "80%" ) + PORT_DIPSETTING( 0x01, "85%" ) + PORT_DIPSETTING( 0x00, "90%" ) + PORT_DIPNAME( 0x18, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW2:!4,!5") + PORT_DIPSETTING( 0x18, "8 Bet" ) + PORT_DIPSETTING( 0x10, "16 Bet" ) + PORT_DIPSETTING( 0x08, "32 Bet" ) + PORT_DIPSETTING( 0x00, "64 Bet" ) + PORT_DIPNAME( 0x20, 0x20, "Bet Limit For Any Bonus" ) PORT_DIPLOCATION("DSW2:!6") + PORT_DIPSETTING( 0x20, "8 Bet" ) + PORT_DIPSETTING( 0x00, "16 Bet" ) + PORT_DIPNAME( 0x40, 0x40, "Type Of Key In" ) PORT_DIPLOCATION("DSW2:!7") + PORT_DIPSETTING( 0x40, "Key In Type A" ) + PORT_DIPSETTING( 0x00, "Key In Type B" ) + PORT_DIPNAME( 0x80, 0x80, "Type Of Coin In" ) PORT_DIPLOCATION("DSW2:!8") + PORT_DIPSETTING( 0x80, "Coin D Type A" ) + PORT_DIPSETTING( 0x00, "Coin D Type B" ) PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!1") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!2") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!5") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:!8") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x00, "Key In Rate (A Type)" ) PORT_DIPLOCATION("DSW3:!1,!2") + PORT_DIPSETTING( 0x03, DEF_STR( 1C_10C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) // A-Type + PORT_DIPSETTING( 0x02, DEF_STR( 1C_20C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_50C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_100C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) // B-Type + PORT_DIPSETTING( 0x02, DEF_STR( 1C_10C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_25C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_50C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) + PORT_DIPNAME( 0x0c, 0x0c, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:!3,!4") + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_10C ) ) + PORT_DIPNAME( 0x30, 0x30, "Coin D Rate & Hopper Out" ) PORT_DIPLOCATION("DSW3:!5,!6") + PORT_DIPSETTING( 0x30, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) // A-Type + PORT_DIPSETTING( 0x20, DEF_STR( 1C_10C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) + PORT_DIPSETTING( 0x10, DEF_STR( 1C_25C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_50C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) + PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) // B-Type + PORT_DIPSETTING( 0x20, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) + PORT_DIPNAME( 0xc0, 0x40, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:!7,!8") + PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_10C ) ) 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( 0x07, 0x05, "Limit For Credit" ) PORT_DIPLOCATION("DSW4:1,2,3") + PORT_DIPSETTING( 0x07, "5,000" ) + PORT_DIPSETTING( 0x06, "10,000" ) + PORT_DIPSETTING( 0x05, "20,000" ) + PORT_DIPSETTING( 0x04, "30,000" ) + PORT_DIPSETTING( 0x03, "40,000" ) + PORT_DIPSETTING( 0x02, "50,000" ) + PORT_DIPSETTING( 0x01, "100,000" ) + PORT_DIPSETTING( 0x00, "Unlimited" ) + PORT_DIPNAME( 0x18, 0x10, "Limit For Coin In / Key In" ) PORT_DIPLOCATION("DSW4:4,5") + PORT_DIPSETTING( 0x18, "1,000" ) + PORT_DIPSETTING( 0x10, "5,000" ) + PORT_DIPSETTING( 0x08, "10,000" ) + PORT_DIPSETTING( 0x00, "20,000" ) + PORT_DIPNAME( 0x60, 0x00, "Limit For Hopper Pay Out" ) PORT_DIPLOCATION("DSW4:6,7") + PORT_DIPSETTING( 0x60, "300" ) + PORT_DIPSETTING( 0x40, "500" ) + PORT_DIPSETTING( 0x20, "1,000" ) + PORT_DIPSETTING( 0x00, "Unlimited" ) + PORT_DIPNAME( 0x80, 0x80, "Coin A For Exchange" ) PORT_DIPLOCATION("DSW4:8") + PORT_DIPSETTING( 0x80, "Not Exchange" ) + PORT_DIPSETTING( 0x00, "Exchange" ) PORT_START("DSW5") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:1") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:2") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:3") + PORT_DIPNAME( 0x03, 0x00, "Panel Type" ) PORT_DIPLOCATION("DSW5:1,2") + PORT_DIPSETTING( 0x03, "Type D" ) // Small S1/ D-Up S2 / Big S3 + PORT_DIPSETTING( 0x02, "Type C" ) // Pressing Big to stops the reels one by one + PORT_DIPSETTING( 0x01, "Type B" ) // Take S1/ Bet S2 / Small S3 + PORT_DIPSETTING( 0x00, "Type A" ) // Take S1/ Big S2 / Small S3 + PORT_DIPNAME( 0x04, 0x00, "Skill Stop" ) PORT_DIPLOCATION("DSW5:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, 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_DIPNAME( 0x08, 0x00, "All Stop" ) PORT_DIPLOCATION("DSW5:4") // only if "Skill Stop" is ON the Start is "All Stop" + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_CONDITION("DSW5", 0x04, EQUALS, 0x00) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_CONDITION("DSW5", 0x04, EQUALS, 0x00) + PORT_DIPNAME( 0x10, 0x00, "Bonus Games Entry Condition" ) PORT_DIPLOCATION("DSW5:5") + PORT_DIPSETTING( 0x10, "6-3-1" ) + PORT_DIPSETTING( 0x00, "6-2-1" ) + 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, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x00, "Jackpot Initial Base / Max" ) PORT_DIPLOCATION("DSW5:7") + PORT_DIPSETTING( 0x40, "1000 / 3000" ) + PORT_DIPSETTING( 0x00, "1000 / 2000" ) + PORT_DIPNAME( 0x80, 0x00, "Joker Initial Base / Max" ) PORT_DIPLOCATION("DSW5:8") + PORT_DIPSETTING( 0x80, "1000 / 2000" ) + PORT_DIPSETTING( 0x00, "500 / 2000" ) INPUT_PORTS_END static INPUT_PORTS_START( cmast97a )