What is NES PPU?

What is NES PPU?

NES PPU (Ricoh RP2C07) in a PAL NES. The PPU (Picture Processing Unit), more specifically known as Ricoh RP2C02 (NTSC version) / RP2C07 (PAL version), is the integrated circuit in the Nintendo Entertainment System responsible for generating video signals from graphic data stored in memory.

How does the NES PPU work?

The NES PPU, or Picture Processing Unit, generates a composite video signal with 240 lines of pixels, designed to be received by a television. These are internal to the PPU itself, and while the palette is made of static memory, OAM uses dynamic memory (which will slowly decay if the PPU is not rendering data).

What is PPU emulation?

General PPU emulation. On a hardware level, the CPU & PPU in the NES run simultaniously. This is why a game can be coded to make a write out to a PPU register at a certain time during a frame, and the result of this is that the (on-screen) effect occurs in a specific location on the screen.

What is a Nametable?

A nametable is a 1024 byte area of memory used by the PPU to lay out backgrounds. Each byte in the nametable controls one 8×8 pixel character cell, and each nametable has 30 rows of 32 tiles each, for 960 ($3C0) bytes; the rest is used by each nametable’s attribute table.

What are NES mappers?

Multi-memory controllers or memory management controllers (MMC) are different kinds of special chips designed by various video game developers for use in Nintendo Entertainment System (NES) cartridges. In the emulation community, these chips are also known as mappers.

How much memory did the NES have?

The NES contains 2 KB of onboard work RAM. A game cartridge may contain expanded RAM to increase this amount. The sizes of NES games vary from 8 KB (Galaxian) to 1 MB (Metal Slader Glory), but 128 to 384 KB is the most common.

How do you program a NES emulator?

This is the plan I went with.

  1. Start from CPU first. And make sure it’s really solid.
  2. Add NES rom support (and mapper 0) Why add ROM support before you can actually render anything to screen?
  3. Then go implement your PPU.
  4. Go try some simple games.
  5. Add scrolling.
  6. Test a scrolling game.
  7. Try out Super Mario Bros.
  8. Add APU support.

How many NES mappers are there?

Some mappers extend PRG RAM; depending on the mapper, it’s banked in various ways. Pretty much every mapper extends PRG ROM. There are ~400 mappers, all of them work differently. First let’s talk about the NES’s memory map itself.

What is MMC chip?

What is the largest NES game?

The largest licensed NES game is Kirby’s Adventure (512 KiB PRG + 256 KiB CHR + MMC3). The largest unlicensed non-pirate NES game from the original era is Action 52 (1,536 KiB PRG + 512 KiB CHR + custom mapper).

How does an NES emulator work?

Emulation works by handling the behavior of the processor and the individual components. You build each individual piece of the system and then connect the pieces much like wires do in hardware.