Data in memory (addressed by the Memory Scan Counter) is displayed directly when executing a memory (bit) map display instruction. As data is being displayed it is also stored in a shift register so that it can be redisplayed for as many TV lines as required by the instruction.
Shift register data is displayed for four TV scan lines in this example.
In Instruction Register (IR) display modes 8 through F, one or two bits of memory are used to specify what is to be displayed on each pixel of the screen. Pixel sizes range from 1/2 clock by 1 TV line to 4 clocks by 8 TV lines. The OS and BASIC support most of these graphics modes (BASIC GRAPHICS command). Two modes, C and E, are not supported by the OS. These modes have rectangular pixels, which are approximately twice as wide as they are high.
In IR mode F, only one color (COLPF2) can be displayed. Two different luminances are available. If a bit is a zero, then the luminance of the corresponding pixel comes from COLPF2. If the bit is a one, them the luminance is determined by the contents of COLPF1 (abbreviated to PF1).
In IR modes 9,B, and C, two different colors can be displayed. A zero indicates background color and a one indicates PF0 color. The difference between the various modes is in the size of the pixels.
In IR modes 8,A,D, and E, two bits are used to specify the color of each pixel. This allows four different colors to be displayed. However, only four pixels can be packed into each byte, instead of eight as in the previous modes. The bit assignments are shown below.
SHIFT REGISTER | 76 | 54 | 32 | 10 | 76 | 54 | 32 | 10 | |
2 bits form one pixel |
OS and
BASIC
modesInstr.
reg.
HEXColors
per
modePixel
pers.
std.
lineBytes
per.
std.
lineScan
lines
per pixelColour
clocks
per pixelBits
per
pixelColor
reg
select3 8 4 40 10 8 4 2 00
01
10
11BAK
PF0
PF1
PF24 9 2 80 10 4 2 1 0
1BAK
PF05 A 4 80 20 4 2 2 00
01
10
11BAK
PF0
PF1
PF26 B 2 160 20 2 1 1 0
1BAK
PF0- C 2 160 20 1 1 1 0
1BAK
PF07 D 4 160 40 2 1 2 00
01
10
11BAK
PF0
PF1
PF2- E 4 160 40 1 1 2 00
01
10
11BAK
PF0
PF1
PF28 F 1.5 320 40 1 0.5 1 0
1BAK
PF0