Welcome!
Final Burn Neo => FBN Development => Topic started by: DethXec on March 02, 2005, 05:39:44 AM
-
Well, since I didn't have much time to keep updating the fba drivers, I'd like to know the state of the drivers... It really will take me a long time to search and check once and again, because most of the drivers were updated some how, and now the FBA source has another way to load the PCM2 and stuff...
So, in short, what's going on with:
· Pochi and Nyaa
· KOF 2003 (two versions, so two drivers)
· Samurai Shodown V (two dumps, so two drivers)
· Samurai Shodown V Special
· SNK Vs. Capcom SVC Chaos (two versions, so two drivers)
Thanks a lot for any little infos...
-
// Pochi and Nyaa (encrypted grahics / sound)
static struct BurnRomInfo pnyaaRomDesc[] = {
{ "267-p1.bin", 0x100000, 0x112FE2C0, 1 | BRF_ESS | BRF_PRG }, // 0 68K code
{ "267-c1.bin", 0x800000, 0x2E20617A, 3 | BRF_GRA }, // 1 Sprite data
{ "267-c2.bin", 0x800000, 0x4EDFA720, 3 | BRF_GRA }, // 2
{ "267-m1d.bin", 0x080000, 0xd58eaa8e, 4 | BRF_ESS | BRF_PRG }, // 3 Z80 code (decrypted)
{ "267-m1.bin", 0x080000, 0xc7853ccd, 0 | BRF_PRG | BRF_OPT }, // 4 Z80 code
{ "267-v1.bin", 0x400000, 0xE2E8E917, 5 | BRF_SND }, // 5 Sound data
};
STDROMPICKEXT(pnyaa, pnyaa, neogeo);
STD_ROM_FN(pnyaa);
static int pnyaaInit()
{
extern unsigned char* YM2610ADPCMAROM;
nNeoProtectionXor = 0x2e;
int nRet = NeoInit();
if (nRet == 0) {
for (int i = 0; i < 0x400000 / 2; i += 4 / 2) {
unsigned short buffer[4 / 2];
memcpy(buffer, ((unsigned short*)YM2610ADPCMAROM) + i, 4);
for (int j = 0; j < 4 / 2; j++) {
((unsigned short*)YM2610ADPCMAROM)[i + j] = buffer[j ^ 1];
}
}
}
return nRet;
}
struct BurnDriver BurnDrvpnyaa = {
"pnyaa", NULL, "neogeo", "2003",
"Pochi and Nyaa\0", NULL, "Aiky", "Neo Geo",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ENCRYPTED_B,
NULL, pnyaaRomInfo, pnyaaRomName, neogeoInputInfo, neogeoDIPInfo,
pnyaaInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
-
all working, but you need proper bankswitching to pcb protections code found in http://neo-source.com/index.php?topic=299.0
to kof2003 you'll also need the k2k3fix.cpp ( http://neo-source.com/index.php?topic=217.0 ), get only this here, the rest is outdated, use the drivers from the 1st link.
to svc you'll need some c decryption code ( http://neo-source.com/index.php?topic=212.15 ) download it from the 4th post
-
Actually, with kof2003, the only thing you DON'T need is the k2k3fix.cpp.
I'll post some updated fba drivers for svc and kof2k3 later
-
I'll post some updated fba drivers for svc and kof2k3 later
oooooh! can't wait, thankies IQ ^_^
-
Actually, with kof2003, the only thing you DON'T need is the k2k3fix.cpp.
I'll post some updated fba drivers for svc and kof2k3 later
no need for k2k3fix.ccp and all the steps in the "howto"? so i'll only need the bankswitches, bioses and drivers listed in the topico about "some pvc bankswitch code" cool XD
-
I see! Thanks for the replies.
-
Here are those drivers as promised.
(Please let me know if something is wrong/incorrect)
+24 v
-
I made all the updates and changes exactly as instructed in your zip, but I got an error during compilation in Cygwin:
src/burn/neogeo/neo_decrypt.cpp: In function `void NeoExtractSData(unsigned
char*, unsigned char*, int, int)':
src/burn/neogeo/neo_decrypt.cpp:463: error: redefinition of `void
NeoExtractSData(unsigned char*, unsigned char*, int, int)'
src/burn/neogeo/neo_decrypt.cpp:453: error: `void NeoExtractSData(unsigned
char*, unsigned char*, int, int)' previously defined here
src/burn/neogeo/neo_decrypt.cpp:463: error: redefinition of `void
NeoExtractSData(unsigned char*, unsigned char*, int, int)'
src/burn/neogeo/neo_decrypt.cpp:453: error: `void NeoExtractSData(unsigned
char*, unsigned char*, int, int)' previously defined here
src/burn/neogeo/neo_decrypt.cpp:622:2: warning: no newline at end of file
make[1]: *** [neo_decrypt.o] Error 1
make: *** [mingw] Error 2
-
I figured out the problem. Your instructions say to "place this after" when it should read: "replace with this".
Everything else seems to work now. Thanks!
-
K, thx for the bug report ;) I'll fix that asap.
-
Fpound the problem, just:
Look for all of this:
void NeoExtractSData(unsigned char* rom, unsigned char* sdata, int rom_size, int sdata_size)
{
/* the S data comes from the end fo the C data */
rom += rom_size - sdata_size;
for (int i = 0; i < sdata_size; i++) {
sdata[i] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4)];
}
}
void NeoExtractSData(unsigned char* rom, unsigned char* sdata, int rom_size, int sdata_size)
{
int i;
if (sdata_size != 0x100000)
{
rom += rom_size - sdata_size;
for (i = 0; i < sdata_size; i++) {
sdata[i] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4)];
}
} else {
rom += rom_size - sdata_size /2;
for (i = 0; i < sdata_size / 2; i++) {
sdata[i + 0] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4) - 0x1000000 ];
sdata[i + sdata_size / 2] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4)];
}
}
}
i suppose that you have thgis like this... replace ALL with just this:
void NeoExtractSData(unsigned char* rom, unsigned char* sdata, int rom_size, int sdata_size)
{
int i;
if (sdata_size != 0x100000)
{
rom += rom_size - sdata_size;
for (i = 0; i < sdata_size; i++) {
sdata[i] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4)];
}
} else {
rom += rom_size - sdata_size /2;
for (i = 0; i < sdata_size / 2; i++) {
sdata[i + 0] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4) - 0x1000000 ];
sdata[i + sdata_size / 2] = rom[(i & ~0x1F) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4)];
}
}
}
this should fix your problem, in other words, you have twice the NeoExtractSdata, just delete the old function and replace with the new one that IQ_132 mention in changes.htm
See ya!!!!!! :D
P.D. THANKS A LOT IQ!!!!!!, i finally fixed a lot of bugs with this XD, really thanks. (i had probs with reset even with the clean compile XD, now that is fixed)
-
Hem... i have a weird question: did anyone with more than 64 or 128 MB of RAM tried to save decrypted C-ROMs of svcchaos from the "Save decrypted C-ROMs after loading" option in Kawaks dev?... if yes, who can tell me how many C-ROMs does k-dev save? 2 C-ROMs of 32 MB each? (like the encripted ones but decrypted) or 8 C-ROMs of 8 MB? I know is a weird question but is just for solving some doubts... anyone can tell me how many decrypted C-ROMs does k-dev save after loading svcchaos?
Thanks in advace
See ya!!!!!! :D
-
Ferchog, if you go back and read my replies, you'll see I already figured that out for myself. No need to have posted all that code like that.
Hey IQ_132, no samsho 5 drivers in that list? I have several rom packs from the mame set for it. Was wondering if you had coded drivers for them yet.
-
Sorry about that FBX, I forgot about it.
// Samurai Shodown 5
static struct BurnRomInfo samsho5RomDesc[] = {
{"270-p1.bin", 0x400000, 0x4a2a09e6, 1 | BRF_ESS | BRF_PRG }, // 0 68K code
{"270-p2.bin", 0x400000, 0xe0c74c85, 1 | BRF_ESS | BRF_PRG }, // 1
{"270-c1.bin", 0x800000, 0x14FFFFAC, 3 | BRF_GRA }, // 2 Sprite data
{"270-c2.bin", 0x800000, 0x401F7299, 3 | BRF_GRA }, // 3
{"270-c3.bin", 0x800000, 0x1BFF0D0E, 3 | BRF_GRA }, // 4
{"270-c4.bin", 0x800000, 0x041560A5, 3 | BRF_GRA }, // 5
{"270-c5.bin", 0x800000, 0xBD30B52D, 3 | BRF_GRA }, // 6
{"270-c6.bin", 0x800000, 0x86A69C70, 3 | BRF_GRA }, // 7
{"270-c7.bin", 0x800000, 0xd28fbc3c, 3 | BRF_GRA }, // 8
{"270-c8.bin", 0x800000, 0x02C530A6, 3 | BRF_GRA }, // 9
{"270-m1d.bin", 0x020000, 0x18114FB1, 4 | BRF_ESS | BRF_PRG }, // 10 Z80 code
{"270-m1.bin" , 0x040000, 0xe4a5ab0c, 0 | BRF_PRG | BRF_OPT }, // 10
{"270-v1.bin" , 0x800000, 0x7541763a, 5 | BRF_SND }, // 11 Sound data
{"270-v2.bin" , 0x800000, 0x4e6e7d98, 5 | BRF_SND }, // 12
};
STDROMPICKEXT(samsho5, samsho5, neogeo);
STD_ROM_FN(samsho5);
static void samsho5Decrypt()
{
// Not needed due to the availability of the AES Cart dump
/* *((unsigned short*)(Neo68KROM + 0xE7EC2)) = 0x7CCC; // menu AES color text fix
*((unsigned short*)(Neo68KROM + 0xE7EC4)) = 0x1DC7;
*((unsigned short*)(Neo68KROM + 0xE7ECA)) = 0x2DB0;
*((unsigned short*)(Neo68KROM + 0xE7ECE)) = 0x4C90;
*((unsigned short*)(Neo68KROM + 0xE7ED2)) = 0x4C60;
*((unsigned short*)(Neo68KROM + 0xE7ED6)) = 0x6B30;
*((unsigned short*)(Neo68KROM + 0xE7EE2)) = 0x7CCC;
*((unsigned short*)(Neo68KROM + 0xE7EE4)) = 0x1BCE;
*((unsigned short*)(Neo68KROM + 0xE7EEA)) = 0x549D;
*((unsigned short*)(Neo68KROM + 0xE7EEE)) = 0x117D;
*((unsigned short*)(Neo68KROM + 0xE7EF2)) = 0x204C;
*((unsigned short*)(Neo68KROM + 0xE7EF6)) = 0x302C;
*((unsigned short*)(Neo68KROM + 0xE7F02)) = 0x7CCC;
*((unsigned short*)(Neo68KROM + 0xE7F04)) = 0x45B1;
*((unsigned short*)(Neo68KROM + 0xE7F06)) = 0x14A0;
*((unsigned short*)(Neo68KROM + 0xE7F08)) = 0x2290;
*((unsigned short*)(Neo68KROM + 0xE7F0A)) = 0x4390;
*((unsigned short*)(Neo68KROM + 0xE7F0C)) = 0x2280;
*((unsigned short*)(Neo68KROM + 0xE7F0E)) = 0x2170;
*((unsigned short*)(Neo68KROM + 0xE7F12)) = 0x0060;
*((unsigned short*)(Neo68KROM + 0xE7F16)) = 0x0050;
*((unsigned short*)(Neo68KROM + 0xE7F18)) = 0x0040;
*((unsigned short*)(Neo68KROM + 0xE7F1C)) = 0x0020;
*/
unsigned char* src = Neo68KROM+0x100000;
unsigned char* dst = (unsigned char*)malloc(0x700000);
int sec[] = {0xC,0xB,0x8,0x1,0x2,0x7,0x4, 0xD,0xA,0x3,0x0,0x9,0x6,0x5};
if (dst)
{
memcpy(dst,src,0x700000);
for(int i = 0; i < 14; ++i)
{
memcpy(src+i*0x80000,dst+sec[i]*0x80000,0x80000);
}
free(dst);
}
}
static int samsho5Init()
{
int nRet;
nNeoProtectionXor = 0x0f;
pNeoInitCallback = samsho5Decrypt;
nRet = NeoInit();
if (nRet == 0) {
PCM2DecryptVInfo Info = { 0x00A000, 0xFEB2C0, { 0xCB, 0x29, 0x7D, 0x43, 0xD2, 0x3A, 0xC2, 0xB4 } };
PCM2DecryptV(&Info);
}
return nRet;
}
struct BurnDriver BurnDrvSamSho5 = {
"samsho5", NULL, "neogeo", "2003",
"Samurai Shodown V - Samurai Spirits Zero\0", NULL, "Yuki Enterprise / SNK Playmore", "Neo Geo",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ENCRYPTED_B | HARDWARE_SNK_SRAM,
NULL, samsho5RomInfo, samsho5RomName, neogeoInputInfo, neogeoDIPInfo,
samsho5Init, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
// Samurai Shodown 5 (AES Cart)
static struct BurnRomInfo samsho5hRomDesc[] = {
{"270-p1c.bin", 0x400000, 0xBF956089, 1 | BRF_ESS | BRF_PRG }, // 0 68K code
{"270-p2c.bin", 0x400000, 0x943A6B1D, 1 | BRF_ESS | BRF_PRG }, // 1
{"270-c1.bin", 0x800000, 0x14FFFFAC, 3 | BRF_GRA }, // 2 Sprite data
{"270-c2.bin", 0x800000, 0x401F7299, 3 | BRF_GRA }, // 3
{"270-c3.bin", 0x800000, 0x1BFF0D0E, 3 | BRF_GRA }, // 4
{"270-c4.bin", 0x800000, 0x041560A5, 3 | BRF_GRA }, // 5
{"270-c5.bin", 0x800000, 0xBD30B52D, 3 | BRF_GRA }, // 6
{"270-c6.bin", 0x800000, 0x86A69C70, 3 | BRF_GRA }, // 7
{"270-c7.bin", 0x800000, 0xd28fbc3c, 3 | BRF_GRA }, // 8
{"270-c8.bin", 0x800000, 0x02C530A6, 3 | BRF_GRA }, // 9
{"270-m1d.bin", 0x020000, 0x18114FB1, 4 | BRF_ESS | BRF_PRG }, // 10 Z80 code
{"270-m1c.bin", 0x080000, 0xCEDEBD3C, 0 | BRF_PRG | BRF_OPT }, // 10
{"270-v1.bin" , 0x800000, 0x7541763a, 5 | BRF_SND }, // 11 Sound data
{"270-v2.bin" , 0x800000, 0x4e6e7d98, 5 | BRF_SND }, // 12
};
STDROMPICKEXT(samsho5h, samsho5h, neogeo);
STD_ROM_FN(samsho5h);
struct BurnDriver BurnDrvsamsho5h = {
"samsho5h", "samsho5", "neogeo", "2003",
"Samurai Shodown V - Samurai Spirits Zero (Home)\0", "From AES Cart", "Yuki Enterprise / SNK Playmore", "Neo Geo",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ENCRYPTED_B, // | HARDWARE_SNK_SRAM,
NULL, samsho5hRomInfo, samsho5hRomName, neogeoInputInfo, neogeoDIPInfo,
samsho5Init, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
// Samurai Shodown V Special / Samurai Spirits Zero Special
static struct BurnRomInfo samsh5spRomDesc[] = {
{"272-p1.bin", 0x400000, 0x9291794D, 1 | BRF_ESS | BRF_PRG }, // 0 68K code
{"272-p2.bin", 0x400000, 0xFA1A7DD8, 1 | BRF_ESS | BRF_PRG }, // 1
{"272-c1.bin", 0x800000, 0x4F97661A, 3 | BRF_GRA }, // 2 Sprite data
{"272-c2.bin", 0x800000, 0xA3AFDA4F, 3 | BRF_GRA }, // 3
{"272-c3.bin", 0x800000, 0x8C3C7502, 3 | BRF_GRA }, // 4
{"272-c4.bin", 0x800000, 0x32D5E2E2, 3 | BRF_GRA }, // 5
{"272-c5.bin", 0x800000, 0x6CE085BC, 3 | BRF_GRA }, // 6
{"272-c6.bin", 0x800000, 0x05C8DC8E, 3 | BRF_GRA }, // 7
{"272-c7.bin", 0x800000, 0x1417B742, 3 | BRF_GRA }, // 8
{"272-c8.bin", 0x800000, 0xD49773CD, 3 | BRF_GRA }, // 9
{"272-m1d.bin" , 0x080000, 0x451b14be, 4 | BRF_ESS | BRF_PRG }, // 9 Z80 code
{"272-m1.bin" , 0x080000, 0xADEEBF40, 0 | BRF_PRG | BRF_OPT }, // 9
{"272-v1.bin" , 0x800000, 0x76a94127, 5 | BRF_SND }, // 10
{"272-v2.bin" , 0x800000, 0x4ba507f1, 5 | BRF_SND }, // 11
};
STDROMPICKEXT(samsh5sp, samsh5sp, neogeo);
STD_ROM_FN(samsh5sp);
static void samsh5sp_unlock()
{
// Unlock fatalities from AES original cart.
// Code by wesker, converted to FBA code by BisonSAS
*((unsigned short*)(Neo68KROM + 0x00990)) = 0x33FC;
*((unsigned short*)(Neo68KROM + 0x00992)) = 0x0002;
*((unsigned short*)(Neo68KROM + 0x00994)) = 0x0010;
*((unsigned short*)(Neo68KROM + 0x00996)) = 0xE010;
*((unsigned short*)(Neo68KROM + 0x00998)) = 0x4EF9;
*((unsigned short*)(Neo68KROM + 0x0099A)) = 0x0004;
*((unsigned short*)(Neo68KROM + 0x0099C)) = 0x61BA;
*((unsigned short*)(Neo68KROM + 0x461B4)) = 0x4EF9;
*((unsigned short*)(Neo68KROM + 0x461B6)) = 0x0000;
*((unsigned short*)(Neo68KROM + 0x461B8)) = 0x0990;
}
static void samsh5sp_Decrypt()
{
// Descrambling Px by Vorador from speksnk
unsigned char* src = Neo68KROM+0x100000;
unsigned char* dst = (unsigned char*)malloc(0x700000);
unsigned int sec[] = {0x8,0x7,0xA,0x9,0xC,0x3, 0x0,0xB,0x6,0xD,0x2,0x5,0x4,0x1};
if (dst)
{
memcpy( dst, src, 0x700000 );
for(int i=0;i<14;i++)
{
memcpy(src+i*0x80000,dst+sec[i]*0x80000,0x80000);
}
free(dst);
}
// samsh5sp_unlock(); // Use cheat file instead
}
static int samsh5spInit()
{
int nRet;
nNeoProtectionXor = 0x0d;
pNeoInitCallback = samsh5sp_Decrypt;
nRet = NeoInit();
if (nRet == 0) {
PCM2DecryptVInfo Info = { 0x002000, 0xFFB440, { 0x4B, 0xA4, 0x63, 0x46, 0xF0, 0x91, 0xEA, 0x62 } };
PCM2DecryptV(&Info);
}
return nRet;
}
struct BurnDriver BurnDrvsamsh5sp = {
"samsh5sp", NULL, "neogeo", "2004",
"Samurai Shodown V Special - Samurai Spirits Zero Special\0", NULL, "Yuki Enterprise / SNK Playmore", "Neo Geo",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING, 2, HARDWARE_SNK_NEOGEO | HARDWARE_SNK_ENCRYPTED_B | HARDWARE_SNK_SRAM,
NULL, samsh5spRomInfo, samsh5spRomName, neogeoInputInfo, neogeoDIPInfo,
samsh5spInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
nNeoScreenWidth, 224, 4, 3
};
-
Thanks!
But I am getting a parse error when I compile it. Here's the report for Cygwin:
src/burn/neogeo/d_neogeo.cpp: In function `void samsho5Decrypt()':
src/burn/neogeo/d_neogeo.cpp:8786: error: parse error before `,' token
src/burn/neogeo/d_neogeo.cpp: In function `void samsh5sp_Decrypt()':
src/burn/neogeo/d_neogeo.cpp:8911: error: parse error before `,' token
make[1]: *** [d_neogeo.o] Error 1
make: *** [mingw] Error 2
-
Found the two error spots and fixed them. You have "int sec[] = {0xC,0xB,0x8,0x1,0x2,0x7,0x4,0xD,0xA,0x3,0x0,0x9,0 x6,0x5};" and later on "unsigned int sec[] = {0x8,0x7,0xA,0x9,0xC,0x3,0x0,0xB,0x6,0xD,0x2,0x5,0 x4,0x1};", where the gap causes the parse error.
Thanks again!
-
Thats a problem with the forum.
-
Hem... i have a weird question: did anyone with more than 64 or 128 MB of RAM tried to save decrypted C-ROMs of svcchaos from the "Save decrypted C-ROMs after loading" option in Kawaks dev?... if yes, who can tell me how many C-ROMs does k-dev save? 2 C-ROMs of 32 MB each? (like the encripted ones but decrypted) or 8 C-ROMs of 8 MB? I know is a weird question but is just for solving some doubts... anyone can tell me how many decrypted C-ROMs does k-dev save after loading svcchaos?
Thanks in advace
See ya!!!!!! :D
kawaks does 8 C roms decrypted.
-
Ok, fixed the drivers.zip (with the kof2k3, etc drivers in it)
Also fixed the samsho5, samsh5h ans samsh5sp drivers-- VBulleting seems to have an odd habit of adding breaks where they aren't suppose to be in code that's too long.
-
I was looking at your samsho5 drivers and noticed none of them matched my mame rom sets. I wrote my own driver for Samsho5sp, but haven't done so yet for the other versions.
Perhaps your rom sets for samsho5 are older? Mine are based on version 94 of mame and include 4 different subset versions, where none of the crc's match any of the ones for your sets. If you're interested, I can post the files names and crc's from each set.
-
Afaik my sets are the most up-to-date.
BTW, who's mame are you matching samsho5 to?
It's definitely not in the official build, so I'd suggest questioning the source of that build.
-
Not sure. It was just listed as the "complete 254 (zero missing) mame32plus v94 rom set for neo geo".
Rom set includes:
samsho5
samsho5b
samsho5d
samsho5s
samsho5sd
-
Again, I'll say this: You are not using an official emulator release. Don't trust the CRCs that are given.
-
But what's interesting is that all of the other roms in the set have matched the drivers, including all of the SVC and kof200X sets. Additionally, the samsho5 sets have fully decrypted versions.
It just seems strange that the only game not matching is samsho5.
Edit: Checked with romcenter and it explains why mine don't match your crcs. It states the samsho sets you have are called "non-mame". Only problem is the Mame sets are not released yet, so there's no way of verifying the sets I have.
No big deal really.
-
My c3 and v roms do not match IQ's driver for samsho5 and samsho5h and I am missing the m1 .How did I miss that :confused: lol
-
If I remember correctly, the set you probably have has a watermark (or a bad bit) in the C3.
As for the V roms, I wouldn't worry too much about those.
AFAIK, all public ones watermarked anyway.
-
I am jealous :eek:
-
kawaks does 8 C roms decrypted.
Thanks for the answer man :)
See ya!!!!! :D
-
Hey!!!!!! I have something for FBA, this is a code for Neo-PCM2 SNK, like the first one IQ posted but without errors for cygwin of gcc 3.3.1.
Taked from mame src
// Neo-PCM2 SNK(c) 1999 Sound Chip Emulation
// Original code by the MAME team, converted to FBA code by IQ_132
if (nPCM2Value != 0) {
// thanks to ElSemi for the NEO-PCM2 info
unsigned short *rom = (unsigned short*)(YM2610ADPCMAROM);
int value = nPCM2Value;
if( rom != NULL ) {
// swap address lines on the whole ROMs
unsigned short *buffer = (unsigned short*)malloc((value / 2) * sizeof(unsigned short));
if (!buffer) return 1;
for(int i = 0; i < nYM2610ADPCMASize / 2; i += (value / 2) ) {
memcpy( buffer, &rom[ i ], value );
for(int j = 0; j < (value / 2); j++ ) {
rom[ i + j ] = buffer[ j ^ (value / 4) ];
}
}
free(buffer);
}
}
See ya!!!!!! :D
-
Does anybody have the xors for that KOF2003 encrypted V (CRC 1D96154B)? I don't recall seeing them anywhere before.
Thanks.
-
{0xFF14EA,0xA7001}, //kof2003
{0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //kof2003
-
Thanks. ;)
BTW IQ, now that we're in this topic, could I use a bit more of your help, please? Well, I posted this (http://neo-source.com/showthread.php?goto=lastpost&t=241) about a month ago, and was wondering if you saw that post. :p Anyway, it's fine if you can't help, but I'd just like to know if that is ever feasable.
Thanks again.
-
Thanks. ;)
BTW IQ, now that we're in this topic, could I use a bit more of your help, please? Well, I posted this (http://neo-source.com/showthread.php?goto=lastpost&t=241) about a month ago, and was wondering if you saw that post. :p Anyway, it's fine if you can't help, but I'd just like to know if that is ever feasable.
Thanks again.
Going by the time you have waited for a reply .. You could have downloaded them needed Encrypted V roms already .
-
>> Going by the time you have waited for a reply .. You could have downloaded them needed Ecrypted V roms already .
Yeah, if only I could find them available somewhere again. Regardless, it would be interesting to be able to do what I suggest in that post.
-
I'm working on something like that. ;) It should be finished in a few days.
-
Great! Thanks again. :)