Register - Special Command

From NerdConsole
Jump to navigationJump to search

The special command system is a way to ask the PPU to do something for you.

The process of issuing a special command is:

  1. Set special command parameters.
  2. Set the special command.
  3. Repeatedly check the special command status until it indicates processing is complete.
  4. Read special command return values, if applicable.

Special Command Parameters

Bit 7 6 5 4 3 2 1 0
$02C0 v v v v v v v v
$02C1 v v v v v v v v
$02C2 v v v v v v v v
$02C3 v v v v v v v v
$02C4 v v v v v v v v
$02C5 v v v v v v v v
$02C6 v v v v v v v v
$02C7 v v v v v v v v

Key

  • v - Parameter values arranged according to the special command that will be issued.

Special Command

Bit 7 6 5 4 3 2 1 0
$02D0 C C C C C C C C

Key

  • C - Special command value.

Special Command Status

Bit 7 6 5 4 3 2 1 0
$02D1 S S S S S S S S

Key

  • S - Special command status.

Special Command Returns

Bit 7 6 5 4 3 2 1 0
$02C8 v v v v v v v v
$02C9 v v v v v v v v
$02CA v v v v v v v v
$02CB v v v v v v v v
$02CC v v v v v v v v
$02CD v v v v v v v v
$02CE v v v v v v v v
$02CF v v v v v v v v

Key

  • v - Return values arranged according to the special command that was issued.

These registers are part of the Control Page.