From 84a210d8debdbd9fcbed49d7b7a73a69abde6201 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 21 Aug 2021 09:54:20 +0200 Subject: [PATCH] New working clones ------------------ Kangaroo (Loewen-Automaten) [Virtvic] --- src/mame/drivers/astrcorp.cpp | 7 +++++-- src/mame/drivers/kangaroo.cpp | 34 ++++++++++++++++++++++++++++++---- src/mame/mame.lst | 1 + 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/mame/drivers/astrcorp.cpp b/src/mame/drivers/astrcorp.cpp index 166453de9dc..9d2b2570db7 100644 --- a/src/mame/drivers/astrcorp.cpp +++ b/src/mame/drivers/astrcorp.cpp @@ -34,7 +34,7 @@ TODO: - Find source of level 2 interrupt (sprite DMA end?); - magibomb: fix timings; -- astoneag, magibombd: currently stop with 'ROM error'. The first few hundred bytes don't decrypt correctly, +- astoneag, dinodino, magibombd: currently stop with 'ROM error'. The first few hundred bytes don't decrypt correctly, it is suspected there's a ROM overlay provided by the protection device; - winbingo and clones, zulu: these should be at the same state of the two above, but don't show anything on screen; - magibomba, westvent: need a redump of one of the program ROMs; @@ -1527,7 +1527,7 @@ ROM_START( dinodino ) ROM_LOAD( "dd_rom5.u33", 0x00000, 0x80000, CRC(482e456a) SHA1(c7111522383c4e1fd98b0f759153be98dcbe06c1) ) ROM_REGION16_BE( 0x80, "eeprom", 0 ) - ROM_LOAD( "93c46.u10", 0x0000, 0x0080, CRC(6769bfb8) SHA1(bf6b905805c2c61a89fbc4c046b23069431e4709) ) + ROM_LOAD16_WORD_SWAP( "93c46.u10", 0x0000, 0x0080, CRC(6769bfb8) SHA1(bf6b905805c2c61a89fbc4c046b23069431e4709) ) ROM_END @@ -1829,6 +1829,9 @@ void astoneage_state::init_dinodino() u16 *rom = (u16 *)memregion("maincpu")->base(); rom[0x004/2] = 0x0000; rom[0x006/2] = 0x0446; + + // enable the patch below to pass ROM checksum, but then it jumps into the weeds after expecting to read something from 0xb80000 + //rom[0x30b70/2] = 0xe5f5; } void magibomb_state::init_magibomb() diff --git a/src/mame/drivers/kangaroo.cpp b/src/mame/drivers/kangaroo.cpp index ecfc6c23099..c4013c0175b 100644 --- a/src/mame/drivers/kangaroo.cpp +++ b/src/mame/drivers/kangaroo.cpp @@ -557,6 +557,31 @@ ROM_START( kangaroob ) ROM_END +ROM_START( kangarool ) // runs on earlier revision TVG-1-CPU-A + TVG-1-VIDEO-A PCBs + ROM_REGION( 0x14000, "maincpu", 0 ) // only ic17 differs from the parent + ROM_LOAD( "tvg_75.ic7", 0x0000, 0x1000, CRC(0d18c581) SHA1(0e0f89d644b79e887c53e5294783843ca7e875ba) ) + ROM_LOAD( "tvg_76.ic8", 0x1000, 0x1000, CRC(5978d37a) SHA1(684c1092de4a0927a03752903c86c3bbe99e868a) ) + ROM_LOAD( "tvg_77.ic9", 0x2000, 0x1000, CRC(522d1097) SHA1(09fe627a46d32df2e098d9fad7757f9d61bef41f) ) + ROM_LOAD( "tvg_78.ic10", 0x3000, 0x1000, CRC(063da970) SHA1(582ff21dd46c651f07a4846e0f8a7544a5891988) ) + ROM_LOAD( "tvg_79.ic16", 0x4000, 0x1000, CRC(9e5cf8ca) SHA1(015387f038c5670f88c9b22453d074bd9b2a129d) ) + ROM_LOAD( "tvg_80.ic17", 0x5000, 0x1000, CRC(62df0271) SHA1(4043d90d33ff04729077be7956d30bf82add103c) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "tvg_81.ic24", 0x0000, 0x1000, CRC(fb449bfd) SHA1(f593a0339f47e121736a927587132aeb52704557) ) + + ROM_REGION( 0x0800, "mcu", 0 ) // internal ROM from the 8841 custom MCU + ROM_LOAD( "mb8841.ic29", 0x0000, 0x0800, NO_DUMP ) + + ROM_REGION( 0x0800, "user1", 0 ) // data for the 8841 custom MCU + ROM_LOAD( "tvg_82.ic28", 0x0000, 0x0800, CRC(57766f69) SHA1(94a7a557d8325799523d5e1a88653a9a3fbe34f9) ) + + ROM_REGION( 0x4000, "gfx1", 0 ) + ROM_LOAD( "tvg_83.ic76", 0x0000, 0x1000, CRC(c0446ca6) SHA1(fca6ba565051337c0198c93b7b8477632e0dd0b6) ) + ROM_LOAD( "tvg_85.ic77", 0x1000, 0x1000, CRC(72c52695) SHA1(87f4715fbb7d509bd9cc4e71e2afb0d475bbac13) ) + ROM_LOAD( "tvg_84.ic52", 0x2000, 0x1000, CRC(e4cb26c2) SHA1(5016db9d48fdcfb757618659d063b90862eb0e90) ) + ROM_LOAD( "tvg_86.ic53", 0x3000, 0x1000, CRC(9e6a599f) SHA1(76b4eddb4efcd8189d8cc5962d8497e82885f212) ) +ROM_END + /************************************* * @@ -564,7 +589,8 @@ ROM_END * *************************************/ -GAME( 1981, fnkyfish, 0, nomcu, fnkyfish, kangaroo_state, empty_init, ROT90, "Sun Electronics", "Funky Fish", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangaroo, 0, mcu, kangaroo, kangaroo_state, empty_init, ROT90, "Sun Electronics", "Kangaroo", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangarooa, kangaroo, mcu, kangaroo, kangaroo_state, empty_init, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, kangaroob, kangaroo, nomcu, kangaroo, kangaroo_state, empty_init, ROT90, "bootleg", "Kangaroo (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, fnkyfish, 0, nomcu, fnkyfish, kangaroo_state, empty_init, ROT90, "Sun Electronics", "Funky Fish", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangaroo, 0, mcu, kangaroo, kangaroo_state, empty_init, ROT90, "Sun Electronics", "Kangaroo", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangarooa, kangaroo, mcu, kangaroo, kangaroo_state, empty_init, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangaroob, kangaroo, nomcu, kangaroo, kangaroo_state, empty_init, ROT90, "bootleg", "Kangaroo (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, kangarool, kangaroo, mcu, kangaroo, kangaroo_state, empty_init, ROT90, "Sun Electronics (Loewen-Automaten license)", "Kangaroo (Loewen-Automaten)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index fd5cbd3fd1d..203bb9aa542 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -19144,6 +19144,7 @@ fnkyfish // (c) 1981 Sun Electronics kangaroo // (c) 1982 Sun Electronics kangarooa // 136008 (c) 1982 Atari kangaroob // (bootleg) +kangarool // (c) 1982 Sun Electronics (Loewen Automaten license) @source:karnov.cpp chelnov // (c) 1988 Data East USA (World)