TheShadyRelapse Posted April 11, 2019 Share Posted April 11, 2019 (edited) Infinite TMs in Gen IV --- Let me first preface this by saying that this was figured out by Mikelan98 (with some help from Nextworld and BagBoy to find some of the offsets in different languages). Mikelan98 has requested that you give credit to him if you implement this in your hack. This is simply a documentation so the information doesn't get lost - I didn't figure out any of this myself! This is for the American (U) versions of Platinum and Heart Gold / Soul Silver. Step 1: Extract the relevant files --- First we need to get the right files out of the ROM. For Platinum, you'll need the arm9.bin and the overlay_0084.bin files. For HG / SS, you'll need the decompressed arm9.bin and a decompressed overlay_0015.bin files. (Use the Extract(U) option in crystaltile2 to decompress.) Step 2: Edit the code to make the TM quantity not drop after use --- For Platinum, we want to make the following changes: * Search for "FE 00 28 07 D1 08 48" in the arm9.bin file. * Replace the "D1" with "E0" so that it now reads "FE 00 28 07 E0 08 48". For HG/SS, we want to make the following changes: * Search for "FD 00 28 07 D1 0A 48" in the decompressed arm9.bin file. * Replace the "D1" with "E0" so that it now reads "FD 00 28 07 E0 0A 48". Step 3: Edit the code to make the item quantity not appear for TMs in the bag --- For Platinum, we want to make the following changes: * Search for "FF F7 83 FF 04 B0" in the overlay_0084.bin file. * Replace the first four bytes with "00 00 00 00", so it should now read "00 00 00 00 04 B0". For HG/SS, we want to make the following changes: * Search for "81 42 53 D3" in the decompressed overlay_0015.bin file. * Replace the "D3" with E0 so that it now reads "81 42 53 E0". Step 4: Rebuild the ROM --- You'll need to reinsert the relevant files as needed. For HG/SS, you'll need to recompress them when adding them to the ROM by using the "Compression" option to import them back when using crystaltile2. After that, save and/or build your ROM, and you should find that TMs don't show a quantity anymore, and they also won't disappear after being used. Edited September 23, 2020 by TheShadyRelapse Tutorial 3 Link to comment Share on other sites More sharing options...
Halfshadow Posted April 12, 2019 Share Posted April 12, 2019 Cool! This only made them unlimited but however countable? Can you always collect more than 1 and sell/toss them? This was exactly what I was searching for HG/SS where the Flash TM isn't unlimited like the original HM in G/S/C and this is ugly. Can I also always give them to a pokémon? I need also to make un-giveable 2 items exactly like the apricorn balls in HG/SS, do you know where is the HG/SS table that determines which items are un-giveable? I could replace sport ball and park ball whit mine if necessary, in the normal gameplay you can't have them in your bag, then if the space is limited I could replace them. Can you please tell me how do it? :D Link to comment Share on other sites More sharing options...
Drayano Posted April 18, 2019 Share Posted April 18, 2019 (edited) Thank you very much for posting this! I've been after this knowledge for ages but I had no idea how to figure this out. Thank you again, this is a simple change but such a good quality of life improvement to the games. edit: Ah, sorry, I don't think I can actually use this in my hacks. It looks like while it does make the TMs infinite, it makes everything else infinite too. So you can use Rare Candies infinitely, give/take items from Pokémon to duplicate held items etc. It's very abusable. But this is still good for a personal playthrough on vanilla Platinum/HG/SS so it's still great that you've shared this! Is there any reason you chose to replace 49 with BD specifically, by the way? I tried some other bytes in place of BD to see what would happen and I got the infinite item effect with a few others like FF. This was all tested on Platinum, by the way. Edited April 18, 2019 by Drayano 1 1 Link to comment Share on other sites More sharing options...
Halfshadow Posted April 20, 2019 Share Posted April 20, 2019 Exactly there is also the strange effect that don't allow you to toss them and if you give you duplicate them... Isn't very cool to make a great quality hack, I didn't know 'til know, 'cause I was out in traveling and I haven't my PC to verify it. There is a fix to allow us to however toss them, to have only the effect of a reusable TM like the glass flutes? I can actually sell them and re buy them like normal items, but I want only a function to avoid the consumption but only when used to teach moves, nothing else. Link to comment Share on other sites More sharing options...
TheShadyRelapse Posted May 9, 2019 Author Share Posted May 9, 2019 On 4/18/2019 at 10:40 PM, Drayano said: Thank you very much for posting this! I've been after this knowledge for ages but I had no idea how to figure this out. Thank you again, this is a simple change but such a good quality of life improvement to the games. edit: Ah, sorry, I don't think I can actually use this in my hacks. It looks like while it does make the TMs infinite, it makes everything else infinite too. So you can use Rare Candies infinitely, give/take items from Pokémon to duplicate held items etc. It's very abusable. But this is still good for a personal playthrough on vanilla Platinum/HG/SS so it's still great that you've shared this! Is there any reason you chose to replace 49 with BD specifically, by the way? I tried some other bytes in place of BD to see what would happen and I got the infinite item effect with a few others like FF. This was all tested on Platinum, by the way. I chose 49 because at the time I was thinking maybe If I change the the byte to any number it would do something so I tried 49 and it worked I also tried 64 which also worked so I'm glad that it works 1 Link to comment Share on other sites More sharing options...
Halfshadow Posted May 10, 2019 Share Posted May 10, 2019 Can you do something to only make them infinite but however tossable like glass flutes? And only TMs and not the other items? Link to comment Share on other sites More sharing options...
Halfshadow Posted June 16, 2019 Share Posted June 16, 2019 I think the best thing should be edit the teaching routine to avoid tossing the item after the use. Do you know where is the routine that teach the move and toss the MT once used? Link to comment Share on other sites More sharing options...
Cookieman Posted July 22, 2019 Share Posted July 22, 2019 (edited) And how are you supposed to use this? Edited July 22, 2019 by Cookieman Mispell Link to comment Share on other sites More sharing options...
TimeShermane Posted August 18, 2019 Share Posted August 18, 2019 Yo what patcher do I need to use? I have DeltaPatcher but it won't recognize the file. I'm trying to patch a HeartGold rom Link to comment Share on other sites More sharing options...
Chainfire Posted September 23, 2021 Share Posted September 23, 2021 I tried to search for "FD 00 28 07 D1 0A 48" in the arm9.bin from Pokemon HeartGold that I extracted with the Nitro Explorer 3, searching for it with HxD, but I cannot find that part. Could it be some mistake of mine? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now