Final Burn Neo > FBN Development

Driver: Crouching Tiger Hidden Dragon 2003 Super Plus! (hack)

(1/3) > >>

FerchogtX:
Hi there!!! here the driver for the game (comes from RomShare):
in d_neogeo.cpp:

--- Code: ---// Crouching Tiger Hidden Dragon 2003 Super Plus (hack)

static struct BurnRomInfo ct2003spRomDesc[] = {
{"5003-p1sp.bin", 0x100000, 0x96ee06bc, 0x10}, // 0 68K code
{"5003-p2sp.bin", 0x200000, 0x2332ee0c, 0x10}, // 1
{"5003-p3sp.bin", 0x200000, 0x017919aa, 0x10}, // 2

{"5003-s1sp.bin", 0x040000, 0x6c355ab4,   1}, // 3 Text layer tiles

{"5003-c1.bin",   0x800000, 0x68f54b67,   1}, // 4 Sprite data
{"5003-c2.bin",   0x800000, 0x2f8849d5,   1}, // 5
{"5003-c3.bin",   0x800000, 0xac4aff71,   1}, // 6
{"5003-c4.bin",   0x800000, 0xafef5d66,   1}, // 7
{"5003-c5.bin",   0x800000, 0xc7c1ae50,   1}, // 8
{"5003-c6.bin",   0x800000, 0x613197f9,   1}, // 9
{"5003-c7.bin",   0x800000, 0x64ddfe0f,   1}, // 10
{"5003-c8.bin",   0x800000, 0x917a1439,   1}, // 11

{"5003-m1.bin",   0x020000, 0x23772b2a, 0x10}, // 12 Z80 code

/* Identical to kof2001 */
{"262-v1.bin",    0x400000, 0x83d49ecf,   2}, // 13 Sound data
{"262-v2.bin",    0x400000, 0x003f1843,   2}, // 14
{"262-v3.bin",    0x400000, 0x2ae38dbe,   2}, // 15
{"262-v4.bin",    0x400000, 0x26ec4dd9,   2}, // 16
};

STDROMPICKEXT(ct2003sp, ct2003sp, neogeo);
STD_ROM_FN(ct2003sp);

static void ct2003spDecrypt()
{
unsigned char *src = Neo68KROM01;
unsigned char *dst = (unsigned char*)malloc(0x500000);
int sec[] = {0x400000,0x000000,0x100000,0x200000,0x300000};
if (dst)
{
    memcpy(dst,src,0x500000);
    for(int i = 0; i < 5; ++i)
{
    memcpy(src+i*0x100000,dst+sec[i],0x100000);
}
    free(dst);
}

UINT8 *romdata = (UINT8 *)(NeoZ80ROM);
UINT8 *tmp = (UINT8*)malloc(0x20000);
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();
}

static int ct2003spInit()
{
pNeoSMABankswitch = cthd2003WriteWordBankswitch;
pNeoInitCallback = ct2003spDecrypt;
ncthd2003 = 1;
nNeoTextROMFixType = 4;
return NeoInit();
}

struct BurnDriver BurnDrvct2003sp = {
{"ct2003sp", "Crouching Tiger Hidden Dragon 2003 Super Plus! (hack)", "Hack of cthd2003", "PhenixSoft", "Neo Geo", "2003", "cthd2003", "neogeo"},
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ALTERNATE_TEXT,
NULL, ct2003spRomInfo, ct2003spRomName, neogeoInputInfo, neogeoDIPInfo,
ct2003spInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
--- End code ---
in neo_run.cpp:
Use any of the descrambling codes in the nNeoTextROMFixType thread (case 7)

Now... the prob is that i can't get the GFX working good, i mean, i can't display correctly the whloe information of the rom, only parts, even if deleting the ALTERNATE_TEXT flag i can't get good texts... anyone got an idea to fix it?
See ya!!!!! :D
P.D. The init is working perfectly, maybe this is problem of the emulator since 256 KB s1's doesn't really exists, at least in non-hack sets...  :confused:
P.D.2 to get that 3 p roms: take p1sp posted by Jimmy/Santahempa thats p1sp, split cthd2003 p2 in 4 parts, delete part 1, concatenate like this:
-part 2+3 = p2sp
-part 4+p1sd CRC32 ab5c4de0 = p3sp
I don't know if that is correct, is just to try to match the real lyout of the 68 K...

FerchogtX:
:(  :( What happened? no one has got how to fix this prob?... i played around with all of neogeo src and i got nothing... anyone knows?
See ya!!!! :D

James33:
All I know is that the S rom decrypt code has no affect at all .

fataku:
afaik this rom 5003-p1sp.bin 0x96ee06bc is scrambled, and you are missing the other 2 P scrambled roms, then have to descramble it and thats all  :rolleyes:

James33:
If you split the S rom 6c355ab4 into 2 you get 2 128k roms with the same CRC c5061aaf. Maybe this is the right one to work with ?

Navigation

[0] Message Index

[#] Next page

Go to full version