8

I've noticed that most N64 cartridges don't have batteries, but about 12 of them do. According to a google search, the cartridges without batteries use EEPROM and the cartridges with batteries use SRAM.

If EEPROM doesn't require batteries why didn't all carts use them? The two theories I have right now are that either SRAM was cheaper or that SRAM supported larger saving sizes.

If you're curious, here's a list of the 12 games that contain batteries:

  • 1080 Snowboarding
  • F-Zero X
  • Harvest Moon 64
  • The Legend of Zelda: Ocarina of Time
  • Major League Baseball featuring Ken Griffey Jr.
  • Mario Golf
  • The New Tetris
  • Ogre Battle 64: Person of Lordly Caliber
  • Resident Evil 2
  • Super Smash Bros
  • WCW/NWO Revenge
  • WWF: Wrestlemania 2000
8

Various claims have been made about this, mostly along the lines of "SRAM is cheaper" (and compared to flash RAM, it is).

But the most credible reference I've seen explains that of the options available at the time, SRAM was the least expensive one that could still fit save data for those games. EEPROM was less expensive, but had a much smaller space available for saving data for each game. Some games (those twelve, presumably) needed to save more data than could fit in an EEPROM, and so they had to use the more expensive SRAM option. Flash RAM was available as well and had even more storage than SRAM, but was also a lot more expensive than even that.

From https://www.resetera.com/threads/psa-some-of-your-nintendo-64-save-game-files-may-be-at-risk.55211/page-3#post-21331175:

N64 developers basically had 5 options for save storage:

4kb EEPROM (512 bytes)
16kb EEPROM (2048 bytes)
256kb SRAM (32,768 bytes)
256kb SRAM Controller Pak (32,768 bytes) (some 3rd party Paks had even more memory)
1Mb FRAM (131,072 bytes)

EEPROM was the cheapest to produce but a lot of developers moved to SRAM because they needed more storage for their save files. Most developers went with SRAM over the battery-less and much greater capacity Flash memory because they were already forking over $30 or more on production costs alone for the N64 cartridge (deja vu with the Switch right now) and Flash memory was extremely more expensive back in the day. Only a small list of games actually used FRAM like Paper Mario and Pokemon Stadium 2 for example.

| improve this answer | |
  • Hmm, what would "The New Tetris" need more than 2k of save data for? – user Mar 11 at 16:35
5

http://micro-64.com/database/gamesave.shtml lists three different methods of saving games on the Nintendo 64:

  • EEPROM, 512 or 2048 Bytes
  • battery-backed SRAM, 32 KBytes
  • Flash, 128 KBytes

You'd have to analyse each games saving requirements to know why the designers chose which options, but the trade-offs between EEPROM and battery-backed SRAM in the late 90s basically were

EEPROM:

  • requires no external battery, so cheaper for small capacities, i.e. when the game state fits in a couple of KB at most
  • slow to write to (in the order of milliseconds, perhaps even 10s of milliseconds per byte)
  • requires separate save routine
  • prone to data corruption when powered off during write
  • limited number of writes

battery-backed SRAM:

  • cheaper per Byte, but requires external battery, so cheaper if you need to save a large game state
  • battery "free" (or rather, a sunk cost) when the game also includes a real-time clock
  • can be included in the main memory map and used for in-game purposes (though I'm not sure the N64 did that; the 8- and 16-bit consoles did); no specific "save" needed in this case
  • save fast, regular memory write
  • unlimited number of writes

Flash probably replaced SRAM late it the system's life.

| improve this answer | |
2

Cost would be the main factor. Only 512 byte and 2048 byte EEPROM chips were used in Nintendo 64 cartridges, while the SRAM chips were much bigger at 32Kb (32,768 bytes). EEPROM at this size would've been too expensive. Some Nintendo 64 cartridges used 128Kb (131,072 byte) flash memory, but this would've been the most expensive option.

Another factor might have been speed. The EEPROM and flash memory are much slower when writing because of the need to erase the memory being written to before programming it. The EEPROM chip, and I assume flash chip, were connected serially which may have also slowed down accesses.

| improve this answer | |
1

The NES has 2KB of built-in RAM. EEPROM on a cartridge could store "game-save" data with power off, but was slow to access. Battery-backed RAM (8KB in all cartridges I know of--not 32KB) could be used not only to store game-state data, but could also be used as an extension to the 2KB of RAM in the system. Some cartridges that didn't need to hold game state with power off used 8K of non-battery-backed RAM to extend the amount of fast-access storage available during a game. If a cartridge would need expansion RAM anyway, and if there was enough space in the expansion RAM to hold "game-save" data, adding a battery would be cheaper than adding an EEPROM separate from the RAM.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.