Author Topic: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)  (Read 7763 times)

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« on: December 14, 2005, 06:41:56 PM »
I trying guys.

Code: [Select]
ROM_START( ct2003sp )
ROM_REGION( 0x500000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, CRC(96EE06BC) )
ROM_LOAD16_WORD_SWAP( "5003-p2sp.bin", 0x100000, 0x200000, CRC(2332EE0C) )
ROM_LOAD16_WORD_SWAP( "5003-p3sp.bin", 0x300000, 0x200000, CRC(017919AA) )

NEO_SFIX_128K( "5003-s1sp.bin", CRC(C5061AAF) )

NEO_BIOS_SOUND_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )

ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) )
ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

NO_DELTAT_REGION

ROM_REGION( 0x4000000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) )
ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) )
ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) )
ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) )
ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) )
ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) )
ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) )
ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) )
ROM_END

GAMEB( 2003, ct2003sp, kof2001, neogeo, neogeo, neogeo,  ct2003sp,   ROT0, "Phenixsoft", "Crouching Tiger Hidden Dragon 2003 Super Plus (Bootleg/Hack)", 0 )

DRIVER( ct2003sp ) /* # 5003 (c) 2003 Phenixsoft */

I short it down.

Code: [Select]
DRIVER_INIT (ct2003sp)
{
        int i;

        unsigned char *src = memory_region(REGION_CPU1);
        unsigned char *dst = (unsigned char*)malloc(0x500000);
        int sec[] = {0x400000,0x000000,0x100000,0x200000,0x300000};
        if (dst) {
        memcpy(dst,src,0x500000);

        for(i = 0; i < 5; ++i)
        memcpy(src+i*0x100000,dst+sec[i],0x100000);

        free(dst);
    }
    init_neogeo();
}
« Last Edit: December 14, 2005, 11:50:43 PM by KingHanco »

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #1 on: December 15, 2005, 01:08:20 AM »
does it work?

Looking for the roms still. No luck on this. Other wise I don't know. I may skip this and go on with the other one that I found at the RomShare Forums. I found a cthd2003 super plus is out! at the RomShare Forums just after I thought about looking there. I'm testing those after I get those roms set. I already have the Crouching Tiger Hidden Dragon 2003 roms and drivers as you know. :)

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #2 on: December 15, 2005, 02:01:12 AM »
does it work?

I know mine works :P His will not work if thats all he useing on the code .


Oh do you need a need a new thread for every dam problem you have ?
I suggest you keep all your posts like this to one thread ..
« Last Edit: December 15, 2005, 02:07:00 AM by James33 »
IQ Forum Member

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #3 on: December 15, 2005, 02:23:57 AM »
I know mine works :P His will not work if thats all he useing on the code .

Oh do you need a need thread for every dam problem you have ?
I suggest you keep all your posts like this to one thread ..

Heh...James33, I trying to do one and your rubbing it in. Now how can I learn when nobody isn't giving any hints.

1 thread. Ok. I will go here because there already a NeoGeo games drivers - I need help - http://www.1emulation.com/forums/index.php?showtopic=15910&pid=178748&st=33&#entry178748

I bet you want iq_132 deleted all the post here at this forum that I made. If it really bother you that much. No problem then.  :eek:
« Last Edit: December 15, 2005, 02:27:00 AM by KingHanco »

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #4 on: December 15, 2005, 03:55:08 AM »
I am asking you not IQ . What IQ does on this forum is up to him not me .

Many have tried to help you,  even I for that matter . But you never learn from the help
You keep makeing the same mistakes everytime .
You do not want hints you want someone to do the whole thing for you .
« Last Edit: December 15, 2005, 03:57:16 AM by James33 »
IQ Forum Member

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #5 on: December 15, 2005, 06:07:11 AM »
I am asking you not IQ . What IQ does on this forum is up to him not me .

Many have tried to help you,  even I for that matter . But you never learn from the help
You keep makeing the same mistakes everytime .
You do not want hints you want someone to do the whole thing for you .

I said it before I'm stupid not a pro or a genous.

I don't even know how you guys do it anyway. I'm still fuzzing and stump on that.

When did I say I want everyone do all for me? I want hints and help. Not do everything over for me.

Anyway I don't see many here helping. Just a few people. You, iq_132 and Robert. That is 3 people.

I can't make the codes if I don't know how. I only do as I can. If I can't do it then do I need some help or hints. Other wise I will guest and never get it.

If nobody want to help me then I will removed the ones that I cant get to work. I will wait until someone will post it or have the source out where I can download it.

If the drivers doesn't work then I'm clueless what is missing or not there or might be out of date.

This is the 4th drivers that I can't get to work. Not even your Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack). I clueless on what I did wrong or what is missing.

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
CTHD2k3SP help
« Reply #6 on: December 15, 2005, 06:26:42 AM »
Because you do not seem to learn anything .

When you copy a driver you keep them how they are . You do not change them ( Which you seem to do )




Heh...You didn't do it on my build. You don't know all the errors that I had. I only block on what I can't get to work. Some of the drivers parts already there and causes to loop on the making. Besides I already took out the kof2k3up, kof2003a and the kof2003p. The only thing that does work is the kof2003 and the kof2003b which are fine. When doesn't like on making then there is something wrong. The drivers are outdated or missing something. I try to fixs those to get those to work n the Mame/Mame32 0.102 and it doesn't help.

Now I'm taking out the cthd2k3sp.

Those seem not to work on the newer source. (I didn't say those won't work ether. Just my guest and I'm clueless.)

I will better off waiting on the newer drivers then doing the head banging.
« Last Edit: December 15, 2005, 06:29:40 AM by KingHanco »

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
CTHD2k3SP help
« Reply #7 on: December 15, 2005, 07:55:41 AM »
The drivers are fine . 
If you followed how they were meant to placed in the source you would not be getting any problems.
You tend to have the same code in many places which will cause many errors .

Sadly you fail to understand instructions on how to add the code so how can anyone help you ? .

Most of those errors are caused by you and not because the drivers need to be updated .



« Last Edit: December 15, 2005, 08:01:17 AM by James33 »
IQ Forum Member

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
CTHD2k3SP help
« Reply #8 on: December 15, 2005, 02:09:52 PM »
It won't boot at all. I just now try again. Won't work at all. How did you get it to run anyway? Is there anything that you did extra?

Code: [Select]
ROM_START( cthd2k3sp )
ROM_REGION( 0x500000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, CRC(ab5c4de0) SHA1(ca9a6bfd4c32d791ecabb34ccbf2cbf0e84f97d5) )
ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )

// NEO_SFIX_128K( "5003-s1sp.bin", CRC(43126d3f) SHA1(25b2fc87272488027358045a4d58b14c1bf2622a) )

// NEO_BIOS_SOUND_128K( "5003-m1.bin", CRC(23772b2a) SHA1(96cda2551bd45c6df90c5f6899606e8c044ccc65) )

        ROM_REGION( 0x40000, REGION_GFX1, 0 )
        ROM_LOAD( "5003-s1sp.bin", 0x00000, 0x40000, CRC(6c355ab4) SHA1(71ac2bcd3dbda8402baecc56dabc2297b148a900) )
        ROM_REGION( 0x20000, REGION_GFX2, 0 )
        ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

/* sound roms are identical to kof2001 */
ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) )
ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

NO_DELTAT_REGION

ROM_REGION( 0x4000000, REGION_GFX3, 0 )
/* Scrambled GFX */
ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
ROM_END


GAMEB( 2003, cthd2k3sp, kof2001,  neogeo, neogeo, neogeo,  cthd2003, ROT0, "Phenixsoft", "Crouching Tiger Hidden Dragon 2003 'Super Plus'", 0 )

static void cthd2k3sp_sx_decrypt( void )
{
        int rom_size = memory_region_length( REGION_GFX1 );
        UINT8 *rom = memory_region( REGION_GFX1 );
        UINT8 *buf = malloc( rom_size );
        int i;
        int ofst;

        memcpy( buf, rom, rom_size );

        for( i = 0; i < rom_size; i++ ){
        ofst = BITSWAP24( (i & 0x1ffff), 23, 22, 21, 20, 19, 18, 17, 3, 0, 1, 4, 2, 13, 14, 16, 15, 5, 6, 11, 10, 9, 8, 7, 12 );

        ofst += (i >> 17) << 17;

        rom[ i ] = buf[ ofst ];
        }

        memcpy( buf, rom, rom_size );

        memcpy( &rom[ 0x08000 ], &buf[ 0x10000 ], 0x8000 );
        memcpy( &rom[ 0x10000 ], &buf[ 0x08000 ], 0x8000 );
        memcpy( &rom[ 0x28000 ], &buf[ 0x30000 ], 0x8000 );
        memcpy( &rom[ 0x30000 ], &buf[ 0x28000 ], 0x8000 );

    free( buf );
}

DRIVER_INIT (cthd2k3sp)
{
UINT8 *romdata = memory_region(REGION_CPU2)+0x10000;
UINT8*tmp = (UINT8*)malloc(8*128*128);
  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(0);
cthd2k3sp_sx_decrypt();
  init_neogeo();
}

if (!strcmp(Machine->gamedrv->name,"cthd2003") || !strcmp(Machine->gamedrv->name,"cthd2k3sp"))
{
/* patches thanks to razoola */
int i;
UINT16 *mem16 = (UINT16 *)memory_region(REGION_CPU1);

/* special ROM banking handler */
memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2ffff0, 0x2fffff, 0, 0, cthd2003_bankswitch_w);

// theres still a problem on the character select screen but it seems to be related to cpu core timing issues,
// overclocking the 68k prevents it.

// fix garbage on s1 layer over everything
mem16[0xf415a/2] = 0x4ef9;
mem16[0xf415c/2] = 0x000f;
mem16[0xf415e/2] = 0x4cf2;

// Fix corruption in attract mode before title screen
for (i=0x1ae290/2;i < 0x1ae8d0/2; i=i+1)
{
mem16[i] = 0x0000;
}

// Fix for title page
  for (i=0x1f8ef0/2;i < 0x1fa1f0/2; i=i+2)
  {
mem16[i] -= 0x7000;
mem16[i+1] -= 0x0010;
  }

// Fix for green dots on title page
for (i=0xac500/2;i < 0xac520/2; i=i+1)
{
mem16[i] = 0xFFFF;
}
 
// Fix for blanks as screen change level end clear
mem16[0x991d0/2] = 0xdd03;
mem16[0x99306/2] = 0xdd03;
mem16[0x99354/2] = 0xdd03;
  mem16[0x9943e/2] = 0xdd03;
}
« Last Edit: December 15, 2005, 04:42:17 PM by KingHanco »

Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #9 on: December 15, 2005, 09:06:40 PM »
All the code is there for the both drivers . I suggest you study it .
If you are going to use this do not alter to suit you or you will cause problems .

Code: [Select]
ROM_START( cthd2003 )
ROM_REGION( 0x500000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, CRC(bb7602c1) SHA1(abf329a40f34c88f7325b255e3bc090db1edaca4) )
ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )

NEO_SFIX_128K( "5003-s1.bin", CRC(5ba29aab) SHA1(e7ea67268a10243693bff722e6fd2276ca540acf) )

NEO_BIOS_SOUND_128K( "5003-m1.bin", CRC(23772b2a) SHA1(96cda2551bd45c6df90c5f6899606e8c044ccc65) )

/* sound roms are identical to kof2001 */
ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) )
ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

NO_DELTAT_REGION

ROM_REGION( 0x4000000, REGION_GFX3, 0 )
/* Encrypted */
ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
ROM_END

ROM_START( ct2k3sp )
ROM_REGION( 0x500000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, CRC(ab5c4de0) SHA1(ca9a6bfd4c32d791ecabb34ccbf2cbf0e84f97d5) )
ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )

ROM_REGION( 0x40000, REGION_GFX1, 0 )
ROM_LOAD( "5003-s1sp.bin", 0x00000, 0x40000, CRC(6c355ab4) SHA1(71ac2bcd3dbda8402baecc56dabc2297b148a900) )
ROM_REGION( 0x20000, REGION_GFX2, 0 )
ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

NEO_BIOS_SOUND_128K( "5003-m1.bin", CRC(23772b2a) SHA1(96cda2551bd45c6df90c5f6899606e8c044ccc65) )

/* sound roms are identical to kof2001 */
ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) )
ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

NO_DELTAT_REGION

ROM_REGION( 0x4000000, REGION_GFX3, 0 )
/* Encrypted */
ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
ROM_END

Code: [Select]
/* descrambling information from razoola */
/* descrambling S rom for cthd2003 Super Plus */
static void ct2k3sp_sx_decrypt( void )
{
int rom_size = memory_region_length( REGION_GFX1 );
UINT8 *rom = memory_region( REGION_GFX1 );
UINT8 *buf = malloc( rom_size );
int i;
int ofst;

memcpy( buf, rom, rom_size );

for( i = 0; i < rom_size; i++ ){
ofst = BITSWAP24( (i & 0x1ffff), 23, 22, 21, 20, 19, 18, 17,  3,
  0,  1,  4,  2, 13, 14, 16, 15,
  5,  6, 11, 10,  9,  8,  7, 12 );

ofst += (i >> 17) << 17;

rom[ i ] = buf[ ofst ];
}

memcpy( buf, rom, rom_size );

memcpy( &rom[ 0x08000 ], &buf[ 0x10000 ], 0x8000 );
memcpy( &rom[ 0x10000 ], &buf[ 0x08000 ], 0x8000 );
memcpy( &rom[ 0x28000 ], &buf[ 0x30000 ], 0x8000 );
memcpy( &rom[ 0x30000 ], &buf[ 0x28000 ], 0x8000 );

free( buf );
}

static void cthd2003_neogeo_gfx_address_fix_do(int start, int end, int bit3shift, int bit2shift, int bit1shift, int bit0shift)
{
int i,j;
int tilesize=128;

UINT8* rom = (UINT8*)malloc(16*tilesize); // 16 tiles buffer
UINT8* realrom = memory_region(REGION_GFX3) + start*tilesize;

for (i = 0; i < (end-start)/16; i++) {
for (j = 0; j < 16; j++) {
int offset = (((j&1)>>0)<<bit0shift)
        +(((j&2)>>1)<<bit1shift)
        +(((j&4)>>2)<<bit2shift)
+(((j&8)>>3)<<bit3shift);

memcpy(rom+j*tilesize, realrom+offset*tilesize, tilesize);
}
memcpy(realrom,rom,tilesize*16);
realrom+=16*tilesize;
}
free(rom);
}

static void cthd2003_neogeo_gfx_address_fix(int start, int end)
{
cthd2003_neogeo_gfx_address_fix_do(start+512*0, end+512*0, 0,3,2,1);
cthd2003_neogeo_gfx_address_fix_do(start+512*1, end+512*1, 1,0,3,2);
cthd2003_neogeo_gfx_address_fix_do(start+512*2, end+512*2, 2,1,0,3);
// skip 3 & 4
cthd2003_neogeo_gfx_address_fix_do(start+512*5, end+512*5, 0,1,2,3);
cthd2003_neogeo_gfx_address_fix_do(start+512*6, end+512*6, 0,1,2,3);
cthd2003_neogeo_gfx_address_fix_do(start+512*7, end+512*7, 0,2,3,1);
}

static void cthd2003_c(int pow)
{
int i;

for (i=0; i<=192; i+=8)
cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

for (i=200; i<=392; i+=8)
cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

for (i=400; i<=592; i+=8)
cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

for (i=600; i<=792; i+=8)
cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

for (i=800; i<=992; i+=8)
cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

for (i=1000; i<=1016; i+=8)
cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);
}

DRIVER_INIT (cthd2003)
{
UINT8 *romdata = memory_region(REGION_GFX1);
UINT8*tmp = (UINT8*)malloc(8*128*128);

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);

romdata = memory_region(REGION_CPU2)+0x10000;
  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(0);
  init_neogeo();
}

DRIVER_INIT (ct2k3sp)
{

UINT8 *romdata = memory_region(REGION_CPU2)+0x10000;
UINT8*tmp = (UINT8*)malloc(8*128*128);
  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);
ct2k3sp_sx_decrypt();
cthd2003_c(0);
  init_neogeo();
}

Code: [Select]
/* Phenixsoft Corporation */
GAMEB( 2003, cthd2003, kof2001,  neogeo, neogeo, neogeo,  cthd2003, ROT0, "Phenixsoft Corporation", "Crouching Tiger Hidden Dragon 2003", 0 )
GAMEB( 2003, ct2k3sp,  kof2001,  neogeo, neogeo, neogeo,  ct2k3sp,  ROT0, "Phenixsoft Corporation", "Crouching Tiger Hidden Dragon 2003 Super Plus", 0 )

in Machine\neogeo.c

Code: [Select]
/* thanks to razoola */
static WRITE16_HANDLER ( cthd2003_bankswitch_w )
{
int bankaddress;
static int cthd2003_banks[8] =
{
1,0,1,0,1,0,3,2,
};

if (offset == 0)
{
bankaddress = 0x100000 + cthd2003_banks[data&7]*0x100000;
neogeo_set_cpu1_second_bank(bankaddress);
}
}

Code: [Select]
           if (!strcmp(Machine->gamedrv->name,"cthd2003") ||
!strcmp(Machine->gamedrv->name,"ct2k3sp"))
{
/* patches thanks to razoola */
int i;
UINT16 *mem16 = (UINT16 *)memory_region(REGION_CPU1);

/* special ROM banking handler */
memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2ffff0, 0x2fffff, 0, 0, cthd2003_bankswitch_w);

// theres still a problem on the character select screen but it seems to be related to cpu core timing issues,
// overclocking the 68k prevents it.

// fix garbage on s1 layer over everything
mem16[0xf415a/2] = 0x4ef9;
mem16[0xf415c/2] = 0x000f;
mem16[0xf415e/2] = 0x4cf2;

// Fix corruption in attract mode before title screen
for (i=0x1ae290/2;i < 0x1ae8d0/2; i=i+1)
{
mem16[i] = 0x0000;
}

// Fix for title page
  for (i=0x1f8ef0/2;i < 0x1fa1f0/2; i=i+2)
  {
mem16[i] -= 0x7000;
mem16[i+1] -= 0x0010;
  }

// Fix for green dots on title page
for (i=0xac500/2;i < 0xac520/2; i=i+1)
{
mem16[i] = 0xFFFF;
}
 
// Fix for blanks as screen change level end clear
mem16[0x991d0/2] = 0xdd03;
mem16[0x99306/2] = 0xdd03;
mem16[0x99354/2] = 0xdd03;
  mem16[0x9943e/2] = 0xdd03;
}
« Last Edit: December 15, 2005, 09:15:56 PM by James33 »
IQ Forum Member

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #10 on: December 16, 2005, 12:04:34 AM »
I found 3 the problems.

1. This cthd2k3sp gotting too many letters. There 9 instead of 8 letters or less. That why it wouldn't let both to bootup. Both lockup on booting and return back to the menu. I did decident to use the ct2k3sp instead of the other one that have too many letters.

2. memcpy(romdata-0x10000,romdata,0x10000);; <- have than extra ; at the end.

3. I'm now using that other 5003-m1.bin that you use.

Both games bootup without a backout problem now. But there is some graphics issues on the ct2k3sp though.


Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #11 on: December 16, 2005, 12:20:17 AM »
That simply tells me you changed the code  even though I said not to ,
IQ Forum Member

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #12 on: December 16, 2005, 12:52:21 AM »
That simply tells me you changed the code  even though I said not to ,

The code is the same.

Take a look and compare those to yours. Nothing is change.

I tell you what. I will upload the MAMESRC and the MinGW. Just let you try it out. Change it the way you been doing on your build. Instead do it on my build. You will get the samething and then you will beleave me.

Code: [Select]
ROM_START( cthd2003 )
       ROM_REGION( 0x500000, REGION_CPU1, 0 )
       ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, CRC(bb7602c1) SHA1(abf329a40f34c88f7325b255e3bc090db1edaca4) )
       ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )

       NEO_SFIX_128K( "5003-s1.bin", CRC(5ba29aab) SHA1(e7ea67268a10243693bff722e6fd2276ca540acf) )

       NEO_BIOS_SOUND_128K( "5003-m1.bin", CRC(23772b2a) SHA1(96cda2551bd45c6df90c5f6899606e8c044ccc65) )

       ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
       ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
       ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) )
       ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
       ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

       NO_DELTAT_REGION

       ROM_REGION( 0x4000000, REGION_GFX3, 0 )
       ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) )
       ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) )
       ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) )
       ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) )
       ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) )
       ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) )
       ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) )
       ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) )
ROM_END

ROM_START( ct2k3sp )
       ROM_REGION( 0x500000, REGION_CPU1, 0 )
       ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, CRC(ab5c4de0) SHA1(ca9a6bfd4c32d791ecabb34ccbf2cbf0e84f97d5) )
       ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )

       ROM_REGION( 0x40000, REGION_GFX1, 0 )
       ROM_LOAD( "5003-s1sp.bin", 0x00000, 0x40000, CRC(6c355ab4) SHA1(71ac2bcd3dbda8402baecc56dabc2297b148a900) )
       ROM_REGION( 0x20000, REGION_GFX2, 0 )
       ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

       NEO_BIOS_SOUND_128K( "5003-m1.bin", CRC(23772b2a) SHA1(96cda2551bd45c6df90c5f6899606e8c044ccc65) )

       ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
       ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) )
       ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) )
       ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) )
       ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) )

       NO_DELTAT_REGION

       ROM_REGION( 0x4000000, REGION_GFX3, 0 )
       ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) )
       ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) )
       ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) )
       ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) )
       ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) )
       ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) )
       ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) )
       ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) )
ROM_END

static void ct2k3sp_sx_decrypt( void )
{
      int rom_size = memory_region_length( REGION_GFX1 );
      UINT8 *rom = memory_region( REGION_GFX1 );
      UINT8 *buf = malloc( rom_size );
      int i;
      int ofst;

      memcpy( buf, rom, rom_size );

      for( i = 0; i < rom_size; i++ ){
      ofst = BITSWAP24( (i & 0x1ffff), 23, 22, 21, 20, 19, 18, 17, 3, 0, 1, 4, 2, 13, 14, 16, 15, 5, 6, 11, 10, 9, 8, 7, 12 );

      ofst += (i >> 17) << 17;

      rom[ i ] = buf[ ofst ];
      }

      memcpy( buf, rom, rom_size );

      memcpy( &rom[ 0x08000 ], &buf[ 0x10000 ], 0x8000 );
      memcpy( &rom[ 0x10000 ], &buf[ 0x08000 ], 0x8000 );
      memcpy( &rom[ 0x28000 ], &buf[ 0x30000 ], 0x8000 );
      memcpy( &rom[ 0x30000 ], &buf[ 0x28000 ], 0x8000 );

   free( buf );
}

static void cthd2003_neogeo_gfx_address_fix_do(int start, int end, int bit3shift, int bit2shift, int bit1shift, int bit0shift)
{
      int i,j;
      int tilesize=128;

      UINT8* rom = (UINT8*)malloc(16*tilesize); // 16 tiles buffer
      UINT8* realrom = memory_region(REGION_GFX3) + start*tilesize;

      for (i = 0; i < (end-start)/16; i++) {
      for (j = 0; j < 16; j++) {
      int offset = (((j&1)>>0)<<bit0shift)
      +(((j&2)>>1)<<bit1shift)
      +(((j&4)>>2)<<bit2shift)
      +(((j&8)>>3)<<bit3shift);

      memcpy(rom+j*tilesize, realrom+offset*tilesize, tilesize);
      }
      memcpy(realrom,rom,tilesize*16);
      realrom+=16*tilesize;
      }
      free(rom);
      }

      static void cthd2003_neogeo_gfx_address_fix(int start, int end)
      {
      cthd2003_neogeo_gfx_address_fix_do(start+512*0, end+512*0, 0,3,2,1);
      cthd2003_neogeo_gfx_address_fix_do(start+512*1, end+512*1, 1,0,3,2);
      cthd2003_neogeo_gfx_address_fix_do(start+512*2, end+512*2, 2,1,0,3);

      cthd2003_neogeo_gfx_address_fix_do(start+512*5, end+512*5, 0,1,2,3);
      cthd2003_neogeo_gfx_address_fix_do(start+512*6, end+512*6, 0,1,2,3);
      cthd2003_neogeo_gfx_address_fix_do(start+512*7, end+512*7, 0,2,3,1);
      }

      static void cthd2003_c(int pow)
      {
      int i;

      for (i=0; i<=192; i+=8)
      cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

      for (i=200; i<=392; i+=8)
      cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

      for (i=400; i<=592; i+=8)
      cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

      for (i=600; i<=792; i+=8)
      cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

      for (i=800; i<=992; i+=8)
      cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);

      for (i=1000; i<=1016; i+=8)
      cthd2003_neogeo_gfx_address_fix(i*512,i*512+512);
}

DRIVER_INIT (cthd2003)
{
      UINT8 *romdata = memory_region(REGION_GFX1);
      UINT8*tmp = (UINT8*)malloc(8*128*128);

      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);

      romdata = memory_region(REGION_CPU2)+0x10000;
      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(0);
   init_neogeo();
}

DRIVER_INIT (ct2k3sp)
{
      UINT8 *romdata = memory_region(REGION_CPU2)+0x10000;
      UINT8*tmp = (UINT8*)malloc(8*128*128);
      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);
      ct2k3sp_sx_decrypt();
      cthd2003_c(0);
   init_neogeo();
}

/* Phenixsoft */
GAMEB( 2003, cthd2003, kof2001,  neogeo, neogeo, neogeo,   cthd2003,  ROT0, "Phenixsoft",               "Crouching Tiger Hidden Dragon 2003 (Bootleg/Hack)", 0 )
GAMEB( 2003, ct2k3sp,  kof2001,  neogeo, neogeo, neogeo,   cthd2003,  ROT0, "Phenixsoft",               "Crouching Tiger Hidden Dragon 2003 'Super Plus' (Bootleg/Hack)", 0 )

======================================================================================================

static WRITE16_HANDLER ( cthd2003_bankswitch_w )
{
        int bankaddress;
        static int cthd2003_banks[8] =
        {
        1,0,1,0,1,0,3,2,
        };

        if (offset == 0)
        {
        bankaddress = 0x100000 + cthd2003_banks[data&7]*0x100000;
        neogeo_set_cpu1_second_bank(bankaddress);
    }
}

if (!strcmp(Machine->gamedrv->name,"cthd2003") || !strcmp(Machine->gamedrv->name,"ct2k3sp"))
{
                int i;
                UINT16 *mem16 = (UINT16 *)memory_region(REGION_CPU1);

                memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2ffff0, 0x2fffff, 0, 0, cthd2003_bankswitch_w);

                mem16[0xf415a/2] = 0x4ef9;
                mem16[0xf415c/2] = 0x000f;
                mem16[0xf415e/2] = 0x4cf2;

                for (i=0x1ae290/2;i < 0x1ae8d0/2; i=i+1)
                {
                mem16[i] = 0x0000;
                }

                for (i=0x1f8ef0/2;i < 0x1fa1f0/2; i=i+2)
                {
                mem16[i] -= 0x7000;
                mem16[i+1] -= 0x0010;
                }

                for (i=0xac500/2;i < 0xac520/2; i=i+1)
                {
                mem16[i] = 0xFFFF;
                }

                mem16[0x991d0/2] = 0xdd03;
                mem16[0x99306/2] = 0xdd03;
                mem16[0x99354/2] = 0xdd03;
                mem16[0x9943e/2] = 0xdd03;
}
« Last Edit: December 16, 2005, 01:00:45 AM by KingHanco »

Offline iq_132

  • Administrator
  • *****
  • Posts: 3621
  • Karma: +385/-0
  • Bare Knuckle!
    • NeoSource
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #13 on: December 16, 2005, 01:20:52 AM »
The code is the same.

Take a look and compare those to yours. Nothing is change.

You changed something!!

In the GAMEB for ct2k3sp, you are calling up the wrong DRIVER_INIT.

Why did you change it?

L
M
A
O
!


Offline James33

  • Expert
  • *****
  • Posts: 532
  • Karma: +3/-0
  • The Mame Man
    • Emulation Zone
Re: Crouching Tiger Hidden Dragon 2003 - Super Plus (Bootleg/Hack)
« Reply #14 on: December 16, 2005, 01:31:10 AM »
You changed something!!

In the GAMEB for ct2k3sp, you are calling up the wrong DRIVER_INIT.

Why did you change it?

Its more like he never copied it over to his source . Thats why I told him to study it :)
IQ Forum Member