For some, the simple idea of inserting a cart and instantly playing their favorite game may seem like black magic. For others, it’s a journey where electrical currents and bits work together to beautifully orchestrate a masterful display of pixels.
Whether you’re a hardcore enthusiast or simply curious, anyone can unravel the mysteries found inside a GB/GBC/GBA cartridge, no matter how intuitive the functions of the Game Boy, Game Boy Color and Game Boy Advance may or may not seem. In this article, we’ll be showing you opened cartridges and inspecting one of the most important components, namely the memory.
To get started all we’re going to need is either a 3.8mm screwdriver (for GB/GBC) or a tri-wing screwdriver (for GBA). Use it to loosen the screw on the back and then open the cartridge case.
As you can see in the photo above, the architecture of the PCB (printed circuit board) can vary quite a bit from game to game. However, no matter how different the design may look, there is one common element: the ROM (Read-Only Memory).
You may have heard this term used to refer to a video game. That is because the game itself is stored on the ROM. Official games are made to only read data from this memory, while most bootlegs/unofficial games feature the ability to write new data, replacing the one already there. This means that a new game can be uploaded onto the cart. If you are unsure whether your copy of a game is official or not, check out our article on how to spot an unofficial game (available here). An easy way to identify the ROM is by its size. Usually, it’s the largest component on the circuit board.
When it comes to storing saves, memory that is capable of both reading and writing new data is necessary.
Original GB/GBC games capable of storing saves use SRAM (Static Random-Access Memory). Data stored on SRAM is lost when power is removed, therefore it requires an external source of power such as a battery. This is the reason why, if the game battery dies, you also lose your save - the SRAM loses its fuel!
What makes GB/GBC stand out is the MBC (Memory Bank Controller). The MBC acts as an additional piece of hardware for the GB/GBC, allowing them to read larger ROM and RAM sizes (without an MBC, the GB can read a ROM of 32 KB). Basically, the GB/GBC reads one section (called a bank) of the ROM at a time and the MBC is used to switch between banks. Some MBCs are used to offer support for external hardware such as rumble and light sensors. The most commonly found MBCs are MBC1 and MBC3. Quite often, the type of MBC is written on the component itself.
GBA games that store saves feature one of the following types of memory:
SRAM (Static Random-Access Memory)
Early official GBA games also used SRAM, which is why some official games have a built-in battery (except for Pokémon RSE which use a different type of memory but still features a battery used for its real time clock). Most bootleg cartridges use SRAM due to its cheap price.
FRAM (Ferroelectric Random-Access Memory)
FRAM acts almost the same as SRAM, the only difference being that FRAM does not require a battery to store saves. Games with SRAM are fully compatible with FRAM memory, which is why some releases of the same game may or may not feature a built-in battery.
EEPROM (Electrically Erasable Programmable Read-Only Memory)
GBA games with EEPROM memory came out later and are incompatible with SRAM and FRAM carts. EEPROM does not require a built-in battery to store saves and as we can see in the above example, it is noticeably smaller compared to other types of memory.
While Flash memory is based on EEPROM technology, saves generated for Flash memory are incompatible with SRAM, FRAM and EEPROM. Flash memory is used for games that generate a large save file.
How to find out what type of memory your GBA cart uses to store saves
When it comes to official GBA games, the type of memory used to store saves is written on the PCB.
If that’s not the case, then a simple search on the internet of the component datasheet (based on the photo above, the search term would be “R1LV010880ESA datasheet”) will provide the necessary information.