Author Topic: The King of Fighters 10th Anniversary 2005 Unique (kf2k5uni, Kawaks set)  (Read 7397 times)

Offline iq_132

  • Administrator
  • *****
  • Posts: 3728
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Code: [Select]
// The King of Fighters 10th Anniversary 2005 Unique (hack) (Bootleg)

static struct BurnRomInfo kf2k5uniRomDesc[] = {
{ "5006-p2a.bin", 0x400000, 0xced883a2, 1 | BRF_ESS | BRF_PRG }, //  0 68K code
{ "5006-p1.bin",  0x400000, 0x72c39c46, 1 | BRF_ESS | BRF_PRG }, //  1

{ "5006-s1.bin",  0x020000, 0x91f8c544,    2 | BRF_GRA }, //  2 Text data

{ "kf10-c1a.bin", 0x400000, 0x3BBC0364, 3 | BRF_GRA }, //  3 Sprite data
{ "kf10-c2a.bin", 0x400000, 0x91230075, 3 | BRF_GRA }, //  4
{ "kf10-c1b.bin", 0x400000, 0xB5ABFC28, 3 | BRF_GRA }, //  5
{ "kf10-c2b.bin", 0x400000, 0x6CC4C6E1, 3 | BRF_GRA }, //  6
{ "kf10-c3a.bin", 0x400000, 0x5B3D4A16, 3 | BRF_GRA }, //  7
{ "kf10-c4a.bin", 0x400000, 0xC6F3419B, 3 | BRF_GRA }, //  8
{ "kf10-c3b.bin", 0x400000, 0x9D2BBA19, 3 | BRF_GRA }, //  9
{ "kf10-c4b.bin", 0x400000, 0x5A4050CB, 3 | BRF_GRA }, //  10
{ "kf10-c5a.bin", 0x400000, 0xA289D1E1, 3 | BRF_GRA }, //  11
{ "kf10-c6a.bin", 0x400000, 0xE6494B5D, 3 | BRF_GRA }, //  12
{ "kf10-c5b.bin", 0x400000, 0x404FFF02, 3 | BRF_GRA }, //  13
{ "kf10-c6b.bin", 0x400000, 0xF2CCFC9E, 3 | BRF_GRA }, //  14
{ "kf10-c7a.bin", 0x400000, 0xBE79C5A8, 3 | BRF_GRA }, //  15
{ "kf10-c8a.bin", 0x400000, 0xA5952CA4, 3 | BRF_GRA }, //  16
{ "kf10-c7b.bin", 0x400000, 0x3FDB3542, 3 | BRF_GRA }, //  17
{ "kf10-c8b.bin", 0x400000, 0x661B7A52, 3 | BRF_GRA }, //  18

{ "5006-m1.bin",  0x020000, 0x9050bfe7, 4 | BRF_ESS | BRF_PRG }, //  19 Z80 code

{ "kf10-v1.bin",  0x800000, 0x0FC9A58D, 5 | BRF_SND }, //  20 Sound data (decrypted kof2002 samples)
{ "kf10-v2.bin",  0x800000, 0xB8C475A4, 5 | BRF_SND }, //  21

};

STDROMPICKEXT(kf2k5uni, kf2k5uni, neogeo);
STD_ROM_FN(kf2k5uni);

static void kf2k5uni_decrypt()
{
int i, j;
unsigned char *src = Neo68KROM;
unsigned char *dst = (unsigned char*)malloc(0x80);
if (dst) {
for (i = 0; i < 0x800000; i+=0x80) {
for (j = 0; j < 0x80; j+=2) {
int ofst = BITSWAP08(j, 0, 3, 4, 5, 6, 1, 2, 7);
memcpy(dst + j, src + i + ofst, 2);
}
memcpy(src + i, dst, 0x80);
}
}
free(dst);

memcpy(src, src + 0x600000, 0x100000); // Seems to be the same as kof10th
//memcpy(src, src + 0x700000, 0x100000);

extern unsigned char* NeoZ80ROM;

for (i = 0; i < 0x20000; i++)
{
NeoTextROM[0x20000 + i] = BITSWAP08(NeoTextROM[0x20000 + i], 4, 5, 6, 7, 0, 1, 2, 3);
NeoZ80ROM[i] = BITSWAP08(NeoZ80ROM[i], 4, 5, 6, 7, 0, 1, 2, 3);
}
}

static int kf2k5uniInit()
{
pNeoInitCallback = kf2k5uni_decrypt;
return NeoInit();
}

struct BurnDriver BurnDrvkf2k5uni = {
"kf2k5uni", "kof10th", "neogeo", "2002",
"The King of Fighters 10th Anniversary 2005 Unique (Kawaks, hack)\0", NULL, "SNK Playmore Corporation", "Neo Geo",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_BOOTLEG | BDF_CLONE, 2, HARDWARE_SNK_NEOGEO,
NULL, kf2k5uniRomInfo, kf2k5uniRomName, neogeoInputInfo, neogeoDIPInfo,
kf2k5uniInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};