11 March 2016 - Forum Rules

Main Menu

CT Sound Hacking

Started by Zakyrus, January 16, 2011, 07:00:32 PM

Previous topic - Next topic


I've been messing around with ChronoTrigger ROM for a while now. Some of you may know me as the author of CT+ Unlimited. (a CT ROM hack that exponentially doubles the size of the game, adding MANY new cutscenes, verbose dialog and many, MANY other changes) Yeah, I know messing with CT is taboo nowadays. But for educational purposes in learning how a cart works, I have a few questions, particularly with sounds...

First I'll briefly discuss what I've been working with...

07430B 07470A PTR N
"Pointers (ARAM) to Sound Effects, 2 pointers each" 2006.12.20

07470A - 07430B = 3FF /2 = 1FF(511)

Sound Effect number*4+07430B
(Effect value * 4 (for the two pointers) and + to the starting address)

^ That's just the formulae for the pointers themselves...

In messing with the pointers and changing them to other values, it seems like you can "mix" sounds...!  ;)

Sometimes you get a "tone" that repeats, other times it seems sounds mix with other sounds.... by experimenting and a vast amount of patience, you might get lucky and come up with something really cool!

0744B7 change 09 38 1A 38 into 11 38 1A 38
Turns Evil Laugh into a interesting and cool "Light Siren" sound that oscillates 4 times and only plays once. ( not looping )

09 38 BD 3F - darker laugh
Mixes {6B} Evil Laugh and {B1} Laughing... sounds 'darker' than the original.
I was attempting to make a more sinister laugh to use with Magus. If I cannot find a better combination, it'll have to do until I figure out how to import sounds from other games (like Shao Kahn's laugh from Mortal Kombat).

A7 3F BD 31 gives an array of tones, sounds musical and was quite amusing --could be used for some computer scene

Seems like it's taking two pointers and combining them together. This really is winging it and hoping for something that works; seeing as I'm just mixing pointers around...but hey, something really cool nonetheless.

Other things I want to try:

Making a male NPC scream and making the normal NPC scream more feminine.
Turing Ozzie Falling into a long female scream
Mixing laugh and Lavos scream and try to make some crazy alien laughter

I'll keep messing around, and post more results here!  ;D
This is pretty damn exciting!

If you attempt to join in on the fun, I recommend you replace "00 Cursor Selection" for your testing so you can use the main menu to test--as you have to reset the game and load from the menu anyways (save states won't work due to the ram dump or whatever, but game saves will)

Anyways, I've been using TemporalFlux mostly and have mastered the Event Editor.
However, my hex skillz are lacking as I've been putting that stuff off until much later.

I still have no clue how the pointer actually goes to the sounds.

Example: {00} "Cursor selection" starting at 07430B is 00 33 00 00
Remember there's two pointers for each sound so it is 00 33, and another pointer 00 00 (blank in this case)

I think there's something about reversing it, so 3300......? :banghead:

How/where does that fit into this:

07470B 075B0A DATA N Sound Effects 2006.12.20

In other words, how do I find in hex, the origin of the data the pointer is leading to... ( so if I know the offsets under the pointers, I can acquire the hex begin/end data of the sound and replace with other sounds, etc)

If someone can help me out on that bit, I'd totally appreciate it.  8)



07470B 075B0A DATA N Sound Effects 2006.12.20 - This is copied into ARAM address 3300 around power on (before the pendulum appears), and the pointers refer to that.
Mauron wuz here.


Maybe you should read this thread about my findings on Squaresoft's SNES sound engines too  :)

syntax error

How nice, a surviving artist from Kajar Laboratories stranded here!