Dragon Ball Final Bout PSX- question about sequences by amariz at 6:33 PM EST on December 31, 2018
Hello all. Cheers for this new year. Asking here for help, I hope not being bothersome.
I'm trying to rip music for this game DBGT Final Bout.
What I observed:
I have found \TITLE\VABDATA.BIN to be instruments file, a big VAB (VAG?). But I did not find .SEQ data on any files. File \TITLE\OPENBG.BIN may contain sequences but I do not understand this format (Psdp). Exploring the files from the cd, I have found: .STR has VAG+video stream (exportable to XA) or just VAG samples collection; .DAT contains voice samples; .BIN are binary, graphics or some VAG data not in the others.
What I found:
files ______________________________________________________________________________________ \BATTLE\BTWINV.DAT = [VAB] win phrases, 3 per character \BATTLE\DEMOXA01.STR .\ \BATTLE\DEMOXA02.STR .= [XA] special move's phrases (16+16+4 tracks) \BATTLE\DEMOXA03.STR ./ \BATTLE\FINISH.STR = [XA] meteor smash finisher lines, 1 per character (18 tracks) \MENU\STEP00.BIN . \MENU\STEP01.BIN .\ \MENU\STEP02.BIN .= [???] graphic files; 1 per screen (???) \MENU\STEP03.BIN . | \MENU\STEP40.BIN . \MENU\STEP999.BIN ./ \TITLE\BTCHARA.DAT = [VAB] sfx + voices fx inbattle (260 tracks) \TITLE\CHARSEL.BIN = [VAB] voices at character selection (110 tracks) \TITLE\HAIKEI.DAT psdp 41 samples \TITLE\OPENBG.BIN psdp 18 samples <--- I believe music sequence is here! \TITLE\OPENETC.BIN psdp 16 samples <--/ \TITLE\OPENING.STR = [STR] opening video \TITLE\TENKAWIN.BIN = [VAB] win phrases at tenkai, 17 for characters + 2 crowd cheers \TITLE\VABDATA.BIN = [VAB] instruments + sound fx (28 samples)
_______________________________________________________________________________________ sequence number: (from the sound test [L1+L2+R1+R2 at title screen]) --------------------------------------- 00= (xa) outro.1 (instr.) 01= (xa) outro.2 (instr.) : from "OPENING.STR " 02= (xa) outro.3 (instr.) --------------------------------------- 03= gt goku 04= pan 05= gt l.goku 06= trunks 07= ss2 vegeta 08= ss1 goku 09= m gohan 10= cell 11= buu : I believe sequences are stored in "OPENBG.BIN" 12= freeza 13= piccolo 14= ssgt goku 15= trunks z.ss 16= ss1 vejito 17= ss4 goku 18= ssgt l.goju 19= ss1 trunks 20= baby --------------------------------------- 21= meteor.smash 1 22= meteor.smash 2 23= meteor.smash 3 24= meteor.smash 4 25= meteor.smash 5 26= meteor.smash 6 27= select character 28= tenkai winner 29= title screen 30= baby intro ---------------------------------------
I believe \TITLE\OPENBG.BIN and \TITLE\OPENETC.BIN have the sequences in that unknown format. I tried Eternal SPU Plugin v1.44 in psx emulator to save .spu data from the sound test screen, hoping that it would lead me to something. Here are 2 .spu files I created with that plugin, for the same music track (seq.#=03): 1 run, 2 runs or looped once.
I opened .spu file in hex editor. The arrangement of the data makes me believe that this .spu format file created by Eternal plugin is some form of SEQ, so I hope this could be converted to a .SEQ file together with its .VH header. If that would be the case, how do I convert these .spu files to SEQ/VAB ??
Thank you for your atention.
edited 6:34 PM EST December 31, 2018
Proofreading is a little bad on my side, forgive me please
Could anyone help? I am really interested in those SEQ and VAB files too =)
by Squaresoft74 at 1:00 PM EST on February 26, 2019
I gave it a look :
- Sequences are compressed AND custom.
Based on sound test menu:
Raw Bgm03 to Bgm20 are found in BTCHARA.DAT Raw Bgm30 is in found in OPENETC.BIN
They are loaded in main ram at 0x80035298 and uncompressed to 0x801EC000.
I couldn't find Bgm21 to Bgm29 yet.
- Vab Header is custom and is found in main executable SLPS_009.49 at 0x0001C3B0
All tracks seem to use the same vab body.
It will require ripping the original driver which is beyond me, sorry.
by Squaresoft74 at 6:55 PM EST on February 28, 2019
Ok i found the previously missing Bgm-21 to Bgm-29 sequences. Here's everything for anyone willing to give it a look: http://rgho.st/private/76c2FYMdP/4f8b671cea93e6391f88050d65ad403e
*.psdp files are compressed sequences and were ripped from files on disc.
*.seq files are uncompressed sequences and were either ripped from files on disc (Bgm-21 to Bgm-29) or ram dump (Bgm-03 to Bgm-20 and Bgm-30) as soon as unpacked to 0x801EC000 and before playback initialization.
I used Dragon Ball - Final Bout (Japan) (Rev 1) http://redump.org/disc/7226/
I'm not entirely sure if i have extracted the vab header (Bgm.vh) properly. It may contain extra useless data at the end.
- Figure out the .psdp compression. - Figure out the .seq and .vh format so it could be added to conversion tools such as VGMTrans.
Just to make sure i got the uncompressed sequences properly extracted, i've re-injected them to some save states and they all seem to play fine: http://rgho.st/private/6WLyNGKZK/9e39bd8d5f47ccbcffd297c6282b0be6
Load the game then one of the save state using BizHawk (i'm using 2.3.1 x64 btw).
I tried using VGMTrans in the files, but only the VB file gives me some samples, so sadly no MIDIs or DLS files. If someone with this proficency could extract those type of files, it would be amazing. I always wanted to work on this soundtrack
If the soundbanks for the instruments are in vb\vh format or vab, then you can already convert those to sf2. As for midi's, your currently only hope is to track down a epsxe spu plugin who's name I already forgot a long time ago. One of the features of said plugin was logging sound commands to midi, but it wasn't perfect. In fact, it's probably more trouble to deal with than the outcome is worth since the logged midi's are pretty much barebones. You have to figure out yourself which channel used what instrument, and if bank or program changes were used, you have to re-implement them manually. Pitch bend doesn't get logged either, and there are possibly other effects not logged. The only reason I mentioned this is because it's the only method available that I know for non-seq based files.
Honestly, I wish psf logging like vgm logging was a thing at this point for those games that still haven't had a proper rip.
Bgm samples (shared for all tracks) is a regular .vb file. But its header isn't a regular PsyQ .vh one. I guess it won't be possible to even build any sf2 from it until the format is reversed and added to conversion tools.
Do you think you can rip the sequence as well? VGMTrans should be able to extract the MIDI-file then @squaresoft74
Thank you for your work so far! =)
by Squaresoft74 at 5:07 PM EST on January 10, 2020
I already have the sequences extracted in both compressed and uncompressed form.
My wip driver makes use of the uncompressed sequences.
Since the format is custom and currently not supported by VGMTrans, it won't be able to extract them to MIDI. Same goes for the samples header so it won't be able to extract them to SF2.
Unless those are reversed and added to VGMTrans, you're out of luck for now i'm affraid. :(
Hey, the PSF 'can' be converted to MIDI, or am I mistaken? I thought that with the wip driver you made it would be possible to extract the notes (not a proper way to rip as original driver is custom, it would be more of a 'capture' than a rip, data-wise). Cheers for the upcoming PSF rip. Everyone were waiting for this!
by Squaresoft74 at 3:45 AM EST on January 11, 2020
Anyone remember the plugin Kirishima mentioned ? I don't see anything MIDI related with SpuEternal/eternalspuplayer, only SPU loging/playback.
*EDIT*
Seems it's Andy's SPU Audio Driver 0.16
edited 4:00 AM EST January 11, 2020
by Squaresoft74 at 6:43 PM EST on January 16, 2020
Based on the in game sound test menu order, any title change suggestion ?
Bgm-03: Goku Bgm-04: Pan Bgm-05: Little Goku Bgm-06: Trunks Bgm-07: Super Vegeta Bgm-08: Super Saiyan Goku Bgm-09: Gohan Bgm-10: Cell Bgm-11: Majin Boo Bgm-12: Frieza Bgm-13: Piccolo Bgm-14: Super Goku Bgm-15: Super Saiyan Trunks Bgm-16: Super Vegetto Bgm-17: Super Saiyan 4 Goku Bgm-18: Super Little Goku Bgm-19: Super Trunks Bgm-20: Super Baby Bgm-21: Meteor Theme 1 Bgm-22: Meteor Theme 2 Bgm-23: Meteor Theme 3 Bgm-24: Meteor Theme 4 Bgm-25: Meteor Theme 5 Bgm-26: Meteor Theme 6 Bgm-27: Character Select Screen Bgm-28: Victory Bgm-29: Title Screen Bgm-30: Continue
If titles are based on ntsc-u version, then those are OK! (though I do not remember if nº11 it's 'Majin Boo' or just 'Boo'). Thanks for your work.
by Squaresoft74 at 1:18 AM EST on January 17, 2020
While my driver/rip is based on the Japanese Rev1 version, i did use the Amercian version to pick up characters names and it's indeed "Majin Boo" there. If those fits you then i just need to time the set, my driver is complete now. :)
were you able to rip this game or only record the music in game?
by Squaresoft74 at 12:13 AM EST on January 22, 2020
You really don't want to click here. ;) As mentionned in my notes: At the time of release, not all PSF players / PS1 emulators play all tracks properly. It's most noticeable with the end portion of "Title Screen". There's no such issue when playing this rip on real hardware and this is how it sounds on it.
Well, except that I really wanted to give it a try so I clicked on the link ;) Good work! It really does not sound like on console, maybe some uncaptured wave effects (like reverb, release & such), but nonetheless a very good rip. For #29, maybe a hard-plug instrument already (well, would require a .SEQ or part of it), redirect instrument from .VAB or something like that, sounds like only one instrument to my ears, unless my hearing is degraded. Thanks for this rip; I hope it's welcomed in the community.
With other sound plugin (P.E.Op.S. dsound) track#29 plays fine (i.e. has proper ending); I do not know how diferent a spu plugin would affect the rip or driver making, I hoped that the rip would be spu-plugin-independent.
edited 3:23 PM EST January 22, 2020
by Squaresoft74 at 6:24 PM EST on January 22, 2020
Yes P.E.Op.S. DSound 1.9 is the only one atm that plays it almost correctly. It remains an emulation issue, nothing wrong with the driver/rip itself as demonstrated when played on real hardware. I've submitted the issue to Avocado and Mednafen's developers. Avocado's dev is giving a look at it. I didn't get any answer yet from Mednafen's author.
Yes I see. So vgmstream would also need an update for this rip to be 'final' (playable-wise of course), because of that intro track. I'm using 1050-2410. Cheers for the great work and this rip. tifaff & I are happy!
edited 11:43 PM EST January 22, 2020
by Squaresoft74 at 3:48 AM EST on January 23, 2020
Vgmstream is not a PSF plugin, i think you meant Kode54's PSF Decoder ? Yes it would require an update if the issue can be figured out. You could also give a try to viopsf_v0.14 using the Mednafen based plugin. It's not perfect either but closer than the Highly Experimental based ones atm.
This is impressive. I didn't think anyone would rip this game. Great work!
It seems the ending songs are missing, the ones that play during the credits. They might even have vocals in the Japanese version, I'm not able to check right now. Still a great rip.
What would be the best way to convert the files to WAV? Would that be PSF Decoder in foobar2000 or is there a better way?
by Squaresoft74 at 8:29 AM EST on February 16, 2020
Glad you appreciate it. :) Missing tracks are the streamed ones, i'm only interested with ripping sequenced BGMs. Still someone here might be willing to rip and add them to the current archive for completeness.
Kode54 has updated his PSF Decoder to version 2.2.5 which fixes the playback issue.
So just use that one, right click on the tracks you'd like to convert: Convert -> Quick convert -> WAV -> Convert -> Select ouput path -> Save