Welcome!
Final Burn Neo => FBN Development => Topic started by: KOF2112 on November 01, 2006, 11:34:01 PM
-
:confused:
cthd2k3a Uses MAME PLUS code to play the picture on FBA is colored
// Crouching Tiger Hidden Dragon 2003 (bootleg / hack, set 2)
static struct BurnRomInfo cthd2k3aRomDesc[] = {
{ "5003-p1a.bin", 0x100000, 0x1185FE39, 1 | BRF_ESS | BRF_PRG }, // 0 68K code (unprotected)
{ "5003-p2a.bin", 0x400000, 0xEA71FAF7, 1 | BRF_ESS | BRF_PRG }, // 1
{ "5003-s1a.bin", 0x020000, 0x174CCFFD, 2 | BRF_GRA }, // 2 Text layer tiles
{ "5003-c1a.bin", 0x800000, 0xDC90C563, 3 | BRF_GRA }, // 3 Sprite data
{ "5003-c2a.bin", 0x800000, 0x7B08D331, 3 | BRF_GRA }, // 4
{ "5003-c3.bin", 0x800000, 0xAC4AFF71, 3 | BRF_GRA }, // 5
{ "5003-c4.bin", 0x800000, 0xAFEF5D66, 3 | BRF_GRA }, // 6
{ "5003-c5.bin", 0x800000, 0xC7C1AE50, 3 | BRF_GRA }, // 7
{ "5003-c6.bin", 0x800000, 0x613197F9, 3 | BRF_GRA }, // 8
{ "5003-c7a.bin", 0x800000, 0xAD2D72B3, 3 | BRF_GRA }, // 9
{ "5003-c8a.bin", 0x800000, 0x8C3FC1B5, 3 | BRF_GRA }, // 10
{ "5003-m1a.bin", 0x020000, 0xA37CC447, 4 | BRF_ESS | BRF_PRG }, // 11 Z80 code
{ "262-v1.bin", 0x400000, 0x83D49ECF, 5 | BRF_SND }, // 12 Sound data
{ "5003-v2a.bin", 0x400000, 0x2B498449, 5 | BRF_SND }, // 13
{ "262-v3.bin", 0x400000, 0x2AE38DBE, 5 | BRF_SND }, // 14
{ "262-v4.bin", 0x400000, 0x26EC4DD9, 5 | BRF_SND }, // 15
};
STDROMPICKEXT(cthd2k3a, cthd2k3a, neogeo);
STD_ROM_FN(cthd2k3a);
static int cthd2k3aInit()
{
nNeoTextROMFixType = 4;
pNeoInitCallback = cthd2k3aDecrypt;
return NeoInit();
}
struct BurnDriver BurnDrvcthd2k3a = {
"cthd2k3a", "cthd2003", "neogeo", "2003",
"Crouching Tiger Hidden Dragon 2003 (set 2, bootleg)\0", "Alternate hack of \"The King of Fighters 2001\"", "Phenixsoft", "Neo Geo",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_SNK_NEOGEO,
NULL, cthd2k3aRomInfo, cthd2k3aRomName, neogeoInputInfo, neogeoDIPInfo,
cthd2k3aInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
void cthd2k3aDecrypt()
{
unsigned char 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
};
unsigned char *src = Neo68KROM;
unsigned char *dst = (unsigned char*)malloc(0x500000);
if (dst)
{
memcpy (dst, src, 0x500000);
for (int i = 0; i < 0x500000 / 0x20000; i++)
{
memcpy (src + i * 0x20000, dst + nBank[i] * 0x20000, 0x20000);
}
free (dst);
}
cthd2003_patches();
DoPerm(0);
}
-
cthd2003_patches();
That's not needed.
-
Thanks IQ_132
Now played is does not have the sound :confused:
-
Add this:
void cthd2k3a_m1_descramble()
{
extern unsigned char* NeoZ80ROM;
for (int i = 0; i < 0x08000; i++) {
int n = NeoZ80ROM[i + 0x10000];
NeoZ80ROM[i + 0x10000] = NeoZ80ROM[i + 0x08000];
NeoZ80ROM[i + 0x08000] = n;
}
}
-
:biggrin:
Thanks IQ_132
cthd2003 AES Source
// Fix for AES mode (stop loop that triggers watchdog)
*((unsigned short*)(Neo68KROM + 0xA2B7E)) = 0x4E71;
Uses the AES Japan language to play the pressed key not to be useful
-
If you want be allowed to play in AES mode you can use this: (patch by IQ_132)
// Game sets itself to MVS & English mode, patch this out
*((unsigned short*)(Neo68KROM + 0xED00E)) = 0x4E71;
*((unsigned short*)(Neo68KROM + 0xED394)) = 0x4E71;
// Fix for AES mode (stop loop that triggers Watchdog)
*((unsigned short*)(Neo68KROM + 0xA2B7E)) = 0x4E71;
it works with MAME, it should work with FBA, but AES menu is like the one of kof2001 original mvs dump => not very "clean" ^^
-
:biggrin:
Thanks Nsk Your help
You are Houba! 32K Plus! Author?
-
Yes I am :rolleyes:
I expect somebody like it, I try to do what I can, and I found here many help (I love this forum :smilie:)
(I have many names on the net :biggrin:)
-
kof2112 did you receive my message?
(I answered your request)
-
:biggrin:
message Receives. Thank provides and helps ^_^