Homebrew OPEN_AGB_FIRM discussion thread

  • Thread starter Thread starter Pickle_Rick
  • Start date Start date
  • Views Views 349,694
  • Replies Replies 991
  • Likes Likes 35
Is the ROM compatability greater/equal compared to GBARunner 2?
What are the differences ?

Sorry I'm just curious, I havn't used any of the two (yet).
 
Is the ROM compatability greater/equal compared to GBARunner 2?
What are the differences ?

Sorry I'm just curious, I havn't used any of the two (yet).

It runs natively on actual GBA hardware, the only issues it currently has are related to proper save type detection.
 
  • Like
Reactions: Sono
I made a little video xD

XpOhGk0.gif

Thank you my G this looks sick !! I really need to get off my lazy arse and have a play with this
 
We were thinking of doing something more similar to A9SP or the stock firmlaunch where we just put a bunch of data loaded into FCRAM (aligned to some address), then when open_agb_firm boots it'd just have to check a few locations in memory - FCRAM isn't actually properly cleared on reboot. Don't know how doable it'd be for 32MiB carts, since it needs to be loaded into a single physically contiguous location.

(there's this for reference https://github.com/d0k3/GodMode9/blob/master/arm9/source/godmode.c#L2100)

IMHO, it's easier to do a boot override forking fastboot or luma using a little struct in FCRAM in the same fashion. Really easy to do, your code is already compatible with that and not only would allow rebooting from a CIA into open_agb_firm but also writing to FCRAM from open_agb_firm to boot back into another thing.

That could be a really cool feature for this type of special corner cases.

You could even piggyback arguments for open_agb_firm (ROM to load, savedata type...)
If you need further explanation DM me no probs.
 
Last edited by Urbanshadow,
IMHO, it's easier to do a boot override forking fastboot or luma using a little struct in FCRAM in the same fashion. Really easy to do, your code is already compatible with that and not only would allow rebooting from a CIA into open_agb_firm but also writing to FCRAM from open_agb_firm to boot back into another thing.
Yeah one of the things we discussed was to use the already existing launchers and just have fastboot boot open_agb_firm when the BOOTENV is GBA mode (profi is one of the main devs too). Then we just use the firmlaunch parameters set up and that'd be more or less it afaict (havent really tried it myself tbh).
This eliminates the need to write a brand new launcher, but it comes with the problem of save management - though I guess there could be a GM9 script that exports the internal format into something understandable by open_agb_firm.

By the way, if you're more interested in this, we mostly discuss this in #godmode9 @ freenode, or just through the gm9 discord server which has a bridge in place to the irc channel.
 
Last edited by Wolfvak,
Quick reminder for anyone who is trying this now that the first Alpha release has been made official:

profi200 said:
Some people probably noticed when i pushed this file. The idea is to make a database of save types for all GBA games ever released numbered using the no-intro.org database. Similar databases (script to convert) exist but there are a number of problems with them. They are not numbered using the no-intro db and i found several broken games testing only a hand full of them (mostly the less popular games).

The big question: Why?
Because all save type detection attempts so far didn't give satisfying results. The biggest problem are EEPROM games where i just can't properly detetct if 4k or 64k.

I surely won't go over the almost 3000 games alone so i want to make this a community effort.

Rules:

  • Your dump must be a known good dump verified using the linked release database.
  • If you own the original cartridge and it uses a flash save type please open it and identify the save chip used on that cartridge and mark the submitted entry as "verified". This is important to identify the proper flash manufacturer used in a cart.
  • If the first 3 of the 4 letters game code matches for all languages/regions, each entry is for all of them so the same game doesn't need to be included multiple times.
  • If you don't know the save type always start with the smallest size (without Real-Time Clock) and verify the game is saving properly and loading the savegame works. If the game freezes and it's a verified dump it probably means wrong save type.
  • If a game uses a special cartridge with extra hardware like Real-Time Clock mark the entry as such.
To make this easier i will probably make a build including a save type selector later.
This is subject to change.
 
This is awesome! :D If it gets a proper GUI and a way to launch it from the 3DS Home Menu I can definitely see me using this.
 
  • Like
Reactions: VinsCool
This is awesome! :D If it gets a proper GUI and a way to launch it from the 3DS Home Menu I can definitely see me using this.
I prefer launching it how it is now due to how fast you can get a game loaded. No need to wait for system menu to load ect.
 
I prefer launching it how it is now due to how fast you can get a game loaded. No need to wait for system menu to load ect.
+1
GUIs just get in the way of actually getting into what we want to do (IE, play the game). Besides, I presume that something like Twilight Menu++ will integrate this eventually, so people might as well use that as their UI eventually.
 
Would be a bit weird for Twilight Menu since this program relies on 3DS-exclusive technology. It will not work on DS/i at all.
 
  • Like
Reactions: Sono
I'm fanboying over this wonderful piece of software. It works so fucking fast that it feels like a second life has been given to my 3DS.

Gone are the days of long waits while the console reboots itself over and over between each game change (even having to do CIAs for each and every game). Now it's just pressing some buttons and you're ready to go! Fantastic, truly amazing.

Super excited for new updates regarding this, and maybe who knows, somebody makes something similar for the DS firmware on the 3DS. It would be sick Fuck the 3DS UI slowness, this is way cooler. Let that UI be for the 3DS games only.
 
Last edited by BETA215,
  • Like
Reactions: DSoryu and Sono
I prefer launching it how it is now due to how fast you can get a game loaded. No need to wait for system menu to load ect.

That's fair, ideally both methods should be available so everyone can load it how they want.
 
  • Like
Reactions: ber71
The new filter definitely comes in handy with blur and color mixing (zoom in).

Y46YFwV.png
bdBeAlA.png


Now you can print the RTC on the bottom screen ^_^

@profi200 What method do you used to show graphics on the bottom screen through AGB? It has weird scrolling issues on Katsukity's card.
 
@profi200 What method do you used to show graphics on the bottom screen through AGB? It has weird scrolling issues on Katsukity's card.

The card or its software probably can't handle variable framerate. Because it's next to impossible to perfectly synchronize GBA and 3DS LCD output, the 3DS LCD's framerate has to be flickered by repeatedly adjusting how many lines it should draw, and this probably messes with your capture card.
 

Site & Scene News

Popular threads in this forum