Homebrew GBA GBA Exploader on modern libnds...

Apache Thunder

I have cameras in your head!
OP
Member
Joined
Oct 7, 2007
Messages
4,615
Trophies
3
Age
37
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
7,449
Country
United States
Unfortunately I don't think there's any room for that. :(

Also it appears I've gotten EZFlash Omega working in GBA Exploader abit you will need to manually SRAM patch some games like Pokémon Emerald. (Omega's patches must be different then what GBA Exploader has)

Given how complicated the gba patch functions are in GBA Exploader I don't plan on messing with that. Someone better with this stuff could look at porting the patches from EZ Flash's Omega source code since it's available there.

Anyways flashing games to PSRAM and rebooting into them seems to work at least. Given how NorFlash stuff is handled on Omega I do not plan to add support for that.

Expect 0.63 to have Omega support! I will soon own an Omega myself too. I will probably release it once I've done some more testing with my own unit.

While I will not be owning a DE version of the Omega cart I'm pretty sure what I've done with regular Omega will work for that cart too. The main differences with DE are mainly with the NorFlash stuff (support for 64MB games for example). I might need to add a new ID check for that cart at least. It might return a different NorFlash ID. I'll try and have GBA Exploader working with that card too but I can't do extensive testing with that card as I don't own one.

Also using regular Omega as expansion ram is in theory possible. I'll have to test the rumble menu and see if I can at least get GM9i to see it as expansion for it's ram drives. :P
 

Apache Thunder

I have cameras in your head!
OP
Member
Joined
Oct 7, 2007
Messages
4,615
Trophies
3
Age
37
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
7,449
Country
United States
v0.63 Released!

https://github.com/ApacheThunder/GBA-Exploader/releases/tag/0.63


Initial support for EZ Flash Omega (games now boot but will have save issues. DE has slightly better save support the regular Omega right now).

SuperCard's save issues are now fully resolved! I've also implemented SCFW's rom patching functions for SuperCard so no longer need to use prepatched roms with GBA-Exploader for these cards! :D

I've also added progress bars for saving sram to file/writing file to sram so it doesn't look like the program just freezes when doing save backups/writes.
 

Apache Thunder

I have cameras in your head!
OP
Member
Joined
Oct 7, 2007
Messages
4,615
Trophies
3
Age
37
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
7,449
Country
United States
0.64 Released:

https://github.com/ApacheThunder/GBA-Exploader/releases/tag/0.64

Soft reset issues after using X button to boot norflash game after flashing new game to NorFlash on 3 in 1 Plus is now fully resolved. This is now on par with the 0.58MXb0 patched release in terms of 3 in 1 Plus support.

Also properly disabled NorFlash menu for EZ Flash Omega and Omega DE. Rumble menu has it's own mode set operation for left shoulder press that I didn't notice so I had to modify that to skip NorFlash mode for Omega.
 

Apache Thunder

I have cameras in your head!
OP
Member
Joined
Oct 7, 2007
Messages
4,615
Trophies
3
Age
37
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
7,449
Country
United States
https://github.com/ApacheThunder/GBA-Exploader/releases/tag/0.65

Omega and DE currently can't be detected seperately so for now I've added a prompt at boot if an Omega is detected. User could manually choose which to use. Regular Omega's sram is not battery backed so you must have a way of "soft resetting" the console back to DS firmware menu. This requires certain slot-1 flashcarts. One cart I own I know does this is EZ-Flash Parallel.

To do this procedure correctly, you load a game to Omega and play it. Then save game. Do NOT power off console. Instead you eject and reinsert the said flashcart in slot-1 to cause console to reboot. EZP does this reliably and perhaps there are others that do as well. DS Phat models seem to be easier to trigger this as it will reboot sometimes with DS-Xtreme and DSTwo flashcarts. Though not always. DS Lite seems more reliable power wise so EZP is only cart in my collection that does this. :P (perhaps the only decent use for this card? :P )

As for Omega DE, I have GBA-Exploader use normal sram page which maps to fram chip for this flashcart. Since FRAM chip is non-volatile this special reset procedure is not needed. For regular Omega I must use 0x40 sram page as defined in the documentation EZFlash provided for Omega documention on their github repo for the kernels they made for them. This is because regular game section of sram on regular Omega boots up in read only mode. FPGA will not allow writes to it until specific table is setup and sent to sd card buffer/control register which I have not been able to get working. So I must use RTS section of SRAM. This is non issue for DE because DE's FPGA doesn't map page 0 and page 0x10 to that area of SRAM. It instead goes to FRAM chip which FPGA does not lock as readonly on initial boot. Note Pokémon games still are mostly not working. It looks like new sram patches are needed for them before they'd work on Omega via GBA-Exploader. This is the case for both DE and regular Omega I believe.

The other feature I added is ability to select and boot NDS files in the file browser! Since I added hbmenu's bootloader to fix the softreset code I might as well just toss in nds file booting. Boots them in a manner similar to hbmenu. Nothing special going on there. I did ensure basic argv is setup for it so stuff that uses nitroFS works properly. UI code updated to also correctly parse game name and game code/id for NDS files as the offsets are different compared to gba roms.


You can kinda use GBA-Exploader as the main menu for your flashcart if you want now that you can boot into other NDS homebrew from it. Video showing off this feature posted below. :P

 
Last edited by Apache Thunder,
  • Like
Reactions: enarky and Indy13

helltoast

Well-Known Member
Newcomer
Joined
Jul 15, 2015
Messages
87
Trophies
0
XP
283
Country
United States
does it work with the M3 GEP? or is it better to stick with the original release?

yes I still have a handful of those lying around somehow
 

Apache Thunder

I have cameras in your head!
OP
Member
Joined
Oct 7, 2007
Messages
4,615
Trophies
3
Age
37
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
7,449
Country
United States
does it work with the M3 GEP? or is it better to stick with the original release?

yes I still have a handful of those lying around somehow

Original GBA Exploader has some M3 related code in it so...maybe? If it worked in the original, it will work just fine in my version. :P
 
  • Like
Reactions: helltoast

Searinox

"Dances" with Dragons
Member
Joined
Dec 16, 2007
Messages
2,078
Trophies
1
Age
37
Location
Bucharest
XP
2,341
Country
Romania
@Apache Thunder I have a question for you. This is an ancient idea I had way back in the heyday of the DS scene. You now have the code that reads GBA flashcart metadata and launches GBA mode.

Would you be willing to make both an ExpLoader modification and a standalone GBA slot-2 launcher(I made one back in the day, just barely XD still should be in the GBAtemp downloads category) that checks for EZflash 3in1, then checks for RTC-enabled games on the cart, and just before launching slot-2 sets the RTC in the save file from the DS clock?

What this would do is essentially allow for using RTC on 3in1 as long as it's always launched from an NDS because the clock would always be updated just before launch. The clock already advances on its own while the ROM is running so this would make it transparent to the user.
 
Last edited by Searinox,

Wokann

Member
Newcomer
Joined
Feb 6, 2023
Messages
23
Trophies
0
Age
26
XP
401
Country
Hong Kong
Hello, I am developing a software related to gba-ds link recently, which will generate several different gba files. It only relies on the data reading of the rom itself, and has no requirements for the save type.

And it takes a lot of time to burn the rom into norflash mode for each different test. I wonder if gba exploader or other homebrew tool can directly load the rom into the psram mode of ez3in1 or ezode, and then restart to re-enter the ds game in the flashcart or remove the flashcart and insert the ds cartridge then restart (similar to nitrohax). So that ds game can test different gba rom faster and don't need to waste time burning gba rom into norflash.

But also I am not sure whether the psram mode can be kept uninterrupted to avoid rom data loss under such a restart.
 

Apache Thunder

I have cameras in your head!
OP
Member
Joined
Oct 7, 2007
Messages
4,615
Trophies
3
Age
37
Location
Levelland, Texas
Website
www.mariopc.co.nr
XP
7,449
Country
United States
Hello, I am developing a software related to gba-ds link recently, which will generate several different gba files. It only relies on the data reading of the rom itself, and has no requirements for the save type.

And it takes a lot of time to burn the rom into norflash mode for each different test. I wonder if gba exploader or other homebrew tool can directly load the rom into the psram mode of ez3in1 or ezode, and then restart to re-enter the ds game in the flashcart or remove the flashcart and insert the ds cartridge then restart (similar to nitrohax). So that ds game can test different gba rom faster and don't need to waste time burning gba rom into norflash.

But also I am not sure whether the psram mode can be kept uninterrupted to avoid rom data loss under such a restart.
Loading of DS rom on PSRAM of 3in1? Yeah last I checked GBA-Exploader has support for that as long as the DS rom has the standard passme header added to it. It will boot into it in DS mode and does support flashing it to PSRAM isntead of norFlash as long as it's 16MB or less if it's a 3in1. EZFlash Omega has 32MB of PSRAM so you can go as high as 32MB on that one.

You need to make sure it has the gba extension though. Recent update to GBA-Exploader enabled of direct booting of DS games off the flashcart GBA-Exploader is running from. To avoid that you need to give it the gba extension (they typically have .ds.gba extension anyways) so that it knows to copy it to slot2 flashcart instead.
 

Wokann

Member
Newcomer
Joined
Feb 6, 2023
Messages
23
Trophies
0
Age
26
XP
401
Country
Hong Kong
Loading of DS rom on PSRAM of 3in1? Yeah last I checked GBA-Exploader has support for that as long as the DS rom has the standard passme header added to it. It will boot into it in DS mode and does support flashing it to PSRAM isntead of norFlash as long as it's 16MB or less if it's a 3in1. EZFlash Omega has 32MB of PSRAM so you can go as high as 32MB on that one.

You need to make sure it has the gba extension though. Recent update to GBA-Exploader enabled of direct booting of DS games off the flashcart GBA-Exploader is running from. To avoid that you need to give it the gba extension (they typically have .ds.gba extension anyways) so that it knows to copy it to slot2 flashcart instead.
Not loading ds rom. Loading gba rom for ds-gba link.
Normally if we want to use the ds-gba link function of some ds games, we would load gba rom on norflash mode, and then turn off ds, reopen flashcart or plug in ds cartridge. and also may apply patch for save read/write.
What i want to do is loading gba rom into psram for ds-gba link. The point is how to make rom data in psram alive when booting ds game. So i said if homebrew tool can reboot to ds game after loading gba rom into psram.
Nitrohax is a ds homebrew tool which can load cheat code to select, and after selecting cheat code, player need to plug out flashcart and plug in ds cartridge. then press button on screen, it will boot ds game with cheat code active.
So i wonder if this can be done in psram mode to stay gba data alive when booting ds game.
I'm developing the slot2 distributior for pokemon gen4. It needs one distribution per gba rom. Loading different distributions may need burning different gba rom to norflash repeatedly each times.
So If what above can be done, we can just use homebrew tool to load different gba roms from sd card into psram which will be much faster than normally burning gba into norflash one by one.
 
Last edited by Wokann,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Sicklyboy @ Sicklyboy: Spinning up more services on my servers by the day :D hello Vaultwarden! +1