Skip to content

Need help ripping sfiii3rd strike (non vgm format)

Technical discussion which is not directly related to VGM files. Talk about Hardware and Software.

Moderator: Staff

Post by MixerProductions »

Excellent work , can't wait for New Generation and Red Earth :drool:

Post by insertnamehere »

it will be a while before sfiii1 and redearth, because:

as i mentioned before, i need to implement detuning from the instruments themselves, since jojo soundfont has a wrongly detuned patch, and its noticeable(want to get the games to sound good before doing the others)

it will take a bit more time to search for the adresses manually inside mame, and will need this time (and patience) to find them, if somebody like lxxix69(sorry for not remembering your name, and thanks for the sfiii2 sound files'es locations) doesnt do these first, i will do it whenever i can, after i fixed the aforementioned issue

thanks for the support

by the way these emotes are so weird, :eyebrow:
  • Mike77154 Offline
  • Posts: 8
  • Joined: 2019-05-03, 5:49:33

Post by Mike77154 »

insertnamehere wrote:Update:
managed to get the right mixing, thanks to valleybell, and ctr, and managed to fix a bug that prevented a jojo song to loop propely, it was song 26, at channel 0, the only problem now is a strange tuning for the capcom logo jingle, in the code for vibrato, there is a parameter that was probably taken from an instrument, and signifies the detuning, not remembering where it was, but will get fixed


jojoban: https://drive.google.com/file/d/1z8WQS9 ... sp=sharing
sfiii3n: https://drive.google.com/file/d/1St0dgp ... sp=sharing
sfiii2n: https://drive.google.com/file/d/1Mk1S4- ... sp=sharing
I know that I am not Mikelow of vgmtrans, man I am not related directly with the dev team of Vgmtrans but, maybe I can be useful for you, man you make a big discover but, do you use OpenMpt for try the method?

Post by insertnamehere »

i use xmplay with the midi player plugin, and synthfont to test the midis, not using openmpt because its midi funcionality isnt the best.

after hearing if there's something wrong with the song, i go to the mame debugger, loading the game, finding the channel in the memory viewer (address of it is always close to the 2070000 "range", i always find the first channel's offset, then to get the specific channel i'd then add 116 for the number of channels preceding it(ex:channel 3 address= channel 1 address + (116 * 2))) , and isolate that channel, by stopping the song, then set the byte that plays the channel to 0x20 (channel address + 0x6a).

then i set some breakpoints arround, and watchpoints, where i think there's a problem, and try to figure it out, and then change the code accordingly.

(then i fail, and have to ask to valleybell/ctr for help)
  • lxix69 Offline
  • Posts: 7
  • Joined: 2019-07-11, 23:08:56

Post by lxix69 »

As it turns out, I didn't even really need to dig around in the MAME Debugger.

Basically, there's this program out there called "XCOPY." I think the person really just designed it for use in Street Fighter 3 (at least that's where I found the tool, it was a 3rd Strike resource), but it can basically decrypt the CPS3's program data in the 10 and 20 files. It doesn't let you SAVE it though, which is annoying, but not impossible to dig out. I just used the memory viewer in HxD and dug around until I found it

https://www.dropbox.com/s/8776lvgwk6k52qk/main.bin?dl=0 , the offset seems to be around 0x000B8410. Since this is an 8MB file, it's all kind of mashed together, but it should be way easier to fish out than digging around in RAM.

EDIT: https://www.dropbox.com/s/jx6c9km7mncs1 ... G.BIN?dl=0 - Street Fighter 3 New Generation program bank. Seems the data starts at 0x00382A20. I already tried to do Warzard, but the cps32midi program said there was an error with the sample file, but I think I probably just cut some data out by accident.

Post by insertnamehere »

now that's the definition of cool, lxix69

unfortunately, i discovered that my program actually has an issue finding the correct loop size, and i need to redesign it, and the instrument thing too, but still

and if you use it, does it have the capcom decryption?

(also if you know where you found it, to link it, please)
  • lxix69 Offline
  • Posts: 7
  • Joined: 2019-07-11, 23:08:56

Post by lxix69 »

https://www.dropbox.com/s/fb4vvglifi9p3qw/xcopy.7z?dl=0 - This is the link to XCOPY.

It actually does both CPS2 and CPS3 decryption, the readme is in Japanese but here's a translation:
X.C.O.P.Y.version 20070912 by yumeji

■ Overview
This is a binary editor for CPS2 / CPS3 users who assists in modifying the PROM.

■ How to play
After startup, open the target ROM file with the menu or tool button.
Or you can use D & D for the icon.
Then a small window will appear, so make settings.
You don't need to worry about where you can no longer change
Be careful with the combo box labeled "Offset".

? CPS2
  For example, when modifying ssf2, looking at the source of mame (src \ mame \ drivers \ cps2.c), it is as follows.

    ROM_REGION (CODE_SIZE, REGION_CPU1, 0) / * 68000 code * /
    ROM_LOAD16_WORD_SWAP ("ssfe.03", 0x000000, 0x80000, CRC (a597745d) SHA1 (5b12e09c14f0ea93b668b97ca2d27a686c85f641))
    ROM_LOAD16_WORD_SWAP ("ssfe.04", 0x080000, 0x80000, CRC (b082aa67) SHA1 (ca26b4bb1947cb30eaf6b61f606b859d18da4c4c))
    ROM_LOAD16_WORD_SWAP ("ssfe.05", 0x100000, 0x80000, CRC (02b9c137) SHA1 (ba624441e1b4bfb67c71f6a116fe43539eaa4a15))
    ROM_LOAD16_WORD_SWAP ("ssfe.06", 0x180000, 0x80000, CRC (70d470c5) SHA1 (ba03c8f4c76f72f4483e91547e03d1a0cf6db485))
    ROM_LOAD16_WORD_SWAP ("ssfe.07", 0x200000, 0x80000, CRC (2409001d) SHA1 (f532ebb2efbb8f8ba311d10ff897490352c87f97))
                                      ~~~~~~~~
  If you modify ssfe.03, Offset will be $ 000000,
  If you modify ssfe.04 Offset will be $ 080000,
  When modifying ssfe.05, select $ 100000 for Offset.
  The prefix for hexadecimal is "0x" in C language,
  This is "$" because it is made by Delphi.

? CPS3
  For example, if you modify sfiii3n, look at src \ mame \ drivers \ cps3.c

    ROM_REGION32_BE (0x800000 * 2, REGION_USER4, ROMREGION_ERASEFF) / * cd content region * /
    ROM_LOAD ("10", 0x0000000, 0x800000, CRC (77233d39) SHA1 (59c3f890fdc33a7d8dc91e5f9c4e7b7019acfb00))
    ROM_LOAD ("20", 0x0800000, 0x800000, CRC (5ca8faba) SHA1 (71c12638ae7fa38b362d68c3ccb4bb3ccd67f0e9))
                     ~~~~~~~~~
  And the Offset should be $ 0000000 or $ 0800000
  Since the PROM of CPS3 is read after 0x6000000,
  If you modify 10, Offset will be $ 6000000,
  To modify 20, select $ 6800000 for Offset.

After completing the above settings, press the OK button to start decryption.
After modification, press save button like general binary editor
It is re-encrypted and stored.

■ Points to note
Do not save the file with the file size changed.
  Any excess is truncated and any excess is padded with extra data.
Do not make large amounts of data changes in CPS2.
  If you need to do so, save frequently.
  This is because CPS2 re-encryption is performed with brute force.
  If all the data is changed, it will take about 30,000 times longer than if it had not been changed.
? File opening by D & D to windows cannot be performed.
  Because I didn't know how to proceed.
? Saved will clear the UNDO history. … Specifications.
? UNDO seems to be unlimited, but REDO can only be done once.
  This seems to be a component specification.
? The operation check is only performed easily.
  I'm sorry if there is anything.
You can freely change, distribute, etc. without notice.

Wow
And I have a theory that the reason Warzard didn't work was because the sample data was just in one "30" file, instead of in the simm3.0, simm3.1, etc. format, which is NOCD. I'll try to see if that fixes it.

Post by insertnamehere »

Thanks, ill definetly check it out, though youre doing most of the work, and im gratefull about that.

Post by insertnamehere »

had the time these days to fix a lot of bugs (thanks valleybell) and rip the missing games, if there are any problems, let me know in the thread

enjoy

https://drive.google.com/file/d/19QrxR8 ... sp=sharing
  • kirishima Offline
  • Posts: 82
  • Joined: 2015-06-18, 22:26:41

Post by kirishima »

I have a question. Are the loop points the actual loop points or just ones added in manually? I've come across a couple songs that had some channels that simply ended before it reached the loop end point that shouldn't have when compared to playback from the actual games.

Post by insertnamehere »

these are the actual loop points inside the song data.

post the songs that you have encountered this problem with, and the player you use.
  • kirishima Offline
  • Posts: 82
  • Joined: 2015-06-18, 22:26:41

Post by kirishima »

I use Foobar2000 + Kode54's midi plugin. Also test the file in an oudated version of Anvil Studio simply to see what was going on. I did not do any extensive testing to see how many other files had the same issue. I only came across the issue in Elena's Theme from the previous SF3 2nd Impact rip (which has probably been fixed since) and in Tao's Theme from the Red Earth rip which I included here since I renamed everything to their OST titles.
CD2 19 - Warlike Woman (Theme of Tao).7z
Tao's/Mei Ling's Theme
(1.95 KiB) Downloaded 186 times
Also encountered some instrument volume and sustain issues with the Red Earth soundfont, but those can be fixed in a soundfont editor.

Post by insertnamehere »

will check on it soon or later, and fix it

not really happy about "finding" this bug, but i will do it, and thanks for the feedback
  • lxix69 Offline
  • Posts: 7
  • Joined: 2019-07-11, 23:08:56

Post by lxix69 »

The opening to JoJo's Venture has an especially weird error, at least on my foobar2000, it doesn't actually finish the song, it loops back right to the beginning.

CPS-III Music

Post by DRAGONUNKNOWN »

I'm so confused with this whole thing that is going on. I downloaded the folder, which has the Street Fighter III music folders and I'm seeing a "cps32mid" application. Don't know what's that for and I'm curious on which program(s) or software(s) you use to operation on this "cps32mid" for the CPS-III music.
Post Reply