mamedev / mame

MAME
https://www.mamedev.org/
Other
8.41k stars 2.04k forks source link

Dynax 's Mahjong Game TenKaiGen dip SW setting #12846

Closed little0000bag closed 2 weeks ago

little0000bag commented 1 month ago

MAME version

0.270

System information

Windows 11, 64 -bit, version 21H2, Chinese, Chinese X86-64, 24GB System Ram

INI configuration details

No response

Emulated system/software

No response

Incorrect behaviour

When play this Dynax's TenKaiGen mahjong game, I found some dip SW is not correct. I searched the manual for this game , and revise the dip setting as below code. But I am not sure if it is the correct code for the simulation

Current Code for dip SW setting in mame 0.270 as below:

static INPUT_PORTS_START( tenkai ) 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" ) 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" )
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" ) 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, "Girls (Demo)" )
PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
PORT_DIPSETTING(    0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "In-Game Bet?" )
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, "Auto Tsumo after Reach" )
PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Last Chance" )
PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "DonDen Key" )
PORT_DIPSETTING(    0x80, "Start" )
PORT_DIPSETTING(    0x00, "Flip Flop" )

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, 0x00, "In-Game Music" )
PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Select Girl" )
PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, "Moles On Gal's Face" )
PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
PORT_DIPSETTING(    0x08, DEF_STR( On ) )
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, "Set Date" )
PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )

PORT_START("DSW4")  /* (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 ) )
PORT_DIPNAME( 0x04, 0x04, "Unknown top-2" )
PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Unknown top-3" )
PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Unknown top-4" )
PORT_DIPSETTING(    0x10, "8" )
PORT_DIPSETTING(    0x00, "5" )
PORT_DIPNAME( 0x20, 0x20, "Unknown top-5" )
PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Subtitle" )
PORT_DIPSETTING(    0x40, DEF_STR( None ) )
PORT_DIPSETTING(    0x00, "Part 2" )
PORT_DIPNAME( 0x80, 0x80, "Unknown top-7" )
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_SERVICE2 )   // 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

PORT_INCLUDE( MAHJONG_KEYS_BET )

INPUT_PORTS_END

Expected behaviour

Correct the dip setting refer below code and picture as TenKaiGen dip setting.png (it shows the dip setting in mame(0.270) and the it should be for actual). And I posted the TenKaiGen's manual as attached pictures for your referance.

The dip SW setting code I wrote as below:

static INPUT_PORTS_START( tenkai ) 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" ) //最大押注 PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" )

PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Coin Rate" )                         //投币比例
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 Bet" )                           //最小押注 
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, "YAKU TIMES" ) //每次役满次数
PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" )

PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, "Perfect Starting Hand" )           //配牌出血    
PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Three Times Chances Changing Tiles" )    //特急便三元换牌
PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "TenKaiGen" )                                   //  天开眼有无                     
PORT_DIPSETTING(    0x00, DEF_STR( TenKaiGen ) )
PORT_DIPSETTING(    0x04, DEF_STR( No TenKaiGen ) )
PORT_DIPNAME( 0x08, 0x08, "In-Game Bet(Continue?)" )           //游戏结束后押分续玩
PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Remaining The Dealer Bonus" )      //连庄赠与
PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Auto Tsumo after Reach" )             //听牌自动摸打
PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Last Chance" )                                 //海底捞
PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "DonDen Key" )                               // 换牌按键
PORT_DIPSETTING(    0x80, "Start" )
PORT_DIPSETTING(    0x00, "Flip Flop" )

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, 0x00, "In-Game Music" )                              //游戏声音
PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Select Girl" )                                     //对战角色选择
PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, "Moles On Gal's Face" )                    //是否有痣
PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
PORT_DIPSETTING(    0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Language" )                                      //  语言 
PORT_DIPSETTING(    0x10, DEF_STR( Chinese ) )
PORT_DIPSETTING(    0x00, DEF_STR( Japanese ) )
PORT_DIPNAME( 0x20, 0x20, "Three Times Chances Changing Tiles Rate" )       //出现三元换牌的频率                      
PORT_DIPSETTING(    0x20, DEF_STR( Normal ) )
PORT_DIPSETTING(    0x00, DEF_STR( Little ) )
PORT_DIPNAME( 0x40, 0x40, "TenKaiGen Rate" )                         // 出现天开眼的频率                    
PORT_DIPSETTING(    0x40, DEF_STR( Normal  ) )
PORT_DIPSETTING(    0x00, DEF_STR( Little ) )
PORT_DIPNAME( 0x80, 0x80, "Set Date" )                                       //日期设定
PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )

PORT_START("DSW4")  /* (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 ) )
PORT_DIPNAME( 0x04, 0x04, "CPU Strong Or Normal" )          //电脑强弱
PORT_DIPSETTING(    0x04, DEF_STR( Normal ) )
PORT_DIPSETTING(    0x00, DEF_STR( Strong ) )
PORT_DIPNAME( 0x08, 0x08, "Service Count" )                           //服务记数
PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Don Den Times" )                         //换牌次数
PORT_DIPSETTING(    0x10, "8" )
PORT_DIPSETTING(    0x00, "5" )
PORT_DIPNAME( 0x20, 0x20, "Show Clock" )                             //显示时间         
PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Subtitle" )                                   //标题显示Part 2
PORT_DIPSETTING(    0x40, DEF_STR( None ) )
PORT_DIPSETTING(    0x00, "Part 2" )
PORT_DIPNAME( 0x80, 0x80, "YAKUMAN TABLE (Part2 Only)" )                 //已胡役满清单显示Part 2 Only
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_SERVICE2 )   // 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

PORT_INCLUDE( MAHJONG_KEYS_BET )

INPUT_PORTS_END

TenKaiGen dip setting TenKaiGen Manual1 TenKaiGen Manual2 TenKaiGen Manual3

Steps to reproduce

No response

Additional details

No response

little0000bag commented 1 month ago

update the dip switch for Tenkai

static INPUT_PORTS_START( tenkai ) 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" ) PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" )

PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "Coin Rate" )
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 Bet" )
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, "YAKU TIMES" ) PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" )

PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, "Credit Mode" )
PORT_DIPSETTING(    0x01,DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, "Flip_Screen" )
PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "TENKAIGEN" )
PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
PORT_DIPSETTING(    0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "In-Game Bet" )
PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Dealer Bonus" )
PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Auto Tsumo after Reach" )
PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Last Chance" )
PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "DonDen Key" )
PORT_DIPSETTING(    0x80, "Start" )
PORT_DIPSETTING(    0x00, "Flip Flop" )

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, 0x00, "In-Game Music" )
PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Select Girl" )
PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, "Moles On Gal's Face" )
PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
PORT_DIPSETTING(    0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Language" )
PORT_DIPSETTING(    0x10, DEF_STR( Japanese ) )
PORT_DIPSETTING(    0x00, DEF_STR( Chinese ) )
PORT_DIPNAME( 0x20, 0x20, "Three Times Chances Changing Tiles Rate" )
PORT_DIPSETTING(    0x20, " Normal" )
PORT_DIPSETTING(    0x00, " Few" )
PORT_DIPNAME( 0x40, 0x40, "TENKAIGEN Rate" )
PORT_DIPSETTING(    0x40, " Normal" )
PORT_DIPSETTING(    0x00, " Less" )
PORT_DIPNAME( 0x80, 0x80, "Set Date" )
PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )

PORT_START("DSW4")  /* (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 ) )
PORT_DIPNAME( 0x04, 0x04, "CPU Weak  Or Strong" )
PORT_DIPSETTING(    0x04, " Weak" )
PORT_DIPSETTING(    0x00, " Strong" )
PORT_DIPNAME( 0x08, 0x08, "Service Count" )
PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "DON DEN TIME" )
PORT_DIPSETTING(    0x10, "8" )
PORT_DIPSETTING(    0x00, "5" )
PORT_DIPNAME( 0x20, 0x20, "Show Clock" )
PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
PORT_DIPSETTING(    0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, "Subtitle" )
PORT_DIPSETTING(    0x40, DEF_STR( None ) )
PORT_DIPSETTING(    0x00, "Part 2" )
PORT_DIPNAME( 0x80, 0x80, "YAKUMAN TABLE" )
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_SERVICE2 )   // 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

PORT_INCLUDE( MAHJONG_KEYS_BET )

INPUT_PORTS_END

little0000bag commented 1 month ago

Below is the Chinese dip sw for Tenkai:

static INPUT_PORTS_START( tenkai ) PORT_START("DSW0") PORT_DIPNAME( 0x0f, 0x07, "出分比例" ) 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, "役满倍率" ) 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, "最大押注" ) PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "20" )

PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, "投币比例" )
PORT_DIPSETTING(    0x03, "1:1" )
PORT_DIPSETTING(    0x02, "1:2" )
PORT_DIPSETTING(    0x01, "1:5" )
PORT_DIPSETTING(    0x00, "1:10" )
PORT_DIPNAME( 0x0c, 0x0c, "最小押注" )
PORT_DIPSETTING(    0x0c, "1" )
PORT_DIPSETTING(    0x08, "2" )
PORT_DIPSETTING(    0x04, "3" )
PORT_DIPSETTING(    0x00, "5" )
PORT_DIPNAME( 0x70, 0x70, "役满周期" )
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, "每次役满次数" ) PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x80, "2" )

PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, "游戏方式" )
PORT_DIPSETTING(    0x01, "上分" )
PORT_DIPSETTING(    0x00, "投币" )
PORT_DIPNAME( 0x02, 0x02, "画面反转" )
PORT_DIPSETTING(    0x02, "正常" )
PORT_DIPSETTING(    0x00, "反转" )
PORT_DIPNAME( 0x04, 0x04, "天开眼有无" )
PORT_DIPSETTING(    0x00, "有" )
PORT_DIPSETTING(    0x04, "无" )
PORT_DIPNAME( 0x08, 0x08, "游戏结束后续玩" )
PORT_DIPSETTING(    0x08, "结束" )
PORT_DIPSETTING(    0x00, "押分续玩" )
PORT_DIPNAME( 0x10, 0x10, "连庄赠与" )
PORT_DIPSETTING(    0x10, "无" )
PORT_DIPSETTING(    0x00, "有" )
PORT_DIPNAME( 0x20, 0x20, "听牌自动摸打" )
PORT_DIPSETTING(    0x20, "关" )
PORT_DIPSETTING(    0x00, "开" )
PORT_DIPNAME( 0x40, 0x40, "海底捞" )
PORT_DIPSETTING(    0x40, "无" )
PORT_DIPSETTING(    0x00, "有" )
PORT_DIPNAME( 0x80, 0x80, "换牌按键" )
PORT_DIPSETTING(    0x80, "开始键" )
PORT_DIPSETTING(    0x00, "射频按键" )

PORT_START("DSW3")
PORT_DIPNAME( 0x01, 0x00, "演示声音" )
PORT_DIPSETTING(    0x01, "无" )
PORT_DIPSETTING(    0x00, "有" )
PORT_DIPNAME( 0x02, 0x00, "游戏声音" )
PORT_DIPSETTING(    0x02, "无" )
PORT_DIPSETTING(    0x00, "有" )
PORT_DIPNAME( 0x04, 0x04, "对战角色选择" )
PORT_DIPSETTING(    0x04, "无" )
PORT_DIPSETTING(    0x00, "有" )
PORT_DIPNAME( 0x08, 0x00, "是否有痣" )
PORT_DIPSETTING(    0x00, "无" )
PORT_DIPSETTING(    0x08, "有" )
PORT_DIPNAME( 0x10, 0x10, "语言" )
PORT_DIPSETTING(    0x10, "日文" )
PORT_DIPSETTING(    0x00, "中文" )
PORT_DIPNAME( 0x20, 0x20, "三元换牌的频率" )
PORT_DIPSETTING(    0x20, "普通" )
PORT_DIPSETTING(    0x00, "少" )
PORT_DIPNAME( 0x40, 0x40, "天开眼的频率" )
PORT_DIPSETTING(    0x40, "普通" )
PORT_DIPSETTING(    0x00, "少" )
PORT_DIPNAME( 0x80, 0x80, "日期设定" )
PORT_DIPSETTING(    0x80, "关" )
PORT_DIPSETTING(    0x00, "开" )

PORT_START("DSW4")  /* (top) */
PORT_DIPNAME( 0x01, 0x01, "游戏体" )
PORT_DIPSETTING(    0x01, "新月台风" )
PORT_DIPSETTING(    0x00, "Hopper台风" )
PORT_DIPNAME( 0x02, 0x02, "Hopper活动" )
PORT_DIPSETTING(    0x02, "反转" )
PORT_DIPSETTING(    0x00, "通常" )
PORT_DIPNAME( 0x04, 0x04, "电脑强弱" )
PORT_DIPSETTING(    0x04, "普通" )
PORT_DIPSETTING(    0x00, "强" )
PORT_DIPNAME( 0x08, 0x08, "服务记数" )
PORT_DIPSETTING(    0x08, "关" )
PORT_DIPSETTING(    0x00, "开" )
PORT_DIPNAME( 0x10, 0x10, "换牌次数" )
PORT_DIPSETTING(    0x10, "8" )
PORT_DIPSETTING(    0x00, "5" )
PORT_DIPNAME( 0x20, 0x20, "显示时间" )
PORT_DIPSETTING(    0x20, "无" )
PORT_DIPSETTING(    0x00, "关" )
PORT_DIPNAME( 0x40, 0x40, "副标题Part2显示" )
PORT_DIPSETTING(    0x40, "无Part 2" )
PORT_DIPSETTING(    0x00, "显示Part 2" )
PORT_DIPNAME( 0x80, 0x80, "已胡役满清单显示" )
PORT_DIPSETTING(    0x80, "无" )
PORT_DIPSETTING(    0x00, "仅Part 2有效" )

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_SERVICE2 )   // 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

PORT_INCLUDE( MAHJONG_KEYS_BET )

INPUT_PORTS_END

cuavas commented 2 weeks ago

Addressed in e76b2cd790bbc43d8316b1201d851d76665c377d. Thanks for finding pictures of the manual. Unfortunately a few of the settings are illegible in the photos, but all the DIP switch settings have been filled in now, and the defaults are based on the recommended settings. I don’t know what some of the settings do, so I just translated the names for those ones.

Gently28 commented 6 days ago

虽然我不懂程序运作,但以下仅供参考。

https://1drv.ms/i/c/9f5d48a4358b200d/EXHDCbGVtdRAmSAdv7pVBu4BAqXM22l65T1GIJahWz2WGA?e=5uuIua

Gently28 commented 6 days ago

没有“配牌出血”和“特急便三元换牌”,这2项不可控。配牌出血是触发计时发生的,玩家玩够足够多的时间后出现;特急便三元换牌则是一般够约16局后出现。