Added redumps of bad roms for DDP3. Added new clone (kov2101). No whatsnew needed.

New Clones Added
----------------
Knights of Valour 2 / Sangoku Senki 2 (ver. 101, 101, 100HK)
This commit is contained in:
Scott Stone 2011-02-24 18:08:15 +00:00
parent 61c3e5070d
commit 119f5ccbc1
4 changed files with 53 additions and 74 deletions

View File

@ -3244,6 +3244,37 @@ ROM_START( kov2102 )
ROM_LOAD( "m1200.rom", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) )
ROM_END
ROM_START( kov2101 )
ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
PGM_68K_BIOS
ROM_LOAD16_WORD_SWAP( "u18.101", 0x100000, 0x400000, CRC(c9926f35) SHA1(a9c72d0c5d239164107894c7d3fffe4af29ed201) )
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) )
ROM_REGION32_LE( 0x400000, "user1", 0 ) /* Protection Data (encrypted external ARM data) */
ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) )
ROM_REGION( 0xc00000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */
PGM_VIDEO_BIOS
ROM_LOAD( "t1200.rom", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) )
ROM_REGION( 0x2800000, "sprcol", 0 ) /* Sprite Colour Data */
ROM_LOAD( "a1200.rom", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) )
ROM_LOAD( "a1201.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) )
ROM_LOAD( "a1202.rom", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) )
ROM_LOAD( "a1203.rom", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) )
ROM_LOAD( "a1204.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) )
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
ROM_LOAD( "b1200.rom", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) )
ROM_LOAD( "b1201.rom", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) )
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
PGM_AUDIO_BIOS
ROM_LOAD( "m1200.rom", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) )
ROM_END
ROM_START( kov2100 )
ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
PGM_68K_BIOS
@ -4171,14 +4202,14 @@ ROM_START( ddp3 )
ROM_REGION( 0x1c00000, "sprcol", 0 ) /* Sprite Colour Data */
ROM_LOAD( "a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, BAD_DUMP CRC(f7816273) SHA1(dfa76e29cfe4fc03a9c0e1d932b244581f3bb9c4) ) //image-2 - bad dump: checksum does not match rom label
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, BAD_DUMP CRC(830aab7d) SHA1(1829197457b401b203360a76ee345108df9c4b24) ) //bitmap-1 - bad dump: checksum does not match rom label
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, CRC(8cbff066) SHA1(eef1cd566bc70ebf45f047e56026803d5c1dac43) ) //bitmap-1
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, BAD_DUMP CRC(a118560c) SHA1(3e99bb2adbc9d464d79aa8723f0d40305ea821ca) ) //music-1 - bad dump: checksum does not match rom label
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1
ROM_REGION( 0x20000, "sram", 0 ) /* default settings */
ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) )
@ -4202,14 +4233,14 @@ ROM_START( ddp3a )
ROM_REGION( 0x1c00000, "sprcol", 0 ) /* Sprite Colour Data */
ROM_LOAD( "a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, BAD_DUMP CRC(f7816273) SHA1(dfa76e29cfe4fc03a9c0e1d932b244581f3bb9c4) ) //image-2 - bad dump: checksum does not match rom label
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, BAD_DUMP CRC(830aab7d) SHA1(1829197457b401b203360a76ee345108df9c4b24) ) //bitmap-1 - bad dump: checksum does not match rom label
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, CRC(8cbff066) SHA1(eef1cd566bc70ebf45f047e56026803d5c1dac43) ) //bitmap-1
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, BAD_DUMP CRC(a118560c) SHA1(3e99bb2adbc9d464d79aa8723f0d40305ea821ca) ) //music-1 - bad dump: checksum does not match rom label
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1
ROM_REGION( 0x20000, "sram", 0 ) /* default settings */
ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) )
@ -4232,14 +4263,14 @@ ROM_START( ddp3b )
ROM_REGION( 0x1c00000, "sprcol", 0 ) /* Sprite Colour Data */
ROM_LOAD( "a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, BAD_DUMP CRC(f7816273) SHA1(dfa76e29cfe4fc03a9c0e1d932b244581f3bb9c4) ) //image-2 - bad dump: checksum does not match rom label
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, BAD_DUMP CRC(830aab7d) SHA1(1829197457b401b203360a76ee345108df9c4b24) ) //bitmap-1 - bad dump: checksum does not match rom label
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, CRC(8cbff066) SHA1(eef1cd566bc70ebf45f047e56026803d5c1dac43) ) //bitmap-1
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, BAD_DUMP CRC(a118560c) SHA1(3e99bb2adbc9d464d79aa8723f0d40305ea821ca) ) //music-1 - bad dump: checksum does not match rom label
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1
ROM_REGION( 0x20000, "sram", 0 ) /* default settings */
ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) )
@ -4263,21 +4294,26 @@ ROM_START( ddp3blk )
ROM_REGION( 0x1c00000, "sprcol", 0 ) /* Sprite Colour Data */
ROM_LOAD( "a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, BAD_DUMP CRC(f7816273) SHA1(dfa76e29cfe4fc03a9c0e1d932b244581f3bb9c4) ) //image-2 - bad dump: checksum does not match rom label
ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2
ROM_REGION( 0x1000000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, BAD_DUMP CRC(830aab7d) SHA1(1829197457b401b203360a76ee345108df9c4b24) ) //bitmap-1 - bad dump: checksum does not match rom label
ROM_LOAD( "b04401w064.u1", 0x0000000, 0x0800000, CRC(8cbff066) SHA1(eef1cd566bc70ebf45f047e56026803d5c1dac43) ) //bitmap-1
ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */
ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, BAD_DUMP CRC(a118560c) SHA1(3e99bb2adbc9d464d79aa8723f0d40305ea821ca) ) //music-1 - bad dump: checksum does not match rom label
ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1
ROM_REGION( 0x20000, "sram", 0 ) /* NVRAM with factory programmed values - needed to boot */
ROM_LOAD( "ddp3blk_defaults.nv", 0x0000000, 0x020000, CRC(a1651904) SHA1(5b80d3c4c764895c40953a66161d4dd84f742604) )
ROM_END
/* this is on PGM2, the main board contains 2 custom ASICs, no roms or other kind of bios, I don't know how compatible the
hardware is otherwise, but I imagine it's well protected */
hardware is otherwise, but I imagine it's well protected
they appear to have the main program inside a custom ASIC (probably ARM again) as the carts will boot to 'PROGRAM ERROR'
even if you strip them of program roms.
*/
ROM_START( orleg2 )
ROM_REGION( 0x800000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_WORD_SWAP( "xyj2_v104cn.u7", 0x000000, 0x800000, CRC(7c24a4f5) SHA1(3cd9f9264ef2aad0869afdf096e88eb8d74b2570) )
@ -5304,7 +5340,7 @@ static DRIVER_INIT( dw2001 )
pgm_basic_init(machine);
kovsh_latch_init(machine);
pgm_dw2001_decrypt(machine);
pgm_mm_decrypt(machine); // encryption is the same as martial masters
mem16[0x11e90c / 2] = 0x4e71;
mem16[0x11e90e / 2] = 0x4e71;
@ -5831,6 +5867,7 @@ GAME( 2000, kov2, pgm, kov2, sango, kov2, ROT0, "IGS
GAME( 2000, kov2106, kov2, kov2, sango, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 106, 102, 100KH)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 02/27/01 13:26:46 V106 (Ext. Arm V102, Int. Arm V100HK)
GAME( 2000, kov2103, kov2, kov2, sango, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 103, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 12/28/00 15:09:31 V103 (Ext. Arm V101, Int. Arm V100HK)
GAME( 2000, kov2102, kov2, kov2, sango, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 102, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 12/14/00 10:33:36 V102 (Ext. Arm V101, Int. Arm V100HK)
GAME( 2000, kov2101, kov2, kov2, sango, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 101, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK)
GAME( 2000, kov2100, kov2, kov2, sango, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 100, 100, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK)
GAME( 2001, martmast, pgm, kov2, sango, martmast, ROT0, "IGS", "Martial Masters (ver. 104, 102, 102US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 102US

View File

@ -93,7 +93,6 @@ void pgm_oldsplus_decrypt(running_machine *machine);
void pgm_kovshp_decrypt(running_machine *machine);
void pgm_killbldp_decrypt(running_machine *machine);
void pgm_svg_decrypt(running_machine *machine);
void pgm_dw2001_decrypt(running_machine *machine);
void pgm_ket_decrypt(running_machine *machine);
void pgm_espgal_decrypt(running_machine *machine);

View File

@ -454,7 +454,7 @@ static const UINT8 mm_tab[256] = {
0x7c, 0x01, 0x43, 0xdb, 0x53, 0x85, 0xfe, 0x78, 0x91, 0x40, 0xa3, 0xdf, 0x4f, 0xff, 0x10, 0x6c,
};
void pgm_mm_decrypt(running_machine *machine)
void pgm_mm_decrypt(running_machine *machine) // and dw2001
{
int i;
UINT16 *src = (UINT16 *)(machine->region("user1")->base());
@ -946,64 +946,6 @@ void pgm_svg_decrypt(running_machine *machine)
}
}
/* not 100% correct */
static const UINT8 dw2001_tab[256] = {
0xd0,0x45,0xbc,0x84,0x93,0x60,0x7d,0x49,0x68,0xb1,0x54,0xa2,0x05,0x29,0x41,0x20,
0x04,0x08,0x52,0x25,0x89,0xf4,0x69,0x9f,0x24,0x46,0x3d,0xf1,0xf9,0xab,0xa6,0x2d,
0x18,0x19,0x6d,0x33,0x79,0x23,0x3b,0x1d,0xe0,0xb8,0x61,0x1a,0xe1,0x4c,0x5d,0x3f,
0x5e,0x02,0xe3,0x4d,0x9e,0X80,0x28,0x50,0xa0,0x81,0xe4,0xa5,0x97,0xa1,0x86,0x36,
0x1e,0xed,0x16,0x8a,0x44,0x06,0x64,0x12,0x9a,0x7e,0xce,0x9b,0xef,0xf7,0x3e,0xf8,
0x15,0x07,0xcb,0x6f,0x8e,0x3c,0x82,0x70,0x62,0x8d,0x66,0x7a,0x4e,0xd3,0xb6,0x6a,
0x51,0xa7,0x2c,0xc7,0xa4,0x0b,0xb5,0xe5,0x88,0xbd,0x5a,0x5b,0x1b,0xae,0xe6,0X5F,
0x2e,0x92,0x8c,0xb7,0x96,0xba,0x99,0xbb,0xbe,0x0e,0xbf,0xe7,0x2f,0xe9,0x30,0x37,
0x98,0xac,0x4a,0x94,0x38,0xf3,0x39,0xb2,0x55,0x72,0x7b,0xee,0xdd,0x6e,0x11,0xd5,
0x26,0xa8,0x71,0xd6,0x74,0x7f,0x13,0xc2,0x56,0xea,0xa9,0xaf,0XC3,0x42,0x03,0xb3,
0xc4,0x6b,0x47,0xf0,0x31,0xf5,0xaa,0x58,0x8f,0x48,0x75,0x95,0x35,0x8b,0x57,0x3a,
0x73,0x0c,0x59,0xd8,0x14,0x65,0xd7,0x00,0xfa,0xdc,0x34,0xde,0xc0,0xb0,0x87,0xc1,
0xc8,0xcd,0xd4,0x2a,0xda,0xe8,0xd2,0x83,0x0d,0xca,0xf2,0x0f,0xeb,0xec,0x9c,0x1f,
0xad,0x22,0xd1,0x4b,0x5c,0xf6,0x17,0xc5,0x67,0x9d,0xfb,0xc9,0xcc,0x32,0x1c,0xb4,
0xd9,0xe2,0xcf,0x90,0xb9,0x2b,0x61,0xc6,0x76,0x21,0x77,0x27,0xfc,0xfd,0x0a,0x09,
0x7c,0x01,0x43,0xdb,0x53,0x87,0xfe,0x78,0x91,0x40,0xa3,0xdf,0x4f,0xff,0x10,0x6c,
};
void pgm_dw2001_decrypt(running_machine *machine)
{
int i;
UINT16 *src = (UINT16 *)(machine->region("user1")->base());
int rom_size = 0x200000;
for(i=0; i<rom_size/2; i++) {
UINT16 x = src[i];
if((i & 0x000480) != 0x00080)
x^=0x0001;
if((i & 0x004008) == 0x004008)
x^=0x0002;
if((i & 0x000030) == 0x000010)
x^=0x0004;
if((i & 0x000242) != 0x000042)
x^=0x0008;
if((i & 0x02004) != 0x00004)
x^=0x0020;
if((i & 0x11800) != 0x10000)
x^=0x0040;
if((i & 0x00820) == 0x00820)
x^=0x0080;
x ^= dw2001_tab[(i >> 1) & 0xff] << 8;
src[i] = x;
}
}
/* todo: */
static const UINT8 py2k2_tab[256] = {
0x74, 0xe8, 0xa8, 0x64, 0x26, 0x44, 0xa6, 0x9a, 0xa5, 0x69, 0xa2, 0xd3, 0x6d, 0xba, 0xff, 0xf3,
0xeb, 0x6e, 0xe3, 0x70, 0x72, 0x58, 0x27, 0xd9, 0xe4, 0x9f, 0x50, 0xa2, 0xdd, 0xce, 0x6e, 0xf6,

View File

@ -8685,6 +8685,7 @@ Other Sun games
DRIVER( kov2106 ) /* (c) 2000 */
DRIVER( kov2103 ) /* (c) 2000 */
DRIVER( kov2102 ) /* (c) 2000 */
DRIVER( kov2101 ) /* (c) 2000 */
DRIVER( kov2100 ) /* (c) 2000 */
DRIVER( kov2p ) /* (c) 2000 */
DRIVER( kov2p205 ) /* (c) 2000 */