James Posted May 3, 2005 Author Posted May 3, 2005 Samurai Shodown V Special ROM_START( samsh5sp ) ROM_REGION( 0x800000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "272-p1.bin", 0x000000, 0x400000, CRC(9291794d) SHA1(66588ff9b00ffad6508b03423548984e28a3209d) ) ROM_LOAD16_WORD_SWAP( "272-p2.bin", 0x400000, 0x400000, CRC(fa1a7dd8) SHA1(62443dad76d6c1e18f515d7d4ef8e1295a4b7f1d) ) ROM_REGION( 0x80000, REGION_GFX1, 0 ) ROM_FILL( 0x000000, 0x20000, 0 ) ROM_REGION( 0x20000, REGION_GFX2, 0 ) ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) ) /* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */ ROM_REGION( 0x80000, REGION_USER4, 0 ) ROM_LOAD( "272-m1.bin", 0x00000, 0x80000, CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) ) NEO_BIOS_SOUND_512K( "272-m1d.bin", CRC(203d744e) SHA1(24fc73943009effa14eed0f7a29955f349ca8e8f) ) /* Correct ? */ ROM_REGION( 0X1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* encrypted */ ROM_LOAD( "272-v1.bin", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) ) ROM_LOAD( "272-v2.bin", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) /* Encrypted */ ROM_LOAD16_BYTE( "272-c1.bin", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "272-c2.bin", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "272-c3.bin", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "272-c4.bin", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "272-c5.bin", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "272-c6.bin", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "272-c7.bin", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "272-c8.bin", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */ ROM_END // © PLAYMORE 2002 20-09-2004 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( samsh5sp ) { /* Descrambling Px by Vorador from speksnk Converted to Mame code by James */ UINT8 *src = memory_region(REGION_CPU1); UINT8 *dst = malloc(0x800000); int i; unsigned int sec[]={0x0,0x1,0xA,0x9,0xC,0xB,0xE,0x5,0x2,0xD,0x8,0xF,0x4,0x7,0x6,0x3}; if (dst) { memcpy(dst,src,0x800000); for(i=0;i<0x10;i++) { memcpy(src+i*0x80000,dst+sec[i]*0x80000,0x80000); } free(dst); } neogeo_fix_bank_type = 1; kof2000_neogeo_gfx_decrypt(0x0d); neo_pcm2_playmore_2002(6); // samsh5sp init_neogeo(); } GAMEB( 2004, samsh5sp, neogeo, neogeo, neogeo, neogeo, samsh5sp, ROT0, "Playmore Corporation / Yuki Enterprise", "Samurai Shodown V Special" ) Find this in machine\neogeo.c /* hacks to make the games which do protection checks run in arcade mode */ /* we write protect a SRAM location so it cannot be set to 1 */ sram_protection_hack = ~0; if ( !strcmp(Machine->gamedrv->name,"fatfury3") || add this after!strcmp(Machine->gamedrv->name,"samsh5sp") ||
fanam Posted September 11, 2005 Posted September 11, 2005 sorry to disturb you with this stupid questionbut can someone post the editet files in an zip archiev...iv tried to patch my source, but it seems that im to dumb whould be nice if someone can do it for mecya
Agozer Posted September 11, 2005 Posted September 11, 2005 sorry to disturb you with this stupid questionbut can someone post the editet files in an zip archiev...iv tried to patch my source, but it seems that im to dumb whould be nice if someone can do it for mecyaNo, because we don't provide files that are illegal. If you want to have those games in your MAME, you'll have to compile yourself.
James Posted December 17, 2005 Author Posted December 17, 2005 Kof2003, svcchaos, svchaosa drivers have been modified. I am sure they should compile without errors now.
James Posted December 21, 2005 Author Posted December 21, 2005 kof2003a ( Set 2 MVS ) Thanks to IQ_132 http://neosource.1emulation.com/forums/index.php?topic=490.0 ROM_START( kof2003a ) /* Encrypted Code + Sound + GFX Roms */ ROM_REGION( 0x900000, REGION_CPU1, 0 ) ROM_LOAD32_WORD_SWAP( "271-p1c.bin", 0x000000, 0x400000, CRC(530ecc14) SHA1(812cf7e9902af3f5e9e330b7c05c2171b139ad2b) ) ROM_LOAD32_WORD_SWAP( "271-p2c.bin", 0x000002, 0x400000, CRC(fd568da9) SHA1(46364906a1e81dc251117e91a1a7b43af1373ada) ) ROM_LOAD16_WORD_SWAP( "271-p3c.bin", 0x800000, 0x100000, CRC(aec5b4a9) SHA1(74087f785590eda5898ce146029818f86ced42b6) ) // Encrypted ROM_LOAD16_WORD_SWAP( "271-p3d.bin", 0x800000, 0x100000, CRC(59d376da) SHA1(3c3ad0b79e8b37e838893a8f7b87e11d7eeee8f2) ) // Decrypted /* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */ ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */ ROM_FILL( 0x000000, 0x80000, 0 ) ROM_REGION( 0x20000, REGION_GFX2, 0 ) ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) ) ROM_REGION( 0x080000, REGION_USER4, 0 ) /* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */ ROM_LOAD( "271-m1c.bin", 0x00000, 0x080000, CRC(F5515629) SHA1(7516bf1b0207a3c8d41dc30c478f8d8b1f71304b) ) /* Decrypted */ NEO_BIOS_SOUND_512K( "271-m1c_decrypted.bin", CRC(4374CB5C) SHA1(d245a09fcebc8fe59f4af2de2fc30a0871e56d68) ) // Not 100% ROM_REGION( 0x1000000, REGION_SOUND1, 0 ) /* Encrypted */ ROM_LOAD( "271-v1c.bin", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) ROM_LOAD( "271-v2c.bin", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) /* Encrypted */ ROM_LOAD16_BYTE( "271-c1c.bin", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) ROM_LOAD16_BYTE( "271-c2c.bin", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) ROM_LOAD16_BYTE( "271-c3c.bin", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) ROM_LOAD16_BYTE( "271-c4c.bin", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) ROM_LOAD16_BYTE( "271-c5c.bin", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) ROM_LOAD16_BYTE( "271-c6c.bin", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) ROM_LOAD16_BYTE( "271-c7c.bin", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) ROM_LOAD16_BYTE( "271-c8c.bin", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) ROM_END static void neo_pcm2_swap(int value) /* 0=kof2002, 1=matrim, 2=mslug5, 3=samsho5, 4=svcchaos, 5=kof2003, 6=samsh5sp */ { unsigned int addrs[7][2]={ {0x000000,0xA5000}, {0xFFCE20,0x01000}, {0xFE2CF6,0x4E001}, {0xFEB2C0,0x0A000}, {0xFFAC28,0xC2000}, {0xFF14EA,0xA7001}, {0xFFB440,0x02000}, }; unsigned int xordata[7][8]={ {0xF9,0xE0,0x5D,0xF3,0xEA,0x92,0xBE,0xEF}, {0xC4,0x83,0xA8,0x5F,0x21,0x27,0x64,0xAF}, {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, {0xCB,0x29,0x7D,0x43,0xD2,0x3A,0xC2,0xB4}, {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, }; 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); } void kof2003a_px_decrypt( void ) { int i,j; UINT8 *src = memory_region( REGION_CPU1 ); UINT8 *dst = malloc(0x900000); for(i = 0; i < 0x100000; i++) dst[i] = src[i] ^ 0xFF ^ src[ 0x0FFFE0 + (i % 0x20)]; for(i = 0x100000; i < 0x800000; i++) dst[i] = src[i] ^ 0xFF ^ src[ 0x7FFFE0 + (i % 0x20)]; for(i = 0x100000; i < 0x800000; i += 4) { UINT16 *rom16 = (UINT16*)&dst[i + 1]; *rom16 = (*rom16&0xF00F) | BITSWAP8((*rom16>>4)&0xFF, 1, 0, 3, 2, 5, 4, 7, 6)<<4; } for(i = 0; i < 0x10; i++) { j = (i & 0xf0) + BITSWAP8((i & 0x0f), 7, 6, 5, 4, 0, 1, 2, 3); memcpy(src + i * 0x10000, dst + j * 0x10000, 0x10000); } memcpy(src + 0x100000, src + 0x800000, 0x100000); for(i = 0x100000; i < 0x800000; i += 0x100) { j = (i & 0xf000ff) + ((i & 0x000f00) ^ 0x00800) + (BITSWAP8(((i & 0x0ff000) >> 12), 4, 5, 6, 7, 1, 0, 3, 2) << 12); memcpy(src + i + 0x100000, dst + j, 0x100); } free(dst); } DRIVER_INIT( kof2003a ) { kof2003a_px_decrypt(); neo_pcm2_swap(5); neogeo_fix_bank_type = 2; kof2000_neogeo_gfx_decrypt(0x9d); init_neogeo(); memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, pvc_prot_r); memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, pvc_prot_w); } GAMEB( 2003, kof2003a, kof2003, neogeo, neogeo, neogeo, kof2003a, ROT0, "SNK Playmore", "The King of Fighters 2003 (set 2)", 0 ) /* Encrypted Code & GFX */
rubiocroft Posted November 7, 2006 Posted November 7, 2006 Hey guys.. excuse me if I'm interfering with your talk.. but what the hell means all those commands??? .... I've always seen those things related to roms encrypt or kinda.... but would you explain it to me in a not very confusing way.. --- although I'm not as stupid as I seem .. lol! ---
Ghosty Posted November 8, 2006 Posted November 8, 2006 I LOVE YOU JAMES!!!! I might get back in to compiling MAME because of this! And those commands are to decrypt encrypted roms.
Ghosty Posted November 9, 2006 Posted November 9, 2006 WHAT THE EVIL BUMP?!I'M GONNA KILL RUBIOCROFT!!!
olaf Posted December 19, 2006 Posted December 19, 2006 Is there a list out there somewhere with a list of drivers that aren't included in MAME for legality, etc.?
Robert Posted December 19, 2006 Posted December 19, 2006 Neogeo ones? Anything that was on a real cartridge or pcb is in mame, except for the ones that haven't been found yet.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now