Final Burn Neo > FBN Development

Helps me MAME SRC Modifies FBA SRC

(1/4) > >>

KOF2112:
The hope helps me to alter to this  MAME SRC Modifies FBA SRC

Thanks


--- Code: ---ROM_START( wofsjb )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )      /* 68000 code */
ROM_LOAD16_BYTE( "c-d140.040",  0x000000, 0x80000, CRC(e6d933a6) )
ROM_LOAD16_BYTE( "a-0050.040",  0x000001, 0x80000, CRC(403eaead) )

ROM_REGION( 0x400000, REGION_GFX1, 0 )
ROMX_LOAD( "tk2_gfx1.rom",   0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx3.rom",   0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx2.rom",   0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx4.rom",   0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx5.rom",   0x200000, 0x80000, CRC(291f0f0b) SHA1(094baf0f960f25fc2525b3b1cc378a49d9a0955d) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx7.rom",   0x200002, 0x80000, CRC(3edeb949) SHA1(c155698dd9ee9eb24bbc97a21118ef2e897ea82f) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx6.rom",   0x200004, 0x80000, CRC(1abd14d6) SHA1(dffff3126f102b4ec028a81405fc5b9bd7bb65b3) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2_gfx8.rom",   0x200006, 0x80000, CRC(b27948e3) SHA1(870d5d23f56798831c641e877ea94217058b2ddc) , ROM_GROUPWORD | ROM_SKIP(6) )

ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */

ROM_REGION( 0x28000, REGION_CPU2, 0 ) /* QSound Z80 code + space for decrypted opcodes */
ROM_LOAD( "tk2_qa.rom",     0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
ROM_CONTINUE(               0x10000, 0x18000 )

ROM_REGION( 0x200000, REGION_SOUND1, 0 ) /* QSound samples */
ROM_LOAD( "tk2_q1.rom",     0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
ROM_LOAD( "tk2_q2.rom",     0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
ROM_LOAD( "tk2_q3.rom",     0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
ROM_LOAD( "tk2_q4.rom",     0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
ROM_END

static DRIVER_INIT( wofsjb )
{
UINT8 *mem8 = memory_region(REGION_CPU1);
// Patch Q sound protection? check
mem8[0x5A1A] = 0x00;
mem8[0x5A1B] = 0x67;
mem8[0x5A1C] = 0x56;
mem8[0x5A1D] = 0x00;
mem8[0x5A1E] = 0x7C;
mem8[0x5A1F] = 0x20;
mem8[0x5A20] = 0xF1;
mem8[0x5A21] = 0x00;
mem8[0x5A22] = 0x00;
mem8[0x5A23] = 0x80;
mem8[0x5A24] = 0x28;
mem8[0x5A25] = 0x4A;
mem8[0x5A26] = 0x1F;
mem8[0x5A27] = 0x00;
mem8[0x5A28] = 0x00;
mem8[0x5A29] = 0x6A;
mem8[0x5A40] = 0x5C;
mem8[0x5A41] = 0x11;
mem8[0x5A42] = 0x01;
mem8[0x5A43] = 0x00;
mem8[0x5A44] = 0x5C;
mem8[0x5A45] = 0x11;
mem8[0x5A46] = 0x03;
mem8[0x5A47] = 0x00;
mem8[0x5A4A] = 0x07;
mem8[0x5A4B] = 0x00;
mem8[0x5A4C] = 0x5C;
mem8[0x5A4D] = 0x11;
mem8[0x5A4E] = 0x09;
mem8[0x5A4F] = 0x00;
mem8[0x5A50] = 0x5C;
mem8[0x5A51] = 0x31;
mem8[0x5A52] = 0x0C;
mem8[0x5A53] = 0x00;
mem8[0x5A54] = 0x5C;
mem8[0x5A55] = 0x11;
mem8[0x5A56] = 0x0F;
mem8[0x5A57] = 0x00;
mem8[0x5A58] = 0x5C;
mem8[0x5A59] = 0x11;
mem8[0x72A6] = 0x71;
mem8[0x72A7] = 0x4E;
mem8[0x72A8] = 0x71;
mem8[0x72A9] = 0x4E;
mem8[0x72AA] = 0x71;
mem8[0x72AB] = 0x4E;
mem8[0x72AC] = 0x71;
mem8[0x72AD] = 0x4E;
mem8[0x72AE] = 0x71;
mem8[0x72AF] = 0x4E;
mem8[0x72B0] = 0x71;
mem8[0x72B1] = 0x4E;
mem8[0x72B2] = 0x39;
mem8[0x72B3] = 0x30;
mem8[0x72B4] = 0xF1;
mem8[0x72B5] = 0x00;
mem8[0x72B6] = 0xFE;
mem8[0x72B7] = 0x9F;
mem8[0x72B8] = 0x00;
mem8[0x72B9] = 0x0C;
wof_decode();
init_cps1();
}

GAME( 1995, wofsjb,   wof,      qsound,   wof,      wofsjb,   ROT0,   "hack",  "Holy Sword Three Kingdoms (set 3)", GAME_UNEMULATED_PROTECTION )

--- End code ---

iq_132:
Here's what I had for this game:


--- Code: ---//==============================
// Holy Sword Three Kingdoms (set 3) (Asia)
//==============================

static int WofsjbInit()
{
  int nRet=0; unsigned char *pqs=NULL;
  Cps=1; Cps1Qs=1;
  nCpsRomLen= 2*0x080000;
  nCpsCodeLen=0; // not encrypted
  nCpsGfxLen= 8*0x080000;
  nCpsZRomLen= 2*0x020000;
  nCpsQSamLen= 4*0x080000;
  nRet=CpsInit(); if (nRet!=0) return 1;

  // Load program roms
  nRet=BurnLoadRom(CpsRom+0x000001,0,2); if (nRet!=0) return 1;
  nRet=BurnLoadRom(CpsRom+0x000000,1,2); if (nRet!=0) return 1;

  // GFX can be nearly 100% by patching in 0x5B6-0x6BA

  // QSound Fixes
  *((unsigned short*)(CpsRom + 0x5A1A)) = 0x6700;
  *((unsigned short*)(CpsRom + 0x5A1C)) = 0x0056;
  *((unsigned short*)(CpsRom + 0x5A1E)) = 0x207C;
  *((unsigned short*)(CpsRom + 0x5A20)) = 0x00F1;
  *((unsigned short*)(CpsRom + 0x5A22)) = 0x8000;
  *((unsigned short*)(CpsRom + 0x5A24)) = 0x4A28;
  *((unsigned short*)(CpsRom + 0x5A26)) = 0x001F;
  *((unsigned short*)(CpsRom + 0x5A28)) = 0x6A00;
  *((unsigned short*)(CpsRom + 0x5A40)) = 0x115C;
  *((unsigned short*)(CpsRom + 0x5A42)) = 0x0001;
  *((unsigned short*)(CpsRom + 0x5A44)) = 0x115C;
  *((unsigned short*)(CpsRom + 0x5A46)) = 0x0003;
  *((unsigned short*)(CpsRom + 0x5A4A)) = 0x0007;
  *((unsigned short*)(CpsRom + 0x5A4C)) = 0x115C;
  *((unsigned short*)(CpsRom + 0x5A4E)) = 0x0009;
  *((unsigned short*)(CpsRom + 0x5A50)) = 0x315C;
  *((unsigned short*)(CpsRom + 0x5A52)) = 0x000C;
  *((unsigned short*)(CpsRom + 0x5A54)) = 0x115C;
  *((unsigned short*)(CpsRom + 0x5A56)) = 0x000F;
  *((unsigned short*)(CpsRom + 0x5A58)) = 0x115C;
  *((unsigned short*)(CpsRom + 0x72A6)) = 0x4E71;
  *((unsigned short*)(CpsRom + 0x72A8)) = 0x4E71;
  *((unsigned short*)(CpsRom + 0x72AA)) = 0x4E71;
  *((unsigned short*)(CpsRom + 0x72AC)) = 0x4E71;
  *((unsigned short*)(CpsRom + 0x72AE)) = 0x4E71;
  *((unsigned short*)(CpsRom + 0x72B0)) = 0x4E71;
  *((unsigned short*)(CpsRom + 0x72B2)) = 0x3039;
  *((unsigned short*)(CpsRom + 0x72B4)) = 0x00F1;
  *((unsigned short*)(CpsRom + 0x72B6)) = 0x9FFE;
  *((unsigned short*)(CpsRom + 0x72B8)) = 0x0C00;

  // Load graphics roms
  CpsLoadTiles(CpsGfx         , 2);
  CpsLoadTiles(CpsGfx+0x200000, 6);

  nCpsLcReg=0x66; // Layer control register is at 0x66
  CpsLayEn[1]=0x02;
  CpsLayEn[2]=0x04;
  CpsLayEn[3]=0x08;

  // Start of Board ID improvments by KEV. 0x00,0x0000
  CpsBID[0]=0x00;
  CpsBID[1]=0x00;
  CpsBID[2]=0x00;
  //end

  MaskAddr[0]=0x68;
  MaskAddr[1]=0x6a;
  MaskAddr[2]=0x6c;
  MaskAddr[3]=0x6e;

  nRet=BurnLoadRom(CpsZRom,10,1);
  wof_decode();

  pqs=(unsigned char *)CpsQSam;
  nRet=BurnLoadRom(pqs         ,11,1);
  nRet=BurnLoadRom(pqs+0x080000,12,1);
  nRet=BurnLoadRom(pqs+0x100000,13,1);
  nRet=BurnLoadRom(pqs+0x180000,14,1);


  nRet=CpsRunInit(); if (nRet!=0) return 1;
  // Ready to go
  return 0;
}

//==========================================
// Holy Sword Three Kingdoms (set 3) (Asia)
//==========================================

// Rom information
static struct BurnRomInfo wofsjbRomDesc[] = {
{ "c-d140.040",    0x80000, 0xe6d933a6, BRF_ESS | BRF_PRG }, // 0 even 68000 code
{ "a-0050.040",    0x80000, 0x403eaead, BRF_ESS | BRF_PRG }, // 1 odd

  // graphics:
{ "tk2_gfx1.rom",  0x80000, 0x0d9cb9bf, BRF_GRA }, // 2
{ "tk2_gfx3.rom",  0x80000, 0x45227027, BRF_GRA },
{ "tk2_gfx2.rom",  0x80000, 0xc5ca2460, BRF_GRA },
{ "tk2_gfx4.rom",  0x80000, 0xe349551c, BRF_GRA },
{ "tk2_gfx5.rom",  0x80000, 0x291f0f0b, BRF_GRA }, // 6
{ "tk2_gfx7.rom",  0x80000, 0x3edeb949, BRF_GRA },
{ "tk2_gfx6.rom",  0x80000, 0x1abd14d6, BRF_GRA },
{ "tk2_gfx8.rom",  0x80000, 0xb27948e3, BRF_GRA },

  // z80 rom
{ "tk2_qa.rom",    0x20000, 0xc9183a0d, BRF_SND }, // 10

  // samples
{ "tk2_q1.rom",    0x80000, 0x611268cf, BRF_SND },
{ "tk2_q2.rom",    0x80000, 0x20f55ca9, BRF_SND },
{ "tk2_q3.rom",    0x80000, 0xbfcf6f52, BRF_SND },
{ "tk2_q4.rom",    0x80000, 0x36642e88, BRF_SND },
};


// Make The RomInfo/Name functions for the game
STD_ROM_PICK(wofsjb) STD_ROM_FN(wofsjb)

struct BurnDriver BurnDrvCpswofsjb = {
"wofsjb", "wof", NULL, "1992",
"Holy Sword Three Kingdoms (set 3)\0", "GFX not 100%, Hack?", "Capcom", "CPS1 / QSound",
L"\u4E09\u56FD\u5FD7II (921005 Asia)\0Sangokushi II\0", NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE,3,HARDWARE_CAPCOM_CPS1_QSOUND,
NULL,wofsjbRomInfo,wofsjbRomName,DrvInputInfo, wofDIPInfo,
WofsjbInit,DrvExit,Cps1Frame,CpsRedraw,CpsAreaScan,
&CpsRecalcPal,384,224,4,3
};

--- End code ---

KOF2112:
 :biggrin:Thanks You iq_132

KOF2112:
 :wink:
The hope helps me to alter to this  MAME SRC Modifies FBA SRC

Thanks

--- Quote ---ROM_START( cthd2k3a ) /* Protected hack/bootleg of kof2001 Phenixsoft */
   ROM_REGION( 0x500000, REGION_CPU1, 0 )
   ROM_LOAD16_WORD_SWAP( "5003-p1a.bin", 0x000000, 0x100000, CRC(1185fe39) SHA1(f7ce0878180858c359f125990fd750ec846f42dd) )
   ROM_LOAD16_WORD_SWAP( "5003-p2a.bin", 0x100000, 0x400000, CRC(ea71faf7) SHA1(5d1bb12d04a5e2db6f48b59cae5f9b02acaeb976) )

   NEO_SFIX_128K( "5003-s1a.bin", CRC(174ccffd) SHA1(8067e4d79ac91f5c18855793840f41c30825cbb4) )

   NEO_BIOS_SOUND_128K( "5003-m1a.bin", CRC(a37cc447) SHA1(969375ca70cf9140afaf833378716cc43e25c5c6) )

   /* sound roms are identical to kof2001 */
   ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
   ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
   ROM_LOAD( "5003-v2a.bin", 0x400000, 0x400000, CRC(2b498449) SHA1(8e2b01dd17dbf4498a197bda8ce3e08cdf785f12) )
   ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
   ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

   NO_DELTAT_REGION

   ROM_REGION( 0x4000000, REGION_GFX3, 0 )
   ROM_LOAD16_BYTE( "5003-c1a.bin", 0x0000000, 0x800000, CRC(dc90c563) SHA1(a79f54f754a1bd0d603f70af6b335e839b5e20d1) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "5003-c2a.bin", 0x0000001, 0x800000, CRC(7b08d331) SHA1(40e259cbc888184aa0f8102d00098f37f3005ce3) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "5003-c3.bin",  0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "5003-c4.bin",  0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "5003-c5.bin",  0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "5003-c6.bin",  0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "5003-c7a.bin", 0x3000000, 0x800000, CRC(ad2d72b3) SHA1(6396ba51f863019059ce3e37dab20a60d3a8c549) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "5003-c8a.bin", 0x3000001, 0x800000, CRC(8c3fc1b5) SHA1(81b6df7c937915c5b971bde20786aece02404a05) ) /* Plane 2,3 */
ROM_END

--- End quote ---

DRIVER_INIT( cthd2k3a )
{
   cthd2k3a_px_decrypt();
   decrypt_cthd2003();
    init_neogeo();
}

--- Quote ---void cthd2k3a_px_decrypt(void)
{
   INT32 i;
   UINT8 nBank[] = {
      0x06, 0x02, 0x04, 0x05, 0x01, 0x03, 0x00, 0x07,
      0x27, 0x0E, 0x1C, 0x15, 0x1B, 0x17, 0x0A, 0x0F,
      0x16, 0x14, 0x23, 0x0B, 0x22, 0x26, 0x08, 0x24,
      0x21, 0x13, 0x1A, 0x0C, 0x19, 0x1D, 0x25, 0x10,
      0x09, 0x20, 0x18, 0x1F, 0x1E, 0x12, 0x0D, 0x11
   };

   UINT8 *src = (UINT8*)memory_region(REGION_CPU1);
   UINT8 *dst = (UINT8*)malloc(0x500000);

   if (dst)
   {
      for (i = 0; i < 0x500000 / 0x20000; i++)
      {
         memcpy (dst + i * 0x20000, src + nBank * 0x20000, 0x20000);
      }
      memcpy (src, dst, 0x500000);
      free (dst);
   }
}

void decrypt_cthd2003(void)
{
   UINT8 *romdata = memory_region(REGION_GFX1);
   UINT8*tmp = (UINT8*)malloc(8*128*128);

   memcpy(tmp+8*0*128, romdata+8*0*128, 8*32*128);
   memcpy(tmp+8*32*128, romdata+8*64*128, 8*32*128);
   memcpy(tmp+8*64*128, romdata+8*32*128, 8*32*128);
   memcpy(tmp+8*96*128, romdata+8*96*128, 8*32*128);
   memcpy(romdata, tmp, 8*128*128);

   romdata = memory_region(REGION_CPU2)+0x10000;
    memcpy(tmp+8*0*128, romdata+8*0*128, 8*32*128);
   memcpy(tmp+8*32*128, romdata+8*64*128, 8*32*128);
    memcpy(tmp+8*64*128, romdata+8*32*128, 8*32*128);
   memcpy(tmp+8*96*128, romdata+8*96*128, 8*32*128);
   memcpy(romdata, tmp, 8*128*128);

    free(tmp);

   memcpy(romdata-0x10000,romdata,0x10000);;

   cthd2003_c(0);
}

--- End quote ---
GAMEB( 2003, cthd2k3a, kof2001,  neogeo, neogeo, neogeo,  cthd2k3a, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 set 2, bootleg)", 0 ) /* Protected Hack / Bootleg of kof2001 */


KOF2112:
The hope helps me to alter to this  MAME SRC Modifies FBA SRC

Thanks


--- Quote ---ROM_START( samsho5b )
   ROM_REGION( 0x800000, REGION_CPU1, 0 )
   ROM_LOAD16_WORD_SWAP( "270-p2b.bin", 0x000000, 0x400000, CRC(5023067f) SHA1(b1d682fa7d158f19664356a919da6572e8cfeee0) )
   ROM_LOAD16_WORD_SWAP( "270-p1b.bin", 0x400000, 0x400000, CRC(b6cbe386) SHA1(99c2407361116c2b2c5fe72df53e05c5f99163c1) )

   /* 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) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

   ROM_REGION( 0x80000, REGION_USER4, 0 )
   /* Encrypted, we load it here for reference and replace with decrypted ROM */
   ROM_LOAD( "270-m1.bin", 0x00000, 0x40000, CRC(e4a5ab0c) SHA1(dcf74be51593a9c96607f3f776a1210b43df4ac9) )
   /* Decrypted */
   NEO_BIOS_SOUND_256K( "270-m1_decrypted.bin", CRC(e94a5e2b) SHA1(53ef2ad6583060af69fdde73576e09ba88affa55) ) /* not a 100% match for encrypted version */

   ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
   /* Encrypted */
   ROM_LOAD( "270-v1.bin", 0x000000, 0x800000, CRC(62e434eb) SHA1(1985f5e88f8e866f9683b6cea901aa28c04b80bf) )
   ROM_LOAD( "270-v2.bin", 0x800000, 0x800000, CRC(180f3c9a) SHA1(6d7dc2605ead6e78704efa127e7e0dfe621e2c54) )

   NO_DELTAT_REGION

   ROM_REGION( 0x4000000, REGION_GFX3, 0 )
   /* Encrypted */
   ROM_LOAD16_BYTE( "270-c1.bin", 0x0000000, 0x800000, CRC(14ffffac) SHA1(2ccebfdd0c7907679ae95bf6eca85b8d322441e2) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "270-c2.bin", 0x0000001, 0x800000, CRC(401f7299) SHA1(94e48cdf1682b1250f53c59f3f71d995e928d17b) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "270-c3.bin", 0x1000000, 0x800000, CRC(838f0260) SHA1(d5c8d3c6e7221d04e0b20882a847752e5ba95635) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "270-c4.bin", 0x1000001, 0x800000, CRC(041560a5) SHA1(d165e533699f15b1e079c82f97db3542b3a7dd66) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "270-c5.bin", 0x2000000, 0x800000, CRC(bd30b52d) SHA1(9f8282e684415b4045218cf764ef7d75a70e3240) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "270-c6.bin", 0x2000001, 0x800000, CRC(86a69c70) SHA1(526732cdb408cf680af9da39057bce6a4dfb5e13) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "270-c7.bin", 0x3000000, 0x800000, CRC(d28fbc3c) SHA1(a82a6ba6760fad14d9309f9147cb7d80bd6f70fc) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "270-c8.bin", 0x3000001, 0x800000, CRC(02c530a6) SHA1(7a3fafa6075506c6ef78cc4ec2cb72118ec83cb9) ) /* Plane 2,3 */
ROM_END

--- End quote ---

DRIVER_INIT( samsho5b )
{
   neo_pcm2_swap(4);
   neogeo_fix_bank_type = 1;
   kof2000_neogeo_gfx_decrypt(0x0f);
   samsh5bl_px_decrypt();
   init_neogeo();
}


--- Quote ---/* samsho5bl */

void samsh5bl_px_decrypt( void )
{
   int px_size = memory_region_length( REGION_CPU1 );
   UINT8 *rom = memory_region( REGION_CPU1 );
   UINT8 *buf = malloc( px_size );
   int ofst;
   int i;

   memcpy( buf, rom, px_size );

   for( i = 0; i < px_size / 2; i++ ){
      ofst = BITSWAP8( (i & 0x000ff), 7, 6, 5, 4, 3, 0, 1, 2 );
      ofst += (i & 0xfffff00);
      ofst ^= 0x060005;

      memcpy( &rom[ i * 2 ], &buf[ ofst * 2 ], 0x02 );
   }

   memcpy( buf, rom, px_size );

   memcpy( &rom[ 0x000000 ], &buf[ 0x700000 ], 0x100000 );
   memcpy( &rom[ 0x100000 ], &buf[ 0x000000 ], 0x700000 );

   free( buf );
}

--- End quote ---

GAMEB( 2003, samsho5b, samsho5,  neogeo, neogeo, neogeo,  samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", 0 ) // different program scrambling

Navigation

[0] Message Index

[#] Next page

Go to full version