New clones marked not working

-----------------------------
Cue Ball Wizard (older display rev.) [PinMAME]
Bare Knuckle III (bootleg of Mega Drive version, protected) [H4M573R , Hammy]
This commit is contained in:
Ivan Vangelista 2023-06-30 04:28:35 +02:00
parent 75ceead9ba
commit 88810c6029
4 changed files with 99 additions and 40 deletions

View File

@ -36056,6 +36056,7 @@ brooks //
cueball //
cueballa //
cueballb //
cueballc //
freddy //
freddy3 //
gladiatp //
@ -38458,19 +38459,20 @@ gen_nomd // 1995 Sega Genesis Nomad (USA)
megajet // 1993 Sega Mega Jet (Japan)
@source:sega/megadriv_acbl.cpp
aladmdb // MegaDrive-based hack
barekch // MegaDrive-based hack
barek2ch // MegaDrive-based hack
barek2mb // MegaDrive-based hack
barek3mb // MegaDrive-based hack
bk3ssrmb // MegaDrive-based hack
jparkmb // MegaDrive-based hack
mk3mdb // MegaDrive-based hack
sonic2mb // MegaDrive-based hack
sonic3mb // MegaDrive-based hack
srmdb // MegaDrive-based hack
ssf2mdb // MegaDrive-based hack
twinktmb // MegaDrive-based hack
aladmdb
barekch
barek2ch
barek2mb
barek3mb
barek3mba
bk3ssrmb
jparkmb
mk3mdb
sonic2mb
sonic3mb
srmdb
ssf2mdb
twinktmb
@source:sega/megadriv_rad.cpp
rad_sf2 // (c)2004 Radica

View File

@ -598,6 +598,27 @@ ROM_START(cueballb)
ROM_LOAD("yrom1.bin", 0x8000, 0x8000, CRC(c22f5cc5) SHA1(a5bfbc1824bc483eecc961851bd411cb0dbcdc4a))
ROM_END
ROM_START(cueballc)
ROM_REGION(0x10000, "maincpu", ROMREGION_ERASEFF)
ROM_LOAD("gprom.bin", 0x0000, 0x10000, CRC(3437fdd8) SHA1(2a0fc9bc8e3d0c430ce2cf8afad378fc93af609d))
ROM_REGION(0x80000, "dmdcpu", ROMREGION_ERASEFF)
ROM_LOAD("dsprom0.bin", 0x00000, 0x40000, CRC(3756efeb) SHA1(2bf84a840ad134666c76d49b89c2de76c0420af8))
ROM_RELOAD(0x40000, 0x40000)
ROM_REGION(0x10000, "p7sound:audiocpu", ROMREGION_ERASEFF)
ROM_LOAD("drom1.bin", 0x8000, 0x8000, CRC(9fd04109) SHA1(27864fe4e9c248dce6221c9e56861967d089b216))
ROM_REGION(0x100000, "p7sound:oki", ROMREGION_ERASEFF)
ROM_LOAD("arom1.bin", 0x00000, 0x40000, CRC(476bb11c) SHA1(ce546df59933cc230a6671dec493bbbe71146dee))
ROM_RELOAD(0x40000, 0x40000)
ROM_LOAD("arom2.bin", 0x80000, 0x40000, CRC(23708ad9) SHA1(156fcb19403f9845404af1a4ac4edfd3fcde601d))
ROM_RELOAD(0xc0000, 0x40000)
ROM_REGION(0x10000, "p7sound:speechcpu", ROMREGION_ERASEFF)
ROM_LOAD("yrom1.bin", 0x8000, 0x8000, CRC(c22f5cc5) SHA1(a5bfbc1824bc483eecc961851bd411cb0dbcdc4a))
ROM_END
/*-------------------------------------------------------------------
/ Frank Thomas' Big Hurt (#745)
/-------------------------------------------------------------------*/
@ -1348,9 +1369,10 @@ GAME(1992, smbpa, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Got
GAME(1992, smbpb, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, smbpc, smbp, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers (pinball, set 4)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, smbmush, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Super Mario Brothers Mushroom World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueball, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueballa, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueballb, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueball, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueballa, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (rev. 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueballb, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (rev. 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1992, cueballc, cueball, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Cue Ball Wizard (older display rev.)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1993, sfightii, 0, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 1)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1993, sfightiia, sfightii, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 2)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
GAME(1993, sfightiib, sfightii, p7, gts3a, gts3a_state, init_gts3a, ROT0, "Gottlieb", "Street Fighter II (pinball, set 3)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )

View File

@ -209,7 +209,7 @@ void md_boot_state::aladmdb_w(uint16_t data)
uint16_t md_boot_state::aladmdb_r()
{
if (m_maincpu->pc()==0x1b2a56)
if (m_maincpu->pc() == 0x1b2a56)
{
m_aladmdb_mcu_port = ioport("MCU")->read();
@ -218,9 +218,9 @@ uint16_t md_boot_state::aladmdb_r()
else
return (0x100); //MCU status, needed if you fall into a pitfall
}
if (m_maincpu->pc()==0x1b2a72) return 0x0000;
if (m_maincpu->pc()==0x1b2d24) return (ioport("MCU")->read() & 0x00f0) | 0x1200; // difficulty
if (m_maincpu->pc()==0x1b2d4e) return 0x0000;
if (m_maincpu->pc() == 0x1b2a72) return 0x0000;
if (m_maincpu->pc() == 0x1b2d24) return (ioport("MCU")->read() & 0x00f0) | 0x1200; // difficulty
if (m_maincpu->pc() == 0x1b2d4e) return 0x0000;
logerror("aladbl_r : %06x\n",m_maincpu->pc());
return 0x0000;
@ -228,10 +228,10 @@ uint16_t md_boot_state::aladmdb_r()
uint16_t md_boot_state::twinktmb_r()
{
if (m_maincpu->pc()==0x02f81e)
if (m_maincpu->pc() == 0x02f81e)
return ioport("COIN")->read(); // TODO: coins don't respond well
if (m_maincpu->pc()==0x02f84e) return 0x0000; // what's this? dips?
if (m_maincpu->pc() == 0x02f84e) return 0x0000; // what's this? dips?
//logerror("twinktmb_r : %06x\n",m_maincpu->pc());
@ -240,10 +240,10 @@ uint16_t md_boot_state::twinktmb_r()
uint16_t md_boot_state::jparkmb_r()
{
if (m_maincpu->pc()==0x1e327a)
if (m_maincpu->pc() == 0x1e327a)
return ioport("COIN")->read(); // TODO: coins don't respond well
if (m_maincpu->pc()==0x1e3254) return 0x0000; // what's this? dips?
if (m_maincpu->pc() == 0x1e3254) return 0x0000; // what's this? dips?
//logerror("jparkmb_r : %06x\n",m_maincpu->pc());
@ -252,13 +252,25 @@ uint16_t md_boot_state::jparkmb_r()
uint16_t md_boot_state::barek2mb_r()
{
if (m_maincpu->pc()==0xfa40)
if (m_maincpu->pc() == 0xfa40)
return 0x0400; // TODO: what's this? Needed or the game doesn't boot
if (m_maincpu->pc()==0xfa88)
if (m_maincpu->pc() == 0xfa88)
return 0x0ff0; // TODO: fix this, should probably read coin inputs, as is gives 9 credits at start up
logerror("aladbl_r : %06x\n",m_maincpu->pc());
logerror("barek2mb_r : %06x\n", m_maincpu->pc());
return 0x0000;
}
uint16_t md_boot_state::barek3mba_r() // missing PIC dump, simulated for now
{
if (m_maincpu->pc() == 0x4dbc6)
return 0x0300;
if (m_maincpu->pc() == 0x4dc34)
return 0x0ff0; // TODO: fix this, should probably read coin inputs, as is gives 9 credits at start up
logerror("barek3mba_r : %06x\n", m_maincpu->pc());
return 0x0000;
}
@ -1009,6 +1021,13 @@ void md_boot_state::init_barek3()
init_megadrij();
}
void md_boot_state::init_barek3a()
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0x300000, 0x300001, read16smo_delegate(*this, FUNC(md_boot_state::barek3mba_r)));
init_megadrij();
}
void md_boot_6button_state::init_bk3ssrmb()
{
uint8_t* rom = memregion("maincpu")->base();
@ -1177,6 +1196,19 @@ ROM_START( barek3mb )
ROM_LOAD16_BYTE( "2.u16", 0x200001, 0x080000, CRC(bba4a585) SHA1(32c59729943d7b4c1a39f2a2b0dae9ce16991e9c) )
ROM_END
ROM_START( barek3mba )
ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 Code
ROM_LOAD16_BYTE( "u4", 0x000000, 0x080000, CRC(6b116813) SHA1(df9811c5da9f58f2bba462447b792f3067b10411) )
ROM_LOAD16_BYTE( "u3", 0x000001, 0x080000, CRC(8c891e5a) SHA1(aa1fb1aa2c68b1ae24e1ac30a82bc4e454b952b5) )
ROM_LOAD16_BYTE( "u6", 0x100000, 0x080000, CRC(a2ec29e2) SHA1(8e8eee64554396070455a737f4009d33d2ffa535) )
ROM_LOAD16_BYTE( "u5", 0x100001, 0x080000, CRC(f79e0028) SHA1(54022eadc6e345c049b7357b17b636b31d2af914) )
ROM_LOAD16_BYTE( "u8", 0x200000, 0x080000, CRC(55be9542) SHA1(f78c273858f3ae77b36f1229797e80a4ab102a03) )
ROM_LOAD16_BYTE( "u7", 0x200001, 0x080000, CRC(bba4a585) SHA1(32c59729943d7b4c1a39f2a2b0dae9ce16991e9c) )
ROM_REGION( 0x1000, "pic", ROMREGION_ERASE00 )
ROM_LOAD( "bk_pic16c57rcp.bin", 0x0000, 0x1000, NO_DUMP )
ROM_END
ROM_START( bk3ssrmb )
ROM_REGION( 0x400000, "maincpu", 0 )
ROM_LOAD16_BYTE( "1.u15", 0x000000, 0x080000, CRC(120a4b64) SHA1(7084fde0d08143f48f83d2afef30522d75c7889c) )
@ -1232,18 +1264,19 @@ ROM_END
*
*************************************/
GAME( 1993, aladmdb, 0, megadrvb, aladmdb, md_boot_state, init_aladmdb, ROT0, "bootleg / Sega", "Aladdin (bootleg of Japanese Mega Drive version)", 0 )
GAME( 1996, mk3mdb, 0, megadrvb_6b, mk3mdb, md_boot_6button_state, init_mk3mdb, ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Mega Drive version)", 0 )
GAME( 1994, ssf2mdb, 0, ssf2mdb, ssf2mdb, md_boot_6button_state, init_megadrij, ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese Mega Drive version)", 0 )
GAME( 1993, srmdb, 0, megadrvb, srmdb, md_boot_state, init_srmdb, ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Mega Drive version)", 0 )
GAME( 1993, sonic2mb, 0, md_bootleg, sonic2mb, md_boot_state, init_sonic2mb, ROT0, "bootleg / Sega", "Sonic The Hedgehog 2 (bootleg of Mega Drive version)", 0 ) // Flying wires going through the empty PIC space aren't completely understood
GAME( 1993, sonic3mb, 0, md_bootleg, sonic3mb, md_sonic3bl_state, init_sonic3mb, ROT0, "bootleg / Sega", "Sonic The Hedgehog 3 (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // undumped PIC
GAME( 1994, barek2mb, 0, md_bootleg, barek2, md_boot_state, init_barek2, ROT0, "bootleg / Sega", "Bare Knuckle II (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC hook up
GAME( 1994, barek3mb, 0, megadrvb, barek3, md_boot_state, init_barek3, ROT0, "bootleg / Sega", "Bare Knuckle III (bootleg of Mega Drive version)", 0 )
GAME( 1994, bk3ssrmb, 0, megadrvb_6b, bk3ssrmb, md_boot_6button_state, init_bk3ssrmb, ROT0, "bootleg / Sega", "Bare Knuckle III / Sunset Riders (bootleg of Mega Drive versions)", MACHINE_NOT_WORKING ) // Currently boots as Bare Knuckle III, mechanism to switch game not found yet
GAME( 1993, twinktmb, 0, md_bootleg, twinktmb, md_boot_state, init_twinktmb, ROT0, "bootleg / Sega", "Twinkle Tale (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC decap or simulation
GAME( 1993, jparkmb, 0, md_bootleg, twinktmb, md_boot_state, init_jparkmb, ROT0, "bootleg / Sega", "Jurassic Park (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC decap or simulation
GAME( 1993, aladmdb, 0, megadrvb, aladmdb, md_boot_state, init_aladmdb, ROT0, "bootleg / Sega", "Aladdin (bootleg of Japanese Mega Drive version)", 0 )
GAME( 1996, mk3mdb, 0, megadrvb_6b, mk3mdb, md_boot_6button_state, init_mk3mdb, ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Mega Drive version)", 0 )
GAME( 1994, ssf2mdb, 0, ssf2mdb, ssf2mdb, md_boot_6button_state, init_megadrij, ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese Mega Drive version)", 0 )
GAME( 1993, srmdb, 0, megadrvb, srmdb, md_boot_state, init_srmdb, ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Mega Drive version)", 0 )
GAME( 1993, sonic2mb, 0, md_bootleg, sonic2mb, md_boot_state, init_sonic2mb, ROT0, "bootleg / Sega", "Sonic The Hedgehog 2 (bootleg of Mega Drive version)", 0 ) // Flying wires going through the empty PIC space aren't completely understood
GAME( 1993, sonic3mb, 0, md_bootleg, sonic3mb, md_sonic3bl_state, init_sonic3mb, ROT0, "bootleg / Sega", "Sonic The Hedgehog 3 (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // undumped PIC
GAME( 1994, barek2mb, 0, md_bootleg, barek2, md_boot_state, init_barek2, ROT0, "bootleg / Sega", "Bare Knuckle II (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC hook up
GAME( 1994, barek3mb, 0, megadrvb, barek3, md_boot_state, init_barek3, ROT0, "bootleg / Sega", "Bare Knuckle III (bootleg of Mega Drive version)", 0 )
GAME( 1994, barek3mba, barek3mb, megadrvb, barek3, md_boot_state, init_barek3a, ROT0, "bootleg / Sega", "Bare Knuckle III (bootleg of Mega Drive version, protected)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // undumped PIC
GAME( 1994, bk3ssrmb, 0, megadrvb_6b, bk3ssrmb, md_boot_6button_state, init_bk3ssrmb, ROT0, "bootleg / Sega", "Bare Knuckle III / Sunset Riders (bootleg of Mega Drive versions)", MACHINE_NOT_WORKING ) // Currently boots as Bare Knuckle III, mechanism to switch game not found yet
GAME( 1993, twinktmb, 0, md_bootleg, twinktmb, md_boot_state, init_twinktmb, ROT0, "bootleg / Sega", "Twinkle Tale (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC decap or simulation
GAME( 1993, jparkmb, 0, md_bootleg, twinktmb, md_boot_state, init_jparkmb, ROT0, "bootleg / Sega", "Jurassic Park (bootleg of Mega Drive version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // Needs PIC decap or simulation
// Chinese bootlegs. Very clean looking with custom chips marked TA-04, TA-05 and TA-06.
GAME( 1994, barekch, 0, megadrvb_6b, barekch, md_boot_6button_state, init_barekch, ROT0, "bootleg", "Bare Knuckle (Chinese bootleg of Mega Drive version)", 0 )
GAME( 1994, barek2ch, 0, md_bootleg, barek2ch, md_boot_state, init_barek2ch, ROT0, "bootleg", "Bare Knuckle II (Chinese bootleg of Mega Drive version)", 0 )
GAME( 1994, barekch, 0, megadrvb_6b, barekch, md_boot_6button_state, init_barekch, ROT0, "bootleg", "Bare Knuckle (Chinese bootleg of Mega Drive version)", 0 )
GAME( 1994, barek2ch, 0, md_bootleg, barek2ch, md_boot_state, init_barek2ch, ROT0, "bootleg", "Bare Knuckle II (Chinese bootleg of Mega Drive version)", 0 )

View File

@ -22,6 +22,7 @@ public:
void init_barek2();
void init_barek2ch();
void init_barek3();
void init_barek3a();
void init_sonic2mb();
void init_twinktmb();
void init_jparkmb();
@ -35,6 +36,7 @@ private:
void aladmdb_w(uint16_t data);
uint16_t aladmdb_r();
uint16_t barek2mb_r();
uint16_t barek3mba_r();
uint16_t jparkmb_r();
uint16_t twinktmb_r();