What's new

DJLC

Enthusiast
Joined
Jul 21, 2015
Messages
121
Reaction score
30
Location
Saint Louis, Missouri
I know the collection is out today and I am wondering if anyone has had a chance to rip it from the PC version and try on an Emulator? If it works there then it should work on real hardware right?

I know it's a new game but it's currently free on Epic game store. I only advocate doing this if you legally own a license for the game (by owning the collection).
 

fandangos

Student
Joined
Feb 5, 2016
Messages
91
Reaction score
76
Location
Unespecified for privacy reasons
Not sure if this breaks any rules but I'm also interested in getting samsho5p running on Mister, FBA, MAME or if I was lucky enough to own a Darksoft multicart.

So here's the deal, the game comes with a bunch of *.mbundle files. Those can be extracted like usual, the same method used for Street Fighter 30th collection and some other games.
Now the problem is that while we have:

SamuraiShodown5Special mbundle

we don't have a 5 perfect one.
If you extract the main mbundle file you will find some assets of the game, interviews, artwork.. and just a few files that seem related:

samsho5a.cslot1_maincpu.dec

samsho5_fe.cslot1_maincpu
SamuraiShodown5_FE.nv
SamuraiShodown5_FE.pbin


FE I guess means Final Edition and I'm guessing this because all artwork named samsho 5 FE is the perfect one.


So I guess someone with some more knowledge of the rom system of the neo geo could know how to replace those on a final burn alpha rom zip.
 

jassin000

Legendary
Multi Boyz
Joined
Jul 21, 2015
Messages
7,739
Reaction score
6,278
Location
Nashua, NH
I'm assuming the pbin file is the actual program ROM binary?
We don't know how its been merged to separate for real hardware, however maybe we could get this information by comparison of a known ROM?

We need offsets/separations for...
  • crom0
  • m1rom
  • prom
  • srom
  • vroma0
MAME lists like this...
  • 272-c1.c1
  • 272-c2.c2
  • 272-c3.c3
  • 272-c4.c4
  • 272-c5.c5
  • 272-c6.c6
  • 272-c7.c7
  • 272-c8.c8
  • 272-m1.m1
  • 272-p1.p1
  • 272-p2.sp2
  • 272-v1.v1
  • 272-v2.v2
 
Last edited:

fandangos

Student
Joined
Feb 5, 2016
Messages
91
Reaction score
76
Location
Unespecified for privacy reasons
I'm assuming the pbin file is the actual program ROM binary?
We don't know how its been merged to separate for real hardware, however maybe we could get this information by comparison of a known ROM?

We need offsets/separations for...
  • crom0
  • m1rom
  • prom
  • srom
  • vroma0
MAME lists like this...
  • 272-c1.c1
  • 272-c2.c2
  • 272-c3.c3
  • 272-c4.c4
  • 272-c5.c5
  • 272-c6.c6
  • 272-c7.c7
  • 272-c8.c8
  • 272-m1.m1
  • 272-p1.p1
  • 272-p2.sp2
  • 272-v1.v1
  • 272-v2.v2
I assume you have the mame or the fba rom to compare so the filesize might indicate we don't have everything we need in this.

samsho5a.cslot1_maincpu.dec and samsho5_fe.cslot1_maincpu both are 8192kb

SamuraiShodown5_FE.nv is a 72kb that starts with BACKUP RAM OK.

SamuraiShodown5_FE.pbin is a 18km file


My guess is that SS5P is patched over ss5s.


The samsho5_fe maincpu in HxD shows Samurai Shodown 5 Special.

So basically we have 8mb of files.
 

fandangos

Student
Joined
Feb 5, 2016
Messages
91
Reaction score
76
Location
Unespecified for privacy reasons
Well.. at least I got it to boot

 

ack

Enthusiast
Joined
Apr 21, 2018
Messages
109
Reaction score
154
Location
WA, USA
Try doing this for the program rom

Code:
dd if=samsh5sp.cslot1_maincpu.dec of=samsh5sp.cslot1_maincpu.swap conv=swab

dd if=samsh5sp.cslot1_maincpu.swap of=0.bin bs=1048576 skip=0 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=1.bin bs=1048576 skip=1 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=2.bin bs=1048576 skip=2 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=3.bin bs=1048576 skip=3 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=4.bin bs=1048576 skip=4 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=5.bin bs=1048576 skip=5 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=6.bin bs=1048576 skip=6 count=1
dd if=samsh5sp.cslot1_maincpu.swap of=7.bin bs=1048576 skip=7 count=1

cat 0.bin 7.bin 3.bin 6.bin > 272-p1.p1
cat 1.bin 2.bin 4.bin 5.bin > 272-p2.sp2
In mame this will get is past the bank error and will display a blinking insert coin. It will however crash or watchdog if you insert a coin. I haven't look at the m1/s1/vrom/crom's yet.
 
Last edited:

l_oliveira

Professional
Joined
Jun 26, 2015
Messages
540
Reaction score
552
Location
Brazil
SSVSP has PCM2 with P-ROM scramble. The right way of going about with this (if the goal is run this as SSVSP on mame) is figure out this particular rom scramble first, unscramble it and finally scramble it with the correct scramble for the old SSVSP ROM.
 

plasia

Grand Master
Joined
May 5, 2016
Messages
822
Reaction score
553
Location
Melbourne, Australia
You can extract using the sf30 mbundle extractor thingie.

I don't know that much about these things. I found the most interesting things in the main bundle.

There are some _NGM.nv files, something to do with neo geo mini? (total guess)
there's a combo.patch.vrom file, 53,760 bytes
SamuraiShodown5_FE.nv 73,728 bytes
samsho5_fe.cslot1_maincpu 8mb exact 8,388,608 bytes
SamuraiShodown5_FE.pbin 18,126 bytes

I don't know how to re-create any of the roms, let alone V Perfect :(

Maybe the .sav files? What are these sprites.swizzled files?
 

alexcom

Beginner
Joined
Feb 18, 2019
Messages
25
Reaction score
11
Location
Italy
You can extract using the sf30 mbundle extractor thingie.

I don't know that much about these things. I found the most interesting things in the main bundle.

There are some _NGM.nv files, something to do with neo geo mini? (total guess)
there's a combo.patch.vrom file, 53,760 bytes
SamuraiShodown5_FE.nv 73,728 bytes
samsho5_fe.cslot1_maincpu 8mb exact 8,388,608 bytes
SamuraiShodown5_FE.pbin 18,126 bytes

I don't know how to re-create any of the roms, let alone V Perfect :(

Maybe the .sav files? What are these sprites.swizzled files?
.sprites.swizzled files (from the "MAIN" folder) contain the ROMs IMO
 

plasia

Grand Master
Joined
May 5, 2016
Messages
822
Reaction score
553
Location
Melbourne, Australia
the .swizzle being it would be a good guess. My investigation:

This is the SamuraiShodown_NGM.sprites.swizzled in hex.

Blanked out after offset 00900000

swizzlemynizzle.PNG

It's the same size as the crom but when comparing is different. Using SmokeMonster rollup Beta 3.1

checksum.PNG


Continuing: samsho.cslot1_fixed matches the srom
checksum2.PNG



Continuing with this:
samsho.cslot1_ymsnd matches vroma0

Didn't find any other matches

So umm.. that's a start
 

plasia

Grand Master
Joined
May 5, 2016
Messages
822
Reaction score
553
Location
Melbourne, Australia
Someone look at prom vs samsho.cslot1_maincpu in hex editor.

They look almost the same? Weird, they seem to be swapping every 2nd byte.
 

sammargh

Professional
Joined
Jul 24, 2017
Messages
525
Reaction score
374
Location
South Dakota
If you dump the running process and search around you can find mame hiding in it. You need to look at the .pbin file that is encrypted as it seems to house everything outside of the prg rom.

Excuse the excessive .s this is just a copy/paste from hex and formatted to be a little more readable:
Code:
Samurai Shodown 5 Special.......(NGM-2720)......SamuraiShodown5Special_NGM......SNK/SamuraiShodown5Special......samsh5sp........
samsh5sp.cslot1_maincpu.dec.....
samsh5sp.cslot1_fixed.dec.......
samsh5sp.cslot1_audiocrypt.dec..
#samsh5sp.ymsnd.
samsh5sp.cslot1_ymsnd.dec.......
SamuraiShodown5Special_NGM.sprites.swizzled.....
vs

Code:
Samurai Shodown 5 FE....('Final Edition').......SamuraiShodown5_FE......SNK/SamuraiShodown5_FE..samsho5_se......
samsho5_fe.cslot1_maincpu.......
SamuraiShodown5_FE.sprites.swizzled.....
SamuraiShodown5_FE.nv...
SamuraiShodown5_FE.pbin.patch/PATCH_IMG_SPIRITS_FILL.
you'll notice that there's nothing at all mentioned past maincpu. While the char data might be in the swizzled file there's important data in the encrypted pbin that needs retrieved. I have no interest in looking further but might as well drop what I did find somewhere.

Edit: As for the byte swap reference MAME's source and you'll see that the prg roms are swapped when loaded.
 

bytestorm

Enthusiast
Joined
Nov 22, 2015
Messages
233
Reaction score
88
Location
Sweden
Would it be possible to run a fully decrypted set of this on a BK1/CHA512 pcb set?

I have been trying to understand how to getting the bankswitching for the decrypted P rom to work, but the BK1 pcb can not handle the size SSVFE uses from what I can tell..
Any way around this 27C800+27C322 eprom limit for the P1 & SP2 slots? (or could the SSVFE P roms contain dummy data at the en that we could cut like ms5 P roms does?)

Would be frekkin awesome to put this baby on a single pcb set :D

bk1.jpg
 

plasia

Grand Master
Joined
May 5, 2016
Messages
822
Reaction score
553
Location
Melbourne, Australia
Maybe let's look at getting it working first...
 

twistedsymphony

Enlightened
Staff member
Immortal
Joined
Jul 21, 2015
Messages
9,838
Reaction score
9,082
Location
NH, USA
I have been trying to understand how to getting the bankswitching for the decrypted P rom to work, but the BK1 pcb can not handle the size SSVFE uses from what I can tell..
Any way around this 27C800+27C322 eprom limit for the P1 & SP2 slots? (or could the SSVFE P roms contain dummy data at the en that we could cut like ms5 P roms does?)
you'll also likely have problems with the V-Roms and C-ROMs there is only room for 4x 27c160 V-ROMs (64Mbit total) and 6x 27c322 C-ROMs (192Mbit total) original carts had special Mask ROMs that doubled those numbers.

pretty much everything that released on the BK1 or newer PROG board used those special over-sized V-ROMs, and everything that released on the 512Y or newer CHA board used the special over-sized C-ROMs.
 

l_oliveira

Professional
Joined
Jun 26, 2015
Messages
540
Reaction score
552
Location
Brazil
Guys, focus on de-scrambling the program roms first.

old MAME release neocrypt.c, this code de-scramble the released samsho 5 Special, This ROM has a different scramble which is why it tosses a bank error when you try to boot it on mame while using the scramble from another game.
Code:
void neogeo_state::samsh5sp_decrypt_68k()
{
	int i;
	static const int sec[]={0x000000,0x080000,0x500000,0x480000,0x600000,0x580000,0x700000,0x280000,0x100000,0x680000,0x400000,0x780000,0x200000,0x380000,0x300000,0x180000};
	UINT8 *src = memregion("maincpu")->base();
	dynamic_buffer dst(0x800000);

	memcpy( dst, src, 0x800000 );
	for( i=0; i<16; ++i )
	{
		memcpy( src+i*0x80000, dst+sec[i], 0x80000 );
	}
}
 
Top