Hello! To what little chance a capable homebrew developer sees this and thinks it's a brilliant idea, which is little to none, let's be completely honest here. I have a suggestion of something I thought would be pretty cool. I'd do it myself if I knew how to but sadly, I have not a single clue how to develop homebrew for the 3DS. The homebrew application I'd like to see is a SLOT-2 Loader. (SLOT-2 referencing SLOT-2 on the original DS and DS lite models.) What would this do? It is a Gameboy Advance Loader. That's it. Why is it called SLOT-2 Loader? I am calling it SLOT-2 Loader, the person who actually makes this can call it whatever they want, because it function like a second slot. You must "insert the cartridge" [injecting a ROM into a Virtual Console] into SLOT-2 to play your gameboy advance games. I imagine SLOT-2 Loader using two separate applications, a "SLOT-2 Launcher" application and a "SLOT-2 Injector" application. "SLOT-2 Launcher" would be a title that you launch from the home menu to run the "cartridge" in SLOT-2. "SLOT-2 Injector" would act as a .3dsx/.cia file that allows you to "change the cartridge" in SLOT-2. What's the point of this you may ask yourself, why not just use a standard emulator like mGBA or inject them manually via Virtual Console Injector? To that I answer, yes, your right. You can just use mGBA or a VC injector however if you use a VC injector, it will clutter your home menu if you are a gameboy advance enthusiast like me and mGBA runs games well, but some games still have performance issues (especially on o3ds/o2ds) that just are not there on Nintendo's Virtual Console. To whom, it may concern I do have concept screenshots should I need to display them.
How it will work under the hood: The SLOT-2 "change the cartridge" .3dsx/.cia would rename [game].gba ROM to .code and copy it into the SLOT-2 "launcher" title, overwriting the old one. The SLOT-2 "launcher" title would be a normal Virtual Console title loading the injected ".code" file. Simple!
Issues I could see it happening: Unfortunately, I am no homebrew developer and I don't exactly know the Ins and Outs of how the 3ds works in terms of homebrew so here are some issues I could see happening with this concept that will possibly need a work-around.
1. Save data issues: From what I can tell, the GameBoy Advance virtual console saves and loads data based on title id. Due to SLOT-2 Loader using only one title, a workaround will have to be made to prevent save data loss when you change the cartridge. Also not all ROMs use the same save format. While some ROMs use EEPROM, others use SRAM or FLASH. I honestly dunno if I workaround could be developed for this or not due to lack of knowledge of the 3ds scene but it could be possible.
2. Injection issues: I honestly don't know if any of this is even possible. Due to the varying sizes of games, a "one size fits all approach" may be the wrong way to go. While injecting ROMs into the SLOT-2 Launcher title should be possible (example given to us by GodMod9's H&S Injection), I am unsure how different it would be from H&S injecting or whether it would be possible due to the fact H&S is on the SYSNAND CTRNAND and SLOT-2 Launcher would be on the SYSNAND SD. Not to even ask if .3dsx applications have CTR writing access. In summery while I am pretty sure it could be done, someone else is probably going to tell me it can't so whatever I suppose.
3. Lack of interest: This will probably be the biggest detriment to SLOT-2 Loader if a developer were to even consider creating it. Because we have options such as mGBA and VC console injection, people will not see the point in making yet another way to load GBA games, especially a way as convoluted as this. Unfortunately, the only work around for this is if the community shows interest for SLOT-2 Loader and again, while I think this is an awesome idea, the community might disregard this as unnecessary and redundant and most of all unwanted.
Please give me feed back on what you think about this and whether or not it would be possible! Thank you for reading!