Author Topic: SVC Chaos driver infos.  (Read 47023 times)

Offline PRican25

  • Newbies
  • *
  • Posts: 44
  • Karma: +0/-0
  • Balla Bori Balla
SVC Chaos driver infos.
« Reply #60 on: December 04, 2004, 01:05:35 PM »
ok, i just tried using the svcchaos drivers iq_132 posted on page 5 and done everything need but when compiling i get an error dealing with kof2003bMapHandlder:
Code: [Select]
src/burn/neogeo/d_neogeo.cpp: In function `int svcchaosInit()':
src/burn/neogeo/d_neogeo.cpp:8729: `kof2003b_tbl' undeclared (first use this
   function)
src/burn/neogeo/d_neogeo.cpp:8729: (Each undeclared identifier is reported only

   once for each function it appears in.)
src/burn/neogeo/d_neogeo.cpp:8733: `kof2003bMapHandler' undeclared (first use
   this function)
src/burn/neogeo/d_neogeo.cpp: At global scope:
src/burn/neogeo/d_neogeo.cpp:9093: `short unsigned int kof2003b_tbl[4096]' used

   prior to declaration
src/burn/neogeo/d_neogeo.cpp: In function `void kof2003bMapHandler()':
src/burn/neogeo/d_neogeo.cpp:9147: `void kof2003bMapHandler()' used prior to
   declaration
make: *** [d_neogeo.o] Error 1

i used the same kof2003b driver that the txt file refer to which is located here: http://neosource.1emu.net/pages/games/fba/kof2003b.htm

and i did name all occurances of kof2003 to kof2003b so i'm lost on what exactly is wrong :confused:
« Last Edit: May 10, 2005, 12:18:05 PM by iq_132 »

Offline Accosta_m

  • Newbies
  • *
  • Posts: 15
  • Karma: +0/-0
  • The Ghost Gundam
SVC Chaos driver infos.
« Reply #61 on: December 04, 2004, 11:59:31 PM »
you need change the references name of the Kof2003 to kof2003b

for example

this is the original code

static struct BurnRomInfo kof2003RomDesc[] = {


static struct BurnRomInfo kof2003bRomDesc[] =

this is the change do you need in your driver
:D     :cool:     :eek:     ;)     :p

Offline PRican25

  • Newbies
  • *
  • Posts: 44
  • Karma: +0/-0
  • Balla Bori Balla
SVC Chaos driver infos.
« Reply #62 on: December 05, 2004, 01:01:38 AM »
Quote from: PRican25

and i did name all occurances of kof2003 to kof2003b so i'm lost on what exactly is wrong :confused:


you missed that part of my last post :p

also you can see in my qoute that error was for kof2003bMapHandler

Update: i found the problem with that error as i had the kof2003b driver after svcchaos thx to james help :)  but now it seems i have a bigger prob as all i get from trying svcchaos set is this:

i thought i might add my neogeo files for fba, i haven't really touched fba since samsho5 based on the dev emu was playable so if you can plz fix mine or post updated files thank you

Offline PRican25

  • Newbies
  • *
  • Posts: 44
  • Karma: +0/-0
  • Balla Bori Balla
SVC Chaos driver infos.
« Reply #63 on: December 13, 2004, 12:47:56 AM »
did anyone have any luck finding out what might cause this? i tried another source but it too was only updated around samsho5 based on dev and got the same result after adding what was needed :(

Offline KingHanco

  • Sr. Member
  • ****
  • Posts: 401
  • Karma: +0/-4
  • "Special " Member
Re:
« Reply #64 on: December 13, 2004, 05:19:38 AM »
Quote from: PRican25
did anyone have any luck finding out what might cause this? i tried another source but it too was only updated around samsho5 based on dev and got the same result after adding what was needed :(

Have you look at this website? http://neosource.1emu.net/

I don't have the roms to try yet.

I will find those soon anyway.
« Last Edit: May 10, 2005, 12:20:17 PM by iq_132 »

Offline PRican25

  • Newbies
  • *
  • Posts: 44
  • Karma: +0/-0
  • Balla Bori Balla
SVC Chaos driver infos.
« Reply #65 on: December 13, 2004, 06:53:43 AM »
well odd enough when i clicked on games and then on svcchaos it said it wasn't availible :confused:

none the less the info is posted here and thats what i used but i'm getting no such luck with it.

Update: i got it working as i notice a missing part from the textrom fix code :D

Offline PRican25

  • Newbies
  • *
  • Posts: 44
  • Karma: +0/-0
  • Balla Bori Balla
SVC Chaos driver infos.
« Reply #66 on: February 07, 2005, 02:51:25 AM »
ok, decided to stick with the old fba src for online gaming and i was trying out all the svc drivers but svchaosa for some reason gives me static sound :confused:

heres the driver i used:
Code: [Select]
// SvC Chaos: SNK vs Capcom (MVS Cart)

static struct BurnRomInfo svchaosaRomDesc[] = {
{"269-p1a.bin", 0x400000, 0x38e2005e, 0x10}, //  0 68K code (interleaved)
{"269-p2a.bin", 0x400000, 0x6d13797c, 0x10}, //  1    (interleaved)

{"269-c1r.bin", 0x800000, 0x887b4068,    1}, //  2 Sprite data
{"269-c2r.bin", 0x800000, 0x4e8903e4,    1}, //  3
{"269-c3r.bin", 0x800000, 0x7d9c55b0,    1}, //  4
{"269-c4r.bin", 0x800000, 0x8acb5bb6,    1}, //  5
{"269-c5r.bin", 0x800000, 0x097a4157,    1}, //  6
{"269-c6r.bin", 0x800000, 0xe19df344,    1}, //  7
{"269-c7r.bin", 0x800000, 0xd8f0340b,    1}, //  8
{"269-c8r.bin", 0x800000, 0x2570b71b,    1}, //  9

{"269-m1d.bin", 0x020000, 0xfd4f0ff9, 0x10}, //  10 Z80 code
{"269-m1.bin",  0x080000, 0xf6819d00, 0x10}, //  11 (encrypted)

/* This uses Neo-PCM2 PLAYMORE(c) 2002 Chip */
{"269-v1.bin",  0x800000, 0xc659b34c,    2}, //  12 Sound data
{"269-v2.bin",  0x800000, 0xdd903835,    2}, //  13
};

STDROMPICKEXT(svchaosa, svchaosa, neogeo);
STD_ROM_FN(svchaosa);

static void svchaosaPVCDecrypt()
{
interleave_pdata();
svcchaosPVCDecrypt();
}

static int svchaosaInit()
{
int nRet;

memset(CartRAM,0,0x2000);

pNeoInitCallback = svchaosaPVCDecrypt;
nNeoProtectionXor = 0x57;
nNeoTextROMSize = 0x080000;
nNeoPCM2PLAYMOREByteswap = 4;

nRet = NeoInit();
if (!nRet)
mv0_BankMapHandler();
return nRet;
}

struct BurnDriver BurnDrvsvchaosa = {
{"svchaosa", "SvC Chaos: SNK vs Capcom (set 2)", "MVS version", "Playmore / Capcom", "Neo Geo", "2003", "svcchaos", "neogeo"},
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ALTERNATE_TEXT | HARDWARE_SNK_ENCRYPTED_B | HARDWARE_SNK_NEWBANKSYSTEM,
NULL, svchaosaRomInfo, svchaosaRomName, neogeoInputInfo, neogeoDIPInfo,
svchaosaInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};

Offline LikkleBaer

  • New Member
  • *
  • Posts: 9
  • Karma: +0/-0
  • Junior Member
SVC Chaos driver infos.
« Reply #67 on: March 01, 2005, 03:51:04 AM »
Can somebody please tell me which code is required to get sound from the svcboot V ROMs? Thankies ^_^
"My God! ...It's full of Baers!"

www.likklebaer.eclipse.co.uk

Offline netbug

  • Newbies
  • *
  • Posts: 37
  • Karma: +1/-0
  • Member
SVC Chaos driver infos.
« Reply #68 on: March 01, 2005, 04:20:03 AM »
Quote from: LikkleBaer
Can somebody please tell me which code is required to get sound from the svcboot V ROMs? Thankies ^_^

http://neo-source.com/index.php?topic=314.0
« Last Edit: May 10, 2005, 12:20:30 PM by iq_132 »

Offline Vorador

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
  • Junior Member
SVC Chaos driver infos.
« Reply #69 on: March 01, 2005, 04:34:19 AM »
Anyone has a COMPLETE driver (with the C-roms code) for the lastest fba version)

Offline LikkleBaer

  • New Member
  • *
  • Posts: 9
  • Karma: +0/-0
  • Junior Member
SVC Chaos driver infos.
« Reply #70 on: March 01, 2005, 05:42:48 AM »
Thankies alot netbug!  ^_^
"My God! ...It's full of Baers!"

www.likklebaer.eclipse.co.uk

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
SVC Chaos driver infos.
« Reply #71 on: March 20, 2005, 04:00:36 PM »
Well, some svcboot/cthd2003 C decryption code has been released.
Here's my version of that code (a bit trimmed)
Code: [Select]
static void DoPerm(int game)
{
unsigned char *src = NeoSpriteROM;
unsigned char *dst = (unsigned char*)malloc(0x800);

for(int i=0; i<0x8000; i++)
{
unsigned int tbl[8][16] =
{
{1,2,3,0,0,4,4,5,1,2,3,0,0,4,4,5},      // cthd2003
{1,2,1,2,3,0,3,0,0,4,0,4,4,5,4,5},      // svcboot
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15},
{0,4,8,12,1,5,9,13,2,6,10,14,3,7,11,15},
{0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15},
{0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15},
{0,2,8,10,4,6,12,14,1,3,9,11,5,7,13,15},
};

int ofst=tbl[0][(i>>5)&0xF];
if (game==1) ofst=tbl[1][(i>>4)&0xF];

for(int j=0; j<16; j++)
{
memcpy(dst+j*128, src+i*0x800+(tbl[ofst+2][j]*128), 128);
}
memcpy(src+i*0x800, dst, 0x800);
}
free(dst);
}


Offline bms888

  • Jr. Member
  • **
  • Posts: 93
  • Karma: +0/-0
  • Member
SVC Chaos driver infos.
« Reply #72 on: March 20, 2005, 08:47:03 PM »
Well done. IQ,this code is very short.^_^

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
SVC Chaos driver infos.
« Reply #73 on: March 20, 2005, 10:08:55 PM »
Oopsie! I left a piece of code in there that isn't needed.
Check my post above for a fixed version.


Offline bms888

  • Jr. Member
  • **
  • Posts: 93
  • Karma: +0/-0
  • Member
SVC Chaos driver infos.
« Reply #74 on: March 20, 2005, 10:26:28 PM »
Quote from: iq_132
Oopsie! I left a piece of code in there that isn't needed.
Check my post above for a fixed version.


OK, we can remove all svcboot_cx_decrypt and cthd2003_c now,^_^.

This is my useing code,can keep cthd2003,svcboot,matrimbl working.^_^

neogeo.h
Code: [Select]

// d_neogeo.cpp
extern void DoPerm(int game); // for cthd2003 & svcboot C-ROMs


neo_run.cpp
Code: [Select]

// Descramble C roms without messing out the text layers (matrimbl only)
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "matrimbl")) {
DoPerm(0);
}


d_neogeo.cpp
Code: [Select]

void DoPerm(int game)
{
int i, j, ofst, size = 0x800;
unsigned char *src = NeoSpriteROM;
unsigned char *dst = (unsigned char*)malloc(size);

for (i=0; i<0x8000; i++){
unsigned int tbl[8][16] = {
{1,2,3,0,0,4,4,5,1,2,3,0,0,4,4,5},      // cthd2003
{1,2,1,2,3,0,3,0,0,4,0,4,4,5,4,5},      // svcboot
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15},
{0,4,8,12,1,5,9,13,2,6,10,14,3,7,11,15},
{0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15},
{0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15},
{0,2,8,10,4,6,12,14,1,3,9,11,5,7,13,15},
};

ofst=tbl[0][(i>>5)&0xF];
if (game==1) ofst=tbl[1][(i>>4)&0xF];

for (j=0; j<16; j++){
memcpy(dst+j*128, src+i*0x800+(tbl[ofst+2][j]*128), 128);
}
memcpy(src+i*0x800, dst, size);
}
free(dst);
}