Glossary: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎P: Purpose of pattern table)
Line 138: Line 138:
: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.
: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
;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.
:An entry of 4 bytes in OAM, controlling a small block of 8x8 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.
;Sprite limit
:The room size in secondary OAM, holding a maximum of 8 sprites, or 32 bytes.
;SRAM
;SRAM
:[[wikipedia:Static random access memory|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.
:[[wikipedia:Static random access memory|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.

Revision as of 13:01, 9 July 2013

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
  1. Japanese term corresponding to the term "Game Pak" used in other markets.
  2. 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. Each contains 256 tiles.
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 of 4 bytes in OAM, controlling a small block of 8x8 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.
Sprite limit
The room size in secondary OAM, holding a maximum of 8 sprites, or 32 bytes.
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.

Z

Zapper
The light gun for NES.