diff options
| author | 2025-10-23 18:08:59 +0200 | |
|---|---|---|
| committer | 2025-10-23 18:08:59 +0200 | |
| commit | a0f9c074f47e80d44bec70090101e76f8ac35982 (patch) | |
| tree | f012624a0e64b19b0d2087be058df96c8298ea3e | |
| parent | 1441a06b5c7fde81869c7cde21d870e1cfbe153c (diff) | |
New systems marked not working
------------------------------
Lucky Pierrot (Japan, v1.1.0B) [Hammy]
Miracle Seven - Heaven's Gate Turbo (Japan, v2.0.0) [Hammy]
- excellent/es9501.cpp: dumped correct EEPROM for the d9flower sets [Hammy]
| -rw-r--r-- | src/mame/excellent/es9501.cpp | 7 | ||||
| -rw-r--r-- | src/mame/excellent/lastbank.cpp | 129 | ||||
| -rw-r--r-- | src/mame/mame.lst | 2 |
3 files changed, 123 insertions, 15 deletions
diff --git a/src/mame/excellent/es9501.cpp b/src/mame/excellent/es9501.cpp index 76b7f2ac383..adeb674a114 100644 --- a/src/mame/excellent/es9501.cpp +++ b/src/mame/excellent/es9501.cpp @@ -24,13 +24,12 @@ Undumped games known to run on this PCB: * Multi Spin TODO -- EEPROM write doesn't work; +- EEPROM write doesn't always work; - layout for lamps; - sprite colors aren't always correct (i.e. specd9 title screen). Is palette banked, too?; - verify sprites / tilemaps priorities; - flip screen support; - only a small part of the videoregs are (perhaps) understood; -- d9flower needs correct EEPROM; - IRQ handling not 100% correct; - device-ify ES-9409 and share with excellent/dblcrown.cpp. */ @@ -506,7 +505,7 @@ ROM_START( d9flower ) // Dream 9 Flower string, but images seem more Flower 9 Dr ROM_LOAD( "5.u23", 0x000000, 0x080000, CRC(b6ad2e58) SHA1(84c0cdc155f641d4e5d8ae99acbfa5b297762418) ) ROM_REGION16_BE( 0x100, "eeprom", ROMREGION_ERASE00 ) - ROM_LOAD16_WORD_SWAP( "93c56.u12", 0x000, 0x100, CRC(c52c6e49) SHA1(7e5920baf45f68e7fc5f0b5640fa121a19608224) ) + ROM_LOAD16_WORD_SWAP( "93c56.u12", 0x000, 0x100, CRC(3ffcac74) SHA1(43bd5324b27e9859f235c5d9b1545e012431a5a4) ) ROM_REGION( 0x117, "plds", 0 ) ROM_LOAD( "3.u37", 0x000, 0x117, BAD_DUMP CRC(bea4cb24) SHA1(09987e6b903cc3bd202a9d933474b36bdbb99d9a) ) // not dumped for this set, but marked same @@ -525,7 +524,7 @@ ROM_START( d9flowera ) // same GFX / sound ROMs as d9flower, updated program (bu ROM_LOAD( "j5.u23", 0x000000, 0x080000, CRC(b6ad2e58) SHA1(84c0cdc155f641d4e5d8ae99acbfa5b297762418) ) ROM_REGION16_BE( 0x100, "eeprom", ROMREGION_ERASE00 ) - ROM_LOAD16_WORD_SWAP( "93c56.u12", 0x000, 0x100, NO_DUMP ) + ROM_LOAD16_WORD_SWAP( "93c56.u12", 0x000, 0x100, CRC(3ffcac74) SHA1(43bd5324b27e9859f235c5d9b1545e012431a5a4) ) ROM_REGION( 0x117, "plds", 0 ) ROM_LOAD( "003.u37", 0x000, 0x117, BAD_DUMP CRC(bea4cb24) SHA1(09987e6b903cc3bd202a9d933474b36bdbb99d9a) ) // not dumped for this set, but probably same diff --git a/src/mame/excellent/lastbank.cpp b/src/mame/excellent/lastbank.cpp index d75a1a34804..1f3b212ab8f 100644 --- a/src/mame/excellent/lastbank.cpp +++ b/src/mame/excellent/lastbank.cpp @@ -8,16 +8,13 @@ Uses a TC0091LVC, a variant of the one used on Taito L HW Undumped games on similar hardware (ES-9402 or ES-9410): * Angel Fever -* Lucky Pierrot / Wonder Circus * Miracle Seven -* Miracle Seven - Heaven's Gate Turbo * Royal Choice Poker TODO: - lastbank: sprites should be clip masked during gameplay (verify); - fever13: OKI sound volume overdrives a lot; -- goldstrk, wcircus: sound flags / latches are somewhat different, need correct implementation; -- goldstrk: correct DIP definitions; +- goldstrk, lpierrot, wcircus: sound flags / latches are somewhat different, need correct implementation; - hookup hopper device; **************************************************************************************************/ @@ -626,6 +623,38 @@ static INPUT_PORTS_START( mir7hg ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +static INPUT_PORTS_START( mir7hgt ) + PORT_INCLUDE( mir7hg ) + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x03, 0x03, "Max Bet" ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPSETTING( 0x03, "10" ) + PORT_DIPSETTING( 0x02, "30" ) + PORT_DIPSETTING( 0x01, "50" ) + PORT_DIPSETTING( 0x00, "100" ) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x01, 0x01, "Reach Speed" ) PORT_DIPLOCATION("DSW2:1") + PORT_DIPSETTING( 0x01, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x00, "Quick" ) + PORT_DIPNAME( 0x60, 0x60, "Pool Limit" ) PORT_DIPLOCATION("DSW2:6,7") + PORT_DIPSETTING( 0x60, "100" ) + PORT_DIPSETTING( 0x40, "300" ) + PORT_DIPSETTING( 0x20, "500" ) + PORT_DIPSETTING( 0x00, "1000" ) + + PORT_MODIFY("DSW4") + PORT_DIPNAME( 0x01, 0x01, "Coin C" ) PORT_DIPLOCATION("DSW4:1") + PORT_DIPSETTING( 0x01, DEF_STR( 6C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 9C_1C ) ) + + PORT_DIPNAME( 0x06, 0x06, "Min Bet" ) PORT_DIPLOCATION("DSW4:2,3") + PORT_DIPSETTING( 0x06, "1" ) + PORT_DIPSETTING( 0x04, "10" ) + PORT_DIPSETTING( 0x02, "20" ) + PORT_DIPSETTING( 0x00, "30" ) +INPUT_PORTS_END + static INPUT_PORTS_START( wcircus ) PORT_INCLUDE( fever13 ) @@ -730,6 +759,43 @@ static INPUT_PORTS_START( wcircus ) PORT_DIPSETTING( 0x00, "Small / Big / W-Up" ) INPUT_PORTS_END +static INPUT_PORTS_START( lpierrot ) + PORT_INCLUDE( wcircus ) + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") // no effect in test mode + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + +static INPUT_PORTS_START( goldstrk ) + PORT_INCLUDE( wcircus ) + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x03, 0x03, "Max Bet" ) PORT_DIPLOCATION("DSW1:1,2") + PORT_DIPSETTING( 0x03, "10" ) + PORT_DIPSETTING( 0x02, "50" ) + PORT_DIPSETTING( 0x01, "100" ) + PORT_DIPSETTING( 0x00, "200" ) + PORT_DIPNAME( 0x10, 0x10, "Reel Stop Speed" ) PORT_DIPLOCATION("DSW1:5") + PORT_DIPSETTING( 0x10, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x00, "Fast" ) + PORT_DIPNAME( 0x40, 0x40, "Double Up Game" ) PORT_DIPLOCATION("DSW1:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Double Up Type" ) PORT_DIPLOCATION("DSW1:8") + PORT_DIPSETTING( 0x80, "A" ) + PORT_DIPSETTING( 0x00, "B" ) + + PORT_MODIFY("DSW4") + 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 ) ) +INPUT_PORTS_END + TIMER_DEVICE_CALLBACK_MEMBER(lastbank_state::scanline_cb) { @@ -791,7 +857,7 @@ void lastbank_state::lastbank(machine_config &config) msm6585_device &msm(MSM6585(config, "msm", 640_kHz_XTAL)); msm.vck_legacy_callback().set("essnd", FUNC(es8712_device::msm_int)); - msm.set_prescaler_selector(msm6585_device::S40); /* Not verified */ + msm.set_prescaler_selector(msm6585_device::S40); // Not verified msm.add_route(ALL_OUTPUTS, "mono", 0.50); // A RTC-62421 is present on the Last Bank PCB. However, the code @@ -880,6 +946,24 @@ ROM_START( mir7hg ) // v1.0.2 Feb 19 1996 15:05:17 ROM_LOAD( "5.u60", 0x00000, 0x80000, CRC(13d8c30a) SHA1(1a2dc0c97992e9e1d73c5f3f713db8599d2d2285) ) // 11xxxxxxxxxxxxxxxxx = 0xFF ROM_END +// ES-9402 PCB +ROM_START( mir7hgt ) + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_LOAD( "2.u9", 0x00000, 0x40000, CRC(691c46a7) SHA1(ceca506cf5f49974dc6f78aa7ec3618356641c42) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "3.u48", 0x00000, 0x10000, CRC(895da366) SHA1(4e82e2ee9b6a91453b8dca9f313714ef846dec56) ) // same as mir7hg, 11111xxxxxxxxxxx = 0xFF + + ROM_REGION( 0x200000, "maincpu:gfx", ROMREGION_ERASEFF ) + ROM_LOAD( "1.u11", 0x00000, 0x80000, CRC(d9b94979) SHA1(d536ecd92fde57b322c040a0ee15c9ef18fe0ebb) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "4.u55", 0x00000, 0x40000, CRC(04114b83) SHA1(d1b4fcb0a2dc81a938c1e63dab5a43c2e628542e) ) // same as mir7hg, 1xxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x80000, "essnd", 0 ) // Samples + ROM_LOAD( "5.u60", 0x00000, 0x80000, CRC(13d8c30a) SHA1(1a2dc0c97992e9e1d73c5f3f713db8599d2d2285) ) // same as mir7hg, 11xxxxxxxxxxxxxxxxx = 0xFF +ROM_END + ROM_START( wcircus ) ROM_REGION( 0x40000, "maincpu", 0 ) ROM_LOAD( "6.u9", 0x00000, 0x40000, CRC(6cb29023) SHA1(e1a980f789d4c66ddd80e819d0a94991a5ad1f2b) ) @@ -918,12 +1002,35 @@ ROM_START( goldstrk ) ROM_LOAD( "7.gsbgm.u60", 0x00000, 0x80000, CRC(04952e51) SHA1(272283306d9ec951baa85cb8e2d8952da7a98894) ) ROM_END +// ES-9402 PCB +ROM_START( lpierrot ) + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_LOAD( "6.u9", 0x00000, 0x40000, CRC(13565453) SHA1(3b0e9b1435ae6cbcb93874c14d3c9413878188d7) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "3.u48", 0x00000, 0x10000, CRC(ec8a0ccc) SHA1(84ffb5c9614764500f41cff8f0d6d5ad9f0d8084) ) // same as wcircus and goldstrk + + ROM_REGION( 0x200000, "maincpu:gfx", ROMREGION_ERASEFF ) + ROM_LOAD( "27c802.u11", 0x000000, 0x100000, CRC(fefee118) SHA1(21c81e4a7d5ac86e1ebb452647a1908fd4ee9600) ) // same as wcircus, 1xxxxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "5s.u55", 0x00000, 0x40000, CRC(390911e9) SHA1(10ed6fca1a0d183f47c231503a3077faab0d593e) ) // same as wcircus, 1xxxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x80000, "essnd", 0 ) // Samples + ROM_LOAD( "7.u60", 0x00000, 0x80000, CRC(d018ed97) SHA1(02eb6559805f81f371d39b9c0660cd6d9d392656) ) // same as wcircus + + ROM_REGION( 0x117, "plds", 0 ) + ROM_LOAD( "gal16v8b.u45", 0x000, 0x117, CRC(02e1f2e9) SHA1(25ae98facfed2796bfc1ad33cce73c5074edd135) ) +ROM_END + } // anonymous namespace -GAME( 1994, lastbank, 0, lastbank, lastbank, lastbank_state, empty_init, ROT0, "Excellent System", "Last Bank (v1.16)", MACHINE_SUPPORTS_SAVE ) -GAME( 1995, fever13, 0, lastbank, fever13, fever13_state, empty_init, ROT0, "Excellent System", "Fever 13 (Japan, v1.3)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1995, ukiyobox, fever13, lastbank, ukiyobox, fever13_state, empty_init, ROT0, "Excellent System", "Ukiyo Box (Japan, v1.3.7)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1996, mir7hg, 0, lastbank, mir7hg, fever13_state, empty_init, ROT0, "Excellent System", "Miracle Seven - Heaven's Gate (Japan, v1.0.2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 199?, wcircus, 0, lastbank, wcircus, wcircus_state, empty_init, ROT0, "Cobra", "Wonder Circus (Japan, v1.1.1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 199?, goldstrk, 0, lastbank, wcircus, wcircus_state, empty_init, ROT0, "Cobra", "Gold Strike (Japan, v1.1.1 - location test)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1994, lastbank, 0, lastbank, lastbank, lastbank_state, empty_init, ROT0, "Excellent System", "Last Bank (v1.16)", MACHINE_SUPPORTS_SAVE ) +GAME( 1995, fever13, 0, lastbank, fever13, fever13_state, empty_init, ROT0, "Excellent System", "Fever 13 (Japan, v1.3)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1995, ukiyobox, fever13, lastbank, ukiyobox, fever13_state, empty_init, ROT0, "Excellent System", "Ukiyo Box (Japan, v1.3.7)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1996, mir7hg, 0, lastbank, mir7hg, fever13_state, empty_init, ROT0, "Excellent System", "Miracle Seven - Heaven's Gate (Japan, v1.0.2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1996, mir7hgt, 0, lastbank, mir7hgt, fever13_state, empty_init, ROT0, "Excellent System", "Miracle Seven - Heaven's Gate Turbo (Japan, v2.0.0)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 199?, wcircus, 0, lastbank, wcircus, wcircus_state, empty_init, ROT0, "Cobra", "Wonder Circus (Japan, v1.1.1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 199?, lpierrot, 0, lastbank, lpierrot, wcircus_state, empty_init, ROT0, "Cobra", "Lucky Pierrot (Japan, v1.1.0B)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 199?, goldstrk, 0, lastbank, goldstrk, wcircus_state, empty_init, ROT0, "Cobra", "Gold Strike (Japan, v1.1.1 - location test)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5a52ee0dd83..4db89a16a27 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -18176,7 +18176,9 @@ pwrflip fever13 goldstrk lastbank +lpierrot mir7hg +mir7hgt ukiyobox wcircus |
