1
Misc Audio / [FF6] [OPEN BETA] Dancing Mad - FF6 Audio Replacement using MSU-1
« on: 2015-04-19 04:30:20 »
So, I was rather inspired by DLPB's soundtrack mods for FF7, and FF8, by this 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...
PLEASE NOTE THIS FIRST POST NEEDS UPDATING
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
Development occurs on my GitHub, which is here
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. 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 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.
2019-01-06
Dancing Mad is currently working and mostly feature-complete on Japanese, and US V1.0 and V1.1 ROMs. madsiur is still working on fading code.
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!
Very Old Alpha
https://www.youtube.com/watch?v=4WHT98HBgpE
First working proof of concept
https://www.youtube.com/watch?v=vKgSqG2Tbfc
So without further ado...
PLEASE NOTE THIS FIRST POST NEEDS UPDATING
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
Development occurs on my GitHub, which is here
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. 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 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.
2019-01-06
Dancing Mad is currently working and mostly feature-complete on Japanese, and US V1.0 and V1.1 ROMs. madsiur is still working on fading code.
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!
Very Old Alpha
https://www.youtube.com/watch?v=4WHT98HBgpE
First working proof of concept
https://www.youtube.com/watch?v=vKgSqG2Tbfc