Homebrew OPEN_AGB_FIRM discussion thread

  • Thread starter Thread starter Pickle_Rick
  • Start date Start date
  • Views Views 349,062
  • Replies Replies 991
  • Likes Likes 35
Stock AGB_FIRM doesn't have sleep mode either, both cases due to hardware limitations.
You can add sleep mode to the individual roms though, something that isn't possible for agb_open_firm for some reason.

I'm not sure why though, they should both be utilizing a similar setup as they are using the GBA hardware within the 3DS. Something about not being able to send a signal when the lid closes... it only turns off the screen and doesn't put the hardware to sleep at all.

If anyone is more knowledgeable on this situation I would love to learn more.
 
It's a software limitation. The dev simply has not implemented sleep mode yet. It's more difficult since it's running on bare metal requiring everything to be written from scratch.
 
You can add sleep mode to the individual roms though, something that isn't possible for agb_open_firm for some reason.

I'm not sure why though, they should both be utilizing a similar setup as they are using the GBA hardware within the 3DS. Something about not being able to send a signal when the lid closes... it only turns off the screen and doesn't put the hardware to sleep at all.

If anyone is more knowledgeable on this situation I would love to learn more.

That's not sleep mode, just an delusion, because it only turns off the backlight of the 3DS and gets the game "paused" (in some situations), so it will still drain your battery as normal usage would do. Proper sleep mode needs to also turn off other pieces or hardware in a way that it gets back to its previous state when waking up, something that needs to be done in bare metal and difficult to do, hence why open_agb_firm doesn't support it yet, as @ghjfdtg said:

It's a software limitation. The dev simply has not implemented sleep mode yet. It's more difficult since it's running on bare metal requiring everything to be written from scratch.
 
Ah, sleep mode (STOP mode actually) is actually easy, it's still present in the GBA chip inside of the 3DS, and works as expected.

It's just that
  • 3DS sleep mode has to be implemented (pretty sure it isn't)
  • GBA STOP mode is independent of 3DS sleep mode, so the 3DS hardware MUST be put to sleep too to save power
  • 3DS sleep mode is really difficult to implement due to every other component (especially the GPU) being really flaky about how you put it down
  • you actually still need to send the wakeup keycombo to the GBA (since it IS still a real GBA, the revision found inside of a DS Lite), which is sadly game-unique
GBA sleep mode is actually easy, it's the 3DS sleep mode which is tedious.
 
I would really like a way to set where the save location is. The current setting doesnt work for me in /3ds/open_agb_firm/saves
Post automatically merged:

I would really like a way to set where the save location is. The current setting doesnt work for me in /3ds/open_agb_firm/saves
 
I would really like a way to set where the save location is. The current setting doesnt work for me in /3ds/open_agb_firm/saves
Post automatically merged:

I would really like a way to set where the save location is. The current setting doesnt work for me in /3ds/open_agb_firm/saves
The save location of the current version is /3ds/open_agb_firm/. Just start a game without save file and check for the newly created file.
 
  • Like
Reactions: Tarmfot
I don't know if this has been asked/answered before, but is something like open_agb_firm possible on the DSi as well? 🤔
Or did Nintendo only add the GBA HW to the 3DS?
Since GBARunner2/3 also exist on the DSi I'd assume that such HW is also present there 🤔
 
I don't know if this has been asked/answered before, but is something like open_agb_firm possible on the DSi as well? 🤔
Or did Nintendo only add the GBA HW to the 3DS?
Since GBARunner2/3 also exist on the DSi I'd assume that such HW is also present there 🤔
The DS has an ARM9 and an ARM7 processor, enabling GBA support by utilizing the ARM7 processor, similar to the ARM7 processor of the GBA. This ARM7 processor didn't get removed in the DSi, as this processor is also being used in DS mode.

Theoretically it should be possible to enable GBA playback on the DSi by utilizing this ARM7 processor.
 
GBARunner2 is the equivalent of OAF on DS systems. It runs GBA games natively on the built-in GBA hardware. You just don't really want to use GBARunner 2 on 3DS because it forces the system to run in DS mode, which means GBA games can't fill the screen.
 
GBARunner2 is the equivalent of OAF on DS systems. It runs GBA games natively on the built-in GBA hardware. You just don't really want to use GBARunner 2 on 3DS because it forces the system to run in DS mode, which means GBA games can't fill the screen.
But looking at the compatability list shows that GBARunner has the same issues on a DSi, as it does on the 3DS.
 
The DS has an ARM9 and an ARM7 processor, enabling GBA support by utilizing the ARM7 processor, similar to the ARM7 processor of the GBA. This ARM7 processor didn't get removed in the DSi, as this processor is also being used in DS mode.

Theoretically it should be possible to enable GBA playback on the DSi by utilizing this ARM7 processor.

GBARunner2 is the equivalent of OAF on DS systems. It runs GBA games natively on the built-in GBA hardware. You just don't really want to use GBARunner 2 on 3DS because it forces the system to run in DS mode, which means GBA games can't fill the screen.

Both answers are wrong.

The Nintendo DSi doesn't have all the needed GBA hardware on it, despite having an ARM7 processor, and it also lacks memory to even fit large GBA roms to run them directly from it. Only the DS/DS Lite have full GBA hardware that still requires a slot-2 device.

GBARunner3 is being developed with some techniques such as "paravirtualization" and "MMU emulation" to run GBA code that normally runs on an ARM7 using the ARM9 instead, and taking advantage of all the hardware similarities that the DS has compared to a GBA as much as possible, such as the 2D engine. The ARM7 is then used to emulate some things like sound, so is not the same as open_agb_firm

For those interested, here's the GBARunner3 repo https://github.com/Gericom/GBARunner3, which has reached a state that surpasses GBARunner2 already in terms of compatibility and features.
 
The DS has an ARM9 and an ARM7 processor, enabling GBA support by utilizing the ARM7 processor, similar to the ARM7 processor of the GBA. This ARM7 processor didn't get removed in the DSi, as this processor is also being used in DS mode.

Theoretically it should be possible to enable GBA playback on the DSi by utilizing this ARM7 processor.
GBARunner2 is the equivalent of OAF on DS systems. It runs GBA games natively on the built-in GBA hardware. You just don't really want to use GBARunner 2 on 3DS because it forces the system to run in DS mode, which means GBA games can't fill the screen.

These answers are indeed wrong. Think of it like this:

Just because both a Game Boy and Game Boy Color have the same CPU, doesn't mean Game Boy Color games would run on a Game Boy.
Both use the same SHARP SM83 microcontroller as the CPU, but the Game Boy Color has some extra hardware that doesn't exist on a regular Game Boy.
They have the same CPU, yes, so technically the *code* can run just fine on both. But the *hardware support* doesn't quite exist on the regular Game Boy.

It is technically possible to emulate Game Boy Color on the Game Boy, if you put extra RAM into the cartridge slot, and the game you're trying to emulate doesn't use SRAM, *and* has free space in the cartridge, but emulating GDMA/HDMA for example (only present in the CGB) would make the game speed slow to a crawl, *despite the CPU being the exact same*.


Edit: lol, this is actually what GBARunner2 does. DS has some hardware moved, added, or removed, compared to a GBA, but it can emulate those via various means. And since the DS 2D video hardware is pretty similar to the GBA's, there is minimal processing power required to just... use the hardware.

This is also why GBA emulators run like junk on the 3DS. There is no 2D hardware anymore accessible in 3DS mode. However, there is a real GBA inside of the 3DS, and using the built-in capture card, it can be displayed on the 3DS LCD (the DSi/GBA LCD signals are *not* routed to the 3DS LCD, the ARM11 coordinates this). Nintendo specially engineered extra hardware to use the 3DS' main RAM (the 128MB FCRAM) as the GBA ROM storage. And no, that doesn't mean that you can use bigger ROMs. Just like a real GBA, it's limited to 32MB, and Nintendo added no support in for GBA video, so it's not possible to use bigger ROMs on a 3DS.
 
Last edited by Sono,
  • Like
Reactions: Tarmfot
I guess I took some wrong assumptions. It's true that just because the CPU technically supports GBA games, that doesn't mean that it is possible to use the hardware configuration of a specific device to run these games. Thanks for the clarification!
 
I have this 64k save (i've played on Mgba on wii)

the one open agb created after starting metroid fusion, was a 32k one.

Possible to use my previous wii mgba save with open agb?

Edit,just tested, works ok. Just renamed with the same name.
 
Not sure if anyone else has dealt with this but the moment I launch open_agb_firm from the chainloader menu my 3ds just freezes on the chainloader menu and I'm forced to power off the 3ds manually. I've been having issue also launching DS mode though, so maybe related.
 
If you can even boot this run the RAM tester from the assets below.
https://github.com/aspargas2/3ds_hw_test/releases

There is likely a hardware defect or a corrupted SD card filesystem causing issues.
I actually tried the hardware test recently due trying to fix DS Mode and and got 0 errors. As for a corrupted sd card, is there a specific way to test for that?

Anything 3ds mode related has been perfectly fine. Just this, DS Mode and GBA Virtual Console result in a a freeze that require a manual power off.
 
You just backup all your files, reformat with the standard method recommended in almost every thread here and then copy the files back on.
 
  • Like
Reactions: refat17

Site & Scene News

Popular threads in this forum