Author Topic: The King of Fighers 2004 Special Edition  (Read 23614 times)

Offline iq_132

  • Administrator
  • *****
  • Posts: 3728
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
The King of Fighers 2004 Special Edition
« on: November 23, 2004, 01:12:29 PM »
These roms will be out very soon :D

Code: [Select]
// The King of Fighters 2004 Special Edition

static struct BurnRomInfo kof2k4seRomDesc[] = {
{"2k4-p1.bin", 0x100000, 0x5f482757, 0x10}, //  0 68K code
{"2k4-p2.bin", 0x400000, 0xe6c50566, 0x10}, //  1
// {"2k4-p2d.bin", 0x400000, 0x698679a7, 0x10},//  1

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

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

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

{"2k4-v1.bin", 0x400000, 0x8991f6e9,    2}, //  12 Sound data
{"2k4-v2.bin", 0x400000, 0x511e4d2f,    2}, //  13
{"2k4-v3.bin", 0x400000, 0x1dd8b53a,    2}, //  14
{"2k4-v4.bin", 0x400000, 0x63bb5462,    2}, //  15
};

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

static void kf2k4seDecrypt() // 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 2004 Special Edition", "Bootleg/Hack of kof2002", "Eolith/Dragon Co.", "Neo Geo", "2002", "kof2002", "neogeo"},
BDF_GAME_WORKING | BDF_BOOTLEG | BDF_CLONE, 2, HARDWARE_SNK_NEOGEO,
NULL, kof2k4seRomInfo, kof2k4seRomName, neogeoInputInfo, neogeoDIPInfo,
kof2k4seInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};


Offline DragonKeeper

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
  • Junior Member
The King of Fighers 2004 Special Edition
« Reply #1 on: November 23, 2004, 10:33:43 PM »
Excellent... I look forward to getting a hold of the roms. :D

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
The King of Fighers 2004 Special Edition
« Reply #2 on: November 23, 2004, 11:59:14 PM »
Yep allready playing it :)
IQ Forum Member

Offline DragonKeeper

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
  • Junior Member
The King of Fighers 2004 Special Edition
« Reply #3 on: November 24, 2004, 01:47:36 AM »
Is it against the rules to ask here?

Offline Xeon

  • Newbies
  • *
  • Posts: 45
  • Karma: +0/-0
  • Member
The King of Fighers 2004 Special Edition
« Reply #4 on: November 24, 2004, 02:01:09 AM »
the patches to get it is already out, its only about 2.5 MB

Offline iq_132

  • Administrator
  • *****
  • Posts: 3728
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
The King of Fighers 2004 Special Edition
« Reply #5 on: November 24, 2004, 03:19:31 AM »
Quote from: DragonKeeper
Is it against the rules to ask here?

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)


Offline Death Metal

  • Member
  • ***
  • Posts: 121
  • Karma: +3/-0
  • Crimson Blade
The King of Fighers 2004 Special Edition
« Reply #6 on: November 24, 2004, 08:42:00 PM »
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.

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
The King of Fighers 2004 Special Edition
« Reply #7 on: November 24, 2004, 08:47:50 PM »
If the characters were changed then it would not be King of fighters anymore.
IQ Forum Member

Offline Death Metal

  • Member
  • ***
  • Posts: 121
  • Karma: +3/-0
  • Crimson Blade
The King of Fighers 2004 Special Edition
« Reply #8 on: November 24, 2004, 10:38:39 PM »
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.

Offline FerchogtX

  • FBNeo Dev
  • ******
  • Posts: 375
  • Karma: +7/-0
  • FB Alpha Team ;)
    • FB Alpha Plus! Web Site
The King of Fighers 2004 Special Edition
« Reply #9 on: November 25, 2004, 12:57:15 AM »
Driver for the 3 P-ROM version:
Code: [Select]
// 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
};
in neo_run.cpp find:
Code: [Select]
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;
}
}
}
add this after (or after the neoPCM2Value init by IQ_132 if you have it)
Code: [Select]
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
}
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
« Last Edit: May 10, 2005, 02:52:11 AM by iq_132 »

Good and evil co-exist because of the balance, lies are not part of it...

FB Alpha Plus! site infos updated, see the latest info clicking on my profile link...

Offline kenjiro-sa

  • New Member
  • *
  • Posts: 2
  • Karma: +0/-0
  • Junior Member
The King of Fighers 2004 Special Edition
« Reply #10 on: November 25, 2004, 02:50:05 PM »
Hi there:

I have try make my driver (because my rom only have 2 p's) i dont know if i need the other p or no but when i try to use the driver posted before here i receive this error:

Guru Meditation #c0000005. 77c17740

And when i compile using my driver the graphics are bad (bad textures or corrupted grapics) im using FBA v0.2.94.98...

Plese can somene make a driver for these version of fba? or make a driver for the roms with only 2p's or pls tell me where can i get the other p or someone can help me plz lol

Thx

Cya later


My driver:


Code: [Select]
// The King of Fighters 2004

static struct BurnRomInfo kof2k4seRomDesc[] = {
{"2k4-p1.bin", 0x100000, 0x5f482757, 0x10}, //  0 68K code
{"2k4-p2.bin", 0x400000, 0xe6c50566, 0x10}, //  1

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

{"2k4-c1.bin", 0x800000, 0x7a050288,    1}, //  2 Sprite data
{"2k4-c2.bin", 0x800000, 0xe924afcf,    1}, //  3
{"2k4-c3.bin", 0x800000, 0x959fad0b,    1}, //  5
{"2k4-c4.bin", 0x800000, 0xefe6a468,    1}, //  6
{"2k4-c5.bin", 0x800000, 0x74bba7c6,    1}, //  7
{"2k4-c6.bin", 0x800000, 0xe20d2216,    1}, //  8
{"2k4-c7.bin", 0x800000, 0xfa705b2b,    1}, //  9
{"2k4-c8.bin", 0x800000, 0x2c912ff9,    1}, //  10

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

{"2k4-v1.bin", 0x400000, 0x8991f6e9,    2}, //  12 Sound data
{"2k4-v2.bin", 0x400000, 0x511e4d2f,    2}, //  13
{"2k4-v3.bin", 0x400000, 0x1dd8b53a,    2}, //  14
{"2k4-v4.bin", 0x400000, 0x63bb5462,    2}, //  15
};

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

static int kof2k4seInit()
{
return NeoInit();
}

struct BurnDriver BurnDrvkof2k4se = {

{"kof2k4se", "The King of Fighters 2004", "None", "SNK Playmore Corporation", "Neo Geo", "2000", NULL, "neogeo"},
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO,
NULL, kof2k4seRomInfo, kof2k4seRomName, neogeoInputInfo, neogeoDIPInfo,
kof2k4seInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
« Last Edit: May 10, 2005, 02:52:58 AM by iq_132 »

Offline Badablek

  • Jr. Member
  • **
  • Posts: 63
  • Karma: +0/-0
  • Member
The King of Fighers 2004 Special Edition
« Reply #11 on: November 25, 2004, 03:01:07 PM »
Your P2 is the encrypted one that need some extra code.......you need the decrypted, or the good initialisation (same as KOF2002 encrypted P)

this is useless :

static int kof2k4seInit()
{
   return NeoInit();
}

just put NeoInit instead of kof2k4seInit

NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
   nNeoScreenWidth, 224, 4, 3
};

(For the decrypted P2 crc32 698679A7)

If you want to use the encrypted one, you can check the initialisation of KOF2002 encrypted



*EDIT*

If you want to "make" the p2d with the p2 as the source :

split the p2 crc32 E6C50566 (encrypted) in 4 (Winsplit is a good choice)

now you have 4x1Mb files, name them 1, 2,3 and 4

1 > crc32 F1885ABE
2 > crc32 ADC6555F
3 > crc32 2C1F7A8C
4 > crc32 64D1B2D9

merge them in this order : 4 3 2 1

DOS command

Code: [Select]

copy /b 4 + 3 + 2 + 1 2k4-p2d.bin


you now have the good decrypted P2

Offline kenjiro-sa

  • New Member
  • *
  • Posts: 2
  • Karma: +0/-0
  • Junior Member
The King of Fighers 2004 Special Edition
« Reply #12 on: November 25, 2004, 03:36:22 PM »
Quote from: Badablek
Your P2 is the encrypted one (I think).......you need the decrypted, or the good initialisation (same as KOF2002 encrypted P)

this is useless :

static int kof2k4seInit()
{
   return NeoInit();
}

just put NeoInit instead of kof2k4seInit

NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
   nNeoScreenWidth, 224, 4, 3
};

(For the decrypted P2 crc32 698679A7)

If you want to use the encrypted one, you can check the initialisation of KOF2002 encrypted



*EDIT*

If you want to "make" the p2d with the p2 as the source :

split the p2 crc32 E6C50566 (encrypted) in 4 (Winsplit is a good choice)

now you have 4x1Mb files, name them 1, 2,3 and 4

1 > crc32 F1885ABE
2 > crc32 ADC6555F
3 > crc32 2C1F7A8C
4 > crc32 64D1B2D9

merge them in this order : 4 3 2 1

DOS command

Code: [Select]

copy /b 4 + 3 + 2 + 1 2k4-p2d.bin


you now have the good decrypted P2



Well i have now the p2 decrypted but still's receiving the same error using the firts driver posted here on the firts page:

Look at my romset...u ll se all its ok so i dont know why i still receiving these error


Offline Badablek

  • Jr. Member
  • **
  • Posts: 63
  • Karma: +0/-0
  • Member
The King of Fighers 2004 Special Edition
« Reply #13 on: November 25, 2004, 04:12:42 PM »
Try this one (fully decrypted, no protection)

Code: [Select]

// The King of Fighters Special Edition 2004

static struct BurnRomInfo kof2k4seRomDesc[] = {
{"2k4-p1.bin", 0x100000, 0x5F482757, 0x10}, //  0 68K code
{"2k4-p2d.bin", 0x400000, 0x698679A7, 0x10}, //  1

{"2k4-s1.bin",  0x020000, 0xA3C9B2D8,    1}, //  2 Text layer tiles

{"2k4-c1d.bin", 0x800000, 0x7A050288,    1}, //  3 Sprite data
{"2k4-c2d.bin", 0x800000, 0xE924AFCF,    1}, //  4 aa82948b
{"2k4-c3d.bin", 0x800000, 0x959FAD0B,    1}, //  5
{"2k4-c4d.bin", 0x800000, 0xEFE6A468,    1}, //  6
{"2k4-c5d.bin", 0x800000, 0x74BBA7C6,    1}, //  7
{"2k4-c6d.bin", 0x800000, 0xE20D2216,    1}, //  8
{"2k4-c7d.bin", 0x800000, 0xFA705B2B,    1}, //  9
{"2k4-c8d.bin", 0x800000, 0x2C912FF9,    1}, //  10

{"2k4-m1d.bin", 0x020000, 0x5A47D9AD, 0x10}, // 11 Z80 code

{"2k4-v1d.bin", 0x400000, 0x8991F6E9,    2}, // 12 Sound data
{"2k4-v2d.bin", 0x400000, 0x511E4D2F,    2}, // 13
{"2k4-v3d.bin", 0x400000, 0x1DD8B53A,    2}, // 14
{"2k4-v4d.bin", 0x400000, 0x63BB5462,    2}, // 15
};

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

struct BurnDriver BurnDrvkof2k4se = {
{"kof2k4se", "The King of Fighters 2004 Special Edition", "KOF2002 hack,

Fully decrypted", "Playmore", "Neo Geo", "2004", NULL, "neogeo"},
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_SRAM,
NULL, kof2k4seRomInfo, kof2k4seRomName, neogeoInputInfo, neogeoDIPInfo,
NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};


This is the one I use, and everything works fine for me

If the Guru meditation is still there, I can't help you as i'm not a programer ^^

ps : do not forget to erase kof2k4se config file before trying a new driver

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
The King of Fighers 2004 Special Edition
« Reply #14 on: November 25, 2004, 09:58:03 PM »
Quote from: kenjiro-sa
Hi there:

I have try make my driver (because my rom only have 2 p's) i dont know if i need the other p or no but when i try to use the driver posted before here i receive this error:

Guru Meditation #c0000005. 77c17740

And when i compile using my driver the graphics are bad (bad textures or corrupted grapics) im using FBA v0.2.94.98...

Plese can somene make a driver for these version of fba? or make a driver for the roms with only 2p's or pls tell me where can i get the other p or someone can help me plz lol

Thx

Cya later


My driver:


Code: [Select]
// The King of Fighters 2004

static struct BurnRomInfo kof2k4seRomDesc[] = {
{"2k4-p1.bin", 0x100000, 0x5f482757, 0x10}, //  0 68K code
{"2k4-p2.bin", 0x400000, 0xe6c50566, 0x10}, //  1

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

{"2k4-c1.bin", 0x800000, 0x7a050288,    1}, //  2 Sprite data
{"2k4-c2.bin", 0x800000, 0xe924afcf,    1}, //  3
{"2k4-c3.bin", 0x800000, 0x959fad0b,    1}, //  5
{"2k4-c4.bin", 0x800000, 0xefe6a468,    1}, //  6
{"2k4-c5.bin", 0x800000, 0x74bba7c6,    1}, //  7
{"2k4-c6.bin", 0x800000, 0xe20d2216,    1}, //  8
{"2k4-c7.bin", 0x800000, 0xfa705b2b,    1}, //  9
{"2k4-c8.bin", 0x800000, 0x2c912ff9,    1}, //  10

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

{"2k4-v1.bin", 0x400000, 0x8991f6e9,    2}, //  12 Sound data
{"2k4-v2.bin", 0x400000, 0x511e4d2f,    2}, //  13
{"2k4-v3.bin", 0x400000, 0x1dd8b53a,    2}, //  14
{"2k4-v4.bin", 0x400000, 0x63bb5462,    2}, //  15
};

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

static int kof2k4seInit()
{
return NeoInit();
}

struct BurnDriver BurnDrvkof2k4se = {

{"kof2k4se", "The King of Fighters 2004", "None", "SNK Playmore Corporation", "Neo Geo", "2000", NULL, "neogeo"},
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO,
NULL, kof2k4seRomInfo, kof2k4seRomName, neogeoInputInfo, neogeoDIPInfo,
kof2k4seInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};

You only need this code added

Code: [Select]
static void kf2k4seDecrypt() // 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();
}
« Last Edit: May 10, 2005, 02:53:41 AM by iq_132 »
IQ Forum Member