Skip to content

Fix dip switches for Mahjong Crystal Gal #13734

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 6, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 49 additions & 34 deletions src/mame/nichibutsu/nbmj8688.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2233,7 +2233,7 @@ INPUT_PORTS_END

static INPUT_PORTS_START( crystalg )
PORT_START("DSWA")
PORT_DIPNAME( 0x0f, 0x0d, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3,4")
PORT_DIPNAME( 0x0f, 0x05, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3,4")
PORT_DIPSETTING( 0x0d, "1 (Easy)" )
PORT_DIPSETTING( 0x0a, "2" )
PORT_DIPSETTING( 0x09, "3" )
Expand All @@ -2257,31 +2257,46 @@ static INPUT_PORTS_START( crystalg )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

PORT_START("DSWB")
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "DSWB:1" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "DSWB:2" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DSWB:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DSWB:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DSWB:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DSWB:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "DSWB:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "DSWB:8" )
PORT_DIPNAME( 0x03, 0x02, "Last Chance Count" ) PORT_DIPLOCATION("DSWB:1,2")
PORT_DIPSETTING( 0x03, "0" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "10" )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:5")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:6")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("nb1413m3", FUNC(nb1413m3_device::busyflag_r))
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER
PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // ANALYZER
PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // SERVICE
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) // SERVICE

PORT_INCLUDE( nbmjcontrols )
INPUT_PORTS_END

static INPUT_PORTS_START( crystal2 )
PORT_START("DSWA")
PORT_DIPNAME( 0x0f, 0x0d, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3,4")
PORT_DIPNAME( 0x0f, 0x05, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSWA:1,2,3,4") // ゲーム難易度(9=最強)
PORT_DIPSETTING( 0x0d, "1 (Easy)" )
PORT_DIPSETTING( 0x0a, "2" )
PORT_DIPSETTING( 0x09, "3" )
Expand All @@ -2291,52 +2306,52 @@ static INPUT_PORTS_START( crystal2 )
PORT_DIPSETTING( 0x05, "7" )
PORT_DIPSETTING( 0x04, "8" )
PORT_DIPSETTING( 0x00, "9 (Hard)" )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:5")
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:5") // 常時 OFF
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:6")
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:6") // 常時 OFF
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:7")
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:7") // 常時 OFF
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:8")
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWA:8") // 常時 OFF
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

PORT_START("DSWB")
PORT_DIPNAME( 0x03, 0x00, "Number of last chance" ) PORT_DIPLOCATION("DSWB:1,2")
PORT_DIPNAME( 0x03, 0x02, "Last Chance Count" ) PORT_DIPLOCATION("DSWB:1,2") // ラストチャンス
PORT_DIPSETTING( 0x03, "0" )
PORT_DIPSETTING( 0x02, "1" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_DIPSETTING( 0x00, "10" )
PORT_DIPNAME( 0x0c, 0x00, "SANGEN Rush" ) PORT_DIPLOCATION("DSWB:3,4")
PORT_DIPNAME( 0x0c, 0x00, "Sangen Rush" ) PORT_DIPLOCATION("DSWB:3,4") // 三元ラッシュ
PORT_DIPSETTING( 0x0c, "1" )
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPSETTING( 0x00, DEF_STR( Infinite ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:5")
PORT_DIPSETTING( 0x00, "Unlimited" ) // 無限
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:5") // 常時 OFF
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:6")
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:6") // 常時 OFF
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:7")
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSWB:7") // 常時 OFF
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSWB:8")
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSWB:8") // DEMO音声
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("nb1413m3", FUNC(nb1413m3_device::busyflag_r))
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) //
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER
PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_TOGGLE // ANALYZER
PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) // OPTION (?)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) // OPTION (?)

PORT_INCLUDE( nbmjcontrols )
INPUT_PORTS_END
Expand Down
Loading