Jump to content

King Of Fighters 2003 (kof2003.zip) News V


James

Recommended Posts

  • Replies 264
  • Created
  • Last Reply

Top Posters In This Topic

Does anyone know the XOR tables for kof2003 ?

What kind of XOR tables are we talking about here?

for Encrypted and decrypted so you can convert to decrypted or Encrypted roms sets

Ahh...Yes, of course. :D

Link to comment
Share on other sites

kof2003 working in FBA (Final Burn Alpha )

 

 

neo_run.cpp and neogeo.h are in src\burn\neogeo\

------------------------------------------------------------------------------------------

neo_run.cpp

code Do a search for the code in black and insert the code in red. Fairly simple.

-----------------------------------------------------------

 

if ((BurnDrvGetHardwareCode() & HARDWARE_SNK_CONTROLMASK) != HARDWARE_SNK_GAMBLING) {

//// added

if (!(BurnDrvGetHardwareCode() & HARDWARE_SNK_NEWBANKSYSTEM)) {

////end

nNeo68KROMBank = -1U;

Bankswitch(0);

//// added

}

////end

}

 

 

-----------------------------------------------------------------------------

neogeo.h

code

----------------

 

#define HARDWARE_SNK_NEWBANKSYSTEM 0x0200

 

--------------------------------------------------------------------------------

d_neogeo

code

---------------------------

 

// The King of Fighter's 2003 (Bootleg)

 

static struct BurnRomInfo kof2003RomDesc[] = {

{"271-p1.bin" , 0x400000, 0x92ed6ee3, 0x10}, // 0 68K code

{"271-p2.bin" , 0x400000, 0x5d3d8bb3, 0x10}, // 1 68k code

 

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

 

{"271-c1d.rom" , 0x800000, 0xe42fc226, 1}, // 3 Sprite data

{"271-c2d.rom" , 0x800000, 0x1b5e3b58, 1}, // 4

{"271-c3d.rom" , 0x800000, 0xd334fdd9, 1}, // 5

{"271-c4d.rom" , 0x800000, 0x0d457699, 1}, // 6

{"271-c5d.rom" , 0x800000, 0x8a91aae4, 1}, // 7

{"271-c6d.rom" , 0x800000, 0x9f8674b8, 1}, // 8

{"271-c7d.rom" , 0x800000, 0x374ea523, 1}, // 9

{"271-c8d.rom" , 0x800000, 0x75211f4d, 1}, // 10

 

{"271-m1d.bin" , 0x020000, 0x396e17cd, 0x10}, // 11 Z80 code

 

{"271-v1d.rom" , 0x400000, 0xd2b8aa5e, 2}, // 12 Sound data

{"271-v2d.rom" , 0x400000, 0x71956ee2, 2}, // 13

{"271-v3d.rom" , 0x400000, 0xddbbb199, 2}, // 14

{"271-v4d.rom" , 0x400000, 0x01b90c4f, 2}, // 15

};

 

STDROMPICKEXT(kof2003, kof2003, neogeo);

STD_ROM_FN(kof2003);

 

static unsigned short kof2003_tbl[0x1000];

 

 

unsigned char __fastcall kof2003ReadByteBankSwitch(unsigned int sekAddress)

{

return *(((unsigned char *)kof2003_tbl)+((sekAddress^1)-0x2fe000));

}

 

 

unsigned short __fastcall kof2003ReadWordBankSwitch(unsigned int sekAddress)

{

return kof2003_tbl[(sekAddress-0x2fe000)/2];

}

 

static void kof2003WriteBankSwitch(unsigned int sekAddress,unsigned short wordValue,unsigned short valueMask)

{

int address=(sekAddress-0x2fe000)/2,bankaddress;

kof2003_tbl[address]=(wordValue&valueMask)|(~valueMask&kof2003_tbl[address]);

if(address!=0xff8 && address!=0xff9 ) return;

bankaddress=(kof2003_tbl[0xff8]>>8)|(kof2003_tbl[0xff9]<<8);

*(((unsigned char *)kof2003_tbl)+0x1ff0)=0xa0;

*(((unsigned char *)kof2003_tbl)+0x1ff1)&=0xfe;

*(((unsigned char *)kof2003_tbl)+0x1ff3)&=0x7f;

SekMapMemory(Neo68KROM02+bankaddress,0x200000,0x2 fdfff,SM_ROM);

Neo68KROM01[0x58196]=kof2003_tbl[0xff9]&0xff;

}

 

 

void __fastcall kof2003WriteWordBankSwitch(unsigned int sekAddress, unsigned short wordValue)

{

unsigned short valueMask=0xffff;

kof2003WriteBankSwitch(sekAddress, wordValue, valueMask);

}

 

void __fastcall kof2003WriteByteBankSwitch(unsigned int sekAddress, unsigned char byteValue)

{

unsigned short wordValue=0,valueMask=0xff;

if(!(sekAddress&1)) {

wordValue=byteValue<<8;

valueMask<<=8;

}

else{

wordValue=byteValue;

}

kof2003WriteBankSwitch(sekAddress,wordValue,value Mask);

}

 

void kof2003_RomExchange()

{

memcpy(Neo68KROM01+0x100000,Neo68KROM01,0x600000) ;

memcpy(Neo68KROM01,Neo68KROM01+0x700000,0x100000) ;

memset(Neo68KROM01+0x700000,0,0x100000);

}

 

static void kof2003MapHandler()

{

// Install BankSwitch handler

SekMapHandler(5, 0x2fe000, 0x2fffff, SM_READ);

SekSetReadWordHandler(5, kof2003ReadWordBankSwitch);

SekSetReadByteHandler(5, kof2003ReadByteBankSwitch);

 

SekMapHandler(5, 0x2fe000, 0x2fffff, SM_WRITE);

SekSetWriteWordHandler(5, kof2003WriteWordBankSwitch);

SekSetWriteByteHandler(5, kof2003WriteByteBankSwitch);

}

 

static int kof2003Init()

{

int nRet;

 

memset(kof2003_tbl,0,0x2000);

 

pNeoInitCallback=kof2003_RomExchange;

 

nRet=NeoInit();

if(!nRet)

kof2003MapHandler();

return nRet;

}

 

struct BurnDriver BurnDrvkof2003 = {

{"kof2003", "The King of Fighters 2003 ( Bootleg )", NULL, "SNK Playmore Corporation", "Neo Geo", "2003", NULL, "neogeo"},

BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_NEWBANKSYSTEM,

NULL, kof2003RomInfo, kof2003RomName, neogeoInputInfo, neogeoDIPInfo,

kof2003Init, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,

nNeoScreenWidth, 224, 4, 3

};

Edited by james
Link to comment
Share on other sites

For anyone who is having trouble compiling FBA with KOF2003 here's the neogeo.h neo_run.cpp and d_neogeo.cpp with the kof2003 code included. Just extract them into your FBA source code folder.

 

KOF2003 FBA

 

Thanks to IQ_132 for hooking up the above files.....

Edited by ForceX
Link to comment
Share on other sites

For anyone who is having trouble compiling FBA with KOF2003 here's the neogeo.h neo_run.cpp and d_neogeo.cpp with the kof2003 code included. Just extract them into your FBA source code folder.

 

KOF2003 FBA

 

Thanks to IQ_132 for hooking up the above files.....

Thanks for passing on the info. 8)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...