• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Serena, Kris, Dawn, Red - which Pokémon protagonist is your favorite? Let us know by voting in our grand final favorite protagonist poll!
  • PokéCommunity supports the Stop Killing Games movement. If you're a resident of the UK or EU, consider signing one of the petitions to stop publishers from destroying games. Click here for more information!
  • 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.

[ASM & Hex] Changing SFX ID Hidden Item Fire Red

  • 47
    Posts
    12
    Years
    • Seen Apr 22, 2025
    I don't suppose this has been asked as of yet as I cannot locate any such thread: Does anyone know the address for which the fanfare for finding a hidden item is in Fire Red upon finding said item? It seems to share the same ID# as finding a regular item but changing the value in that routine for a regular item does not affect hidden items (implying that though they share the same ID value, they are separate routine calls). So, any help would be appreciated, thanks.

    I'm not looking to create new SFXs, merely to change the ID value for hidden items to something else. Thanks.
     

    Thanks, that is kind of what I was looking for except I was wrong. Regular items and hidden items share the same address for the song ID (value 101). Is there a way to make hidden items call a different song ID instead of sharing the address with regular items? So, in the end, I'd have regular items having an ID apart from hidden items. Thanks.
     
    Thanks, that is kind of what I was looking for except I was wrong. Regular items and hidden items share the same address for the song ID (value 101). Is there a way to make hidden items call a different song ID instead of sharing the address with regular items? So, in the end, I'd have regular items having an ID apart from hidden items. Thanks.

    You would probably have to rewrite the routine for it and I can't help you there.
     
    You would probably have to rewrite the routine for it and I can't help you there.

    Thanks for trying. My goal here was to use a separate theme for finding items like in R/B/Y (which I was able to do thanks to your link). But I was also hoping to use ID 0x103 for finding hidden items, just like how R/B/Y uses something like that one. It is similar to when a Pokemon is finished evolving and that final jingle after the evolution music plays, if that makes sense. Thanks again for your help.
     
    Thanks for trying. My goal here was to use a separate theme for finding items like in R/B/Y (which I was able to do thanks to your link). But I was also hoping to use ID 0x103 for finding hidden items, just like how R/B/Y uses something like that one. It is similar to when a Pokemon is finished evolving and that final jingle after the evolution music plays, if that makes sense. Thanks again for your help.

    You could use a debugger and put a breakpoint on fanfare_play (0x08071C60) and see where it's called from, then change the assembly there to your liking.
     
    You could use a debugger and put a breakpoint on fanfare_play (0x08071C60) and see where it's called from, then change the assembly there to your liking.

    Well, this is a good start but can you be a little more specific, please? Which debuggers are available for GBA? I tried no$GBA but I can't seem to find the debugger. Also, when I find a good debugger, what type of breakpoint should I use? A read, correct?
     
    Well, this is a good start but can you be a little more specific, please? Which debuggers are available for GBA? I tried no$GBA but I can't seem to find the debugger. Also, when I find a good debugger, what type of breakpoint should I use? A read, correct?

    In this case you would use a thumb breakpoint. A break on read is used if you want to find when a piece of data you specified is loaded into a register, a thumb breakpoint is used if you want to find out when it runs the specific function you put a breakpoint on.
    I recommend VBA-SDL-H, it's the one I use: https://www.romhacking.net/utilities/297/
     
    Back
    Top