Nintendo Entertainment System/Trivia

An overview of the Nintendo Entertainment System hardware. For obsessive detail, see the NESdev Wiki.

Processors

 * CPU: The Ricoh RP2A03, a custom MOS 6502 with a few extras added on like a sound generator. It runs at 1.79 MHz, or 1.66 MHz in PAL regions.
 * The system's sprites are generated by the Picture Processing Unit, which is a lot faster. Its speed is 5.37 MHz (5.32 MHz for PAL), which allows it to lay a lot of sprites at once, and render huge backgrounds compared to the pre-crash systems.

Sound

 * The NES had sound circuitry built into its main CPU. It was capable of generating 5 channels of sound: two (largely identical) pulse waves, with 16 volume levels, hardware sweep, and 4 duty cycle settings; one triangle wave channel; one noise channel, with 16 volume levels and 2 sequence settings; and one 7-bit delta modulation channel capable of rendering primitive samples. The delta channel was used mostly for drums and sound effects.
 * Famicom cartridges (but not NES cartridges) could have extra sound circuitry:
 * Famicom Disk System sound chip: 1 wave table.
 * MMC5: 2 extra square waves and 1 8 bit DPCM channel.
 * Sunsoft 5B: 3 square waves, really a AY-3-8910 chip built into a variant of the FME-7 mapper.
 * Namco 163: 8 wave tables, same (if not similar) chip found in many Namco arcade games (like with Mappy and The Tower of Druaga). Roughly comparable to Turbo Grafx 16's audio and Konami's SCC and SCC+ chips' audio.
 * Konami VRC6: 2 square waves and 1 saw wave, for a example of how this chip sounds like, hears a 11 part (parts 1 to 9 and 2 encores, with some remix tracks of whole games as well) video (and on going, but the next volumes of the videos take a while) of fan made remix music tracks from Konami games useing the VRC6 chip, and it's awesome.
 * Konami VRC7: 6 FM channels, based on the YM2413.

Memory

 * RAM: The NES had 2 KB (2048 bytes, 0x800 in hexadecimal) of on-board main memory, although chips on the Cartridges could expand that.
 * In fact, iNES, the de facto standard format for NES ROM images used in Emulation, actually implies, by default, an extra 8 KB of expansion memory.
 * Nintendo's MMC5 chip allowed one to bank-switch the expanded RAM area, meaning one could access a whopping 32 KB of extra memory.
 * The system can read a ROM size of up to 32 KB, but like the 2600 it used bank switching (however, mappers can make the banks bigger). The largest games by the end of the system's life were as large as 1 MB.
 * To put that into perspective, Super Mario World, a SNES launch title, was half a megabyte, or 512 KB.

Sprites

 * The NES could display sprites of 8×8 or 8×16 pixels; anything larger is actually two or more sprites acting as one (Super Mario in Super Mario Bros 3 is four sprites), or a background object made to act like a sprite (e.g., the dragon boss in Mega Man 2). The choice was global; all sprites on the screen were the same size, unless one used carefully timed code to change the setting mid-frame.
 * The picture processor can generate up to 64 sprites per screen, but no more than 8 sprites could be displayed on a single horizontal line (such as firing the machine gun in Contra) — in order to deal with this limitation, games would cycle which sprites were visible on alternating frames, resulting in the NES' infamous flickering. This was the main reason a game like Mighty Final Fight had such small sprites. It would take at least four NES sprites just to make one of the characters in the arcade size, and with so many characters on-screen it would've been impossible to make out anything properly.

Display

 * Total palette of 64 colors (with several duplicates, reducing the effective count to about 53) with up to 25 on-screen at once (potentially more using special tricks). Up to eight different tints could be applied to the screen, or to horizontal strips of the screen using carefully-timed code.
 * From the programmer's point of view, the NES palette had 32 entries. This was divided into eight 4-color palettes, four for the background and four for the sprites. The first palette entry was shared between all eight, giving a maximum of 25 colors per screen.
 * Screen Resolution: 256×240 pixels, though NTSC televisions would often crop it to 256×224.
 * Backgrounds: The NES supported only one background layer. In the absence of cartridge-provided expansions, the PPU in the NES has enough memory for two screens' worth of background. Each background or "nametable" is a matrix of 8×8 pixel tiles, with each byte in the table being an index into a bank of 256 tiles. The NES has support for up to four nametables; without cartridge expansions, only two of these are useable; the other two are duplicates. The background can be scrolled horizontally and vertically. Color information is stored separately in an "attribute table"; one 4-color palette can be selected per 16×16 pixel block. This might be why 16×16 pixel blocks are pretty much a universal feature of NES games.
 * The Nintendo MMC5 chip provided extra memory which could be used as extra attribute data, allowing for each 8×8 pixel block to get its own palette.

Peripherals

 * R.O.B. (Robotic Operating Buddy), the NES robot which worked with Gyromite and Stack-Up.
 * R.O.B. was really never intended to be anything more than a Trojan Horse outside of Japan: it was intended outside of Japan to camouflage the NES as a "toy", and not as a "video game"-- the crash made retailers wary of anything video-game related. This got Nintendo their initial American distribution deal with Worlds of Wonder, the builders of the Teddy Ruxpin line of animatronic dolls. Ironically, once the NES started to take off, the fact that R.O.B. was a Trojan Horse caused the deal to fall apart. But of course, by then the console was already a hit, so they didn't need R.O.B. anymore.
 * The Zapper Light Gun. Capable of detecting brightness and vertical position, but not horizontal. When targets were close together, the game would light up one target at a time to see which one the player is aiming at.
 * The Power Pad, a floor mat with buttons used for track and field-type games.
 * The Famicom Disk System, a floppy disk drive add-on. It was introduced in 1986, as was a Twin Famicom model that could play both disks and cartridges. The Disk System was only released in Japan, and even there was moribund by the end of the 1980s due to improvements in cartridge construction and rampant piracy concerns (though Nintendo continued to support it until 2003). The experience with piracy in particular caused Nintendo to be reluctant to accept disks until the Game Cube, and only accepted standard-size optical disks with the Wii. The Legend of Zelda (its first title), Castlevania 1986, Doki Doki Panic (AKA Super Mario Bros 2), Kid Icarus and Metroid were all originally released as Disk System games.
 * The Power Glove, made (in)famous by Product Placement in The Wizard ("It's so bad.").
 * The Data Recorder, a cassette tape player intended mainly for storing programs created with Family BASIC; some games also used it for saves. Like the Disk System, it was only released in Japan.
 * Famicom Modem: A Japan only adapter that make your Famicom go online; It takes it's own card based (like NEC's/Hudson Soft's Turbo Grafx 16) format, and the only games made for it were ports of cartridge games (like Super Mario Bros 3) with online game play, however the cards are quite rare to find.