Qhimm.com Forums

Final Fantasy Forums => Audio Mods => Topic started by: insidious611 on 2015-04-19 04:30:20

Title: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-19 04:30:20
So, I was rather inspired by DLPB's soundtrack mods for FF7, and FF8, by this (http://forums.qhimm.com/index.php?topic=15730.msg220899#msg220899) old thread nobody really replied to, by FinalFanTim's remixes, by OCRemix Balanche & Ruin, and by documentation of the MSU-1, to attempt a mod to replace the audio of FF6 with higher fidelity/remixed versions.
So without further ado...

What is this?

Dancing Mad is an Open Beta mod to enhance the audio of the SNES game Final Fantasy 6 (3 in the US). Put simply, it replaces the SPC (SNES sound chip) based audio of FF6/FF3 with the official OST, or optionally, a number of other sources of remixed/remastered FF6 music.

Why?

Two reasons, really. For one, I have been feeling lately like I want to give myself challenging projects that involve areas outside of my comfort zone. I've not done much ROM hacking (at least, without tools) before, and my experience with ASM is mostly 6502 and a smattering of x86. So this is new territory, and that's exciting and promising. It's my belief that you should always endeavor to learn new things.

The second is that there are a fairly large number of really good remixes, arrangements, etc of the Final Fantasy VI soundtrack that fit well with the game but sound better than the original SPCs, and I wanted to see these as part of the game itself and give the game a little modern color and flavor.

off course, in terms of the OSV, the difference is admittedly somewhat minor. As far as I can tell, the OSV tracks were essentially rendered *from* the SPCs in a way. The difference in quality is there, mostly coming from slightly cleaner samples, better resampling and a samplerate of 44100Hz instead of 32000Hz, but it's quite hard to notice.

Where can I download it?

THE OPEN BETA IS NOW AVAILABLE HERE (https://github.com/Insidious611/DancingMadFF6/releases)
Development occurs on my GitHub, which is here (https://github.com/Insidious611/DancingMadFF6)

What Songs?

This mod will contain audio from at least these 6 sources, converted to MSU-1 PCM format.

1. FLACs of the official FF6 OST.
2. MP3s of FinalFanTim's "Unreleased Tracks" FFVI Remaster project.
3. FLACs of the OCRemix Balance & Ruin remix album.
4. FLACs of Sean Schafianski's Final Fantasy VI Remastered project. (Buy it! It's on iTunes and Loudr and it is glorious)
5. MP3s of Final Fantasy Acoustic Rendition
6. MP3s of ChrystalChameleon's FF6 remasters.

You will be able to choose which specific audio files you want to install, or you can choose one of 8 predefined selections:

1. The FF6 OST itself
2. The FinalFanTim MP3s plus the OST
3. The OCRemix Album, plus the OST for Grand Finale?, What?, and Celes.
4. Alternate loops of the OCRemix album provided by qwertymodo
5. The Sean Schafianski Remaster plus the OST
6. The Final Fantasy Acoustic Rendition plus the OST
7. ChrystalChameleon's FF6 remixes plus the OST
8. My own selection of a mix of the four, based on what I feel best captures Nobuo Uematsu's original intent. Entirely subjective here, don't like my selections, don't use them.

In addition, other tracks are included for you to select from that don't fit any of the above. This includes Opera music by the Tokyo Symphony Orchestra (currently disabled due to coding difficulties :( ) as well as music contributed by fans and other contributors to the project.
I may also include some misceallaneous tracks if I find good ones, such as OCRemix tracks that aren't bart of Balance & Ruin, or orchestral/piano tracks, etc.

What will I need?

You'll need a copy of FF3us to start with, I plan on supporting FF6j later. Patched versions should work, unless they touch the audio code or move things around addresswise. (No translations that extend script size!)

As far as playing this, you will need either bsnes/higan (I plan on targetting bsnes v075 as a baseline as people seem to have had the most success with this version as far as MSU-1), or the actual SNES hardware and an SD2SNES flash cart. (I do not by any means have the money to purchase one of these for myself, so I'm going to need people's help testing this.)

How?

This project will use the MSU-1 "addon" developed by Byuu. This addon is much like the SuperFX, S-DD1, or SA-1 chips in released SNES games, except that, other than in the case of the SD2SNES, there is no physical hardware implementation. This addon allows me to stream data, in this case audio, at 2.68Mbit/s from a data file seperate to the ROM itself. This add-on is essentially intended to be everything the SNES CD was supposed to be, and more. Other people have added remastered BGM to other games before (See A Link To The Past for one of the few publically released versions... I have no idea why people are so guarded with their MSU-1 hacks.), and a few have even added FMVs to SNES games. (I may eventually try to port the PSX FMVs, but that would be a seperate, compatible mod.)

I will point out that I admittedly have little to no grasp of SNES ASM beyond basic SPC routines, the MSU-1 documentation, and my knowledge of how ASM works in general. So the patching part of this project is expected to be slow going, initially buggy, and potentially arduous. But, from what I've seen the MSU routines are relatively simple, and I don't plan on giving up, as I would personally love to see FF6 modded with better music.

This project has been completed before by someone by the handle of Drakon (see YouTube) but he refuses to release his IPS file, sources, documentation, or literally anything that would actually allow you to play his efforts, so in the spirit of the Open Source community, I'm going to redo it and release it to everyone.

This project is going to end up being one of two things on the user end. 1. A rather large download or 2. A rather long install, as either I'm going to have to pack in the uncompressed raw PCM files or a script to manually decode and convert them on the fly.

How Can I Help?

Testers, *especially* SD2SNES testers, of the Open Beta are wanted. Specifically, I'd like people to pay special attention to the Opera scenes and make sure those are functioning properly.
In addition, people with experience dealing with SNES assembly, NMI routines, and most helpfully, editing FF6's specific NMI routine without causing issues, are critically needed to help with the fading issue. See the github issue HERE (http://ttps://github.com/Insidious611/DancingMadFF6/issues/5). Please fork and make pull requests!

Current Status?

2015-04-25
We have liftoff! The project is working, we have officially succeeded in getting FF6 to play our songs! See the video section.

2015-09-28
We have a private alpha! Complete with a convenient installer (with dynamic track downloader), readme (with credits), and all the files necessary for playing the game besides the ROM itself (please supply your own unheadered FF3 US V1.0 ROM). See this (http://forums.qhimm.com/index.php?topic=16077.msg232410#msg232410) post for details.

2016-06-03
We have an Open Beta! See links above.

2017-09-17
After a long hiatus, work is proceeding on fixing some issues with the installer, as well as fixing some project organization issues. Work has moved from BitBucket to GitHub.

This is taking too long! When is it going to be done?

When it's done. Any replies to this effect will be ignored, summarily. I encourage moderators and admins to discourage such talk in general. This is a project I definitely want to do, as an educational project for myself if nothing else, but I have other projects, other obligations in life in general, a fiancee, contract work, StreamStatus, game development, and other things I also work on. So progress may at times be slow, or may halt altogether. Be assured, I'm not going to give up on it.

Progress Videos!

Latest Alpha
https://www.youtube.com/watch?v=4WHT98HBgpE

First working proof of concept
https://www.youtube.com/watch?v=vKgSqG2Tbfc
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-19 07:56:37
I'm headed off to bed, but I've begun the process of creating the .pcm files (which involves rather tedious amounts of trimming, pinpoint exact loop sample checking, and testing.) I have the .pcm files for all 3 versions for track 2 and track 1, though the OCRemix version actually has two options for track 1 (the opening): The native tempo, which is completely out of timing with the actual game past about the 2 minute mark, and uptempoed to almost match the OST.
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-19 22:59:41
EDIT: Since this progress table was long since out of date it's been removed. All tracks from all the original sources have been looped and tested at this point.


Update! 7/13/15

Due to issues with timing and properly splitting the music, the OCR versions of the Opera tracks have been removed and replaced with another fan remix.These replaced tracks are converted, looped, and tested. These also include replacements for some of the tracks the OCR was missing, such as Grand Finale and iirc What??.

Update! 10/7/17

GitHub user edale2 has been helping normalize the audio, and providing a few more alternate tracks, including some Black Mages covers. Expect these in the next release of the installer.
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-20 17:03:41
So, Covarr and I have been talking about the Opera Sequence, because it's... a mess, in general. Even if we forget the fact that it's musically interactive and rather tightly timed in the original, the OCRemix versions, which I definitely would select because they're *amazing*, concatenate two parts into one in one place, and add or change a bunch of lines.

Not to fear though, I've not given up.

It's likely that the first release will just have the normal SPC sound for this sequence, and that a later release will address these plans, but in any case, the plan is to retime the sequence entirely ourselves for the OCRemix version. The text display will be removed, and the "mouth flaps" will be redone to match the extra lines/words, and the timing fixed. This is going to be a pretty massive undertaking but imo it's necessary. When we get to this point, *ANY* help that *ANYONE* has regarding SNES ASM would be *extremely* welcome.
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-24 22:25:49
This bit is mostly here to provide notes for myself because I have a nasty habit of losing important info in hard drive crashes:

FF3us Important RAM Map:
$1301: MusSongID
$1302: MusVolume

Important hardware registers:
$2140-$2144: SPC Communications Registers
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-25 04:33:39
Having done some investigations into how FF3's internal music handling works, I had to update a number of the tracks above to reflect new findings.
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-04-25 05:28:03
I just wanna go on the record as saying OCRemix's "Dancing Mad" was a right pain. Had to make multiple versions with different loops, to be used depending on what ASM magic insidious611 is able to pull off, which was made really fun (difficult) by the fact that the OCRemix version of this song was meant to be listened to as a single piece; the remixer quite clearly never expected anyone to try and tear it apart in the middle to restore the original loop points from the SNES game.

I imagine the opera will require even more extensive audio editing, in addition to whatever ASM work insidious611 does with the timing. I can't wait, this is the most fun I've had on a project in a long time.
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-26 02:57:25
Guess what!

We have liftoff! The game is playing our tracks!

There's a bunch of bugs to fix, but lets celebrate what we have with a video.

https://www.youtube.com/watch?v=vKgSqG2Tbfc
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: obesebear on 2015-04-26 03:01:28
Very nice work.  Glad someone's taking the time to improve ff6 a little bit
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-26 05:37:45
Current Bugs:

* (Maybe fixed) Playing game music and MSU-1 music together after battle. Hacked around by zeroing the game's internal music playing variables if MSU playing succeeds, that way it doesn't have anywhere to load from. Seems to work. Better fix would be to find out what routine is re-enabling internal music, but I haven't had success with that yet.

* (Not yet fixed, but fix proposed) Silence or looping Prelude (load screen music) on load of saved game. This is likely because  some or all of the internal music variables are being saved on game save and then loaded on game load, and because we've told the internal music routine to mute the music, it's being skipped. The possible fix? Hook the save routines and copy our variables in place of the game's. This *should*, as long as the game is calling the "new track" routine on load, mean we're playing the proper music on load.

I'm not releasing this until we've got three things, roughly in order:

1. Special handling working for at *least* Dancing Mad, we might be able to just work around The Phantom Train but we need to be able to play 3 different loops for the Dancing Mad tiers even though there's only one internal track for it.

2. All of the music for all of the versions looped and trimmed.

3. A full playthrough of the entire game with everything working, on Higan, Bsnes (though on Bsnes SPU fallthrough on missing track won't work) and, if I can find someone with an sd2snes or afford one for myself, sd2snes, with MSU-1 music working for everything *but* the opera. Also, a full playthrough of the game on an emulator that doesn't support MSU, to make sure we aren't breaking things.

The opera is likely going to be left for a second release because it's going to involve *major* hooking of routines and timing issues, so for the first release it's probably going to be left to SPC only.
Title: Re: [FF6] [Early Development] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-26 05:48:30
obesebear: I plan on doing more FF6 improvement after this, but I'm focusing on this for now and am not going to announce my next plan until after this is release-quality. I noticed FF6 getting a lack of love too, and wanted to fix that. :P
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-27 06:13:52
Today is a good day! We've finished the OCRemix album completely. Well, other than figuring out what to do about the Opera tracks, anyway.

Also, I may have fixed a couple bugs, but I'm not sure yet. Heck, I may have caused a bunch more. We'll see.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Hellbringer616 on 2015-04-27 19:50:02
Would it be possible to port this over to the GBA version? that is the version i play as it has a bit of extra content.

If not... Know of any hacks that port over the extra content? haha
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-04-27 20:12:13
Would it be possible to port this over to the GBA version? that is the version i play as it has a bit of extra content.
Nah, this isn't doable on the GBA for several reasons:

Really, the only reason this is possible is because the SNES has an extra couple of pins that games don't use (except the Super Game Boy, which uses it to directly stream GB audio), which the MSU-1 chip takes advantage of; it is not limited by SNES restrictions. Without similar pins, it's not even possible to make a physical hardware expansion to make this possible on GBA.

If not... Know of any hacks that port over the extra content? haha
I remember reading about a hack that backports the GBA version's translation to SNES. Dunno if it was ever completed or what. AFAIK it didn't port any of the other extra content, though.

For what it's worth, there is a patch for the GBA version that ports the music from the SNES version (and possibly a better opera scene? I'm not sure, I never got that far with this patch). It's called Music Restoration patch, I think. It's not really the same as what we're doing, but it is definitely an improvement over the default audio which kinda sucked on the GBA port. I highly recommend looking it up. I'd provide a link, but my work internet blocks romhacking.net.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Hellbringer616 on 2015-04-27 20:27:20
No need, i already have a FF6 Advance patched with music, the palette correction, and a few bug fixes.

Once this is released i'll try and patch the patched GBA game, who knows, maybe it will work
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-04-30 01:41:02
I'm probably going to need to put out a call for Alpha testers soon.

However, I need anyone who signs up for this to be aware of a few things vefore doing so.

1. It's an alpha test. In the classic sense, as in strawberries will be broken and I need you to both understand that and be able to tell me where, when, how, and in what context something broke, providing me with savestates if necessary

2. It's going to be at least a 3 gig download.

3. Nothing is to be released publically until the work is done. I find a subpar leak I strangle you with shielded CAT6

4. I'm going to need you to have a relatively deep familiarity with the game,and specifically any musical cues
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: DLPB on 2015-05-01 01:19:20
As per IRC, I talked with Luksy about the opening FMV translation and we've come to:

Imperial Army, Special Directive:  Begin the invasion of Narshe, the coal mine city.

or

Imperial Army, Special Directive:  Begin the invasion of the coal mine city, Narshe.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: theonyxphoenix on 2015-05-01 21:13:13
This is one of my favorite games of all time and I was hoping that it would have some MSU-1 love.  Unfortunately my knowledge to do this myself is sorely lacking, but I would be happy to test (and learn) to bugfix in any way that I can.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-05-03 06:08:23
Did a bit of a stream testing the game out earlier.
http://www.twitch.tv/insidious622/b/655660538

Following it, and my dissatisfaction with the fact the music was so loud you couldn't really hear the sound effects in battle, I applied a brute-force scaling of the volume down by 0x40.

This is *still* a bit loud but at least you can hear the sound effects in battle now.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: saftle on 2015-05-04 19:25:33
I love the progress on this. MSU-1 hacks are amazing. Keep up the great work! :D

By the way, have you thought of making a version that would support the Re-Translation done by RPGONE (http://www.romhacking.net/translations/697/ )? I thought they did an awesome job. ChrisRPG did the programming. He passed away not too long after it got released, or shortly before. R.I.P. :(

Another cool rom hack that I've wanted to try was Brave New World. http://www.insanedifficulty.com/index.php/index.html/_/news/brave-new-world-160-released-r126.

If only those two hacks worked together.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-05-05 23:58:24
Honestly, unless either of those hacks modify the sound routines or a certain, empty portion of ROM I'm using for my own stuff, it's likely they're both compatible. I'll give them a look through though.

I had a graphics card fail on me and that's kind of put a damper on my mood, so I haven't been working too hard on this lately. At the moment what I really need to do is do a comparative runthrough of the game with the mod and without it to see if there are any major issues of music not playing, or the wrong music playing. What I'd counted as a bug, the Narshe music playing until you get to Figaro, someone said might actually be a thing that happens in the original. So it's that kind of thing I need to test for.

Other than that, what I *really* need to do is get fading working so that music transitions aren't so rough, but that requires hooking the NMI so that I can time said transitions, and that's not the easiest thing in the world.

Also, I still really need to figure out how saving and loading works for the music routines, so that I can get it playing the right music on game load.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-05-06 02:57:43
Hrm.. I'm not sure I'm going to be able to actually fade between tracks... There's two things preventing me from doing it, one of which I might be able to work around but one I know I can't.

The one I might be able to work around is that I need to do anythingthat involves timing during the NMI which is fairly short, and not long enough to wait for a track be loaded and check if it's missing.

The second one, which I can't work around and which is fairly important to keeping things functioning, is that if I'm changing tracks during a time that's not during the SPC loading routine, I can't do the fallback to the normal routine if a track is missing, such as in the case of wind sound effects and other "songs" I don't handle.

So I think we're going to just have to deal with the sudden track changes without fades. :/ That makes me unhappy but I can't really see a way to avoid it atm.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: theonyxphoenix on 2015-05-06 15:35:55
I know that the Narshe music did continue until you reached Figaro, if that helps at all.

Thank you for your continual work.  The progress you have made so far is great. I'm sure that the idiosyncracies will be resolved.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-05-07 08:33:00
First, a reply:

theonyxphoenix: That is actually really helpful since you're the third person to say that, which means that that's more than likely a "bug" we can cross off our list. Which means the only bug currently, other than missing fades, is no music on load of a saved game.

Now that my head is a bit less fuzzy, heres some technical details on the hurdles I'm working to overcome. If you don't want to deal with overly technical stuff, skip to the numbered "workarounds" at the bottom for an idea of the choices we have that *aren't* dangerous.

The NMI, or "Non Maskable Interrupt", is generic computing term for an Interrupt (basically a request to the CPU, literally 'interrupting' its current behavior) that must be handled if it's enabled. On the SNES, the NMI, if enabled, happens every VBlank, so once per field or roughly 60 times per second.

For the most part up until now I've been hooking the routines from the game itself, that is, taking requests the game makes to its own code and rerouting it to mine. For the fading, and for some later things I'm going to have to re: timing (the Opera scene and Dancing Mad during the final battle, among other things), I am now hooking into the game's NMI routine, which means I can run code every frame. I'm using stack manipulation to make sure that I don't harm the game's own NMI handling in the process.

Now, the fading itself is pretty simple. Reduce or increase the volume of the MSU every frame until we've gotten to our desired volume (or close to, since I'm reducing by 5s). The problem comes when fading from one track to another. Currently, we're hooking the game's "new track" routine and immediately switching to an MSU track and playing it, falling back to the game's own SPC routines if a track is missing or unplayable. This allows us to handle looping sound effects like wind and train sounds that are implemented as "songs" in the game but which we don't want to have to do on the MSU. To do the fading, however, we need to, when we're told to switch to a new track, store the requested track and a variable telling my NMI routine that we're fading out and into a new track in RAM, since this needs to be handled over time.

However, this means that the NMI routine, the one that runs every second, needs to handle the actual switching of tracks. Which is a problem for two reasons. One, you need to loop after loading a track and wait for it to be loaded and ready to play before you can play it. This is done because Byuu wanted to make it possible for the MSU-1 to be implemented in cheap, slow flash memory or even as a CD. This loading loop takes less than a second in higan, but we can't assume it will take any specific amount of time. And the NMI only lasts a tiny fraction of a second itself. If I'm still in NMI code when the NMI ends, massive graphical corruption can result, so anything I do during it needs to be only a few instructions long.

We can work around this problem by using the "60 times a second" nature of the NMI. We can set the track to load, set some variable to tell my NMI routine we're waiting for a track to load, and check if it's loaded every frame. On Higan, this might actually be marginally slower than just looping to wait for the track since I'm not sure it even takes 1/60th of a second to load a track, at least on my machine, but it should be fast enough. Then, we would play the track once the MSU states that it's loaded, or, deal with it if it's a bad track.

Which leads to my second problem. Currently, if we detect a "bad track" (one that's missing, in the case of the wind or train scenes, intentionally), we handle it very cleanly: Since we're already in the game's native music loading routine when we're switching tracks, we just return to the routine we were called from without muting the SPC.

However, if we're doing the switching and playing during the NMI, we don't have a routine to return to, so there's no way to fall back to the original SPC routines... Except...

There is a workaround that might work to do this, but it's *extremely* messy and I don't particularly like it:

If we've got a bad track, we can load the correct stuff in the correct RAM spots and registers and "jump" to the original SPC routine, an instruction *after* the point where I hook it into my routine, effectively going into the game's original code to call for a new track in order to deal with our missing track. The problems?

For one, we'd be doing this during an NMI. I'm not sure if the game's SPC code is short enough to be called during an NMI, it's generally called during scene transitions during which the screen is blank and the NMI is disabled (which, we can't very well disable the NMI during the NMI). This could lead to graphical corruption or other bugs.

For another, we'd be at least 2 frames (or 1/30th of a second/0.03 seconds) behind the original call to load the song as far as loading the SPC version, which could throw timing off considerably.



Other workarounds?

Well, there's a few that come to mind at the moment.
1. We can abandon the idea of fading completely, keeping music transitions their current sudden (but working and with simple, easy to debug code) selves.
2. We can do an extremely quick looped fade during our original routine (on the order of less than a frame). This *should* reduce or eliminate popping but won't really sound any less sudden to human ears.
3. We can do a version of the patch that has good fading but that has no fallback routines: Looping sound effects or missing music tracks won't play at all. This is already the case if you're running in BSNES v075 because the "bad track" routine in the MSU-1 was not implemented yet at that point. (which is why I suggest Higan or the SD2SNES when this hack gets released)
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: theonyxphoenix on 2015-05-07 23:24:10
Is the twitch gameplay video without the fading?  If so, I really don't hear much of a problem with the transitions and I have played this game more times than I can remember. The only criticism I have is some of the tracks themselves.  Should one choose to do so, how easy would it be to replace a track?  Excellent work so far.  I apologize that my knowledge of the fading issue isn't more comprehensive.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-05-08 00:01:20
Swapping in the replacement track file is easy. Converting it is less so, since it involves making a custom loop manually. Of course, if you don't mind a CD-style loop (fade out and restart), that becomes much easier, just toss a wav file into wav2msu (http://helmet.kafuka.org//thepile/Wav2msu).
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-05-12 06:15:38
It's worth noting that in the videos I'm working from almost entirely the OCRemix tracks. My final selection will be a mix, and you can choose to either go with that, go with the OCRemix tracks, go with the OST, or go with the OST supplemented with FinalFanTim's or Sean Schafianski's tracks. Or you can create your own completely custom mix from within the installer. There'll be kind of a table-based interface for choosing which to go with for each track if you choose to do a custom selection.

Also yes, the twitch gameplay video is completely fade-less. I noticed it particularly when the game suddenly switches from a lower volume version of Awakening to the full volume version after you specify Terra's name, but ehh, I guess it's not that obvious to others. :P
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: monsieur_madeleine on 2015-05-19 18:17:08
So I've only skimmed this thread, since all the technical stuff is over my head, but are you still having trouble with the Opera? It seems like the biggest roadblock in updating the game soundtrack, and it would take a lot of work, but as far as making it interactive I think would require new recordings/orchestrations from scratch -- particularly the singers. Is that the issue? Or is it more just a technical issue of playing simultaneous CD quality files with emulated SNES hardware?

Anyway I'd be willing to help with the orchestration and singing part if it's needed.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-05-19 18:32:56
The plan, as I understand it, is to use the opera sequence from the OCRemix album. The problem is that this'll mean hacking in new timings for the scene itself, so that sprites hold the "open mouth" and "closed mouth" positions for different lengths of time. This is not impossible by any means; if Square could time it in the first place, then obviously it will be possible to re-time. But even after figuring out HOW to do this, it'll be immensely annoying and time consuming.

That said, opera tracks that match the game's original timing would almost certainly be welcomed. Ultimately it's up to insidious, not me, but I can't see how additional choices (especially something easier to implement with the game's original timing) would be anything but beneficial. But for that advantage to really make a difference, it'd have to sync perfectly with the existing lip flaps in the game, which might be a lot of effort and be severely limiting in terms of lyrics.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-05-20 20:26:01
It'd be a rather grand undertaking in and of itself to redo the actual music for the opera. As Covarr said, we already have the redone music from the OCRemix album, the problem is entirely a programming one. Getting the time cues in the game to sync, not just the mouth flaps but the dialogue timings and the proper "you made the right choice, you made the wrong choice" stuff all working right is going to be a pain in the ass, as this is all stuff that the "new track" handler that we're overwriting in the game's code isn't used to handle, instead there's very specialized code in the game for handling that sequence musically.

This is the bit that's a pain, because we have to have our own very specialized code for this sequence. Our code for most other sequences is very simple and thus very easy to maintain. Dancing Mad and The Phantom Train are also going to need similarly specialized handling (though not as detailed) for only somewhat similar reasons.

To be honest, it's not quite accurate to say we're "still having trouble" with the Opera, though. Code-wise, I haven't even started with the opera. The way our code works, I can choose not to handle certain tracks and the game's native music code will handle it, so I'm having it to do that for the Opera for now, and haven't even begun the runs through the debugger required to set the stage for coding the opera stuff.


In other news, I've completed preliminary work on designing the installer, which is a vital step towards being able to get copies out to our alpha-testers.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: theonyxphoenix on 2015-05-26 19:26:39
 :) :) :) :) :) :-D :-D :-D :-D :-D
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-07-13 12:08:01
Progress continues slowly. I've been focusing on some other things lately, but the installer is properly downloading tracks from my servers. Once I've finished that, finalized the last of the music (including deciding upon my selection), and run a test on the current patch code to make sure it hasn't been overtaken by gremlins or something (that is to say, to make sure it's still functioning the way it was last time I tested it), I'll be sending out alpha copies.

As far as when this will happen, Douglas Adams said it best when he said  “I love deadlines. I love the whooshing noise they make as they go by.”. That said, I hope to have an Alpha patch out to testers by the end of August.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2015-07-13 17:15:13
I'm really interested by this project! Good work so far!

I was thinking implementing MSU-1 in FF6 myself, but since you started this project, I was hoping I could use your project as a base for mine (a more extensive hack). I have two question:

1) Have you succeeded in  hijacking the NMI routine in order to fade out tracks? A guy on a FF6 hacking forum reported the same graphical glitches when trying to implement MSU-1, I wonder now if it's possible to implement fading out with the NMI routine...

2) A number of event commands are use for song. Did you modify any or all of them? Here's the list. They are use in event sequence:

Code: [Select]
#  Bytes  Description
-----------------------------------------------------------------------------------------------------------
EF : 3    : Play song A with volume B. Song is actually A AND $7F. Bit 0x80 is unknown.
F0 : 2    : Play song A, full volume.
F1 : 3    : Fade in song A, with transition time B.
F2 : 2    : Fade out current song with transition time A.
F3 : 2    : Fade in previously faded out song with transition time A.
F6 : 4    : Song tweaking, with various subcommands on first parameter. (not sure if can be applied to MSU-1)
F7 : 1    : End most recent loop of currently playing song. (not sure if can be applied to MSU-1)
F9 : 2    : Pause execution until music passes through point A. (Needs investigation, I'm not sure how that actually works).
FA : 1    : Stop temporarily played song.

Once again, Good work!
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-07-20 18:18:07
Thanks for the event commands table! I've actually been hooking around the routine where the song selection and volume are pushed from RAM into the SPC and haven't touched those yet *but* they're probably going to be useful in investigating the current problem-tracks of Dancing Mad and The Phantom Train, which appear to be using maybe the F7 command to transition to various different "subsongs" within one actual in-memory song. We can't actually implement that in MSU-1, *but* we can trap those calls and implement them as transitions to different tracks, enabling the proper handling of those songs.

I haven't touched the NMI stuff too much since mentioning it because I want to get people testing it without the fading first, to make sure we have no major bugs in the current implementation and provide kind of a baseline so I know that if I broke something it's due to the NMI stuff.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-08-03 08:24:51
With a couple minor exceptions, all audio work is now finished. I need to get the installer functioning 100% and then we'll see about getting it out to testers for feedback.

I have a bit of a problem though, and I'm going to be asking for a bit of feedback on this

The MSU-1 does not support seeking or resuming tracks. Therefore, if I stop one track and start another, it always starts at the beginning. This isn't an issue *except* during battle scenes, where you would maybe hear the first few strains of an area's melody, then the battle music because you got into a battle, then the victory fanfare, and then the area's melody would start over again. This leads to a large portion of different songs not really being hearable due to constantly being restarted. There's two basic solutions to this issue.

The first is basically to ignore the issue, have people just kind of deal with the restarting area music, maybe use a second track type to skip intros so it isn't as obvious.

The second is use the SPC (original style) music for battle and victory themes, merely fading out the MSU-1 area music before battle and then fading it back in afterwards. This isn't perfect either as it means you'll be "missing" a bit of the area melody when it fades back in (since it won't have stopped), but it's much better imo than restarting it every time.

The problem with the second idea off course being that that means the normal battle theme and victory fanfare will not be being replaced. The boss themes will be replaced as normal because they don't happen often enough for this to be a problem, but yeah.

My question is, which do you guys favor? Replacement of all tracks including battle/victory but area music restarting after battles, or leave the battle/victory music as is but have smoother music otherwise.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: saftle on 2015-08-03 16:39:28
I'm personally a fan of the second option. A seamless audio experience is better than having to idle in an area to hear the entire song. On the world map, it would get pretty repetitive once you reach higher levels and can down most mobs with a few attacks.

However, both options would be even better, since I'm sure people don't agree with me.

Will you be potentially working on a solution later in order to not need either workaround?
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-08-03 16:49:45
Will you be potentially working on a solution later in order to not need either workaround?
This is a limitation of the MSU1 spec. It doesn't have any seek feature, and can only have one track loaded at once. If you load another, it will run from the beginning. No way around it unless Byuu creates an updated version (MSU2?), and adds support for it to his emulator (Higan/bsnes), as well as the SD2SNES cartridge adding support for the new standard. This isn't impossible, but it's not especially likely.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: theonyxphoenix on 2015-08-18 17:20:29
I would also vote for the second option. I know that this is probably a bad idea, but playing through the BNW hack it seems like a lot of the battle music tracks are ignored in certain areas like the Cult of Kefka tower, etc. Would it make it any easier to not have to switch back and forth as often.  Personally I liked this change in the mod in just about all instances.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-08-19 03:21:21
Just wanted to pop in and confirm that leaving the battle/victory music using the SPC so that area songs can play all the way through is the direction we're going. The alpha I'll be giving out to select people soon may not have this feature (I'm planning on getting everything wrapped up in a nice package that can be easily tested so that I can make sure there's no bugs in the current implementation before I shake things up)

Progress is slow as I'm currently dealing with some issues in my life that make working on these things difficult. I'm currently on a two week vacation spending time with family away from these issues but it goes without saying I'm not working on my vacation :P. But I also wanted to assure people this is still a priority for me.                                           
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: theonyxphoenix on 2015-08-26 14:28:22
Enjoy you vacation and look forward to further developments.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2015-09-07 07:51:48
I was part of the Zelda MSU-1 and the Mega Man X MSU-1 patch teams, am currently part of the BS Zelda and Ancient Stone Tablets MSU-1 teams, and I am ecstatic to see my favorite Final Fantasy being updated with this patch (especially since Drakon refused to release anything he won't get paid for).

I have an SD2SNES, a deep love of this game, and the single-minded determination to go through the game in its entirety just to test the music tracks.  If there is any way in which I can assist, please let me know.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-27 22:30:28
There's a few more things to do on the installer, mostly window dressing at this point, but it is now working.

I'm going to finish up the installer and do some basic testing on my end over the next couple days, and once I'm done I'm going to get this out to our Alpha testers.

Silly installer teaser:

(http://i.imgur.com/h65cuMo.png)
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-28 00:58:56
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!
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-28 08:25:17
So at this point I've finished coding and testing the installer (after a 13 hour coding marathon). It is working 100%. Some polishing may be necessary, I'll check it again in the morning when I'm less tired.

I also need to turn it from its current state as a collection of .py files that depends on having Python3.4, PyQt5, and PyCurl installed into an EXE file that can be ran like a normal installer and doesn't depend on any of these being installed (instead bundling in compressed versions of the python interpreter and libraries), but this shouldn't be too difficult.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-28 17:03:04
Alright, the installer seems to be complete enough for an Alpha test. I'll be doing a bit of a stream (which will then be uploaded to youtube) of the mod in its current form (complete with bugs) today, going up to the scene where Terra wakes up in the Old Man's house. Following this I'll start sending the installer out to selected testers. For now, this is Covarr and, provided he's still willing to test (I'll be PMing him first so I can be sure) RetroDan, as well as possibly another person who has PMed me. Anyone else willing to test is encouraged to apply, though I require people with emulation experience, romhack experience, and experience with FF6. You require a Final Fantasy III US ROM, version 1.0, without a header. The installer should detect whether or not you have the right ROM. Optional desires of mine are testers with experience with MSU-1 hacks, experience with a SNES debugger, and/or who own an SD2SNES.


I'm going to put this in big bold text for the people who like to skip over the technical stuff.

The Private Alpha is complete and we are now accepting testers. Please read above for requirements.

Please PM or email me to apply.

My email is (http://safemail.justlikeed.net/e/54c539680857bee54d2a91fa8e757088.png)

If you are selected to test I am trusting that you will not leak my alpha-grade IPS patch or patched ROM to anyone. Please do not betray this trust.

Source code is available on my private BitBucket which will be opened to testers to view. When we reach public beta and beyond, this BitBucket will be made public and also duplicated on GitHub.
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2015-09-28 17:49:43
(http://i1168.photobucket.com/albums/r484/TheRetromancer/Good%20News_zpsxgcxilxt.png) (http://s1168.photobucket.com/user/TheRetromancer/media/Good%20News_zpsxgcxilxt.png.html)
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-28 23:03:36
The below is a stream I did earlier. It's a full demonstration of Dancing Mad in its current state, from the intro through to just past when Terra wakes up and remembers her name. I tried to keep the talking to a minimum so that you can hear the music in all its glory, but I did stop to address some questions and explain and point out some of the current known bugs.

https://www.youtube.com/watch?v=4WHT98HBgpE
Title: Re: [FF6] [Working Prototype/WIP] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2015-09-29 06:50:20
The below is a stream I did earlier. It's a full demonstration of Dancing Mad in its current state, from the intro through to just past when Terra wakes up and remembers her name. I tried to keep the talking to a minimum so that you can hear the music in all its glory, but I did stop to address some questions and explain and point out some of the current known bugs.

https://www.youtube.com/watch?v=4WHT98HBgpE

I've found several issues with the SD2SNES version, but I can't seem to create issues in the BitBucket, possibly because I'm assigned read-only.  Would you prefer that I list the issues I encounter here, or in the BitBucket?
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-29 15:31:14
Probably in BitBucket. I just gave you write access, lets see if that helps.

EDIT: Oops, I also hadn't turned the issue tracker *on* :D. Fixed that too.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: EQ2Alyza on 2015-09-29 17:31:44
The below is a stream I did earlier. It's a full demonstration of Dancing Mad in its current state, from the intro through to just past when Terra wakes up and remembers her name. I tried to keep the talking to a minimum so that you can hear the music in all its glory, but I did stop to address some questions and explain and point out some of the current known bugs.

https://www.youtube.com/watch?v=4WHT98HBgpE

Sounds really good. LOVE Terra's Theme, so beautiful. I look forward to playing this when live, especially since I've never played FF6 all the way through.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-29 20:44:45
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 :/
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-09-30 19:59:53
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-10-04 15:42:58
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: EQ2Alyza on 2015-10-07 01:34:20
:)
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-10-07 17:01:17
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-10-07 21:33:51
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: saftle on 2015-10-10 11:12:41
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2015-10-10 18:05:35
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2015-10-10 19:47:43
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 (http://board.byuu.org/phpbb3/viewtopic.php?f=4&t=735).
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2015-10-19 06:22:35
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-11-17 19:15:44
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: lexarvn on 2015-12-24 21:11:27
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...
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2015-12-25 22:41:45
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 buttercup, you have to be very very patient with a debugger. (I suggest a recent version of bsnes-plus)
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: saftle on 2016-01-03 14:20:13
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?
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-01-03 21:59:58
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: saftle on 2016-01-04 03:51:46
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/
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-01-08 04:44:38
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2016-01-08 07:41:26
I think it's better to only support true resume. It's less hacky AND it sounds better.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-03-14 19:19:48
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
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-03-14 20:57:50
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: obesebear on 2016-03-14 22:31:42
Awesome news, good work!
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-03-14 23:23:38
https://www.youtube.com/watch?v=PvePGgdm_sc An *extremely* short demonstration of working resume support.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-03-16 00:26:12
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-03-19 08:26:23
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2016-03-27 11:25:45
That's great to hear.  I look forward to continuing developments for my favorite game of all time.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: xenokain on 2016-04-01 03:18:43
Excited for this one also.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-04-08 05:31:26
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: RetroDan™ on 2016-05-14 17:26:59
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-05-19 19:41:40
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.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-01 17:39:36
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".
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-02 14:16:06
As we get closer to Open Beta release I'm going to try to give regular updates on my progress. Today I went over the code for the installer, fixed a few minor bugs, and began to set up my environment so that I can turn it into an exe (It's been a while since I've done this so I did not have the correct python packages installed).

Since the last time I did this, Python 3.5 has come out, which requires Windows Vista or newer. For now, I'm sticking with Python 3.4 for the installer as I want this hack to be installable on Windows XP, but I figured I should let you guys know as eventually I may be forced to switch to 3.5.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2016-06-02 15:28:11
Will you be releasing a python-only non-exe version also? I don't need it myself, but I think it'd come in handy for Linux and Mac users.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-02 15:38:19
Absolutely. Though Linux/Mac users should keep in mind that for that, PyQt5, PyCurl, and python-ips are mandatory dependencies. (The last is usually installable via pip, the first two are usually downloadable via a normal package manager or so)

On Windows these are included with the EXE so there's no worries there.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-03 16:38:37
The installer has been updated and re-packaged. There was a little bug in the packaging process, which I am doing some testing in order to make sure I've corrected.
Title: Re: [FF6] [Closed Alpha] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-03 19:27:21
WE HAVE HIT OPEN BETA

Assuming I've got everything properly working, the open beta should now be publically available from https://bitbucket.org/insidious611/dancingmad/downloads/DancingMadInstaller.exe

Linux/OSX users please download from https://bitbucket.org/insidious611/dancingmad/downloads/DancingMadInstaller.tar.xz . Linux/OSX users please remember that PyQt5, PyCurl, and python-ips are necessary dependencies for this installer on your platform. Windows users just grab the exe, you don't need anything special installed.

Please read the readme given in the installer thoroughly. Please report any bugs in the issue tracker here: https://bitbucket.org/insidious611/dancingmad/issues but please keep in mind any bugs that have already been reported.

To summarize some bits found in the readme:

You will need Higan v097 or newer, bsnesplus v073+2 or newer, or an SD2SNES to enjoy this romhack. As far as I'm aware, Higan v097 and newer is the only platform which currently has "resume support", ie, the ability to resume the area music after the conclusion of a battle. SD2SNES will likely gain this support soon.

You will need an unmodified, US v1.0 copy of Final Fantasy III for this romhack. Japanese versions and US v1.1 will be supported at some point in the near future. SMC header stripping is included as part of the installer, but for safety's sake I would suggest using unheadered copies of the ROM.

You will need a reliable internet connection to run the installer. It will download a *considerable* amount of raw PCM audio files from a remote server. If this server is down the installer may crash or otherwise fail. If the installer fails, please contact me. I'll guide you on how to retrieve the install log and give it to me for analysis.

Please, please, *please* if you are going to make a bug report make it as detailed as possible, leave nothing out. Please do not report already known bugs (the issue tracker is there for a reason.)
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-08 19:24:14
Just so people are aware, there's currently a bug on the SD2SNES that we're attempting to fix. Head to https://bitbucket.org/insidious611/dancingmad/issues/13 if you want to see the gory details but in general just be aware that I know of this bug and am doing my best to track down the cause and fix it.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-06-10 21:05:10
The bugs are partially SD2SNES firmware bugs. Ikari is helping a great deal in this regard and I am very grateful for the assistance. A new version of the patch with basic workarounds in place is available as an IPS here (https://bitbucket.org/insidious611/dancingmad/raw/c7587c71c293b30b70afc266499a5f0b9d5d4221/patch/ff3msu.ips). SD2SNES users, apply this patch to an *unmodified, original* FF3 US v1.0 rom, and replace ff3msu.sfc with it. Other users, the known bugs are simply not applicable to you. Continue to use the official beta. Whether or not this IPS patch becomes part of a second beta release depends on how quickly new versions of the SD2SNES firmware come out and whether or not these workarounds are necessary or beneficial on the new firmware. IOW, consider this a "stopgap" solution.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2016-06-27 01:18:10
I'm really stoked by the progression of this project!

I had a look at your tracker and the Figaro bug intrigued me. I have little knowledge of bank $C5 code, but know fairly well event stuff. I can't tell if it's the exact cause of the bug, but the flashback event use command $F2 (fade out) and $F3 (resume from pause). Note that the resume command has two jumps to $C50004 and it seems in both command $1301 plays another role than song ID (I'm 100% sure $EB is a fade in/out speed). Maybe the code will help you understand. I can't suggest anything to change in bank $C5 to cover those cases.
Code: [Select]
Fade out current song with speed xx (higher == slower)
(gen. act. F2)
C0/B811: A981    LDA #$81 ;spc command (fade in/out?)
C0/B813: 8D0013  STA $1300
C0/B816: A5EB    LDA $EB ;fade out value (from event code)
C0/B818: 8D0113  STA $1301 ;NOT the song ID
C0/B81B: 9C0213  STZ $1302 ;goal volume (0)
C0/B81E: 220400C5 JSL $C50004 ;play the song (fade out)
C0/B822: A902    LDA #$02
C0/B824: 4C5C9B  JMP $9B5C

Continue song that was previously paused, xx is fade in speed
(gen. act. F3)
C0/B827: A910    LDA #$10 ;expected command is $10 when silence (or no song?) is currently playing like after a fade out
C0/B829: 8D0013  STA $1300
C0/B82C: AD0913  LDA $1309 ;previous song
C0/B82F: 8D0113  STA $1301 ;store as song ID to play
C0/B832: 8D801F  STA $1F80 ;store as current song in SRAM
C0/B835: 9C0213  STZ $1302               ;initial volume (0)
C0/B838: 220400C5 JSL $C50004 ;maybe this just restart the song before the fade in?
C0/B83C: A981    LDA #$81 ;spc command (fade in/out?)
C0/B83E: 8D0013  STA $1300
C0/B841: A5EB    LDA $EB ;fade in speed (from event code)
C0/B843: 8D0113  STA $1301 ;NOT the song ID
C0/B846: A9FF    LDA #$FF ;goal volume (full)
C0/B848: 8D0213  STA $1302     
C0/B84B: 220400C5 JSL $C50004 ;play the song (fade in)
C0/B84F: A902    LDA #$02
C0/B851: 4C5C9B  JMP $9B5C

Finally if you plan on implementing the fade in/out feature during NMI, "adding more than ~70 cycles will start causing major graphic glitches" (quoting a hacker that modified the routine for other purpose). FF3 NMI is pretty tight. You may check if someone like mlarouche (https://github.com/mlarouche?tab=repositories) has a similar implementation in one of his hack. Thank you so much for making your ASM file and code public! I'll have a better look at it this week!
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-07-03 12:27:06
Hey, always glad to have another eye on the code. And thanks so much for the commented disassembly, this may help, even if just in implementing a single-case workaround.  This project has been literally my first time doing anything serious in ASM, and my first time doing anything with the SNES, so the more the merrier as far as eyeballs. Feel free to submit a patch if you've got a really clever idea.

I've already tried messing with the NMI a little, and yeah, it's *really* tight, and I feel like I'm nowhere near good enough at optimization to touch that atm. I've tried with a variation of mlarouches code and got massive corruption, so clearly CT is much looser as far as how much "extra time" you have during the NMI.

RetroRGB just put up a video he did with an interview with RetroDan, great stuff, really intriguing to watch. It mentioned this project in a couple spots and I'd like to clarify one thing. RetroRGB asked Dan when we were planning for release, and Dan (correctly) stated there's no real planned release date. But I'd like to explain in more detail my thought process as regards a "release".

I kind of cut my teeth programming wise in the open source community. In this community, the concept of the "perpetual beta" is an accepted if sometimes joked about thing. The idea that it'll reach 1.0 when it's perfect, but it's never perfect.

Basically what I'm saying is, don't hold out for a "final release" to try this puppy out, because you might be in for the long haul. I've still got fading, properly timing the the Opera, and even implementing the PSX FMVs to tackle (Something I have to admit I'm terrified about because I've read bits on different wikis about how SNES graphics programming works 3 times and still don't have a clue what's going on). None of these are what I would consider 100% important to enjoying this hack right now, but all of which I would consider necessary for a "1.0".

Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2016-07-09 14:36:33
Hey, always glad to have another eye on the code. And thanks so much for the commented disassembly, this may help, even if just in implementing a single-case workaround.  This project has been literally my first time doing anything serious in ASM, and my first time doing anything with the SNES, so the more the merrier as far as eyeballs. Feel free to submit a patch if you've got a really clever idea.

I will look into this soon. There are other uses of this event command but I'm not sure if it would affect the song selection elsewhere in your MSU-1 hack.

I've already tried messing with the NMI a little, and yeah, it's *really* tight, and I feel like I'm nowhere near good enough at optimization to touch that atm. I've tried with a variation of mlarouches code and got massive corruption, so clearly CT is much looser as far as how much "extra time" you have during the NMI.

I've never messed with NMI but using an unused RAM variable during the event code to store the fading (0 = song isn't fading, 1 = fade song) and checking the actual volume (0 = fade up to max, max = fade down to 0) *might fit* during NMI. I guess the only way is to try it. That's something that interest me enough to pass some time on it. I'll report back in a week or two.

As for a perpetual beta phase, that's ok as long as there is room for improvement. There can't be a definitive version since more orchestral remix or enhanced OST might see the light of the day sooner or later. Your project has interested quite a few people that have a FF6 hack in development in hope of implementing their own hi-quality OST.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Gotmilk751 on 2016-07-21 21:45:27
Hey all! Wanted to report my successes, as well as some bugs.

First off, I got the hack working and am happy to report that it works near perfectly on its own, as well as patched together with Rodimus Primal's Ted Woolsey Uncensored retranslation patch. No errors so far caused by using them together.

I have, however, hit a wall. I chose to use the "Other" selection for the Opera sequence and now the game softlocks at the part where the player is meant to select the correct line in the song. Once the line is selected, Celes walks forward and the game freezes, but the music keeps playing until the whole song has finished then just hangs forever. This is both with and without the retranslation patch, so I think it's the song selection.

Will there be any way in the future to change songs out without reinstalling the hack every time? It'd be nice to not have to sit through a long installation every time I want to change only one or two songs.

Other than that bug, no complaints here! I know it's a beta, so I expected to bump into something, just thought I'd report it.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-07-23 05:54:20
Well, the thing is, changing the songs requires redownloading them, so pretty much guaranteed you're not going to cut much off the install time.

That said, I do plan on releasing an updater, which will also function as a way to change which songs you have selected.

Please report bugs on the issues tracker in future. https://bitbucket.org/insidious611/dancingmad/issues/

It's really good to have someone who's actually tested the opera scenes though. I was expecting trouble. I'll probably just use the SPC for those in the next version of the patch, because it's probably a timing bug and frankly the amount of fiddling that'd be necessary to get the timing right in that scene... I'd basically have to rewrite the whole thing from scratch I'm pretty sure.


EDIT: To elaborate and get into some technical details: The bit where it's freezing is likely where Celes is supposed to "sing" the words, which probably relies on direct calls to the SPC to do its dirty work, and thus relies on the proper track to be playing on the SPC. The only workaround I could think of that would allow the MSU-1 stuff to play without me having to significantly change the game's behavior would be to mute or significantly quiet the SPC but still have it playing, on top of the MSU-1 music, during that bit. But you wouldn't actually be able to hear Celes singing.


EDIT EDIT: Also, good to know that it works with the retranslation patch!
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Gotmilk751 on 2016-07-24 21:37:09
Ah ok. I wasn't aware of the bug tracker, my apologies. I'll report there if I find anything in the future. I am happy to hear I helped a bit though! I actually haven't been able to play lately but I'll likely just play on a different version of the game until after the Opera scene so I can continue.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-07-25 21:05:24
Thanks to the flexible nature of the MSU-1, you should be able to continue by removing the opera tracks from your folder... Give me a second to look up which ones those are...

EDIT: assuming you're using Higan, delete

track-38.pcm
track-39.pcm
track-65.pcm
track-66.pcm
track-67.pcm
track-68.pcm
track-69.pcm

from Emulation\Super Famicom\ff3msu.sfc\

If you're using the SD2SNES iirc they'll be named either ff3-38.pcm etc or ff3msu-38.pcm etc. Same numbers, delete them.

This will trigger the MSU-1 to return "badtrack" for these files, which will make it default to SPC music.

I'll be modifying the installer soon to temporarily cause the "Other" versions of these tracks to not be downloadable/selectable, until a solution to this issue can be found.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-08-15 14:37:15
Currently testing an installer that has the Figaro/Sabin workaround (see https://bitbucket.org/insidious611/dancingmad/issues/16/incorrect-track-is-called-in-figaro-castle) and the current Opera workaround (which reverts to SPC for the opera tracks) (see https://bitbucket.org/insidious611/dancingmad/issues/6/opera-tracks-may-not-be-implemented). If this works, this installer will be bundled up as Beta 2.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2016-08-15 15:39:52
Beta 2 is out

This is a minor bugfix release. Changes include:

* Removal of unnecessary requests to Track 0 for MSU-1.
* Workaround for Figaro->Sabin->Figaro bug.
* Workaround for Opera track issues (Opera tracks reverted to SPC)
* Credits section in Readme

As always, download here (https://bitbucket.org/insidious611/dancingmad/downloads)
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: WhiteShadow11 on 2016-11-20 13:03:22
Hello,

Started playing FF6 a couple of days ago, discovered Ted Woolsey Uncensored Edition Hack that fixes pretty much everything in the game and now this amazing Audio Mod :D , the game keeps getting better and better.

I am using a different emulator to play, Snes9x+MSU x64 and so far the only bug I have found is when an event plays out, the music that was playing doesn't restart, I need to get out of the scene to get music again. For example scene music is playing, my char goes to sleep *sleep music* then when the he wakes up no music is playing.

I am really glad I found this mod, I was getting tired of the midi's songs :x
Thanks to you I will be able to finally play this amazing game with amazing music until the end.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2016-11-29 18:53:27
I'm not sure if you saw my post on RHDN but I tried a few weeks ago to implement fade in/out with result of some lags on the dungeons or town maps. I've used CT fading routine bt with some extra stuff that was not necessary I think. A simplified version of the MSU-1 update loop could look like this. I think it worth a second try, but I don'T think I'll have the time really soon to test it:

Code: [Select]
php
rep #$20
pha
lda fadeCount
beq .CallNMI
dec
sta fadeCount
clc
rep #$20
lda fadeVolume
adc fadeStep
sta fadeVolume
sep #$20
lda fadeVolume+1
sta MSU_AUDIO_VOLUME

.CallNMI:
rep #$20
pla
plp
jml $001500
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-03-13 01:51:27
Just wanted to say a couple things, one, I am still working on this when I have time, I've had a bunch of new obligations come into my life since the last time I posted which is why things went a bit quiet for a while. Still working on the fading code based on Madsiur's work above, and still appreciate any help people can bring in on the ASM side. :)

The second is, the installer will currently fail to download songs due to issues with my domain provider, this will be fixed within the week but if anyone is trying to install right now and wondering why it won't work, that's why.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-03-22 14:52:26
Just an update, the DNS issue should be fixed and the installer should be working properly now. Sorry for any inconvenience.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Hal_Emmerich on 2017-04-09 04:27:19
Good evening;

Very excited to try this out, thanks for your hard work. I happen to be playing on my sd2snes (latest firmware). Is there anything in particular you would like tested?
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Hal_Emmerich on 2017-04-10 03:47:00
A suggestion for the installer.

I'd propose for the 'custom' interface, the ability to load one of the presets.

For example: I love a lot of your music choices on your recommended list, however I can't get behind your choice for The Mystic Forest. It's a great track, but it doesn't quite fit the feel of the original. Likewise, I feel your choice for the World of Balance theme doesn't quite fit the tone of the original - great song, but it gets way too slow at points. This basically means I am left with manually subbing tracks in the file system or creating a whole set of songs for the game one song at a time. It would be much better if I could go 'I want the Developers Mix, but with these few songs changed'.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: qwertymodo on 2017-05-05 19:09:52
I made an alternate-loop version of the Balance & Ruin tracks.  Personally, I think they sound better in-game, where Covarr tried to keep as much of the songs as possible, I tried to create seamless loops the way that the game typically would, and removed a lot of slow intros (especially the main battle theme really bothered me).  If you're interested, give it a try: http://www.mediafire.com/?wfe7e2n86b3mf78
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-05-12 17:30:13
Unfortunately due to a new job I have next to no time to work on this lately. I will likely try to come out with a new Installer soon to incorporate Hal_Emmerich's suggestion (Why didn't I think of that?) though this may take a while as it'll involve editing the GUI which is a bit more work than changing the back-end functions of the installer (*shakes fist at Qt5*). I have *not* had any time to edit the ASM lately though, because this is an extremely time consuming process at this point due to how much time testing takes. I apologize for this.

I'll also look at the provided new set of music. Thank you for putting so much time into that. I might add that as a new option at some point.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Dark Phoenix on 2017-05-21 08:13:46
I have noticed so far that when the game plays the sleep jingle (when you stay at an inn, etc), the music doesn't come back until you leave the inn/house/wherever you are.

For people trying to get a good comparison for the songs available in Dancing Mad, it's worth noting that the Music Player patch that is part of the Ted Woosley Uncensored Edition is compatible.  So you can test all the available songs right at the beginning of the game, in Narshe, to see how they sound.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: docevil000 on 2017-06-20 03:28:40
I'm having an issue with the installer hanging here

http://imgur.com/a/Tg4lQ
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: YukiS on 2017-06-21 23:04:32
I'm having an issue with the installer hanging here

http://imgur.com/a/Tg4lQ
It's trying to download files from the author's web site (http://www.somebodyelsesproblem.org/ff6data/) which is currently down. I've contacted the author to ask if in lieu of getting the site back up he is able to send me the files so I can host them myself but I haven't heard back yet.

If anyone in this thread has any of the sound files downloaded and would be able to upload them somewhere for me so I can attempt to collect a full set I would be very grateful so please drop me a PM if you can help with that. Assuming I am able to re-host the files, a simple modification to the hosts file on your PC should allow you to complete the installation.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Dark Phoenix on 2017-06-22 04:24:15
I have no idea where in the hell you could possibly upload this, because each pack is 1.1 GB in size, but if you can point me to somewhere that can actually TAKE 5 GB of data, I have all four music sets.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: docevil000 on 2017-06-30 01:34:11
I honestly just want the default set.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-07-02 18:42:20
Hi! I did not realize my site was down. I'll get that back up and running asap. I'm slightly confused by YukiS saying he contacted me as I've not gotten any contact from anyone, or else I would have fixed this issue right away :P

EDIT: And up! Silly enough, apache had crashed.

My apologies, again, for the downtime.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: YukiS on 2017-07-03 22:27:35
Hi! I did not realize my site was down. I'll get that back up and running asap. I'm slightly confused by YukiS saying he contacted me as I've not gotten any contact from anyone, or else I would have fixed this issue right away :P

EDIT: And up! Silly enough, apache had crashed.

My apologies, again, for the downtime.
I thought I'd contacted you on the 11th June when I first noticed it was down but it looks like I emailed the wrong address. Sorry about that :-[

I have set up a mirror for the audio files in case you want to add an alternative server to the installer in the future for load balancing/failover purposes: https://saika.de-ge.so/ff6data
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-07-06 20:48:38
Thanks! I've made some modifications so that it properly errors out if it can't connect (I had the code in there before but forgot to use it when checking for the *size* of the file prior to starting to download it. duhie >.>) and also it *should* use your mirror as failover...

The bad part? I'm using Python 3.6 locally atm and there are *no* win32/win64 pyCurl binaries for 3.6 available despite pyCurl saying it supports 3.6. So I have no means of testing or deploying right now, so that will have to be put on hold until pyCurl has built working python 3.6 win32/win64 binaries. I've submitted an issue to the pyCurl tracker so hopefully this gets resolved soon.

I'm going to give it a month and if I haven't heard anything back from them I'll move my system back to Python 3.5 for this project just so I can get this change out.

As this is imo more vital (being an actual potential freezebug on the installer) I have not yet completed work on allowing one to choose a preset on the custom track selection page, but that will be my next task.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: YukiS on 2017-07-17 08:03:19
Here's some pyCurl binaries for 3.6 that I built myself: https://saika.de-ge.so/pycurl/

After fixing the mismatch of spaces and tabs in downloadpage.py I was able to get the installer to run to completion in Python 3.6. However, as my mirror is HTTPS only and you're not specifying a certificate bundle for pyCurl it won't fail over.

The easiest way to do this is installing/importing the certifi package and adding the following lines to your curl options in downloader.py:
sizecurl.setopt(sizecurl.CAINFO, certifi.where())
filecurl.setopt(filecurl.CAINFO, certifi.where())

With these changes it successfully fails over to my site if yours is unreachable.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-09-18 00:46:59
Thanks again for your help. I'm going to try to buckle down and implement these fixes and get out a hotfix release ASAP. My apologies to everyone for not having the time to devote to this recently.

That said, and I'll be sure to modify the first post to reflect this as well, development has now moved from BitBucket to GitHub. I'm hoping this will encourage PRs from people willing to help with the project, as well as simplify organization for myself as all of my other projects are on github.

https://github.com/Insidious611/DancingMadFF6

For those just wanting the current binaries

https://github.com/Insidious611/DancingMadFF6/releases
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-09-18 01:11:39
YukiS: Unfortunately your mirror, as well as your pycurl binaries, appear to be down at the moment.

I'm switching my development environment over to Python 3.5 temporarily until the PyCurl binaries for 3.6 from either YukiS or the actual PyCurl people resurface, just so that I can get the hotfixed installer out. It'll contain the failover to YukiS's server even though that's not currently up atm (I assume it will be put back up eventually/soon), as well as it will contain a failover to another server I have access to which has multiple people maintaining it instead of just my busy self.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-09-18 05:26:39
A new beta has just been released

This is a hotfix (long time coming, sorry for the delay!) that should both allow the downloader to failover to one of 2 alternate mirrors should it be unable to download a file from the main one, and properly return an error instead of freezing if it's unable to download a file at all.

Check the linked releases page for "20170918" or if you're lazy and on windows click here (https://github.com/Insidious611/DancingMadFF6/releases/download/20170918/DancingMadInstaller.exe).

If you've got a working install of Dancing Mad, don't bother with this one. No changes have been made to the patch. :P

My apologies for the fact the installer has somehow grown from 15MB to 60MB. I'm not sure why this is other than it seems to have something to do with a massive difference in the way cx_Freeze packaged PyQt5 this time. I haven't changed anything of my process so I have to assume either PyQt5 or cx_Freeze changed.

This installer is still using Python 3.5 (specifically 3.5.4) for now.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: YukiS on 2017-09-18 21:58:32
YukiS: Unfortunately your mirror, as well as your pycurl binaries, appear to be down at the moment.

I'm switching my development environment over to Python 3.5 temporarily until the PyCurl binaries for 3.6 from either YukiS or the actual PyCurl people resurface, just so that I can get the hotfixed installer out. It'll contain the failover to YukiS's server even though that's not currently up atm (I assume it will be put back up eventually/soon), as well as it will contain a failover to another server I have access to which has multiple people maintaining it instead of just my busy self.
There's a not so funny story about that, involving my fingernail and an LGA1155 socket :-[. I can't afford to get the motherboard repaired for another week or so but since I compiled those binaries on my desktop I have uploaded a copy to my hosted server here: http://de-ge.so/pycurl/
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-09-29 16:33:32
Ouch. That sucks :(. I'll leave your mirror in the code for now, as I'm assuming you'll get it back up eventually. Let me know if you're unable to set up a new one anytime soon.

Thanks for the pycurl 3.6 binaries, again :) When I get the chance I'll do another update of the installer, this time using python 3.6, and *hopefully* I might be able to get it to not suddenly be 60MB... :P
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-06 11:58:36
Just a small update. A user on github has found a few small issues with the audio re: clipping/distortion, and therefore I've been working with him on a script to (as an *optional* installer checkbox) globally lower the volume of the PCMs, by about 7.5dB (though in some cases less). From his testing this seems to have the music volume better match with that of sound effects ingame. However, he's using lr-snes9x, and I've not had the chance to test this in Higan (and have heard Higan handles volume somewhat differently than other MSU-1-capable emulators/devices), which is why I'm making this optional.

The next major version of the installer will include this option, some new alternate sources for a few songs, an adjustment to OCR track 76, and the requested ability to choose one of the premade selections of tracks as a "template" when picking a custom selection.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-06 20:51:17
A minor hotfix was just released for the installer, bringing us to Open Beta 20171006. This fixes the missing "veldt" track. If you've already installed and would like to grab this missing track without reinstalling, please grab

http://www.somebodyelsesproblem.org/ff6data/OCR/ff3-25.pcm for OCRemix version
http://www.somebodyelsesproblem.org/ff6data/SSC/ff3-25.pcm for Sean Schafianski version (my personal recommendation)
http://www.somebodyelsesproblem.org/ff6data/OST/ff3-25.pcm for OST version

(There is no FFT or OTH version)

Rename to "track-25.pcm" if you're using higan, keep the same if not, and drop into your game folder.


Old versions of the installer may break due to trying to download http://www.somebodyelsesproblem.org/ff6data/SSC/ff3-19.pcm which should not have existed (and has thus been deleted). This was a misnamed copy of this track.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-08 00:52:26
Little preview of the next version of the installer.

(https://i.imgur.com/Qc0i2Td.png)

I can't figure out how to center the buttons due to the way Qt custom widgets work (I saw a suggestion using .setStyleSheet but it made the buttons disappear entirely, so :/)

BUT, the ability to load a preset on the custom track page is now implemented and working. That's the custom track page with my recommended songs selected.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-08 20:15:14
Due to my increasing lack of IRC presence and needing a way to keep in touch with contributors other than the Issues section of github, I've opened the following public discord for discussion regarding this romhack.

https://discord.gg/ynZkNnK
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-09 00:30:09
Good news! The Opera bug has been mostly quashed/worked around. The timing for the one interactive scene (where you have to press the right prompts) is currently quite off in the only MSU-1 track we have for it (the intro is way too long). Said timing can likely be fixed (will require audio edits) however the underlying issue that if you screw up or take too long to make your inputs, Celes's voice will desync even if the track is perfect, has not been fixed (and can't be unless I remove all the interactivity from that scene or make some sort of micro-loops that would probably sound awful).

The next release of the installer will ship with this corrected patch, and will now download the Opera tracks as normal instead of dummying them out.

Less good news! https://github.com/Insidious611/DancingMadFF6/issues/23. tl;dr, Avira is getting a false positive virus detection on the installer I'm about to release. Which is really hindering me being able to test it, and also worries me that people will be turned off. Please don't worry about it. Heur/APC (Cloud) is a generic-ass heuristic that probably catches on a lot of stuff. This seems to have been triggered primarily by the switch to Python 3.6, somehow. If people are turned off, I might switch back to Python 3.5 or provide that as an alternate download, I guess.

Why does Python 3.6 continue to be the bane of my existence?
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Ackbar on 2017-10-10 11:09:52
First of all, thank you so much for doing this - it's truly awesome!

I am trying to get this to work in conjunction with an uncensored Ted Woolsey translation - is this simply impossible because of extended script size? Or does anyone know of a translation like that which is compatible?
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-10 15:51:32
One of the testers on github has actually been doing extensive testing with the Ted Woolsey uncensored patch(es). He's found no major problems, so it should work fine. The area of the game code I'm changing and the area of the game code those patches change are quite distant, so it's fairly easy to get them to play nice with each other.

Obviously doing this is unsupported (the recent testing has been the only testing anyone has ever really done on something other than untouched ff3 us 1.0) and at your own risk. Also, my installer won't let you use an already patched ROM, so you'll need to do Dancing Mad first and then any other patch afterwards, instead of the other way around.

But all indications are it should work just fine.

The github "issue" where we've been discussing said compatibility testing. https://github.com/Insidious611/DancingMadFF6/issues/25

The  bug with the ending alluded to there is a bug in my patch which shows up even without the help of other patches, and which has been fixed for the next release
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Ackbar on 2017-10-11 09:01:38
Thanks for the quick response, I hadn't thought of applying the Ted Woolsey patch afterwards. Now this is just fantastic  :mrgreen: However, I guess this means that there's no value in me reporting any music bugs/glitches since I am not running "vanilla"?
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-12 13:11:12
I always appreciate bug reports, but just specify if you make a report that you're running another patch alongside and expect that your report might be lower priority just because it'll be more work to test.

That said we've done some more in depth testing and found that so far these specific patches don't touch any of the same code as I do, even if you're using the one with the add-ons and the music player and everything, the closest he ever comes to an area of the ROM I'm touching is still a very healthy 16kb away. So I'd be really surprised if you actually find a bug that's unique to this combination.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-12 13:18:57
Awesome news. That opera timing bug has (tentatively) been fixed. It still desyncs a bit but it's absolutely acceptable imo.

This means that the next version of the installer will ship with the audio files and patch to have a confirmed working Opera with MSU-1 audio.

EDIT: A properly timed version of the OST opera has been provided. As such, disregard what used to be here. OTH versions will be selected if you choose OCR, OCRAlt, or Developer's Recommendation, otherwise OST will be used.

The OTH versions have to be heard to be believed. They're far from perfect but just hearing the characters actually sing their lines is mind blowing.

I have to do more testing on the installer because I've made a lot of major changes to its architecture, but expect a release some time in the next couple of weeks. With all the changes this release will bring, this is going to be the most major release since we hit open beta.

I'm also going to look into the sleeping/event bug. No guarantees that'll make this new release unless the fix is simple, but it's in my queue.

I have to give a huge shout out to Github contributor edale2 for his work on the audio end of things. I am very much not an audio editor, or at least if I am I'm a rank amateur. His work has been exceptional.

Another bonus in the new installer will be support for MSU-1 replacement of certain sound effects that are played on the SPC as loops during sections with no music. At the moment this includes the raft scene with Banon, and there's work being done on the seashore wave sound effects from the world of ruin opening. Both of these are essentially original works (using PD sound effects as a basis) by edale2. In addition, he has also provided a few Black Mages tracks that will be added to the Other selection, including their versions of Dancing Mad, Decisive Battle, and the Battle theme.

In addition, he has provided, usable in the Other section, a version of Phantom Train that is the SSC track with a train effect, similar to the one present in the original and OCR mixes.

You'll have to choose a custom selection to enjoy many of these options, though I'll be turning the new sound effects on by default in the developer selection, using edale's modified version of the SSC phantom train track in the same,  and am on the fence on maybe switching to Black Mages for Dancing Mad.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2017-10-12 15:03:27
Thanks for the quick response, I hadn't thought of applying the Ted Woolsey patch afterwards. Now this is just fantastic  :mrgreen: However, I guess this means that there's no value in me reporting any music bugs/glitches since I am not running "vanilla"?
It'll be easy to report bugs, just keep a copy of the unmodded ROM and the IPS files handy. (you can get the IPS for Dancing Mad here: https://github.com/Insidious611/DancingMadFF6/tree/master/patch)

If/when you find a bug, swap in a ROM modified with ONLY the Dancing Mad IPS, and load a save file (NOT a save state) before the bug and try and reproduce it.

If you can reproduce the bug with just the MSU patch, report to Insidious.

If you can't reproduce the bug, swap to a copy of the ROM modified with the other IPS patch you were using, load a save file (again, NOT a save state), before the bug and try and reproduce.

If you can reproduce the bug here, the bug is with the other patch, and should be reported to that patch's author.

If you still can't reproduce the bug, swap in a ROM with both patches, and try and reproduce.

If it's reproducible here, then there's probably a conflict with the patches (it might be emulator related). You can use this tool: https://www.romhacking.net/utilities/1080/ to check if 2 IPS patches are compatible with each other.



I've already found a few bugs in Dancing Mad, and one bug in the Ted Woolsey patch so far this way.

Oh, a nice bonus of the Ted Woosley patch? The optional music player will actually play the MSU-1 PCM files, not the SPC audio.
I have to give a huge shout out to Github contributor edale2 for his work on the audio end of things. I am very much not an audio editor, or at least if I am I'm a rank amateur. His work has been exceptional.
:-[  (god, the blushing emoticon on here looks like it's about to cry...)

Entirely self-taught, mostly (anything PCM related) since I started helping you a few days ago.  8) Honestly, the quality is more a result of my OCD, lol.

Another bonus in the new installer will be support for MSU-1 replacement of certain sound effects that are played on the SPC as loops during sections with no music. At the moment this includes the raft scene with Banon, and there's work being done on the seashore wave sound effects from the world of ruin opening. Both of these are essentially original works (using PD sound effects as a basis) by edale2. In addition, he has also provided a few Black Mages tracks that will be added to the Other selection, including their versions of Dancing Mad, Decisive Battle, and the Battle theme.

In addition, he has provided, usable in the Other section, a version of Phantom Train that is the SSC track with a train effect, similar to the one present in the original and OCR mixes.
I've had a busy few days, haven't I? lol. I highly encourage people to try out the new OTH Decisive Battle (The Black Mages' version), It was a pain in the ### to loop decently, but the end-result is definitely worth it.

For a bit more clarification, the OST and OCR Phantom Train songs had the "pulling away from the station" sound effects only during the intro, I added train sounds (just riding on the tracks, no whistles or anything like that) to the entire SSC track. It's a thing of beauty now, really helps set the mood for that part of the game.

I also fixed the timing of a few things, such as the OST ending, so things line up better in-game.

and am on the fence on maybe switching to Black Mages for Dancing Mad.
Do it!  ;D Unlike the OCR track, this one actually sounds like Dancing Mad!
https://www.youtube.com/watch?v=rrFmuiF2ENY
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-13 00:14:56
A video of the Opera, fully working and voiced!

https://www.twitch.tv/videos/181781859

or on youtube https://www.youtube.com/watch?v=tgCZOtc4mm8

The new installer has been thoroughly tested at this point and seems to be working just fine. I'm holding off on a release until we have one more track uploaded (edale was working on the seashore sounds for the WoR and I've already got the installer pointing to that, so I don't want to upload a copy that will 404 on a track we've not got done yet.), but everything seems to be ready for release otherwise!

Keep watch on this space for the Final Beta release.

The only things left after this for a *final* release are the still-elusive fading support and fixing the two remaining minor bugs to do with event handling. Any release after this one will be either a hotfix to the Final Beta (only if necessary), a Release Candidate, or the Final Release. We're on the home stretch.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2017-10-13 03:43:30
I've got a few potential sounds clips picked out, I need to loop and convert them to test in-game. May even play with slowing the tracks down slightly to help sell the feeling of desolation you're supposed to feel at that point in the game.

I should have a few potential tracks to you if not tonight, then tomorrow.


Oh, and a note about the Ted Woolsey patch. There's currently a bug in the ending. After the line at the end of Relm's ending "STRAGO: RELM! How can you be thinking about pictures at a time like this?" The game needs player input to advance the text. If left too long before hitting the button, it could glitch the game into a black screen. The only way to keep the ending theme synced to the audio is to be ready to advance the text as soon as it pops on screen. Author of the Ted Woolsey patch has been informed, and it should be fixed in the next patch update (he's working on hammering out a bug in his namingway patch for FFIV atm, but this is next on his list). I'm personally keeping compatibility pegged in my head at 99% until that bug is fixed, since it de-syncs the audio.

*edit- Odd that my first post didn't need to be approved by the moderators, but this one does...
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Covarr on 2017-10-14 14:41:21
*edit- Odd that my first post didn't need to be approved by the moderators, but this one does...
A user's first five posts are supposed to need it, but our forum software decided for no apparent reason not to assign the 0-post-count group to new members. That *should* be fixed now to prevent that from happening again, but with SMF one can never be certain.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-18 01:52:54
Had a more vital bug fix come in re: the Dancing Mad tracks and am going to do some more thorough testing on that and a fix for the "no music after sleep" bug before the Final Beta release, so that may take a bit longer, but it still should be out soon.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2017-10-23 07:29:28
If you've seen Insidious' demo video with the fully-working Opera... Heads up, I did some more work on the Aria.

It's so much better now, it gave Insidious chills when he tested it out, and I've gotten chills every time I've tested it out.

Seriously, the emotional impact of this thing now is insane.

I did convert the OST Opera a while back as well, since the timing wasn't an issue like Insidious thought it was (the player-influenced timing is an illusion; everything happens at a set pace, and every event starts at the exact same timeframe, this is especially evident if you finish the dance fast enough, and have to sit around for a minute waiting for the next set of lyrics to start). But I strongly encourage people to go with the OTH option for the Opera in the installer, even if going with the OST for everything else.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-10-29 17:44:43
Quick status update, we're doing test playthroughs of the whole game ahead of this release. edale2 is doing a playthrough where he does a bunch of the optional content, I'm basically doing a straight run (not a speedrun but at the very least an attempt to get through the base game quickly). I'm about to finish the World of Balance, he, since he started a bit earlier and has had more time to put in, is about halfway done with the World of Ruin optional content.

After finishing this if we don't encounter any further bugs I'm going to test the installer one more time and assuming *that* is still in perfectly working order I'm going to release the final beta.

Known bugs likely to make it into the final beta release:

* "Select a Scenario" screen will play whatever MSU-1 track was last playing upon loading, going to silence after entering and leaving the menu. This is due to a workaround put in place to successfully fix a *number* of other bugs, involving using the otherwise unused silent Track 51 as a way to flag my MSU-1 code. This is the only spot in the game we've found so far where Track 51 is actually called, and it therefore mistakenly trips the flag. I am trying to figure out how to determine (specifically, where in memory this is contained) what map is currently loaded in order to do a workaround for this and another unrelated bug that's also situational to the scene.
* Victory theme may play on loop after leaving South Figaro during Locke's scenario. I got this bug *once* on RetroPie's lr-snes9x and was unable to get it to reproduce on any emulator (including lr-snes9x) since. Unfortunately, being unable to reproduce it means I'm unable to test what might be a fix, and as I'm unwilling to put untested code into this project the "fix" is being left out. Please please *please* get me a savestate if this happens to you.
* Fading still not implemented.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-11-05 18:20:02
Testing is complete! Two people have fully tested the game to completion now and almost no bugs encountered :)

We have one last bug to nail down, the "Select a Scenario" bug. I've made a fix, but the nature of said fix is experimental and hacky so it's going through another (much shorter) round of testing before I'm confident putting it in the final beta.

If we can't definitively nail down the fix as not breaking anything else within the next week, I'm going to leave it out of the final beta as the issue is minor and the potential for problems is fairly major.
https://github.com/Insidious611/DancingMadFF6/issues/38

There's also some minor optimization I can do that I'm going back and forth on whether I should try it out before the final beta release, as it shouldn't break anything but it affects 7 vital lines of code in various important sections of the program, so I'm iffy on changing something that vital.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-11-07 15:42:31
As I suspected, there are problems with that last fix (it's only working in one specific scenario out of 4), so the final beta installer will be packaged without it. I'm currently in testing of the installer.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-11-08 21:00:08
And we have hit Final Beta Release

Download here (https://github.com/Insidious611/DancingMadFF6/releases/tag/20171108).

Remaining confirmed bugs:
 * "Select a Scenario" screen plays last MSU-1 track upon load. Will be fixed in a coming hotfix.
 * Fading not yet implemented. Will be fixed for final release.

New in this release:
 * Alternate OCRemix loops courtesy of Qwertymodo
 * Ability to load a preset on the custom track selection screen.
 * Multiple cosmetic improvements to the installer.
 * Confirmed compatibility with "Ted Woolsey Uncensored Edition" patch (apply *after* the MSU-1 patch, with your favorite IPS patcher. Note that the "music player" addon patch works but has some audio hitching issues when leaving menus)
 * PCM sound effects for sounds that play on loop without music (waterfalls, fire, wind (not currently implemented due to a bug), waves)
 * Fully working opera with (mostly) synced voices!
 * Many new tracks from suggestions and contributors!
 * Many many bugfixes.

Upcoming hotfix releases may also include new tracks and potentially a changed "sid selection"/"developer's recommendation" preset (I need to go through and test the OCR2 and new OTH tracks against my previous selections).

Just so people are aware, once I've fixed the remaining bug, made a few investigations into the game's volume system, and handled some suggested audio changes I am likely going to take at least a few months vacation from this project as there are other projects I'm working on that also deserve my attention.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-11-27 22:24:38
A minor audio-only hotfix was done today, with even better timings for the Opera, fixes to the OST opening, a new OTH version of Searching for Friends, and preparation for adding a whole new source, the "Final Fantasy 6 Acoustic Rendition".

Credit for all these new audio tweaks is due to edale2.

No new installer out yet, though one is not necessary just to get the Opera and OST fixes, as the installer will automatically download the fixed tracks.

Also, there were some DNS issues with the server I host the audio on. They should be resolved now, but if you're having any issues with the installer this is probably why (sometimes changes take a while to propagate with DNS).
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2017-12-06 08:10:23
Bit of an announcement to make. With edale2's help we found and looped two entirely new sources of FF6 remixes/arrangements. These are excellent and provide an alternative for many tracks that otherwise only had OCRemix and OST tracks available. Work is underway adding these two new sources to the installer.

As a preview, here are the (unaffiliated with this project) links to listen to the soundtracks in question:
Eiko Nichols' "Final Fantasy VI Acoustic Rendition" (will go under the abbreviation "FFAR")
https://ayco.bandcamp.com/album/final-fantasy-vi-acoustic-rendition

ChrystalChameleon's "Final Fantasy VI Orchestrated" (will go under the abbreviation "CRC")
https://www.youtube.com/watch?v=t_BxsLMvj7o&list=PLdYEU9SXADalemHUSvDg52eVpDalwzkBD

A special thanks to ChrystalChameleon for giving their endorsement and giving edale2 high quality MP3s of their tracks to work with.


Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2017-12-07 08:06:50
ChrystalChameleon's "Final Fantasy VI Orchestrated" (will go under the abbreviation "CRC")
https://www.youtube.com/watch?v=t_BxsLMvj7o&list=PLdYEU9SXADalemHUSvDg52eVpDalwzkBD

A special thanks to ChrystalChameleon for giving their endorsement and giving edale2 high quality MP3s of their tracks to work with.
Once I asked ChrystalChameleon for permission, and explained what an MSU-1 mod was, she couldn't get the tracks fast enough, lol. Didn't want to wait for the tracks to make it into the installer, so got her a link to her converted tracks as soon as I was done converting them (and about 5 minutes before I sent the files to Insidious). Less than an hour later she was more than 1/2 an hour into the game, lol.

Definitely the most enthusiastic response I've gotten to asking if I could convert someone's remaster (though I can DEFINITELY see the appeal of hearing music you've remastered yourself in-game, I kinda vicariously get that with the music I've converted).

Also, HIGHLY recommend the CRC version of Dark World once the installer's updated, best version I've worked on by far. https://www.youtube.com/watch?v=B-RrfEVKp8E&list=PLdYEU9SXADalemHUSvDg52eVpDalwzkBD&index=10

------

One thing of note with FFAR, it has every* character's theme, and also has "Balance is Restored" which is the first half of the ending. This means that if you use all the FFAR character themes, as well as the FFAR ending... The music that played in the ending for each character's theme will actually match what you've been listening to throughout the game.

The second half of the FFAR Ending is the second half of the OST ending.

*Mog's Theme was actually not part of the album. So I took the chunk of Mog's Theme from Balance is Restored, and converted that into a separate track to use as Mog's Theme. This means Mog's Theme isn't as accurate a remaster as the rest of the character themes, still good though.

------

ATM the only other Album that I plan to convert (unless I find an other really good one) is Dracula9AntiChapel's remasters. He's actually completed a remaster (ALL tracks), but asked me not to convert that one. He wants me to wait for him to finish his new version of the remasters, and convert those.

His new version is only about 1/2 done atm, and will probably be several months until it is finished; don't expect it to be included any time soon.


------

*edit- It turns out FFAR actually is missing one character's theme. It doesn't contain Setzer's Theme unfortunately.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2017-12-25 06:16:19
So I made something. This is the first mod I've ever created.

https://mega.nz/#F!PJZg1IRb!kS3ECIgKhAkc-qHWkVGRAg

This is a patch meant to be applied on top of the Dancing Mad MSU-1 mod. This patch re-introduces 4 songs that were created for FFVI, but cut from the final game without removing any of the existing tracks. 2 of the songs are WoB only (WoB Mobliz, and WoB Nikeah), and 2 of the changes are available in both WoB and WoR (classroom in Narshe, but not at the very start of the game, and non-occupied South Figaro).

I wasn't shooting for a Christmas release when I started work on this, but that's how the timing worked out. Enjoy!

This patch might be offered as an option in the Dancing Mad installer at some point.

*edit- Mega link updated. Changed mod's name from "Alternate Tracks" to "Cut Songs Restoration" to better reflect what the mod actually does, no changes to the mod itself.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-01-06 10:05:10
Just letting people know, the server hosting the PCM files may be offline for a period of a few hours (up to maybe 5 at most) over the next couple of days, as I'm updating all of my servers to counter the recent Intel CPU security vulnerabilities.

Backup mirror has already been updated so the installer should still work.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-01-10 00:50:54
Another nice little addition to the Dancing Mad patch here:
https://mega.nz/#!3UR0nShJ!6V6FlV9kgMGIztJ5oGjS8C1QoojhaOrxtdtqZzP5crM

This is a modified version of Madsiur's FFVI Music Player patch, or more accurately 2 different modified versions of his patch.

Dancing Mad version: The 'exiting the main menu' music resume code from Madsiur's original patch has been removed, as it caused a conflict with a bit of code in the Dancing Mad patch that served the same function. Some of the tracks have been adjusted to match changes made in the Dancing Mad patch (things like getting all 4 parts of Dancing Mad to play the PCM tracks and removing the SPC versions from the list). This was created using using the code from the Ted Woolsey version of the patch to maintain full compatibility with the Ted Woolsey Uncensor patch.

Cut Songs Restoration version: Same as above, but with the 4 songs from my Cut Songs Restoration mod added into the song list.


Each patch has 3 options:

Menu: The music player will show up on the main menu screen.

Config1: The music player will replace the "mono" option for the mono/stereo selection (mono disabled)

Config2: The music player will  show up on the bottom of the first page of the config screen.


NOTE: If installing Dancing Mad + Ted Woolsey Uncensor + the 'Menu' version of the music player, patch you MUST apply the music player AFTER the Ted Woolsey patch, not before. This only applies to the main menu version (this is due to a compatibility issue with the 255 clock mod included in the Ted Woosley patch).

A big thanks go out to Madsiur for coding this.

This is likely to be added to the Dancing Mad installer at a future point.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-01-24 07:53:28
A pretty major update to the installer is coming in the next hotfix. This should be available sometime in the next month, depending on my available time (it's nearly complete already).

The biggest new inclusions are the two new music sources mentioned earlier, as well as the ability to optionally apply any of the following:

 - the Ted Woolsey Uncensored Edition patch
 - edale2's Cut Songs Restoration patch
 - Madsiur's Music Player (either the Dancing Mad or Cut Songs Restoration version, depending on whether or not you choose to apply edale2's CSR patch)

Other big changes (honestly the lion's share of the work) are under the hood and have already been completed. The installer now uses a much easier to maintain data format, enabling me to add new sources and mirrors with ease. I've added an Amazon AWS S3 store as a emergency fallback mirror. I would please ask anybody downloading the PCM files directly to *avoid* this mirror as I will be charged for bandwidth used, I want to leave it as a way to get the data guaranteed in case any of my other mirrors, for which I'm not charged for bandwidth usage, go down.

My recommended selection of songs (the Developer's Recommendation, or what's always been referred to internally as the Sid Selection) has also changed drastically for the upcoming version. If there's demand, I might provide a RAR of the old recommended PCMs for those curious or who don't like my new choices.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Ackbar on 2018-01-25 20:35:31
I just wanted to say thank you again. I'm sure I'm not the only one keeping a close eye on this thread - we really appreciate this!
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-02-19 07:23:07
Hotfix One is now out, with all the above mentioned features! I don't need to big it up any further here, I don't think. Grab it here (https://github.com/Insidious611/DancingMadFF6/releases/tag/20180219)!

Only a minor bug or two and the fading support in the way of a final release.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-02-22 16:31:39
Hotfix Two is now out. This is a minor patch dealing with some download/install issues. Notably, the saika mirror has been removed as it's been dead for a while, and a 15 second timeout was added on initial connections. Also, on the backend, an issue with the Amazon Web Services mirror was fixed. Available here. (https://github.com/Insidious611/DancingMadFF6/releases/tag/20180222)
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: F-Bomb on 2018-03-10 02:48:35
I just used the installer for SD2SNES. I had initial problems with my virus protection not liking it. But once I was past that I had no issues.
I did it twice, once on a Vanilla rom, and then I did it again and added the TWUE which both appear to work great.
I then patched Brave New World over the vanilla rom and it also seems to work.
I went with the custom options, with the suggested files, then selected all the OTH that I could (assuming that these are Black Mages files)
I'm unsure about all the looping and fading that you are looking for but I can assure you upon initial inspection this patch works on SD2SNES.
it may take me a while but I will report back with my opera findings as soon as I can.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-15 12:11:43
I just used the installer for SD2SNES. I had initial problems with my virus protection not liking it. But once I was past that I had no issues.
I did it twice, once on a Vanilla rom, and then I did it again and added the TWUE which both appear to work great.
I then patched Brave New World over the vanilla rom and it also seems to work.
I went with the custom options, with the suggested files, then selected all the OTH that I could (assuming that these are Black Mages files)
I'm unsure about all the looping and fading that you are looking for but I can assure you upon initial inspection this patch works on SD2SNES.
it may take me a while but I will report back with my opera findings as soon as I can.
If you post what virus scanner you use, Insidious can report it as a false positive and get that fixed. IIRC he had a problem with this on AVG when he switched to Python 3.6 for coding the installer.

The Black Mages did the following FFVI tracks:
The Decisive Battle
Dancing Mad
The Opera (Darkness and Starlight / Maria and Draco)

The Decisive Battle and Dancing Mad are included in the installer under OTH, for the Opera... See my next post.

The other OTH tracks are either a few good single-track remasters (rather than them remastering the entire album/soundtrack), or in one or two cases one of the existing tracks that I fiddled around with enough to warrant keeping separate rather than replacing (an example would be the Phantom Train's OTH track is the SSC track with train effects added in, so you can hear the train moving on the tracks the entire time you're on the train, really enhances the immersion).
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-15 12:12:48
So I spent a few days trying to figure out how to record video of gameplay at 720p/60fps so I could upload some videos of the opera in the MSU-1 mod, before finally giving up on various emulator's built-in video recorders, and got pointed to OBS Studio by Insidious.

A few hours playing with the settings and practicing my google-fu to get everything recording and encoded properly, and I come to share the boon of my labor.

View at 720p/60 to listen without an audio fidelity decrease from Youtube's re-encoding, text is the updated opera text from TWUE 2.0:

Final Fantasy VI Original Sound Version Remastered album's version of the Opera:
https://youtu.be/TCyd8STWwtE
This is currently included in the Dancing Mad MSU-1 mod under the OST listing.
There's a slight fidelity increase, but overall you might as well use the SPC audio, it sounds the same.

Game Music Concert 4's version of the Opera:
https://youtu.be/4xo5oQWjXP8
This is the one currently included in the Dancing Mad MSU-1 mod under the OTH listing.

The Black Mages' version of the Opera:
https://youtu.be/pqk7bKMCPj8
https://mega.nz/#!KJRGVKKK!7z_LdxBntuB7EoXA2Z42dN-XO8eokvWH8Ny9PkuUPsY
This is probably my favorite version of the opera for multiple reasons.
-The narration is voiced, although it's too fast to be matched up to the on-screen lyrics.
-When racing to Ultros, the battle between Ralse and Draco, complete with spoken dialog, continues.
-The Black Mages is led by the lead music designer from FFVI.
-First version of the Opera to ever be released in its entirety, allowing fans to find out how it was supposed to end if Ultros/Setzer didn't interfere.
-Electric Guitar. Enough said.

More Friends: Music from Final Fantasy album's version of the Opera:
https://youtu.be/aM407Oxzsew
https://mega.nz/#!nYREHQTL!FuvrBjtOhUOChpa8KeAonCukCRtYG9NZzNu0uDPBsIE
-English.


And those are all the versions of the Opera I've converted so far.

*edit:

Distant Worlds version of the Opera:
https://youtu.be/dIn5t4TGv3w
https://mega.nz/#!CUR2iLRb!X2H5KQVbq6_dqGmE6KveKvf_UGNfVVRYAUYezdjjRw0
-English.

So I converted another one.

And with that, I've converted every professionally done voiced version of the opera I'm aware of (I won't touch the Balance and Ruin remix album's version with a 10-foot pole, as far as inclusion in the actual game goes, NOTHING matches up).

If anyone knows of another performance of the FULL Opera (not just the Aria) that I haven't converted, let me know.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-03-17 19:56:35
Nice work on advancing the Beta to an almost final stage!

I tested the mod on a FF6 ExHiROM mod (RotDS more specifically) and the ExHiROM mapping break some instructions more specifically the way you coded JMLs and such. As an example JML 18FA72 will work but an ExHiROM cart or ROM will require it to be JML D8FA72 in order to jump at the same place. I'm not sure if there is an advantage to use first notation but while it work on regular HiROM + FastROM carts and ROM, it breaks on ExHiROM carts / ROMs.

I got the mod working by changing all bank bytes of all problematic instructions, what is to check are JML, JSL, LDA XXXXXX, etc. In vanilla FF3us, all instructions use the HiROM notation for banks.

I'll try to fiddle with the fadeout NMI code soon, I know you tried stuff but I'll try a few things, somebody will get it right eventually!   ;)
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-17 23:10:52
Nice work on advancing the Beta to an almost final stage!

I tested the mod on a FF6 ExHiROM mod (RotDS more specifically) and the ExHiROM mapping break some instructions more specifically the way you coded JMLs and such. As an example JML 18FA72 will work but an ExHiROM cart or ROM will require it to be JML D8FA72 in order to jump at the same place. I'm not sure if there is an advantage to use first notation but while it work on regular HiROM + FastROM carts and ROM, it breaks on ExHiROM carts / ROMs.

I got the mod working by changing all bank bytes of all problematic instructions, what is to check are JML, JSL, LDA XXXXXX, etc. In vanilla FF3us, all instructions use the HiROM notation for banks.

I'll try to fiddle with the fadeout NMI code soon, I know you tried stuff but I'll try a few things, somebody will get it right eventually!   ;)
Opened a new issue at: https://github.com/Insidious611/DancingMadFF6/issues/71
and reposted this there.

This is far beyond what I know about, we'll see what Insidious says.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-03-18 01:12:22
Opened a new issue at: https://github.com/Insidious611/DancingMadFF6/issues/71
This is far beyond what I know about, we'll see what Insidious says.

Thanks man! Yeah my message was aimed at insidious, I had the impression he visit daily or so this thread. Basically using HiROM notation for long instructions (bank number + 0xC00000) will make the mod work on every FF6 carts and roms possible, regular FF6 ROM type (HiROM + FastROM) or expanded 6MB ROM type (ExHiROM). I don't fully understand the technicalities underlying the mapping differences between both rom types but I tested both versions on debugger emulator and made a fix after seeing the JML instruction not jumping where it should.

Since he coded this with an ASM file it could even be something not wanted in the first place but that was working with vanilla FF6 ROM type. As I said no instruction in FF6 use absolute bank notation, it's all in HiROM notation.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-18 03:30:53
Thanks man! Yeah my message was aimed at insidious, I had the impression he visit daily or so this thread. Basically using HiROM notation for long instructions (bank number + 0xC00000) will make the mod work on every FF6 carts and roms possible, regular FF6 ROM type (HiROM + FastROM) or expanded 6MB ROM type (ExHiROM). I don't fully understand the technicalities underlying the mapping differences between both rom types but I tested both versions on debugger emulator and made a fix after seeing the JML instruction not jumping where it should.

Since he coded this with an ASM file it could even be something not wanted in the first place but that was working with vanilla FF6 ROM type. As I said no instruction in FF6 use absolute bank notation, it's all in HiROM notation.
Always best to centralize the info about any problems with a project like this, rather than it being spread around 6-7 threads on as many forums. Given I check every thread I've ever found about this patch (including a few Insidious probably doesn't know about) frequently, I've taken to moving the relevant info over there when something pops up... Well something that's not fixed by "did you select the right option for your emulator in the installer? No, OK, rename the files like so..." (was quite surprised when I read the credits for the newest version, and saw myself credited with "community outreach" on top of the audio work I've done, lol). Also, I'm pretty sure Insidious gets an email from every post to the GitHub, so he should get the message pretty quick. I can't comment on how often Insidious checks the thread, because I have no idea, lol.

So if I'm understanding this right (I'm not, lol), the patch is coded with LoROM, so it won't work with ExHiROM (but does work with HiROM?) patches? And if Insidious changes the ASM coding to HiROM, it'll work with all other patch types?

Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-03-18 07:56:37
So if I'm understanding this right (I'm not, lol), the patch is coded with LoROM, so it won't work with ExHiROM (but does work with HiROM?) patches? And if Insidious changes the ASM coding to HiROM, it'll work with all other patch types?

It is something like this... Bank $D8 can be accessed with $18 or $D8 on regular FF6 (I guess loROM work on HiROM) but ExHiROM can only deal correctly with $D8.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-18 20:22:34
Quote from: insidious611
I get the jist of what he's saying at least. I'll attempt the change myself when I get time. My only concern is whether or not that notation will cause issues on the actual hardware, but tbh I doubt it will.
Well... Insidious knows what you're talking about, lol.

And I don't know if the mod is using HiROM or LoROM notation, but I know the mod works with the Ted Woolsey Uncencor patch, which has a 4MB expanded ROM (which I think you're explanation earlier said would mean HiROM).

Maybe I should just stick to the audio side of things, lol.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-03-18 22:12:21
Well... Insidious knows what you're talking about, lol.

Good news! To answer his concern, all ASM instructions in vanilla FF6 code use HiROM notation, as an example there is never something like JSL 186040 but always JSL D86040. Same goes for all instructions requiring a bank byte (3 bytes offset).

And I don't know if the mod is using HiROM or LoROM notation, but I know the mod works with the Ted Woolsey Uncencor patch, which has a 4MB expanded ROM (which I think you're explanation earlier said would mean HiROM).

A regular FF6 ROM or one expanded to 4MB is HiROM + FastROM type. Once you expand beyond 4MB to like 6MB, you need ExHiROM mapping change because you now need and can access banks $40 to $5F, that are the continuation of $C0 to $FF ($00 to $3F in LoROM / absolute format). I'm no expert in ROM mapping so I'll stop here :P
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: F-Bomb on 2018-03-20 01:44:24
If you post what virus scanner you use, Insidious can report it as a false positive and get that fixed. IIRC he had a problem with this on AVG when he switched to Python 3.6 for coding the installer.

The Black Mages did the following FFVI tracks:
The Decisive Battle
Dancing Mad
The Opera (Darkness and Starlight / Maria and Draco)

The Decisive Battle and Dancing Mad are included in the installer under OTH, for the Opera... See my next post.

The other OTH tracks are either a few good single-track remasters (rather than them remastering the entire album/soundtrack), or in one or two cases one of the existing tracks that I fiddled around with enough to warrant keeping separate rather than replacing (an example would be the Phantom Train's OTH track is the SSC track with train effects added in, so you can hear the train moving on the tracks the entire time you're on the train, really enhances the immersion).

I was using avast free antivirus.

I have basically installed the developer recommended files with dancing mad and decisive battle under OTH.

3 Issues I have found so far.

After the Sabin intro scene the music swapped back to the spc track untill I left the room.

During the Phantom train exit the music kept playing.
Spoiler: show
 I remember it being silent while Cyan mourns the loss of his family.


When I recruited Shadow in Cohlingen after Battle of Narshe, I slept straight away and the town music was still playing in the background
Spoiler: show
while the 1st dream sequence was happening.


I'm doing the opera tonight. I'm going to record it and upload to youtube to see if it is all good.

The rom I'm playing is dancing mad with Brave New World 1.9.0 patched over the top, with some additional changes.
But it still appears to be working mostly fine.

Also if you are interested, I have recorded the intro and ending scenes from the ps1 version. I think I have converted them correctly to msu1 files, but have no real way of testing (other than trying them out in zelda msu1).

If you are interested I'll see if I can upload them somewhere.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-20 06:14:17
Good news! To answer his concern, all ASM instructions in vanilla FF6 code use HiROM notation, as an example there is never something like JSL 186040 but always JSL D86040. Same goes for all instructions requiring a bank byte (3 bytes offset).

A regular FF6 ROM or one expanded to 4MB is HiROM + FastROM type. Once you expand beyond 4MB to like 6MB, you need ExHiROM mapping change because you now need and can access banks $40 to $5F, that are the continuation of $C0 to $FF ($00 to $3F in LoROM / absolute format). I'm no expert in ROM mapping so I'll stop here :P
Whelp, Insidius posted a bunch of coding stuff I don't understand, and it'd take like 20 min to convert the formatting for this forum, so just read the last few posts by Insidius at: https://github.com/Insidious611/DancingMadFF6/issues/71

Long story short, test build!
https://github.com/Insidious611/DancingMadFF6/blob/master/patch/ff3msu.ips
Could you try that out and see if everything's working on your ExHiROM game? I have some extensive testing to do on this, but if all goes well it'll be released as hotfix 3.

I was using avast free antivirus.

I have basically installed the developer recommended files with dancing mad and decisive battle under OTH.

3 Issues I have found so far.

After the Sabin intro scene the music swapped back to the spc track untill I left the room.

During the Phantom train exit the music kept playing.
Spoiler: show
 I remember it being silent while Cyan mourns the loss of his family.


When I recruited Shadow in Cohlingen after Battle of Narshe, I slept straight away and the town music was still playing in the background
Spoiler: show
while the 1st dream sequence was happening.


I'm doing the opera tonight. I'm going to record it and upload to youtube to see if it is all good.

The rom I'm playing is dancing mad with Brave New World 1.9.0 patched over the top, with some additional changes.
But it still appears to be working mostly fine.

Also if you are interested, I have recorded the intro and ending scenes from the ps1 version. I think I have converted them correctly to msu1 files, but have no real way of testing (other than trying them out in zelda msu1).

If you are interested I'll see if I can upload them somewhere.
Avast false-positive reported on GitHub:https://github.com/Insidious611/DancingMadFF6/issues/72

Town music playing during Shadows dream sequence reported on GitHub: https://github.com/Insidious611/DancingMadFF6/issues/73

I'll test the end of the Phantom Train on a vanilla ROM to see how the music is handled there. If it is silent, then it's probably silenced through a fade, if that's the case it'll likely remain broken until Insidious figures out fading.

The Sabin intro scene you're referring to is the one in Figaro Castle? If so it's a known issue, there's something unique about how the game handles the music there that Insidious hasn't been able to pin down as of yet. The brief bit of SPC audio is the best fix we have atm.

Please use this tool: https://www.romhacking.net/utilities/1080/
Or this tool: https://www.romhacking.net/utilities/1386/ (newer and better program just released a month or two ago, but I haven't had a chance to check it out yet, so can't comment)
To check and make sure all the patches you're using are compatible with each other and the MSU-1 mod.

I've already uploaded video of every version of the Opera I've converted for this project to youtube: http://forums.qhimm.com/index.php?topic=16077.msg256264#msg256264
So the only changes will be the ones Brave New World made. (I make no claims the Opera's lyrics will line up with the text in the BNW mod, I timed the audio to match TWUE 2.0's Updated Opera)

I actually have the raw video files from the PSX version sitting on my HDD somewhere, picked them up when I converted the PSX soundtrack for this mod. Actually finished the conversion, every last track, but I couldn't find a full rip of PSX's Dancing Mad ANYWHERE, just the first movement, so had to scrap the whole thing. That said, video is likely not going to be added to the mod by Insidious any time soon; maybe he'll consider it once he figures out fading and gets the audio working 100%.

Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-03-20 06:19:39
Good bugs! I'll try to get time to work on them, but I've gone back to school so my time is more limited atm.

The shadow thing is odd, if it calls for shadow's theme via normal means that should be caught

edale is likely on track with the Phantom Train thing. It's likely a fade-to-silence and we've not cracked getting fading working without glitches yet.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-03-20 06:26:01
Were you running the i386 installer or the amd64 one?

Ehh, I'll just report both.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: F-Bomb on 2018-03-20 06:55:13
I386.

I think its another fade issue. I think the town music didnt fade out. The Shadow theme had already finished playing.
Its not the Shadow theme. It's the first Shadow dream. Where it just has a singular low note over and over.

Hope this helps.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-03-20 07:00:13
Thanks for this quick fix. I'll test this tomorrow.. and sorry about the typo D8 instead of D2 if it was misleading, I kinda assumed it was hex when writing my post, I even debugged the thing before this and I was in the correct bank lol.

On a side note I was partially wrong about the FF6 ROM always using $C0 as a base, the only case I've found in original ROM is the NMI hook (JSL $001500) at C0/FF10 and some bank $C3 function that queue function calls by code and do not use and bank number based on $C0.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-20 12:44:16
Good bugs! I'll try to get time to work on them, but I've gone back to school so my time is more limited atm.

The shadow thing is odd, if it calls for shadow's theme via normal means that should be caught

edale is likely on track with the Phantom Train thing. It's likely a fade-to-silence and we've not cracked getting fading working without glitches yet.
I was waiting to test the phantom train bit before reposting it on the GitHub, so I knew how to report it, or if it was working as it was supposed to.

For Shadow's dreams... Maybe it uses a similar routine as the Sabin intro in Figaro Castle? Didn't that scene used to have a similar problem before you put whatever fix you currently have for it in?
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-03-21 10:55:51
Phantom train scene reported on GitHub: https://github.com/Insidious611/DancingMadFF6/issues/74

After some testing, I'm still mostly sure it's a fading issue, but there are a few special tracks called around the phantom train section of the game, and I think the "train pulling away from the station" sound effect might be one of those effects, so there's a chance it's linked to that.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: F-Bomb on 2018-03-21 11:34:10
Last night I did the opera scene on the sd2snes with Brave New World over Dancing mad. It all lines up pretty well. Only for the very last page (4 or so lines) did it start to get out of sync, but not by much. I think it all went over very well. I did notice a bit of a rough cut/jump when Draco sings when he comes in on the chocobo. But I was really quite impressed.

I did record it, but You Tube wouldn't let me upload it. Probably due to my account settings.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-03-22 01:09:15
Avast just got back to me on the false positive. They've fixed it in their definitions which should be updated within 24-48 hours :)
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: F-Bomb on 2018-04-05 00:17:07
When using this hack on Brave New World all seemed to be going well. Untill I got to the floating continent. When here it stopped Shadow gaining SP (spell learning points used in BNW), and when he left the party all the SP appeared to go to another character.

I also cross checked it with BNW without Dancing Mad, and the SP gain worked as normal
I'm pretty sure that this may be outside the scope of things you want to fix. But I thought i'd let you know.

Cheers.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-04-05 17:34:35
So I've played a bit with this and started my "own" implementation just for fun, taking your project and more heavily DarkShock's CT MSU-1 code (https://github.com/mlarouche/ChronoTrigger-MSU1) as a base. I implemented fade-in fade-out and it's the reason of this post. After some tests, there is no battle slow down, same for regular maps. The only fade test that was done is with the "wind song" I created with a WAV wind sample in the intro that is faded-in with event command $F1 and faded-out event command $F2. You can get my .asm file here (https://www.ff6hacking.com/misc/fade.zip). The $C2 .bin file included is there to make the .asm file compile because there are SPC routine hooks in the compressed intro code. You'll need bass to assemble the code.

First the code will look for SPC command $81. Following FF6 code logic, at that point on a fade-in the song should be already playing at volume $20, since there is 2 calls for a fade-in; first with SPC comand $10 and volume $20 and second with SPC command $81, $1301 being the fade speed (#$00 to #$FF) and $1302 expected max volume once fade completed (#$FF as far as events are concerned). On a fade-out parameters are the same except expected volume is usually #$00. A check is made for volume #$00 to label the action as a fade-out (and otherwise a fade-in).

In the .asm file, msu_prepareFade is called on SPC command #$81. The fade counter is initialized and the fade steps required is calculated (in msu_computeFade). The rest is taken care in the NMI loop (msu_updateLoop), where a frame counter check fading every two frame and does necessary calculation on volume and decrement the fade counter. Most of this logic is DarkShock's work, I mainly adapted his code and added the fade-out logic based on the fade-in one.

I'm not sure if code could be improved and it does require more testing but it's a good first step IMO and it does seems to work properly.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-04-06 03:22:07
This is honestly pretty excellent work! I love how well structured the code is. I'm still pretty new to ASM and have never used bass, but I could understand what you were doing pretty well! No slight against DarkShock's work but I had a much harder time understanding it when I was first getting started with this project. I particularly like your clever use of macros and how clean they make everything.

If you have any questions about what I'm doing in the current version and why, feel free to ask.

One warning, I noticed you're storing a lot of state variables in $7E1xxx. That's safe most of the time but FF6 craps all over that area of RAM during the ending sequence, which is part of why I laid my variables out partly in there and partly in $1Exx. When I relied on memory in the $7E1xxx block earlier it caused repeated restarts of the ending theme due to not being able to properly check if it was already playing.

I'm not sure how far you wanted to go with your version or if you wanted to contribute the code directly to the project, but provided you can reach feature parity with current code without any regressions (look at the closed bugs on github), I'd be more than willing to incorporate this version of the patch directly into the project. If you'd rather keep it a seperate project that's cool too. If you're contributing this as is with an eye to me finishing it up, I'm alright with that idea too but it'd take me a while to get truly comfortable with this codebase.

On an only semi-related note, I wanted to apologize to everyone for the lack of bug fixing movement lately. I went back to college as of a month ago and have been super busy, so I haven't really had the time to devote to this project that I want to. Rest assured bug reports *are* being paid attention to and I've been brainstorming fixes.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: Madsiur on 2018-04-06 04:15:05
One warning, I noticed you're storing a lot of state variables in $7E1xxx. That's safe most of the time but FF6 craps all over that area of RAM during the ending sequence, which is part of why I laid my variables out partly in there and partly in $1Exx. When I relied on memory in the $7E1xxx block earlier it caused repeated restarts of the ending theme due to not being able to properly check if it was already playing.

$7E0000-$7E1FFF is a mirror of $000000-$001FFF and $001600-$001FFF is save ram, so those unused SRAM bytes are ok to use, unless my info on free SRAM was not accurate. Really the only reason I used it this way is because CT MSU-1 hack had it laid down this way and I did not changed it. Anyway in bass doing a STA.w or LDA.w on a 3 bytes variable result in assembling LDA or STA $1EXX (high byte is ignored). And since majority of time DB is set to $00 in FF6, it write and read  from/to $001EXX.

I'm not sure how far you wanted to go with your version or if you wanted to contribute the code directly to the project, but provided you can reach feature parity with current code without any regressions (look at the closed bugs on github), I'd be more than willing to incorporate this version of the patch directly into the project. If you'd rather keep it a seperate project that's cool too. If you're contributing this as is with an eye to me finishing it up, I'm alright with that idea too but it'd take me a while to get truly comfortable with this codebase.

I'll keep this version of the hack for an "enhanced audio" mod I plan to do (some music related mod with Ocarina of Time elements). I find it much simpler dealing with relevant SPC commands ($10 for play, $14 interrupt, $81 fade in/out and the subsong one used for Dancing Mad song) and include extra ones as each "bug" is encountered. But I labeled all SPC command used in game there are 7 or 8 but 2-3 of those are still unknown to me as for their effect. But really this approach and hooking the MSU-1 routine to the calls to $C50004 rather than in $C50004 was easier for me because I was at ease already with FF6 music code and knew a majority of the hooks already.

But you are really close to your goal, I would prefer forking your project on Github and make a separated branch for the fading only and then have people test the thing deeply (because I am a bad tester that don't spend enough time testing) and after submit a merge request to be in the official release when we are sure it is fully compatible and working. It will be a good way to learn WLA too. Howevere I'm busy with university project and finals until end of April so I can't guarantee a short integration in time of the fading code.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-04-07 02:46:59
Sounds like a good plan, fork away! And no rush, as I said I'm pretty busy myself at the moment.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-04-08 05:47:38
*head perks up* Did someone say testing?  :-D (granted, I haven't even touched testing the new ExHiROM mod to the codebase yet...)

I'm already pretty familiar with the bigger issues we've had with fading (might I finally be able to get my PCM for the 'wind' effect working in South Figaro's Rich Man's House? Not to mention the recently discovered Phantom Train scene issue).

Looking forward to this fork showing up on the GitHub.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: SandmanLobo on 2018-04-15 16:43:05
Guys, I just found out about this mod and was listening to the many remastered editions of FFVI to choose which ones to patch into my game, and I just fell in love with Sean Schafianski's versions of the tracks. Is there any chance you guys are gonna include his unfinished Disk 2 tracks to the mod?
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-04-17 15:08:59
I admittedly wasn't even aware he'd done any disc two work. Yeah, I'd be happy to include it, provided I can find a download. I purchased a copy of the Disc One album in FLAC form to make the original MSU-1 PCMs, and I'm only finding the Disc Two work in non-downloadable form on SoundCloud atm.

---

Progress report on the hack: At the moment I'm mostly trying to consider how to tackle the current bugs. A lot of them are due to the way I'm handling (or, to be more accurate,  currently *not* handling) the fading commands. Madsiur's list of SPC commands from his patch is really helpful for me as far as trying to fix that issue, but I'm mulling over whether I really want to put in workarounds I'll have to take out later once the actual fade code is in.

To be specific, while I haven't had time to test this theory re issue #73, it and issues #38, and #32 stem primarily from the fact FF6 sometimes relies on a song having faded to 0 in order to have silence in a scene, and as I don't directly handle SPC command $81 at all, the songs continue playing at whatever volume they were last set to instead of fading to 0.

The workaround in this case, at least, the easiest one I can think of atm, would be to hook SPC command $81 with a simple routine that checks the requested volume, and, if it's 0, mute the MSU-1. This would turn all fade outs into sudden silences, *hopefully* not breaking anything in the process but probably fixing these bugs for the moment.

However, this entire routine (aside the actual hooking of SPC command $81 which will likely be vital to the fading code) would need to be cut out whenever actual fading is implemented.

Issue #74, the phantom train issue, is likely a combination of not handling $81 (fading) and not correctly handling $82 (subsong switching). Right now, I only handle $82 for Dancing Mad, because it's the only song (set of songs really) in the game that absolutely *needs* subsong switching to work at all. However, Phantom Train uses subsong switching to switch between the actual song and the train sounds, and my current $82 code ignores any calls that aren't during Dancing Mad.

The subsong part of #74 may be an easy fix, but it may just expose a lingering fading-based issue as I bet the train sound will continue looping at full volume.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-04-17 20:43:15
Guys, I just found out about this mod and was listening to the many remastered editions of FFVI to choose which ones to patch into my game, and I just fell in love with Sean Schafianski's versions of the tracks. Is there any chance you guys are gonna include his unfinished Disk 2 tracks to the mod?
Sean Schafianski's tracks are the SSC option in the installer.

*edit- and I totally missed Insidious' reply, and the revelation that we don't have all his tracks already (SS's tracks were done by the previous audio guy, and I haven't really looked at them past getting all the older stuff normalized).

But yea, if I can get a copy of the audio, I can convert them easily.

And @insidious611 there are sites that let you download soundcloud music that soundcloud doesn't natively allow you to download. (*edit- Found a Chrome extension that just adds a download button right to the soundcloud page. EASY downloading)

edit2- Oh wow, I  :-* LOVE :-* this version of Techno de Chocobo!

The Opera stuff is good too (I love any version that vocalizes the narration), but several parts of the Opera are missing, and a broken up version isn't viable in-game (it's why all 8 or so tracks in the Opera are under one option radial in the installer).

And Another World of Beasts... Might be right up there with CrystalChameleon's version of Dark World as one of the best remasters I've ever heard. Of anything.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-04-18 02:10:21
Guys, I just found out about this mod and was listening to the many remastered editions of FFVI to choose which ones to patch into my game, and I just fell in love with Sean Schafianski's versions of the tracks. Is there any chance you guys are gonna include his unfinished Disk 2 tracks to the mod?
Sean Schafianski's Disk 2 PCMS:
https://mega.nz/#!SVYyyCxR!9nb0okEsbo3N0-e-zSd2ynjqs-FcBfFs1yaCkIVhpyQ

Enjoy.

They're made from SoundCloud rips, if anyone can find a FLAC copy, I'll redo them.

Just pop these in the folder with the existing PCM files for the mod, overwrite the old ones, and you're good to go.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: SandmanLobo on 2018-04-19 16:43:43
Sean Schafianski's Disk 2 PCMS:
https://mega.nz/#!SVYyyCxR!9nb0okEsbo3N0-e-zSd2ynjqs-FcBfFs1yaCkIVhpyQ

Enjoy.

They're made from SoundCloud rips, if anyone can find a FLAC copy, I'll redo them.

Just pop these in the folder with the existing PCM files for the mod, overwrite the old ones, and you're good to go.

Wow, that was fast! I really appreciate it, thanks! Also, a pity that he abandoned this project, leaving even the Opera incomplete.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-04-19 22:03:51
So this is interesting. Madsiur, remember how you said you didn't know what SPC command $89 does? Well, I still don't know for sure, but I do know where it's used! >.<

The phantom train does *not* use $82 for its subsong switching. When it calls for track $20 (decimal 32, phantom train), the bit with the train noise plays by default, and then it calls $89 when it's time to switch to the actual song (still with $20 and $ff in $1301 and $1302).

This is going to need a lot more investigation than I thought, and it means the fix I tried to make for it is pointless :P

An interesting side effect of this in a vanilla ROM that I never realized before: All of the save rooms in the phantom train segment are specially coded to trigger SPC Command $89 when you leave them. So, when you save and reload your game, it plays the train sound effect, but the minute you go to leave it segues into the music.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: edale on 2018-04-19 22:07:25
Wow, that was fast! I really appreciate it, thanks! Also, a pity that he abandoned this project, leaving even the Opera incomplete.
The only thing that slows me down is procrastination.  ;) (the last "major" change/fix to one of the audio files I did, I procrastinated about 3 weeks on... it took me 10 min to finish, lol)

Too bad I can't really do much to help with the coding issues...
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-04-19 23:03:39
Okay so, I did an unorthodox thing that seems to have worked. Read the issue for details, https://github.com/Insidious611/DancingMadFF6/issues/74, but basically I'm using a flag setting and checking/clearing routine to make it use the SPC for the train noises where appropriate and then switch to the MSU Phantom Train music when called for. It seems to work perfectly so far, but the amount of changes I needed to make to the "PlayCommand" label in the ASM means I also need to check Dancing Mad for regressions before I can 100% call this a fixed bug.

I can confirm, however, that the situation described in the original bug report (that of the ending to the Phantom Train sequence, where it should be playing train noises followed by silence as Cyan mourns) is in my branch now performing 100% the same as an unmodified ROM.

If anyone else wants to help me test both this and the fade-out workaround (which just sets volume immediately to 0 when a fade-to-zero is called for), apply this (https://github.com/Insidious611/DancingMadFF6/blob/train-and-fadeout-fixes/patch/ff3msu.ips?raw=true) IPS from the train-and-fadeout-fixes branch to a clean ROM and replace your Dancing Mad ROM with it.
Title: Re: [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
Post by: insidious611 on 2018-04-23 06:25:26
I need a little bit of help with debugging the Shadow scene bug. Specifically, I need a save (srm format) right before this happens and directions to reproduce, as I don't really have the time atm to organically reach this point in the game to test my fix. Feel free to use one of the action replay "save anywhere" codes to achieve this (do note however that use of these codes in general can sometimes produce... weird situations.)

EDIT: Also, bit of an update regarding that fix. Essentially what I'm doing is muting the volume whenever something calls for a fadeout, as a temporary workaround for when the game should be playing silence and isn't. However, this causes some pretty abrupt musical cuts, noticably (so far in testing) at the end of Dancing Mad Part 3 before Part 4 starts. This is very much a temporary, somewhat heavy handed solution and I'm even considering offering two patches in the installer because I could understand somebody considering this a regression.