Author Topic: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1  (Read 212696 times)

insidious611

  • *
  • Posts: 152
    • View Profile
Glad you enjoyed it! The video is using my recommendation of music, which is a mix of sources.

Unfortunately we currently have a bit of a head scratcher bug with SD2SNES, so a public release may be a while down the road :/

insidious611

  • *
  • Posts: 152
    • View Profile
Good news on that front. We have someone with considerably more experience than myself with development for the SD2SNES doing some preliminary testing and ready to give tips, so *hopefully* he can figure something out.

insidious611

  • *
  • Posts: 152
    • View Profile
So we've fixed the sound glitches on SD2SNES but have come up against some hard to explain graphical glitches


EDIT: ... Which have just been explained away as being glitches in the latest preview SD2SNES firmware. Whee.
« Last Edit: 2015-10-05 07:16:14 by insidious611 »

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3191
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3940
  • Just Covarr. No "n".
    • View Profile
EDIT: ... Which have just been explained away as being glitches in the latest preview SD2SNES firmware. Whee.
This makes me so happy I could fart.

insidious611

  • *
  • Posts: 152
    • View Profile
We haven't come up against any show stoppers so far since then, knock on wood. I'm starting to work on some of the "safer" beta-target features, such as handling the last 2/5th of dancing mad, and the battle/victory theme handling, with muting (but not stopping) the MSU and playing the SPC music, then turning it back up to full.

To make use of the battle theme, since we're downloading it anyway (especially since eventually we will be using the new MSU spec's pause/resume support), for scenes that use the SPC music anyway like the wind-effects stuff at the beginning of the game, we'll trigger the MSU battle music. We'll only use the SPC battle music if the MSU music is already playing for the area. This is going to be a little inconsistent but imo it's the best way to use the resources available and show off what we can do.

saftle

  • *
  • Posts: 88
    • View Profile
For those testing the alpha version, be sure to grab my shader preset http://forums.qhimm.com/index.php?topic=16411.msg232697. In FF6 it looks amazing.

RetroDan™

  • *
  • Posts: 9
    • View Profile
That looks pretty good, actually.  For the first time, I see a solid advantage in using an emulator over real hardware.  Pity I can't use shaders on my SD2SNES.

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3940
  • Just Covarr. No "n".
    • View Profile
Good news!

http://board.byuu.org/phpbb3/viewtopic.php?f=16&t=700

The MSU-1 spec is going to be updated with Resume support! Which means I can potentially replace the battle/victory music and not interrupt the area music! I am not going to be implementing the version in bsnes-plus, I'm going to wait for a stable implementation in higan v096, so this is not in the cards for this project in the immediate future, and in the immediate future (after the alpha which should be coming out soonish) I'll be implementing the version that uses the SPC for battle/victory.

However, this means that yes, saftle, if things with the emulator developers go as they've said they should, we will eventually have a solution that doesn't need the workaround!
I posted this in IRC also, but in case you didn't see it, resume is here, in beta.

RetroDan™

  • *
  • Posts: 9
    • View Profile
I've been testing this pretty rigorously for the past few weeks, and with the exception of a few missing tracks and a playback glitch that causes buzzing when rapidly changing back and forth between two different .PCM tracks, the alpha is very playable on the SD2SNES.  Sure, there are some volume issues otherwise, but it's in a state I would really consider 'late version beta' were it not for a few missing features like resume support.  I am thrilled by this.

insidious611

  • *
  • Posts: 152
    • View Profile
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.

lexarvn

  • *
  • Posts: 1
    • View Profile
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...

insidious611

  • *
  • Posts: 152
    • View Profile
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 Edit: 2015-12-25 22:45:53 by insidious611 »

saftle

  • *
  • Posts: 88
    • View Profile
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?

insidious611

  • *
  • Posts: 152
    • View Profile
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.

saftle

  • *
  • Posts: 88
    • View Profile
Awesome. I'm excited for both. Well, I may as well post the tutorial for future reference. It was created by one of the contributors in the Final Fantasy Modding Steam Group. http://steamcommunity.com/groups/ff-modding/discussions/1/451848855020615337/
« Last Edit: 2016-01-04 17:41:21 by saftle »

insidious611

  • *
  • Posts: 152
    • View Profile
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 Edit: 2016-01-08 05:04:57 by insidious611 »

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3940
  • Just Covarr. No "n".
    • View Profile
I think it's better to only support true resume. It's less hacky AND it sounds better.

insidious611

  • *
  • Posts: 152
    • View Profile
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 Edit: 2016-03-14 19:37:26 by insidious611 »

insidious611

  • *
  • Posts: 152
    • View Profile
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 Edit: 2016-03-14 21:12:25 by insidious611 »

obesebear

  • *
  • Posts: 1389
    • View Profile
Awesome news, good work!

insidious611

  • *
  • Posts: 152
    • View Profile
https://www.youtube.com/watch?v=PvePGgdm_sc An *extremely* short demonstration of working resume support.

insidious611

  • *
  • Posts: 152
    • View Profile
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.

insidious611

  • *
  • Posts: 152
    • View Profile
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.

RetroDan™

  • *
  • Posts: 9
    • View Profile
That's great to hear.  I look forward to continuing developments for my favorite game of all time.