Picture Processing Unit: Difference between revisions

Content deleted Content added
No edit summary
Technical information: OAM is not limited to 32 sprites in 8x16 mode (see nesdev documentation or try it yourself)
Line 19:
The lowest graphical components the PPU operates with are [[tile]]s, which are blocks of 8×8 or 8×16 pixels. The tiles are stored in a [[Read-only memory|ROM]] chip on the game cartridge. They are the basic building blocks, used to create larger moving objects, or large static backgrounds.
 
Due to the small size of NES sprites, most moving objects are made of multiple ones. If 8x16 sprites are used, the number of addressable ones are reduced from 64 to 32. Only 8 sprites can be drawn per scanline, and so the PPU contains an "overflow" flag that is set if more than 8 sprites appear on a scanline.
 
As noted above, some games (mostly early MMC1 titles such as Legend of Zelda and Castlevania) store their graphics data in the main PRG ROM. These have a CHR RAM chip instead of a ROM and pass the data from the PRG ROM to the CHR RAM, the main purpose of this being to produce animated background tiles. The arrival of the MMC3 mapper in 1988 eliminated the need for this as animated tiles could now be banked from the CHR ROM on the fly. As the PPU has a 14-bit address bus, it can access up to 16k of CHR ROM or RAM at once.