mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
New working clones
------------------ Rollergames (LA-1) [Scott Charles, PinMAME] - galaxian/galaxian.cpp: added rudimentary protection circumvention for scrammr, scramblebun and ncentury
This commit is contained in:
parent
b7e0fa72b9
commit
b50656a9fe
@ -1024,6 +1024,21 @@ int galaxian_state::theend_protection_alt_r()
|
||||
return (m_protection_result >> 7) & 1;
|
||||
}
|
||||
|
||||
uint8_t galaxian_state::scrammr_protection_r() // TODO: this is really crude, should probably be done similarly to theend_protection_w
|
||||
{
|
||||
logerror("%s protection read\n", machine().describe_context());
|
||||
if (m_maincpu->pc() == 0x12e)
|
||||
return 0x90;
|
||||
else if (m_maincpu->pc() == 0x1ca)
|
||||
return 0x90;
|
||||
else if (m_maincpu->pc() == 0xbf1)
|
||||
return 0xa0;
|
||||
else if (m_maincpu->pc() == 0xc3c)
|
||||
return 0x90;
|
||||
else
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Explorer I/O
|
||||
@ -8092,6 +8107,13 @@ void galaxian_state::scramble(machine_config &config)
|
||||
m_ppi8255[1]->out_pc_callback().set(FUNC(galaxian_state::theend_protection_w));
|
||||
}
|
||||
|
||||
void galaxian_state::scrammr(machine_config &config)
|
||||
{
|
||||
scramble(config);
|
||||
|
||||
m_ppi8255[1]->in_pc_callback().set(FUNC(galaxian_state::scrammr_protection_r));
|
||||
}
|
||||
|
||||
void galaxian_state::jungsub(machine_config &config)
|
||||
{
|
||||
galaxian_base(config);
|
||||
@ -14756,11 +14778,13 @@ ROM_START( scramrf )
|
||||
ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
|
||||
ROM_END
|
||||
|
||||
// MEF00280 + MEF00281 PCBs
|
||||
// data bit 2 was problematic in the original dump of 303.fg2, but ROM is clearly the same as the one in scramrf. Left as BAD_DUMP just as extreme precaution.
|
||||
ROM_START( scrammr )
|
||||
ROM_REGION( 0x4000, "maincpu", 0 )
|
||||
ROM_LOAD( "301.cd2", 0x0000, 0x1000, CRC(680c9355) SHA1(e23cfc1ec839b9bf3d8d9d5d09f0df5c67f8bbb5) )
|
||||
ROM_LOAD( "302.e2", 0x1000, 0x1000, CRC(5b500c90) SHA1(45b1bad1d93f3e474395a193d2fe00e105ba39e5) )
|
||||
ROM_LOAD( "303.fg2", 0x2000, 0x1000, CRC(664437d7) SHA1(1fb7cb724b0dcfe6fcd2213f8e47dfd46e51f90f) )
|
||||
ROM_LOAD( "303.fg2", 0x2000, 0x1000, BAD_DUMP CRC(179e1c1f) SHA1(a86d3e7a1340a396e418df4580e73fb6c76ce175) )
|
||||
ROM_LOAD( "304.h2", 0x3000, 0x1000, CRC(b66c90d6) SHA1(7aea3055b0b538ea8197623ff5d5aae76133f156) )
|
||||
|
||||
ROM_REGION( 0x3000, "audiocpu", 0 )
|
||||
@ -14772,7 +14796,7 @@ ROM_START( scrammr )
|
||||
ROM_LOAD( "309.fg5", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
|
||||
|
||||
ROM_REGION( 0x0020, "proms", 0 )
|
||||
ROM_LOAD( "74188.k6", 0x0000, 0x0020, CRC(aec6cb4e) SHA1(747c442d338b1b679619dfffc8a7c7fa9a43a073) )
|
||||
ROM_LOAD( "74188.k6", 0x0000, 0x0020, CRC(aec6cb4e) SHA1(747c442d338b1b679619dfffc8a7c7fa9a43a073) ) // TODO: probably a bad dump
|
||||
ROM_END
|
||||
|
||||
ROM_START( scramblebf )
|
||||
@ -14924,10 +14948,10 @@ ROM_START( ncentury )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "08.bin", 0x0000, 0x0800, CRC(6af06290) SHA1(39a2564f7718fbcb65088e5dff8dead9d3633cd4) )
|
||||
ROM_LOAD( "04.bin", 0x0800, 0x0800, CRC(b82ac737) SHA1(45e50fe66e2fb26232383c4403c4bea9a83b2cd8) )
|
||||
ROM_LOAD( "09.bin", 0x1000, 0x0800, CRC(1efa0f6f) SHA1(48292bc7851bf1411bfe4a71e5f905b929bb5167) )
|
||||
ROM_LOAD( "09.bin", 0x1000, 0x0800, BAD_DUMP CRC(1efa0f6f) SHA1(48292bc7851bf1411bfe4a71e5f905b929bb5167) ) // heavy corruption
|
||||
ROM_LOAD( "05.bin", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
|
||||
ROM_LOAD( "10.bin", 0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
|
||||
ROM_LOAD( "06.bin", 0x2800, 0x0800, CRC(53ca2a3b) SHA1(c44fd6e9f1520892af06db0bdd9f59f00d19b1e6) )
|
||||
ROM_LOAD( "06.bin", 0x2800, 0x0800, BAD_DUMP CRC(53ca2a3b) SHA1(c44fd6e9f1520892af06db0bdd9f59f00d19b1e6) ) // problems with data bits 0 and 2
|
||||
ROM_LOAD( "11.bin", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
|
||||
ROM_LOAD( "07.bin", 0x3800, 0x0800, CRC(70a731f1) SHA1(bdea2c8e4566e1abca069859a4eea4cd34032600) )
|
||||
|
||||
@ -16700,10 +16724,10 @@ GAME( 1981, scramce, scramble, scramble, scramble, galaxian_state, init_
|
||||
GAME( 1981, scrampt, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Petaco S.A.)", "Scramble (Petaco S.A., Spanish bootleg)", MACHINE_SUPPORTS_SAVE ) // ^^
|
||||
GAME( 1981, scramrf, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Recreativos Franco)", "Scramble (Recreativos Franco, Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1981, offensiv, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Video Dens)", "Offensive (Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1981, ncentury, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Petaco S.A.)", "New Century (Spanish bootleg of Scramble)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // irq isn't enabled correctly
|
||||
GAME( 1981, scrammr, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Model Racing)", "Scramble (Model Racing, Italian bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // irq isn't enabled correctly
|
||||
GAME( 1981, ncentury, scramble, scrammr, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Petaco S.A.)", "New Century (Spanish bootleg of Scramble)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump, protection crudely circumvented
|
||||
GAME( 1981, scrammr, scramble, scrammr, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Model Racing)", "Scramble (Model Racing, Italian bootleg)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // protection crudely circumvented
|
||||
GAME( 1981, scramblebb, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg?", "Scramble (bootleg?)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1981, scramblebun, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg", "Scramble (unknown bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // irq isn't enabled correctly
|
||||
GAME( 1981, scramblebun, scramble, scrammr, scramble, galaxian_state, init_scramble, ROT90, "bootleg", "Scramble (unknown bootleg)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // protection crudely circumvented
|
||||
GAME( 1981, kamikazesp, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Euromatic S.A.)", "Kamikaze (Euromatic S.A., Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 198?, bomber, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Alca)", "Bomber (bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 198?, spcmission, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (SegaSA / Sonic)", "Space Mission (SegaSA / Sonic, Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -121,6 +121,7 @@ public:
|
||||
void theend_protection_w(uint8_t data);
|
||||
uint8_t theend_protection_r();
|
||||
template <int N> int theend_protection_alt_r();
|
||||
uint8_t scrammr_protection_r();
|
||||
void explorer_sound_control_w(uint8_t data);
|
||||
uint8_t frogger_ppi8255_r(offs_t offset);
|
||||
void frogger_ppi8255_w(offs_t offset, uint8_t data);
|
||||
@ -319,6 +320,7 @@ public:
|
||||
void mimonscr(machine_config &config);
|
||||
void galartic(machine_config &config);
|
||||
void bigkonggx(machine_config &config);
|
||||
void scrammr(machine_config &config);
|
||||
|
||||
template <int Mask> CUSTOM_INPUT_MEMBER(ckongg_coinage_r);
|
||||
template <int Mask> int ckongs_coinage_r();
|
||||
|
@ -37171,6 +37171,7 @@ rollr_ex //
|
||||
rollr_f2 //
|
||||
rollr_f3 //
|
||||
rollr_g3 //
|
||||
rollr_l1 //
|
||||
rollr_l2 //
|
||||
rollr_l3 //
|
||||
rollr_p2 //
|
||||
|
@ -681,6 +681,19 @@ ROM_START(rollr_d2) // American Drops 2 - sample/prototype with 8 drop targets
|
||||
ROM_RELOAD(0x50000, 0x10000)
|
||||
ROM_END
|
||||
|
||||
ROM_START(rollr_l1)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD("rolr_u26.l1", 0x4000, 0x4000, CRC(8808dc0c) SHA1(19239e0884859e17e4c6f4de4d1e06f9e9913777))
|
||||
ROM_LOAD("rolr_u27.l1", 0x8000, 0x8000, CRC(7e816a7b) SHA1(546dd3b12f2152148749de501b2540f4a2506c32))
|
||||
ROM_REGION(0x80000, "bg:cpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("rolr_u4.l3", 0x00000, 0x10000, CRC(d366c705) SHA1(76018305b5040b2e5d8c45cc81a18f13e1a8f8da))
|
||||
ROM_RELOAD(0x10000, 0x10000)
|
||||
ROM_LOAD("rolr_u19.l3", 0x20000, 0x10000, CRC(45a89e55) SHA1(3aff897514d242c83a8e7575d430d594a873736e))
|
||||
ROM_RELOAD(0x30000, 0x10000)
|
||||
ROM_LOAD("rolr_u20.l3", 0x40000, 0x10000, CRC(77f89aff) SHA1(dcd9fe233f33ef8f97cdeaaa365532e485a28944))
|
||||
ROM_RELOAD(0x50000, 0x10000)
|
||||
ROM_END
|
||||
|
||||
/*---------------------------------
|
||||
/ The Bally Game Show 4/90 (#2003)
|
||||
/---------------------------------*/
|
||||
@ -792,6 +805,7 @@ GAME(1990, rollr_g3, rollr_l2, s11c, s11c, s11c_state, init_s11c, ROT0,
|
||||
GAME(1991, rollr_f2, rollr_l2, s11c, s11c, s11c_state, init_s11c, ROT0, "Williams", "Rollergames (LF-2) French", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME(1990, rollr_f3, rollr_l2, s11c, s11c, s11c_state, init_s11c, ROT0, "Williams", "Rollergames (LF-3) French", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME(1990, rollr_d2, rollr_l2, s11c, s11c, s11c_state, init_s11c, ROT0, "Williams", "Rollergames (AD-2) Prototype", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME(1990, rollr_l1, rollr_l2, s11c, s11c, s11c_state, init_s11c, ROT0, "Williams", "Rollergames (LA-1)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME(1990, gs_lu4, 0, s11c, s11c, s11c_state, init_s11c, ROT0, "Bally", "The Bally Game Show (LU-4) Europe", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME(1990, gs_lu3, gs_lu4, s11c, s11c, s11c_state, init_s11c, ROT0, "Bally", "The Bally Game Show (LU-3) Europe", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
GAME(1990, gs_la3, gs_lu4, s11c, s11c, s11c_state, init_s11c, ROT0, "Bally", "The Bally Game Show (LA-3)", MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE )
|
||||
|
Loading…
Reference in New Issue
Block a user