From 12c400b379c5092ec292388119a562e0392cbff6 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Tue, 3 Dec 2024 17:54:47 +1100 Subject: [PATCH] dynax/dynax.cpp: Identified most DIP switch settings for Mahjong Reach. --- src/mame/dynax/dynax.cpp | 165 +++++++++++++++------------------------ 1 file changed, 61 insertions(+), 104 deletions(-) diff --git a/src/mame/dynax/dynax.cpp b/src/mame/dynax/dynax.cpp index 14b2169e996..0866e8909fb 100644 --- a/src/mame/dynax/dynax.cpp +++ b/src/mame/dynax/dynax.cpp @@ -3608,128 +3608,93 @@ INPUT_PORTS_END static INPUT_PORTS_START( mjreach ) PORT_START("DSW0") - PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" ) - PORT_DIPSETTING( 0x00, "50" ) - PORT_DIPSETTING( 0x01, "53" ) - PORT_DIPSETTING( 0x02, "56" ) - PORT_DIPSETTING( 0x03, "59" ) - PORT_DIPSETTING( 0x04, "62" ) - PORT_DIPSETTING( 0x05, "65" ) - PORT_DIPSETTING( 0x06, "68" ) - PORT_DIPSETTING( 0x07, "71" ) - PORT_DIPSETTING( 0x08, "75" ) - PORT_DIPSETTING( 0x09, "78" ) - PORT_DIPSETTING( 0x0a, "81" ) - PORT_DIPSETTING( 0x0b, "84" ) - PORT_DIPSETTING( 0x0c, "87" ) - PORT_DIPSETTING( 0x0d, "90" ) - PORT_DIPSETTING( 0x0e, "93" ) - PORT_DIPSETTING( 0x0f, "96" ) - PORT_DIPNAME( 0x30, 0x10, "Odds Rate" ) - PORT_DIPSETTING( 0x30, "1 2 4 8 12 16 24 32" ) - PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" ) - PORT_DIPSETTING( 0x10, "1 2 3 5 10 25 50 100" ) - PORT_DIPSETTING( 0x20, "1 2 3 5 10 50 100 200" ) - PORT_DIPNAME( 0xc0, 0x40, "Max Bet" ) + MAHJONG_PAYOUT_RATE(0, "DIP1:1,2,3,4") + MAHJONG_ODDS_RATE(4, "DIP1:5,6") + PORT_DIPNAME( 0xc0, 0x40, "Maximum Bet" ) PORT_DIPLOCATION("DIP1:7,8") PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, "Unknown 1-0&1" ) - PORT_DIPSETTING( 0x03, "1:1" ) - PORT_DIPSETTING( 0x02, "1:2" ) - PORT_DIPSETTING( 0x01, "1:5" ) - PORT_DIPSETTING( 0x00, "1:10" ) - PORT_DIPNAME( 0x0c, 0x0c, "Min Rate To Play" ) + MAHJONG_COINAGE(0, "DIP2:1,2") + PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("DIP2:3,4") PORT_DIPSETTING( 0x0c, "1" ) PORT_DIPSETTING( 0x08, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x70, 0x70, "YAKUMAN Bonus" ) - PORT_DIPSETTING( 0x70, "Cut" ) - PORT_DIPSETTING( 0x60, "1 T" ) - PORT_DIPSETTING( 0x50, "300" ) - PORT_DIPSETTING( 0x40, "500" ) - PORT_DIPSETTING( 0x30, "700" ) - PORT_DIPSETTING( 0x20, "1000" ) -// PORT_DIPSETTING( 0x10, "1000" ) -// PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 1-7" ) + MAHJONG_YAKUMAN_BONUS(4, "DIP2:5,6,7") + PORT_DIPNAME( 0x80, 0x00, "Yakuman Bonuses Per Cycle" ) PORT_DIPLOCATION("DIP2:8") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" ) PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, "Unknown 2-0" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Unknown 2-1" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Unknown 2-2" ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Unknown 2-3" ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Unknown 2-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 2-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 2-6" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 2-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x01, 0x01, "Payout Mode" ) PORT_DIPLOCATION("DIP3:1") + PORT_DIPSETTING( 0x01, "Key-out" ) + PORT_DIPSETTING( 0x00, "Hopper" ) + PORT_DIPNAME( 0x02, 0x02, "Hopper Polarity" ) PORT_DIPLOCATION("DIP3:2") + PORT_DIPSETTING( 0x02, DEF_STR(Normal) ) + PORT_DIPSETTING( 0x00, "Inverted" ) + PORT_DIPNAME( 0x04, 0x00, "Double Up" ) PORT_DIPLOCATION("DIP3:3") + PORT_DIPSETTING( 0x04, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP3:4") + PORT_DIPSETTING( 0x08, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x10, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("DIP3:5") + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x20, 0x00, "Last Chance" ) PORT_DIPLOCATION("DIP3:6") + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0xc0, 0x00, "Last Chance Count" ) PORT_DIPLOCATION("DIP3:7,8") + PORT_DIPSETTING( 0xc0, "1" ) + PORT_DIPSETTING( 0x80, "3" ) + PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPSETTING( 0x40, "10" ) PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Unknown 3-1" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Unknown 3-2" ) + PORT_DIPNAME( 0x01, 0x00, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("DIP4:1") + PORT_DIPSETTING( 0x01, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x02, 0x00, "In-Game Music" ) PORT_DIPLOCATION("DIP4:2") + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x04, 0x04, "Auto Tsumo" ) PORT_DIPLOCATION("DIP4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DonDen Key" ) + PORT_DIPNAME( 0x08, 0x00, "Don Den Button" ) PORT_DIPLOCATION("DIP4:4") PORT_DIPSETTING( 0x08, "Start" ) PORT_DIPSETTING( 0x00, "Flip Flop" ) - PORT_DIPNAME( 0x10, 0x10, "Unknown 3-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown 3-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 3-6" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 3-7" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x00, "Show Gals" ) PORT_DIPLOCATION("DIP4:5") + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x20, 0x00, "Suggest Calls" ) PORT_DIPLOCATION("DIP4:6") + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // shows when kan/pon/chi/ron is possible + PORT_DIPNAME( 0x40, 0x40, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP4:7") + PORT_DIPSETTING( 0x40, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP4:8") + PORT_DIPSETTING( 0x80, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // shows "super revolver" bonus game during attract mode PORT_START("DSW4") /* 4 (top) */ - PORT_DIPNAME( 0x01, 0x01, "Credits Per Note" ) - PORT_DIPSETTING( 0x01, "5" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + MAHJONG_NOTE_CREDITS(0, "DIP1:9", "DSW1", 0) + PORT_DIPNAME( 0x02, 0x02, DEF_STR(Flip_Screen) ) PORT_DIPLOCATION("DIP1:10") + PORT_DIPSETTING( 0x02, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_DIPNAME( 0x0c, 0x0c, "Unknown top-2&3" ) PORT_DIPSETTING( 0x0c, "300" ) PORT_DIPSETTING( 0x08, "500" ) PORT_DIPSETTING( 0x04, "700" ) PORT_DIPSETTING( 0x00, "1000" ) - PORT_DIPNAME( 0x10, 0x10, "Unknown top-4" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Unknown top-5" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP3:9") + PORT_DIPSETTING( 0x10, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) // shows "super revolver" bonus game on start + PORT_DIPNAME( 0x20, 0x20, DEF_STR(Unknown) ) PORT_DIPLOCATION("DIP3:10") + PORT_DIPSETTING( 0x20, DEF_STR(Off) ) + PORT_DIPSETTING( 0x00, DEF_STR(On) ) PORT_DIPNAME( 0x40, 0x40, "Unknown top-6" ) PORT_DIPSETTING( 0x40, "1" ) PORT_DIPSETTING( 0x00, "3" ) @@ -3737,15 +3702,7 @@ static INPUT_PORTS_START( mjreach ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START("COINS") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) // Pay - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // 18B - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) // Test - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // Analyzer - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // Memory Reset - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // Note - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // Service + MAHJONG_COIN_TEST("DSW2", 0x01) PORT_INCLUDE( mahjong_matrix_2p_bet ) INPUT_PORTS_END