+  RHDN Forum Archive
|-+  Romhacking
| |-+  General Romhacking
| | |-+  Playing around with FF3us' SPC code
Pages: [1]
Author Topic: Playing around with FF3us' SPC code  (Read 967 times)
JCE3000GT
Guest
« on: July 25, 2006, 08:21:46 am »

And I thought I'd share what I've done.  You need a ROM with a header and it needs to be V1.0 as I've not tested these with V1.1 or FF6 (J).  Please note, if you decide to use either of these songs you will need to give me credit please, it took alot of work to find the SPC code in RS3 and Treasure Conflix and I don't want to have my work used without my permission.  So just do the right thing please if you want to use either of these. 

Replaces Battle music.  Don't get too excited it's just a 6 second fanfare.
http://www.blitzkrieg.finalconquest.net/supersecretpanda/rs3_spc_injection-by_jce3000gt.rar

Replaces the Prelude music. 
http://www.blitzkrieg.finalconquest.net/supersecretpanda/ff6-bstc_shrine_remix-by_JCE.rar

SPC dump of another song I did, sorry no IPS available to the public.
http://www.blitzkrieg.finalconquest.net/supersecretpanda/FF6-RS3_spc.rar

JCE3000GT
Guest
« Reply #1 on: July 27, 2006, 10:56:31 pm »

SPC dump of me taking The Decisive Battle from FF6 and injecting it into Chrono Trigger. 

http://www.blitzkrieg.finalconquest.net/supersecretpanda/ct-ff6_decisive_battle.rar

I'm not going to release the patch public yet until I get more feedback and when I'm satisfied that people actually care.   :?

Thoughts?

If this kind of thing doesn't interest anyone here then please delete this topic. 
Kitsune Sniper
Guest
« Reply #2 on: July 27, 2006, 11:13:06 pm »

Just because people don't reply doesn't mean they're not interested.
Ryusui
Guest
« Reply #3 on: July 27, 2006, 11:14:51 pm »

That's what's been keeping me going all this time.
creaothceann
Guest
« Reply #4 on: July 28, 2006, 12:46:03 am »

 Cheesy
Nightcrawler
Guest
« Reply #5 on: July 28, 2006, 07:55:41 am »

Have you considered writing a document on how you did this and/or publish some source code?

We really have a lack of documents having to do with sound hacking because few people know how to do it and those who do act in a similar fashion as yourself and seem to have no intentions of writing up anything.

We have a few documents about writing your OWN SPC700 code and generating some sound, but that's quite a bit different than finding and replacing existing tracks in a game.
JCE3000GT
Guest
« Reply #6 on: November 06, 2006, 02:16:14 am »

How about an update?  Here's a couple of additional tunes I did for fun.  And there's a special surprise at the end of the post.

FF6 Battle -> CT:
http://www.blitzkrieg.finalconquest.net/spc/ct_spc_remix_battletheme.rar

FF6 Blackjack -> CT:
http://www.blitzkrieg.finalconquest.net/spc/ct_spc_remix_blacjack.rar

BS Treasure Conflix Shrine -> FF6 (custom style):
http://www.blitzkrieg.finalconquest.net/spc/ff6_spc_remix_shrine.rar

The Day After (V2) FF6:
http://www.blitzkrieg.finalconquest.net/spc/ff6_spc_remix_thedayafterv2.rar

The Decisive Battle (V2) FF6:
http://www.blitzkrieg.finalconquest.net/spc/ff6_spc_remix_thedecisivebattlev2.rar

The Fierce Battle (Decisive Battle style) FF6:
http://www.blitzkrieg.finalconquest.net/spc/ff6_spc_remix_thefiercebattle.rar

The Decisive Battle with Romancing SaGa 3 Strings #1 injected into FF6:
http://www.blitzkrieg.finalconquest.net/spc/ff6_brr_rs3_strings1.rar

"special surprise"

Oh and just incase nobody knows I'm also working on this:




Doom127
Guest
« Reply #7 on: November 06, 2006, 03:16:32 am »

Whoa.

This thing could be incredibly useful...
Gemini
Guest
« Reply #8 on: November 06, 2006, 04:51:45 am »

WOAH! This is one of the best thing I have even seen! :O I wish I could do something like that in order to export FF4 music and import it into the psx version (which uses AD-PCM streamed files, so you cant load files while the music is playing >_>) using the same data for my reprogramming hack.
Nightcrawler
Guest
« Reply #9 on: November 06, 2006, 08:34:59 am »

JCE3000GT:

I assume this means you've deciphered the format the songs are stored in to be able to edit them? Do you have any notes or document on this? I've recently been doing SPC work myself and would be interested in such information.

Also, I've done a bit of work with instrument sample exporting and importing. One idea that would be neat would be a universal instrument export function. All of the SNES games instrument samples are ultimately in the same BRR format. It would be nice to have a utility that could export an instrument. That would include dumping associated BRR data as well as the loop start information. This way you could effectively take that and cut and paste into another ROM or homebrew application and get it to work doing nothing but changing a location in the APU instrument source pointer table.
MegaManJuno
Guest
« Reply #10 on: November 06, 2006, 02:51:08 pm »

Saw this over on ZMD as well, but I'll just post my reply here...

First of all, that's looks like a pretty nifty application you have going there.

Second, and this is just a question+suggestion of sorts, instead of hard-coding in an option-list of games, how feasible would it be to load this dynamically?

Say, for instance, you had a dropdown to select the game, and a defined file format that contained the specifics of that game.  If someone figures out the necessary info for a new game, they could then create a new definition file for it, which could then be downloaded and added to the app's directory (like a "plug-in" directory or something), to add support for that game to the app.  ...Or is it too complicated to support something like that?
Nightcrawler
Guest
« Reply #11 on: November 06, 2006, 03:46:49 pm »

Notice I only used the work 'export'. Exporting instruments form an SPC file from most games is easy to do. There is a table of instrument samples and then you can just dump the BRR data. Exporting them direct from the ROM is a bit harder because you'd have to work to determine where in the ROM they are. Doing it from an SPC file, all the information is already loaded in APU memory for you to extract.

As far as importing to use in a ROM. That's harder to automate. You need to access the APU program and be able to load that sample information somewhere that there is space in the APU RAM and then modify the sample source table.

This process could be very hard or not possible for some games depending on their usage of APU memory and space. If it is possible, it's going to probably be different for each game. BUT.. beyond simply coming up with how to fir that back in APU memory nicely, you'll need to get that in the ROM somehow so it will be loaded by the game to the APU memory.

If the space the instrument sample took up was the exact same as what you're replacing it with, you could do it easy, but I have yet to personally see any two that are.

In short, yeah, I think that's going to be complex to automate.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC