ROM Hack [Release] Ultimate GBA VC Injector for 3DS

  • Thread starter Thread starter Asdolo
  • Start date Start date
  • Views Views 1,479,262
  • Replies Replies 1,519
  • Likes Likes 135

Add the feature to patch already existing GBA CIAs to modify ghosting and color options?

  • Yes

    Votes: 73 82.0%
  • No

    Votes: 2 2.2%
  • I don't care!

    Votes: 14 15.7%

  • Total voters
    89
  • Poll closed .
Anyone ever have success with games like SMA4 with flash saving to work properly? Looks like you needed to SRAM patch it because no GBA VC emulator supports flash saving, or does it?
 
I'm looking for a way to SRAM patch the rom so it works with the emulated save method of GBA VC. I believe that is SRAM only.
GBA VC isn't a emulator. NSUI beta 27 should be able to inject the rom with the correct save type. If not, you can trick the program to inject the rom to a different save type.

See this for example,
***

mGBA is an emulator. If you have a n3DS, n3DSXL, or n2DSXL, see if the latest nightly build can your play your games.
 
  • Like
Reactions: PrincessLillie
GBA VC isn't a emulator.

GBA VC is an emulator, an official emulator from Nintendo, packaged with one specific game. I know that there are no GBA VC games available from Nintendo that support flash saving, unless there are Pokemon games from Nintendo, but I'm not aware of any.
 
GBA VC is an emulator, an official emulator from Nintendo, packaged with one specific game. I know that there are no GBA VC games available from Nintendo that support flash saving, unless there are Pokemon games from Nintendo, but I'm not aware of any.
As stated before, GBA VC is not an emulator. It's a hypervisor where due to the 3DS family of systems inheriting hardware that traces back to the DSi → NDS → GBA, it's able to natively play GBA games with ~1-to-1 backwards compatibility.

If GBA VC was an emulator, one would have been able to use 'save state' like the other Virtual Console series (GB, GBC, NES, SNES, GG, etc), those of which are emulators.
 
  • Like
Reactions: PrincessLillie
As stated before, GBA VC is not an emulator. It's a hypervisor where due to the 3DS family of systems inheriting hardware that traces back to the DSi → NDS → GBA, it's able to natively play GBA games with ~1-to-1 backwards compatibility.

If GBA VC was an emulator, one would have been able to use 'save state' like the other Virtual Console series (GB, GBC, NES, SNES, GG, etc), those of which are emulators.

I apologize, you are right. How are saves handled then?
 
When NSUI injects GBA roms into installable CIAs, the program reads that rom's internal serial code, looks this up in its database what that game's specific save type should be based on that serial code, and then adds that setting to something known as the .CAA footer that's attached to the end of GBA rom in that CIA.
When you launch a GBA VC, the 3DS switches from NATIVE_FIRM (3DS mode) to AGB_FIRM (GBA mode) where that footer tells the GBA firmware what save type that particular rom uses.

If one was to be randomly given a GBA rom with no prior knowledge of that game and no emulator to play it, that person would not be able to know the save type it uses. You would have look for this info at websites like www.advanscene.com.

NSUI is pretty good most of the time selecting the correct save type whenever making GBA VC injections but may occasionally hiccup when it comes to very obscure retail games, romhacks, or homebrew fan made games. To get around that limitation, you can trick NSUI into picking a different save type by hex editing the GBA rom's serial code (see the link in my post #1449).
 
Last edited by TurdPooCharger,
NSUI is pretty good most of the time selecting the correct save type whenever making GBA VC injections but may occasionally hiccup when it comes to very obscure retail games, romhacks, or homebrew fan made games. To get around that limitation, you can trick NSUI into picking a different save type by hex editing the GBA rom's serial code (see the link in my post #1449).
Doesn't the NSUI let you change the save type in the application before you build the CIA? What's the difference between specifying the save type in the NSUI and hex editing the ROM so the NSUI auto-detects it (other than the obvious)?
 
Doesn't the NSUI let you change the save type in the application before you build the CIA? What's the difference between specifying the save type in the NSUI and hex editing the ROM so the NSUI auto-detects it (other than the obvious)?
NSUI only lets you choose save types of the same size and memory type for a specific game based on that serial code-to-database lookup. Of the 15 possible save types, some can be used interchangeably. Let's say you want to inject Advance Wars (USA). NSUI will present six (6) Rom save type(s), but only three (3) are valid choices for that game.
  • Flash 512k (atmel, ID: 0x3D1F)
  • Flash 512k (SST, ID: 0xD48F)
  • Flash 512k (Panasonic, ID: 0x1B32)
The other three (3) +RTC counterparts of those save types are not compatible for Advance Wars... It's up to the user to determine whether or not their particular game uses RTC. You can read this article that talks about the interesting background of GBA save types.
Because of that serial code lookup, you may run into a problem injecting a romhack that's been modified so extensively that it no longer uses its base game's original save type. For fan made GBA games, NSUI may assume these have no save type because they lack serial codes or have custom serial codes that are not officially recognized / listed in that database. A few, rarer retail games are presented with the wrong save type due to revisional re-releases.
 
  • Like
Reactions: PrincessLillie

Site & Scene News

Popular threads in this forum