I've been trying to get this work for two days now, to no avail. My case is a little different here, I am editing a Pokemon Emerald ROM which I then convert to a .CIA and use on my AL9H Luma 11.2 3DS. I have to keep the game in RAM (which boils down to launching a luma decrypt9 payload while booting) so that I can inject my backed up saves from my non-edited Emerald into the new edited one.
The ROM and the .CIA themselves work fine, seeing as with the unedited one I managed to get to the 7th gym before deciding that I wanted to speed up the grinding process a bit. However, the edited one
does launch successfully but the cheats do not toggle (spamming, holding, etc R+A [the cheat toggle code] while the Pokemon is defeated and the EXP gain screen appears does not grant the 5000 EXP).
My next step was to try the trainer menu. Again, it launches fine (directly into the trainer menu, in fact), but now there is a new problem - the saves won't inject. The process that worked perfectly before (starting the game, going to the home menu the moment it boots, opening homebrew launcher, pressing start and A to reboot and then immediately holding down the decrypt9 payload button, then injecting the save) no longer works. I have tried many, many,
many variations of the edit but I just can't get it to work. Either the cheats don't work at all or when they seemingly take effect I cannot test them because the bloody save doesn't inject.
With each variation, I have uninstalled the previous CIA, patched the ROM with GBAATM, generated a footer of the patched ROM with 3DS GBA Footer Generator V0.2d, generated a CIA from the patched ROM by using 3DS Simple GBA Converter, and then installing the new CIA with FBI. Also, due to how Nintendo's virtual console works, the GBA splash screen does
not appear, which may explain why I'm not getting the crashes reported by others in the thread seeing as the GBA splash screen reportedly worked as an anti-cheater method.
Variations I have tried:
Trainer AND trainer menu unchecked, enable checked, default enable keybinds used (L+R+A to enable, L+R+B to disable), enable on start checked, RAM address 0x3007FA0. The cheat (holding down R+A when the EXP gained screen would appear) does nothing. No crash, nada.
The exact same setup as above, but with the RAM address set to 0x3007FC0. Looking at previous posts, another user reportedly had Emerald work perfectly for him by using the default 0x3007FA0, so I don't think it's a RAM address issue.
Trainer AND trainer menu checked, enable unchecked, RAM address 0x3007FA0. Trainer menu works and appears at startup. For whatever reason GBA VC Save Injection simply doesn't work, maybe because the trainer menu is interrupting something at boot? I dunno. Either way, I couldn't easily test if the cheat worked, since the save would not inject and I had nothing to test on.
Trainer checked, trainer menu unchecked, enable checked, default enable keybinds used (L+R+A to enable, L+R+B to disable), enable on start checked, RAM address 0x3007FA0. Same thing as before - nothing works.
Trainer checked, trainer menu unchecked, enable unchecked, RAM address 0x3007FA0. Same thing as before - nothing works.
Trainer AND trainer menu unchecked, enable checked, default enable keybinds used (L+R+A to enable, L+R+B to disable), enable on start checked, RAM address 0x3007FA0. Same result, nothing works.
The desired code is this:
[M] Must Be On
9266FA6C 97BD
905B5ED3 5F81
B76A68E5 FAB1
5000 XP
A744170A A996
9B540825 258E
I used CBAcrypt to decrypt it into CB:
[M] Must Be On
9266FA6C 97BD
00006FA7 000A
102DFA10 0007
Lots of XP
74000130 02FE
820241F0 1388
With every variation, I have done a variation ON that variation in which I try to use the CB code that I got from CBAcrypt and the non-decrypted code that I lifted off of gamefaqs. And yes, I have tried to Google codebreaker codes, but for whatever goddamn reason it keeps bringing up action replay and gameshark (non-SP/non-V3) threads which are specifically mentioned on the site to be action replay/gameshark.
Either I'm doing something wrong, or, well, I'm doing something wrong I guess. I'm here because my Google searches for '3ds gba cia cheats' brought me to
this GBAtemp post in which people in a very similar situation managed to get cheats to work by simply patching the ROM that they're converting to .CIA. Despite the fact they're most likely using it for completely different games, the fact that the process that I'm attempting works for other people points towards an error on my part. And, seeing as how Pokemon Emerald has reportedly worked for a user who has posted in this thread, I do not believe that it is a game-specific issue.
So, to boil this lengthy post down, here's what's happening: patch ROM with gbaatm > make footer from patched rom > make CIA from footer and patched rom > move that CIA from PC to SD card > put SD card back in 3DS and uninstall the old CIA with FBI > install the new CIA with FBI > launch game > press home button and return to home menu when game boots > go into homebrew launcher (which is on my home menu) > press start, press A, hold down X (the payload button) > wait for decrypt9 to load > go into sysNAND options, miscellaneous, GBA save inject, inject relevant save > press start to reboot once done > launch game.
With trainer menu patched in, there must be something funky going on with the memory. Seeing as decrypt9 relies on the game still being in memory when injecting the save (hence the convoluted reboot method to prevent the memory from being purged), and seeing that the only time the save doesn't inject is when I have the trainer menu patched in (despite getting a success message when injecting it, when launching the game the save itself is not there), and also seeing as cheats appear to be toggled off by default (again, seeing as how the trainer menu always lists the XP cheat as being off when I first start the game), while also seeing that there is no way to toggle the cheat on if the only toggle option I can see in this program is the one that toggles the bloody trainer itself, I'm starting to wonder what the hell is going on here.
I realize that this thread is almost a decade old (luckily for me the last response was from a month ago, so I don't think this counts as a necro), and truth be told I doubt I'll receive an answer giving this threads age and the inactiveness of the author (which I can't blame him for, since again this thread is over eight years old). But hey, might as well, right?