looping: offset/truncate the COP420 rom instead of loading it the hard way

This commit is contained in:
hap 2021-02-19 16:39:59 +01:00
parent 3122c29d22
commit 03b9c51a75

View File

@ -1,11 +1,15 @@
// license:BSD-3-Clause
// copyright-holders:Phil Stroffolino
/*
To Do:
- redump COP420 internal ROM
Looping / Sky Bumper
TODO:
- get sound working
- map and test any remaining input ports
---------------------------------------------------------------
Looping
(C)1981 Venture Line
@ -770,21 +774,8 @@ ROM_START( loopingv )
ROM_LOAD( "i-o.13a", 0x0800, 0x1000, CRC(1de29f25) SHA1(535acb132266d6137b0610ee9a9b946459ae44af) )
ROM_LOAD( "i-o.11a", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) ) // speech
ROM_REGION( 0x1000, "mcu", 0 ) // COP420 microcontroller code
/*
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
*/
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "log2.8a", 0x0000, 0x800, CRC(ef3284ac) SHA1(8719c9df8c972a56c306b3c707aaa53092ffa2d6) )
@ -807,21 +798,8 @@ ROM_START( loopingva )
ROM_LOAD( "i-o.13a", 0x0800, 0x1000, CRC(1de29f25) SHA1(535acb132266d6137b0610ee9a9b946459ae44af) ) // speech
ROM_LOAD( "i-o.11a", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) )
ROM_REGION( 0x1000, "mcu", 0 ) // COP420 microcontroller code
/*
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
*/
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "log2.8a", 0x0000, 0x800, CRC(ef3284ac) SHA1(8719c9df8c972a56c306b3c707aaa53092ffa2d6) )
@ -846,16 +824,8 @@ ROM_START( looping )
ROM_LOAD( "loopa13.bin", 0x0800, 0x1000, CRC(1de29f25) SHA1(535acb132266d6137b0610ee9a9b946459ae44af) )
ROM_LOAD( "loopa11.bin", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) ) // speech
ROM_REGION( 0x1000, "mcu", 0 ) // COP420 microcontroller code
// taken from the other sets
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) ) // taken from the other sets
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "loopaa8.bin", 0x0000, 0x800, CRC(ef3284ac) SHA1(8719c9df8c972a56c306b3c707aaa53092ffa2d6) )
@ -877,21 +847,8 @@ ROM_START( skybump )
ROM_LOAD( "snd.13a", 0x0800, 0x1000, CRC(1de29f25) SHA1(535acb132266d6137b0610ee9a9b946459ae44af) )
ROM_LOAD( "snd.11a", 0x2800, 0x1000, CRC(61c74c79) SHA1(9f34d18a919446dd76857b851cea23fc1526f3c2) )
ROM_REGION( 0x1000, "mcu", 0 ) // COP420 microcontroller code
/*
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
*/
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_CONTINUE( 0x00c2, 0x033e)
ROM_CONTINUE( 0x0000, 0x00c2)
ROM_REGION( 0x0400, "mcu", 0 ) // COP420 microcontroller code
ROM_LOAD( "cop.bin", 0x0000, 0x0400, CRC(d47fecec) SHA1(7eeedcb40f4cd50e1e259c6b01744a3fc97b60aa) )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "vid.8a", 0x0000, 0x800, CRC(459ccc55) SHA1(747f6789605b48be9e22f779f9e3f6c98ad4e594) )