APPENDIX
TWELVE
DISPLAY
LIST COMMANDS AND ANTIC MODES
As we saw at SDLSTL (560), the display list is actually a little program for ANTIC, telling it what the screen is to look like. It has its own special commands, as summarized in Figure 63. To use this chart, decide which of the HSC, VSC, LMS, and DLI options you want (see SDLSTL for a description of each), find the column that has the corresponding boxes LABELED in at the top, and then follow it down to the instruction you want.
Since this is a chart that assembly language programmers are going to use a lot, I'll also include a hexadecimal version (Figure 64).
|
|
|
HSC |
|
HSC |
|
HSC |
|
HSC |
|
HSC |
|
HSC |
|
HSC |
HSC |
|
VSC |
VSC |
VSC |
VSC |
VSC |
VSC |
VSC |
VSC |
||||||||||
LMS |
LMS |
LMS |
LMS |
LMS |
LMS |
LMS |
LMS |
||||||||||
DLI |
DLI |
DLI |
DLI |
DLI |
DLI |
DLI |
DLI |
||||||||||
BLK |
1 |
0 |
128 |
||||||||||||||
BLK | 2 |
16 |
144 |
||||||||||||||
BLK | 3 |
32 |
160 |
||||||||||||||
BLK | 4 |
48 |
176 |
||||||||||||||
BLK | 5 |
64 | 192 |
||||||||||||||
BLK | 6 |
80 |
208 |
||||||||||||||
BLK | 7 |
96 |
224 |
||||||||||||||
BLK | 8 |
112 |
240 |
||||||||||||||
JMP |
1 |
129 |
|||||||||||||||
JVB |
65 |
193 |
|||||||||||||||
CHR |
2 |
2 |
18 |
34 |
50 |
66 |
82 |
98 |
114 |
130 |
146 |
162 |
178 |
194 |
210 |
226 |
242 |
CHR | 3 |
3 |
19 |
35 |
51 |
67 |
83 |
99 |
115 |
131 |
147 |
163 |
179 |
195 |
211 |
227 |
243 |
CHR | 4 |
4 |
20 |
36 |
52 |
68 |
84 |
100 |
116 |
132 |
148 |
164 |
180 |
196 |
212 |
228 |
244 |
CHR | 5 |
5 |
21 |
37 |
53 |
69 |
85 |
101 |
117 |
133 |
149 |
165 |
181 |
197 |
213 |
229 |
245 |
CHR | 6 |
6 |
22 |
38 |
54 |
70 |
86 |
102 |
118 |
134 |
150 |
166 |
182 |
198 |
214 |
230 |
246 |
CHR | 7 |
7 |
23 |
39 |
55 |
71 |
87 |
103 |
119 |
135 |
151 |
167 |
183 |
199 |
215 |
231 |
247 |
MAP |
8 |
8 |
24 |
40 |
56 |
72 |
88 |
104 |
120 |
136 |
152 |
168 |
184 |
200 |
216 |
232 |
248 |
MAP | 9 |
9 |
25 |
41 |
57 |
73 |
89 |
105 |
121 |
137 |
153 |
169 |
185 |
201 |
217 |
233 |
249 |
MAP | 10 |
10 |
26 |
42 |
58 |
74 |
90 |
106 |
122 |
138 |
154 |
170 |
186 |
202 |
218 |
234 |
250 |
MAP | 11 |
11 |
27 |
43 |
59 |
75 |
91 |
107 |
123 |
139 |
155 |
171 |
187 |
203 |
219 |
235 |
251 |
MAP | 12 |
12 |
28 |
44 |
60 |
76 |
92 |
108 |
124 |
140 |
156 |
172 |
188 |
204 |
220 |
236 |
252 |
MAP | 13 |
13 |
29 |
45 |
61 |
77 |
93 |
109 |
125 |
141 |
157 |
173 |
189 |
205 |
221 |
237 |
253 |
MAP | 14 |
14 |
30 |
46 |
62 |
78 |
94 |
110 |
126 |
142 |
158 |
174 |
190 |
206 |
222 |
238 |
254 |
MAP | 15 |
15 |
31 |
47 |
63 |
79 |
95 |
111 |
127 |
143 |
159 |
175 |
191 |
207 |
223 |
239 |
255 |
FIGURE 63. Display list command chart
|
|
|
HSC |
|
HSC |
|
HSC |
|
HSC |
|
HSC |
|
HSC |
|
HSC |
HSC |
|
VSC |
VSC |
VSC |
VSC |
VSC |
VSC |
VSC |
VSC |
||||||||||
LMS |
LMS |
LMS |
LMS |
LMS |
LMS |
LMS |
LMS |
||||||||||
DLI |
DLI |
DLI |
DLI |
DLI |
DLI |
DLI |
DLI |
||||||||||
BLK |
1 |
00 |
80 |
||||||||||||||
BLK | 2 |
10 |
90 |
||||||||||||||
BLK | 3 |
20 |
A0 |
||||||||||||||
BLK | 4 |
30 |
B0 |
||||||||||||||
BLK | 5 |
40 |
C0 |
||||||||||||||
BLK | 6 |
50 |
D0 |
||||||||||||||
BLK | 7 |
60 |
E0 |
||||||||||||||
BLK | 8 |
70 |
F0 |
||||||||||||||
JMP |
01 |
81 |
|||||||||||||||
JVB |
41 |
C1 |
|||||||||||||||
CHR |
2 |
02 |
12 |
22 |
32 |
42 |
52 |
62 |
72 |
82 |
92 |
A2 |
B2 |
C2 |
D2 |
E2 |
F2 |
CHR | 3 |
03 |
13 |
23 |
33 |
43 |
53 |
63 |
73 |
83 |
93 |
A3 |
B3 |
C3 |
D3 |
E3 |
F3 |
CHR | 4 |
04 |
14 |
24 |
34 |
44 |
54 |
64 |
74 |
84 |
94 |
A4 |
B4 |
C4 |
D4 |
D4 |
F4 |
CHR | 5 |
05 |
15 |
25 |
35 |
45 |
55 |
65 |
75 |
85 |
95 |
A5 |
B5 |
C5 |
D5 |
E5 |
F5 |
CHR | 6 |
06 |
16 |
26 |
36 |
46 |
56 |
66 |
76 |
86 |
96 |
A6 |
B6 |
C6 |
D6 |
E6 |
F6 |
CHR | 7 |
07 |
17 |
27 |
37 |
47 |
57 |
67 |
77 |
87 |
97 |
A7 |
B7 |
C7 |
D7 |
E7 |
F7 |
MAP |
8 |
08 |
18 |
28 |
38 |
48 |
58 |
68 |
78 |
88 |
98 |
A8 |
B8 |
C8 |
D8 |
E8 |
F8 |
MAP | 9 |
09 |
19 |
29 |
39 |
49 |
59 |
69 |
79 |
89 |
99 |
A9 |
B9 |
C9 |
D9 |
E9 |
F9 |
MAP | A |
0A |
1A |
2A |
3A |
4A |
5A |
6A |
7A |
8A |
9A |
AA |
BA |
CA |
DA |
EA |
FA |
MAP | B |
0B |
1B |
2B |
3B |
4B |
5B |
6B |
7B |
8B |
9B |
AB |
BB |
CB |
DB |
EB |
FB |
MAP | C |
0C |
1C |
2C |
3C |
4C |
5C |
6C |
7C |
8C |
9C |
AC |
BC |
CC |
DC |
EC |
FC |
MAP | D |
0D |
1D |
2D |
3D |
4D |
5D |
6D |
7D |
8D |
9D |
AD |
BD |
CD |
DD |
ED |
FD |
MAP | E |
0E |
1E |
2E |
3E |
4E |
5E |
6E |
7E |
8E |
9E |
AE |
BE |
CE |
DE |
EE |
FE |
MAP | F |
0F |
1F |
2F |
3F |
4F |
5F |
6F |
7F |
8F |
9F |
AF |
BF |
CF |
DF |
EF |
FF |
FIGURE 64. Display list command chart, hex version
Let's take a look now at the various CHR and MAP modes:
CHR 2 is GRAPHICS 0.
CHR 3 is the same as GRAPHICS 0 except that the characters are 10-scan-lines high instead of 8. This allows you to have lowercase descenders, which means that the tails on "g", "j", "p", "q", and "y" can drop below the rest of the letters as they should. How do you use this mode? The first step is to redefine the character set. Actually, you only have to change the lowercase letters. What will happen is ANTIC will take the first two bytes of the character description and stick them on the end of the character. It will then make the first two scan lines of the character blank. For nonlowercase characters, it will leave the bytes in order and make the last two scan lines blank. Just in case that doesn't make any sense, let's look at it in pictures (Figure 65).
|
|
In
memory: |
|
00000000 | 00001100 | ||
01100110 | 01111000 | ||
01100110 | 00000000 | ||
01100110 | 01100110 | ||
00111100 | 01100110 | ||
00011000 | 01100110 | ||
00011000 | 01100110 | ||
00011000 | 00111110 | ||
On the screen: |
|||
(0) |
##
## |
||
(1) |
##
## |
||
(2) |
##
## |
||
(3) |
#### |
##
## |
|
(4) |
## |
##
## |
|
(5) |
## |
##
## |
|
(6) |
## |
##
## |
|
(7) |
##### |
||
(8) |
## |
||
(9) |
#### |
FIGURE 65. Scan lines with lower-case letters
You should note that because each character is now 10-scan-lines high, you can only have 19 rows on the screen (192/10). Make sure of this when you change the display list.
CHR 4 lets you have multi-colored characters. That's right, you can have as many as four different colors in the same character. Let's take a look at how this works.
ANTIC mode four characters are the same size as graphics mode zero characters. The difference, however, is in the size of the pixels that make up the character. The pixels in both modes are one scan line high, but in ANTIC mode four they are as wide as graphics mode seven pixels (one color clock) rather than graphics mode eight. Why? In order to have four colors, a pixel must be represented by at least two bits. That means that the ANTIC mode four pixels have to be twice as wide as those in graphics mode zero, which use one-bit-per-pixel.
Because a character in ANTIC mode four is only four by eight pixels, they aren't of much use for letters and stuff. They are, however, great for graphics. Whatever you end up using them for, How ANTIC interprets a character description byte in this mode is shown in Figure 66.
Now you may be wondering what happens if you try and print a character in inverse video (i.e., an ATASCII value greater than 127). Do all the colors reverse? No, only the pixels with a value of "11" will change; Instead of getting their color from COLOR2 they will get it from COLORS. This means that you can have all five colors at the same time!
To design a character set for this mode, just follow the instructions given for a regular character set, keeping the preceding changes in mind.
BITS | 7
6 |
5
4 |
3
2 |
1
0 |
USE |
PIXEL 1 | PIXEL 2 |
PIXEL 3 | PIXEL 4 |
PIXEL VALUE |
COLOR REGISTER |
|||
00 |
COLOR4 (background) | |||
01 |
COLOR0 | |||
10 |
COLOR1 | |||
11 |
COLOR2 |
FIGURE 66. Character description via ANTIC
CHR 5 is the same as CHR 4 except the characters are now twice as high. Otherwise there's no difference.
CHR 6 is GRAPHICS 1.
CHR 7 is GRAPHICS 2.
MAP 8 is GRAPHICS 3.
MAP 9 is GRAPHICS 4.
MAP 10 is GRAPHICS 5.
MAP 11 is GRAPHICS 6.
MAP 12 is the same as MAP l l except the pixels are one scan line high instead of two.
MAP 13 is GRAPHICS 7.
MAP 14 is the same as MAP 13 except the pixels are one scan line high instead of two. See DINDEX at location 87 for an example of this mode.
MAP 15 is GRAPHICS 8.
Return to Table of Contents | Previous Chapter | Next Chapter