Page 1 of 7

Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 9:06 am
by Ramsis
Hi there!

This re-implements smkdan's Chrono Trigger anime intro hack made back in 2011 for the "21fx", a SNES multimedia add-on which is known as the MSU1 nowadays. ;) I created this by disassembling smkdan's work (the sourcecode of which apparently got lost over the years) and making it compatible with the latest MSU1 specifications. :-)

Image

While making this patch, no less than four different emulators were used:
  • Geiger's Snes9x tracer v1.43ep9r8, for tracing the original boot routine in CT.
  • bsnes v058 debugger, which has 21fx support and allowed me to trace close to 99% of smkdan's code.
  • bsnes v071 debugger, which supports the MSU1 _and_ has a nice tracer as well.
  • higan v094, which is the latest software that supports the MSU1.
It took me a few hours to obtain a file of usable assembly code from the tracelogs. Routines and snippets had to be rearranged in order to restore the original program flow. The few remaining holes -- a couple of missing labels, data tables a tracer naturally omits, and even small bits of code that a branching path hadn't been taken to during tracing -- were filled in the hard way, i.e. by reading and context-based interpreting the corresponding section in the ROM using a hex editor.

Before I started to update smkdan's code, I made sure it assembled just fine, resulting in a byte-perfect copy of his original hacked ROM. This achieved, "porting" the hack to MSU1 was basically a piece of cake. :P One of the major challenges was to get bsnes v071 to cooperate by finding a suitable template XML file, which is needed for the emulator to actually enable MSU1 support. While the original MSU1 data file simply had to be renamed, the WAV file was converted to PCM using wav2msu.

The original implementation of the 21fx had the data port (and all of its control registers) sitting on the B-bus of the SNES, which required developers to buffer the streamed data in WRAM for DMA. In the course of the transition to the MSU1, ports and registers were thankfully relocated to the A-bus, allowing the data port to be used as a fixed source for DMA. (Fortunately, I had saved copies of nearly all 21fx/MSU1 documentation from byuu's website ...)

Initially, I didn't bother to eliminate the WRAM buffer. Later on, I decided to update the hack in that regard for the sake of simplicity and code readability. Also, the issue that users of sd2snes had to rename the PCM file is now resolved, and the hack should run on both sd2snes and higan out-of-the-box. :-)

So I hope you have just as much fun testing this out as I had disassembling and re-coding it. :D

Download (UPDATED Sept 28th):
http://manuloewe.de/snestuff/projects/c ... ro_msu1.7z (source is included)

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 9:43 am
by getafixx
Nice work! I'm going to have to give this a try on my SD2SNES :)

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 10:41 am
by kogami
Rhoo nice !!!

It had been years that I wait for this hack :beer:

Go and do it for all the video?

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 10:49 am
by Ramsis
Thank you two! :)
kogami wrote:Go and do it for all the video?
Who knows?! :lol:

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 11:53 am
by Khaz
Can't seem to get it to work. Neither higan v094 nor SD2SNES seems to just naturally pick up and apply the .bps on its own. I tried looking up "beat v01", all download links I found just point back to the page on byuu's site that no longer exists.

I did a bit more reading and I understand that basically everything that was on that site is now on indefinite hold / dead. But can we at least have the documents and download links to what did exist restored, or can somebody who has it re-host the whole collection somewhere? I promise I will never ask for another thing from byuu as long as I live, I just hate to see work that's already been done get lost and have to be re-done...

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 11:56 am
by Ramsis
Khaz wrote:Neither higan v094 nor SD2SNES seems to just naturally pick up and apply the .bps on its own. I tried looking up "beat v01", all download links I found just point back to the page on byuu's site that no longer exists.
http://www.romhacking.net/utilities/893/ :wink:

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 12:09 pm
by Khaz
I'm just not very good at searching lately... Thanks again!

The video plays just fine now and it looks great! The FMV audio only seems to work in higan though, not on the SD2SNES...

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 12:21 pm
by Ramsis
Khaz wrote:The video plays just fine now and it looks great! The FMV audio only seems to work in higan though, not on the SD2SNES...
Thank you too, I'll look into this once I get home ... :)

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 1:24 pm
by Near
Oooh, awesome! Thanks for making this! Chrono Trigger's always been one of my favorite demos for the idea, so it was pretty disappointing to lose it.

I also really liked the 21fx name a lot more than MSU1 too, but as I'm sure you're aware ... that WRAM buffering thing really got in the way. Chrono Trigger apparently had the spare space, but a lot of games aren't going to let you pack a whole image frame (~40KB) into WRAM like that.

I've been wanting to do this for Der Langrisser for a while (it has an amazing real-instrument OST, and the PC-FX version has nice FMV), but time constraints, laziness and difficulty making it work with both English and Japanese versions has gotten in the way.

> But can we at least have the documents and download links to what did exist restored

I'll get to it eventually. I can't build new releases at the moment due to toolkit changes, but I've got the old releases archived somewhere ...

All of that boundless energy to accomplish things dried up in my 30s, I'm afraid. "The candle that burns brightest" or something, I suppose?

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 3:17 pm
by Khaz
byuu wrote:I'll get to it eventually. I can't build new releases at the moment due to toolkit changes, but I've got the old releases archived somewhere ...

All of that boundless energy to accomplish things dried up in my 30s, I'm afraid. "The candle that burns brightest" or something, I suppose?
I appreciate that, and I hope I haven't sounded like I've taken your work for granted. I owe you quite a debt for making the things I've been doing lately possible.

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 5:55 pm
by Near
> I hope I haven't sounded like I've taken your work for granted.

Not at all. I'm the one that pushed people to try and use formats like BPS and game folders, and tools like bass and mosaic.

It's inexcusable how lax I've been with providing the proper tooling for people to do so; and shameful that after 10.5 years, I still don't even have a finished debugger. Not to mention all the people waiting on FEoEZ, most of all the translator himself.

I'm totally deserving of actual scorn (which you didn't do.) I took on way more work than a person of my abilities could manage, and then I completely burned out, so now the problem's a dozen times worse than before.

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Tue Apr 21, 2015 6:25 pm
by Drew Sebastino
Do you not do anything SNES related at this point?

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Wed Apr 22, 2015 12:10 am
by MottZilla
byuu wrote: I've been wanting to do this for Der Langrisser for a while (it has an amazing real-instrument OST, and the PC-FX version has nice FMV), but time constraints, laziness and difficulty making it work with both English and Japanese versions has gotten in the way.
I'm still hoping to see this. It'd probably make me actually invest in a SD2SNES cartridge. Although I'm just happy Der Langrisser has such an awesome translation available at all. Coincidentally I just started playing it again these past couple days.

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Wed Apr 22, 2015 2:31 am
by Ramsis
Khaz wrote:The FMV audio only seems to work in higan though, not on the SD2SNES...
Please try renaming ct_msu1.pcm to ct_msu1-0.pcm -- I still haven't been able to test it on my sd2snes myself, but I'm pretty sure the filename's the issue here. :wink:
byuu wrote:Oooh, awesome! Thanks for making this! Chrono Trigger's always been one of my favorite demos for the idea, so it was pretty disappointing to lose it.
Glad you like it. :D
byuu wrote:I also really liked the 21fx name a lot more than MSU1 too, but as I'm sure you're aware ... that WRAM buffering thing really got in the way. Chrono Trigger apparently had the spare space, but a lot of games aren't going to let you pack a whole image frame (~40KB) into WRAM like that.
True. Actually, I might have to rework the hack in that regard anyway rather soon ... :wink:

Re: Finally on MSU1: Chrono Trigger with anime intro ;-)

Posted: Wed Apr 22, 2015 6:00 am
by Near
Espozo wrote:Do you not do anything SNES related at this point?
Sadly, I haven't done anything to the core emulation since January 2014.
I'm still hoping to see this. It'd probably make me actually invest in a SD2SNES cartridge.
I did make the CD-audio patch a long time ago. And it works really well.

For those who haven't heard it, dare to compare:
SNES: https://www.youtube.com/watch?v=NRnwoalthsw
OST: https://www.youtube.com/watch?v=U31qv60ZMIQ
True. Actually, I might have to rework the hack in that regard anyway rather soon ...
Oooooh, exciting! :D