So, I've been having a unique problem. I've been hacking a friends' old 3ds, she bought a new one because she spilled water on, and broke the dpad. I assumed this wouldn't be an issue, as she mostly wants to play vc injected gba games, and that program allows use of the circle pad instead of the d pad.
However, EmuNAND9 requires use of the dpad. I've been mostly able to get around it because the cursor starts at the top, and sometimes the down on the 3ds' dpad works. However, the requirement of pressing "down up left right a" prior to creating an EmuNAND renders the program unusable on this 3ds. The (inferior) gateway program also requires the dpad.
Being a programmer, although one very unfamiliar with homebrew, I thought I could modify the source code to make the user input "a a a a a" prior to creating an EmuNAND instead. Indeed, I believe this change is trivial. merely change emunand9.c on lines 21 and 22 from:
u32 unlockSequence[] = { BUTTON_DOWN, BUTTON_UP, BUTTON_LEFT, BUTTON_RIGHT, BUTTON_A };
const char* unlockText = "<Down>, <Up>, <Left>, <Right>, <A>";
To:
u32 unlockSequence[] = { BUTTON_A, BUTTON_A, BUTTON_A, BUTTON_A, BUTTON_A };
const char* unlockText = "<A>, <A>, <A>, <A>, <A>";
(An overall better implementation would be to allow the circle pad to substitute for the d pad at all times, but this is simpler and should work quick).
So indeed, I did this, but, after some difficulty compiling (been using windows, which is a nono but setting up devkitarmpro was trivial) I only get a .elf/.bin file, and conversion to .3dsx using 3dsxtools (this time on linux) yields an error about no BSS in the elf file or something.
So, would any more homebrew savvy user (or even one of the developers) be willing to compile this change for me and upload the result? Alternatively, could you direct me how to properly compile my change? (I normally would prefer this option, but here I assume this would be more of a pain to explain to me).