Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - insidious611

Pages: [1] 2 3 ... 6
1
You can email me. .

2
If you'd like, I can send you my Chrono Trigger MSU-1 audio code, which fully supports smooth fading.  I'm pretty sure the CT and FFVI sound engines are largely identical.

I certainly wouldn't object to another example to look at! Madsiur actually already provided some working fading code for FF6 but I just have not gotten the time to sit down, translate the ASM between dialetcts (bass and wla-dx have very different syntax), or implement it. I had been holding off on that as Madsiur had stated his intent to fork the project and PR a copy himself, though like me he has gotten rather busy.

It's far easier for me at the moment to find time to work on/test/fix bugs in the installer, as not only is coding the ASM a greater cognitive load (I still don't consider myself very familiar or confident with this stuff), but at this point there's so many issues to check for regressions on every time I make a change, and I can't really unit test a ROM hack.

But yeah, I'll definitely give it a look.

3
I just discovered an amazing thing. The audio code we patch is identical between the Japanese, US, and US v1.1 versions of FF3. That is to say, it should be completely possible to *as is*, use Dancing Mad on both Japanese and V1.1 US copies of FF3, not just V1.0 US copies. I made an investigation of the files between the different versions and an entire 16kb segment of code starting at where I jump from is identical between different versions. Given said code is exactly what needs modified/replaced, unless any of our own RAM addresses conflict with the Japanese or patched US ROMs, this should mean that, and excuse my big bold words

Dancing Mad is, as far as I can tell, compatible with all known versions of FF6.
Please note that optional patches may or may not work.
I had never gotten around to testing for this compatibility before now, but I can say this with 90% certainty. Please report any bugs trying to run Dancing Mad on these versions!

The installer has now been updated to check for these additional versions.

4
So, I absolutely missed my original deadline of the end of june, by a few months. This is why I don't generally like making deadlines :P

*but*

I am happy to announce the release of
Dancing Mad Final Beta Hotfix Three

There's a *lot* of bug fixes and new stuff in this version, much of which I'm very excited to get into your hands. Here's a summary taken from the Readme for the installer itself:


Fixed Bugs

* A workaround for the issue where the wrong song plays during some of Shadow's cutscenes was implemented. The wrong song may still play for a split second.
* Installer is now usable without manually resizing the window on High DPI systems.
* Patch now uses a more recent version of wla-dx assembler.
* Phantom Train track now behaves correctly, playing train noises until the music is called for.
* Select-a-scenario menu is now properly silent, instead of playing the last song played.
* Patch is now compatible with ExHIROM patches.
* Installer no longer freezes while testing for the status of mirrors.
* Minor packaging fixes.
* Unused files removed from GitHub tree.

New Features

* Dancing Mad MSU-1 now works along with the Brave New World patch (apply after install). Technical details of this support are that state variables had to be moved to a different place in RAM so as not to conflict with BNW's state variables.
* Five different versions of the opera are now available! These include new versions The Black Mages, Distant Worlds concert and More Friends Concert, as well as the existing Game Music Concert 4 and OST versions. See section 2 for details.
* Installer is now capable of previewing songs! Currently support is only enabled for the Opera selections, but once previews are available for all tracks, a "preview" button will be available in the "custom track" selection table.
* Installer now checks for pre-existing PCM files in the install directory. If these are found, they are compared against the files on the server. Upon a match, the download is skipped. This enables updating your version of Dancing Mad or changing your selection of tracks without redownloading a large number of files.
* Sean Schafianski's "Disc 2" tracks now available to be downloaded/installed.
* Installer now outputs a log to dancing-mad-installer.log in your home directory (e.g., C:\Users\yourusername). Please attach this when reporting installer bugs!


And just to update people, here are the still existing known bugs/issues:

* NOT A BUG - On older versions of BSNES and older SD2SNES firmware, area music will restart after battles. Please see the thread on qhimm.com for discussion of this issue. Area music *will* resume on Higan v096 and later, bsnes-plus, snes9x-msu, and latest SD2SNES firmwares, due to updates to the MSU-1 code. I will not workaround nor fix resume support on earlier versions of Higan or BSNES.
* Tracks do not smoothly fade. Implementing this requires precise NMI timing and is a continuing project. Contributions welcome.
* Installer may look strange on High DPI systems (4K displays, 1080p laptops with small screens). It should at the very least be usable now, but for best effect please use the compatibility settings in Windows to set the DancingMadInstaller.exe to System instead of Application scaling.
* Music may revert to SPC after certain scenes. Known scenes mostly involve the Coin Song and the Figaro theme.

One thing I failed to note in the readme is that the latest versions of snes9x support the MSU-1 natively! No more need to download a specific MSU-1 version of Snes9x.

Downloads!

Windows AMD64 (64-bit) (if you're not sure, this is what you want)

Windows i386 (32-bit)

Linux/OSX/etc.

5
Just wanted to pop in and give an update. With two exceptions listed on GitHub (look at issues under the tag "patch"), all known issues have been fixed. The shadow scene fix is the above mentioned imperfect fix, and I'll have to do more investigation to try and figure out why it's bugging out like that in the first place, but yeah, we're as close to bug free as we've ever been at this point, knock on wood.

The only thing in the way of Hotfix Three is more work on the installer, specifically a new page to support the various available versions of the opera, and then a round of testing both of the installer and the patch. I would expect Hotfix Three by the end of this month, maybe early next, but I don't do definite release dates. :P

My apologies for the slow work and relative silence of late. I uhh... let's simplify it and say I basically fell out of a tree. I sustained a minor compression fracture to one of my vertebrae and have been out of commision for a while. I'm still not totally healed, but I'm healed enough to do some work at least.

New "features" in Hotfix Three will be proper compatibility with patches that use ExHiROM, full tested compatibility with Brave New World, and the new opera selections, as well as an updated version of TWUE available in the installer.

6
Unfortunately the zone doctor pokery ended up not very fruitful. Only one map is *specifically* used just for a Shadow scene, and I didn't want to mess up the music in other scenes. So until I can figure out the cause of the game asking track 2a to be played at ff volume, we're just going to have to deal with the imperfect fix we've got for now.

7
Alright so, I went with the above fix (adding a line to set the song to $00 in the event code for all the shadow scenes).

It works, for the most part. You get about a frame worth of the song playing after the scene starts but it's silent otherwise. Also, the inn is silent after the scene finishes, but the music starts backs up when you leave the inn. So not a perfect fix by any means, but it's serviceable and it does the job, and I learned a lot about event scripting in the process, so yay.

I'm also going to do a bit of poking around in zone doctor because the current behavior noted above combined with how the event scripts look implies to me that it's the actual loading of the new map causing the weird song behavior, so maybe there's something I can do there too, to at least stop the 'frame worth of wrong music' problem.

8
So this is strange. I'm watching the sequence of events as far as SPC commands when Shadow's dream sequence happens, and it's doing this:

The player walks to the center of the beds, then the screen fades to black:
Command $81 (Fade) volume $00 (silence, should be handled properly by my new code as a mute)

All good so far, but then...
command $10 (play track) track $2a (kids run through the city corner) volume $ff (full volume)

command $18 (play sfx) track $ad (presumably the "wheeoowheeoowheeoo" sound present in shadow's first dream cutscnee) volume $80



So the event is *specifically* asking to play Kids Runs Through The City Corner at *full volume* *after* stopping/muting it. Except there's nothing in the event code that should be causing it to do that! So I don't know why, but that's the source of the issue right there.
I can confirm my current fix re: muting when called with 1300:$81/1302:$00 *does* work for every shadow dream cutscene *after* the first. It's just the first that first mutes then immediately asks to play the music again.

This is with dancing mad applied. I'm going to have to run through the same sequence with a stock ROM to see if it's somehow my code causing it to glitch like that, and if so, how.

EDIT: Talked with madsiur. I've been avoiding doing any mucking about with event code because I want to avoid conflicts with other patches, but it may be worth sticking a call to play Track 00 (silence) in the shadow dream sequences just to make sure this doesn't happen. He gave me pointers on where to start.

9
Two major bugs have just been fixed and their fixes merged to the Master branch, the Phantom Train bug and the Select a Scenario scene bug, both involving music playing when it shouldn't.
Unfortunately the Shadow cutscene bug is still at large, I'll have to prod that scene thoroughly with bsnes-plus's debugger to figure out exactly what's causing the anomalous behavior. This may take a while.

10
:/ Unfortunately, what I hoped would be a fix for the Shadow cutscene bug has turned out not to be. Back to the drawing board, I'm going to have to break down what's happening in this scene as far as SPC commands and see if I'm missing something.

11
Okay so, I was doing testing on a laptop and had a bunch of issues staying connected during the install. Because of this, I've decided I'm going to implement a system where each change to the song list is a new set of md5sums, which the installer checks the install directory against before downloading, so if the installer is interrupted or you're installing on top of a directory that already has all the songs you need in it, it can skip the ones it finds that match. It might make the initial loading time for the installer a little slower though.

12
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.

13
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 IPS from the train-and-fadeout-fixes branch to a clean ROM and replace your Dancing Mad ROM with it.

14
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.

15
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.

16
Sounds like a good plan, fork away! And no rush, as I said I'm pretty busy myself at the moment.

17
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.

18
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 :)

19
Were you running the i386 installer or the amd64 one?

Ehh, I'll just report both.

20
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.

21
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.

22
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!

Only a minor bug or two and the fading support in the way of a final release.

23
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.

24
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.

25
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.



Pages: [1] 2 3 ... 6