Jump to content

KoF 10th Anniversary Edition (Hack)


Recommended Posts

Decrypted Kof2002 V roms

Former Jap M1 Fix Team decrypted kof2002 M1

Encrypted P

Scrambled Cx

 

kf10-p1.bin,   0x800000, 0xB1FD0C43

 

kf10-s1.bin,    0x020000, 0xE2A6A999

 

kf10-c1a.bin,  0x400000, 0x3BBC0364

kf10-c2a.bin,  0x400000, 0x91230075

kf10-c1b.bin,  0x400000, 0xb5abfc28

kf10-c2b.bin,  0x400000, 0x6CC4C6E1

kf10-c3a.bin,  0x400000, 0x5B3D4A16

kf10-c4a.bin,  0x400000, 0xC6F3419B

kf10-c3b.bin,  0x400000, 0x9D2BBA19

kf10-c4b.bin,  0x400000, 0x5A4050CB

kf10-c5a.bin,  0x400000, 0xA289D1E1

kf10-c6a.bin,  0x400000, 0xE6494B5D

kf10-c5b.bin,  0x400000, 0x404FFF02

kf10-c6b.bin,  0x400000, 0xF2CCFC9E

kf10-c7a.bin,  0x400000, 0xBE79C5A8

kf10-c8a.bin,  0x400000, 0xA5952CA4

kf10-c7b.bin,  0x400000, 0x3FDB3542

kf10-c8b.bin,  0x400000, 0x661B7A52

 

kf10-m1.bin,   0x020000, 0xF6FAB859

 

kf10-v1.bin,   0x800000, 0x0fc9a58d

kf10-v2.bin,   0x800000, 0xb8c475a4

 

MAME incomplete driver (Cx 're not descrambled here) :

 

ROM_START( kof10th ) /* this is a hack of kof2002 much like the various korean hacks / bootleg */

        ROM_REGION( 0x4000000, REGION_GFX2, 0 )

        ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, 0x3bbc0364 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, 0x91230075 ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, 0xb5abfc28 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, 0x6cc4c6e1 ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, 0x5b3d4a16 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, 0xc6f3419b ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, 0x9d2bba19 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, 0x5a4050cb ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, 0xa289d1e1 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, 0xe6494b5d ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, 0x404fff02 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, 0xf2ccfc9e ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, 0xbe79c5a8 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, 0xa5952ca4 ) /* Plane 2,3 */

        ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, 0x3fdb3542 ) /* Plane 0,1 */

        ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, 0x661b7a52 ) /* Plane 2,3 */

 

        ROM_REGION( 0x800000, REGION_CPU1, 0 )

        ROM_LOAD16_WORD_SWAP( "kf10-p1.bin", 0x100000, 0x600000, 0xb1fd0c43 )

        ROM_CONTINUE(                        0x000000, 0x100000 ) // not sure what this is for

        ROM_CONTINUE(                        0x000000, 0x100000 ) // program code here

 

        NEO_SFIX_512K_BLANK

 

        NEO_BIOS_SOUND_128K( "kf10-m1.bin", 0xf6fab859 )

 

        ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )

        ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, 0x0fc9a58d )

        ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, 0xb8c475a4 )

ROM_END

 

The program ROM (P1) need descrambling as follows;

 

        UINT8*src = (        );

        UINT8*dst = (UINT8*)malloc(0x800000);

        int i, j;

 

        if (dst){

                memcpy(dst,src,0x800000);

                for(i=0;i<0x800000;i++){

                        j=BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12,  11,2,9,8,7,1,5,4,3,10,6,0);

                        src[j]=dst;

                }

                free(dst);

        }

 

 

The onboard Altera chip makes the following modifications when reading from the main

68000 ROM space;

 

        rom[0x00124/2] = 0x000d;        // Run code that gives XOR for RAM moves and forces SoftDIPs

        rom[0x00126/2] = 0xf7a8;

 

        rom[0x08bf4/2] = 0x4ef9;        // Run code to change 8x8 tiles (needed for neogeo logo tiles)

        rom[0x08bf6/2] = 0x000d;

        rom[0x08bf8/2] = 0xf980;

 

 

The program ROM PCB has 3 visable RAM chips on it.

 

        16bit RAM from 0x2fe000 to 0x2fffff (8k)

 

        This one is just like the RAM seen on the later SNK games. It does not contain the palette

        lookup protections of other SNK games as far as I know.

 

The other 2 are different / new.

 

        16bit RAM 128k ?

 

        To write to this RAM you must write from 0x200000 - 0x21ffff. Whats written can be read

        back from 0xe0000 - 0xfffff. If you read from 0x200000 - 0x21ffff you will simply have

        the ROM bank data in those locations returned.

 

        The actual size of this RAM isn't known but I guess its 128k. Basically only small sections

        are used and its possible to set 2 smaller regions for it instead as follows;

 

                Write 0x200000 - 0x202000, Read 0xe0000 - 0xe2000 (8k)

                Write 0x210000 - 0x212000, Read 0xf0000 - 0xf2000 (8k)

 

        8bit RAM 128k (8x8 tiles held here)

 

        To write to this RAM you must write from 0x200000 - 0x23ffff. Then writing words the low

        byte gets written only. If you read from 0x200000 - 0x23ffff you will simply get the ROM

        bank data in those locations returned. I don't know if this RAM is readable from other

        points in the NeoGeo memory map.

 

As both these RAMs are mapped to the same write space there is a port that controls which RAM is

being written to, this port is at 0x2ffffc (16bit). When 0x0001 is written here writing to the

8x8 tile RAM is allowed. 0x0000 is written once the write is completed thus allowing accesss

to the other RAM.

 

When the game is first powered on the 8x8 tile RAM contains junk. The game fills the 8x8 tiles with

good graphics before anything from it is displayed to screen. The 68k does this as the 8x8 graphic

data is stored in one of the P ROM banks.

 

There looks to be another possible port which is used but unknown, 0x2ffff8 (16bit). It looks like

this is nothing more than a stored game variable but I though I would mention it in case. This is

set to either 0x0001 or 0x0000 during gameplay and if the attract mode fight sequences.

Edited by Mr.X
Link to comment
Share on other sites

  • Replies 70
  • Created
  • Last Reply

Top Posters In This Topic

kawaks 1.54 plays it...i'm not crazy about hacks but this is way better than 2k4sp and cthd2003 imo.

Edited by NeoRAGERx
Link to comment
Share on other sites

My set has different names

 

4194304 3bbc0364 5004_a1.rom
4194304 91230075 5004_a2.rom
4194304 5b3d4a16 5004_a3.rom
4194304 c6f3419b 5004_a4.rom
4194304 a289d1e1 5004_a5.rom
4194304 e6494b5d 5004_a6.rom
4194304 be79c5a8 5004_a7.rom
4194304 a5952ca4 5004_a8.rom
4194304 b5abfc28 5004_b1.rom
4194304 6cc4c6e1 5004_b2.rom
4194304 9d2bba19 5004_b3.rom
4194304 5a4050cb 5004_b4.rom
4194304 404fff02 5004_b5.rom
4194304 f2ccfc9e 5004_b6.rom
4194304 3fdb3542 5004_b7.rom
4194304 661b7a52 5004_b8.rom
131072 f6fab859 5004_m1.rom
8388608 b1fd0c43 5004_p1.rom
131072 e2a6a999 5004-s1.bin
8388608 0fc9a58d 5004_v1.rom
8388608 b8c475a4 5004_v2.rom
Edited by robbbert
Link to comment
Share on other sites

My set has different names

 

4194304 3bbc0364 5004_a1.rom
4194304 91230075 5004_a2.rom
4194304 5b3d4a16 5004_a3.rom
4194304 c6f3419b 5004_a4.rom
4194304 a289d1e1 5004_a5.rom
4194304 e6494b5d 5004_a6.rom
4194304 be79c5a8 5004_a7.rom
4194304 a5952ca4 5004_a8.rom
4194304 b5abfc28 5004_b1.rom
4194304 6cc4c6e1 5004_b2.rom
4194304 9d2bba19 5004_b3.rom
4194304 5a4050cb 5004_b4.rom
4194304 404fff02 5004_b5.rom
4194304 f2ccfc9e 5004_b6.rom
4194304 3fdb3542 5004_b7.rom
4194304 661b7a52 5004_b8.rom
131072 f6fab859 5004_m1.rom
8388608 b1fd0c43 5004_p1.rom
131072 e2a6a999 5004-s1.bin
8388608 0fc9a58d 5004_v1.rom
8388608 b8c475a4 5004_v2.rom

I can assure you that those names are not completely correct.

If anything, it should be 275-xx.bin

btw, you don't need an S rom.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...