Jump to content

Welcome to 1Emulation.com
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account
Photo

(Kawaks / Nebula) King of Fighters 2003 News IV

- - - - -

  • This topic is locked This topic is locked
301 replies to this topic

#23
N3oGhost

N3oGhost

    Needs Sunlight

  • Premium Members
  • 590 posts
Click to view battle stats
so what relationship does the P roms have to the C roms?

would it be possible to restructure the P but then just change the order of the C roms?

or am i talkin out of my arse?
lol

#24
N3oGhost

N3oGhost

    Needs Sunlight

  • Premium Members
  • 590 posts
Click to view battle stats
This is the driver used to run KOF2000 on FBA

How similar is this to the Mame driver for KOF2000?

Im wondering if by comparing this one with mame we can do similar changes (where needed) to run kof2k3 on FBA (i know this is kawaks thread but there is no FBA thread and the smart cookies hang out here)

// The King Of Fighters 2000 (encrypted code & grahics)

static struct BurnRomInfo kof2000RomDesc[] = {
{"257-sma.bin",0x040000, 0x71C6E6BB, 0x10}, // 0 68K code
{"257-p1.bin", 0x400000, 0x60947B4C, 0x10}, // 1
{"257-p2.bin", 0x400000, 0x1B7EC415, 0x10}, // 2

{"257-c1.bin", 0x800000, 0xCEF1CDFA, 1}, // 3 Sprite data
{"257-c2.bin", 0x800000, 0xF7BF0003, 1}, // 4
{"257-c3.bin", 0x800000, 0x101E6560, 1}, // 5
{"257-c4.bin", 0x800000, 0xBD2FC1B1, 1}, // 6
{"257-c5.bin", 0x800000, 0x89775412, 1}, // 7
{"257-c6.bin", 0x800000, 0xFA7200D5, 1}, // 8
{"257-c7.bin", 0x800000, 0x7DA11FE4, 1}, // 9
{"257-c8.bin", 0x800000, 0xB1AFA60B, 1}, // 10

{"257-m1d.bin",0x040000, 0xD404DB70, 0x10}, // 11 Z80 code (decrypted)
{"257-m1.bin", 0x040000, 0x4B749113, 0x10}, // 11 Z80 code

{"257-v1.bin", 0x400000, 0x17CDE847, 2}, // 12 Sound data
{"257-v2.bin", 0x400000, 0x1aFB20FF, 2}, // 13
{"257-v3.bin", 0x400000, 0x4605036A, 2}, // 14
{"257-v4.bin", 0x400000, 0x764BBD6B, 2}, // 15
};

STDROMPICKEXT(kof2000, kof2000, neogeo);
STD_ROM_FN(kof2000);

static void kof2000SMADecrypt()
{
for (int i = 0; i < 0x800000 / 2; i++) {
((unsigned short*)Neo68KROM02)[i] = BITSWAP16(((unsigned short*)Neo68KROM02)[i], 12, 8, 11, 3, 15, 14, 7, 0, 10, 13, 6, 5, 9, 2, 1, 4);
}

for (int i = 0; i < 0x0C0000 / 2; i++) {
((unsigned short*)Neo68KROM01)[i] = ((unsigned short*)Neo68KROM01)[0x73A000 / 2 + BITSWAP24(i, 23, 22, 21, 20, 19, 18, 8, 4, 15, 13, 3, 14, 16, 2, 6, 17, 7, 12, 10, 0, 5, 11, 1, 9)];
}

for (int i = 0; i < 0x63A000 / 2; i += 0x0800 / 2) {
unsigned short nBuffer[0x0800 / 2];
memcpy(nBuffer, &((unsigned short*)Neo68KROM02)[i], 0x0800);
for (int j = 0; j < 0x0800 / 2; j++) {
((unsigned short*)Neo68KROM02)[i + j] = nBuffer[BITSWAP24(j, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 4, 1, 3, 8, 6, 2, 7, 0, 9, 5)];
}
}
}

void __fastcall kof2000WriteWordBankswitch(unsigned int sekAddress, unsigned short wordValue)
{
if (sekAddress == 0x2FFFEC) {
static unsigned int bankoffset[64] = {
0x000000, 0x100000, 0x200000, 0x300000, // 00
0x3f7800, 0x4f7800, 0x3ff800, 0x4ff800, // 04
0x407800, 0x507800, 0x40f800, 0x50f800, // 08
0x416800, 0x516800, 0x41d800, 0x51d800, // 12
0x424000, 0x524000, 0x523800, 0x623800, // 16
0x526000, 0x626000, 0x528000, 0x628000, // 20
0x52a000, 0x62a000, 0x52b800, 0x62b800, // 24
0x52d000, 0x62d000, 0x52e800, 0x62e800, // 28
0x618000, 0x619000, 0x61a000, 0x61a800, // 32
};

// Unscramble bank number
int nBank =
(((wordValue >> 15) & 1) << 0) +
(((wordValue >> 14) & 1) << 1) +
(((wordValue >> 7) & 1) << 2) +
(((wordValue >> 3) & 1) << 3) +
(((wordValue >> 10) & 1) << 4) +
(((wordValue >> 5) & 1) << 5);

if (bankoffset[nBank] != nNeo68KROMBank) {
nNeo68KROMBank = bankoffset[nBank];
SekMapMemory(Neo68KROM02 + nNeo68KROMBank, 0x200000, 0x2FE3FF, SM_ROM);
SekMapMemory(Neo68KROM02 + nNeo68KROMBank + 0x0FE800, 0x2FE800, 0x2FFBFF, SM_ROM);
}
}
}

static int kof2000Init()
{
nNeoTextROMSize = 0x080000;
nNeoProtectionXor = 0x00;

nNeoSMARNGAddress[0] = 0x2FFFD8; nNeoSMARNGAddress[1] = 0x2FFFDA;
pNeoSMABankswitch = kof2000WriteWordBankswitch;
pNeoInitCallback = kof2000SMADecrypt;

return NeoInit();
}

struct BurnDriver BurnDrvkof2000 = {
{"kof2000", "The King of Fighters 2000", NULL, "SNK", "Neo Geo", "2000", NULL, "neogeo"},
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ENCRYPTED_B | HARDWARE_SNK_ALTERNATE_TEXT | HARDWARE_SNK_SRAM | HARDWARE_SNK_SMA_PROTECTION,
NULL, kof2000RomInfo, kof2000RomName, neogeoInputInfo, neogeoDIPInfo,
kof2000Init, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};

Edited by N3oGhost, 06 February 2004 - 06:38 PM.


#25
Xeon

Xeon

    In love with his own ego.

  • Premium Members
  • 622 posts
Click to view battle stats
somone at ROMShare Forums posted a preliminary driver for FBA, and you can safely assume that it didnt work. but its a start :D

heres the posted driver

// King of Fighters 2003

static struct BurnRomInfo kof2003RomDesc[] = {
{"271-p1.bin", 0x400000, 0x92ed6ee3, 0x10}, // 0 68K code
{"271-p2.bin", 0x400000, 0x5d3d8bb3, 0x10}, // 0 68K code

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

{"271-c1d.bin", 0x800000, 0xe42fc226, 1}, // 2 Sprite data
{"271-c2d.bin", 0x800000, 0x1b5e3b58, 1}, // 3
{"271-c3d.bin", 0x800000, 0xd334fdd9, 1}, // 4
{"271-c4d.bin", 0x800000, 0xd457699, 1}, // 5
{"271-c5d.bin", 0x800000, 0x8a91aae4, 1}, // 6
{"271-c6d.bin", 0x800000, 0x9f8674b8, 1}, // 7
{"271-c7d.bin", 0x800000, 0x374ea523, 1}, // 8
{"271-c8d.bin", 0x800000, 0x75211f4d, 1}, // 9

{"271-m1d.bin", 0x080000, 0xe86af8f, 0x10}, // 10 Z80 code

{"271-v1d.bin", 0x400000, 0xd2b8aa5e, 2}, // 11 Sound data
{"271-v2d.bin", 0x400000, 0x71956ee2, 2}, // 12
{"271-v3d.bin", 0x400000, 0xddbbb199, 2}, // 13
{"271-v4d.bin", 0x400000, 0x1b90c4f, 2}, // 14
};

STDROMPICKEXT(kof2003, kof2003, neogeo);
STD_ROM_FN(kof2003);

static unsigned short kof2003_tbl[0x1000];

void __fastcall kof2003WriteWordBankswitch(unsigned int sekAddress, unsigned short wordValue)
{
if (sekAddress == 0x2fe000) {
//kof2003_tbl[sekAddress]=(kof2003_tbl[sekAddress]&mem_mask)|((~mem_mask)&wordValue);
if(sekAddress>0xff9) return;
nNeo68KROMBank = ((kof2003_tbl[0xff8]>>8)|(kof2003_tbl[0xff9]<<8))+0x100000;
SekMapMemory(Neo68KROM02 + nNeo68KROMBank, 0x??????, 0x??????, SM_ROM); 
}
}

static void kof2003Patch()
{
*((unsigned short*)(Neo68KROM01 + 0x1ff0)) = 0xa0;
*((unsigned short*)(Neo68KROM01 + 0x1ff1)) = 0xfe;
*((unsigned short*)(Neo68KROM01 + 0x1ff3)) = 0x7f;
*((unsigned short*)(Neo68KROM01 + 0x58196)) = kof2003_tbl[0xff9]&0xff;
}

static int kof2003Init()
{
//nNeoTextROMSize = 0x080000;
pNeoSMABankswitch=kof2003WriteWordBankswitch;
pNeoInitCallback = kof2003Patch;
return NeoInit();
}


struct BurnDriver BurnDrvkof2003 = {
{"kof2003", "The King of Fighters 2003", NULL, "Playmore", "Neo Geo", "2003", NULL, "neogeo"},
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_SWAPC,
NULL, kof2003RomInfo, kof2003RomName, neogeoInputInfo, neogeoDIPInfo,
NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};

i tried to make some fixes here and there myself but everything has just gone to worse.

Edited by Xeon, 06 February 2004 - 06:36 PM.


#26
James

James

    Emulation Master

  • 1Emu Veteran
  • 2,884 posts
  • Gender:Male
  • Location:Newcastle Australia
Click to view battle stats

somone at ROMShare Forums posted a preliminary driver for FBA, and you can safely assume that it didnt work. but its a start :D

heres the posted driver

// King of Fighters 2003

static struct BurnRomInfo kof2003RomDesc[] = {
{"271-p1.bin", 0x400000, 0x92ed6ee3, 0x10}, // 0 68K code
{"271-p2.bin", 0x400000, 0x5d3d8bb3, 0x10}, // 0 68K code

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

{"271-c1d.bin", 0x800000, 0xe42fc226, 1}, // 2 Sprite data
{"271-c2d.bin", 0x800000, 0x1b5e3b58, 1}, // 3
{"271-c3d.bin", 0x800000, 0xd334fdd9, 1}, // 4
{"271-c4d.bin", 0x800000, 0xd457699, 1}, // 5
{"271-c5d.bin", 0x800000, 0x8a91aae4, 1}, // 6
{"271-c6d.bin", 0x800000, 0x9f8674b8, 1}, // 7
{"271-c7d.bin", 0x800000, 0x374ea523, 1}, // 8
{"271-c8d.bin", 0x800000, 0x75211f4d, 1}, // 9

{"271-m1d.bin", 0x080000, 0xe86af8f, 0x10}, // 10 Z80 code

{"271-v1d.bin", 0x400000, 0xd2b8aa5e, 2}, // 11 Sound data
{"271-v2d.bin", 0x400000, 0x71956ee2, 2}, // 12
{"271-v3d.bin", 0x400000, 0xddbbb199, 2}, // 13
{"271-v4d.bin", 0x400000, 0x1b90c4f, 2}, // 14
};

STDROMPICKEXT(kof2003, kof2003, neogeo);
STD_ROM_FN(kof2003);

static unsigned short kof2003_tbl[0x1000];

void __fastcall kof2003WriteWordBankswitch(unsigned int sekAddress, unsigned short wordValue)
{
if (sekAddress == 0x2fe000) {
//kof2003_tbl[sekAddress]=(kof2003_tbl[sekAddress]&mem_mask)|((~mem_mask)&wordValue);
if(sekAddress>0xff9) return;
nNeo68KROMBank = ((kof2003_tbl[0xff8]>>8)|(kof2003_tbl[0xff9]<<8))+0x100000;
SekMapMemory(Neo68KROM02 + nNeo68KROMBank, 0x??????, 0x??????, SM_ROM); 
}
}

static void kof2003Patch()
{
*((unsigned short*)(Neo68KROM01 + 0x1ff0)) = 0xa0;
*((unsigned short*)(Neo68KROM01 + 0x1ff1)) = 0xfe;
*((unsigned short*)(Neo68KROM01 + 0x1ff3)) = 0x7f;
*((unsigned short*)(Neo68KROM01 + 0x58196)) = kof2003_tbl[0xff9]&0xff;
}

static int kof2003Init()
{
//nNeoTextROMSize = 0x080000;
pNeoSMABankswitch=kof2003WriteWordBankswitch;
pNeoInitCallback = kof2003Patch;
return NeoInit();
}


struct BurnDriver BurnDrvkof2003 = {
{"kof2003", "The King of Fighters 2003", NULL, "Playmore", "Neo Geo", "2003", NULL, "neogeo"},
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_SWAPC,
NULL, kof2003RomInfo, kof2003RomName, neogeoInputInfo, neogeoDIPInfo,
NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};

i tried to make some fixes here and there myself but everything has just gone to worse.

May i ask what happens when you try to load the game ?

#27
Xeon

Xeon

    In love with his own ego.

  • Premium Members
  • 622 posts
Click to view battle stats
nothing, the same grid of death screen as usual. like i said, the driver is preliminary, or maybe i should say a rough translation from the MAME driver.

#28
James

James

    Emulation Master

  • 1Emu Veteran
  • 2,884 posts
  • Gender:Male
  • Location:Newcastle Australia
Click to view battle stats

nothing, the same grid of death screen as usual. like i said, the driver is preliminary, or maybe i should say a rough translation from the MAME driver.

Ok thank you :lol:

#29
Iori Yagami

Iori Yagami

    Member

  • Members+
  • 97 posts
  • Gender:Male
Click to view battle stats
I hear these guys have news:
http://fightersgym.k...forum/index.php? s=c0842fae5ea058ffcdd2d58da24fbaf3&showtopic=652&st=140&#entry21478

#30
alphabetman

alphabetman

    Member

  • Members
  • 70 posts
Click to view battle stats
i don't see any news on that page that we don't have here

#31
N3oGhost

N3oGhost

    Needs Sunlight

  • Premium Members
  • 590 posts
Click to view battle stats
Just a pissed mod about rom beggars or somethin. Still new source is new source, im a member now

#32
Spiffy

Spiffy

    Teh Vempyr Slayer

  • Premium Members
  • 376 posts
  • Location:CastleVania
  • Interests:Emulation, RPG Games, Bishoujo, Music/Mp3, Animes, Arcade Malls, Watching DVD Movies.. more..
Click to view battle stats
kof2k3 updates, try this link m8s... Click Me

Edited by Spiffy, 07 February 2004 - 02:02 AM.


#33
bled2deth17

bled2deth17

    Proud Fan

  • Premium Members
  • 111 posts
  • Location:Braintree, MA
  • Interests:as far as games go, most anything in two dimensions. my harddrive got fried earlier on, and I'm trying to rebuild the rom collection, so I'm very glad I found this place again (used to be emulforums.cjb). fave emulator is neorage by far. other interests and details: music is life, love is suicide, beliefs are trivial, rock lives on, deftones are good, tool is good, HIM is good, vast is good, cover songs rock, poetry is expression, expression is human, human is frowned upon these days, english is easy, writing is healthy, school is dumb, the rest is detail.
Click to view battle stats

kof2k3 updates, try this link m8s... Click Me

coolness :D

a quick heads up on that DAT though, capitalize the word "Neo" or it won't work. musta been a slight typo. this is a very nice setup right here, but at the moment it's nothing I can do anything with. the testing of the individual roms and stuff is an art I'm illiterate in. we know there's capable hands around though, hurrah for progress!

Edited by bled2deth17, 07 February 2004 - 03:58 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users