Jump to content

Recommended Posts

Posted

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") ||

  • 4 months later...
  • Replies 44
  • Created
  • Last Reply

Top Posters In This Topic

Posted

sorry to disturb you with this stupid question

but can someone post the editet files in an zip archiev...

iv tried to patch my source, but it seems that im to dumb :P

 

whould be nice if someone can do it for me

cya

Posted
sorry to disturb you with this stupid question

but can someone post the editet files in an zip archiev...

iv tried to patch my source, but it seems that im to dumb :P

 

whould be nice if someone can do it for me

cya

No, 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.

  • 3 months later...
Posted

Kof2003, svcchaos, svchaosa drivers have been modified. I am sure they should compile without errors now.

Posted

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 */

  • 10 months later...
Posted

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! ---

Posted

I LOVE YOU JAMES!!!! I might get back in to compiling MAME because of this!

 

And those commands are to decrypt encrypted roms.

Posted

Lol, James' post was almost a year ago!

Posted

WHAT THE EVIL BUMP?!

I'M GONNA KILL RUBIOCROFT!!!

  • 1 month later...
Posted

Neogeo ones? Anything that was on a real cartridge or pcb is in mame, except for the ones that haven't been found yet.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...