diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c index c7faf364486..c30be84bd10 100644 --- a/src/mame/drivers/cps1.c +++ b/src/mame/drivers/cps1.c @@ -3610,6 +3610,42 @@ static MACHINE_DRIVER_START( qsound ) MDRV_SOUND_REMOVE("okim") MACHINE_DRIVER_END + +/* bootlegs with PIC */ + +static MACHINE_DRIVER_START( cpspicb ) + + /* basic machine hardware */ + MDRV_CPU_ADD_TAG("main", M68000, 12000000) + MDRV_CPU_PROGRAM_MAP(main_map,0) + MDRV_CPU_VBLANK_INT("main", cps1_qsound_interrupt) + + MDRV_CPU_ADD_TAG("sound", PIC16C57, 12000000) + MDRV_CPU_FLAGS(CPU_DISABLE) /* no valid dumps .. */ + + /* video hardware */ + MDRV_SCREEN_ADD("main", RASTER) + MDRV_SCREEN_REFRESH_RATE(60) + MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) + MDRV_SCREEN_SIZE(64*8, 32*8) + MDRV_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) + + MDRV_GFXDECODE(cps1) + MDRV_PALETTE_LENGTH(0xc00) + + MDRV_VIDEO_START(cps1) + MDRV_VIDEO_EOF(cps1) + MDRV_VIDEO_UPDATE(cps1) + + /* sound hardware */ + MDRV_SPEAKER_STANDARD_MONO("mono") + + MDRV_SOUND_ADD_TAG("okim", OKIM6295, 1000000) + MDRV_SOUND_CONFIG(okim6295_interface_region_1_pin7high) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) +MACHINE_DRIVER_END + #endif @@ -7201,6 +7237,119 @@ ROM_START( dinoj ) ROM_LOAD( "cd_q4.rom", 0x180000, 0x80000, CRC(2c67821d) SHA1(6e2528d0b22508300a6a142a796dd3bf53a66946) ) ROM_END +/* + +Cadillac Bootleg Hardware: + +1x 68000p10 +1x PIC16c57 +1x AD-65 +1x OSC 30mhz +1x OSC 24mhz +13x 27c4000 ROMS + +*/ +ROM_START( dinopic ) + ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */ + ROM_LOAD16_BYTE( "3.bin", 0x000001, 0x80000, CRC(13dfeb08) SHA1(cd2f9dd64f4fabe93901247e36dff3763169716d) ) + ROM_LOAD16_BYTE( "5.bin", 0x000000, 0x80000, CRC(96dfcbf1) SHA1(a8bda6edae2c1b79db7ae8a8976fd2457f874373) ) + ROM_LOAD16_BYTE( "2.bin", 0x100001, 0x80000, CRC(0e4058ba) SHA1(346f9e34ea53dd1bf5cdafa1e38bf2edb09b9a7f) ) + ROM_LOAD16_BYTE( "7.bin", 0x100000, 0x80000, CRC(6133f349) SHA1(d13af99910623f62c090d25372a2253dbc2f8cbe) ) + + ROM_REGION( 0x400000, REGION_GFX1, 0 ) // same data, different format, except for 8 which is a 99% match (bad rom?) + ROMX_LOAD( "4.bin", 0x000000, 0x40000, CRC(f3c2c98d) SHA1(98ae51a67fa4159456a4a205eebdd8d1775888d1), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000004, 0x40000) + ROMX_LOAD( "8.bin", 0x000001, 0x40000, CRC(d574befc) SHA1(56482e7a9aa8439f30e3cf72311495ce677a083d), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000005, 0x40000) + ROMX_LOAD( "9.bin", 0x000002, 0x40000, CRC(55ef0adc) SHA1(3b5551ae76ae80882d37fc70a1031a57885d6840), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000006, 0x40000) + ROMX_LOAD( "6.bin", 0x000003, 0x40000, CRC(cc0805fc) SHA1(c512734c28b878a30a0de249929f69784d5d77a1), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000007, 0x40000) + ROMX_LOAD( "13.bin", 0x200000, 0x40000, CRC(1371f714) SHA1(d2c98096fab08e3d4fd2482e6ebfc970ead656ee), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200004, 0x40000) + ROMX_LOAD( "12.bin", 0x200001, 0x40000, CRC(b284c4a7) SHA1(166f571e0afa115f8e38ba427b40e30abcfd70ee), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200005, 0x40000) + ROMX_LOAD( "11.bin", 0x200002, 0x40000, CRC(b7ad3394) SHA1(58dec34d9d991ff2817c8a7847749716abae6c77), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200006, 0x40000) + ROMX_LOAD( "10.bin", 0x200003, 0x40000, CRC(88847705) SHA1(05dc90067921960e417b7436056a5e1f86abaa1a), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200007, 0x40000) + + ROM_REGION( 0x8000, REGION_GFX2, 0 ) + ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */ + + ROM_REGION( 0x28000, REGION_CPU2, 0 ) /* PIC16c57 - protected, dump isn't valid */ + ROM_LOAD( "pic16c57-rp", 0x00000, 0x2d4c, BAD_DUMP CRC(5a6d393c) SHA1(1391a1590aff5f75bb6fae1c83eddb796b53135d) ) + + ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* OKI6295 samples */ + ROM_LOAD( "1.bin", 0x000000, 0x80000, CRC(7d921309) SHA1(d51e60e904d302c2516b734189e141aa171b2b82) ) +ROM_END + +/* this is basically the same set as above, from a different bootleg pcb, with a few extra pal dumps etc. + the first dump will probably be removed eventually + + CPU + 1x TS68000CP10 (main) + 1x AD-65 (sound)(equivalent to M6295) + 1x PIC16C57-XT/P + 1x A1020B-PL84C + 1x oscillator 24.000MHz (close to main) + 1x oscillator 30.000MHz (close to sound) + + ROMs + 13x 27C4000 + 3x GAL20V8A + 3x PALCE16V8H (1 broken not dumped) + 1x CAT93C46P + + Note + 1x JAMMA edge connector + 1x 10 legs connector + 1x trimmer (volume) +*/ + +ROM_START( dinopic2 ) + ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */ + ROM_LOAD16_BYTE( "27c4000-m12374r-2.bin", 0x000001, 0x80000, CRC(13dfeb08) SHA1(cd2f9dd64f4fabe93901247e36dff3763169716d) ) + ROM_LOAD16_BYTE( "27c4000-m12481.bin", 0x000000, 0x80000, CRC(96dfcbf1) SHA1(a8bda6edae2c1b79db7ae8a8976fd2457f874373) ) + ROM_LOAD16_BYTE( "27c4000-m12374r-1.bin", 0x100001, 0x80000, CRC(0e4058ba) SHA1(346f9e34ea53dd1bf5cdafa1e38bf2edb09b9a7f) ) + ROM_LOAD16_BYTE( "27c4000-m12374r-3.bin", 0x100000, 0x80000, CRC(6133f349) SHA1(d13af99910623f62c090d25372a2253dbc2f8cbe) ) + + ROM_REGION( 0x400000, REGION_GFX1, 0 ) + ROMX_LOAD( "27c4000-m12481-4.bin", 0x000000, 0x40000, CRC(f3c2c98d) SHA1(98ae51a67fa4159456a4a205eebdd8d1775888d1), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000004, 0x40000) + ROMX_LOAD( "27c4000-m12481-3.bin", 0x000001, 0x40000, CRC(417a4816) SHA1(5268f6667ff550a949a08f94171966f5d841c6b2), ROM_SKIP(7) ) // this one is a perfect match, unlike dinopic set + ROM_CONTINUE( 0x000005, 0x40000) + ROMX_LOAD( "27c4000-m12481-2.bin", 0x000002, 0x40000, CRC(55ef0adc) SHA1(3b5551ae76ae80882d37fc70a1031a57885d6840), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000006, 0x40000) + ROMX_LOAD( "27c4000-m12481-1.bin", 0x000003, 0x40000, CRC(cc0805fc) SHA1(c512734c28b878a30a0de249929f69784d5d77a1), ROM_SKIP(7) ) + ROM_CONTINUE( 0x000007, 0x40000) + ROMX_LOAD( "27c4000-m12481-8.bin", 0x200000, 0x40000, CRC(1371f714) SHA1(d2c98096fab08e3d4fd2482e6ebfc970ead656ee), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200004, 0x40000) + ROMX_LOAD( "27c4000-m12481-7.bin", 0x200001, 0x40000, CRC(b284c4a7) SHA1(166f571e0afa115f8e38ba427b40e30abcfd70ee), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200005, 0x40000) + ROMX_LOAD( "27c4000-m12481-6.bin", 0x200002, 0x40000, CRC(b7ad3394) SHA1(58dec34d9d991ff2817c8a7847749716abae6c77), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200006, 0x40000) + ROMX_LOAD( "27c4000-m12481-5.bin", 0x200003, 0x40000, CRC(88847705) SHA1(05dc90067921960e417b7436056a5e1f86abaa1a), ROM_SKIP(7) ) + ROM_CONTINUE( 0x200007, 0x40000) + + ROM_REGION( 0x8000, REGION_GFX2, 0 ) + ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */ + + ROM_REGION( 0x28000, REGION_CPU2, 0 ) /* PIC16c57 - protected, dump isn't valid */ + ROM_LOAD( "pic16c57-xt.hex", 0x00000, 0x26cc, BAD_DUMP CRC(a6a5eac4) SHA1(2039789084836769180f0bfd230c2553a37e2aaf) ) + + ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* OKI6295 samples */ + ROM_LOAD( "27c4000-m12623.bin", 0x000000, 0x80000, CRC(7d921309) SHA1(d51e60e904d302c2516b734189e141aa171b2b82) ) + + ROM_REGION( 0x80000, REGION_USER1, 0 ) /* extra bits on this set */ + ROM_LOAD( "cat93c46p.bin", 0x0, 0x080, CRC(d49fa351) SHA1(e6dfaff1c6aa962d34ae8e82b71e6f394d82e19c) ) + ROM_LOAD( "gal20v8a-1.bin", 0x0, 0x157, CRC(cd99ca47) SHA1(ee1d990fd294aa46f56f31264134251569f6792e) ) + ROM_LOAD( "gal20v8a-2.bin", 0x0, 0x157, CRC(60d016b9) SHA1(add42c763c819f3fe6d7cf3adc7123a52c2a3be9) ) + ROM_LOAD( "gal20v8a-3.bin", 0x0, 0x157, CRC(049b7f4f) SHA1(6c6ea03d9a293db69a8bd10e042ee75e3c01313c) ) + ROM_LOAD( "palce16v8h-1.bin", 0x0, 0x117, CRC(48253c66) SHA1(8c94e655b768c45c3edf6ef39e62e3b7a4e57530) ) + ROM_LOAD( "palce16v8h-2.bin", 0x0, 0x117, CRC(9ae375ba) SHA1(6f227c2a5b1170a41e6419f12d1e1f98edc6f8e5) ) +ROM_END + /* B-Board 91635B */ ROM_START( punisher ) ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */ @@ -7968,6 +8117,8 @@ GAME( 1992, wofj, wof, qsound, wof, wof, ROT0, "Capcom" GAME( 1993, dino, 0, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)" , 0) // "ETC" GAME( 1993, dinou, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs and Dinosaurs (US 930201)", 0 ) GAME( 1993, dinoj, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs Kyouryuu-Shinseiki (Japan 930201)", 0 ) +GAME( 1993, dinopic, dino, cpspicb, dino, dino , ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", GAME_NOT_WORKING ) +GAME( 1993, dinopic2, dino, cpspicb, dino, dino , ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING ) GAME( 1993, punisher, 0, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (World 930422)" , 0) // "ETC" GAME( 1993, punishru, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (US 930422)", 0 ) GAME( 1993, punishrj, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)", 0 ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 25a0bf80a14..83cd3c5a432 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -2479,6 +2479,8 @@ V-V TP-027 DRIVER( dino ) /* 01/02/1993 (c) 1993 (World) (CPS1 + QSound) */ DRIVER( dinou ) /* 01/02/1993 (c) 1993 (US) (CPS1 + QSound) */ DRIVER( dinoj ) /* 01/02/1993 (c) 1993 (Japan) (CPS1 + QSound) */ + DRIVER( dinopic ) /* bootleg */ + DRIVER( dinopic2 ) /* bootleg */ DRIVER( punisher ) /* 22/04/1993 (c) 1993 (World) (CPS1 + QSound) */ DRIVER( punishru ) /* 22/04/1993 (c) 1993 (US) (CPS1 + QSound) */ DRIVER( punishrj ) /* 22/04/1993 (c) 1993 (Japan) (CPS1 + QSound) */ diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c index 3a8f22147e2..9510779d386 100644 --- a/src/mame/video/cps1.c +++ b/src/mame/video/cps1.c @@ -1262,6 +1262,8 @@ static const struct CPS1config cps1_config_table[]= {"dino", CPS_B_21_QS2, mapper_CD63B }, /* layer enable never used */ {"dinou", CPS_B_21_QS2, mapper_CD63B }, /* layer enable never used */ {"dinoj", CPS_B_21_QS2, mapper_CD63B }, /* layer enable never used */ + {"dinopic", CPS_B_21_QS2, mapper_CD63B }, /* layer enable never used */ + {"dinopic2", CPS_B_21_QS2, mapper_CD63B }, /* layer enable never used */ {"punisher", CPS_B_21_QS3, mapper_PS63B }, {"punishru", CPS_B_21_QS3, mapper_PS63B }, {"punishrj", CPS_B_21_QS3, mapper_PS63B },