diff options
author | 2025-02-21 16:23:59 +0100 | |
---|---|---|
committer | 2025-02-21 16:23:59 +0100 | |
commit | 9a58e39d6e8a4aba4e1dbad28d4e4179c9a896d3 (patch) | |
tree | 3e4824dfc89c6cf9454d5bddf3852f4ab3a89ae9 | |
parent | 0759cce9e7a7447d3dac117c377369d84b04984d (diff) |
New working clones
------------------
Super Poker (v102U) [ArcadePT]
Super Poker (v130) [ArcadePT]
Super Poker (v200) [ArcadePT]
-rw-r--r-- | src/mame/igs/spoker.cpp | 327 | ||||
-rw-r--r-- | src/mame/mame.lst | 5 | ||||
-rw-r--r-- | src/mame/skeleton/vgame.cpp | 12 |
3 files changed, 329 insertions, 15 deletions
diff --git a/src/mame/igs/spoker.cpp b/src/mame/igs/spoker.cpp index 7be18e80a4b..f0a27e7f702 100644 --- a/src/mame/igs/spoker.cpp +++ b/src/mame/igs/spoker.cpp @@ -24,7 +24,8 @@ TODO: - Understand how to reset NVRAM - - Map DSW (Operator mode doesn't help) + - Verify / complete DSW for spk sets where operator mode doesn't help + (every one but 100, 102u, 102ua, 114it, 130, 200, 200ua, 201ua, 203us) - Verify LEDs and coin counters (should be ok) - 3super8 randomly crashes - 3super8 doesn't have the 8x32 tilemap, change the video emulation accordingly @@ -703,6 +704,136 @@ static INPUT_PORTS_START( spoker ) // this has every hold key which also does an PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +static INPUT_PORTS_START( spk203us ) + PORT_INCLUDE(spoker) + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "Hold Mode" ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x02, "Hold Win" ) + PORT_DIPSETTING( 0x00, "Auto Hold" ) + PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5") + PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x18, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x14, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x0c, "1 Coin/20 Credits" ) + PORT_DIPSETTING( 0x08, "1 Coin/40 Credits" ) + PORT_DIPSETTING( 0x04, "1 Coin/50 Credits" ) + PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) + PORT_DIPNAME( 0x60, 0x60, "Max Bet" ) PORT_DIPLOCATION("SW1:6,7") + PORT_DIPSETTING( 0x60, "8" ) + PORT_DIPSETTING( 0x40, "10" ) + PORT_DIPSETTING( 0x20, "50" ) + PORT_DIPSETTING( 0x00, "100" ) + PORT_DIPNAME( 0x80, 0x80, "Hopper" ) PORT_DIPLOCATION("SW1:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x03, 0x03, "Min Bet" ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPSETTING( 0x03, "1" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x01, "10" ) + PORT_DIPSETTING( 0x00, "20" ) + PORT_DIPNAME( 0x1c, 0x1c, "Key In" ) PORT_DIPLOCATION("SW2:3,4,5") + PORT_DIPSETTING( 0x1c, "10 Credits" ) + PORT_DIPSETTING( 0x18, "20 Credits" ) + PORT_DIPSETTING( 0x14, "40 Credits" ) + PORT_DIPSETTING( 0x10, "50 Credits" ) + PORT_DIPSETTING( 0x0c, "100 Credits" ) + PORT_DIPSETTING( 0x08, "200 Credits" ) + PORT_DIPSETTING( 0x04, "250 Credits" ) + PORT_DIPSETTING( 0x00, "500 Credits" ) + PORT_DIPNAME( 0x60, 0x60, "Key Out" ) PORT_DIPLOCATION("SW2:6,7") + PORT_DIPSETTING( 0x60, "1 Credit" ) + PORT_DIPSETTING( 0x40, "10 Credits" ) + PORT_DIPSETTING( 0x20, "100 Credits" ) + PORT_DIPSETTING( 0x00, "500 Credits" ) + PORT_DIPNAME( 0x80, 0x80, "Payout Mode" ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x80, "Manual" ) + PORT_DIPSETTING( 0x00, "Auto" ) + + PORT_MODIFY("DSW3") + PORT_DIPNAME( 0x01, 0x01, "System Ltd." ) PORT_DIPLOCATION("SW3:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, "7500" ) + PORT_DIPNAME( 0x02, 0x02, "Show Discard" ) PORT_DIPLOCATION("SW3:2") + PORT_DIPSETTING( 0x02, "Hold" ) + PORT_DIPSETTING( 0x00, "Discard" ) + PORT_DIPNAME( 0x04, 0x04, "Password" ) PORT_DIPLOCATION("SW3:3") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x38, 0x38, "Main Rate" ) PORT_DIPLOCATION("SW3:4,5,6") + PORT_DIPSETTING( 0x38, "50%" ) + PORT_DIPSETTING( 0x30, "60%" ) + PORT_DIPSETTING( 0x28, "65%" ) + PORT_DIPSETTING( 0x20, "70%" ) + PORT_DIPSETTING( 0x18, "75%" ) + PORT_DIPSETTING( 0x10, "80%" ) + PORT_DIPSETTING( 0x08, "85%" ) + PORT_DIPSETTING( 0x00, "90%" ) + PORT_DIPNAME( 0xc0, 0xc0, "W-Up Rate" ) PORT_DIPLOCATION("SW3:7,8") + PORT_DIPSETTING( 0xc0, "75%" ) + PORT_DIPSETTING( 0x80, "80%" ) + PORT_DIPSETTING( 0x40, "85%" ) + PORT_DIPSETTING( 0x00, "90%" ) + + PORT_MODIFY("DSW4") + PORT_DIPNAME( 0x01, 0x01, "W-Up Game" ) PORT_DIPLOCATION("SW4:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPLOCATION("SW4:2") // from here on, not shown / listed in test mode + PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPLOCATION("SW4:3") + PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPLOCATION("SW4:4") + PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPLOCATION("SW4:5") + PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPLOCATION("SW4:6") + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW4:7") + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW4:8") + + PORT_MODIFY("DSW5") // present on PCB, but not shown / listed in test mode + PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPLOCATION("SW5:1") + PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPLOCATION("SW5:2") + PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPLOCATION("SW5:3") + PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPLOCATION("SW5:4") + PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPLOCATION("SW5:5") + PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPLOCATION("SW5:6") + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW5:7") + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW5:8") +INPUT_PORTS_END + +static INPUT_PORTS_START( spk201ua ) + PORT_INCLUDE(spk203us) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x60, 0x60, "Key Out" ) PORT_DIPLOCATION("SW2:6,7") + PORT_DIPSETTING( 0x60, "1 Credit" ) + PORT_DIPSETTING( 0x40, "10 Credits" ) + PORT_DIPSETTING( 0x20, "100 Credits" ) + PORT_DIPSETTING( 0x00, "100 Credits (duplicate)" ) +INPUT_PORTS_END + +static INPUT_PORTS_START( spk200ua ) + PORT_INCLUDE(spk201ua) + + PORT_MODIFY("DSW4") + PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPLOCATION("SW4:1") // from here on, not shown / listed in test mode +INPUT_PORTS_END + +static INPUT_PORTS_START( spk102ua ) + PORT_INCLUDE(spk200ua) + + PORT_MODIFY("DSW3") + PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPLOCATION("SW3:3") // from here on, not shown / listed in test mode + PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPLOCATION("SW3:4") + PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPLOCATION("SW3:5") + PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPLOCATION("SW3:6") + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW3:7") + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW3:8") +INPUT_PORTS_END + static INPUT_PORTS_START( spk114it ) // this has dedicated keys for every function PORT_INCLUDE(spoker) @@ -724,9 +855,139 @@ static INPUT_PORTS_START( spk114it ) // this has dedicated keys for every functi PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) // Big + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "Hold Mode" ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x02, "Hold Win" ) + PORT_DIPSETTING( 0x00, "Auto Hold" ) + PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4,5") + PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x18, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x14, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x0c, "1 Coin/20 Credits" ) + PORT_DIPSETTING( 0x08, "1 Coin/40 Credits" ) + PORT_DIPSETTING( 0x04, "1 Coin/50 Credits" ) + PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) + PORT_DIPNAME( 0x20, 0x20, "Hopper" ) PORT_DIPLOCATION("SW1:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW1:7") // not shown / listed in test mode + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW1:8") // not shown / listed in test mode + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x03, 0x03, "Min Bet" ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPSETTING( 0x03, "1" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x01, "10" ) + PORT_DIPSETTING( 0x00, "20" ) + PORT_DIPNAME( 0x1c, 0x1c, "Key In" ) PORT_DIPLOCATION("SW2:3,4,5") + PORT_DIPSETTING( 0x1c, "10 Credits" ) + PORT_DIPSETTING( 0x18, "20 Credits" ) + PORT_DIPSETTING( 0x14, "40 Credits" ) + PORT_DIPSETTING( 0x10, "50 Credits" ) + PORT_DIPSETTING( 0x0c, "100 Credits" ) + PORT_DIPSETTING( 0x08, "200 Credits" ) + PORT_DIPSETTING( 0x04, "250 Credits" ) + PORT_DIPSETTING( 0x00, "500 Credits" ) + PORT_DIPNAME( 0x20, 0x20, "Key Out" ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x20, "10 Credits" ) + PORT_DIPSETTING( 0x00, "100 Credits" ) + PORT_DIPNAME( 0x40, 0x40, "W-Up Ltd." ) PORT_DIPLOCATION("SW2:7") + PORT_DIPSETTING( 0x40, "3500" ) + PORT_DIPSETTING( 0x00, "5000" ) + PORT_DIPNAME( 0x80, 0x80, "Payout Mode" ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x80, "Manual" ) + PORT_DIPSETTING( 0x00, "Auto" ) + + PORT_MODIFY("DSW3") + PORT_DIPNAME( 0x03, 0x03, "W-Up B_Base" ) PORT_DIPLOCATION("SW3:1,2") + PORT_DIPSETTING( 0x03, "100" ) + PORT_DIPSETTING( 0x02, "200" ) + PORT_DIPSETTING( 0x01, "300" ) + PORT_DIPSETTING( 0x00, "400" ) + PORT_DIPNAME( 0x0c, 0x0c, "W-Up Pool" ) PORT_DIPLOCATION("SW3:3,4") + PORT_DIPSETTING( 0x0c, "300" ) + PORT_DIPSETTING( 0x08, "500" ) + PORT_DIPSETTING( 0x04, "800" ) + PORT_DIPSETTING( 0x00, "800 (duplicate)" ) + PORT_DIPNAME( 0x30, 0x30, "System Ltd." ) PORT_DIPLOCATION("SW3:5,6") + PORT_DIPSETTING( 0x30, "20000" ) + PORT_DIPSETTING( 0x20, "30000" ) + PORT_DIPSETTING( 0x10, "40000" ) + PORT_DIPSETTING( 0x00, "50000" ) + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW3:7") // not shown / listed in test mode + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW3:8") // not shown / listed in test mode + + PORT_MODIFY("DSW4") + PORT_DIPNAME( 0x01, 0x01, "Payout Kind" ) PORT_DIPLOCATION("SW4:1") + PORT_DIPSETTING( 0x01, "Hopper" ) + PORT_DIPSETTING( 0x00, "Ticket" ) + PORT_DIPNAME( 0x06, 0x06, "Ticket Rate" ) PORT_DIPLOCATION("SW4:2,3") + PORT_DIPSETTING( 0x06, "10:1" ) + PORT_DIPSETTING( 0x04, "20:1" ) + PORT_DIPSETTING( 0x02, "50:1" ) + PORT_DIPSETTING( 0x00, "100:1" ) + PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPLOCATION("SW4:4") // not shown / listed in test mode// from here on, not shown / listed in test mode + PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPLOCATION("SW4:5") + PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPLOCATION("SW4:6") + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW4:7") + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW4:8") + + PORT_MODIFY("DSW5") // present on PCB, but not shown / listed in test mode + PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPLOCATION("SW5:1") + PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPLOCATION("SW5:2") + PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPLOCATION("SW5:3") + PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPLOCATION("SW5:4") + PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPLOCATION("SW5:5") + PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPLOCATION("SW5:6") + PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPLOCATION("SW5:7") + PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_DIPLOCATION("SW5:8") INPUT_PORTS_END +static INPUT_PORTS_START( spk100 ) + PORT_INCLUDE(spk114it) + PORT_MODIFY("BUTTONS1") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet") // Only works as Hold 5 in test mode, but also works as bet in game + + PORT_MODIFY("BUTTONS2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) // this works as Bet in key test but not in game? Probably BTANB + + PORT_MODIFY("DSW4") // not shown / listed in test mode + PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW4:1" ) + PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW4:2" ) + PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW4:3" ) +INPUT_PORTS_END + +static INPUT_PORTS_START( spk130 ) + PORT_INCLUDE(spk100) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x40, 0x40, "W-Up Ltd." ) PORT_DIPLOCATION("SW2:7") + PORT_DIPSETTING( 0x40, "1750" ) + PORT_DIPSETTING( 0x00, "2500" ) + + PORT_MODIFY("DSW3") + PORT_DIPNAME( 0x03, 0x03, "W-Up B_Base" ) PORT_DIPLOCATION("SW3:1,2") + PORT_DIPSETTING( 0x03, "50" ) + PORT_DIPSETTING( 0x02, "100" ) + PORT_DIPSETTING( 0x01, "150" ) + PORT_DIPSETTING( 0x00, "200" ) + PORT_DIPNAME( 0x0c, 0x0c, "W-Up Pool" ) PORT_DIPLOCATION("SW3:3,4") + PORT_DIPSETTING( 0x0c, "150" ) + PORT_DIPSETTING( 0x08, "250" ) + PORT_DIPSETTING( 0x04, "400" ) + PORT_DIPSETTING( 0x00, "400 (duplicate)" ) + PORT_DIPNAME( 0x30, 0x30, "System Ltd." ) PORT_DIPLOCATION("SW3:5,6") + PORT_DIPSETTING( 0x30, "10000" ) + PORT_DIPSETTING( 0x20, "15000" ) + PORT_DIPSETTING( 0x10, "20000" ) + PORT_DIPSETTING( 0x00, "25000" ) +INPUT_PORTS_END static INPUT_PORTS_START( 3super8 ) PORT_START("DSW1") @@ -812,7 +1073,6 @@ static INPUT_PORTS_START( 3super8 ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END - // TODO: copied over from older versions in igs/igs009.cpp. Verify if dips are the same. Inputs are verified the same. static INPUT_PORTS_START( jb ) PORT_START("DSW1") @@ -1284,6 +1544,38 @@ ROM_START( spk200ua ) ROM_LOAD( "mx28f2000p_v200_uasp.u34", 0x0000, 0x40000, CRC(33e6089d) SHA1(cd1ad01e92c18bbeab3fe3ea9152f8b0a3eb1b29) ) ROM_END +ROM_START( spk200 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "u44", 0x0000, 0x10000, CRC(75dac1bd) SHA1(06cbed9cf9956af47aadb44e467c1952f16cc3e5) ) + + ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_LOAD( "u25", 0x00000, 0x40000, CRC(7cf1327b) SHA1(afeaa975e63cff2f6ae52650cf77b125593efbbc) ) + ROM_LOAD( "u24", 0x40000, 0x40000, CRC(15095525) SHA1(480c17eec6079f7bf12026a9bb1c14fb52db8d45) ) + ROM_LOAD( "u23", 0x80000, 0x40000, CRC(b1538860) SHA1(0de12b91db25281025059429fac07d235071ea21) ) + + ROM_REGION( 0x30000, "gfx2", 0 ) + ROM_FILL( 0x0000, 0x30000, 0xff ) // filling the whole bank + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "u38", 0x0000, 0x40000, CRC(33e6089d) SHA1(cd1ad01e92c18bbeab3fe3ea9152f8b0a3eb1b29) ) +ROM_END + +ROM_START( spk130 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "u44", 0x0000, 0x10000, CRC(1a76b7f1) SHA1(6d83b0841991bc86179b98267ecb5949641932fe) ) + + ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_LOAD( "u25", 0x00000, 0x40000, CRC(7cf1327b) SHA1(afeaa975e63cff2f6ae52650cf77b125593efbbc) ) + ROM_LOAD( "u24", 0x40000, 0x40000, CRC(15095525) SHA1(480c17eec6079f7bf12026a9bb1c14fb52db8d45) ) + ROM_LOAD( "u23", 0x80000, 0x40000, CRC(b1538860) SHA1(0de12b91db25281025059429fac07d235071ea21) ) + + ROM_REGION( 0x30000, "gfx2", 0 ) + ROM_FILL( 0x0000, 0x30000, 0xff ) // filling the whole bank + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "u38", 0x0000, 0x40000, CRC(33e6089d) SHA1(cd1ad01e92c18bbeab3fe3ea9152f8b0a3eb1b29) ) +ROM_END + ROM_START( spk102ua ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512_v102_ua.u27", 0x0000, 0x10000, CRC(ec5e9f6d) SHA1(5d7a86f8faef7a4b7a9dde040b00b987ffb09479) ) @@ -1300,7 +1592,23 @@ ROM_START( spk102ua ) ROM_LOAD( "mx28f2000p_v102_uasp.u34", 0x0000, 0x40000, CRC(33e6089d) SHA1(cd1ad01e92c18bbeab3fe3ea9152f8b0a3eb1b29) ) ROM_END -ROM_START( spk100 ) // no labels on the ROMs +ROM_START( spk102u ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "u44", 0x0000, 0x10000, CRC(51e392e7) SHA1(da76cdfbdc84234ee6d3dd360871d892a8a1c5e2) ) + + ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_LOAD( "u25", 0x00000, 0x40000, CRC(67f2a1d6) SHA1(115655cf4718105e7ff054dd662d9d53e9ea91e0) ) + ROM_LOAD( "u24", 0x40000, 0x40000, CRC(fb9d8c09) SHA1(6cbefa90f6b866ee682f7981d6f5d30e9346a123) ) + ROM_LOAD( "u23", 0x80000, 0x40000, CRC(98b71478) SHA1(b5bd9eef91f5cc2e9628e5181fbbd6fd453487f0) ) + + ROM_REGION( 0x30000, "gfx2", 0 ) + ROM_FILL( 0x0000, 0x30000, 0xff ) // filling the whole bank + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "u38", 0x0000, 0x40000, CRC(33e6089d) SHA1(cd1ad01e92c18bbeab3fe3ea9152f8b0a3eb1b29) ) +ROM_END + +ROM_START( spk100 ) // no labels on the ROMs. This version has also been found with GFX ROMs from the spk200 set ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u43", 0x0000, 0x10000, CRC(7c17bf58) SHA1(dd16b9f52d8c08a61fe234978cc84b95c25c5dec) ) @@ -1682,16 +1990,19 @@ void spoker_state::init_3super8() // YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS GAME( 1996, spk306us, 0, spokeru, spoker, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v306US)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, spk205us, spk306us, spokeru, spoker, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v205US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1996, spk203us, spk306us, spokeru, spoker, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v203US)", MACHINE_SUPPORTS_SAVE ) // LS1. 8 203US in test mode -GAME( 1996, spk201ua, spk306us, spokeru, spoker, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v201UA)", MACHINE_SUPPORTS_SAVE ) // still shows 200UA in test mode -GAME( 1996, spk200ua, spk306us, spokeru, spoker, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v200UA)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, spk203us, spk306us, spokeru, spk203us, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v203US)", MACHINE_SUPPORTS_SAVE ) // LS1. 8 203US in test mode +GAME( 1996, spk201ua, spk306us, spokeru, spk201ua, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v201UA)", MACHINE_SUPPORTS_SAVE ) // still shows 200UA in test mode +GAME( 1996, spk200ua, spk306us, spokeru, spk200ua, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v200UA)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, spk200, spk306us, spoker, spk100, spoker_state, init_spk100, ROT0, "IGS", "Super Poker (v200)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, spk130, spk306us, spoker, spk130, spoker_state, init_spk100, ROT0, "IGS", "Super Poker (v130)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, spk120in, spk306us, spoker, spoker, spoker_state, init_spk120in, ROT0, "IGS", "Super Poker (v120IN)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, spk116it, spk306us, spoker, spoker, spoker_state, init_spk116it, ROT0, "IGS", "Super Poker (v116IT)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, spk116itmx, spk306us, spoker, spoker, spoker_state, init_spk114it, ROT0, "IGS", "Super Poker (v116IT-MX)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, spk115it, spk306us, spoker, spoker, spoker_state, init_spk116it, ROT0, "IGS", "Super Poker (v115IT)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, spk114it, spk306us, spoker, spk114it, spoker_state, init_spk114it, ROT0, "IGS", "Super Poker (v114IT)", MACHINE_SUPPORTS_SAVE ) -GAME( 1996, spk102ua, spk306us, spokeru, spoker, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v102UA)", MACHINE_SUPPORTS_SAVE ) -GAME( 1996, spk100, spk306us, spoker, spk114it, spoker_state, init_spk100, ROT0, "IGS", "Super Poker (v100)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, spk102ua, spk306us, spokeru, spk102ua, spokeru_state, init_spokeru, ROT0, "IGS", "Super Poker (v102UA)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, spk102u, spk306us, spoker, spk102ua, spoker_state, init_spk100, ROT0, "IGS", "Super Poker (v102U)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, spk100, spk306us, spoker, spk100, spoker_state, init_spk100, ROT0, "IGS", "Super Poker (v100)", MACHINE_SUPPORTS_SAVE ) GAME( 1993?, 3super8, 0, _3super8, 3super8, spoker_state, init_3super8, ROT0, "<unknown>", "3 Super 8 (Italy)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ROMs are badly dumped GAME( 1997, jbell, 0, jb, jb, jb_state, init_spokeru, ROT0, "IGS", "Jingle Bell (v200US)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, jinhulu2, 0, jinhulu2, spoker, jinhulu2_state, init_jinhulu2, ROT0, "IGS", "Jin Hu Lu 2 (v412GS)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // tries to link to something? diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 8d9d09b588d..415bb9c1f2b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20786,12 +20786,15 @@ kov3hd101 jbell jinhulu2 spk100 +spk102u spk102ua spk114it spk115it spk116it spk116itmx spk120in +spk130 +spk200 spk200ua spk201ua spk203us @@ -43184,7 +43187,7 @@ venteta @source:skeleton/vgame.cpp hilice -mjxy +mjxy2 @source:skeleton/vp415.cpp vp415 diff --git a/src/mame/skeleton/vgame.cpp b/src/mame/skeleton/vgame.cpp index 1c78e4d16bb..e1ddfc176f0 100644 --- a/src/mame/skeleton/vgame.cpp +++ b/src/mame/skeleton/vgame.cpp @@ -164,12 +164,12 @@ ROM_START( hilice ) ROM_END // VGAME-0030-02-AG PCB, almost identical to the hilice one. -// all labels have 麻將學園 (Mahjong Academy) prepended to what's below. -ROM_START( mjxy ) - ROM_REGION( 0x200000, "maincpu", 0 ) +// while all labels have 麻將學園 (Mahjong School) prepended to what's below, title screen shows 麻將學園 2 - Mahjong School 2 +ROM_START( mjxy2 ) + ROM_REGION( 0x200000, "maincpu", 0 ) // dumped as EV29LV160 (same rare ROM as some IGS titles) ROM_LOAD( "u12_v108tw.u12", 0x000000, 0x200000, CRC(a6d99849) SHA1(c280635517d5ffded524e15048568817bd927bf9) ) - ROM_REGION( 0x400000, "gfx", 0 ) + ROM_REGION( 0x400000, "gfx", 0 ) // dumped as EV29LV160 (same rare ROM as some IGS titles) ROM_LOAD16_BYTE( "u3_cg_v105.u3", 0x000000, 0x200000, CRC(fda38fb1) SHA1(7bd744e42f619254ebad2fb60f3851f61073fe8c) ) // FIXED BITS (xxxxxxxx0xxxxxxx) ROM_LOAD16_BYTE( "u7_cg_v105.u7", 0x000001, 0x200000, CRC(5acf5b99) SHA1(ee638635c25ab9d392b8a7ff79209e657ccfd5c0) ) // FIXED BITS (xxxxxxxx0xxxxxxx) @@ -186,5 +186,5 @@ void vgame_state::init_hilice() } // anonymous namespace -GAME( 200?, hilice, 0, vgame, hilice, vgame_state, init_hilice, ROT0, "VGame", "Hi Lice (V102FA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -GAME( 200?, mjxy, 0, vgame, hilice, vgame_state, init_hilice, ROT0, "VGame", "Majiang Xueyuan (V108TW)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, hilice, 0, vgame, hilice, vgame_state, init_hilice, ROT0, "VGame", "Hi Lice (V102FA)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +GAME( 200?, mjxy2, 0, vgame, hilice, vgame_state, init_hilice, ROT0, "VGame", "Majiang Xueyuan 2 - Mahjong School 2 (V108TW)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) |