Hardware Profile: Game Cartridges
It’s hard to believe, but the typical cartridge game began to phase out of gaming in 1995 when the new wave of consoles and the subsequent movement to disc-based media began. I’m sure plenty will be quick to point out that the N64 was a cartridge-based console, but I truly believe this decision was the result of Nintendo not wanting to give up the control over manufacturing and sordid history making a machine that read discs. This change happened 18 years ago, which means there is a significant number of gamers that are now in their early to mid 20s that have never played games on a cart. This is truly a shame because the versatility of cartridges is much more abundant than most people realize, but the crutch will always be that carts offer little storage for massive prices. In today’s lesson we will discuss what makes up a cartridge, benefits/setbacks, and how the cartridge was used to literally upgrade consoles for more than two decades.
Anatomy of a Cartridge
For the most part a cartridge is a plastic-encased board containing “read-only memory” or ROM data that has exposed pin connectors (male) that fit into a slot on the reading device (female). Since it’s a complete circuit board, multiple ROMs can be used to store data, which we will get to in a second, and allow for an expanse of memory based purely on the connected printed circuit board (PCB) and the device reading it. Of the most popular uses for ROM carts is software for computers that expands almost solely into gaming once game consoles begin to release. It was the dominant format for many microcomputers, mostly used outside of the United States, and almost all game consoles for two decades (mid 1970s to mid 1990s). Many believe that the use of a cartridge was due to no other decent format being available, but this is simply untrue. By the time carts were in use, programs/games could be loaded via floppy disc (5.25″), compact cassette tapes (not unlike audio cassettes), and removable circuit boards (think arcade machines). The decision to use cartridges was due to the fact that the memory was permanently stored in the chip and memory mapped into the system’s address space (ie: it was basically integrated into the machine). As a result data access was almost instant (no load times), the cart could be used for hardware expansion in addition to loading code, and due to the streamlined process it was very difficult to extract the code and thus safest for mass distribution of software. Unfortunately it was also quite expensive and thus storage space was expensive, not to mention that the code could never be altered or accessed, which made for difficulty with saving and loading.
The first console to use cartridges was the Fairchild Channel F, a game console that predates the Atari VCS/2600 by a year and featured many of the same aspects of the pop culture sensation. It is not as widely known due to the similarity of titles that were mostly archaic sports titles or educational material. Naturally in 1977 when Atari introduced the VCS with arcade ports and diverse addicting third party titles like Pitfall resulted in the streamline of the format. Due to the fact that the cartridge is an integrated part of the machine, Nintendo made heavy use of the cartridge to make both the Famicom and the NES capable of keeping up with changing times for quite a while. Not only that but some carts, especially in Japan where custom chips were allowed, were capable of acting as a game, a hardware upgrade, a save state, and an anti-piracy device all at once. This practice was pretty standard for most consoles that utilized carts until the aforementioned 32-bit era where expansions moved to actual hardware expansion ports and even the N64, which could lean on carts, used ports instead to expand the on-board RAM.
ROM types and Special Chips
The oldest ROM type is Mast ROM, which refers to information stored permanently via integrated circuit when the chip is manufactured. The term “mask” refers to the masking pattern on the integrated circuit when it is created. This is the oldest form of ROM and definitely what went into the creation of Nintendo carts, which were manufactured by Nintendo and worked as a supplemental business to the license fees and cut of each unit sold on the NES. This is the cheapest way to get the most memory, however unless you have a mass production line the masking of the integrated circuits can be a costly endeavor and without the vast quality controls like Nintendo had one poorly made program or coding error can ruin an entire production. You can understand why Nintendo was so strict back in those days, especially because masked integrated circuits cannot, by their very nature, be re-written or reused. The up side is that there is little chance once successfully produced that the chip will suffer decay, failure, bit rot, and various other issues that can plague other ROM types, which is why you will see most classic carts last nearly forever (please note that the save battery memory is a different story). I know that this was the most common type in all Atari consoles, NES, Turbografx-16, and Sega Master System. Beyond that it is entirely possible that the SNES, Genesis, 32X, and portable consoles may have used other formats like Erasable Programmable ROMs (EPROM) that allowed you to reprogram chips with ultraviolet light or Electronically EPROMs (EEPROM) that allow you to erase and re-write electronically. There are generic PROMs that can be created with a ROM burner and remove the need to produce them like a mask ROM, but they are still one time use and were more for arcade and pinball repair, which may mean they can be found in Neo Geo carts. As for Jaguar and N64, I’m guessing EEPROMs, but there’s still a striking possibility that these companies known for mass production of carts since the 80s still made traditional mask ROM carts, especially with the lowering price of PROM and the relative high emulation/piracy of the late 90s. It has been said that PROM, EPROM, and EEPROM may have a higher chance of failure, but most carts don’t seem to have a problem no matter what is used and plenty of fixed arcades have had no problem whatsoever (especially because they can be wiped and reprogrammed). ROM chips typically varied in size from 2 kbit (not to be mistaken for the large 2 kbyte) that held roughly 256 bytes all the way up to the expensive 32 megabit chip that held 4 megabytes. This is why you saw statements on Street Fighter 2 that said things like “32 MBit Chip!” because it was touting massive storage space. Some games are rumored to have even larger ROM chips that compressed data and justified hefty price tags like Final Fantasy III launching for $80 in the US or Street Fighter Alpha 2 having load times on the SNES while data uncompressed. It was all par for the course when trying to get as much data on a cart as possible. I do believe that as RAM was integrated into consoles, like we saw on the N64, that compression and temporary storage allowed for more data to be stored for the larger 3D games of that console.
In addition there can be extra chips placed into the carts to allow all kinds of extra functionality, which basically means the carts acted as hardware upgrades. This makes sense when you think about the massive leaps between launch games and later releases. 2600 carts were pretty straightforward, but NES carts had a few extras like the anti-piracy NES10 chip that was required to be on the PCB in order for the NES to play (if it doesn’t detect this due to a loose connection you get the popular blinking console effect, which is the NES10 chip on the console rejecting the cart). Saving became a large feature as well, which led to almost all cart-based save states to be stored on Static Random Access Memory (SRAM), which was able to keep save data stored after power is cut (uncommon for RAM) provided that a small current still passed through. This is why a lithium button cell CR2032 battery is used in most cases and once that battery dies (typically around 20 years, but can go much longer) the SRAM no longer functions. To fix this, simply de-solder the dead battery from the SRAM leads and solder in a fresh battery to the leads. In Sonic 3 as well as a few others, Sega decided to use much more expensive non-volatile RAM (NVRAM), which was an early form of flash memory we have today and retains information after power is cut, which is why Sonic 3 carts should retain save data indefinitely.
As for expanding the functionality of a console, special chips could literally upgrade a console to allow it to do things it was never intended to do. In Japan the Famicom was allowed to have special chips put into its carts so companies could go crazy on internal development – due to no video game crash, Nintendo did not force Japanese development studios to manufacture carts through them like in the US. This explains the VRC6 chip in Akumajo Densetsu (Castlevania III) that allowed for extra channels on the Famicom’s unused sound port. In America Nintendo began releasing special Memory Management Controller (MMC) chips that allowed for some of the Japanese innovation to happen on the NES, albeit in a stripped form due to the different hardware profile of that console. Here are some of the popular chips:
- UNROM: Split the program data from a 32 kbit chip into two 16 kbit chips, one that stored the data and one that transferred data to RAM chip for faster loading and effects. This was seen early with impressive titles like Ikari Warriors and Mega Man and assisted in side scrolling of dynamic characters and certain effects.
- MMC1: Allowed for save games. In addition to having 16 or 32 kbit ROM programs, 4 and 8 kbit SRAM was integrated and powered with a button cell lithium battery. This was essential to getting Famicom Disk System titles that had save data to run on NES carts such as Legend of Zelda, Metroid, and Dragon Warrior. Although Metroid didn’t support saved checkpoints like the FDS version did, massive passwords allowed pre-stored save data.
- MMC2: Basically split a 32 kbit chip into a 24 kbit chip with two sets of 4kb banks for pre-loaded graphical data. It allowed more graphics to display on screen at once due to the additional banks being only referenced without assets in the main code. Only used for one game, Mike Tyson’s Punch-Out!! to load the massive sprite opponents.
- MMC3: This massively split the memory allocation and integrated a scanline IRQ counter to allow for certain assets to scroll while others remained stagnant. Necessary when keeping dynamic items like consistent scores, life bars, and more fixed on the screen and moving while a second “window” was performing more dynamic gameplay. Nintendo’s most popular chip and key in many large titles such as Mega Man 3 and Super Mario Bros. 3.
- MMC4: Utilized only in Japan for the Fire Emblem titles to create effects similar to the MMC2.
- MMC5: The biggest, most versatile, and most expensive chip Nintendo offered. Developers avoided it like the plague due to the high cost and reduced profit margin. This had several different memory allocations, IRQ counters both horizontally and vertically, allowed for very dynamic effects, and opened extra sound channels along with a 1KB of active RAM. Since Koei was almost the sole user and none of its MMC5 titles came out in America, the only title to really use it was Castlevania III to create a similar, but still inferior, version of the Famicom title in America. The MMC5 chip was so complex that almost all clone consoles do not support it and emulation took a long time to decipher integration of the ROM. For this reason alone Castlevania III was one of the few games you had to have original hardware to run. Emulation is currently no problem however clone systems that run actual carts still do not support the title.
- MMC6: This final mapper chip extended the size of SRAM over the MMC3 chip by 1KB, which allowed for the larger save files of Startropics and its sequel to save games.
There were more custom chips that did eventually show face in America, but these were the most common and basic chips. Nintendo would loosen their policy and generate several custom chips for the SNES as well allowing for all kinds of impressive hardware tricks. Some of those are as follows:
- DSP: The digital signal processor chip allowed for various 2D and 3D calculations in several iterations that allowed for asset conversion for older graphics techniques, rotation effects, raster effects, and mathematics that could all be performed independently on the cart instead of using the SNES. Popular games that used this rotation technique are Super Mario Kart and Pilotwings.
Super FX: This was a supplemental CPU for performing graphics calculations that the SNES simply could not do. Think of it as an external graphics card for the 16-bit console, as it was a separate 16-bit CPU integrated into the cart. Since it had simpler duties than the SNES, the Super FX chip’s iterations were capable of 10.5 mhz and eventually 21 mhz of processing power, which blows past the 3.5 mhz processor of the SNES and allowed for the 3D rendering of titles like Starfox. Later updates allowed for support of larger ROM sizes (for a long time the game program had to be less than 8 mbit or 1 mbyte of data).
- Cx4: This chip was Capcom’s way of showing off rotational, polygonal, and wire-frame effects in the Megaman X series. While the first title used a traditional chip, Megaman X2 and X3 had special test screens and crazy title screens that to this day cannot work on cloned consoles, flash carts, or even later hardware emulation (like the Megaman X Collection on PS2/Gamecube). Of course the emulation community has successfully gotten this working on software-based ROMs.
- SA1: The Super Accelerator chip that independently worked with the SNES as a co-processor creating a faster 10 mhz clock speed over the 3.5 of the original hardware, faster RAM functionality, MMC capabilities (see the NES section above), data storage and compression options, and new region and piracy lock out protection. This chip was essential in certain impressive titles like Super Mario RPG! and Kirby’s Dream Land 3, which cannot currently be replicated on flash carts. Software emulation on both the openware PC scene and official Nintendo Virtual Console titles do support the chip.
There were several others that were utilized for specific function in addition to the Genesis having the Sega Virtual Processing (SVP) chip in Virtua Racing to make the most technically impressive 16-bit game ever created. Unfortunately it also cost $100 at initial launch, wasn’t impressive from a gameplay standard, and doesn’t work with any clone or flash carts out there. Emulation is possible but with varied results.
Well there you have it. A brief breakdown of the technical marvel that was the cartridge and the hardware benefits it provided. It’s almost difficult to imagine a world without load times, where data access is instantaneous (something even flash carts can’t currently do). While it wouldn’t be possible with the massive memory required today and the equally massive cost of manufacturing, there was a time where a few bits in a plastic case meant to world to each and every gamer.
Thanks for writing that great article. I enjoyed reading it a lot!
Alister Smith
April 8, 2017 at 6:40 pm