It is currently Tue Oct 17, 2017 3:05 pm

All times are UTC - 7 hours



Forum rules


Related:



Post new topic Reply to topic  [ 100 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next
Author Message
PostPosted: Tue Apr 21, 2015 9:06 am 
Offline
User avatar

Joined: Sun Jul 01, 2012 6:44 am
Posts: 337
Location: Lion's den :3
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/ct_anime_intro_msu1.7z (source is included)

_________________
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)


Last edited by Ramsis on Mon Sep 28, 2015 9:16 am, edited 2 times in total.

Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 9:43 am 
Offline
User avatar

Joined: Tue Dec 04, 2012 3:28 pm
Posts: 337
Location: Canada
Nice work! I'm going to have to give this a try on my SD2SNES :)


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 10:41 am 
Offline

Joined: Thu Jan 28, 2010 3:05 am
Posts: 14
Rhoo nice !!!

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

Go and do it for all the video?


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 10:49 am 
Offline
User avatar

Joined: Sun Jul 01, 2012 6:44 am
Posts: 337
Location: Lion's den :3
Thank you two! :)

kogami wrote:
Go and do it for all the video?

Who knows?! :lol:

_________________
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 11:53 am 
Offline
User avatar

Joined: Thu Dec 25, 2014 10:26 pm
Posts: 309
Location: Canada
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...


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 11:56 am 
Offline
User avatar

Joined: Sun Jul 01, 2012 6:44 am
Posts: 337
Location: Lion's den :3
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:

_________________
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 12:09 pm 
Offline
User avatar

Joined: Thu Dec 25, 2014 10:26 pm
Posts: 309
Location: Canada
Ramsis wrote:

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


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 12:21 pm 
Offline
User avatar

Joined: Sun Jul 01, 2012 6:44 am
Posts: 337
Location: Lion's den :3
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 ... :)

_________________
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 1:24 pm 
Offline

Joined: Mon Mar 27, 2006 5:23 pm
Posts: 1338
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?


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 3:17 pm 
Offline
User avatar

Joined: Thu Dec 25, 2014 10:26 pm
Posts: 309
Location: Canada
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.


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 5:55 pm 
Offline

Joined: Mon Mar 27, 2006 5:23 pm
Posts: 1338
> 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.


Top
 Profile  
 
PostPosted: Tue Apr 21, 2015 6:25 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3071
Location: Nacogdoches, Texas
Do you not do anything SNES related at this point?


Top
 Profile  
 
PostPosted: Wed Apr 22, 2015 12:10 am 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2799
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.


Top
 Profile  
 
PostPosted: Wed Apr 22, 2015 2:31 am 
Offline
User avatar

Joined: Sun Jul 01, 2012 6:44 am
Posts: 337
Location: Lion's den :3
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:

_________________
Some of my projects:
Furry RPG!
Unofficial SNES PowerPak firmware
(See my GitHub profile for more)


Top
 Profile  
 
PostPosted: Wed Apr 22, 2015 6:00 am 
Offline

Joined: Mon Mar 27, 2006 5:23 pm
Posts: 1338
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.

Quote:
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

Quote:
True. Actually, I might have to rework the hack in that regard anyway rather soon ...


Oooooh, exciting! :D


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 100 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: HihiDanni and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group