Hey, I found a few people mention this but couldn’t find an actual topic about it.
I have an EZ flash omega cart that i want to use to play some FE8 romhacks on my DS, but so far, none of the hacks ive tried actually save on it (Vision Quest, Sun Gods Wrath, Seven Siblings, Souls of the Forest). I’ve tried changing every setting people recommended, turning off RTC and setting the save settings to each one to test. My unmoddified fe8 rom works fine and saves normally, just hacks won’t ever save again after making the chapter 1 initial save.
Using savestates does work but I would like to be able to use the actual saves so i can transfer them to PC, and also just to be able to have multiple save slots etc.
Has anyone found a solution to getting hacks to work on it? Thanks!
The EZ-FLASH Omega specifically patches GBAFE games to patch out autosaving after each action (The assembly source of said patch is here, and it’s applied here). This uses the game’s ID in the ROM header to identify what game it is to know if it should apply the patch, and GBAFE romhacks generally don’t change this from the vanilla game. Since this is the only check, it applies this patch to romhacks when you run them from the device.
This results in unintended behavior when saving and loading if the romhack changes save functions in some way (most of them do). A potential solution to this is to change the ID in the ROM header to one that does not have anything special associated with it, either something not used by any official game or a game with the same save type that isn’t GBAFE. However, this will reintroduce the issue that the patch was implemented to fix in the first place, so it isn’t a perfect solution.
I have a solution that seems to work (i havent checked too much so not 100 percent confirmed)
First, you need to either download the firmware edit ive made (its based on the custom firmware so dont do it if you dont feel like using the modified one),
get the earlier version of the ezflash kernel (the one before the patch)
or create a new kernel after modifying the code
The guide to setup firmware edit is here (if you feel like doing it yourself), its for a custom firmware but you can still use this method for the base ezflash kernel Sterophonick's Homepage! :: Projects :: Simple :: Skinning Guide
once/if you are able to create a ezflash.bin file, go to source/GBApatch.c from the zip file, open it via notepad.
Search “fire emblem” after pressing control+f, then delete every line that mentions the patch"Fire_Emblem_A_patch"
“Fire_Emblem_B_patch”
“Fire_Emblem_iQue_patch”
“Fire_Emblem_0378_patch”
“Fire_Emblem_1692_patch”
With this, the patch that would disable fe saves would get disabled
The issue of fe saves being corrupted because of frequent saves can be somewhat mitigated
by editing the files using FebuilderGBA. Open your patched .gba files using that, then go to Tools/Patches from the top bar. Search “save” from the window to find patches regarding autosaves. You can disable autosave patches if its enabled, and apply the “autosavekiller” patch on the roms to disable the frequent saves. It is also possible that the editor will block you from applying patch due to it colliding with another patch, but you can somewhat get past it by editing the autosavekiller file yourself (disabling the “CONFLICT” lines from the code) Though keep in mind that some games could just break if you use this patch (ignored conflicted files or not), I am not sure yet since i havent tried out too much
For now, this seems to work atleast but do this at your own risk