Welcome Guest [Log In] [Register]
Music Repointing and Adding.
Topic Started: Aug 18 2010, 12:39 AM (2,402 Views)
Dramz
No Avatar
Spastic Colon

Required: Music Hacking Experience

Falzar Music Adresses


The following guide is for a Falzar ROM, but the same techniques apply to Gregar.
I will post the Gregar Offsets in an update.

So, our starting point is oddly enough with battle hacking.
We know that the last piece of music is the Expo Theme, which has value 25
We also know that 081AB11C is the offset for the Expo Theme music data, thanks to Darkcross.

We also know that Music number 01 is the main theme, and has offset 0818EB20
So now, go to 08158400.
In a memory viewer, view in 32 bit and you will see a nice pointer to the Main Theme.
After that, you see 4 bytes, 00 1F 00 1F, and then another pointer, which is you look, points to music 02, the WWW theme. After that, the same, and the pointer to music 03…etc

So, if you keep scrolling down, we will find the Expo Theme. It's pointer is at 08158520.

After that, we can see the list continues, with 081592C8 being the pointer, which goes to blank music, all the way down to the start of the sound effects, which we know start at value 60.

These blank, unused music slots we can use for imported music, and/or edited music.

For this we need to repoint music.
In this guide we will repoint the expo music.

So go to 081AB11C, and we find the expected data. All we nee to dump is from that offset, to the last pointer that deals with channels…etc. In this case, we copy 1C bytes from 081AB11C, and import this at an expanded offset. Then go back to the first blank music pointer, at 08158528, and change the pointer to where your music dump file is imported.
You also need to replace the 00000000 that goes right after your music with what you see in the other normal music pointers. Add in the 00 1F 00 1F that goes
between each pointer.

Assuming you replaced the first blank song after the expo theme, hack a battle with the music that uses the next value after Expo's, which will be 26.
The music you added to the bottom of the ROM will play.

If you want a second song, replace the next pointer, and your value will be 27…etc


EXTRA:

Since we have our music repointed, we can do more with it than we could if we were editing the existing music.
Firstly, and most importantly, we can add channels. The GBA can actually play a maximum of 10 channels, so to do so, simply Write in a new channel pointer somewhere within the existing channel pointers (don't replace) an change the "Number of Used Channels" value to accommodate your new channel.

We can take this one step further, and repoint the individual channels themselves. Channel data has no pointers within itself, so it is reasonable simple to deal with.

Pick a song, and pick a channel. Go to the offset of the channel, that you can simply find by looking in the music data of the song which the channel is used.
For the guide, I will be taking a channel from the CyberBeast Battle Theme.

The Cyberbeast theme is located at 081A0280
I will be taking the 3rd channel. We can find that the offset of the 3rd channel is 0819D1B8. So from 0819D1B8, dump about 600 bytes, and import it at an expanded offset. From there, add in a channel pointer in your music that you wrote earlier at the bottom of the rom, that points to where you imported the channel dump.

The channel is now at an expanded location, and can be edited without affecting the main CyberBeast battle theme, which calls on the original channel.


I might as well post this here, I've found a couple more channel values, so you can hack the channel even more.

If you are opposed to labelled screenshots, I will type up notes in the "proper notation" later, but for now, view in 8-bit, or just use a hex editor:

Posted Image
http://img641.imageshack.us/img641/2530/channeldata.png

Editing the first 4 boxes is pretty straightforward.
For pitch, tone and speed, higher values make it faster/higher.
For instruments, different values correspond to different instruments.

As far as I can tell, there is no generic way of finding the Individual notes, just by looking at them, they aren't always that many bytes in. The do always finish just before the B0 B0 B0 B0 B0…etc

Editing these values seems to control the pitch of the note. They are placed in chronological order of the song, that is, the first byte will edit the first note, the second the second…etc
Setting individual notes to 00 makes them simply not appear.

There are likely more values that can be practically edited like the coloured boxes, but as of the moment they are unknown.

Any questions, comments, corrections, suggestions or hate mail, post in this topic.

Credit to DarkCross, Prof.9 and LuigiBlood for this.
Edited by Dramz, Aug 18 2010, 12:40 AM.
Profile
Quote
 
Prof. 9
Member Avatar
Moderaptor

This is so much easier if you use Sappy. All you have to do is export the music and re-import it at a different offset.

Also, the blue box should be instrument iirc, not the green one.
:ninja: Follow me on Twitter! :trap: Fork me on GitHub!
Posted Image
Profile
Quote
 
Zanerus
Member Avatar
Dedicated Member
Prof. 9
Aug 18 2010, 09:23 AM
This is so much easier if you use Sappy. All you have to do is export the music and re-import it at a different offset.

Also, the blue box should be instrument iirc, not the green one.
Ablon uses a MAC he cannot use Sappy.
Edited by Zanerus, Aug 18 2010, 09:26 AM.
Zane's poetry Hour here: http://s6.zetaboards.com/The_Rockman_EXE_Zone/topic/8752185/1/

AEZ Patch version 4 finally out: http://s6.zetaboards.com/The_Rockman_EXE_Zone/topic/8667690/1/

Chip hacker starters can find my notes here: http://s6.zetaboards.com/The_Rockman_EXE_Zone/topic/8685052/1/ PM me for any questions.

modding Guide Index can be found here: http://s6.zetaboards.com/The_Rockman_EXE_Zone/topic/8750547/1/

Insanity is simply silliness misunderstood.
Profile
Quote
 
ThyGamePlaya
Member Avatar
Fortune Fairy Reader
Also keep in mind that not everyone can use Sappy because their computer won't allow it.
Posted Image
Made by PreacherDudeRox. It looks AWE-SOME and DAZZ-LING!
(:l)O< <- That guy is ossim.
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Prof. 9
Aug 18 2010, 09:23 AM
This is so much easier if you use Sappy. All you have to do is export the music and re-import it at a different offset.

Also, the blue box should be instrument iirc, not the green one.
Only a small minority of people actually have access to Sappy, it only runs on one operating system of windows.

Are you certain about the instrument. I changed the green box and I made it came out as drums.
Profile
Quote
 
MegaRockEXE
Member Avatar
BN Guides Author

It makes sense. I was checking to see if you knew you could add music over blank spots. I'm planning on doing that. The way Sappy does it is kind of slow. Maybe I'm not doing right?
The Rockman EXE Zone | YouTube
Profile
Quote
 
ShadowRockZX
Member Avatar
TREZian
Hold on, I'm pretty sure DarkCross's guide already covers this... correct me if I'm wrong.
Profile
Quote
 
brianuuu
Member Avatar
SF Noise Spriter
ShadowRockZX
Aug 18 2010, 07:34 PM
Hold on, I'm pretty sure DarkCross's guide already covers this... correct me if I'm wrong.
Ablon add something like the pitch of the music.
As Megarock said, most of the values are in 8-bit form, but darkcross used 32-bit with memory viewer.
Posted ImagePosted ImagePosted Image
Posted Image
Profile
Quote
 
Kirak
Member Avatar
Annoying Dog
So the imported music needs to be .MIDI right? Or do you need to change it to GBA format?
Profile
Quote
 
ShadowRockZX
Member Avatar
TREZian
brianuuu
Aug 18 2010, 07:48 PM
ShadowRockZX
Aug 18 2010, 07:34 PM
Hold on, I'm pretty sure DarkCross's guide already covers this... correct me if I'm wrong.
Ablon add something like the pitch of the music.
As Megarock said, most of the values are in 8-bit form, but darkcross used 32-bit with memory viewer.
It's a little easier for me to understand in 32-bit rather than 8-bit for this kind of stuff, but that's just me.

Anyways, props to you Ablon lol.
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Darkcross didnt cover blank music slots, repointing and adding channels, Individual notes, and the instruments.
Profile
Quote
 
brianuuu
Member Avatar
SF Noise Spriter
ablon08
Aug 18 2010, 11:41 PM
Darkcross didnt cover blank music slots, repointing and adding channels, Individual notes, and the instruments.
If you say that....what do darkcross have? e.e offsets?
Posted ImagePosted ImagePosted Image
Posted Image
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Offsets, format of the music data (not channels) and some other stuff I didnt include because this isnt a music hacking guide, its a music adding guide.
Profile
Quote
 
ShadowRockZX
Member Avatar
TREZian
ablon08
Aug 19 2010, 12:39 AM
Offsets, format of the music data (not channels) and some other stuff I didnt include because this isnt a music hacking guide, its a music adding guide.
He covered music channel repointing, instruments, speed, and volume at the very least.
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

He did change of pointers, but he didnt repoint the music data itself, and expand channels.
Profile
Quote
 
ShadowRockZX
Member Avatar
TREZian
ablon08
Aug 19 2010, 01:07 PM
He did change of pointers, but he didnt repoint the music data itself, and expand channels.
Well true his guide is kinda old. Lots of new stuff has been discovered since then.
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

exactly why I made this
Profile
Quote
 
timaeus222
Member Avatar
The Tech Guy
DarkCross covered SOME stuff, but not in the way that it really was supposed to be like.

EX: He said he didn't know what the first offset was after A8140006 or similar. And it's the voicegroup offset that controls what instruments the song uses.

Also, like Prof. 9 said, yes, the blue box IS the instrument, for sure. The green box IMO is unknown at the moment.
Edited by timaeus222, Aug 21 2010, 10:17 AM.
~Timaeus~
Web Designer, Music Composer

"There's so much water under the bridge that the bridge is gone." ~ DarkeSword of OC ReMix

My Technical Services || MPCR Home Page || My Best Game Mods || Music YT Channel || Gaming YT Channel || My Guides || My Challenges
Posted Image
Posted Image
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Are you guys using 8-bit or 16-bit (o 32-bit)

Cause in 8-bit, Green box is instrument.
Profile
Quote
 
Mgamerz
Member Avatar
The ShoutBox King

Video of effects plz.
I run a Mass Effect 3 modding site named ME3Tweaks.com that details how to mod ME3 as well as showcasing mods for the multiplayer aspect of the game. I also developed a mod manager utility as well as an online mod creation tool named ModMaker.
Profile
Quote
 
1 user reading this topic (1 Guest and 0 Anonymous)
Go to Next Page
« Previous Topic · Guides & Research · Next Topic »