Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Reply
 
Thread Tools
  #1    
Old March 9th, 2016 (10:53 PM). Edited February 9th, 2018 by Skeli-.
Skeli-'s Avatar
Skeli- Skeli- is offline
Lord of the Rings
     
    Join Date: Apr 2014
    Location: Canada
    Age: 20
    Gender: Male
    Nature: Adamant
    Posts: 193
    Introduction

    Hello everyone! This is my first tutorial so I hope it's easy to understand.
    I'm writing this tutorial based on another thread I read the other day by ipatix for his High Quality Sound Mixer. It didn't seem so clear to me as it was meant to be a development post rather than a tutorial, so I thought I'd make it easier for everyone in the future.

    PLEASE NOTE: The offsets provided in this tutorial, only apply to an English Fire Red (BPRE). If you want offsets for an English or German Fire Red, Leaf Green, or Emerald, they are all in the original post.

    WARNING: If you assemble this code, be aware that any previously saved states will no longer be openable in your Rom. Only in-game saves will be still be functionable.

    Also make sure to disable the help menu by changing the button mode from 'help' to to 'LR' in the options, or the game will freeze. Another way to do this is by placing 1D E0 at 0x13B8C2.


    I'm not allowed to post an actual link yet, but you can follow this to the original thread by ipatix: pokecommunity.com/showthread.php?t=324673

    Requirements
    You will need the following:
    - A Hex Editor (preferably HxD)
    - Visual Boy Advance
    - A Basic Understanding of Hex Editing

    Actual Tutorial

    Step 1:
    Spoiler:
    The first thing you need to do is do a paste write (not paste insert) of the following code into your Rom at any offset with 0xB24 (2852 in decimal) free bytes:
    Code:
    43 79 9B 08 40 D0 01 A1 08 47 C0 46 02 00 54 E3 35 7E 80 02 08 70 85 10 08 40 A0 E1 03 38 83 E1 00 41 2D E9 60 E1 9F E5 D6 00 95 E1 D1 10 D5 E0 D6 20 97 E1 D1 80 D7 E0 D6 90 95 E1 D1 A0 D5 E0 D6 B0 97 E1 D1 C0 D7 E0 01 00 80 E0 02 00 80 E0 08 00 90 E0 04 00 80 42 0A 10 89 E0 0B 10 81 E0 0C 10 91 E0 04 10 81 42 93 00 00 E0 93 01 01 E0 03 00 AE E8 02 40 54 E2 EA FF FF CA 00 41 BD E8 27 00 8F E2 10 FF 2F E1 40 4B 41 46 00 24 00 25 00 26 00 27 C9 08 00 D3 F0 C3 49 08 01 D3 F0 C3 F0 C3 F0 C3 F0 C3 F0 C3 F0 C3 01 39 F9 DC 44 46 37 A0 04 60 06 9C A0 69 84 46 A0 79 50 34 01 90 63 6A 26 78 C7 20 30 42 1D D0 70 06 12 D3 18 D4 03 26 18 1C 10 30 A1 69 40 18 A0 62 D8 68 40 1A A0 61 00 25 65 72 E5 61 DA 78 90 09 2A D0 10 20 06 43 27 E0 65 7A 70 07 06 D5 60 7B 01 38 60 73 27 D8 00 20 20 70 89 E2 70 06 0C D5 E0 79 45 43 2D 0A 02 D0 20 7B 85 42 1B D8 25 7B 00 2D F0 D0 04 20 06 43 14 E0 03 22 32 40 02 2A 08 D1 60 79 45 43 2D 0A A0 79 85 42 0B D8 05 1C ED D0 06 E0 03 2A 06 D1 20 79 2D 18 FF 2D 01 D3 FF 25 01 3E 26 70 65 72 06 98 C0 79 01 30 45 43 E0 78 68 43 40 0B 82 46 A0 78 68 43 40 0B 83 46 10 20 30 40 04 D0 08 33 03 CB C3 18 03 93 08 1A 04 90 03 4D A2 69 A3 6A 60 78 03 A1 08 47 C0 46 E0 28 00 03 FF FF FF FF 0C 80 1F E5 0B B8 9A E1 1C 01 00 0A 08 00 10 E3 E4 00 00 1A 30 00 10 E3 B8 01 00 1A 10 12 2D E9 02 20 B0 E1 40 00 80 03 01 00 C4 05 1C 40 84 E2 80 40 94 E8 9C 0E 04 E0 D1 60 D3 E0 D0 C0 D3 E1 40 00 10 E3 40 01 00 1A 06 C0 4C E0 AB B0 B0 E1 02 B9 AB E2 FF BC CB E3 07 10 A0 E1 94 18 A0 E0 A1 1B A0 E1 80 04 81 E1 00 00 52 E1 97 00 00 DA 00 20 42 E0 04 A2 9F E5 00 A0 8A E0 0D 00 5A E1 00 A0 83 E0 7A 9F 8F E2 04 24 89 E8 01 0B 50 33 0D 00 00 2A 03 10 C3 E3 01 93 A0 E3 D4 90 89 E2 07 00 80 E2 20 01 A0 E1 00 D1 4D E0 03 30 03 E2 0D 30 83 E0 21 E3 80 E3 02 60 89 E8 00 00 A0 E3 00 10 A0 E1 01 20 A0 E1 07 00 89 E8 02 45 54 E2 8B B0 A0 51 6B 0F 8F E2 18 00 80 52 02 45 54 52 18 00 80 52 02 45 84 52 94 21 9F E5 02 00 50 E1 0D 00 00 0A 88 01 8F E5 07 07 90 E8 34 E0 8F E2 03 00 8E E8 98 E0 8E E2 03 00 8E E8 8C E0 4E E2 04 07 8E E8 98 E0 8E E2 04 07 8E E8 80 E0 4E E2 01 51 95 E2 F5 FF FF 3A 34 81 1F E5 FF 24 A0 E3 03 44 95 E8 97 0C 09 E0 00 00 A0 E1 00 00 A0 E1 9B 09 20 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B 19 21 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B A9 2A 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B E9 2E 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 03 44 A5 E8 03 44 95 E8 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B 09 20 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B 19 21 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B A9 2A 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 97 0C 09 10 00 00 A0 E1 00 00 A0 E1 9B E9 2E 10 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 00 00 A0 E1 C2 70 C7 E1 03 44 A5 E8 08 80 58 E2 B1 FF FF CA 04 C0 8F E2 0C 20 9C E8 2A 00 00 EA 00 00 00 00 00 00 00 00 00 00 00 00 10 79 00 03 00 00 00 00 49 9B A0 E1 86 90 99 E0 04 70 97 E0 06 60 8C 50 D1 C0 F3 51 06 C0 5C 50 C9 9B 96 E0 06 60 8C E0 04 70 97 E0 D1 60 F3 51 D1 C0 F3 E1 06 C0 5C E0 C9 9B 96 E0 04 70 87 E0 A7 3B 83 E0 D0 60 D3 E1 D1 C0 F3 E1 06 C0 5C E0 08 51 85 E0 97 0C 09 E0 49 9B A0 E1 86 90 99 E0 08 01 15 17 9B 09 20 10 08 01 05 17 04 70 87 E0 A7 9B B0 E1 07 00 00 0A A7 2B 52 E0 0B 00 00 DB 01 90 59 E2 06 60 8C 00 D9 60 B3 11 D1 C0 F3 E1 06 C0 4C E0 FE 75 C7 E3 01 80 58 E2 EC FF FF CA 01 30 43 E2 10 12 BD E8 1C 70 84 E5 51 00 00 EA 18 30 8D E2 48 00 93 E8 00 00 56 E3 00 90 62 12 02 20 86 10 08 F0 8E 12 10 12 BD E8 04 00 00 EA 18 20 9D E5 02 60 B0 E1 14 30 9D 15 1E FF 2F 11 10 02 BD E8 00 60 C4 E5 44 00 00 EA 0A 6C B0 E1 46 6C B0 E1 0A 68 B0 E1 46 6C B0 E1 0A 64 B0 E1 46 6C B0 E1 4A 6C B0 E1 00 04 B3 E8 0A 6C B0 E1 46 6C B0 E1 0A 68 B0 E1 46 6C B0 E1 0A 64 B0 E1 46 6C B0 E1 10 12 BD E8 10 02 2D E9 02 E0 A0 E1 08 00 52 E1 08 E0 A0 C1 01 E0 4E E2 2E E1 B0 E1 20 00 00 0A 0E 81 48 E0 0E 21 42 E0 34 10 8F E2 6C 00 4F E2 03 9F A0 E1 A9 0D 80 E0 C0 06 B0 E8 C0 00 81 E8 0C 10 81 E2 00 06 81 E8 0C 10 81 E2 C0 06 90 E8 C0 00 81 E8 0C 10 81 E2 00 06 81 E8 00 04 B3 E8 83 02 95 E8 00 00 A0 E1 00 00 A0 E1 9B 06 20 10 00 00 A0 E1 00 00 A0 E1 9B 16 21 10 00 00 A0 E1 00 00 A0 E1 9B 76 27 10 00 00 A0 E1 00 00 A0 E1 9B 96 29 10 83 02 A5 E8 01 E0 5E E2 EF FF FF 1A 04 30 43 E2 04 10 A0 E3 00 00 95 E5 D1 60 D3 E0 9B 06 20 E0 04 00 85 E4 01 20 52 E2 BA FF FF 0B 01 10 51 E2 F7 FF FF CA 04 80 58 E2 CD FF FF CA 10 02 BD E8 18 20 84 E5 28 30 84 E5 01 00 8F E2 10 FF 2F E1 01 98 01 38 01 DD 40 34 4B E5 07 A0 00 47 06 98 04 4B 03 60 07 B0 FF BC 80 46 89 46 92 46 9B 46 08 BC 18 47 53 6D 73 68 C0 A4 1F E5 08 90 9D E5 C4 84 1F E5 FF B0 A0 E3 00 C0 E0 E3 0C C7 A0 E1 63 7E A0 E3 F2 20 DA E0 F2 00 DA E0 F2 30 DA E0 F2 10 DA E0 01 09 50 E3 FE 0D A0 A3 01 09 70 E3 0C 00 A0 B1 01 09 51 E3 FE 1D A0 A3 01 09 71 E3 0C 10 A0 B1 01 09 52 E3 FE 2D A0 A3 01 09 72 E3 0C 20 A0 B1 01 09 53 E3 FE 3D A0 A3 01 09 73 E3 0C 30 A0 B1 C0 03 0B E0 C1 13 0B E0 C2 23 0B E0 C3 33 0B E0 03 24 82 E1 01 04 80 E1 B7 20 89 E1 B2 00 C9 E0 02 80 58 E2 E1 FF FF CA B5 00 4F E2 10 FF 2F E1 00 00 5C E3 30 00 00 1A 02 60 D3 E5 06 2C 82 E0 04 60 D3 E5 06 6C 92 E0 06 60 E0 41 26 A4 A0 E1 03 10 D3 E5 01 00 D3 E5 00 0C A0 E1 9A 01 26 E0 0C 12 2D E9 0F 56 95 E8 06 00 57 E1 0B 03 80 30 0B 03 40 20 84 71 97 E0 06 00 57 E1 0B 13 81 30 0B 13 41 20 84 71 97 E0 06 00 57 E1 0B 23 82 30 0B 23 42 20 84 71 97 E0 06 00 57 E1 0B 33 83 30 0B 33 43 20 84 71 97 E0 06 00 57 E1 0B 93 89 30 0B 93 49 20 84 71 97 E0 06 00 57 E1 0B A3 8A 30 0B A3 4A 20 84 71 97 E0 06 00 57 E1 0B C3 8C 30 0B C3 4C 20 84 71 97 E0 06 00 57 E1 0B E3 8E 30 0B E3 4E 20 84 71 97 E0 0F 56 A5 E8 08 80 58 E2 DB FF FF CA 0C 12 BD E8 41 FF FF EA 01 C0 5C E2 20 00 00 1A 03 6C A0 E3 AB B0 A0 E1 FF BC CB E3 70 C0 A0 E3 03 44 95 E8 84 71 97 E0 27 9C 6C E0 87 60 A0 E1 A6 9D 49 E0 C2 20 99 E0 9B 02 20 10 84 71 97 E0 27 9C 6C E0 87 60 A0 E1 A6 9D 49 E0 C2 20 99 E0 9B 12 21 10 84 71 97 E0 27 9C 6C E0 87 60 A0 E1 A6 9D 49 E0 C2 20 99 E0 9B A2 2A 10 84 71 97 E0 27 9C 6C E0 87 60 A0 E1 A6 9D 49 E0 C2 20 99 E0 9B E2 2E 10 03 44 A5 E8 04 80 58 E2 E3 FF FF CA 1E FF FF EA 80 60 A0 E3 06 CD A0 E3 03 44 95 E8 84 71 97 E0 C7 9B 66 50 A7 9B 4C 40 9B 09 20 E0 84 71 97 E0 C7 9B 66 50 A7 9B 4C 40 9B 19 21 E0 84 71 97 E0 C7 9B 66 50 A7 9B 4C 40 9B A9 2A E0 84 71 97 E0 C7 9B 66 50 A7 9B 4C 40 9B E9 2E E0 03 44 A5 E8 04 80 58 E2 EB FF FF CA 07 FF FF EA 24 60 94 E5 00 00 D4 E5 20 00 10 E3 0F 00 00 1A 20 00 80 E3 00 00 C4 E5 01 00 D4 E5 10 00 10 E3 04 00 00 0A 0C 10 96 E5 86 10 81 E0 20 10 81 E2 03 30 41 E0 28 30 84 E5 B0 00 D6 E1 00 00 50 E3 02 00 00 0A 06 30 43 E0 10 30 43 E2 28 30 84 E5 10 12 2D E9 AB B0 B0 E1 02 B9 AB E2 FF BC CB E3 1C 70 94 E5 20 10 94 E5 01 00 D4 E5 08 00 10 E3 02 15 A0 13 9C 01 01 00 08 51 85 E0 B0 00 D6 E1 00 00 50 E3 40 00 00 0A FF 04 A0 E3 3C 00 84 E5 01 00 D4 E5 10 00 10 E3 1C 00 00 1A 55 00 00 EB 0C 60 A0 E1 01 30 83 E2 52 00 00 EB 06 C0 4C E0 97 0C 09 E0 49 9B A0 E1 86 90 99 E0 08 01 15 17 9B 09 20 10 08 01 05 17 01 70 87 E0 A7 9B B0 E1 0B 00 00 0A A7 2B 52 E0 D4 FE FF DB 01 90 59 E2 06 60 8C 00 02 00 00 0A 09 30 83 E0 41 00 00 EB 0C 60 A0 E1 01 30 83 E2 3E 00 00 EB 06 C0 4C E0 FE 75 C7 E3 01 80 58 E2 E8 FF FF CA C3 FE FF EA 01 30 43 E2 37 00 00 EB 0C 60 A0 E1 01 30 43 E2 34 00 00 EB 06 C0 4C E0 97 0C 09 E0 49 9B A0 E1 86 90 99 E0 08 01 15 17 9B 09 20 10 08 01 05 17 01 70 87 E0 A7 9B B0 E1 0B 00 00 0A A7 2B 52 E0 B6 FE FF DB 01 90 59 E2 06 60 8C 00 02 00 00 0A 09 30 43 E0 23 00 00 EB 0C 60 A0 E1 01 30 43 E2 20 00 00 EB 06 C0 4C E0 FE 75 C7 E3 01 80 58 E2 E8 FF FF CA 03 30 83 E2 A4 FE FF EA 01 00 D4 E5 10 00 10 E3 A1 FE FF 0A D1 60 73 E1 D1 C0 53 E1 06 C0 4C E0 97 0C 09 E0 49 9B A0 E1 86 90 99 E0 08 01 15 17 9B 09 20 10 08 01 05 17 01 70 87 E0 A7 9B B0 E1 07 00 00 0A A7 2B 52 E0 97 FE FF DB 09 90 B0 E1 06 60 8C 00 D9 60 33 11 D1 C0 53 E1 06 C0 4C E0 FE 75 C7 E3 01 80 58 E2 EC FF FF CA 02 30 83 E2 89 FE FF EA E5 40 2D E9 23 03 A0 E1 3C C0 94 E5 0C 00 50 E1 17 00 00 0A 3C 00 84 E5 21 C0 A0 E3 9C 00 02 E0 24 C0 94 E5 0C 20 82 E0 10 20 82 E2 50 50 9F E5 50 60 8F E2 40 70 A0 E3 01 E0 D2 E4 01 E0 C5 E4 01 C0 D2 E4 04 00 00 EA 01 C0 D2 E4 2C 02 A0 E1 D0 00 96 E1 00 E0 8E E0 01 E0 C5 E4 0F 00 0C E2 D0 00 96 E1 00 E0 8E E0 01 E0 C5 E4 02 70 57 E2 F4 FF FF CA 08 50 9F E5 3F 00 03 E2 D0 C0 95 E1 E5 80 BD E8 88 20 00 03 00 01 04 09 10 19 24 31 C0 CF DC E7 F0 F7 FC FF
    Hang onto this code because you're going to need it again soon.


    Step 2:
    Spoiler:
    Once the code is inserted into the ROM, go to the offset, 0x1DD0B4 and replace the code there. Initially it should be:
    Code:
    A5 C0 1D 08
    . Replace this with a pointer +1 to where you inserted the code from step 1. So if you inserted the code at 0x770000, then your pointer would look like this:
    Code:
    01 00 77 08
    .


    Step 3:
    Spoiler:
    Go to the offset 0x7B4. The current code there should be:
    Code:
    50 5F 00 03
    This is a pointer to our old sound area. But we need to repoint it. So replace the code with:
    Code:
    00 E0 03 02
    Notice how the pointer here is 02 and not the usual 08. This is because we're dealing with the RAM.

    Now do this repointing also at the offset 0x1DD0C0 by replacing the code there also with:
    Code:
    00 E0 03 02
    The sound area has now been successfully repointed.


    Step 4:
    Spoiler:
    Go to the offset 0x1DD0B8. The current code there should be:
    Code:
    E0 28 00 03
    This is a pointer to our old sound mixer. But we need to repoint it to our new mixer. So replace the code with:
    Code:
    50 5F 00 03
    Now go to the offset 0x1DC094. The current code there should be:
    Code:
    E1 28 00 03
    This is a pointer +1 to our old sound mixer. But we need to repoint it to our new mixer +1. So replace the code with:
    Code:
    51 5F 00 03
    Our new sound mixer has now been successfully repointed.
    It's time for the final step now.


    Step 5:
    Spoiler:
    Go to the offset 0x1DD0BC. The current code there should be:
    Code:
    00 02
    This needs to be changed to:
    Code:
    C9 02
    And that's it!


    If you followed all these steps correctly, any new music you import into your Rom should be much higher quality with a lot less background noise (unless I made a mistake somewhere in the tutorial and then your Rom either won't open at all, or won't play music).

    Again, I take zero credit for any of this. It all goes to ipatix for his amazing ASM code which I just assembled and put in step 1.

    I hope this was useful and easy to understand!
    Please let me know if there is anything I can improve on for next time.
    __________________
    Pokemon Unbound

    Reply With Quote
      #2    
    Old March 10th, 2016 (6:59 PM).
    Diegoisawesome's Avatar
    Diegoisawesome Diegoisawesome is offline
    Oh god the bees
     
    Join Date: Dec 2007
    Location: :noitacoL
    Age: 21
    Gender: Male
    Nature: Naive
    Posts: 1,050
    Hey, just wanted to let you know that a bunch of this tutorial is superfluous. You can't insert anything permanent in the memory editor, it'll get cleared once VBA closes. Not sure about how the rest of the tutorial is because I don't personally need this myself but I just thought I should let you know.
    __________________


    My other resources:
    My Website
    diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
    diegoisawesome's Miscellaneous Finds
    The Ruins of Alph Puzzles
    Diego's Miscellaneous Patches
    GBA Intro Manager
    The Secret Sauce: Triple-Layer Tiles
    Reply With Quote
      #3    
    Old March 10th, 2016 (8:20 PM).
    Skeli-'s Avatar
    Skeli- Skeli- is offline
    Lord of the Rings
       
      Join Date: Apr 2014
      Location: Canada
      Age: 20
      Gender: Male
      Nature: Adamant
      Posts: 193
      Quote:
      Hey, just wanted to let you know that a bunch of this tutorial is superfluous. You can't insert anything permanent in the memory editor, it'll get cleared once VBA closes. Not sure about how the rest of the tutorial is because I don't personally need this myself but I just thought I should let you know.
      Thanks for letting me know. I'm sure you know more about this than I do since I only recently discovered Ram editing, but if what you're saying is true, this Tutorial still should work because of the repointing. The sound area is still repointed to a new, free location, the mixer is still repointed, and the new mixer placed in the Rom with the hex editor still replaces the old one. So the sound quality should still increase if you followed the repointing steps right.
      __________________
      Pokemon Unbound

      Reply With Quote
        #4    
      Old February 9th, 2018 (7:50 AM).
      Dinisk's Avatar
      Dinisk Dinisk is offline
      DinisK
         
        Join Date: Jan 2017
        Gender: Male
        Posts: 88
        adress disable the help menu 13B8C2
        Reply With Quote
          #5    
        Old February 9th, 2018 (8:26 AM).
        Delta231's Avatar
        Delta231 Delta231 is offline
        A noob
           
          Join Date: May 2016
          Location: India
          Gender: Male
          Nature: Bold
          Posts: 605
          Quote:
          Originally Posted by Dinisk View Post
          adress disable the help menu 13B8C2
          What you mean by this?
          __________________
          HGSS OWs in FR Style
          Fire Red NSE Bookmarks


          A supporter of


          Reply With Quote
            #6    
          Old February 14th, 2018 (3:54 AM). Edited February 14th, 2018 by LukeeGD.
          LukeeGD's Avatar
          LukeeGD LukeeGD is offline
          Mostly a Music Hacker
             
            Join Date: Jun 2017
            Location: Philippines
            Nature: Careful
            Posts: 44
            Quote:
            Originally Posted by Delta231 View Post
            What you mean by this?
            Disabling the help menu in FRLG: going to 0x13B8C2 for FireRed or 0x13B89A for LeafGreen, and changing the bytes from 1D D1 to 1D E0.
            __________________
            BW/B2W2 Music Patch
            HGSS Music Patch "Unofficial" Update
            Music Hacking Video Tutorials

            My Youtube Channel: LukeeGD
            My Twitter: @lukee_gd_
            Reply With Quote
            Reply

            Quick Reply

            Join the conversation!

            Create an account to post a reply in this thread, participate in other discussions, and more!

            Create a PokéCommunity Account
            Thread Tools

            Posting Rules
            You may not post new threads
            You may not post replies
            You may not post attachments
            You may not edit your posts

            BB code is On
            Smilies are On
            [IMG] code is On
            HTML code is Off

            Forum Jump


            All times are GMT -8. The time now is 6:29 PM.