Glossary
From NESdev Wiki
Jump to navigationJump to search
These terms are commonly used in technical discussions about the Nintendo Entertainment System.
0
- 10NES
- The program running on the CIC.
- 60-pin
- Referring to Famicom cassettes. The Famicom and most famiclones for the Asian market use 60-pin cassettes, which have audio passthrough and no lockout chip.
- 72-pin
- Referring to NES Game Paks. The NES and most famiclones for the North American and European markets use 72-pin Game Paks, which have expansion port passthrough and a different lockout chip for each market.
A
- Address decoding
- Translation of addresses on the console's address buses into chip enables and addresses for the various ROMs and RAMs in the cartridge. In most cartridges, this involves some form of bank switching.
- Attribute
- A part of video memory that selects which part of the palette is used for a given sprite or area of the background.
- Attribute table
- The 64-byte table of background tile attributes at the end of each of the four nametables.
B
- Background
- A grid of tiles.
- Bank switching
- The primary function of a mapper. Because the CPU and PPU don't have enough address space to see the entire ROM at once, the ROM is conceptually divided into "pages" or "banks", where the most significant bits of the ROM address are treated as a page number. The CPU writes a page number to the mapper's port, and the mapper puts this number on the most significant bits of the ROM address to make the selected page visible to the rest of the system. More advanced mappers have "fine-grained bank switching", which makes separate banks available in separate parts of the address space.
- Battery RAM
- RAM made nonvolatile by the addition of a battery backup circuit. This is used to let the player save progress in games with more than one chapter. Almost all battery RAM in NES games is PRG RAM; a couple games on very uncommon mappers have battery-backed CHR RAM.
- BFT
- "BFT" in #nesdev does not stand for Big Fake/Fat/Freaking anyThing, Blunt Force Trauma, or aBout Freaking Time. It originated from what amounted to a drinking game around the Broken Film Transition commonly used in the TV series MythBusters. Its use might be politely explained as Break For subsTance.
C
- Camera
- Abstraction for the part of a world that is displayed on the screen. The illusion of a moving camera is created by scrolling the background and moving all the sprites at once.
- Cassette
-
- Japanese term corresponding to the term "Game Pak" used in other markets.
- Philips Compact Cassette, the magnetic tape storage medium for the Famicom Data Recorder and for homemade mix tapes of NES game background music.
- CHR
- Another word for pattern tables, after the traditional name character generator for a tiled background plane.
- CHR RAM
- An SRAM on the cartridge, usually 8192 bytes, mapped at $0000-$1FFF and holding pattern tables.
- Checking Integrated Circuit (CIC)
- Nintendo's term for what the public knows better as the lockout chip.
- CIC clone
- A microcontroller generating the same pseudorandom stream as the authentic CIC. Examples include Tengen's Rabbit and Kevin Horton's CIClone.
- CIC stun
- Freezing the CIC by using a charge pump to pulse negative voltage on the data pins.
- CIRAM
- A 2048-byte SRAM in the NES, mapped at $2000-$2FFF on the PPU bus (subject to mirroring controlled by the Game Pak). Holds nametables and attribute tables.
- Color Generator RAM (CGRAM)
- A 28-entry RAM inside the PPU, holding the palette.
- Control Deck
- The console itself, into which the Game Pak is inserted and to which the controllers and outputs are connected.
D
- DRAM
- Dynamic random access memory, or memory that needs to be periodically refreshed.
- Duty cycle
- The fraction of a cycle a signal stays high. For example, most input clock signals have a duty cycle of 50%. The pulse channels in the APU have a variable duty cycle.
F
- Famiclone
- A third-party clone of the NES or Famicom hardware.
- Family Computer, Famicom, FC
- The Japanese version of the NTSC NES, with a few minor hardware differences.
- Fixed bank
- A part of address space that points to ROM and is unaffected by bank switching. Often used to store interrupt handlers, code that accesses large amounts of data spread across several banks, or anything else that must always be available. Several mappers put a fixed bank at $C000-$FFFF or $E000-$FFFF. Mappers that use outer bank switching will have a separate fixed bank for each outer bank.
- Flip
- Reflection of an image. For example, a "vertical flip" turns an M into a W as the pixels move vertically across a horizontal axis.
- Forced blanking
- Turning off the rendering circuitry by writing zero to $2001, giving the CPU the same access to VRAM through the PPU ports that the CPU normally has during vertical blanking.
- Front-loader
- NES-001, the original version of the 72-pin NES. It uses a pseudo-ZIF socket for Game Paks.
G
- Game Genie
- A lock-on unit developed by Codemasters and distributed by Galoob that patches NES games with user-entered single-byte changes.
- Game Pak
- A cartridge for a Nintendo console. It contains ROMs, mappers, and possibly other circuitry.
L
- Left pattern table
- The pattern table at PPU $0000-$0FFF. So-called due to display conventions in debugging emulators.
- Lock-on
- Referring to a cartridge with two connectors: one to connect to the console and another to connect to another cartridge to use its CIC or to modify its program.
- Lockout chip
- Nintendo's scheme used in the front-loading NES to block the use of infringing copies of its games and to reassure retailers that the NES wouldn't have the flood of low-quality games seen on second-generation consoles. Nintendo was successfully sued in antitrust court over this and other practices. It consists of two 4-bit CIC microcontrollers, one in the Control Deck and one in each Game Pak, passing a stream of pseudorandom numbers back and forth.
- Lockout defeat
- Various ways of getting a program to run without an authentic CIC. These include CIC clone and CIC stun.
M
- Mapper
- Circuitry on the Game Pak to perform address decoding and counting.
- Mapper hack
- A patch to a ROM that uses one mapper to make it work with a different kind of mapper.
- Memory Management Controller (MMC)
- Name for ASIC mappers made by Nintendo.
- Metatile
- A block of tile numbers written to the background as a unit. These blocks, often 2x2 tiles (16x16 pixels) in size, are common building blocks for area maps in NES games.
- Mirroring
- Presence of one memory area at more than one place in the memory map.
N
- Nametable
- Any of four areas in VRAM (PPU addresses $2000-$23FF, $2400-$27FF, $2800-$2BFF, $2C00-$2FFF) specifying which tiles to display at which places in the background. Each is 32 by 30 tiles and ends with an attribute table.
O
- Object Attribute Memory (OAM)
- A 256-byte DRAM inside the PPU holding the sprite display list.
P
- Palette
- A color lookup table.
- Pattern table
- Two 4096 byte areas of video memory, mapped at PPU $0000-$0FFF and $1000-$1FFF.
- Picture Processing Unit (PPU)
- It generates the video signal.
- Piggyback
- Synonym for lock-on used by Home Entertainment Suppliers (HES).
- Port
- An address mapped to input or output instead of ROM or RAM.
- PRG
- Memory on the CPU's bus. Short for "program".
- PRG RAM
- RAM on the CPU's bus.
- PRG ROM
- ROM on the CPU's bus, containing a program to be executed and data for the program to use. In games using CHR RAM, it may also contain data to be copied to CHR RAM.
- Priority
- Which graphics appear in front of other graphics. In general, sprites earlier in OAM appear in front of later sprites, and a sprite may appear in front of or behind the background.
R
- Right pattern table
- The pattern table at PPU $1000-$1FFF. So-called due to display conventions in debugging emulators.
S
- Scrolling
- Movement of the visible portion of a background.
- Spin
- To repeatedly read a particular address in a loop until its value changes. A program can spin on an input port or on a RAM address that is modified by an interrupt handler.
- Sprite
- An entry in OAM controlling a small block of pixels that can be moved around on the screen. It has X and Y coordinates, a tile index into one of the pattern tables, vertical and horizontal flip switches, and priority.
- SRAM
- Static random access memory is memory made with latches, which does not need to be refreshed but takes four to six times as much die space as DRAM. PRG RAM and CHR RAM are generally SRAM. Occasionally, it stands for "save RAM", which means the same as battery RAM.
- Stack
- An area of memory used to store values in last-in, first-out (LIFO) manner, especially the area at $0100-$01FF used to store return addresses when a subroutine is called.
- Strobe
- A signal that defines sampling points for another signal. Think of a strobe light that captures the state of whatever it's shining on when it's on to get the analogy.
T
- Tile
- An 8x8 pixel piece of graphics. Tile data on the NES has 2 bits per pixel, and each pixel in a tile can have one of three colors or transparency.
- Top-loader
- NES-101, a 72-pin console released during the end of the NES's commercial era that takes cartridges in the top, like most other consoles. It has no lockout chip.
- Transparent
- In the case of overlapping graphics, a transparent pixel means that pixels from the graphics behind this graphic show through.
U
- Unlicensed
- Referring to video games for the NES published outside of a contract with Nintendo. Most of these use a lockout defeat; a few use lock-on.
V
- Vector
- One of three addresses at the end of the CPU memory map, telling the CPU where to start executing instructions after an interrupt is asserted.
- VRAM
- Video RAM. This is a generic term which encompasses CHR-RAM and memory for Name Table and Palettes.
W
- Work RAM, WRAM
- See PRG RAM.