Final Burn Neo > FBN Development

The King of Fighers 2004 Special Edition

<< < (2/8) > >>

iq_132:

--- Quote from: DragonKeeper ---Is it against the rules to ask here?
--- End quote ---

It's ok to ask for patches here, but not roms.
You should probably sign up for an account a romshare if you don't already have one.
(they usually have patches or someone that can give you patches for anything there)

Death Metal:
What's with the bizarre-looking stages? There are quite a few pervs at Dragon Co. :p I usually don't like hacks (such as CTHD2003, which was horrible IMO), but I'll be keeping this one; it's hillarious. :p The sad part is that it's still no full hack yet as the characters remain unchanged, except for their color palettes.

James33:
If the characters were changed then it would not be King of fighters anymore.

Death Metal:
I know what you mean, but creativity has never been a bad thing to use. ;) Besides, changing everything else but the characters (including moves, looks, etc.) adds little to no variation at all to the gameplay itself.

FerchogtX:
Driver for the 3 P-ROM version:

--- Code: ---// The King of Fighters Special Edition 2004
// ================================================================================
/* Hack of The KIng of Fighters 2002 like cthd2003, but this cart only have a litle
   disorder in the 68K... p1 is p2 and is scrambled and p2 and p3 are the 1st and
   2nd chunks of p1 respectivectly, only 4 C-ROMs, s1, v-ROMs, m1 and p-ROMs have
   changed, the others come from kof2k2nd set... not really a good hack BTW */
// ================================================================================
static struct BurnRomInfo kof2k4seRomDesc[] = {
{"2k4-p2.bin", 0x080000, 0x21a84084, 0x10}, //  0 68K code
{"2k4-p3.bin", 0x080000, 0xfebb484e, 0x10}, //  1
{"2k4-p1.bin", 0x400000, 0xe6c50566, 0x10}, //  2

{"2k4-s1.bin", 0x020000, 0xa3c9b2d8,    1}, //  3 Text data

{"2k4-c1.bin", 0x800000, 0x7a050288,    1}, //  4 Sprite data
{"2k4-c2.bin", 0x800000, 0xe924afcf,    1}, //  5
{"2k4-c3.bin", 0x800000, 0x959fad0b,    1}, //  6  (Same as kof2k2nd)
{"2k4-c4.bin", 0x800000, 0xefe6a468,    1}, //  7  (Same as kof2k2nd)
{"2k4-c5.bin", 0x800000, 0x74bba7c6,    1}, //  8  (Same as kof2k2nd)
{"2k4-c6.bin", 0x800000, 0xe20d2216,    1}, //  9  (Same as kof2k2nd)
{"2k4-c7.bin", 0x800000, 0xfa705b2b,    1}, //  10 Text data removed
{"2k4-c8.bin", 0x800000, 0x2c912ff9,    1}, //  11 Text data removed

{"2k4-m1.bin", 0x020000, 0x5a47d9ad, 0x10}, //  12 Z80 code

{"2k4-v1.bin", 0x800000, 0xb887d287,    2}, //  13 Sound data
{"2k4-v2.bin", 0x800000, 0x8ad2edbd,    2}, //  14 (seems that the original is watermarked...)
};

STDROMPICKEXT(kof2k4se, kof2k4se, neogeo);
STD_ROM_FN(kof2k4se);

static void kf2k4seDecrypt()
{
// Original code by IQ_132 (http://neosource.1emu.net/)
unsigned char* src = Neo68KROM01+0x100000;
unsigned char* dst = (unsigned char*)malloc(0x400000);
int sec[] = {0x300000,0x200000,0x100000,0x000000};
if (dst)
{
memcpy(dst,src,0x400000);

for(int i = 0; i < 4; ++i)
{
memcpy(src+i*0x100000,dst+sec[i],0x100000);
}
free(dst);
}
}

static int kof2k4seInit()
{
pNeoInitCallback = kf2k4seDecrypt;
return NeoInit();
}

struct BurnDriver BurnDrvkof2k4se = {

{"kof2k4se", "The King of Fighters Special Edition 2004", "Bootleg/Hack of kof2002", "Dragon Co.", "Neo Geo", "2002", "kof2002", "neogeo"},
BDF_GAME_WORKING | BDF_BOOTLEG | BDF_CLONE | BDF_LOCKED, 2, HARDWARE_SNK_NEOGEO,
NULL, kof2k4seRomInfo, kof2k4seRomName, neogeoInputInfo, neogeoDIPInfo,
kof2k4seInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};

--- End code ---
in neo_run.cpp find:

--- Code: --- if (BurnDrvGetHardwareCode() & HARDWARE_SNK_SWAPV) {
for (int i = 0; i < 0x00200000; i++) {
unsigned char n = YM2610ADPCMAROM[i];
YM2610ADPCMAROM[i] = YM2610ADPCMAROM[0x00200000 + i];
YM2610ADPCMAROM[0x00200000 + i] = n;
}
}
}

--- End code ---
add this after (or after the neoPCM2Value init by IQ_132 if you have it)

--- Code: --- if (!strcmp(BurnDrvText(0), "kof2k4se")) {
// load the roms in the correct order
BurnLoadRom(YM2610ADPCMAROM+0x000000, 14, 1); // V2->V1
BurnLoadRom(YM2610ADPCMAROM+0x800000, 13, 1); // V1->V2
}

--- End code ---
I don't know if this is corect for this P-ROMs, I'm loading them like a p1 rom... but maybe this is not what the protection chip does...
See ya!!!!! :D

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version