← All Essays
Technology 13 min read

How the SNES Actually Worked

Mode 7, the SuperFX chip, and the hardware tricks that kept Nintendo competitive when the Genesis had a faster processor

The base hardware

The Super Nintendo Entertainment System used a Ricoh 5A22 processor — a modified version of the 65816, itself an extended descendant of the 6502 family that had powered the Apple II, the Atari, the Commodore 64, and the original NES. The 65816 was a 16-bit extension of an 8-bit architecture, which gave it backward compatibility with existing 6502 code and a programmer base that understood it, but also meant its design carried legacy constraints. The processor ran at 3.58 MHz in normal mode and could slow to 2.68 MHz when accessing certain hardware peripherals.

The graphics were handled by two PPU (Picture Processing Unit) chips working in tandem. They could display up to 256 colours simultaneously from a palette of 32,768 possible colours, at a native resolution of 256×224 pixels for most games. The PPUs managed eight layers of graphics — background layers and sprite planes — that could be mixed and prioritised to create the appearance of depth. The sound was handled by a Sony-manufactured SPC700 chip with a dedicated DSP, operating independently of the main CPU. The system had 128 kilobytes of RAM for the CPU and 64 kilobytes of dedicated video RAM.

On these specifications alone, the SNES was not obviously competitive with the Genesis in raw processing terms. Nintendo's response was not to redesign the processor but to build a system in which the processor's job was handled partly by specialised chips that could be included in game cartridges. The cartridge port gave game developers access to the SNES's internal bus, which meant a chip inside the cartridge could communicate directly with the console's hardware. This architecture — the co-processor in the cartridge rather than in the console — allowed Nintendo to add capability on a per-game basis without redesigning the console itself.

Mode 7

Mode 7 is the most famous of the SNES's graphics modes, partly because it was extensively used in the console's most visible early games and partly because the visual effect it produces is distinctive enough to be immediately recognisable. What it actually does is simpler than the effect suggests.

The SNES PPU supports eight background graphics modes, numbered 0 through 7. Modes 0 through 6 handle standard layered backgrounds in various colour depths and configurations. Mode 7 is different: it renders a single background layer using an affine transformation matrix. An affine transformation can translate (move), rotate, scale (zoom in or out), and shear (skew) the background layer. In practice, this is used to simulate a perspective view of a flat plane — the classic Mode 7 effect of a ground plane that recedes into the distance, as seen in the overworld map of Super Mario Kart or the track surface in F-Zero.

What Mode 7 cannot do is render genuine 3D geometry. The illusion works because the game world actually is a flat plane — the "ground" in F-Zero is precisely that, a flat textured surface being rotated and scaled in real time. The camera cannot bank or pitch; it can only move along the plane and rotate around a vertical axis. Objects moving in three dimensions — opponent karts in Super Mario Kart — are sprites, not 3D models. The effect is convincing at normal game pace because the human visual system interprets the textured receding plane as perspective without requiring the player to consciously analyse it. Mode 7 was not deceptive in a pejorative sense; it was an elegant use of available hardware to create an effect that served specific game design requirements extremely efficiently.

The SuperFX chip

The SuperFX chip, designed by Ben Cheese, James Hakewill, and Peter Warnes at Argonaut Software in collaboration with Nintendo, was a RISC processor included in certain SNES cartridges. Unlike Mode 7, which used the SNES PPUs to perform transformations on background layers, the SuperFX chip was a general-purpose processor capable of performing 3D polygon calculations and writing the results to a frame buffer. It was, effectively, a GPU in cartridge form — dedicated graphics processing hardware added to specific games that needed it.

Star Fox (1993) — Starwing in Europe — was the game built specifically to demonstrate the SuperFX chip. The game rendered wireframe-style polygonal spacecraft, asteroids, and environments in real time, at a frame rate that was playable if not smooth by later standards. The effect was striking because polygon-based 3D rendering had been the province of expensive arcade hardware and workstations; Star Fox brought it to a home console that had been designed years before polygon rendering was expected to be a consumer product requirement.

The SuperFX chip was subsequently used in Stunt Race FX (1994) — which rendered polygonal vehicles for a racing game — and in Yoshi's Island (1995), where it was used not for 3D rendering but for special effects: scaling and rotating sprite elements within a 2D game. A more powerful version, the SuperFX 2, appeared in Doom (SNES port) and Super Mario World 2. The strategy of including processing hardware in cartridges rather than in the console itself gave Nintendo flexibility that a fixed hardware design couldn't have provided, but it came with a cost: games that required co-processor chips were more expensive to manufacture, and the benefits of the hardware were game-specific rather than available to all software on the platform.

Other co-processors and the sound system

The SuperFX chip was the most prominent but not the only enhancement chip used in SNES cartridges. The DSP-1 chip, included in games like Super Mario Kart and Pilotwings, handled mathematical operations — specifically trigonometric and matrix calculations — that the main CPU performed slowly. The SA-1 chip, a 65816 processor running at 10.74 MHz — three times the main CPU's speed — appeared in games including Super Mario RPG, Kirby Super Star, and Kirby's Dream Land 3, effectively tripling the processing power available to those specific games. The C4 chip in Mega Man X2 and X3 handled enemy movement calculations. The SDD1 chip in Street Fighter Alpha 2 and Star Ocean performed real-time data decompression, allowing games with more data than the cartridge's ROM could hold uncompressed.

The sound system deserves separate attention. The SPC700 chip — a Sony design, ironically — was an 8-bit processor running at 1.024 MHz, dedicated entirely to audio processing. It operated completely independently of the main CPU, receiving audio instructions and then executing them autonomously. The chip supported eight channels of ADPCM sample playback — digitised audio, as opposed to the synthesised waveforms of the NES. This meant SNES game music could be composed with sampled instruments: real recorded piano, real recorded strings, real recorded drums, played back and mixed in real time by the SPC700's DSP.

Koji Kondo's compositions for Super Mario World and Super Mario Kart, Yasunori Mitsuda's work on Chrono Trigger, and Koichi Sugiyama's arrangements for Dragon Quest V and VI demonstrated what the SPC700 could produce in the hands of composers who understood its characteristics. The samples were small — the SPC700's dedicated RAM was 64 kilobytes — and the ADPCM compression audibly degraded high-frequency content, giving SNES audio a characteristic slightly muffled quality in its sampled sounds. Composers who understood this designed around it, favouring instruments whose natural frequency range was unaffected by the compression. The resulting sound is immediately recognisable as SNES and is now received as an aesthetic in its own right rather than a technical compromise.