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

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