diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/galaxian/galaxian.cpp | 38 | ||||
-rw-r--r-- | src/mame/galaxian/galaxian.h | 2 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 | ||||
-rw-r--r-- | src/mame/pinball/s11c.cpp | 14 |
4 files changed, 48 insertions, 7 deletions
diff --git a/src/mame/galaxian/galaxian.cpp b/src/mame/galaxian/galaxian.cpp index 0baf97b83cb..a4053827a17 100644 --- a/src/mame/galaxian/galaxian.cpp +++ b/src/mame/galaxian/galaxian.cpp @@ -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 ) diff --git a/src/mame/galaxian/galaxian.h b/src/mame/galaxian/galaxian.h index aa56e510a15..c2a1cc65f50 100644 --- a/src/mame/galaxian/galaxian.h +++ b/src/mame/galaxian/galaxian.h @@ -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(); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 8caa99fcf01..95f1ae4e412 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -37171,6 +37171,7 @@ rollr_ex // rollr_f2 // rollr_f3 // rollr_g3 // +rollr_l1 // rollr_l2 // rollr_l3 // rollr_p2 // diff --git a/src/mame/pinball/s11c.cpp b/src/mame/pinball/s11c.cpp index cf8e739c4e5..ca5ec12bef2 100644 --- a/src/mame/pinball/s11c.cpp +++ b/src/mame/pinball/s11c.cpp @@ -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 ) |