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:
If not... Know of any hacks that port over the extra content? hahaI 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.
# 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.
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.
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
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
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.
Good news!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).
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!
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
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.
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
I'm having an issue with the installer hanging hereIt'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.
http://imgur.com/a/Tg4lQ
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 :PI 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 :-[
EDIT: And up! Silly enough, apache had crashed.
My apologies, again, for the downtime.
YukiS: Unfortunately your mirror, as well as your pycurl binaries, appear to be down at the moment.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/
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.
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)
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...)
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.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.
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.
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!
*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.
ChrystalChameleon's "Final Fantasy VI Orchestrated" (will go under the abbreviation "CRC")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.
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.
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.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.
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.
Nice work on advancing the Beta to an almost final stage!Opened a new issue at: https://github.com/Insidious611/DancingMadFF6/issues/71
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
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.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.
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.
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?
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.
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).
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).
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).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
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
I was using avast free antivirus.Avast false-positive reported on GitHub:https://github.com/Insidious611/DancingMadFF6/issues/72
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
When I recruited Shadow in Cohlingen after Battle of Narshe, I slept straight away and the town music was still playing in the backgroundSpoiler: show
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.
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.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.
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.
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.
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.
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:
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.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)
* NOT A BUG
* Tracks do not smoothly fade. Implementing this requires precise NMI timing and is a continuing project. Contributions welcome.
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.
Always thought myself a purist when it comes to FF music, but Roses and Wine mod for FF8 converted me. If the remaster/remix/cover or whatever is done at a similar tempo&style to the original, it's surprisingly refreshing to hear the old melodies brought to life with whole new vigor. Anyways that's why I'm here, and I was wondering if there's a comprehensive listing of included music and different versions anywhere? There's alot of faithful-to-the-original arrangements online that I would love to see whether any of them have found their way onto this mod.
I've even gone so far as to take my favorite arrangement of the end boss battle and convert it and set loop points for this mod. I can't take credit for the music itself, this was arranged by someone named Sangnoksu. Link to the song can be found here: https://evergreen2.bandcamp.com/track/final-fantasy-vi-dancing-mad-symphonic-arrange (https://evergreen2.bandcamp.com/track/final-fantasy-vi-dancing-mad-symphonic-arrange). But I have done the work to be able to use it with the game and I am willing to share if people are interested.
Hi there, love the work and I'm excited to try it out.Sry for late reply, I only check here every few months. :-[
I'm having issues using the installer -- every time I run it it gets hung at 45% with the error "cURL Error: The requested URL returned error: 403"
I've edited the mirrors.dat to have the cloudfront server first, but I get the same error. It looks like all other mirrors no longer exist.
Would love to see this working!
And, insidious, to answer an earlier question you had, for the sake of preserving this for someone like me 5 or 10 years from now I think an offline installer would be a great idea.
Thanks!!
https://bigfuckin.rocks/ff6data/
https://domad.science/ff6data/
https://d9z02nz0xcifk.cloudfront.net/
https://most.conspicuous.network/ff6data/
most.conspicuous is still down, but there's hope for it to come back, so it's staying on the list at the bottom for now.Edit: Turns out my "fresh 1.0 file"... probably wasn't. It said it was, and the installer thought it was, but when I grabbed a verified rom from archive.org and tried patching it again, it worked fine. So if you're someone in the future coming across the same problem of crashing at the first battle... check your source rom one more time!Yea, that sounds like the bugs that happen when you apply the Ted Woolsey patch onto a US v1.1 ROM.
2) Have you seen the "Orchestral Fantasy" youtube channel? ( https://www.youtube.com/watch?v=T1FpelirPgQ&list=PL23xVb3fauVXHAR8k1ery3eQZrAYDkCIZ&index=1 ) This guy does FF6 live instrument covers that are incredibly accurate to the original OST, including an English voiced cover of Aria de Mezzo Carattere that's true to the original Woolsey text. He doesn't have the full soundtrack yet, but he does have a significant portion of it available. I'd love to use his versions where possible.
3) On that note, is there any way the installer could make use of your own MP3 / FLAC files instead of downloading from your server? That would future proof the project as well, and let anyone maintain it with new music as awesome fans make new covers.