Hardware add more then one gba rom to one gba file

jamespoo

Well-Known Member
OP
Member
Joined
Mar 4, 2011
Messages
693
Trophies
0
Location
Auckland
XP
1,729
Country
New Zealand
i have a handheld that plays gba roms but device has 1gb built in storage but when you put roms on your sd card and put in back into the device you have to click update on menu and then it will load the rom off the sd card to the built in memory but it can only have 1 .gba rom file on the built in memory at a time :( kinda like how the super card sd works

is there a way to make a multicarts have a bunch of gba on then games in one .gba file
 
Last edited by jamespoo,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,536
Trophies
2
Website
trastindustries.com
XP
25,448
Country
United Kingdom
Not via simple software means.

The GBA hardware setup and coding approach means it is maybe not as completely opposed to the notion as some things I could cook up but about as close as you will ever see in sensibly designed electronics.

It is possible on some older systems (or some games for them) because of some aspects of bankswitching, it is possible on newer systems with file systems behind them because it is just files and it is easy enough to redirect things there (it is probably what the hacked device is already doing for the likes of hard drive/USB/SD loading), the GBA however is the worst of everything here really.

To do it on a GBA....

The GBA has 3 locations where all 32 megabytes of space 99% of commercial ROMs use ( https://mgba.io/2015/10/20/dumping-the-undumped/ for the exceptions, http://problemkaputt.de/gbatek.htm#gbamemorymap for the memory map used by everything else). It has two instruction sets. It is new enough that people could be using calculated pointers and others pointer maths extensively that might not show to basic static analysis (not that said static analysis is in any way easy to begin with).
Also on older systems you have a better chance of being able to find every random jump via more practical means if a given playthrough and few choice alternatives is likely to encounter them all -- for something as essentially random* as a lot of GBA games... please don't make me think of what that would take.

*the simplest code is often something like a conversion tool that goes through everything, does operations on every byte from start to finish and then exits, this is not games but a NES platformer wherein you play through 8 levels or die trying is rather different to something like megaman battle network where you have battles, minigames, alternative battle types, the ability to go to one of 10000 locations at essentially any point you like, reset, load a save... and even a 8 levels platformer on the GBA probably has a few oddities that the NES coders would not likely have done but were expected by this point as far as reset, level select, sound options, maybe some graphics options, link play perhaps, score tables, saves, bonus levels....

You would have to hunt down every pointer and change it, figure out every calculation done (in both instruction sets the GBA has), figure out every type of read to the ROM at every point in the game and make sure it is going where it needs to be, for every would be second game, also some means to select it but if you can do the former then the latter is trivial and you could probably do that with a cheat simply enough. Devs with source code to the games could do this easily enough (it is why we saw all those ? in one titles later in the GBA life, most of which were not exactly million selling titles in the first instance). Indeed say you wanted the Advance Wars games bundled I would grab that Japanese double pack and probably translate it from scratch (not just port the more than acceptable existing English scripts, whole translation from the ground up) sooner than trying to merge the two US ROMs.

When in every previous instance this has been contemplated then "buy a better flash cart", "get a better emulator" or "the piece of hardware you are trying to play this on is clearly a piece of junk, get something better" has been the simpler solution...
 

pokopo

New Member
Newbie
Joined
Aug 6, 2019
Messages
3
Trophies
0
Age
42
XP
35
Country
Slovakia
Hello, and sorry for the necromancy. I have a similar problem - trying to merge a couple of gba games into one gba ROM that would allow me to pick a game using some sort of menu (same thing as with GB/GBC games and the Goomba tool). Went through the topic, but looks like I'll need step-by-step instructions I'm afraid.

Thanks for any help.
 
  • Like
Reactions: jamespoo

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,536
Trophies
2
Website
trastindustries.com
XP
25,448
Country
United Kingdom
Hello, and sorry for the necromancy. I have a similar problem - trying to merge a couple of gba games into one gba ROM that would allow me to pick a game using some sort of menu (same thing as with GB/GBC games and the Goomba tool). Went through the topic, but looks like I'll need step-by-step instructions I'm afraid.

Thanks for any help.
Not going to happen without serious serious effort, far more than it would be worth compared to just getting a better emulator, a flash cart, or a better GBA playing device.

I did a slightly more technical explanation the other day.
https://gbatemp.net/threads/add-more-then-one-gba-rom-to-one-gba-file.544316/#post-8729509
 

pokopo

New Member
Newbie
Joined
Aug 6, 2019
Messages
3
Trophies
0
Age
42
XP
35
Country
Slovakia
I actually have the same device (the PokeGear handheld. Maybe some moderator will want to move the posts there). Ok, so not doable in any kind of fashion? Even a couple of games in one package would do, don't need dozens.

Tried to play around with the EZclient4, but the output file seems to only contain one ROM no matter what I select when compiling, is that supposed to happen?
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,536
Trophies
2
Website
trastindustries.com
XP
25,448
Country
United Kingdom
Moved to this thread then.

If you wanted to spend possibly hundreds of hours to get two ROMs together (just the two you picked, pick another and you are back to many many hours) then it is physically possible. There might be a few slight shortcuts if certain existing games work in certain ways* (stuff like phantasy star collection, the existing ? in 1 titles, advance wars double pack, maybe able to keep one of the Zelda titles from the SNES Zelda port + four sword thing) but that will be a limited selection, and possibly still many hours of work. No hacker is likely going to do it for you as it does not give anything special for doing it like some similar things with NES mappers, GB/GBC MBCs, or all the modern enhancement chips we are seeing from SNES and megadrive/genesis stuff. It is also not even remotely close to a good candidate for something to learn hacking with -- there are harder/more involved things you could be doing but not many.

*if you have source code to the game, like the devs presumably would have, it is easy to sort. One of the ways to stick two games together is to do just that and put them one after the other and have some little menu to jump to them. Theoretically then if it is one after the other you could keep the second game and overwrite the first with another ROM (maybe recreating the menu section elsewhere in the ROM). I don't know how many do this offhand as it is not the sort of thing most hackers look at (the ? in 1 games rarely do anything special, fix bugs or the like, and you would also not want to waste the space either, not to mention most of them are not great games and also include things like the health and safety screen) but Zelda is probably out if my memories of hunting for graphics in it are anything to go by. Phantasy Star collection might be OK as the way it seems to work is it resets into individual games (such things bother cheats so that is why people know of that).

EZ4client only patches the individual ROMs, even the older programs for older carts just do that but move it onto the flash carts they handle. If you found even older stuff, possibly related to pogoshell, then that works only because of the way the specific flash carts it knows about work.
 
  • Like
Reactions: DanTheManMS
General chit-chat
Help Users
    Veho @ Veho: Oh well, now you have pigs in an eiderdown.