James Posted February 17, 2004 Author Posted February 17, 2004 (edited) kof2003 working in FBA (Final Burn Alpha ) neo_run.cpp and neogeo.h are in src\burn\neogeo\------------------------------------------------------------------------------------------neo_run.cppcode 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.hcode ---------------- #define HARDWARE_SNK_NEWBANKSYSTEM 0x0200 --------------------------------------------------------------------------------d_neogeocode--------------------------- // 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]>>|(kof2003_tbl[0xff9]<<; *(((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 February 17, 2004 by james
ForceX Posted February 17, 2004 Posted February 17, 2004 (edited) 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 February 17, 2004 by ForceX
N3oGhost Posted February 17, 2004 Posted February 17, 2004 One more step getting this on xboxIm compiling as i write this. (crosses fingers)
ForceX Posted February 17, 2004 Posted February 17, 2004 If this works then I will be very very very happy
James Posted February 17, 2004 Author Posted February 17, 2004 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.
N3oGhost Posted February 17, 2004 Posted February 17, 2004 Ok well i just tested it and this is what happens for me: I changed the m1d rom info to match my set (128kb crc396e17cd) First time i loaded up the rom, i could see the credits in the lower corners (credits 04)........just blinking on and off..... went back into dip settings and selected UNIVERSE BIOS.......reset romselected JAPAN and ARCADE........restarted rom. It showed the Universe Bios screen, that green jumbly stuff.....the recycled back to the Universe Bios screen, green jumbly stuff, etc etc......went in a seemingly endless loop. goint to re-compile with the specified m1 file from original driver.
Prican25 Posted February 17, 2004 Posted February 17, 2004 link is dead now but i'll wait for N3OGH0ST's report if it works on fbax for xbox
ForceX Posted February 17, 2004 Posted February 17, 2004 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. Hehehehehehehe well we've got to keep everyone informed so that everyone can enjoy all of the KOF2003 goodness.
N3oGhost Posted February 17, 2004 Posted February 17, 2004 Ok just finished testing the 512kb M1d rom listed in the driver. Same exact thing. some strange loop. like i said in unibios i get to the NEOGEO (universion bios) splash screen (not the selection one, after you do that and load the rom.) then it goes to the green stuff then back to that splash screen. strange. seems like its so damn close.....all my other roms run with this compile........could be an error in the other two files that i wrote....but it had to have been a good error for the emu to compile..... asking for help.
kaioshade Posted February 17, 2004 Posted February 17, 2004 So close. I wish i knew anything about this stuff.
ForceX Posted February 17, 2004 Posted February 17, 2004 (edited) Sorry guys....the last file I posted was missing the files you need to compile....Here is the proper files.... FBA KOF2003 Files Once again credit goes to IQ_132 *EDIT* You have to right mouse click and then select "Save Target As" Edited February 17, 2004 by ForceX
Prican25 Posted February 17, 2004 Posted February 17, 2004 (edited) ok, i'm totally a n00b with fba so where do i put the driver at or this has to be complied like mame? i grabbed the latest version if that helps in anyway hehe Edited February 17, 2004 by Prican25
N3oGhost Posted February 17, 2004 Posted February 17, 2004 whenever you have a "driver" it means youll be dealing with re-compiling some source. so youll need the source and some other tools i suspect before you can get this badboy runnin. (i assume you were talkin about the PC version?)
Recommended Posts