• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Other✓] Fire Red Music IDs (AND EXPLANATIONS)

476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
In the beginning, there was darkness. Then Arceus said , "ok these ppl need the music ids" and this thread was born.

And it was darn near useless for people who wanted to use the unused RSE music in their hacks.

So I went through, using a Wild Encounter script, testing most of the ambiguous music (Like "Battle1", "Battle2", etc) to see just what they are. Here's a list of all of the music and my findings. (The names and IDs are all from the other thread, however, all I did was plug them in to the game to test them and clear some confusion)

0x105 = Healing (RS) (Distinctly sounds nothing like when Pok?mon Center heals your stuff)
0x106 = Level Up
0x107 = Evolution Start
0x108 = Evolution/Safari
0x109 = Battle 1 (It's the RSE Gym Leader theme)
0x10A = Battle 2 (I believe this is the regular Trainer theme in RSE)
0x10B = Unknown/Not listed in Sappy (It's some cheery tune, calling it a polar opposite of Lavender Town sums it up nicely)
0x10C = Fanfare 1 (these are like whne you beat a trainer or smth. I don't know where most of these are used, if they are used.)
0x10D = Fanfare 2
0x10E = You Fail It!
0x10F = You Fail It Again!
0x110 = Follow Me
0x111 = Game Corner
0x112 = Evil Lurks
0x113 = Gym
0x114 = Jigglypuff's Song
0x115 = Introduction
0x116 = Pokemon Theme
0x117 = Cinnabar Island
0x118 = Lavender Town (Sounds hilarious when you're battling Mew with it)
0x119 = Healing (The GB version of the Pok?mon Center heal theme)
0x11A = Bicycle
0x11B = Encounter 1 (The "Encounter" themes are when a trainer walks up to you. I don't know which one is for which class.)
0x11C = Encounter 2
0x11D = Encounter 3
0x11E = You're In The Hall of Fame!
0x11F = Viridian Forest
0x120 = Mount Moon
0x121 = Abandoned Place
0x122 = End Credits
0x123 = Route Theme 1
0x124 = Route Theme 2/Intro
0x125 = Route Theme 3
0x126 = Route Theme 4
0x127 = Indigo Plateau
0x128 = Battle 3 (FRLG Gym Leader theme)
0x129 = Battle 4 (Generic trainer theme)
0x12A = Battle 5 (Wild Pok?mon FRLG)
0x12B = Battle 6 (FRLG Champion theme)
0x12C = Pallet Town
0x12D = Oak's Lab
0x12E = Oak's Theme
0x12F = Pokemon Center
0x130 = SS Anne
0x131 = Surf's Up
0x132 = Pokemon Tower
0x133 = Silph Co.
0x134 = Cerulean City
0x135 = Celadon City
0x136 = Victory 1
0x137 = Victory 2
0x138 = Victory 3
0x139 = Vermillion City
0x13A = Viridian City and Pewter City
0x13B = Gary's Theme
0x13C = Gary's Theme (bis)
0x13D = Fanfare 3
0x13E = Fanfare 4
0x13F = You caught a Pokemon!
0x140 = Trainer Card Photo
0x141 = Gamefreak
0x142 = Victory 2 (bis)
0x143 = Intro Message 1
0x144 = Intro Message 2
0x145 = Intro Message 3
0x146 = Game Corner (+1)
0x147 = Game Corner (+2)
0x148 = Net Corner
0x149 = Mystery Connection
0x14A = Game Corner (+3)
0x14B = Mount Ember
0x14C = Follow Me (alt)
0x14D = Water Labyrinth
0x14E = Tanoby Ruins
0x14F = Islands 1-3
0x150 = Islands 4-5
0x151 = Islands 6-7(AKA Violet City Theme from GSC)
0x152 = PokeFlute
0x153 = Battle - Deoxys
0x154 = Battle 5 (+1) (The +'s are octave increases. This one is the notes of Mew's Emerald theme but it's still the generic Wild Pok?mon theme.)
0x155 = Battle 5 (+2) (Another octave higher - Just sounds like a higher-pitched verison of Mew's Emerald theme.)
0x156 = Encounter 4
0x157 = Deoxys Encounter
0x158 = Trainer Tower
0x159 = Pallet Town (fame mix) (For Undertale fans that haven't hear this version yet, think of the music in your Genocide run, but higher-pitched. If that makes any kind of sense lol)
0x15A = Teachy TV
 
Last edited:

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
So these are the themes and offsets of each of them, but how would I be able to use these with script? Is there a specific flag or command that uses the music ID to play that music in battle? Yeah, the most I know so far with music hacking is inserting music files using Sappy and .s files, as well as finding voice groups for the various themes. :D
 
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
So these are the themes and offsets of each of them, but how would I be able to use these with script? Is there a specific flag or command that uses the music ID to play that music in battle? Yeah, the most I know so far with music hacking is inserting music files using Sappy and .s files, as well as finding voice groups for the various themes. :D

*facepalm* I literally said in the title that these are the IDs. 0x means that the number is in hexadecimal.
 

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
*facepalm* I literally said in the title that these are the IDs. 0x means that the number is in hexadecimal.

I'm sorry, I'm not the best at hacking, heheh... I'm not too good at scripting (I can do basic talking to player scripts) and I'm still learning about all this stuff that is ROM hacking, I started a few months ago, I like it, but I need to learn about the ASM routes and scripting so that I have a broader idea of what I'm doing, and how I can make that into my own creation and ideas. If I don't know how to do any of this, I'll learn then, and I'm ready to learn. :D Sorry if I have angered you.
 
Last edited:

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
Ok, I get that these offsets/IDs given are in hexadecimal, and the number after '0x' is the value of the music that is played, but how do I make a script using this? I can't script for the life of me, is it a wild battle script, which utilises the IDs with another command? (I don't know, 'play music' then the offset, e.g. 0x110) :D
 

SacredZygarde907

Hello Pokelovers!
3
Posts
5
Years
  • Age 20
  • Seen Aug 25, 2018
Hello Friends! I'm new in poke community,well, I'm not so
good at hacking so I hope you can help me
 
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
Ok, I get that these offsets/IDs given are in hexadecimal, and the number after '0x' is the value of the music that is played, but how do I make a script using this? I can't script for the life of me, is it a wild battle script, which utilizes the IDs with another command? (I don't know, 'play music' then the offset, e.g. 0x110) :D

It can be used in any script because any script can use any command. As far as wild battles or whatever, it depends on what music you wish to use, and what you want to use it for. Keep in mind that these IDs are also used in AdvanceMap (however, they seem to be named in French, using French versions of the Sappy names, which is one big reason I made this thread better explaining what everything is.) As long as your script is a valid one, you can use these with the playsong command, and it will just work.
 
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
Hello Friends! I'm new in poke community,well, I'm not so
good at hacking so I hope you can help me

Can you guys take this somewhere else? It's kind of random and a bit spammy to have that kind of message show up randomly in the middle of a thread.
 

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
It can be used in any script because any script can use any command. As far as wild battles or whatever, it depends on what music you wish to use, and what you want to use it for. Keep in mind that these IDs are also used in AdvanceMap (however, they seem to be named in French, using French versions of the Sappy names, which is one big reason I made this thread better explaining what everything is.) As long as your script is a valid one, you can use these with the playsong command, and it will just work.

Ok, I tried some script, but what line would I put the playsong command? I wanted to do the champion theme, so would that be 'playsong 0x12B'? Here is the script I used.

#dynamic 0x800000

#org @start
lock
faceplayer
cry 0x12 0x0
msgbox @roar 0x6
waitcry
wildbattle 0x12 0xA 0xCA
playsong
fadescreen 0x0
hidesprite 0x800F
fadescreen 0x1
setflag 0x300
release
end

#org @roar
= ...
 
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
Ok, I tried some script, but what line would I put the playsong command? I wanted to do the champion theme, so would that be 'playsong 0x12B'? Here is the script I used.

Spoiler:

I think you'd swap the playsong and wildbattle commands, but I'm not 100% sure.

Here's a script I wrote some weeks ago that works (with glitches but get the music right)

Code:
'---------------
#dynamic 0x800000
#org @start
lock
faceplayer
checkflag 0x1213
if 0x0 goto @encounter_mew
msgbox @encountered 0xA1 '"You've already earned my trust,\n[..."
release
end

'---------------
#org @encounter_mew
cry 151 0x0
msgbox @fight_me_bitch MSG_NORMAL '"Myuuu!!"
setwildbattle 151 13 0xC8
special 0x138
playsong 0x154 0x0
setflag 0x1213
release
end


'---------
' Strings
'---------
#org @encountered
= You've already earned my trust,\n[player]. No need for more fighting!

#org @fight_me_bitch
= Myuuu!!

The Special command is necessary to make the music work, but I have no clue what it does. This script has a glitch where if you catch the Pokémon, the battle restarts with a copy of the Pokémon as it was when you caught it (so if it's an OP legendary, you can use the legendary to weaken itself further if you want to catch it twice in a row. LOL)
 

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
I think you'd swap the playsong and wildbattle commands, but I'm not 100% sure.

Here's a script I wrote some weeks ago that works (with glitches but get the music right)

Code:
'---------------
#dynamic 0x800000
#org @start
lock
faceplayer
checkflag 0x1213
if 0x0 goto @encounter_mew
msgbox @encountered 0xA1 '"You've already earned my trust,\n[..."
release
end

'---------------
#org @encounter_mew
cry 151 0x0
msgbox @fight_me_rattata MSG_NORMAL '"Myuuu!!"
setwildbattle 151 13 0xC8
special 0x138
playsong 0x154 0x0
setflag 0x1213
release
end


'---------
' Strings
'---------
#org @encountered
= You've already earned my trust,\n[player]. No need for more fighting!

#org @fight_me_rattata
= Myuuu!!

The Special command is necessary to make the music work, but I have no clue what it does. This script has a glitch where if you catch the Pokémon, the battle restarts with a copy of the Pokémon as it was when you caught it (so if it's an OP legendary, you can use the legendary to weaken itself further if you want to catch it twice in a row. LOL)

I tried swapping the play song first, but the music never changed, so this time, I'm going to try use a special instead. :D

(edit: I used the special you had used, I put it after I had did the playsong command, after that, the wild battle command, the music hadn't changed, but the battle intro when a Pokemon is encountered had changed, and then the game crashed. :D
 
Last edited:
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
I tried swapping the play song first, but the music never changed, so this time, I'm going to try use a special instead. :D

(edit: I used the special you had used, I put it after I had did the playsong command, after that, the wild battle command, the music hadn't changed, but the battle intro when a Pokemon is encountered had changed, and then the game crashed. :D

Then maybe don't put it in that order? It was probably also an issue with an ID in the wildbattle command.
 

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
Then maybe don't put it in that order? It was probably also an issue with an ID in the wildbattle command.

This time, I tried the battle setup you did for your script, I battled the Pidgeot I set as a wildbattle, and I killed it (I had a Pokemon for my game at lv 99 as a starter), the music worked, but only on the second battle, and Pidgeot had no HP for some reason, I went to click a move, and the Pidgeot gave me EXP without using a move. The music worked, so that's one step closer I guess. :D

(edit: I ran away from the Pidgeot, and the battle music had started once I ran away with a second battle, the Pidgeot having full HP as well, and functioned normally.)
 
Last edited:
476
Posts
6
Years
  • Age 23
  • Seen Feb 26, 2020
This time, I tried the battle setup you did for your script, I battled the Pidgeot I set as a wildbattle, and I killed it (I had a Pokemon for my game at lv 99 as a starter), the music worked, but only on the second battle, and Pidgeot had no HP for some reason, I went to click a move, and the Pidgeot gave me EXP without using a move. The music worked, so that's one step closer I guess. :D

(edit: I ran away from the Pidgeot, and the battle music had started once I ran away with a second battle, the Pidgeot having full HP as well, and functioned normally.)

That's all of the glitches I mentioned already, actually. I really have no clue how to bypass it.
 

Ace Trainer Slash

If you give me about two hours, I can make scripts
236
Posts
5
Years
That's all of the glitches I mentioned already, actually. I really have no clue how to bypass it.

Well, despite this, you have furthered me in the knowledge of using unique music for Pokemon encounters, and I can build upon this, in order to find out how this script can be done with no error, and hopefully (eventually) we can find the cause for this error and fix it. :D Thankyou for helping me, once again :)
 
Last edited:
37
Posts
5
Years
  • Age 26
  • Seen Jun 1, 2022
Thank you!

Much needed resource as I begin replacing all of the music in my hack :)

I'm tempted to make an updated Hacked XSE that has more set variables... would be great to be able to type

playsong victory1

alongside a variety of other easy variables that would speed it up and make it easier for the non-cody folk!
 
Back
Top