SYSTEM NOTICE

Auto translation by AI. Be sure, accuracy, nuances and authorial intent may not be fully reflected.

FRAM/nvSRAM Conversion for Game Boy Software

(This is written differently from what I wrote on Hatena Blog, but the content is mostly the same. There is also a version here that explains it in more detail.)

What are FRAM and nvSRAM conversions?
Except for MBC7 software that uses EEPROM, such as Kirby Tilt 'n' Tumble, or software without save functions, all Game Boy software save data uses a CR-type button battery + SRAM storage method. Although some original CR-type button batteries have lasted for about 30 years, they eventually run out of power, creating a need to save data without batteries. Therefore, FRAM and nvSRAM conversion methods were born, which involve replacing the SRAM with FRAM or nvSRAM to continue saving data.

What is FRAM?
FRAM stands for ferroelectric random access memory and is a type of material that stores digital data without external power. While the upper limits of read/write speeds differ from SRAM, the original SRAM is relatively slow at 70ns, so current FRAM speeds are more than sufficient.
However, there are differences in the operating mechanisms between FRAM and SRAM (Note). Due to these differences, there are some software titles that experience malfunctions when converted to FRAM (e.g., the Pokémon series, Super Mario Land 2: 6 Golden Coins, etc.). Such malfunctions can be resolved by mimicking the FRAM behavior to SRAM through the addition or reconstruction of electrical circuits, but conversely, this additional circuit may prevent FRAM-converted software from working on compatible devices like the Analogue Pocket or FPGBC, so it is better not to use this type of software on anything other than genuine GB, GBC, or GBA consoles when performing an FRAM conversion.
(Note) The FRAM mechanism can only visit one address and one data point per "instruction," whereas the SRAM mechanism can visit addresses and data continuously with a single "instruction."

What is nvSRAM?
nvSRAM stands for non-volatile SRAM. It is a material that adds one non-volatile unit to one SRAM cell and uses an auto-save function or similar to copy data from the SRAM to the non-volatile unit when the power is cut. Its behavior when powered is exactly the same as SRAM, so malfunctions due to behavioral differences like those seen with FRAM do not occur.
However, the production of 28-SOIC standard nvSRAM that can be used for Game Boy software has been discontinued, so all available products are limited to existing stock or unreliable junk/reused items.
Also, there are two types of data saving methods for nvSRAM: "automatic saving" and "manual saving." Due to the nature of GB software, save methods other than "automatic saving" cannot be used, so additional circuits must be created for "automatic saving" to avoid using models dedicated to "manual saving."
Note that "nvSRAM" and "NVSRAM" are different. Both are products that combine SRAM and a non-volatile unit into one, but the non-volatile unit of the uppercase "NVSRAM" uses a built-in battery, while the non-volatile unit of the lowercase "nvSRAM" is similar to EEPROM.

What is the lifespan of FRAM and nvSRAM?
For FRAM, the lifespan is counted by the number of reads. While it can withstand 10 trillion reads at room temperature and pressure, for games where SRAM (FRAM) is used not only for save data but also as extended memory, such as Pokémon, thousands of reads occur per power-on cycle compared to one read per power-on cycle for other software, so the lifespan drops from 10 trillion to 1 billion reads.
The SRAM portion of nvSRAM has an infinite lifespan, but the non-volatile unit portion has a lifespan of 1 million cycles, which is shorter than the 1 billion cycles of the "Pokémon FRAM conversion" mentioned above. The operating method of nvSRAM (automatic saving) is "power on -> read -> power off -> write via auto-save," so the lifespan is counted once for every power-on cycle. Therefore, you should avoid frequent power ON/OFF operations when using nvSRAM-converted software.
Also, the lifespan decreases rapidly at high temperatures, so you should keep it away from heat sources such as sunlight, kitchens, and kotatsu.

FRAM conversion procedure
Basically, you can just replace the SRAM as is.
Using a heat gun is clean and recommended, but for intermediate users and above, a soldering iron is sufficient.
However, if you replace it as is, there is a risk that save data will be erased when changing consoles (e.g., GBC to original GB), so as a countermeasure, it is better to attach a 10kΩ pull-up resistor between VDD and CE.
For the "circuit construction to mimic SRAM behavior" for the Pokémon series, 6 Golden Coins, etc., please build it according to the diagram below.

Additional circuit construction for Pokémon, 6 Golden Coins, etc.
(Not compatible with Analogue Pocket/FPGBC)
(A functional improved version was developed by s-kun, but it has not been tested on anything other than Gold/Silver)

References: obskyr.io, reddit, R-kun, s-kun, Osero Channel, etc.

nvSRAM conversion procedure
It is considerably more complex than FRAM.
First, replace the SRAM.
Next, follow the datasheet of the nvSRAM chip to create an external circuit with capacitors and resistors necessary for the save function when the power is cut, called "AutoStore."
(GB software cannot use the "manual save" function of nvSRAM, and save data cannot be stored in the non-volatile unit unless it is AutoStore (automatic save). Therefore, be aware that the "STK11C88," which is dedicated to manual saving, cannot be used.)
Also, although the behavior of nvSRAM is the same as SRAM, to ensure the safety of the circuit, it is essential to install a pull-up resistor (10kΩ) between VDD-CE or VDD-WE.

Commonly used FRAM chips
(Most are RAMTRON, Cypress, with subtle differences in compatibility)

※ Products sold at 10% to 20% of the prices below are highly likely to be reused items that have reached the end of their lifespan, so even if you find two or more good items out of ten, you should not skimp and should use new products for software you intend to play seriously.
※ The author has encountered cases where all 10 out of 10 items were defective, so I currently only use new products for models that are available as new.

FM18W08-SG
・32KB 3.3V / 5V dual-use model, highest versatility
・Genuine products from Digi-Key and Mouser are ¥1904/piece (2024)

FM16W08-SG
・8KB 3.3V / 5V dual-use model
・The price of a new product is half that of the FM18W08-SG
・Genuine products from Digi-Key and Mouser are ¥947/piece (2024)

FM1808B-SG
・32KB 5V-only model
・Optimal for 5V environment GB software, but operational malfunctions for individual software that appeared in the predecessor model FM1808-70-SG have not been verified
・Genuine products from Digi-Key and Mouser are ¥1960/piece (2024)

FM1808-70-SG
・32KB 5V-only model
・Predecessor model to the FM1808B-SG
・It is said that this must be specified for the normal operation of the N64 Pokémon Stadium series
・However, there is a malfunction in the suspend save function of Dragon Quest 3
・Since production has been discontinued, these are almost all junk or reused items

FM28V020-SG
・32KB 3.3V-only model
・Optimal for FRAM conversion of 3.3V environment GBA software (as a substitute for the Fujitsu MB85R256 adopted by Nintendo officially)
・It is possible to "visit addresses and data continuously with a single instruction" like SRAM, but forcing it to operate in a 5V environment GB software may cause a reduction in lifespan due to overvoltage operation or malfunctions in compatible devices such as the Analogue Pocket
・Genuine products from Digi-Key and Mouser are ¥1927/piece (2024)

FM28V100-TG
・128KB 3.3V-only model
・Since commercially available 128KB FRAM nvSRAMs are only 3.3V-only, a Level Shifter must be built when adopted for flash card manufacturing
・Since the maximum withstand voltage is as low as 4.5V, there is a high risk of lifespan reduction or sudden death due to overvoltage operation if you forcibly use an adapter without a Level Shifter and attach it to Pokémon Crystal, Cho GALS! Kotobuki Ran, GB Memory Cartridge, etc. Therefore, using it without connecting VDD is being considered (in this state, the voltage of all pins becomes 4.3V)
・Genuine products from Digi-Key and Mouser are ¥3278/piece (2024)

FM20L08-60-TG
・128KB 3.3V-only model
・Predecessor model to the FM28V100-TG
・Since the maximum withstand voltage is relatively high at 5.0V, it is suitable for FRAM conversion of Pokémon Crystal (adapter required) (if used without connecting VDD, the voltage of each pin is 4.3V, which is the safest)
・Note that since production has been discontinued, these are almost all junk or reused items

Fujitsu MB85R256
・32KB 3.3V-only model
・The one officially adopted by Nintendo for GBA software
・The maximum withstand voltage is as low as 4.6V, and there is a high risk of lifespan reduction due to overvoltage operation if forcibly operated in GB software
・Since production has been discontinued, these are almost all reused items pulled from genuine GBA software

Commonly used nvSRAM chips

STK12C68
・8KB 5V-only model

STK15C88
・32KB 5V-only model
・The additional circuit required for AutoStore (automatic saving) is simpler than other models

STK11C88
・Since there is no auto-save function, it cannot be used for anything other than flash cards
(Manual saving cannot be realized with GB software as is, and it cannot be used at all unless you follow the datasheet to create and apply a patch to the ROM)

STK14CA8
・128KB 3.3V-only model
・Although it is compatible with Pokémon Crystal, etc., in terms of size, the maximum withstand voltage is very low at 4.1V, and there is a high risk of lifespan reduction or sudden death due to overvoltage operation even if you forcibly operate it at 4.3V per pin without connecting VDD