Final Burn Neo > FBN Development

Samurai Shodown 5 driver

(1/8) > >>

iq_132:
This is the driver I'm using. ;)


--- Code: ---// Samurai Shodown 5

static struct BurnRomInfo samsho5RomDesc[] = {
{"270-p1.bin", 0x400000, 0x4a2a09e6, 0x10}, //  0 68K code
{"270-p2.bin", 0x400000, 0xe0c74c85, 0x10}, //  1

{"270-c1.bin", 0x800000, 0x14FFFFAC, 1},    // 2 Sprite data
{"270-c2.bin", 0x800000, 0x401F7299, 1},    // 3
{"270-c3.bin", 0x800000, 0x1BFF0D0E, 1},    // 4
{"270-c4.bin", 0x800000, 0x041560A5, 1},    // 5
{"270-c5.bin", 0x800000, 0xBD30B52D, 1},    // 6
{"270-c6.bin", 0x800000, 0x86A69C70, 1},    // 7
{"270-c7.bin", 0x800000, 0xd28fbc3c, 1},    // 8
{"270-c8.bin", 0x800000, 0x02C530A6, 1},    // 9

{"270-m1d.bin", 0x020000, 0x18114FB1, 0x10}, // 10 Z80 code (decrypted)
// {"270-m1.bin" , 0x080000, 0x49c9901a, 0x10}, // 10

// This uses the Neo-PCM2 2002 (Playmore) chip
// {"270-v1.bin" , 0x800000, 0x62e434eb,    2}, // 11 Sound data (encrypted)
// {"270-v2.bin" , 0x800000, 0x180f3c9a,    2}, // 12
{"270-v1d.bin", 0x800000, 0xe5c71699,    2}, // 11 Sound data
{"270-v2d.bin", 0x800000, 0x70b7083d,    2}, // 12
};

STDROMPICKEXT(samsho5, samsho5, neogeo);
STD_ROM_FN(samsho5);

static void samsho5Decrypt()
{
*((unsigned short*)(Neo68KROM01 + 0xE7EC2)) = 0x7CCC; // menu AES color text fix
*((unsigned short*)(Neo68KROM01 + 0xE7EC4)) = 0x1DC7;
*((unsigned short*)(Neo68KROM01 + 0xE7ECA)) = 0x2DB0;
*((unsigned short*)(Neo68KROM01 + 0xE7ECE)) = 0x4C90;
*((unsigned short*)(Neo68KROM01 + 0xE7ED2)) = 0x4C60;
*((unsigned short*)(Neo68KROM01 + 0xE7ED6)) = 0x6B30;
*((unsigned short*)(Neo68KROM01 + 0xE7EE2)) = 0x7CCC;
*((unsigned short*)(Neo68KROM01 + 0xE7EE4)) = 0x1BCE;
*((unsigned short*)(Neo68KROM01 + 0xE7EEA)) = 0x549D;
*((unsigned short*)(Neo68KROM01 + 0xE7EEE)) = 0x117D;
*((unsigned short*)(Neo68KROM01 + 0xE7EF2)) = 0x204C;
*((unsigned short*)(Neo68KROM01 + 0xE7EF6)) = 0x302C;
*((unsigned short*)(Neo68KROM01 + 0xE7F02)) = 0x7CCC;
*((unsigned short*)(Neo68KROM01 + 0xE7F04)) = 0x45B1;
*((unsigned short*)(Neo68KROM01 + 0xE7F06)) = 0x14A0;
*((unsigned short*)(Neo68KROM01 + 0xE7F08)) = 0x2290;
*((unsigned short*)(Neo68KROM01 + 0xE7F0A)) = 0x4390;
*((unsigned short*)(Neo68KROM01 + 0xE7F0C)) = 0x2280;
*((unsigned short*)(Neo68KROM01 + 0xE7F0E)) = 0x2170;
*((unsigned short*)(Neo68KROM01 + 0xE7F12)) = 0x0060;
*((unsigned short*)(Neo68KROM01 + 0xE7F16)) = 0x0050;
*((unsigned short*)(Neo68KROM01 + 0xE7F18)) = 0x0040;
*((unsigned short*)(Neo68KROM01 + 0xE7F1C)) = 0x0020;

unsigned char* src = Neo68KROM01+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()
{
nNeoProtectionXor = 0x0f;
pNeoInitCallback = samsho5Decrypt;
return NeoInit();
}

struct BurnDriver BurnDrvSamSho5 = {
{"samsho5", "Samurai Shodown V", "Japanese title is Samurai Spirits Zero", "Yuki Enterprise / SNK Playmore", "Neo Geo", "2003", NULL, "neogeo"},
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
};
--- End code ---

fataku:
you should change the information for the M1 and V roms since yours are nuked (those are baddumps)

the follow roms are the perfect ones (were redumped and confirmed by The_Dumper)

   rom ( name 270-m1.bin size 524288 crc 49c9901a )
   rom ( name 270-v1.bin size 8388608 crc 62e434eb )
   rom ( name 270-v2.bin size 8388608 crc 180f3c9a )

iq_132:
Can you give any information on what the differences (like bytes and such) are between those and the ones that are available right now?

Vorador:
Also, your C´s are the watermarked ones,, these should be more accurrated:


--- Quote ---{"270-c1.bin", 0x800000, 0x14FFFFAC,    1}, //  2 Sprite data
   {"270-c2.bin", 0x800000, 0x401F7299,    1}, //  3
   {"270-c3.bin", 0x800000, 0x1BFF0D0E,    1}, //  4
   {"270-c4.bin", 0x800000, 0x41560A5,    1}, //  5
   {"270-c5.bin", 0x800000, 0xBD30B52D,    1}, //  6
   {"270-c6.bin", 0x800000, 0x86A69C70,    1}, //  7
   {"270-c7.bin", 0x800000, 0xd28fbc3c,    1}, //  8
   {"270-c8.bin", 0x800000, 0x02C530A6,    1}, //  9
--- End quote ---

iq_132:
Fixed ;)

Navigation

[0] Message Index

[#] Next page

Go to full version