GBA Patching

Discussion in 'GBA - Hardware, Devices and Utilities' started by MasterPenguin, Mar 23, 2009.

  1. MasterPenguin

    MasterPenguin GBAtemp Fan

    Jul 16, 2008
    Well. I'm not needing any help, but I do have a question.

    Why do GBA games need to be patched before playing, and NDS do not? Just curious.
  2. how_do_i_do_that

    how_do_i_do_that Blue Wizard is about to die.

    May 16, 2008
    You have insufficient posts to view user location.
    On the gba side, there are about 12 or so different save types while the DS only has 1. There are still the save size that is still variable.

    The RTC is located on the gba flashcart if it uses one, while for the DS the RTC has been moved to the DS itself.

    Thats why all DS carts are ultra small, everything has been almost internalized into the DS itself.

    Not at gba flashcarts support every save type so patch is needed. same with RTC. Then there are those gba carts with built in rumble or some light sensor, etc, those require patching too.
  3. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United States
    For the record most DS flash carts (DS slot included) also patch roms in some manner (either to play it in the first place or to add cheats and the like) but it is invisible to the casual end user, to expand on what how_do_i_do_that said.

    (Fortunately) We left the era of passcodes behind for the most part. To do this game companies use sections of memory to save the various things that need noting down for next time.
    There are many methods of electrical storage (the GBA uses SRAM, flash and EEPROM, the DS just flash and EEPROM although both systems have many subtypes) each with advantages and disadvantages but as money is the order of the day then "cheapest thing that works for the game you have made (and sometimes they still skimp on things)" means a whole bunch of different types of saves.

    GBA games do not have the save type easily available but you can search the rom for it (DS do not have it at all but this is a different matter), this is damn hard to do on a slow system like the GBA or even DS especially without special instructions or you can make a big list of games, their saves and the location of the save code (not that great an option if games are still coming out).

    Then you deal with the legacy of flash carts, in case you missed it thus far in life no engineer ever makes anything truly new primarily as that is damn hard to do and secondly as even if it is possible it is a lot of effort and when you already have something that works which you invested a lot of time into.....
    This means that while we use a large bank of ram to run stuff from now the first carts were all NOR which is very fiddly to work with (you can not just erase a given file and write something new) and certainly can not do things like patching after the fact like we can with DS games*.
    The fact the first ram using (or should I say large NAND section) cards were mainly custom hardware again with no SD/CD card that normally meant custom programs to flash them which meant patching could quite easily stay program side (there were a few carts that appeared as a normal drive after drivers were installed but they did not catch on for other reasons).

    *although this could be a paragraph by itself the GBA rom is all there in the memory, the DS loads the binaries up into the (writable) ram and then goes from there (this is a good time to patch things), in some cases we avoid patching the DS binary and change a piece of hardware to mimic the type of save (this is how savelists work and why carts using it can usually run roms that need patching on other carts) meaning very little has to be done. This save type emulation was known to emulator authors who used it (the fact you may have had to choose the save type in VBA was due to overly simplistic detection code) but it never hit the hardware market for GBA carts and consequently patching stayed with us.

    As how_do_i_do_that mentions you also have RTC patches, link cable patches, piracy patches (see classic nes/famicom mini, DBZ titles and a handful of others) and other custom hardware (rumble, light sensor, tilt sensor and all the various other things).

    Hope that answered your question.
  4. MasterPenguin

    MasterPenguin GBAtemp Fan

    Jul 16, 2008
    Thanks. [​IMG]