Final Burn Neo > FBN Development

kof2003 PCB BIOS support.

(1/5) > >>

BisonSAS:
Here's the PCB BIOS support for kof2003. :)

in neo_run.cpp
find:

--- Code: --- Neo68KBIOS = Next; Next += 0x020000; // 68K boardROM
--- End code ---


replace:

--- Code: --- Neo68KBIOS = Next; Next += nCodeSize; // 68K boardROM
--- End code ---






find:

--- Code: --- if ((BurnDrvGetHardwareCode() & HARDWARE_SNK_CONTROLMASK) == HARDWARE_SNK_TRACKBALL) {
nNewBIOS = 9;
}
--- End code ---


add this after:

--- Code: --- if (strcmp(BurnDrvText(0), "kof2003") == 0 || strcmp(BurnDrvText(0), "kof2k3ba") == 0) {
nNewBIOS = 3;
}
--- End code ---






find:

--- Code: --- // Patch out checksum test (the AES BIOS doesn't have one)
if (nBIOS == 9) {  
*((unsigned short*)(Neo68KBIOS + 0x010D8C)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D8E)) = 0x4E71;
}
--- End code ---


add this after:

--- Code: --- // Implemented PCB BIOS by BisonSAS
// Patch out the BIOS NEO-GEO MVS SYSTEM (JAPAN/J3) Ver. 6
if (nBIOS == 3) {
/* PCB BIOS patch, for system ROM error */
*((unsigned short*)(Neo68KBIOS + 0x010AA4)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010AA6)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D86)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D88)) = 0x4E71;
}
--- End code ---






find:

--- Code: ---static int neogeoReset()
{
NeoLoad68KBIOS((NeoSystem & 0x07) ^ 4);

if (nBIOS == -1 || nBIOS == 9) {
// Write system type & region code into BIOS ROM
*((unsigned short*)(Neo68KBIOS + 0x000400)) = ((NeoSystem & 4)

FerchogtX:
thanks a lot man!!! this is great... Only a question: this patches the calendar and the booting green screen?

--- Code: --- // Implemented PCB BIOS by BisonSAS
// Patch out the BIOS NEO-GEO MVS SYSTEM (JAPAN/J3) Ver. 6
if (nBIOS == 3) {
/* PCB BIOS patch */
*((unsigned short*)(Neo68KBIOS + 0x010AA4)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010AA6)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D86)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D88)) = 0x4E71;
}
--- End code ---
Just for know, great work man
See ya!!!!! :D

BisonSAS:

--- Quote from: FerchogtX ---Only a question: this patches the calendar and the booting green screen?

--- End quote ---

No, this patch's for system ROM error.


For calendar error using generic fix:

--- Code: --- uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game
--- End code ---


Patch for booting green screen is unknown. :confused: :(

I updated the information of the patch:

--- Code: --- // Implemented PCB BIOS by BisonSAS
// Patch out the BIOS NEO-GEO MVS SYSTEM (JAPAN/J3) Ver. 6
if (nBIOS == 3) {
/* PCB BIOS patch, for system ROM error */
*((unsigned short*)(Neo68KBIOS + 0x010AA4)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010AA6)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D86)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + 0x010D88)) = 0x4E71;
}
--- End code ---
   


See ya! :cool:

Shoometsu:

--- Quote from: BisonSAS ---
For calendar error using generic fix:

--- Code: --- uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game
--- End code ---


--- End quote ---


where do I put this exactly :confused:

BisonSAS:

--- Quote from: Shoometsu ---where do I put this exactly :confused:
--- End quote ---


in neo_run.cpp
find:

--- Code: --- uPD4990AInit(12000000);
--- End code ---


replace:

--- Code: --- uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game
--- End code ---



See ya! :D

Navigation

[0] Message Index

[#] Next page

Go to full version