Rev 2704 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2704 | Rev 5824 | ||
---|---|---|---|
1 | ; COLORREF.ASM - COLOR REFERENCE |
1 | ; COLORREF.ASM - COLOR REFERENCE |
2 | ; |
2 | ; |
3 | ; Compile with FASM for Menuet |
3 | ; Compile with FASM for Menuet |
4 | ; |
4 | ; |
5 | 5 | ||
6 | use32 |
6 | use32 |
7 | org 0x0 |
7 | org 0x0 |
8 | 8 | ||
9 | db 'MENUET01' ; 8 byte id |
9 | db 'MENUET01' ; 8 byte id |
10 | dd 0x01 ; header version |
10 | dd 0x01 ; header version |
11 | dd start ; start of code |
11 | dd start ; start of code |
12 | dd finis ; size of image |
12 | dd finis ; size of image |
13 | dd 0x1000 ; memory for app |
13 | dd 0x1000 ; memory for app |
14 | dd 0x1000 ; esp |
14 | dd 0x1000 ; esp |
15 | dd 0x0,0x0 ; I_Param , I_Icon |
15 | dd 0x0,0x0 ; I_Param , I_Icon |
16 | 16 | ||
17 | include 'lang.inc' |
17 | include 'lang.inc' |
18 | include '..\..\..\macros.inc' |
18 | include '..\..\..\macros.inc' |
19 | wide: dd 0 ; screen pixels width |
19 | wide: dd 0 ; screen pixels width |
20 | mouse: dd 0 ; 1=right,2=left [mouse click] |
20 | mouse: dd 0 ; 1=right,2=left [mouse click] |
21 | 21 | ||
22 | 22 | ||
23 | start: |
23 | start: |
24 | 24 | ||
25 | mov eax,14 ; get screen size |
25 | mov eax,14 ; get screen size |
26 | mcall |
26 | mcall |
27 | shr eax,16 ; get width into AX |
27 | shr eax,16 ; get width into AX |
28 | inc eax ; not 0 based |
28 | inc eax ; not 0 based |
29 | mov [wide],eax |
29 | mov [wide],eax |
30 | 30 | ||
31 | call draw_window |
31 | call draw_window |
32 | 32 | ||
33 | still: |
33 | still: |
34 | mov eax,23 ; wait for event w/timeout |
34 | mov eax,23 ; wait for event w/timeout |
35 | mov ebx,5 ; delay in hundredths |
35 | mov ebx,5 ; delay in hundredths |
36 | mcall |
36 | mcall |
37 | 37 | ||
38 | cmp eax,1 ; redraw request ? |
38 | cmp eax,1 ; redraw request ? |
39 | jne s1 |
39 | jne s1 |
40 | jmp red |
40 | jmp red |
41 | s1: cmp eax,2 ; key in buffer ? |
41 | s1: cmp eax,2 ; key in buffer ? |
42 | jne s2 |
42 | jne s2 |
43 | jmp key |
43 | jmp key |
44 | s2: cmp eax,3 ; button in buffer ? |
44 | s2: cmp eax,3 ; button in buffer ? |
45 | jne s3 |
45 | jne s3 |
46 | jmp button |
46 | jmp button |
47 | s3: mov eax,9 ; process info function |
47 | s3: mov eax,9 ; process info function |
48 | mov ebx,stat_table ; return data table |
48 | mov ebx,stat_table ; return data table |
49 | mov ecx,-1 ; who am i |
49 | mov ecx,-1 ; who am i |
50 | mcall |
50 | mcall |
51 | cmp ax,[stat_table+4] ; are we active? |
51 | cmp ax,[stat_table+4] ; are we active? |
52 | je active ; yep |
52 | je active ; yep |
53 | jmp still |
53 | jmp still |
54 | 54 | ||
55 | active: |
55 | active: |
56 | mov eax,37 ; mouse info function |
56 | mov eax,37 ; mouse info function |
57 | mov ebx,2 ; get buttons |
57 | mov ebx,2 ; get buttons |
58 | mcall |
58 | mcall |
59 | cmp eax,0 ; mouse click? |
59 | cmp eax,0 ; mouse click? |
60 | jne click |
60 | jne click |
61 | jmp still |
61 | jmp still |
62 | click: |
62 | click: |
63 | mov [mouse],eax ; save mouse click |
63 | mov [mouse],eax ; save mouse click |
64 | mov eax,37 ; mouse info |
64 | mov eax,37 ; mouse info |
65 | xor ebx,ebx ; get screen pos for mouse |
65 | xor ebx,ebx ; get screen pos for mouse |
66 | mcall ; into EAX |
66 | mcall ; into EAX |
67 | xor ebx,ebx |
67 | xor ebx,ebx |
68 | mov bx,ax ; BX=y screen position |
68 | mov bx,ax ; BX=y screen position |
69 | shr eax,16 ; AX=x screen position |
69 | shr eax,16 ; AX=x screen position |
70 | xchg eax,ebx ; EAX=y, EBX=x |
70 | xchg eax,ebx ; EAX=y, EBX=x |
71 | dec eax ; don't calc mouse scanline |
71 | dec eax ; don't calc mouse scanline |
72 | mov ecx,[wide] ; get pixels wide |
72 | mov ecx,[wide] ; get pixels wide |
73 | mul ecx |
73 | mul ecx |
74 | add ebx,eax ; add x |
74 | add ebx,eax ; add x |
75 | mov eax,35 ; get mouse pos pixel |
75 | mov eax,35 ; get mouse pos pixel |
76 | mcall ; EAX=mouse pixel color |
76 | mcall ; EAX=mouse pixel color |
77 | mov ebx,eax ; EBX has color |
77 | mov ebx,eax ; EBX has color |
78 | mov esi,colors ; color table |
78 | mov esi,colors ; color table |
79 | mov ecx,72 ; total colors |
79 | mov ecx,72 ; total colors |
80 | xor edx,edx ; init a counter |
80 | xor edx,edx ; init a counter |
81 | check: |
81 | check: |
82 | lodsd |
82 | lodsd |
83 | inc edx ; update counter |
83 | inc edx ; update counter |
84 | cmp ebx,eax ; color match? |
84 | cmp ebx,eax ; color match? |
85 | je _match ; yep |
85 | je _match ; yep |
86 | loop check ; check all colors |
86 | loop check ; check all colors |
87 | jmp still ; no match |
87 | jmp still ; no match |
88 | _match: |
88 | _match: |
89 | cmp [mouse],dword 1 ; right click? |
89 | cmp [mouse],dword 1 ; right click? |
90 | je right ; yep |
90 | je right ; yep |
91 | left: |
91 | left: |
92 | cmp [picks],edx ; changed left color yet? |
92 | cmp [picks],edx ; changed left color yet? |
93 | jne l1 ; no, do it |
93 | jne l1 ; no, do it |
94 | jmp still |
94 | jmp still |
95 | l1: mov [picks],edx ; update left pick color |
95 | l1: mov [picks],edx ; update left pick color |
96 | call clear ; erase old text |
- | |
97 | call draw_picks ; redraw colors and text |
96 | call draw_picks ; redraw colors and text |
98 | jmp still |
97 | jmp still |
99 | right: |
98 | right: |
100 | cmp [picks+4],edx ; changed right color yet? |
99 | cmp [picks+4],edx ; changed right color yet? |
101 | jne r1 ; no, do it |
100 | jne r1 ; no, do it |
102 | jmp still |
101 | jmp still |
103 | r1: mov [picks+4],edx ; update right pick color |
102 | r1: mov [picks+4],edx ; update right pick color |
104 | call clear ; erase old text |
- | |
105 | call draw_picks ; redraw colors and text |
103 | call draw_picks ; redraw colors and text |
106 | jmp still |
104 | jmp still |
107 | 105 | ||
108 | red: ; redraw |
106 | red: ; redraw |
109 | call draw_window |
107 | call draw_window |
110 | jmp still |
108 | jmp still |
111 | 109 | ||
112 | key: ; key |
110 | key: ; key |
113 | mov eax,2 ; just read it and ignore |
111 | mov eax,2 ; just read it and ignore |
114 | mcall |
112 | mcall |
115 | cmp al,0 ; key in buffer? |
113 | cmp al,0 ; key in buffer? |
116 | je k1 ; yep |
114 | je k1 ; yep |
117 | jmp still |
115 | jmp still |
118 | k1: cmp ah,'H' ; cap H ? |
116 | k1: cmp ah,'H' ; cap H ? |
119 | je k2 ; yep |
117 | je k2 ; yep |
120 | cmp ah,'h' ; locase h ? |
118 | cmp ah,'h' ; locase h ? |
121 | je k2 ; yep |
119 | je k2 ; yep |
122 | jmp still |
120 | jmp still |
123 | k2: call help ; show help screen |
121 | k2: call help ; show help screen |
124 | jmp still |
122 | jmp still |
125 | 123 | ||
126 | button: ; button |
124 | button: ; button |
127 | mov eax,17 ; get id |
125 | mov eax,17 ; get id |
128 | mcall |
126 | mcall |
129 | cmp ah,1 ; button id=1 ? |
127 | cmp ah,1 ; button id=1 ? |
130 | je close |
128 | je close |
131 | jmp still |
129 | jmp still |
132 | 130 | ||
133 | close: |
131 | close: |
134 | mov eax,-1 ; close this program |
132 | mov eax,-1 ; close this program |
135 | mcall |
133 | mcall |
136 | 134 | ||
137 | 135 | ||
138 | ; ********************************************* |
136 | ; ********************************************* |
139 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
137 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
140 | ; ********************************************* |
138 | ; ********************************************* |
141 | 139 | ||
142 | 140 | ||
143 | draw_window: |
141 | draw_window: |
144 | 142 | ||
145 | mcall 12,1 |
143 | mcall 12,1 |
146 | 144 | ||
147 | mov eax,0 ; DRAW WINDOW |
145 | mov eax,0 ; DRAW WINDOW |
148 | mov ebx,1*65536+200 ; [x start] *65536 + [x size] |
146 | mov ebx,1*65536+(200-1) ; [x start] *65536 + [x size] |
149 | mov ecx,200*65536+240 ; [y start] *65536 + [y size] |
147 | mov ecx,200*65536+240 ; [y start] *65536 + [y size] |
150 | mov edx,0x14000000 ; work area color (type II) |
148 | mov edx,0x14000000 ; work area color (type II) |
151 | mov edi,title ; frame color |
149 | mov edi,title ; frame color |
152 | mcall |
150 | mcall |
153 | 151 | ||
154 | call palette ; display color palette |
152 | call palette ; display color palette |
155 | 153 | ||
156 | mcall 12, 2 |
154 | mcall 12, 2 |
157 | 155 | ||
158 | ret |
156 | ret |
159 | 157 | ||
160 | 158 | ||
161 | ; ********************************************* |
159 | ; ********************************************* |
162 | ; ******* COLOR PALETTE LAYOUT ROUTINES ****** |
160 | ; ******* COLOR PALETTE LAYOUT ROUTINES ****** |
163 | ; ********************************************* |
161 | ; ********************************************* |
164 | 162 | ||
165 | 163 | ||
166 | palette: |
164 | palette: |
167 | mov ebx,15*65536+18 ; LAYOUT: start x and width |
165 | mov ebx,15*65536+18 ; LAYOUT: start x and width |
168 | mov edx,32*65536+18 ; LAYOUT: start y and depth |
166 | mov edx,32*65536+18 ; LAYOUT: start y and depth |
169 | mov ecx,8 ; 8 rows |
167 | mov ecx,8 ; 8 rows |
170 | mov ebp,colors ; color table |
168 | mov ebp,colors ; color table |
171 | p1: push ecx |
169 | p1: push ecx |
172 | mov ecx,9 ; 9 columns |
170 | mov ecx,9 ; 9 columns |
173 | p2: push ecx |
171 | p2: push ecx |
174 | push edx |
172 | push edx |
175 | mov ecx,edx ; y coord |
173 | mov ecx,edx ; y coord |
176 | mov edx,[ebp] ; color |
174 | mov edx,[ebp] ; color |
177 | mov eax,13 ; draw bar function |
175 | mov eax,13 ; draw bar function |
178 | mcall |
176 | mcall |
179 | pop edx |
177 | pop edx |
180 | pop ecx |
178 | pop ecx |
181 | add ebx,19*65536 ; next column |
179 | add ebx,19*65536 ; next column |
182 | add ebp,4 ; next color |
180 | add ebp,4 ; next color |
183 | p3: loop p2 |
181 | p3: loop p2 |
184 | pop ecx |
182 | pop ecx |
185 | mov ebx,15*65536+18 ; restart x |
183 | mov ebx,15*65536+18 ; restart x |
186 | add edx,19*65536 ; next row |
184 | add edx,19*65536 ; next row |
187 | loop p1 |
185 | loop p1 |
188 | call draw_picks |
186 | call draw_picks |
189 | 187 | ||
190 | ret |
188 | ret |
191 | 189 | ||
192 | draw_picks: |
190 | draw_picks: |
193 | mov ebx,64*65536+24 ; draw x and width |
191 | mov ebx,64*65536+24 ; draw x and width |
194 | mov ecx,188*65536+42 ; draw y and depth |
192 | mov ecx,188*65536+42 ; draw y and depth |
195 | mov edx,0xc0c0c0 ; color grey |
193 | mov edx,0xc0c0c0 ; color grey |
196 | mov eax,13 ; draw bar function |
194 | mov eax,13 ; draw bar function |
197 | mcall |
195 | mcall |
198 | mov eax,[picks] ; first picked color |
196 | mov eax,[picks] ; first picked color |
199 | mov esi,22*65536+196 ; print at x and y |
197 | mov esi,22*65536+196 ; print at x and y |
200 | call do_hex ; print color number |
198 | call do_hex ; print color number |
201 | mov eax,[picks+4] ; second picked color |
199 | mov eax,[picks+4] ; second picked color |
202 | mov esi,22*65536+215 ; print at x and y |
200 | mov esi,22*65536+215 ; print at x and y |
203 | call do_hex ; print color number |
201 | call do_hex ; print color number |
204 | mov eax,[picks] ; first picked color |
202 | mov eax,[picks] ; first picked color |
205 | mov ebx,67*65536+18 ; x and width |
203 | mov ebx,67*65536+18 ; x and width |
206 | mov esi,191*65536+18 ; y and depth |
204 | mov esi,191*65536+18 ; y and depth |
207 | call do_color ; paint color 1 square |
205 | call do_color ; paint color 1 square |
208 | mov eax,[picks+4] ; second picked color |
206 | mov eax,[picks+4] ; second picked color |
209 | mov ebx,67*65536+18 ; x and width |
207 | mov ebx,67*65536+18 ; x and width |
210 | mov esi,209*65536+18 ; y and depth |
208 | mov esi,209*65536+18 ; y and depth |
211 | call do_color ; paint color 2 square |
209 | call do_color ; paint color 2 square |
212 | mov eax,[picks] ; first picked color |
210 | mov eax,[picks] ; first picked color |
213 | mov ebx,96*65536+196 ; x and y |
211 | mov ebx,96*65536+196 ; x and y |
214 | call do_name ; print color's name |
212 | call do_name ; print color's name |
215 | mov eax,[picks+4] ; second picked color |
213 | mov eax,[picks+4] ; second picked color |
216 | mov ebx,96*65536+215 ; x and y |
214 | mov ebx,96*65536+215 ; x and y |
217 | call do_name ; print color's name |
215 | call do_name ; print color's name |
218 | 216 | ||
219 | ret |
217 | ret |
220 | 218 | ||
221 | do_hex: |
219 | do_hex: |
222 | dec eax ; use 0 base |
220 | dec eax ; use 0 base |
223 | mov ecx,4 ; dword length |
221 | mov ecx,4 ; dword length |
224 | mul ecx ; calc pointer |
222 | mul ecx ; calc pointer |
225 | mov edi,colors ; color table |
223 | mov edi,colors ; color table |
226 | add edi,eax ; add offset |
224 | add edi,eax ; add offset |
227 | mov ecx,[edi] ; save color 1 |
225 | mov ecx,[edi] ; save color 1 |
228 | mov ebx,0x60100 ; print 6 hex digits |
226 | mov ebx,0x60100 ; print 6 hex digits |
229 | mov edx,esi ; copy color |
227 | mov edx,esi ; copy color |
230 | mov esi,0xe1e1e1 ; use white |
228 | mov esi,0x40e1e1e1 ; use white |
- | 229 | xor edi, edi |
|
231 | mov eax,47 ; print number function |
230 | mov eax,47 ; print number function |
232 | mcall |
231 | mcall |
233 | 232 | ||
234 | ret |
233 | ret |
235 | 234 | ||
236 | do_color: |
235 | do_color: |
237 | dec eax ; use 0 base |
236 | dec eax ; use 0 base |
238 | mov ecx,4 ; dword length |
237 | mov ecx,4 ; dword length |
239 | mul ecx ; calc pointer |
238 | mul ecx ; calc pointer |
240 | mov edi,colors ; color table |
239 | mov edi,colors ; color table |
241 | add edi,eax ; add offset |
240 | add edi,eax ; add offset |
242 | mov edx,[edi] ; color |
241 | mov edx,[edi] ; color |
243 | mov ecx,esi ; recover y an depth |
242 | mov ecx,esi ; recover y an depth |
244 | mov eax,13 ; draw bar function |
243 | mov eax,13 ; draw bar function |
245 | mcall |
244 | mcall |
246 | 245 | ||
247 | ret |
246 | ret |
248 | 247 | ||
249 | do_name: |
248 | do_name: |
250 | dec eax ; use 0 base |
249 | dec eax ; use 0 base |
251 | mov ecx,15 ; string length |
250 | mov ecx,15 ; string length |
252 | mul ecx ; calc pointer |
251 | mul ecx ; calc pointer |
253 | mov edx,names ; color table |
252 | mov edx,names ; color table |
254 | add edx,eax ; add offset |
253 | add edx,eax ; add offset |
255 | mov ecx,0xe1e1e1 ; color |
254 | mov ecx,0x40e1e1e1 ; color |
256 | mov esi,15 |
255 | mov esi,15 |
- | 256 | xor edi, edi |
|
257 | mov eax,4 ; print text function |
257 | mov eax,4 ; print text function |
258 | mcall |
258 | mcall |
259 | 259 | ||
260 | ret |
260 | ret |
261 | - | ||
262 | clear: |
- | |
263 | mov ebx,22*65536+36 ; x and width |
- | |
264 | mov ecx,196*65536+26 ; y and depth |
- | |
265 | mov edx,0x000000 ; color |
- | |
266 | mov eax,13 ; draw bar funx |
- | |
267 | mcall |
- | |
268 | mov ebx,96*65536+90 ; x and width |
- | |
269 | mov ecx,196*65536+26 ; y and depth |
- | |
270 | mov edx,0x000000 ; color |
- | |
271 | mov eax,13 ; draw bar funx |
- | |
272 | mcall |
- | |
273 | - | ||
274 | ret |
261 | |
275 | 262 | ||
276 | help: |
263 | help: |
277 | mcall 48,4 |
264 | mcall 48,4 |
278 | mov ecx, eax |
265 | mov ecx, eax |
279 | shl ecx, 16 |
266 | shl ecx, 16 |
280 | add ecx, 236 |
267 | add ecx, 236 |
281 | sub ecx, eax |
268 | sub ecx, eax |
282 | 269 | ||
283 | 270 | ||
284 | mov ebx,5*65536+191 ; x and width |
271 | mov ebx,5*65536+190 ; x and width |
285 | mov edx,0x465e8f ; dark denim color |
272 | mov edx,0x465e8f ; dark denim color |
286 | mov eax,13 ; write text funx |
273 | mov eax,13 ; write text funx |
287 | mcall |
274 | mcall |
288 | mov ebx,20*65536+40 ; starting x and y |
275 | mov ebx,20*65536+40 ; starting x and y |
289 | mov edx,text ; start of text |
276 | mov edx,text ; start of text |
290 | mov esi,27 ; width of text |
277 | mov esi,27 ; width of text |
291 | mov ecx,14 ; 14 text lines to do |
278 | mov ecx,14 ; 14 text lines to do |
292 | mov eax,4 ; write text funx |
279 | mov eax,4 ; write text funx |
293 | h1: push ecx |
280 | h1: push ecx |
294 | sub ebx,65537 ; drop shadow x and y |
281 | sub ebx,65537 ; drop shadow x and y |
295 | mov ecx,0x000000 ; black shadow |
282 | mov ecx,0x000000 ; black shadow |
296 | mcall |
283 | mcall |
297 | add ebx,65537 ; original x and y |
284 | add ebx,65537 ; original x and y |
298 | mov ecx,0xefefef ; white text |
285 | mov ecx,0xefefef ; white text |
299 | mcall |
286 | mcall |
300 | add edx,27 ; next line of text |
287 | add edx,27 ; next line of text |
301 | add bx,12 ; next row |
288 | add bx,12 ; next row |
302 | pop ecx |
289 | pop ecx |
303 | loop h1 |
290 | loop h1 |
304 | mov eax,10 ; wait on event |
291 | mov eax,10 ; wait on event |
305 | mcall |
292 | mcall |
306 | cmp eax,2 ; got a key? |
293 | cmp eax,2 ; got a key? |
307 | jne h2 ; nope |
294 | jne h2 ; nope |
308 | mov eax,2 ; yep, burn it |
295 | mov eax,2 ; yep, burn it |
309 | mcall |
296 | mcall |
310 | h2: |
297 | h2: |
311 | call draw_window |
298 | call draw_window |
312 | 299 | ||
313 | ret |
300 | ret |
314 | 301 | ||
315 | 302 | ||
316 | ; ********************************************* |
303 | ; ********************************************* |
317 | ; ********** DATA DEFINITIONS AREA *********** |
304 | ; ********** DATA DEFINITIONS AREA *********** |
318 | ; ********************************************* |
305 | ; ********************************************* |
319 | 306 | ||
320 | title db 'COLOR REFERENCE H>HELP',0 |
307 | title db 'COLOR REFERENCE H>HELP',0 |
321 | 308 | ||
322 | picks: |
309 | picks: |
323 | dd 31,2 ; selected top/bot colors |
310 | dd 31,2 ; selected top/bot colors |
324 | 311 | ||
325 | colors: |
312 | colors: |
326 | dd 0xe0e0e0 ; white |
313 | dd 0xe0e0e0 ; white |
327 | dd 0xe7e6a0 ; pale yellow |
314 | dd 0xe7e6a0 ; pale yellow |
328 | dd 0xe7e05a ; lemon yellow |
315 | dd 0xe7e05a ; lemon yellow |
329 | dd 0xe7c750 ; mustard |
316 | dd 0xe7c750 ; mustard |
330 | dd 0xe7b850 ; cadium yellow |
317 | dd 0xe7b850 ; cadium yellow |
331 | dd 0xbfa461 ; yellow ocre |
318 | dd 0xbfa461 ; yellow ocre |
332 | dd 0xe0c090 ; cream |
319 | dd 0xe0c090 ; cream |
333 | dd 0xe0b27b ; peach |
320 | dd 0xe0b27b ; peach |
334 | dd 0xe2986d ; dark peach |
321 | dd 0xe2986d ; dark peach |
335 | dd 0xebb2c0 ; pink |
322 | dd 0xebb2c0 ; pink |
336 | dd 0xe0b0a0 ; flesh |
323 | dd 0xe0b0a0 ; flesh |
337 | dd 0xc79790 ; artificial arm |
324 | dd 0xc79790 ; artificial arm |
338 | dd 0xb88688 ; deep blush |
325 | dd 0xb88688 ; deep blush |
339 | dd 0xc4a077 ; washed khaki |
326 | dd 0xc4a077 ; washed khaki |
340 | dd 0xb69269 ; khaki |
327 | dd 0xb69269 ; khaki |
341 | dd 0xa8845b ; dark khaki |
328 | dd 0xa8845b ; dark khaki |
342 | dd 0xab937a ; beige |
329 | dd 0xab937a ; beige |
343 | dd 0xa39370 ; poupon |
330 | dd 0xa39370 ; poupon |
344 | dd 0x988c00 ; camouflage |
331 | dd 0x988c00 ; camouflage |
345 | dd 0x98a024 ; pale olive |
332 | dd 0x98a024 ; pale olive |
346 | dd 0x838b00 ; olive |
333 | dd 0x838b00 ; olive |
347 | dd 0x6d7600 ; dark olive |
334 | dd 0x6d7600 ; dark olive |
348 | dd 0x5b6200 ; black olive |
335 | dd 0x5b6200 ; black olive |
349 | dd 0x94946a ; washed army |
336 | dd 0x94946a ; washed army |
350 | dd 0x74744a ; army |
337 | dd 0x74744a ; army |
351 | dd 0x66a696 ; pale teal |
338 | dd 0x66a696 ; pale teal |
352 | dd 0x409b90 ; faded teal |
339 | dd 0x409b90 ; faded teal |
353 | dd 0x008d8d ; pastel teal |
340 | dd 0x008d8d ; pastel teal |
354 | dd 0x007c7c ; teal |
341 | dd 0x007c7c ; teal |
355 | dd 0x006464 ; dark teal |
342 | dd 0x006464 ; dark teal |
356 | dd 0x00b8ca ; light turquoise |
343 | dd 0x00b8ca ; light turquoise |
357 | dd 0x00a0b2 ; turquoise |
344 | dd 0x00a0b2 ; turquoise |
358 | dd 0x00889a ; dark turquoise |
345 | dd 0x00889a ; dark turquoise |
359 | dd 0x575f8c ; medium cobalt |
346 | dd 0x575f8c ; medium cobalt |
360 | dd 0x4e4e7c ; cobalt |
347 | dd 0x4e4e7c ; cobalt |
361 | dd 0x00459a ; ultramarine |
348 | dd 0x00459a ; ultramarine |
362 | dd 0x400088 ; navy blue |
349 | dd 0x400088 ; navy blue |
363 | dd 0x4e00e7 ; true blue |
350 | dd 0x4e00e7 ; true blue |
364 | dd 0x508cec ; sky blue |
351 | dd 0x508cec ; sky blue |
365 | dd 0x6a73d0 ; mountain blue |
352 | dd 0x6a73d0 ; mountain blue |
366 | dd 0x677ab0 ; faded jeans |
353 | dd 0x677ab0 ; faded jeans |
367 | dd 0x576fa0 ; denim |
354 | dd 0x576fa0 ; denim |
368 | dd 0xd048c8 ; fuschia |
355 | dd 0xd048c8 ; fuschia |
369 | dd 0xb800e7 ; lavendar |
356 | dd 0xb800e7 ; lavendar |
370 | dd 0xa800a8 ; light violet |
357 | dd 0xa800a8 ; light violet |
371 | dd 0x780078 ; violet |
358 | dd 0x780078 ; violet |
372 | dd 0x520064 ; purple |
359 | dd 0x520064 ; purple |
373 | dd 0xb800b8 ; magenta |
360 | dd 0xb800b8 ; magenta |
374 | dd 0xa4307a ; rose |
361 | dd 0xa4307a ; rose |
375 | dd 0x90207f ; mauve |
362 | dd 0x90207f ; mauve |
376 | dd 0xe76e83 ; salmon |
363 | dd 0xe76e83 ; salmon |
377 | dd 0xea7a7d ; pastel orange |
364 | dd 0xea7a7d ; pastel orange |
378 | dd 0xe26830 ; orange |
365 | dd 0xe26830 ; orange |
379 | dd 0xac5800 ; burnt sienna |
366 | dd 0xac5800 ; burnt sienna |
380 | dd 0xcc0000 ; red orange |
367 | dd 0xcc0000 ; red orange |
381 | dd 0xac0000 ; cadium red |
368 | dd 0xac0000 ; cadium red |
382 | dd 0x880040 ; brick red |
369 | dd 0x880040 ; brick red |
383 | dd 0x780000 ; rust |
370 | dd 0x780000 ; rust |
384 | dd 0x683020 ; terra cotta |
371 | dd 0x683020 ; terra cotta |
385 | dd 0x7f4658 ; light maroon |
372 | dd 0x7f4658 ; light maroon |
386 | dd 0x702050 ; maroon |
373 | dd 0x702050 ; maroon |
387 | dd 0x7a5b5f ; umber blush |
374 | dd 0x7a5b5f ; umber blush |
388 | dd 0x584838 ; burnt umber |
375 | dd 0x584838 ; burnt umber |
389 | dd 0x8a5d1a ; cigar brown |
376 | dd 0x8a5d1a ; cigar brown |
390 | dd 0x64504a ; ice brown |
377 | dd 0x64504a ; ice brown |
391 | dd 0x564242 ; dark chocolate |
378 | dd 0x564242 ; dark chocolate |
392 | dd 0x00aa66 ; celery stalk |
379 | dd 0x00aa66 ; celery stalk |
393 | dd 0x107a30 ; forest green |
380 | dd 0x107a30 ; forest green |
394 | dd 0x365800 ; hooker's green |
381 | dd 0x365800 ; hooker's green |
395 | dd 0x8beb88 ; pastel lime |
382 | dd 0x8beb88 ; pastel lime |
396 | dd 0x7bbb64 ; lime |
383 | dd 0x7bbb64 ; lime |
397 | dd 0x4ba010 ; dark lime |
384 | dd 0x4ba010 ; dark lime |
398 | 385 | ||
399 | names: |
386 | names: |
400 | db 'WHITE ' |
387 | db 'WHITE ' |
401 | db 'PALE YELLOW ' |
388 | db 'PALE YELLOW ' |
402 | db 'LEMON YELLOW ' |
389 | db 'LEMON YELLOW ' |
403 | db 'MUSTARD ' |
390 | db 'MUSTARD ' |
404 | db 'CADIUM YELLOW ' |
391 | db 'CADIUM YELLOW ' |
405 | db 'YELLOW OCRE ' |
392 | db 'YELLOW OCRE ' |
406 | db 'CREAM ' |
393 | db 'CREAM ' |
407 | db 'PEACH ' |
394 | db 'PEACH ' |
408 | db 'DARK PEACH ' |
395 | db 'DARK PEACH ' |
409 | db 'PINK ' |
396 | db 'PINK ' |
410 | db 'FLESH ' |
397 | db 'FLESH ' |
411 | db 'ARTIFICIAL ARM ' |
398 | db 'ARTIFICIAL ARM ' |
412 | db 'DEEP BLUSH ' |
399 | db 'DEEP BLUSH ' |
413 | db 'WASHED KHAKI ' |
400 | db 'WASHED KHAKI ' |
414 | db 'KHAKI ' |
401 | db 'KHAKI ' |
415 | db 'DARK KHAKI ' |
402 | db 'DARK KHAKI ' |
416 | db 'BEIGE ' |
403 | db 'BEIGE ' |
417 | db 'POUPON ' |
404 | db 'POUPON ' |
418 | db 'CAMOUFLAGE ' |
405 | db 'CAMOUFLAGE ' |
419 | db 'PALE OLIVE ' |
406 | db 'PALE OLIVE ' |
420 | db 'OLIVE ' |
407 | db 'OLIVE ' |
421 | db 'DARK OLIVE ' |
408 | db 'DARK OLIVE ' |
422 | db 'BLACK OLIVE ' |
409 | db 'BLACK OLIVE ' |
423 | db 'WASHED ARMY ' |
410 | db 'WASHED ARMY ' |
424 | db 'ARMY ' |
411 | db 'ARMY ' |
425 | db 'PALE TEAL ' |
412 | db 'PALE TEAL ' |
426 | db 'FADED TEAL ' |
413 | db 'FADED TEAL ' |
427 | db 'PASTEL TEAL ' |
414 | db 'PASTEL TEAL ' |
428 | db 'TEAL ' |
415 | db 'TEAL ' |
429 | db 'DARK TEAL ' |
416 | db 'DARK TEAL ' |
430 | db 'LIGHT TURQUOISE' |
417 | db 'LIGHT TURQUOISE' |
431 | db 'TURQUOISE ' |
418 | db 'TURQUOISE ' |
432 | db 'DARK TURQUOISE ' |
419 | db 'DARK TURQUOISE ' |
433 | db 'MEDIUM COBALT ' |
420 | db 'MEDIUM COBALT ' |
434 | db 'COBALT ' |
421 | db 'COBALT ' |
435 | db 'ULTRAMARINE ' |
422 | db 'ULTRAMARINE ' |
436 | db 'NAVY BLUE ' |
423 | db 'NAVY BLUE ' |
437 | db 'TRUE BLUE ' |
424 | db 'TRUE BLUE ' |
438 | db 'SKY BLUE ' |
425 | db 'SKY BLUE ' |
439 | db 'MOUNTAIN BLUE ' |
426 | db 'MOUNTAIN BLUE ' |
440 | db 'FADED JEANS ' |
427 | db 'FADED JEANS ' |
441 | db 'DENIM ' |
428 | db 'DENIM ' |
442 | db 'FUSHIA ' |
429 | db 'FUSHIA ' |
443 | db 'LAVENDAR ' |
430 | db 'LAVENDAR ' |
444 | db 'LIGHT VIOLET ' |
431 | db 'LIGHT VIOLET ' |
445 | db 'VIOLET ' |
432 | db 'VIOLET ' |
446 | db 'PURPLE ' |
433 | db 'PURPLE ' |
447 | db 'MAGENTA ' |
434 | db 'MAGENTA ' |
448 | db 'ROSE ' |
435 | db 'ROSE ' |
449 | db 'MAUVE ' |
436 | db 'MAUVE ' |
450 | db 'SALMON ' |
437 | db 'SALMON ' |
451 | db 'PASTEL ORANGE ' |
438 | db 'PASTEL ORANGE ' |
452 | db 'ORANGE ' |
439 | db 'ORANGE ' |
453 | db 'BURNT SIENNA ' |
440 | db 'BURNT SIENNA ' |
454 | db 'RED ORANGE ' |
441 | db 'RED ORANGE ' |
455 | db 'CADIUM RED ' |
442 | db 'CADIUM RED ' |
456 | db 'BRICK RED ' |
443 | db 'BRICK RED ' |
457 | db 'RUST ' |
444 | db 'RUST ' |
458 | db 'TERRA COTTA ' |
445 | db 'TERRA COTTA ' |
459 | db 'LIGHT MAROON ' |
446 | db 'LIGHT MAROON ' |
460 | db 'MAROON ' |
447 | db 'MAROON ' |
461 | db 'UMBER BLUSH ' |
448 | db 'UMBER BLUSH ' |
462 | db 'BURNT UMBER ' |
449 | db 'BURNT UMBER ' |
463 | db 'CIGAR BROWN ' |
450 | db 'CIGAR BROWN ' |
464 | db 'ICE BROWN ' |
451 | db 'ICE BROWN ' |
465 | db 'DARK CHOCOLATE ' |
452 | db 'DARK CHOCOLATE ' |
466 | db 'CELERY STALK ' |
453 | db 'CELERY STALK ' |
467 | db 'FOREST GREEN ' |
454 | db 'FOREST GREEN ' |
468 | db "HOOKER'S GREEN " |
455 | db "HOOKER'S GREEN " |
469 | db 'PASTEL LIME ' |
456 | db 'PASTEL LIME ' |
470 | db 'LIME ' |
457 | db 'LIME ' |
471 | db 'DARK LIME ' |
458 | db 'DARK LIME ' |
472 | 459 | ||
473 | 460 | ||
474 | text: |
461 | text: |
475 | db 'TO SEE HOW COLORS COMPARE ' |
462 | db 'TO SEE HOW COLORS COMPARE ' |
476 | db 'TO ONE ANOTHER, LEFT CLICK ' |
463 | db 'TO ONE ANOTHER, LEFT CLICK ' |
477 | db 'THE FIRST COLOR AND RIGHT ' |
464 | db 'THE FIRST COLOR AND RIGHT ' |
478 | db 'CLICK THE SECOND. TO GET ' |
465 | db 'CLICK THE SECOND. TO GET ' |
479 | db "A SENSE OF A COLOR'S TRUE " |
466 | db "A SENSE OF A COLOR'S TRUE " |
480 | db 'HUE, RIGHT AND LEFT CLICK ' |
467 | db 'HUE, RIGHT AND LEFT CLICK ' |
481 | db 'THE SAME COLOR TO SEE IT ' |
468 | db 'THE SAME COLOR TO SEE IT ' |
482 | db 'ON THE NEUTRAL BACKGROUND. ' |
469 | db 'ON THE NEUTRAL BACKGROUND. ' |
483 | db 'TO USE A LIGHTER OR DARKER ' |
470 | db 'TO USE A LIGHTER OR DARKER ' |
484 | db 'VALUE OF A COLOR, ADD OR ' |
471 | db 'VALUE OF A COLOR, ADD OR ' |
485 | db 'SUBTRACT 0x10 OR 0x20 FROM ' |
472 | db 'SUBTRACT 0x10 OR 0x20 FROM ' |
486 | db 'EACH BYTE OF ITS HEX VALUE.' |
473 | db 'EACH BYTE OF ITS HEX VALUE.' |
487 | db ' ' |
474 | db ' ' |
488 | db ' ANY KEY ... ' |
475 | db ' ANY KEY ... ' |
489 | 476 | ||
490 | stat_table: |
477 | stat_table: |
491 | 478 | ||
492 | 479 | ||
493 | finis: |
480 | finis: |