[FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1

  • Thread starter Thread starter insidious611
  • Start date Start date
Status
Not open for further replies.
Just wanted to say this is still in progress. I haven't gotten any bug reports in a while (which I choose to see as a good sign :P), I've been working on the battle theme support (both a prototype of the resume support and the fake-pause-and-play-the-SPC support) but I haven't gotten the chance to test it as yet.
 
This is quite awesome! Looking forward to this project's completion! Makes me want to try hacking other games to take advantage of byuu's msu-1...
 
If you mean working on a hack yourself, I highly encourage trying it. The basic coding and hooking is surprisingly simple and yet the knowledge of ASM and of a game's inner workings you gain from it is very rewarding.

Honestly the hardest parts of this have been logistics and testing. Testing is kind of a bitch, you have to be very very patient with a debugger. (I suggest a recent version of bsnes-plus)
 
Last edited:
I can't wait for this to come out! The new Higan/BSNES also has the new MSU-1 resume functionality which is great timing.

insidious611, have you thought of releasing a FF6 Steam version as well, since it is now possible to replace the audio within the game?
 
I wasn't at all aware this was a possibility. I'll look into it, but tentatively at least I'm interested in trying. AFTER I've got this version done, anyway.
 
Took a look at it. I'm intrigued, I might have to poke at this header some at some point and figure out if we can't find where the loop point value is and how it's calculated.

Unfortunately I'd have to basically back-convert our .pcms to OGGs, since they underwent heavy editing in some cases, and besides that the actual loop point is contained in the header of those, as Covarr and I didn't write the numbers down :P

For an update to the project, all's quiet on the bugtesting front, with only 5 bugs remaining, all of which were submitted months ago and 3 of which were known before I put in alpha-testing and have been held off until beta. I had someone apply to be an alpha tester but at this point it's a tad too late I'm afraid. I'll be poking for a new round of testers once I get ready to push into beta, which will be after I get Dancing Mad subsong switching and battle resume support working.

On a personal note, active work on the project on my part has been on an unofficial hiatus the last few months due to personal issues, in addition to preparations for an upcoming move from my current location in northern Illinois to southern Virginia. I felt the need to be honest with you guys on that front. But I promise that work will resume in March once I'm moved and settled in. Thanks your understanding.

I'd like to take an unofficial poll, actually, concerning resume support. Now that Higan has been updated to have official resume support, and presumably similar updates are in works to the SD2SNES's firmware (I wouldn't know as I don't have one and don't really check these things), should I actually continue with the hacky "faux resume" support I was working on, where the MSU-1 tracks would be muted temporarily to bring up the SPC battle/victory themes, and then brought back to full volume, or should I scrap that entirely in favor of cleaner code that focuses only on true resume support, falling back to current "no resume at all" functionality if it's absent?

The reason I ask is that the faux-resume support actually involves a lot of somewhat convoluted logic to implement, since I have to kind of bolt it onto the current code which is not designed to mute the MSU-1 without stopping it or switching tracks. It's not a lot of actual lines of code (the ASM patch in general is actually quite short) but it's a lot of stuff that makes the code harder to read and maintain, even when well commented.

True resume support on the other hand is the matter of setting a flag and then otherwise using the exact same logic I'm already using.

I'd also like to point out, not that I foresee this ever happening, but should something happen to me where I can no longer work on this project, I will release my source code in its current form to the public for someone to pick up on my work. Again, this is highly unlikely to happen, I'm enjoying working on this project and I fully intend to see it through to completion, but I wanted to make that clear.
 
Last edited:
I think it's better to only support true resume. It's less hacky AND it sounds better.
 
So I'm kind of stuck... I can't get the current patch to run *at all* in Higan v097, which is the one with resume support. It just seems to freeze near the beginning. Higan does *not* currently have a debugger so I can't figure out why this is happening and bsnes-plus v073+2, which does have a debugger, works fine, but it reports itself as MSU-1 version 1 which doesn't have resume support.

Resume support should be working but I am currently *unable to test this at all* and indeed, unable to do *any further testing or development* until I can figure out what's going on.

NOTE: This *includes* current alpha code prior to my working on resume at all, ie, code that *should* work because it did (and *does*) work on higan v094
 
Last edited:
GOOD NEWS. With Covarr's help, I now understand the changes to manifests/file naming conventions/etc that higan v096/v097 brought. As such, I was able to get everything working.

Resume support is (preliminarily, I haven't done full testing) working in higan v097.


Now for the bad news:

I have to rewrite a significant section of the Installer to work with the changed file structure of the new higan. So, no test version with resume support yet, or for at least a few more days.
 
Last edited:
Resume support has been committed to the private repository for Alpha testers, and the experimental branch has been folded back into the master branch. The current state of code on the repository should be considered "Closed Alpha 2". I would appreciate someone doing a full playthrough in Higan v097 to make sure that resume support is working right, and same in SD2SNES when resume support is merged into the main firmware for that device (afaict it has not been yet).

Higan v097 uses a different file structure than v094 and while honestly I consider it *easier*, it's also a bit of a pain to convert from. Basically, if you currently have an installed version of this patch with ff3-#.pcm, ff3msu.msu, and program.rom or ff3msu.sfc/ff3.sfc files, you need to rename all the pcms to track-#.pcm instead of ff3-#.pcm (where # is the track number), rename the ff3msu.msu to msu1.rom, make sure the main rom is named program.rom, and delete any manifest.bml file.

*However* this now means that installing for newer higan, once I've finished tweaking the installer, will be almost 100% drop-in, as opposed to the earlier, clunkier method. Basically you'd just have to either install to a directory under %USERPROFILE%\Emulation\Super Famicom, or make one and copy to it, and it should all work fine. Generating manifests for your specific rom are a thing of the past.
 
I don't want to say too much, in case I'm wrong, but I believe I've found out how to do the subsong switching necessary for Dancing Mad. Which is one of the last blockers before an open beta.
 
That's great to hear.  I look forward to continuing developments for my favorite game of all time.
 
My Dancing Mad fix is currently causing a very odd bug wherein a certain random track is being played instead of silence in certain other moments of the game, so I'm trying to track that one down but it's so far eluding me. Figured I'd update you all on progress however.

So far my hunch is it has something to do with how I'm overwriting certain code and it's not quite... clean, and I'm causing certain CPU flags to be set that shouldn't be, etc.
 
Last edited:
There seems to have been some updates since, but there doesn't seem to be an .exe for the current (newest?) Alpha, only a .py file...which I can't bloody figure out how to use.
 
I haven't yet fully updated the Installer, therefore I haven't created a new EXE for it.

I'm still working on trying to figure out the weird bugs with trying to get the final boss music working.
 
Alright, I have *finally* got the Dancing Mad parts 1-3, and thus the final battle, 100% working without causing any bugs (that I've found so far anyway) in the rest of the game.

I am going to do some more testing over the next few days, get the Installer 100% working again, test that for a bit, and then at some point after that the open beta should be released. I am not one to give or guarantee release dates, but Soon(TM).

When I do release the open beta, I ask you all to please remember what "beta" means. This will probably have many bugs I and the handful of closed testers have not yet found. It's your job to find them, and give me detailed reports of what caused them. It is not your job to expect a 100% finished product or to complain about this that or the other if it's not a bug, or to give bug reports that are short and unhelpful such as "It doesn't work".
 
Last edited:
Status
Not open for further replies.
Back
Top