Loading...
 

PF1

The PF "register" is a 20-bit wide representation of playfield pixels drawn to the screen. These 20 bits are spread across three actual registers. Left-to-right these are PF0 (4 bits), PF1 (8 bits), and PF2 (8 bits). PF0 and PF2 are drawn in right-to-left (mirrored) bit-order. Playfield pixels are low-resolution, with 40 pixels across the screen, achieved by drawing the contents of the PF register; once for the left side of the TV screen, and once for the right side of the TV screen. The right side may be mirrored through REFLCT of CTRLPF.

To achieve different pixel shapes on the left and right sides of the screen, the PF register (or rather, PF0, PF1 and PF2) must be written on-the-fly when they are not being accessed for display. The timing constraints of PF register writes are described in some detail in Playfield Timing.

PF1 = $0E

Playfield Graphics Register 1

WRITE
Name
D7
D6
D5
D4
D3
D2
D1
D0
$0E
PF1
D7
D6
D5
D4
D3
D2
D1
D0

Visualising Bits to Pixels

REFLCT of CTRLPF controls the drawing of the right-hand half of the screen. If it is 0, then the right-half is the same 20 pixel mapping as the left-half. If it is 1, then the right-half is a mirrored image of the left 20 pixels. The figures below show this mapping of PF bits to screen pixel number (0 -39). In the reflected case, the bits are in reverse order, so the draw ordering flips between left and right halves.

Normal

LEFT HALF OF SCREEN
PF0
8pix D4D5D6D7 Numbered Reversed Inverse
00 03
ArrowLeft
PF1
8pix ALL Numbered
04 11
PF2
8pix ALL Numbered Reversed Inverse
12 19
ArrowLeft
RIGHT HALF OF SCREEN
PF0
8pix D4D5D6D7 Numbered Reversed Inverse
20 23
ArrowLeft
PF1
8pix ALL Numbered
24 31
PF2
8pix ALL Numbered Reversed Inverse
32 39
ArrowLeft

Reflected

RIGHT HALF OF SCREEN (REFLECTED)
PF2
8pix ALL Numbered Inverse
20 27
PF1
8pix ALL Numbered Reversed
28 35
ArrowLeft
PF0
8pix D7D6D5D4 Dark
36 39

see Playfield Timing
see TIA
see PF0, PF2
see CTRLPF