One thing I have heard addressed, in nostalgia, is that in the realm of nintendo logic, one thing that never made sense was the fact the you could only have 255 coins in the original “legend of zelda”. Naturally in subsequent games, they had limits, but it was usually something that made more sense to us like ’999′ or ’9999′, or set by the limit of some item.
Anyway, there are actually two different reasons why the coin count is set at 255, but they both have a common explanation: battery life. Nintendo cartridges needed to have full circuit boards printed and placed in a manufacturable case. This was long before CD’s were a viable concept, or even a common audio format. In addition to this, it was the prototype cartridge that held a battery that could store a game for 5 years.
Five Years! That was the optimistic lifespan for the system. The damn things still work, too, but you still need to blow on the cartridges.
There was also a design mistake in there. Nintendo changed the old top-loading console design to seem more like a VCR so americans would feel more comfortable with it, unfortunately it spawned a generation of adults who chuckle about blowing into cartridges, and a few serious ones who have cleaning kits that do a better job.
So along with the requirements of being a breakthrough adventure game, and also the breakthrough first party title (before there was even such a concept) that let you save your game, Nintendo had to make some design decisions. Long-term batteries that could save all of your statistics meant needing economizing space. Additionally, they needed to make space for three different players (this was for the “family computer” after all).
In order to be a breakthrough cartridge and make the most of the hardware, as well as accruing the new per-byte battery cost, the data that was actually saved had to be packed as efficiently as possible. A quick dig through of the save memory state should be illuminating.
First a quick overview of bytes. A byte is 8 bits, a bit is a 1 or a 0. I’m sure you have heard of this before. There are actually 2′s in binary, they just take more than one bit, but with binary counting (just think of a digit counting from 0 to 10 for each digit — actually, dont do that).
Regardless, the bit counting system proceeds on base 2, the way that the decimal counting system proceeds on base 10. Base 10 numbers are written much more compactly, just compare:
BIN DEC
00 00
01 01
10 02
11 03
…and so on. To represent 4, you would need an extra digit. A 5 year battery (think of how long your remote control lasts), is really just persisting a bunch of ones and zeros. In this case, not too many.
Since the base is 2, the numbers that can be represented with a single digit progress by a power of 2. The same principal works for the more common digits: each new digit is a power of 10. 1 10 100 1000, etc. This can be hard to wrap your head around, but since these devices all work on electrons, they can only be charged, or grounded. On or off. When dealing with computers they work with a base level width, in most operating systems it is called a word, and the length that the cpu can see as an instruction or data. For NES, a word was 8 bits, and the battery was based on it. 8 Bits marks 256 different combinations, ranging from 0-255 if you are just counting them.
So the battery costs more per bit, and each bit doubles your data store. When do you stop paying for extra rupees? What does it take to cram the rest of the games data into a minimal space? I’m going to try to count the pieces stored (since I can’t find an actual tech doc).
The pieces stored, per game, in bits, follows:
Rupees: 8 bits
Triforce pieces: 8 bits
Dungeon Maps: 9 bits
Dungeon Compass: 9 bits
Locations:
Warps: 4 bits
Bomb Locations: Approximately 10 bits (too lazy to count).
Items:
Heart Containers: 15 bits
Quest Items: Approximately 16 bits.
Dungeon Maps: 9 dungeons x 8 width x 8 height: 576 (unoptimized)
That last one I am not so sure about, since I don’t think they are physically represented by the dimensions of the largest map, but again I don’t know how they are put together.
For the battery, each of those bits is tripled (3 save games). Each one of those bits added a research and manufacturing cost to the cartridge, the reason it was cut off at 8 bits is that there was no need to give the player more, there were probably other more practical optimizations, but I would need to actually take the save apart to do that.
Whatevs.