While some of these explanations are alright, it doesn’t explain Final Fantasy, Dragon Quest, or a few other larger NES games.
Normal NES carts are limited to a ROM of 40KB. For small games like Super Mario Bros., this is pretty easy by just reusing the same pictures. But what if you wanted to make something *bigger* that needed *more storage*?
Bank switching.
With bank switching, the cartridge has a larger storage than 40KB. This larger size is divided into 40KB chunks, and when something outside of the chunk currently being read is needed, the cartridge switches to another chunk and loads that information for the system to read.
Upsides are great, with more complex games!
Downside is that the cartridges are more expensive to produce.
EDIT: Grammar.
EDIT 2:
Man I should have read the OP more closely.
The maximum storage size for an NES cartridge was 1MB.
Along with this, programming techniques to save space were used. Reusing the same graphics information, programming directly in assembly to optimize space saving, and much more.
Latest Answers