this is an italian bootleg of double dragon. not currently working.

the graphic roms are scrambled, the banking code has been patched out (and the program roms might have some protection on them too, there is a weird jump to the 0x2000 range)

also it runs on 3x M6809s instead of the usual CPUs.

Not convinced the sound roms are good dumps, they seem to small.

This bootleg needs a fairly significant chunk of time put into getting it working due to the heavy modifications.  I've had several people asking me to add it, but I simply don't have time.
This commit is contained in:
davidhay 2008-03-24 14:06:31 +00:00
parent fecf13b28d
commit 503df78746
2 changed files with 117 additions and 0 deletions

View File

@ -910,6 +910,7 @@ INPUT_PORTS_END
*
*************************************/
static const gfx_layout char_layout =
{
8,8,
@ -934,6 +935,7 @@ static const gfx_layout tile_layout =
64*8
};
static GFXDECODE_START( ddragon )
GFXDECODE_ENTRY( REGION_GFX1, 0, char_layout, 0, 8 ) /* colors 0-127 */
GFXDECODE_ENTRY( REGION_GFX2, 0, tile_layout, 128, 8 ) /* colors 128-255 */
@ -1032,6 +1034,52 @@ static MACHINE_DRIVER_START( ddragnba )
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( ddgn6809 )
/* basic machine hardware */
MDRV_CPU_ADD_TAG("main", M6809, MAIN_CLOCK) /* 12MHz / 4 internally */
MDRV_CPU_PROGRAM_MAP(ddragon_map,0)
MDRV_CPU_ADD_TAG("sub", M6809, MAIN_CLOCK/2) /* 6Mhz / 4 internally */
MDRV_CPU_PROGRAM_MAP(sub_map,0)
MDRV_CPU_ADD_TAG("sound", M6809, MAIN_CLOCK/2) /* 6MHz / 4 internally */
MDRV_CPU_PROGRAM_MAP(sound_map,0)
MDRV_INTERLEAVE(1000) /* heavy interleaving to sync up sprite<->main cpu's */
MDRV_MACHINE_START(ddragon)
MDRV_MACHINE_RESET(ddragon)
/* video hardware */
MDRV_GFXDECODE(ddragon)
MDRV_PALETTE_LENGTH(384)
MDRV_SCREEN_ADD("main", RASTER)
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_RAW_PARAMS(MAIN_CLOCK/2, 384, 0, 256, 272, 0, 240)
MDRV_VIDEO_START(ddragon)
MDRV_VIDEO_UPDATE(ddragon)
/* sound hardware */
MDRV_SPEAKER_STANDARD_MONO("mono")
MDRV_SOUND_ADD_TAG("fm", YM2151, SOUND_CLOCK)
MDRV_SOUND_CONFIG(ym2151_interface)
MDRV_SOUND_ROUTE(0, "mono", 0.60)
MDRV_SOUND_ROUTE(1, "mono", 0.60)
MDRV_SOUND_ADD_TAG("oki1", MSM5205, MAIN_CLOCK/32)
MDRV_SOUND_CONFIG(msm5205_interface)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MDRV_SOUND_ADD_TAG("oki2", MSM5205, MAIN_CLOCK/32)
MDRV_SOUND_CONFIG(msm5205_interface)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( ddragon2 )
/* basic machine hardware */
@ -1392,6 +1440,65 @@ ROM_START( ddragnba )
ROM_END
/* this is a well known italian bootleg of Double Dragon it can be identified by the following gameplay trait
-- The Boss of level 4 is coloured like level 1 and 5 instead of green, and is invulnerable to rocks attack.
in terms of code the game code has been heavily modified, banking writes appear to have been removed, and
the graphic roms are all scrambled. The game also runs on 3x M6809 rather than the original CPUs.
I'm not 100% convinced the program roms are good dumps, apprently ROM3 fails on the original board (could just
be due to the rom hacking, as the game runs fine) but there is a jump to the 0x2000 region in the code, although
this could be additional protection / rom scrambling. Also the sound roms seem too small. If you have this
PCB please verify.
*/
ROM_START( ddgn6809 )
ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + bankswitched memory */
ROM_LOAD( "16.bin", 0x08000, 0x08000, CRC(f4c72690) SHA1(c70d032355acf3f7f6586b6e57a94f80e099bf1a) )
ROM_LOAD( "17.bin", 0x10000, 0x08000, CRC(6489d637) SHA1(fd17fd870e9386a3e3bdd56c8d731c73d8c70b88) ) /* banked at 0x4000-0x8000 */
ROM_LOAD( "18.bin", 0x18000, 0x08000, CRC(154d50c4) SHA1(4ffdd29406b6c6b552344f820f83715b1c7727d1) ) /* banked at 0x4000-0x8000 */
ROM_LOAD( "19.bin", 0x20000, 0x08000, CRC(090e2baf) SHA1(29b775c59c7a4d30a33e3d10e736cd1a83baf3bb) ) /* banked at 0x4000-0x8000 */
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sprite cpu */
ROM_LOAD( "20.bin", 0x8000, 0x8000, CRC(67e3b4f1) SHA1(4945d76b0694299f2f4739ebfba98da6d96fe4cb) )
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* audio cpu */
ROM_LOAD( "21.bin", 0x08000, 0x08000, CRC(4437fc51) SHA1(fffcf2bec50d0b79861904b4abc607206b7794e6) )
/* all the gfx roms are scrambled on this set */
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "13.bin", 0x00000, 0x08000, CRC(b5a54537) SHA1(a6157cde4f9738565008d11a4a6d8576ae3abfef) ) /* chars */
ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD( "22.bin", 0x00000, 0x08000, CRC(fe08ef61) SHA1(50404936934dc61f3553add4d4b918529b3b5ef3) )
ROM_LOAD( "23.bin", 0x08000, 0x08000, CRC(988bea93) SHA1(053ebb5a71dfdb68ae88ef49d8409a99f8c6926d) )
ROM_LOAD( "24.bin", 0x10000, 0x08000, CRC(437501fc) SHA1(e7758e0fb226ae46eb398bd95f5e95c90b6adb93) )
ROM_LOAD( "25.bin", 0x18000, 0x08000, CRC(d302f69b) SHA1(64d4d8ae38457ee6b361b5157ec0557f9a7639a8) )
ROM_LOAD( "26.bin", 0x20000, 0x08000, CRC(8ece953e) SHA1(12a43e1ed1a99b04299941a9506228490649b181) )
ROM_LOAD( "27.bin", 0x28000, 0x08000, CRC(15cd16cb) SHA1(ab2068ebba14da256e8f2600f34dca0e048a1de9) )
ROM_LOAD( "28.bin", 0x30000, 0x08000, CRC(51b8a217) SHA1(60c067cd7272f856e29cdb64312535236656891a) )
ROM_LOAD( "29.bin", 0x38000, 0x08000, CRC(e4ec2394) SHA1(43376ce2a07c1fc3053f7ac9b750e944d289105b) )
ROM_LOAD( "1.bin", 0x40000, 0x08000, CRC(2485a71d) SHA1(3e987a2f3e9a59da5fdc7bb779a43736ca67aac7) )
ROM_LOAD( "2.bin", 0x48000, 0x08000, CRC(6940120d) SHA1(bbe94f095ef983f54658c936f916ba6a72a84ead) )
ROM_LOAD( "3.bin", 0x50000, 0x08000, CRC(c67aac12) SHA1(aab535507e3889bf1bdc2f4fe4828a70a350ba63) )
ROM_LOAD( "4.bin", 0x58000, 0x08000, CRC(941dcd08) SHA1(266dee264f28affe8c3f57fe569929817ae16508) )
ROM_LOAD( "5.bin", 0x60000, 0x08000, CRC(42d36bc3) SHA1(080cbc3ffda8ab26dc65a8e9eaf948c509d064b3) )
ROM_LOAD( "6.bin", 0x68000, 0x08000, CRC(d5d19a8d) SHA1(c4b044dd12d6468c0ad114644f01813d4fe9a673) )
ROM_LOAD( "7.bin", 0x70000, 0x08000, CRC(d4e350cd) SHA1(78ed2baa8c52b766f998091e7ce9e1a2941352e7) )
ROM_LOAD( "8.bin", 0x78000, 0x08000, CRC(204fdb7d) SHA1(f75b1bc6f65e7a33927cd451267fcd7e2aa44f7e) )
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
ROM_LOAD( "9.bin", 0x00000, 0x10000, CRC(736eff0f) SHA1(ae2ec2d5c8ab1db579a08256d874426dc5d889c6) )
ROM_LOAD( "10.bin", 0x10000, 0x10000, CRC(a670d088) SHA1(27e7b49645753dd039f104c3e0a7e6513a98710d) )
ROM_LOAD( "11.bin", 0x20000, 0x10000, CRC(4171b70d) SHA1(dc300c9bca6481417e97ad03c973e47389f261c1) )
ROM_LOAD( "12.bin", 0x30000, 0x10000, CRC(5f6a6d6f) SHA1(7d546a226cda81c28e7ccfb4c5daebc65072198d) )
ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* adpcm samples -- roms too small? (please check) */
ROM_LOAD( "14.bin", 0x00000, 0x08000, BAD_DUMP CRC(678f8657) SHA1(2652fdc6719d2c889ca87802f6e2cefae59fc2eb) )
ROM_LOAD( "15.bin", 0x10000, 0x08000, BAD_DUMP CRC(10f21dea) SHA1(739cf649f91490384297a81a2cc9855acb58a1c0) )
ROM_END
ROM_START( ddragon2 )
ROM_REGION( 0x30000, REGION_CPU1, 0 )
ROM_LOAD( "26a9-04.bin", 0x08000, 0x8000, CRC(f2cfc649) SHA1(d3f1e0bae02472914a940222e4f600170a91736d) )
@ -1752,7 +1859,15 @@ static DRIVER_INIT( toffy )
/* should the sound rom be bitswapped too? */
}
DRIVER_INIT( ddgn6809 )
{
/* Descramble GFX here */
sprite_irq = INPUT_LINE_NMI;
sound_irq = M6809_IRQ_LINE;
ym_irq = M6809_FIRQ_LINE;
technos_video_hw = 0;
}
/*************************************
*
@ -1767,6 +1882,7 @@ GAME( 1987, ddragonu, ddragon, ddragon, ddragon, ddragon, ROT0, "[Technos] (
GAME( 1987, ddragoua, ddragon, ddragon, ddragon, ddragon, ROT0, "[Technos] (Taito America license)", "Double Dragon (US Set 2)", GAME_SUPPORTS_SAVE )
GAME( 1987, ddragonb, ddragon, ddragonb, ddragon, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with HD6309)", GAME_SUPPORTS_SAVE ) // according to dump notes
GAME( 1987, ddragnba, ddragon, ddragnba, ddragon, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with M6803)", GAME_SUPPORTS_SAVE )
GAME( 1987, ddgn6809, ddragon, ddgn6809, ddragon, ddgn6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809)", GAME_NOT_WORKING )
GAME( 1988, ddragon2, 0, ddragon2, ddragon2, ddragon2, ROT0, "Technos", "Double Dragon II - The Revenge (World)", GAME_SUPPORTS_SAVE )
GAME( 1988, ddragn2u, ddragon2, ddragon2, ddragon2, ddragon2, ROT0, "Technos", "Double Dragon II - The Revenge (US)", GAME_SUPPORTS_SAVE )

View File

@ -5792,6 +5792,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
DRIVER( ddragnw1 ) /* TA-0021 (c) 1987 Taito */
DRIVER( ddragonb ) /* bootleg */
DRIVER( ddragnba ) /* bootleg */
DRIVER( ddgn6809 ) /* bootleg */
DRIVER( spdodgeb ) /* TA-0022 (c) 1987 */
DRIVER( nkdodge ) /* TA-0022 (c) 1987 (Japan) */
DRIVER( nkdodgeb ) /* TA-0022 (c) 1987 (Japan) */