Final Burn Neo > FBN Development

Samurai Shodown 5 Special driver

(1/3) > >>

iq_132:
Here's my driver for samsh5sp - thanks to wesker, BisonSAS, and Vorador.
You may need to change the Vs as I'm using 2 decrypted Vs as opposed to the usual 1.


--- Code: ---// Samurai Shodown V Special / Samurai Spirits Zero Special

static struct BurnRomInfo samsh5spRomDesc[] = {
{"272-p1.bin", 0x400000, 0x9291794D, 0x10}, // 0 68K code
{"272-p2.bin", 0x400000, 0xFA1A7DD8, 0x10}, // 1

{"272-c1.bin", 0x800000, 0x4F97661A, 1}, // 2 Sprite data
{"272-c2.bin", 0x800000, 0xA3AFDA4F, 1}, // 3
{"272-c3.bin", 0x800000, 0x8C3C7502, 1}, // 4
{"272-c4.bin", 0x800000, 0x32D5E2E2, 1}, // 5
{"272-c5.bin", 0x800000, 0x6CE085BC, 1}, // 6
{"272-c6.bin", 0x800000, 0x05C8DC8E, 1}, // 7
{"272-c7.bin", 0x800000, 0x1417B742, 1}, // 8
{"272-c8.bin", 0x800000, 0xD49773CD, 1}, // 9


{"272-m1d.bin" , 0x080000, 0x0, 0x10}, // 9 Z80 code
// {"272-m1.bin" ,  0x080000, 0xADEEBF40, 0x10}, // 9

// This uses the Neo-PCM2 2002 (Playmore) chip
// {"272-v1.bin" ,  0x800000, 0x76a94127,    2}, // 10
// {"272-v2.bin" ,  0x800000, 0x4ba507f1,    2}, // 11
{"272-v1d.bin", 0x800000, 0x0,      2}, // 10
{"272-v2d.bin", 0x800000, 0x0,      2}, // 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*)(Neo68KROM01 + 0x00990)) = 0x33FC;
*((unsigned short*)(Neo68KROM01 + 0x00992)) = 0x0002;
*((unsigned short*)(Neo68KROM01 + 0x00994)) = 0x0010;
*((unsigned short*)(Neo68KROM01 + 0x00996)) = 0xE010;
*((unsigned short*)(Neo68KROM01 + 0x00998)) = 0x4EF9;
*((unsigned short*)(Neo68KROM01 + 0x0099A)) = 0x0004;
*((unsigned short*)(Neo68KROM01 + 0x0099C)) = 0x61BA;
*((unsigned short*)(Neo68KROM01 + 0x461B4)) = 0x4EF9;
*((unsigned short*)(Neo68KROM01 + 0x461B6)) = 0x0000;
*((unsigned short*)(Neo68KROM01 + 0x461B8)) = 0x0990;
}

static void samsh5sp_Decrypt()
{
// Descrambling Px by Vorador from speksnk
unsigned char* src = Neo68KROM01+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

NJ7:
Here's the driver with working sound, the m1d is the correct m1d, you can get the patch at Romshare which changes the encrypted to the correct decrypted dump....as for the v's, they derive from the original two encrypted v's and using the vcon.exe tool on them to decrypt them....I'm sure this is incorrect dump wise, I'm guessing it's spose to be 2 v's instead of the 4, but it works for now, and that's what matters right now.....working sound....yes...... :p


--- Code: ---// Samurai Shodown V Special / Samurai Spirits Zero Special

static struct BurnRomInfo samsh5spRomDesc[] = {

        {"272-p1.bin", 0x400000, 0x9291794d, 0x10}, // 0 68K code
        {"272-p2.bin", 0x400000, 0xfa1a7dd8, 0x10}, // 1

        {"272-c1.bin", 0x800000, 0x4F97661A, 1}, // 2 Sprite data
        {"272-c2.bin", 0x800000, 0xA3AFDA4F, 1}, // 3
        {"272-c3.bin", 0x800000, 0x8C3C7502, 1}, // 4
        {"272-c4.bin", 0x800000, 0x32D5E2E2, 1}, // 5
        {"272-c5.bin", 0x800000, 0x6CE085BC, 1}, // 6
        {"272-c6.bin", 0x800000, 0x05C8DC8E, 1}, // 7
        {"272-c7.bin", 0x800000, 0x1417B742, 1}, // 8
        {"272-c8.bin", 0x800000, 0xD49773CD, 1}, // 9

        {"272-m1d.bin" , 0x080000, 0x3CA75C37, 0x10}, // 9 Z80 code

        {"272-v1d.bin" , 0x400000, 0x32156CFE, 2}, // 10 Sound data
        {"272-v2d.bin" , 0x400000, 0x0E46D2F8, 2}, // 11
        {"272-v3d.bin" , 0x400000, 0x9AA45090, 2}, // 12
        {"272-v4d.bin" , 0x400000, 0xAD8FABB4, 2}, // 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*)(Neo68KROM01 + 0x00990)) = 0x33FC;
*((unsigned short*)(Neo68KROM01 + 0x00992)) = 0x0002;
*((unsigned short*)(Neo68KROM01 + 0x00994)) = 0x0010;
*((unsigned short*)(Neo68KROM01 + 0x00996)) = 0xE010;
*((unsigned short*)(Neo68KROM01 + 0x00998)) = 0x4EF9;
*((unsigned short*)(Neo68KROM01 + 0x0099A)) = 0x0004;
*((unsigned short*)(Neo68KROM01 + 0x0099C)) = 0x61BA;
*((unsigned short*)(Neo68KROM01 + 0x461B4)) = 0x4EF9;
*((unsigned short*)(Neo68KROM01 + 0x461B6)) = 0x0000;
*((unsigned short*)(Neo68KROM01 + 0x461B8)) = 0x0990;

}

static void samsh5sp_Decrypt()
{
// Descrambling Px by Vorador from speksnk
unsigned char* src = Neo68KROM01;
unsigned char* dst = (unsigned char*)malloc(0x800000);

unsigned int sec[] =

{0x0,0x1,0xA,0x9,0xC,0xB,0xE,0x5,0x2,0xD,0x8,0xF,0x4,0x7,0x6,0x3};
if (dst)
{
memcpy( dst, src, 0x800000 );
for(int i=0;i

iq_132:
I'm sure everyone knows that samsh5sp's m1d is out (I released the one with the particular CRC you're using).  
Also, my driver works fine.  Having a 0 in the crc area just tells fba to load the rom by name. This is really the best idea until the m1d and decrypted Vs are confirmed.

James33:
NJ7 I am pretty sure it is meant to have one 16mb V rom.

Oh yeah HARDWARE_SNK_SRAM is not needed

Since this code does that part allready Which I use . So it will decrypt the P rom and uses the patch So it can be used in NRX , Nebula, Kawaks in MVS mode. If you are not going to do that sort of thing then you can use the HARDWARE_SNK_SRAM and remove this part of the code.

--- Quote ---
*((unsigned short*)(Neo68KROM01 + 0xEBE4)) = 0x4E71;
*((unsigned short*)(Neo68KROM01 + 0xEBE6)) = 0x4E71;
--- End quote ---



Yeah I know the driver has been posted allready .


--- Code: ---
// Samurai Shodown V Special

static struct BurnRomInfo samsh5spRomDesc[] = {
{"272-p1.bin", 0x400000, 0x9291794d, 0x10}, //  0 68K code
{"272-p2.bin", 0x400000, 0xfa1a7dd8, 0x10}, //  1

{"272-c1.bin", 0x800000, 0x4F97661A, 1}, // 2 Sprite data
{"272-c2.bin", 0x800000, 0xA3AFDA4F, 1}, // 3
{"272-c3.bin", 0x800000, 0x8C3C7502, 1}, // 4
{"272-c4.bin", 0x800000, 0x32D5E2E2, 1}, // 5
{"272-c5.bin", 0x800000, 0x6CE085BC, 1}, // 6
{"272-c6.bin", 0x800000, 0x05C8DC8E, 1}, // 7
{"272-c7.bin", 0x800000, 0x1417B742, 1}, // 8
{"272-c8.bin", 0x800000, 0xD49773CD, 1}, // 9

{"272-m1d.bin",0x080000, 0x3CA75C37, 0x10}, // 10 Z80 code

{"272-v1d.bin", 0x1000000, 0x3654e81f,    2}, //  11 Sound data
};

STDROMPICKEXT(samsh5sp, samsh5sp, neogeo);
STD_ROM_FN(samsh5sp);

static void samsh5sp_Decrypt()
{
/* Patch for MVS Mode */
*((unsigned short*)(Neo68KROM01 + 0xEBE4)) = 0x4E71;
*((unsigned short*)(Neo68KROM01 + 0xEBE6)) = 0x4E71;

/* Descrambling Px by Vorador from speksnk */
unsigned char* src = Neo68KROM01;
unsigned char* dst = (unsigned char*)malloc(0x800000);

unsigned int sec[] = {0x0,0x1,0xA,0x9,0xC,0xB,0xE,0x5,0x2,0xD,0x8,0xF,0x4,0x7,0x6,0x3};
if (dst)
{
memcpy( dst, src, 0x800000 );
for(int i=0;i

NJ7:
James, I found this thread on RomShare.....I got the correct splitted 4 vd', so that's all ok, but I think it's saying that those four joined creates the CRC of the one vd that you have in your driver....my question is, what do you use to join these files to get that CRC, what program?......thanks.... :p

http://bbs.*.net/showthread.php?p=150670&highlight=3654e81f#post150670

Nevermind....found a program.... :D

Navigation

[0] Message Index

[#] Next page

Go to full version