← All Essays
Technology 11 min read

How the NES Actually Worked

The PPU, the lockout chip, and why Nintendo's hardware choices changed the entire industry

The processor and what it couldn't do

The NES was built around a Ricoh 2A03 processor — a modified MOS 6502 running at 1.79 MHz in North America. The 6502 was the same chip that powered the Apple II and the Atari 2600, a cheap and well-understood 8-bit processor with a clean instruction set that programmers could use efficiently. The 2A03 added an audio processing unit to the standard 6502 core and removed the 6502's decimal mode to avoid royalty payments to MOS Technology.

The processor had 2 kilobytes of RAM. Two kilobytes. Not megabytes — kilobytes. A modern JPEG image takes up more memory. Working within that constraint required programmers to be extraordinarily economical with how they stored game state: which variables were global and which were temporary, how many bytes a character's attributes required, how game logic was structured to minimise memory use. The best NES programmers were experts in the specific art of doing more with less than seems physically possible.

What the CPU couldn't do was handle display output directly. This was a design decision that separated the NES from home computers of the same era. Home computers — the Commodore 64, the Apple II, the Atari 800 — typically had the CPU responsible for managing the display, which consumed processor time and limited what else the game could do simultaneously. Nintendo separated the CPU from the display entirely.

The PPU: the heart of the NES

The Picture Processing Unit — the PPU, Ricoh 2C02 — was Nintendo's answer to the problem of display. It was a dedicated chip, separate from the CPU, that managed the screen entirely on its own. The CPU could write to PPU registers — telling it where to put sprites, what background tiles to display, which colour palettes to use — but once the frame was underway, the PPU ran independently. This freed the CPU to think about game logic, AI, input handling, and audio while the PPU drew the picture.

The PPU produced a 256×240 pixel display with 52 possible colours (25 displayable simultaneously per screen due to palette constraints). It could handle 64 sprites — small movable objects — per frame, with a hardware limit of 8 per horizontal scanline. The scanline limit was the source of the NES's characteristic sprite flicker: when more than 8 sprites occupied the same horizontal line, the PPU dropped the excess ones in a rotating pattern, producing a flickering effect. Expert NES programmers worked around the scanline limit by arranging their game levels to minimise the chance of 8 sprites overlapping horizontally.

The background layer was drawn using 8×8 pixel tiles arranged in a 32×30 grid. The entire visible world of Super Mario Bros. — every ground block, every pipe, every cloud, every mountain — was composed of these tiles arranged in patterns stored in pattern tables in ROM. The efficiency of tile-based graphics is why the NES could display rich-looking environments despite its limited memory: you stored each unique tile once, and then described the level as a sequence of tile references rather than storing the actual pixel data of the whole level.

The mapper: extending the hardware

The NES cartridge was not simply a storage device. Many cartridges contained additional hardware — "mapper" chips — that extended the NES's capabilities beyond what its base hardware provided. The mapper sat between the cartridge ROM and the NES's address bus, intercepting certain read requests and redirecting them to different parts of the ROM to provide more memory than the processor could normally address.

The MMC3 mapper, used in Super Mario Bros. 3, added scanline counting, which allowed the game to split the screen horizontally and scroll different sections independently — the status bar at the bottom of the screen was static while the game world above it scrolled. This effect was impossible on the base NES hardware. Nintendo engineered it into the cartridge silicon. The game appeared to do something the console couldn't do, because the console was extended by the cartridge itself.

This cartridge-hardware-as-extension approach was characteristic of Nintendo's engineering philosophy: the base platform could be modest if the cartridge could supplement it. Developers who wanted more capability than the base NES provided could include additional chips in their cartridge. The cost was passed to the consumer through higher cartridge prices, but it meant the NES had an unusually long commercial life — developers could keep making more impressive-looking games by adding more capable mappers, rather than being forced onto new hardware.

The 10NES lockout chip: as important as any transistor

The 10NES chip was a security device that Nintendo included in every licensed NES cartridge and in the NES console itself. On power-up, the chip in the cartridge had to complete a specific handshake with the chip in the console within a set time window. If the handshake failed, the console reset repeatedly — the characteristic blinking screen of an NES with a bad connection or an unlicensed cartridge.

The 10NES was not there to prevent piracy. It was there to prevent unlicensed publishing. Any cartridge without the 10NES chip — or with a 10NES chip that failed the handshake — would not run. This meant that to publish a game for the NES, you had to go through Nintendo, pay their licensing fee, accept their content restrictions (no blood, no nudity, no religious imagery, no games that Nintendo judged to be of insufficient quality), and agree to caps on how many titles you could publish per year. You got in exchange the 10NES chip for your cartridges and access to the Nintendo seal of quality.

The 10NES was, in other words, a legal and commercial device as much as a technical one. It gave Nintendo total control over what appeared on their platform — the control that Atari's open 2600 had lacked, the control whose absence had contributed to the 1983 crash. When Atari Games (Tengen) reverse-engineered the 10NES chip and published unlicensed NES cartridges, Nintendo sued. Atari Games lost. The courts upheld Nintendo's right to control what ran on their hardware through the chip. This legal outcome established the principle of platform holder content control that has governed the games industry ever since.