James Posted May 3, 2005 Author Share 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") || Link to comment Share on other sites More sharing options...
fanam Posted September 11, 2005 Share 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 Link to comment Share on other sites More sharing options...
Agozer Posted September 11, 2005 Share 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. Link to comment Share on other sites More sharing options...
James Posted December 17, 2005 Author Share Posted December 17, 2005 Kof2003, svcchaos, svchaosa drivers have been modified. I am sure they should compile without errors now. Link to comment Share on other sites More sharing options...
James Posted December 21, 2005 Author Share 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 */ Link to comment Share on other sites More sharing options...
rubiocroft Posted November 7, 2006 Share 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! --- Link to comment Share on other sites More sharing options...
Ghosty Posted November 8, 2006 Share 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. Link to comment Share on other sites More sharing options...
iq_132 Posted November 8, 2006 Share Posted November 8, 2006 Lol, James' post was almost a year ago! Link to comment Share on other sites More sharing options...
Ghosty Posted November 9, 2006 Share Posted November 9, 2006 WHAT THE EVIL BUMP?!I'M GONNA KILL RUBIOCROFT!!! Link to comment Share on other sites More sharing options...
olaf Posted December 19, 2006 Share 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.? Link to comment Share on other sites More sharing options...
Robert Posted December 19, 2006 Share 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. Link to comment Share on other sites More sharing options...
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