KillerBee Posted November 30, 2005 Author Posted November 30, 2005 In what way is it bad? Does it keep repeating like an echo box, or is it all fuzzy?<{POST_SNAPBACK}> Fuzzy crashing sounds and musics.
Robert Posted November 30, 2005 Posted November 30, 2005 What is the CRC of the V rom that you are using?
KillerBee Posted November 30, 2005 Author Posted November 30, 2005 What is the CRC of the V rom that you are using?<{POST_SNAPBACK}> 271-v1.bin (1d961548) is that buggy? I could try the kof2003a 271-v1c.bin (ffa3f8c7) and see it fixs the problem. Let me try it out becuase I have it.
Robert Posted November 30, 2005 Posted November 30, 2005 The one specified was 2058ec5e. You have the encrypted one which I could not find anywhere. To get it to work, you will have to add an extra line in the DRIVER_INIT section, just above the "init_neogeo()" line. My guess is the line would be: neo_pcm2_playmore_2002(5); But you'll need to add an extra subroutine just above any DRIVER_INIT's you've added.// © PLAYMORE 2002 20-09-2004 //-------- to decypt v roms ----------------- static void neo_pcm2_playmore_2002(int value) { //kof2002,matrimelee,mslug5 (pcb and mvs),samsho5,svcchaos (pcb and mvs),kof2003 (pcb and mvs),samsh5sp (mvs and aes) //offset,xor address unsigned int addrs[7][2]={ {0x000000,0xA5000}, //kof2002 {0xFFCE20,0x01000}, //matrimelee {0xFE2CF6,0x4E001}, //mslug5 {0xFEB2C0,0x0A000}, //samsho5 {0xFFAC28,0xC2000}, //svcchaos {0xFF14EA,0xA7001}, //kof2003 {0xFFB440,0x02000}, //samsh5sp }; unsigned int xordata[7][8]={ {0xF9,0xE0,0x5D,0xF3,0xEA,0x92,0xBE,0xEF}, //kof2002 {0xC4,0x83,0xA8,0x5F,0x21,0x27,0x64,0xAF}, //matrimelee {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, //mslug5 {0xCB,0x29,0x7D,0x43,0xD2,0x3A,0xC2,0xB4}, //samsho5 {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, //svcchaos {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //kof2003 {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //samsh5sp }; UINT8 *src = memory_region(REGION_SOUND1); UINT8 *buf = malloc(0x1000000); int i, j, d; memcpy(buf,src,0x1000000); for (i=0;i<0x1000000;i++) { j=BITSWAP24(i,23,22,21,20,19,18,17,0,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,16); j=j^addrs[value][1]; d=((i+addrs[value][0])&0xffffff); src[j]=buf[d]^xordata[value][j&0x7]; } free(buf); }
KillerBee Posted December 1, 2005 Author Posted December 1, 2005 (edited) Now here is another problem. I can't get this in the right order. Mame32 doesn't like it this way. GAMEB( 2002, kof2002, neogeo, neogeo, neogeo, neogeo, kof2002, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 1)", 0 ) GAMEB( 2002, kof2k2nd, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 2)", 0 ) GAMEB( 2002, kf2k2pa, kof2k2nd, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 1)", 0 ) GAMEB( 2002, kf2k2pls, kof2k2nd, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 2)", 0 ) This one works bellow. I just now test it. Even though the kof2k2nd will have the extra roms that kof2002 have uses. GAMEB( 2002, kof2002, neogeo, neogeo, neogeo, neogeo, kof2002, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 1)", 0 ) GAMEB( 2002, kof2k2nd, neogeo, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 2)", 0 ) GAMEB( 2002, kf2k2pa, kof2k2nd, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 1)", 0 ) GAMEB( 2002, kf2k2pls, kof2k2nd, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 2)", 0 ) Edited December 1, 2005 by KillerBee
Robert Posted December 1, 2005 Posted December 1, 2005 You are trying to make kof2002 a parent of kof2k2nd and making kof2k2nd a parent of kf2k2pa and kf2k2pls. You are not allowed to make parents of parents. Make kof2002 a parent of the 3 others.
KillerBee Posted December 1, 2005 Author Posted December 1, 2005 (edited) You are trying to make kof2002 a parent of kof2k2nd and making kof2k2nd a parent of kf2k2pa and kf2k2pls. You are not allowed to make parents of parents. Make kof2002 a parent of the 3 others.<{POST_SNAPBACK}> Ok. Like this bellow? GAMEB( 2002, kof2002, neogeo, neogeo, neogeo, neogeo, kof2002, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 1)", 0 ) GAMEB( 2002, kof2k2nd, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 2)", 0 ) GAMEB( 2002, kf2k2pa, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 1)", 0 ) GAMEB( 2002, kf2k2pls, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 2)", 0 ) Edited December 1, 2005 by KillerBee
iq_132 Posted December 1, 2005 Posted December 1, 2005 You are trying to make kof2002 a parent of kof2k2nd and making kof2k2nd a parent of kf2k2pa and kf2k2pls. You are not allowed to make parents of parents. Make kof2002 a parent of the 3 others. Ok. Like this bellow? GAMEB( 2002, kof2002, neogeo, neogeo, neogeo, neogeo, kof2002, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 1)", 0 ) GAMEB( 2002, kof2k2nd, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (Set 2)", 0 ) GAMEB( 2002, kf2k2pa, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 1)", 0 ) GAMEB( 2002, kf2k2pls, kof2002, neogeo, neogeo, neogeo, kof2k2nd, ROT0, "Eolith / Playmore", "The King of Fighters 2002 Plus (Bootleg - Set 2)", 0 ) What I've found that works pretty well is to set kof2002b as the parent of the bootleg/plus games, and set kof2002 as the parent of kof2k2nd/kof2002d
KillerBee Posted December 2, 2005 Author Posted December 2, 2005 (edited) Alrighty I gotting the graphics to work now. Is that something now after looking in the kof2002b_kof2002p_kof2004e source in the extrasrc_095. Now I need to figger out how to fixs the sounds and musics. Yeppy. :biggrin: I think it the neo_pcm2_playmore_2002(0); will fixs that. static void kof2002b_gfx_decrypt(unsigned char* src, int size) { unsigned short kof2002b_sec[512] = { 0x001, 0x101, 0x002, 0x102, 0x003, 0x103, 0x004, 0x104, 0x009, 0x089, 0x109, 0x189, 0x00A, 0x08A, 0x10A, 0x18A, 0x011, 0x051, 0x091, 0x0D1, 0x111, 0x151, 0x191, 0x1D1, 0x019, 0x01D, 0x059, 0x05D, 0x099, 0x09D, 0x0D9, 0x0DD, 0x021, 0x023, 0x025, 0x027, 0x061, 0x063, 0x065, 0x067, 0x029, 0x129, 0x0A9, 0x1A9, 0x069, 0x169, 0x0E9, 0x1E9, 0x031, 0x071, 0x0B1, 0x0F1, 0x131, 0x171, 0x1B1, 0x1F1, 0x039, 0x0B9, 0x03A, 0x0BA, 0x03B, 0x0BB, 0x03C, 0x0BC, 0x005, 0x105, 0x006, 0x106, 0x007, 0x107, 0x008, 0x108, 0x00B, 0x08B, 0x10B, 0x18B, 0x00C, 0x08C, 0x10C, 0x18C, 0x012, 0x052, 0x092, 0x0D2, 0x112, 0x152, 0x192, 0x1D2, 0x119, 0x11D, 0x159, 0x15D, 0x199, 0x19D, 0x1D9, 0x1DD, 0x0A1, 0x0A3, 0x0A5, 0x0A7, 0x0E1, 0x0E3, 0x0E5, 0x0E7, 0x02D, 0x12D, 0x0AD, 0x1AD, 0x06D, 0x16D, 0x0ED, 0x1ED, 0x035, 0x075, 0x0B5, 0x0F5, 0x135, 0x175, 0x1B5, 0x1F5, 0x03D, 0x0BD, 0x03E, 0x0BE, 0x03F, 0x0BF, 0x040, 0x0C0, 0x041, 0x141, 0x042, 0x142, 0x043, 0x143, 0x044, 0x144, 0x00D, 0x08D, 0x10D, 0x18D, 0x00E, 0x08E, 0x10E, 0x18E, 0x013, 0x053, 0x093, 0x0D3, 0x113, 0x153, 0x193, 0x1D3, 0x01A, 0x01E, 0x05A, 0x05E, 0x09A, 0x09E, 0x0DA, 0x0DE, 0x121, 0x123, 0x125, 0x127, 0x161, 0x163, 0x165, 0x167, 0x02B, 0x12B, 0x0AB, 0x1AB, 0x06B, 0x16B, 0x0EB, 0x1EB, 0x033, 0x073, 0x0B3, 0x0F3, 0x133, 0x173, 0x1B3, 0x1F3, 0x079, 0x0F9, 0x07A, 0x0FA, 0x07B, 0x0FB, 0x07C, 0x0FC, 0x045, 0x145, 0x046, 0x146, 0x047, 0x147, 0x048, 0x148, 0x00F, 0x08F, 0x10F, 0x18F, 0x010, 0x090, 0x110, 0x190, 0x014, 0x054, 0x094, 0x0D4, 0x114, 0x154, 0x194, 0x1D4, 0x11A, 0x11E, 0x15A, 0x15E, 0x19A, 0x19E, 0x1DA, 0x1DE, 0x1A1, 0x1A3, 0x1A5, 0x1A7, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x02F, 0x12F, 0x0AF, 0x1AF, 0x06F, 0x16F, 0x0EF, 0x1EF, 0x037, 0x077, 0x0B7, 0x0F7, 0x137, 0x177, 0x1B7, 0x1F7, 0x07D, 0x0FD, 0x07E, 0x0FE, 0x07F, 0x0FF, 0x080, 0x100, 0x081, 0x181, 0x082, 0x182, 0x083, 0x183, 0x084, 0x184, 0x049, 0x0C9, 0x149, 0x1C9, 0x04A, 0x0CA, 0x14A, 0x1CA, 0x015, 0x055, 0x095, 0x0D5, 0x115, 0x155, 0x195, 0x1D5, 0x01B, 0x01F, 0x05B, 0x05F, 0x09B, 0x09F, 0x0DB, 0x0DF, 0x022, 0x024, 0x026, 0x028, 0x062, 0x064, 0x066, 0x068, 0x02A, 0x12A, 0x0AA, 0x1AA, 0x06A, 0x16A, 0x0EA, 0x1EA, 0x032, 0x072, 0x0B2, 0x0F2, 0x132, 0x172, 0x1B2, 0x1F2, 0x139, 0x1B9, 0x13A, 0x1BA, 0x13B, 0x1BB, 0x13C, 0x1BC, 0x085, 0x185, 0x086, 0x186, 0x087, 0x187, 0x088, 0x188, 0x04B, 0x0CB, 0x14B, 0x1CB, 0x04C, 0x0CC, 0x14C, 0x1CC, 0x016, 0x056, 0x096, 0x0D6, 0x116, 0x156, 0x196, 0x1D6, 0x11B, 0x11F, 0x15B, 0x15F, 0x19B, 0x19F, 0x1DB, 0x1DF, 0x0A2, 0x0A4, 0x0A6, 0x0A8, 0x0E2, 0x0E4, 0x0E6, 0x0E8, 0x02E, 0x12E, 0x0AE, 0x1AE, 0x06E, 0x16E, 0x0EE, 0x1EE, 0x036, 0x076, 0x0B6, 0x0F6, 0x136, 0x176, 0x1B6, 0x1F6, 0x13D, 0x1BD, 0x13E, 0x1BE, 0x13F, 0x1BF, 0x140, 0x1C0, 0x0C1, 0x1C1, 0x0C2, 0x1C2, 0x0C3, 0x1C3, 0x0C4, 0x1C4, 0x04D, 0x0CD, 0x14D, 0x1CD, 0x04E, 0x0CE, 0x14E, 0x1CE, 0x017, 0x057, 0x097, 0x0D7, 0x117, 0x157, 0x197, 0x1D7, 0x01C, 0x020, 0x05C, 0x060, 0x09C, 0x0A0, 0x0DC, 0x0E0, 0x122, 0x124, 0x126, 0x128, 0x162, 0x164, 0x166, 0x168, 0x02C, 0x12C, 0x0AC, 0x1AC, 0x06C, 0x16C, 0x0EC, 0x1EC, 0x034, 0x074, 0x0B4, 0x0F4, 0x134, 0x174, 0x1B4, 0x1F4, 0x179, 0x1F9, 0x17A, 0x1FA, 0x17B, 0x1FB, 0x17C, 0x1FC, 0x0C5, 0x1C5, 0x0C6, 0x1C6, 0x0C7, 0x1C7, 0x0C8, 0x1C8, 0x04F, 0x0CF, 0x14F, 0x1CF, 0x050, 0x0D0, 0x150, 0x1D0, 0x018, 0x058, 0x098, 0x0D8, 0x118, 0x158, 0x198, 0x1D8, 0x11C, 0x120, 0x15C, 0x160, 0x19C, 0x1A0, 0x1DC, 0x1E0, 0x1A2, 0x1A4, 0x1A6, 0x1A8, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x030, 0x130, 0x0B0, 0x1B0, 0x070, 0x170, 0x0F0, 0x1F0, 0x038, 0x078, 0x0B8, 0x0F8, 0x138, 0x178, 0x1B8, 0x1F8, 0x17D, 0x1FD, 0x17E, 0x1FE, 0x17F, 0x1FF, 0x180, 0x200, }; int i, j; UINT8 *dst = malloc(0x10000); for (i = 0; i < size; i+=0x10000) { memcpy(dst, src+i,0x10000); for (j = 0; j < 512; ++j) { memcpy(src+i+(kof2002b_sec[j]-1)*128, dst+j*128, 128); } } free(dst); } // © PLAYMORE 2002 20-09-2004 //-------- to decypt v roms ----------------- static void neo_pcm2_playmore_2002(int value) { //kof2002,matrimelee,mslug5 (pcb and mvs),samsho5,svcchaos (pcb and mvs),kof2003 (pcb and mvs),samsh5sp (mvs and aes) //offset,xor address unsigned int addrs[7][2]={ {0x000000,0xA5000}, //kof2002 {0xFFCE20,0x01000}, //matrimelee {0xFE2CF6,0x4E001}, //mslug5 {0xFEB2C0,0x0A000}, //samsho5 {0xFFAC28,0xC2000}, //svcchaos {0xFF14EA,0xA7001}, //kof2003 {0xFFB440,0x02000}, //samsh5sp }; unsigned int xordata[7][8]={ {0xF9,0xE0,0x5D,0xF3,0xEA,0x92,0xBE,0xEF}, //kof2002 {0xC4,0x83,0xA8,0x5F,0x21,0x27,0x64,0xAF}, //matrimelee {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, //mslug5 {0xCB,0x29,0x7D,0x43,0xD2,0x3A,0xC2,0xB4}, //samsho5 {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, //svcchaos {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //kof2003 {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //samsh5sp }; UINT8 *src = memory_region(REGION_SOUND1); UINT8 *buf = malloc(0x1000000); int i, j, d; memcpy(buf,src,0x1000000); for (i=0;i<0x1000000;i++) { j=BITSWAP24(i,23,22,21,20,19,18,17,0,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,16); j=j^addrs[value][1]; d=((i+addrs[value][0])&0xffffff); src[j]=buf[d]^xordata[value][j&0x7]; } free(buf); } DRIVER_INIT( kof2002b ) { kof2002b_gfx_decrypt(memory_region(REGION_GFX3),0x4000000); kof2002b_gfx_decrypt(memory_region(REGION_GFX1),0x20000); neo_pcm2_playmore_2002(0); neogeo_fix_bank_type = 1; init_neogeo(); } Edited December 2, 2005 by KillerBee
Recommended Posts