• 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] Finding free (I)RAM spaces for 16 midi channels

15
Posts
9
Years
    • Seen Oct 22, 2021
    Recently, I started doing some music hacking, and tried to expand the midi channel limit from 10 to 16.
    The problem is that since the music engine must handle 6 more tracks, I must re-point the pointer to larger free space in the RAM for the handler. Otherwise, it would overwrite bytes adjacent to the handler, causing some weird glitches.
    Specifically, the handler would take 0x50 * 0x10 = 0x500 bytes. I need to find such free space in RAM that doesn't get overwritten by some other routines at any time.
    I found some RAM addresses that might be safe to use, by looking at the Memory viewer in emulator, but it seems that none of them worked. Some just crashes the game, some just glitches the music engine, making some sound never fade out. All of the RAM spaces that I used was in IRAM.

    So, the question is: Is there any way to find 0x500 bytes of freespaces in RAM without staring at the Memory viewer?

    By the way, the ROM I'm using is plain Emerald English version.

    Thanks!
     
    Back
    Top