Welcome!

Final Burn Neo => FBN Development => Topic started by: BisonSAS on December 03, 2004, 12:13:51 AM

Title: kof2003 PCB BIOS support.
Post by: BisonSAS on December 03, 2004, 12:13:51 AM
Here's the PCB BIOS support for kof2003. :)

in neo_run.cpp
find:
Code: [Select]
Neo68KBIOS = Next; Next += 0x020000; // 68K boardROM

replace:
Code: [Select]
Neo68KBIOS = Next; Next += nCodeSize; // 68K boardROM





find:
Code: [Select]
if ((BurnDrvGetHardwareCode() & HARDWARE_SNK_CONTROLMASK) == HARDWARE_SNK_TRACKBALL) {
nNewBIOS = 9;
}


add this after:
Code: [Select]
if (strcmp(BurnDrvText(0), "kof2003") == 0 || strcmp(BurnDrvText(0), "kof2k3ba") == 0) {
nNewBIOS = 3;
}






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


add this after:
Code: [Select]
// 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;
}






find:
Code: [Select]
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) << 13) | (NeoSystem & 0x03);
}


replace:
Code: [Select]
static int neogeoReset()
{
NeoLoad68KBIOS((NeoSystem & 0x07) ^ 4);

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






in d_neogeo.cpp
find:
Code: [Select]
STDDIPINFO(neotrackball);

add this after:
Code: [Select]
static struct BurnDIPInfo neopcbDIPList[] = {
// Offset
{0x19, 0xF0, 0x00, 0x00, NULL},

// Defaults
{0x00, 0xFF, 0xFF, 0x00, NULL},
{0x01, 0xFF, 0x7F, 0x00, NULL},
// Fake DIPs
{0x02, 0xFF, 0xFF, 0x86, NULL},

{0, 0xFE, 0, 2,  "Autofire"},
{0x00, 0x01, 0x04, 0x00, "Off"},
{0x00, 0x01, 0x04, 0x04, "On"},

// DIP 1
{0, 0xFE, 0, 2,  "Setting mode"},
{0x00, 0x01, 0x01, 0x00, "Off"},
{0x00, 0x01, 0x01, 0x01, "On"},

// 1 or 2 coin slots
{0, 0xFE, 0, 2,  "Coin chutes"},
{0x00, 0x02, 0x02, 0x00, "1"},
{0x02, 0x00, 0x3F, 0x06, NULL},
{0x00, 0x02, 0x02, 0x02, "2"},
{0x02, 0x00, 0x3F, 0x06, NULL},
// 2 or 4 coin slots
{0, 0xFE, 0, 2,  "Coin chutes"},
{0x00, 0x82, 0x02, 0x00, "2"},
{0x02, 0x00, 0x3F, 0x06, NULL},
{0x00, 0x82, 0x02, 0x02, "4"},
{0x02, 0x00, 0x3F, 0x06, NULL},

{0, 0xFE, 0, 5,  "Commmunicaton"},
{0x00, 0x01, 0x38, 0x00, "Disabled"},
{0x00, 0x01, 0x38, 0x08, "Setting 1"},
{0x00, 0x01, 0x38, 0x10, "Setting 2"},
{0x00, 0x01, 0x38, 0x18, "Setting 3"},
{0x00, 0x01, 0x38, 0x20, "Setting 4"},
{0x00, 0x01, 0x38, 0x28, "Setting 5"},
{0x00, 0x01, 0x38, 0x30, "Setting 6"},
{0x00, 0x01, 0x38, 0x38, "Setting 7"},
{0, 0xFE, 0, 2,  "Free play"},
{0x00, 0x01, 0x40, 0x00, "Off"},
{0x00, 0x01, 0x40, 0x40, "On"},
{0, 0xFE, 0, 2,  "Stop mode"},
{0x00, 0x01, 0x80, 0x00, "Off"},
{0x00, 0x01, 0x80, 0x80, "On"},

// Fake DIPs

// Memory card
{0, 0xFD, 0, 2,  "Memory card"},
{0x02, 0x01, 0x80, 0x80, "Writable"},
{0x02, 0x01, 0x80, 0x00, "Write-protected"},

// MVS/AES system
{0, 0xFD, 0, 2,  NULL},
{0x02, 0x02, 0x04, 0x04, "MVS system"},
{0x02, 0x00, 0x30, 0x00, NULL},
{0x02, 0x02, 0x04, 0x00, "AES system"},
{0x02, 0x00, 0x30, 0x00, NULL},
// Region
{0, 0xFD, 0, 3,  "Region"},
{0x02, 0x01, 0x03, 0x00, "Japan"},
{0x02, 0x01, 0x03, 0x01, "USA"},
{0x02, 0x01, 0x03, 0x02, "Asia / Europe"},
{0x02, 0x01, 0x03, 0x03, "Japan"},
};

STDDIPINFO(neopcb);






find:
Code: [Select]
STD_ROM_PICK(neotrackball);
STD_ROM_FN(neotrackball);


add this after:
Code: [Select]
static struct BurnRomInfo neopcbRomDesc[] = {
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},                              
{"271-bios.bin", 0x040000, 0xc521b5bc, 0xD0}, //  3 68K BIOS (JP, MVS, ? slot, version 6, supports kof2003 PCB)
{"", 0, 0, 0},
{"", 0, 0, 0},

{"", 0, 0, 0},
{"", 0, 0, 0},

{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},


{"sm1.sm1", 0x020000, 0x97Cf998B, 0x10}, // 10 Z80 program
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"sfix.sfx", 0x020000, 0x354029FC, 1}, // 14 Text layer tiles
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"000-lo.lo", 0x010000, 0xE09E253C,    1}, // 18 Zoom table
};

STD_ROM_PICK(neopcb);
STD_ROM_FN(neopcb);






in kof2003 driver or kof2k3ba
find:
Code: [Select]
STDROMPICKEXT(kof2003, kof2003, neogeo);
STD_ROM_FN(kof2003);


replace:
Code: [Select]
STDROMPICKEXT(kof2003, kof2003, neopcb);
STD_ROM_FN(kof2003);



find:
Code: [Select]
neogeoDIPInfo

replace:
Code: [Select]
neopcbDIPInfo


Tested using kof2k3ba ;)
 
See ya!! :D
Title: kof2003 PCB BIOS support.
Post by: FerchogtX on December 03, 2004, 12:25:06 PM
thanks a lot man!!! this is great... Only a question: this patches the calendar and the booting green screen?
Code: [Select]
// 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;
}
Just for know, great work man
See ya!!!!! :D
Title: kof2003 PCB BIOS support.
Post by: BisonSAS on December 03, 2004, 09:15:20 PM
Quote from: FerchogtX
Only a question: this patches the calendar and the booting green screen?

No, this patch's for system ROM error.
(http://www.imghst.com/uploads/bisonsas/kof2003-11-03-220558.png)

For calendar error using generic fix:
Code: [Select]
uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game

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

I updated the information of the patch:
Code: [Select]
// 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;
}
   


See ya! :cool:
Title: kof2003 PCB BIOS support.
Post by: Shoometsu on December 04, 2004, 05:14:42 AM
Quote from: BisonSAS

For calendar error using generic fix:
Code: [Select]
uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game


where do I put this exactly :confused:
Title: kof2003 PCB BIOS support.
Post by: BisonSAS on December 04, 2004, 11:12:34 AM
Quote from: Shoometsu
where do I put this exactly :confused:


in neo_run.cpp
find:
Code: [Select]
uPD4990AInit(12000000);

replace:
Code: [Select]
uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game


See ya! :D
Title: kof2003 PCB BIOS support.
Post by: Shoometsu on December 04, 2004, 03:42:48 PM
Quote from: BisonSAS
in neo_run.cpp
find:
Code: [Select]
uPD4990AInit(12000000);

replace:
Code: [Select]
uPD4990AInit((int)((long long)12000000 * nBurnCPUSpeedAdjust / 256)); // This is used to avoid calendar errors while overclockng a neogeo game


See ya! :D


thnkx, working XD
Title: kof2003 PCB BIOS support.
Post by: bms888 on December 14, 2004, 05:17:33 AM
Quote from: FerchogtX
thanks a lot man!!! this is great... Only a question: this patches the calendar and the booting green screen?
Code: [Select]
// 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;
}
Just for know, great work man
See ya!!!!! :D

patches the calendar and the booting green screen? ^_^


in old mame (ex: mame32K),you just change your src code from this

Code: [Select]
DRIVER_INIT( kof2003 )
{
kof2003_px_decrypt();
kof2003_sx_decrypt();

[COLOR=Blue] neogeo_fix_bank_type = 2;
init_neogeo();[/COLOR]

install_mem_read16_handler(0, 0x2fe000, 0x2fffff, MRA16_RAM );
install_mem_write16_handler(0, 0x2fe000, 0x2fffff, MWA16_RAM );

install_mem_read16_handler(0, 0x2fffe0, 0x2fffef, mv0_prot_r );
install_mem_write16_handler(0, 0x2fffe0, 0x2fffef, mv0_prot_w );

install_mem_read16_handler(0, 0x2ffff0, 0x2ffff3, mv0_bankswitch_r );
install_mem_write16_handler(0, 0x2ffff0, 0x2ffff3, mv0_bankswitch_w );

install_mem_read16_handler(0, 0xc00000, 0xc3ffff, MRA16_BANK3 );  // 256k bios
}


to this:
Code: [Select]
DRIVER_INIT( kof2003 )
{
kof2003_px_decrypt();
kof2003_sx_decrypt();

install_mem_read16_handler(0, 0x2fe000, 0x2fffff, MRA16_RAM );
install_mem_write16_handler(0, 0x2fe000, 0x2fffff, MWA16_RAM );

install_mem_read16_handler(0, 0x2fffe0, 0x2fffef, mv0_prot_r );
install_mem_write16_handler(0, 0x2fffe0, 0x2fffef, mv0_prot_w );

install_mem_read16_handler(0, 0x2ffff0, 0x2ffff3, mv0_bankswitch_r );
install_mem_write16_handler(0, 0x2ffff0, 0x2ffff3, mv0_bankswitch_w );

install_mem_read16_handler(0, 0xc00000, 0xc3ffff, MRA16_BANK3 );  // 256k bios

[COLOR=Red] neogeo_fix_bank_type = 2;
init_neogeo();[/COLOR]
}
Title: kof2003 PCB BIOS support.
Post by: bms888 on December 14, 2004, 05:22:37 AM
Quote from: BisonSAS
Here's the PCB BIOS support for kof2003. :)

in neo_run.cpp
find:
Code: [Select]
Neo68KBIOS = Next; Next += 0x020000; // 68K boardROM

replace:
Code: [Select]
Neo68KBIOS = Next; Next += nCodeSize; // 68K boardROM


find:
Code: [Select]
neogeoDIPInfo

replace:
Code: [Select]
neopcbDIPInfo


Tested using kof2k3ba ;)
 
See ya!! :D


maybe not add neopcbDIPInfo,^_^
Title: kof2003 PCB BIOS support.
Post by: JiMMy_PaGe on December 15, 2004, 05:16:41 PM
I've discovered some intersting thing on kof2k3 bios:
If u split 271-bios.bin in two parts u will see:
Part 1 128kb crc 5172FF3B = jap version 6 bios
Part 2 128kb crc B5C742B2 = part of kof2003 68k rom
So if the first part its a bios, u just have to change it for bios u want:
like:
sp-e.sp1 + part 2 = 271-osuh.bin crc C6ED9E25
vs-bios.rom + part2 = 271-osah.bin crc BBAA398F
uni-bios.20 + part2 = 271-unibios.bin crc CECAD563
So now theres no need to use that whole code to run just one bios, u can use juse it (i renamed the bios name, just to make it not confused, but u can change it whatever u want)

Code: [Select]
static struct BurnDIPInfo neopcbDIPList[] = {
// Offset
{0x19, 0xF0, 0x00, 0x00, NULL},

// Defaults
{0x00, 0xFF, 0xFF, 0x00, NULL},
{0x01, 0xFF, 0x7F, 0x00, NULL},
// Fake DIPs
{0x02, 0xFF, 0xFF, 0x86, NULL},

{0, 0xFE, 0, 2,  "Autofire"},
{0x00, 0x01, 0x04, 0x00, "Off"},
{0x00, 0x01, 0x04, 0x04, "On"},

// DIP 1
{0, 0xFE, 0, 2,  "Setting mode"},
{0x00, 0x01, 0x01, 0x00, "Off"},
{0x00, 0x01, 0x01, 0x01, "On"},

// 1 or 2 coin slots
{0, 0xFE, 0, 2,  "Coin chutes"},
{0x00, 0x02, 0x02, 0x00, "1"},
{0x02, 0x00, 0x3F, 0x06, NULL},
{0x00, 0x02, 0x02, 0x02, "2"},
{0x02, 0x00, 0x3F, 0x06, NULL},
// 2 or 4 coin slots
{0, 0xFE, 0, 2,  "Coin chutes"},
{0x00, 0x82, 0x02, 0x00, "2"},
{0x02, 0x00, 0x3F, 0x06, NULL},
{0x00, 0x82, 0x02, 0x02, "4"},
{0x02, 0x00, 0x3F, 0x06, NULL},

{0, 0xFE, 0, 5,  "Commmunicaton"},
{0x00, 0x01, 0x38, 0x00, "Disabled"},
{0x00, 0x01, 0x38, 0x08, "Setting 1"},
{0x00, 0x01, 0x38, 0x10, "Setting 2"},
{0x00, 0x01, 0x38, 0x18, "Setting 3"},
{0x00, 0x01, 0x38, 0x20, "Setting 4"},
{0x00, 0x01, 0x38, 0x28, "Setting 5"},
{0x00, 0x01, 0x38, 0x30, "Setting 6"},
{0x00, 0x01, 0x38, 0x38, "Setting 7"},
{0, 0xFE, 0, 2,  "Free play"},
{0x00, 0x01, 0x40, 0x00, "Off"},
{0x00, 0x01, 0x40, 0x40, "On"},
{0, 0xFE, 0, 2,  "Stop mode"},
{0x00, 0x01, 0x80, 0x00, "Off"},
{0x00, 0x01, 0x80, 0x80, "On"},
// Fake DIPs

// Memory card
{0, 0xFD, 0, 2,  "Memory card"},
{0x02, 0x01, 0x80, 0x80, "Writable"},
{0x02, 0x01, 0x80, 0x00, "Write-protected"},

// MVS/AES system
{0, 0xFD, 0, 2,  NULL},
{0x02, 0x02, 0x04, 0x04, "MVS system"},
{0x02, 0x00, 0x30, 0x00, NULL},
{0x02, 0x02, 0x04, 0x00, "AES system"},
{0x02, 0x00, 0x30, 0x00, NULL},
// Region
{0, 0xFD, 0, 3,  "Region"},
{0x02, 0x02, 0x03, 0x00, "Japan"},
{0x02, 0x00, 0x30, 0x00, NULL},
{0x02, 0x02, 0x03, 0x01, "USA"},
{0x02, 0x00, 0x30, 0x00, NULL},
{0x02, 0x02, 0x03, 0x02, "Asia / Europe"},
{0x02, 0x00, 0x30, 0x00, NULL},
{0x02, 0x02, 0x03, 0x03, "Japan"},
{0x02, 0x00, 0x30, 0x00, NULL},
// Custom BIOS
{0, 0xFD, 0, 3,  NULL},
{0x02, 0x01, 0x30, 0x00, "Normal BIOS"},
{0x02, 0x01, 0x30, 0x10, "Debug BIOS"},
{0x02, 0x01, 0x30, 0x20, "Universe BIOS"},
};


Code: [Select]

static struct BurnRomInfo neopcbRomDesc[] = {
        {"271-osjd.bin", 0x040000, 0xc521b5bc, 0xD0}, //   68K BIOS (JP, MVS, 3 slot, version 6, supports kof2003 PCB)
        {"271-osuh.bin", 0x040000, 0xC6ED9E25, 0xD0}, //   68K BIOS (US, MVS, 6 slot, version 1, supports kof2003 PCB)
{"271-osah.bin", 0x040000, 0xBBAA398F, 0x50}, //   68K BIOS (AS, MVS, ? slot, version 3, supports kof2003 PCB)
{"", 0, 0, 0},



{"", 0, 0, 0},
{"", 0, 0, 0},
{"271-aes.bin",0x040000, 0xE8B1F6F4, 0xD0}, // 6 68K BIOS (AS, AES)
{"", 0, 0, 0},

        {"271-debug.bin",0x040000, 0x31413A92, 0xD0}, //  8 68K BIOS (JP, devkit)
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

        {"271-unibios.bin",0x040000, 0xCECAD563, 0xD0}, //  C Universe BIOS (v2.0)
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},


{"sm1.sm1", 0x020000, 0x97Cf998B, 0x10}, // 10 Z80 program
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"sfix.sfx", 0x020000, 0x354029FC, 1}, // 14 Text layer tiles
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"000-lo.lo", 0x010000, 0xE09E253C,    1}, // 18 Zoom table
};

STD_ROM_PICK(neopcb);
STD_ROM_FN(neopcb);


Now we just have to wait until the encrypted c and m come out (it will be easy)
Title: kof2003 PCB BIOS support.
Post by: James33 on December 15, 2004, 07:23:33 PM
Yes I allready knew that .

Nice job on the code :)
Title: kof2003 PCB BIOS support.
Post by: JiMMy_PaGe on December 16, 2004, 09:56:04 AM
I've updated the whole bios set, now the names are correct, and theres suport for all bios...
I will pass the crc of the part 1 bios files latter
See ya xD
Title: kof2003 PCB BIOS support.
Post by: James33 on December 16, 2004, 10:21:32 AM
Now I sit and wonder how this sort of support could work for Mame :)
Title: kof2003 PCB BIOS support.
Post by: BisonSAS on December 17, 2004, 01:19:09 AM
Quote from: Jimmy_Page
I've discovered some intersting thing on kof2k3 bios:
If u split 271-bios.bin in two parts u will see:
Part 1 128kb crc 5172FF3B = jap version 6 bios

Hey Jimmy,
Part 1 128kb it's not the bios japan 6.
112.363 differences found. :eek:

 :cool:
Title: kof2003 PCB BIOS support.
Post by: iq_132 on December 17, 2004, 01:28:12 AM
I think he meant Jap. Version 3
Title: kof2003 PCB BIOS support.
Post by: BisonSAS on December 17, 2004, 02:10:24 AM
Quote from: iq_132
I think he meant Jap. Version 3

2 versions of the bios japan exist, and more the version of Kof 2003.

Look:  
BIOS NEO-GEO MVS SYSTEM (JAPAN) Ver. 6.00
vs-bios.rom -> CRC: F0E8F27D

(http://www.imghst.com/uploads/bisonsas/2020bb-10-27-204426.png)


BIOS NEO-GEO MVS SYSTEM (JAPAN/J3) Ver. 6 PCB Kof 2003
271-bios.bin -> CRC: C521B5BC
Part 1 128kb CRC: 5172FF3B

(http://www.imghst.com/uploads/bisonsas/kof2003b-10-27-204249.png)


BIOS JAPAN VERSION 2(?)
sp-j2.rom -> CRC: ACEDE59C

(http://www.imghst.com/uploads/bisonsas/zupapan-11-17-065624.png)


All have different CRC. ;)  :cool:
Title: kof2003 PCB BIOS support.
Post by: iq_132 on December 17, 2004, 03:08:36 AM
i'm talking about sp-j3.sp1 crc 3856533F there are only about 10 real diffs between the first 128k of the 271 bios and this.
Title: Hmmm...
Post by: KingHanco on December 17, 2004, 04:41:55 AM
Look like 1 protype, 1 master and 1 beta on kof 2003??? :)
Title: kof2003 PCB BIOS support.
Post by: JiMMy_PaGe on December 17, 2004, 05:29:33 AM
Quote from: BisonSAS
Hey Jimmy,
Part 1 128kb it's not the bios japan 6.
112.363 differences found. :eek:

 :cool:

Yeah, i always confuse those bios name xD  :D
Thanks for correct me xD
See ya  :cool:
Title: kof2003 PCB BIOS support.
Post by: James33 on December 17, 2004, 09:19:35 AM
Quote from: KingHanco
Look like 1 protype, 1 master and 1 beta on kof 2003??? :)

There not just for kof2003 :)
except for:
BIOS NEO-GEO MVS SYSTEM (JAPAN/J3) Ver. 6 PCB Kof 2003
271-bios.bin -> CRC: C521B5BC
Part 1 128kb CRC: 5172FF3B
Title: kof2003 PCB BIOS support.
Post by: FerchogtX on December 17, 2004, 11:55:13 AM
BIOS for kof2003 has different CRC and info because has support for the zoom effect and other instructions for the game, so this bios is the real decrypted japan version for kof2003 PCB, one of the other bios can have the same data because are normal MVS BIOS
See ya!!!!!! :D
Title: kof2003 PCB BIOS support.
Post by: bms888 on December 18, 2004, 01:33:27 AM
My kof2003 pcb bios support code,can play with all Region(JAP/USA/EURO) and all mode(MVS & AES), don't use any hack bios,^_^

Code: [Select]

static struct BurnRomInfo neokof03RomDesc[] = {
{"271-osjd.bin",0x040000, 0xC521B5BC, 0xD0}, //  0 68K BIOS (JP/AS, MVS)
{"usa_2slt.bin",0x020000, 0xE72943DE, 0xD0}, //  1 68K BIOS (US, MVS, 2 slot, version 2)
{"sp-s2.sp1", 0x020000, 0x9036D879, 0xD0}, //  2 68K BIOS (AS, MVS, 1 slot, version 2)
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},
{"aes-bios.bin",0x020000, 0xD27A71F1, 0xD0}, // 6 68K BIOS (AS, AES)
{"", 0, 0, 0},

{"neodebug.bin",0x020000, 0x698EBB7D, 0xD0}, //  8 68K BIOS (JP, devkit)
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},
{"uni-bios.20", 0x020000, 0x0c12c2ad, 0xD0}, //  C Universe BIOS (v2.0)
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"sm1.sm1", 0x020000, 0x97Cf998B, 0x10}, // 10 Z80 program
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"sfix.sfx", 0x020000, 0x354029FC, 1}, // 14 Text layer tiles
{"", 0, 0, 0},
{"", 0, 0, 0},
{"", 0, 0, 0},

{"000-lo.lo", 0x010000, 0xE09E253C,    1}, // 18 Zoom table
};

STD_ROM_PICK(neokof03);
STD_ROM_FN(neokof03);


Code: [Select]
STDROMPICKEXT(kof2003, kof2003, [COLOR=Blue]neokof03[/COLOR]);
STD_ROM_FN(kof2003);