Rev 1092 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1092 | Rev 1096 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; BACKGROUND SET - Compile with fasm |
2 | ; BACKGROUND SET - Compile with fasm |
3 | ; |
3 | ; |
4 | use32 |
4 | use32 |
5 | org 0x0 |
5 | org 0x0 |
6 | db 'MENUET01' ; 8 byte id |
6 | db 'MENUET01' ; 8 byte id |
7 | dd 0x01 ; version |
7 | dd 0x01 ; version |
8 | dd START ; program start |
8 | dd START ; program start |
9 | dd I_END ; image size |
9 | dd I_END ; image size |
10 | dd mem ; reguired amount of memory |
10 | dd mem ; reguired amount of memory |
11 | dd mem ; stack pointer |
11 | dd mem ; stack pointer |
12 | dd I_Param,0 |
12 | dd I_Param,0 |
13 | 13 | ||
14 | include 'lang.inc' |
14 | include 'lang.inc' |
15 | include '..\..\..\macros.inc' |
15 | include '..\..\..\macros.inc' |
16 | purge mov ; decrease kpack'ed size |
16 | purge mov ; decrease kpack'ed size |
17 | 17 | ||
18 | START: |
18 | START: |
19 | mov eax,48 |
19 | mov eax,48 |
20 | mov ebx,3 |
20 | mov ebx,3 |
21 | mov ecx,sc |
21 | mov ecx,sc |
22 | mov edx,sizeof.system_colors |
22 | mov edx,sizeof.system_colors |
23 | mcall |
23 | mcall |
24 | 24 | ||
25 | cmp dword [I_Param], 'BOOT' |
25 | cmp dword [I_Param], 'BOOT' |
26 | jz OnBoot |
26 | jz OnBoot |
27 | 27 | ||
28 | call draw_window |
28 | call draw_window |
29 | 29 | ||
30 | call load_texture |
30 | call load_texture |
31 | call draw_image |
31 | call draw_image |
32 | 32 | ||
33 | 33 | ||
34 | still: |
34 | still: |
35 | 35 | ||
36 | mov eax,10 ; wait here for event |
36 | mov eax,10 ; wait here for event |
37 | mcall |
37 | mcall |
38 | 38 | ||
39 | dec eax |
39 | dec eax |
40 | jz red |
40 | jz red |
41 | dec eax |
41 | dec eax |
42 | jnz button |
42 | jnz button |
43 | 43 | ||
44 | key: |
44 | key: |
45 | mov al,2 |
45 | mov al,2 |
46 | mcall |
46 | mcall |
47 | jmp still |
47 | jmp still |
48 | 48 | ||
49 | red: |
49 | red: |
50 | call draw_window |
50 | call draw_window |
51 | jmp still |
51 | jmp still |
52 | 52 | ||
53 | button: |
53 | button: |
54 | mov al,17 |
54 | mov al,17 |
55 | mcall |
55 | mcall |
56 | 56 | ||
57 | shr eax,8 |
57 | shr eax,8 |
58 | 58 | ||
59 | cmp al,101 ; tiled |
59 | cmp al,101 ; tiled |
60 | jne no101 |
60 | jne no101 |
61 | mov ecx,1 |
61 | mov ecx,1 |
62 | setbgrmode: |
62 | setbgrmode: |
63 | mov eax,15 |
63 | mov eax,15 |
64 | mov ebx,4 |
64 | mov ebx,4 |
65 | mcall |
65 | mcall |
66 | dec ebx |
66 | dec ebx |
67 | mcall |
67 | mcall |
68 | jmp still |
68 | jmp still |
69 | no101: |
69 | no101: |
70 | 70 | ||
71 | mov ecx, 2 |
71 | mov ecx, 2 |
72 | cmp al, 102 |
72 | cmp al, 102 |
73 | jz setbgrmode |
73 | jz setbgrmode |
74 | no102: |
74 | no102: |
75 | 75 | ||
76 | cmp al,1 ; end program |
76 | cmp al,1 ; end program |
77 | jnz no_end |
77 | jnz no_end |
78 | or eax,-1 |
78 | or eax,-1 |
79 | mcall |
79 | mcall |
80 | no_end: |
80 | no_end: |
81 | 81 | ||
82 | cmp al,11 |
82 | cmp al,11 |
83 | jz bg |
83 | jz bg |
84 | cmp al,12 |
84 | cmp al,12 |
85 | jz bg |
85 | jz bg |
86 | cmp al,13 |
86 | cmp al,13 |
87 | jz bg |
87 | jz bg |
88 | 88 | ||
89 | cmp al,121 |
89 | cmp al,121 |
90 | jb no_bg_select |
90 | jb no_bg_select |
91 | cmp al,133 |
91 | cmp al,133 |
92 | ja no_bg_select |
92 | ja no_bg_select |
93 | mov eax,[arrays + (eax-121)*4] |
93 | mov eax,[arrays + (eax-121)*4] |
94 | mov [usearray],eax |
94 | mov [usearray],eax |
95 | call load_texture |
95 | call load_texture |
96 | call draw_image |
96 | call draw_image |
97 | jmp still |
97 | jmp still |
98 | no_bg_select: |
98 | no_bg_select: |
99 | 99 | ||
100 | cmp al,14+20 |
100 | cmp al,14+20 |
101 | jge bg4 |
101 | jge bg4 |
102 | 102 | ||
103 | jmp bg2 |
103 | jmp bg2 |
104 | 104 | ||
105 | 105 | ||
106 | OnBoot: |
106 | OnBoot: |
107 | 107 | ||
108 | call load_texture |
108 | call load_texture |
109 | 109 | ||
110 | mov eax,15 |
110 | mov eax,15 |
111 | mov ebx,1 |
111 | mov ebx,1 |
112 | mov ecx,256 |
112 | mov ecx,256 |
113 | mov edx,256 |
113 | mov edx,256 |
114 | mcall |
114 | mcall |
115 | 115 | ||
116 | mov ebx,5 |
116 | mov ebx,5 |
117 | mov ecx,image + 0 ; <<< +0 for blue, +1 for red, |
117 | mov ecx,image + 0 ; <<< +0 for blue, +1 for red, |
118 | ; <<< +2 for green background at boot |
118 | ; <<< +2 for green background at boot |
119 | mov edx,0 |
119 | mov edx,0 |
120 | mov esi,256*3*256 |
120 | mov esi,256*3*256 |
121 | mcall |
121 | mcall |
122 | 122 | ||
123 | dec ebx |
123 | dec ebx |
124 | mov ecx,2 |
124 | mov ecx,2 |
125 | mcall |
125 | mcall |
126 | 126 | ||
127 | dec ebx |
127 | dec ebx |
128 | mcall |
128 | mcall |
129 | 129 | ||
130 | mov eax,-1 |
130 | mov eax,-1 |
131 | mcall |
131 | mcall |
132 | 132 | ||
133 | 133 | ||
134 | ; set background |
134 | ; set background |
135 | 135 | ||
136 | bg: |
136 | bg: |
137 | 137 | ||
138 | mov edi,0x40000 |
138 | mov edi,image |
139 | 139 | ||
140 | cmp al,12 |
140 | cmp al,12 |
141 | jb bb1 |
141 | jb bb1 |
142 | inc edi |
142 | inc edi |
143 | bb1: |
143 | bb1: |
144 | cmp al,13 |
144 | cmp al,13 |
145 | jb bb2 |
145 | jb bb2 |
146 | inc edi |
146 | inc edi |
147 | bb2: |
147 | bb2: |
148 | 148 | ||
149 | mov eax,15 |
149 | mov eax,15 |
150 | mov ebx,1 |
150 | mov ebx,1 |
151 | mov ecx,256 |
151 | mov ecx,256 |
152 | mov edx,256 |
152 | mov edx,256 |
153 | mcall |
153 | mcall |
154 | 154 | ||
155 | mov ebx,5 |
155 | mov ebx,5 |
156 | mov ecx,edi |
156 | mov ecx,edi |
157 | mov edx,0 |
157 | mov edx,0 |
158 | mov esi,256*256*3 |
158 | mov esi,256*256*3 |
159 | mcall |
159 | mcall |
160 | 160 | ||
161 | mov ebx,3 |
161 | mov ebx,3 |
162 | mcall |
162 | mcall |
163 | 163 | ||
164 | jmp still |
164 | jmp still |
165 | 165 | ||
166 | 166 | ||
167 | ; colored background |
167 | ; colored background |
168 | 168 | ||
169 | bg2: |
169 | bg2: |
170 | mov edi, eax |
170 | mov edi, eax |
171 | mcall 15,4,1 |
171 | mcall 15,4,1 |
172 | mcall ,1,,1 |
172 | mcall ,1,,1 |
173 | lea ecx, [(edi-14)*3+fill] |
173 | lea ecx, [(edi-14)*3+fill] |
174 | mcall ,5,,0,3*1*1 |
174 | mcall ,5,,0,3*1*1 |
175 | mcall ,3 |
175 | mcall ,3 |
176 | 176 | ||
177 | jmp still |
177 | jmp still |
178 | 178 | ||
179 | 179 | ||
180 | ; shaped background |
180 | ; shaped background |
181 | 181 | ||
182 | bg4: |
182 | bg4: |
183 | 183 | ||
184 | shl eax,3 |
184 | shl eax,3 |
185 | add eax,shape - (14+20)*8 |
185 | add eax,shape - (14+20)*8 |
186 | mov ecx,[eax+0] |
186 | mov ecx,[eax+0] |
187 | mov edx,[eax+4] |
187 | mov edx,[eax+4] |
188 | 188 | ||
189 | mov eax,15 |
189 | mov eax,15 |
190 | mov ebx,1 |
190 | mov ebx,1 |
191 | mcall |
191 | mcall |
192 | 192 | ||
193 | mov ebx,3 |
193 | mov ebx,3 |
194 | mcall |
194 | mcall |
195 | 195 | ||
196 | jmp still |
196 | jmp still |
197 | 197 | ||
198 | 198 | ||
199 | ; ********************************************* |
199 | ; ********************************************* |
200 | ; ******* CELLULAR TEXTURE GENERATION ********* |
200 | ; ******* CELLULAR TEXTURE GENERATION ********* |
201 | ; **** by Cesare Castiglia (dixan/sk/mfx) ***** |
201 | ; **** by Cesare Castiglia (dixan/sk/mfx) ***** |
202 | ; ********* dixan@spinningkids.org ********** |
202 | ; ********* dixan@spinningkids.org ********** |
203 | ; ********************************************* |
203 | ; ********************************************* |
204 | ; * the algorythm is kinda simple. the color * |
204 | ; * the algorythm is kinda simple. the color * |
205 | ; * component for every pixel is evaluated * |
205 | ; * component for every pixel is evaluated * |
206 | ; * according to the squared distance from * |
206 | ; * according to the squared distance from * |
207 | ; * the closest point in 'ptarray'. * |
207 | ; * the closest point in 'ptarray'. * |
208 | ; ********************************************* |
208 | ; ********************************************* |
209 | 209 | ||
210 | load_texture: |
210 | load_texture: |
211 | gentexture: |
211 | gentexture: |
212 | 212 | ||
213 | xor ecx,ecx ; ycounter |
213 | xor ecx,ecx ; ycounter |
214 | xor edi,edi ; pixel counter |
214 | xor edi,edi ; pixel counter |
215 | 215 | ||
216 | mov ebp,[usearray] |
216 | mov ebp,[usearray] |
217 | 217 | ||
218 | ylup: |
218 | ylup: |
219 | xor ebx,ebx |
219 | xor ebx,ebx |
220 | 220 | ||
221 | xlup: |
221 | xlup: |
222 | push edi |
222 | push edi |
223 | xor edi, edi |
223 | xor edi, edi |
224 | mov esi, 512000000 ; abnormous initial value :) |
224 | mov esi, 512000000 ; abnormous initial value :) |
225 | 225 | ||
226 | pixlup: |
226 | pixlup: |
227 | push esi |
227 | push esi |
228 | mov eax,ebx ; evaluate first distance |
228 | mov eax,ebx ; evaluate first distance |
229 | sub eax, [ebp+edi] ; x-x1 |
229 | sub eax, [ebp+edi] ; x-x1 |
230 | call wrappit |
230 | call wrappit |
231 | imul eax |
231 | imul eax |
232 | mov esi, eax ; (x-x1)^2 |
232 | mov esi, eax ; (x-x1)^2 |
233 | mov eax, ecx |
233 | mov eax, ecx |
234 | add edi,4 |
234 | add edi,4 |
235 | sub eax, [ebp+edi] ; y-y1 |
235 | sub eax, [ebp+edi] ; y-y1 |
236 | call wrappit |
236 | call wrappit |
237 | imul eax ; (y-y1)^2 |
237 | imul eax ; (y-y1)^2 |
238 | add eax,esi ; (x-x1)^2+(y-y1)^2 |
238 | add eax,esi ; (x-x1)^2+(y-y1)^2 |
239 | pop esi |
239 | pop esi |
240 | 240 | ||
241 | cmp esi,eax |
241 | cmp esi,eax |
242 | jb ok ; compare and take the smaller one |
242 | jb ok ; compare and take the smaller one |
243 | mov esi,eax |
243 | mov esi,eax |
244 | 244 | ||
245 | ok: |
245 | ok: |
246 | add edi,4 |
246 | add edi,4 |
247 | cmp [ebp+edi],dword 777 |
247 | cmp [ebp+edi],dword 777 |
248 | jne pixlup |
248 | jne pixlup |
249 | 249 | ||
250 | mov eax,esi ; now evaluate color... |
250 | mov eax,esi ; now evaluate color... |
251 | 251 | ||
252 | mov edi,24 ; 50 = max shaded distance |
252 | mov edi,24 ; 50 = max shaded distance |
253 | idiv edi |
253 | idiv edi |
254 | 254 | ||
255 | pop edi |
255 | pop edi |
256 | mov [image+edi],eax |
256 | mov [image+edi],eax |
257 | add edi,3 |
257 | add edi,3 |
258 | 258 | ||
259 | add ebx,1 ; bounce x loop |
259 | add ebx,1 ; bounce x loop |
260 | cmp ebx,256 ; xsize |
260 | cmp ebx,256 ; xsize |
261 | jne xlup |
261 | jne xlup |
262 | 262 | ||
263 | add ecx,1 |
263 | add ecx,1 |
264 | cmp ecx,256 ; ysize |
264 | cmp ecx,256 ; ysize |
265 | jne ylup |
265 | jne ylup |
266 | 266 | ||
267 | ret |
267 | ret |
268 | 268 | ||
269 | wrappit: |
269 | wrappit: |
270 | cmp eax,0 ; this makes the texture wrap |
270 | cmp eax,0 ; this makes the texture wrap |
271 | jg noabs |
271 | jg noabs |
272 | neg eax |
272 | neg eax |
273 | noabs: |
273 | noabs: |
274 | cmp eax,128 |
274 | cmp eax,128 |
275 | jb nowrap |
275 | jb nowrap |
276 | neg eax |
276 | neg eax |
277 | add eax,256 |
277 | add eax,256 |
278 | nowrap: |
278 | nowrap: |
279 | ret |
279 | ret |
280 | 280 | ||
281 | ; ********************************************* |
281 | ; ********************************************* |
282 | ; ******* WINDOW DEFINITIONS AND DRAW ********* |
282 | ; ******* WINDOW DEFINITIONS AND DRAW ********* |
283 | ; ********************************************* |
283 | ; ********************************************* |
284 | 284 | ||
285 | 285 | ||
286 | draw_image: |
286 | draw_image: |
287 | 287 | ||
288 | mov eax,7 |
288 | mov eax,7 |
289 | mov ebx,image |
289 | mov ebx,image |
290 | mov ecx,256*65536+255 |
290 | mov ecx,256*65536+255 |
291 | mov edx,14*65536+40;55 |
291 | mov edx,14*65536+40;55 |
292 | mcall |
292 | mcall |
293 | 293 | ||
294 | ret |
294 | ret |
295 | 295 | ||
296 | 296 | ||
297 | y_add equ 19 ; 30 |
297 | y_add equ 19 ; 30 |
298 | y_s equ 13 |
298 | y_s equ 13 |
299 | 299 | ||
300 | y_add2 equ 315 ;325 |
300 | y_add2 equ 315 ;325 |
301 | set equ 0 ;15 |
301 | set equ 0 ;15 |
302 | 302 | ||
303 | draw_window: |
303 | draw_window: |
304 | 304 | ||
305 | mov eax, 12 ; tell os about draw |
305 | mov eax, 12 ; tell os about draw |
306 | mov ebx, 1 |
306 | mov ebx, 1 |
307 | mcall |
307 | mcall |
308 | 308 | ||
309 | xor eax, eax ; define and draw window |
309 | xor eax, eax ; define and draw window |
310 | mov ebx, 220*65536+293 |
310 | mov ebx, 220*65536+293 |
311 | mov ecx, 50*65536+408 |
311 | mov ecx, 50*65536+408 |
312 | mov edx, [sc.work] |
312 | mov edx, [sc.work] |
313 | or edx, 0x34000000 |
313 | or edx, 0x34000000 |
314 | mov edi, title |
314 | mov edi, title |
315 | mcall |
315 | mcall |
316 | 316 | ||
317 | call draw_image |
317 | call draw_image |
318 | 318 | ||
319 | mov eax,8 ; Blue button |
319 | mov eax,8 ; Blue button |
320 | mov ebx,(set+190+27)*65536+17 |
320 | mov ebx,(set+190+27)*65536+17 |
321 | mov ecx,y_add*65536+y_s |
321 | mov ecx,y_add*65536+y_s |
322 | mov edx,11 |
322 | mov edx,11 |
323 | mov esi,0x005555bb |
323 | mov esi,0x005555bb |
324 | mcall |
324 | mcall |
325 | ;mov eax,8 ; Red button |
325 | ;mov eax,8 ; Red button |
326 | mov ebx,(set+208+27)*65536+17 |
326 | mov ebx,(set+208+27)*65536+17 |
327 | mov edx,12 |
327 | mov edx,12 |
328 | mov esi,0x00bb5555 |
328 | mov esi,0x00bb5555 |
329 | mcall |
329 | mcall |
330 | ;mov eax,8 ; Green button |
330 | ;mov eax,8 ; Green button |
331 | mov ebx,(set+253)*65536+17 |
331 | mov ebx,(set+253)*65536+17 |
332 | mov edx,13 |
332 | mov edx,13 |
333 | mov esi,0x0055bb55 |
333 | mov esi,0x0055bb55 |
334 | mcall |
334 | mcall |
335 | 335 | ||
336 | ;mov eax, 8 ; tiled |
336 | ;mov eax, 8 ; tiled |
337 | mov ebx, 90*65536+63 |
337 | mov ebx, 90*65536+63 |
338 | mov ecx, y_add*65536+y_s |
338 | mov ecx, y_add*65536+y_s |
339 | mov edx, 101 |
339 | mov edx, 101 |
340 | mov esi, [sc.work_button] |
340 | mov esi, [sc.work_button] |
341 | mcall |
341 | mcall |
342 | 342 | ||
343 | ;mov eax, 8 ; stretch |
343 | ;mov eax, 8 ; stretch |
344 | mov ebx, 154*65536+61 |
344 | mov ebx, 154*65536+61 |
345 | mov edx, 102 |
345 | mov edx, 102 |
346 | mcall |
346 | mcall |
347 | 347 | ||
348 | mov eax, 4 |
348 | mov eax, 4 |
349 | mov ebx, 215*65536+5 |
349 | mov ebx, 215*65536+5 |
350 | mov ecx, [sc.work_text] |
350 | mov ecx, [sc.work_text] |
351 | mov edx, apply_text |
351 | mov edx, apply_text |
352 | mov esi, apply_text.size |
352 | mov esi, apply_text.size |
353 | mcall |
353 | mcall |
354 | 354 | ||
355 | mov ebx, 14*65536+301 |
355 | mov ebx, 14*65536+301 |
356 | mov edx, image_buttons_text |
356 | mov edx, image_buttons_text |
357 | mov esi, image_buttons_text.size |
357 | mov esi, image_buttons_text.size |
358 | mcall |
358 | mcall |
359 | 359 | ||
360 | mov ebx, 14*65536+(y_add2+27) |
360 | mov ebx, 14*65536+(y_add2+27) |
361 | mov edx, simple_text |
361 | mov edx, simple_text |
362 | mov esi, simple_text.size |
362 | mov esi, simple_text.size |
363 | mcall |
363 | mcall |
364 | 364 | ||
365 | mov ecx, (y_add2)*65536+20 |
365 | mov ecx, (y_add2)*65536+20 |
366 | mov ebx, (13)*65536+25 |
366 | mov ebx, (13)*65536+25 |
367 | mov edx, 121 |
367 | mov edx, 121 |
368 | mov esi, [sc.work_button] |
368 | mov esi, [sc.work_button] |
369 | mov edi, 9 |
369 | mov edi, 9 |
370 | mov eax, 8 |
370 | mov eax, 8 |
371 | @@: |
371 | @@: |
372 | mcall |
372 | mcall |
373 | add ebx, 29*65536 |
373 | add ebx, 29*65536 |
374 | inc edx |
374 | inc edx |
375 | dec edi |
375 | dec edi |
376 | jnz @b |
376 | jnz @b |
377 | 377 | ||
378 | 378 | ||
379 | mov edx, 34+4 |
379 | mov edx, 34+4 |
380 | mov edi, 4 |
380 | mov edi, 4 |
381 | ;mov eax, 8 |
381 | ;mov eax, 8 |
382 | mov ebx, 13*65536+18 |
382 | mov ebx, 13*65536+18 |
383 | mov ecx, y_add*65536+y_s |
383 | mov ecx, y_add*65536+y_s |
384 | @@: |
384 | @@: |
385 | mcall |
385 | mcall |
386 | inc edx |
386 | inc edx |
387 | add ebx, 19*65536 |
387 | add ebx, 19*65536 |
388 | dec edi |
388 | dec edi |
389 | jnz @b |
389 | jnz @b |
390 | 390 | ||
391 | 391 | ||
392 | ;----------------------- |
392 | ;----------------------- |
393 | mov eax,8 |
393 | mov eax,8 |
394 | mov edx,14 ; button number |
394 | mov edx,14 ; button number |
395 | mov ebx,(13)*65536+17 ; button start x & size |
395 | mov ebx,(13)*65536+17 ; button start x & size |
396 | mov ecx,(y_add2+40)*65536+14 ; button start y & size |
396 | mov ecx,(y_add2+40)*65536+14 ; button start y & size |
397 | 397 | ||
398 | newcb: |
398 | newcb: |
399 | mov esi,[(edx-14)*4+colors] |
399 | mov esi,[(edx-14)*4+colors] |
400 | 400 | ||
401 | mcall |
401 | mcall |
402 | 402 | ||
403 | inc edx |
403 | inc edx |
404 | add ebx,20*65536 |
404 | add ebx,20*65536 |
405 | 405 | ||
406 | cmp edx,27 |
406 | cmp edx,27 |
407 | jnz newcb |
407 | jnz newcb |
408 | ;----------------------- |
408 | ;----------------------- |
409 | 409 | ||
410 | mov eax, 4 |
410 | mov eax, 4 |
411 | mov ebx, 94*65536+4+y_add |
411 | mov ebx, 94*65536+4+y_add |
412 | mov ecx, [sc.work_button_text] |
412 | mov ecx, [sc.work_button_text] |
413 | mov edx, la2 |
413 | mov edx, la2 |
414 | mov esi, la2.size |
414 | mov esi, la2.size |
415 | mcall |
415 | mcall |
416 | 416 | ||
417 | mov eax,12 |
417 | mov eax,12 |
418 | mov ebx,2 |
418 | mov ebx,2 |
419 | mcall |
419 | mcall |
420 | 420 | ||
421 | ret |
421 | ret |
422 | 422 | ||
423 | 423 | ||
424 | 424 | ||
425 | ; DATA SECTION |
425 | ; DATA SECTION |
426 | 426 | ||
427 | if lang eq ru |
427 | if lang eq ru |
428 | title db '¥¥à â®à ä® à ¡®ç¥£® á⮫ ',0 |
428 | title db '¥¥à â®à ä® à ¡®ç¥£® á⮫ ',0 |
429 | else |
429 | else |
430 | title db 'Background',0 |
430 | title db 'Background',0 |
431 | end if |
431 | end if |
432 | 432 | ||
433 | lsz apply_text,\ |
433 | lsz apply_text,\ |
434 | ru, "ਬ¥¨âì:",\ |
434 | ru, "ਬ¥¨âì:",\ |
435 | en, "Apply:" |
435 | en, "Apply:" |
436 | 436 | ||
437 | lsz image_buttons_text,\ |
437 | lsz image_buttons_text,\ |
438 | ru, "ë¡¥à¨â¥ ®¡à §¥æ:",\ |
438 | ru, "ë¡¥à¨â¥ ®¡à §¥æ:",\ |
439 | en, "Select pattern:" |
439 | en, "Select pattern:" |
440 | 440 | ||
441 | lsz simple_text,\ |
441 | lsz simple_text,\ |
442 | ru, "¤®æ¢¥âë© ä®:",\ |
442 | ru, "¤®æ¢¥âë© ä®:",\ |
443 | en, "Single-color background:" |
443 | en, "Single-color background:" |
444 | 444 | ||
445 | lsz la2,\ |
445 | lsz la2,\ |
446 | ru, " ",\ |
446 | ru, " ",\ |
447 | en, " TILED STRETCH" |
447 | en, " TILED STRETCH" |
448 | 448 | ||
449 | 449 | ||
450 | xx db 'x' |
450 | xx db 'x' |
451 | 451 | ||
452 | colors: |
452 | colors: |
453 | dd 0x770000 |
453 | dd 0x770000 |
454 | dd 0x007700 |
454 | dd 0x007700 |
455 | dd 0x000077 |
455 | dd 0x000077 |
456 | dd 0x777700 |
456 | dd 0x777700 |
457 | dd 0x770077 |
457 | dd 0x770077 |
458 | dd 0x007777 |
458 | dd 0x007777 |
459 | dd 0x777777 |
459 | dd 0x777777 |
460 | dd 0x335577 |
460 | dd 0x335577 |
461 | dd 0x775533 |
461 | dd 0x775533 |
462 | dd 0x773355 |
462 | dd 0x773355 |
463 | dd 0x553377 |
463 | dd 0x553377 |
464 | dd 0x111111 |
464 | dd 0x111111 |
465 | dd 0xcccccc |
465 | dd 0xcccccc |
466 | 466 | ||
467 | fill: |
467 | fill: |
468 | db 0x00,0x00,0x77 |
468 | db 0x00,0x00,0x77 |
469 | db 0x00,0x77,0x00 |
469 | db 0x00,0x77,0x00 |
470 | db 0x77,0x00,0x00 |
470 | db 0x77,0x00,0x00 |
471 | db 0x00,0x77,0x77 |
471 | db 0x00,0x77,0x77 |
472 | db 0x77,0x00,0x77 |
472 | db 0x77,0x00,0x77 |
473 | db 0x77,0x77,0x00 |
473 | db 0x77,0x77,0x00 |
474 | db 0x77,0x77,0x77 |
474 | db 0x77,0x77,0x77 |
475 | db 0x77,0x55,0x33 |
475 | db 0x77,0x55,0x33 |
476 | db 0x33,0x55,0x77 |
476 | db 0x33,0x55,0x77 |
477 | db 0x55,0x33,0x77 |
477 | db 0x55,0x33,0x77 |
478 | db 0x77,0x33,0x55 |
478 | db 0x77,0x33,0x55 |
479 | db 0x11,0x11,0x11 |
479 | db 0x11,0x11,0x11 |
480 | db 0xcc,0xcc,0xcc |
480 | db 0xcc,0xcc,0xcc |
481 | 481 | ||
482 | shape: |
482 | shape: |
483 | 483 | ||
484 | dd 1024,64 |
484 | dd 1024,64 |
485 | dd 1024,32 |
485 | dd 1024,32 |
486 | dd 2048,32 |
486 | dd 2048,32 |
487 | dd 4096,32 |
487 | dd 4096,32 |
488 | 488 | ||
489 | dd 512,16 |
489 | dd 512,16 |
490 | dd 1024,16 |
490 | dd 1024,16 |
491 | dd 2048,16 |
491 | dd 2048,16 |
492 | dd 4096,16 |
492 | dd 4096,16 |
493 | 493 | ||
494 | dd 64,32 |
494 | dd 64,32 |
495 | dd 64,16 |
495 | dd 64,16 |
496 | dd 32,32 |
496 | dd 32,32 |
497 | dd 8,8 |
497 | dd 8,8 |
498 | dd 16,16 |
498 | dd 16,16 |
499 | dd 64,64 |
499 | dd 64,64 |
500 | 500 | ||
501 | usearray dd ptarray |
501 | usearray dd ptarray |
502 | 502 | ||
503 | arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6 |
503 | arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6 |
504 | dd ptarray7,ptarray8,ptarray9 |
504 | dd ptarray7,ptarray8,ptarray9 |
505 | 505 | ||
506 | ptarray: |
506 | ptarray: |
507 | 507 | ||
508 | dd 105,205 |
508 | dd 105,205 |
509 | dd 135,225 |
509 | dd 135,225 |
510 | dd 211,75 |
510 | dd 211,75 |
511 | dd 205,189 |
511 | dd 205,189 |
512 | dd 228,249 |
512 | dd 228,249 |
513 | dd 160,43 |
513 | dd 160,43 |
514 | dd 127,78 |
514 | dd 127,78 |
515 | dd 54,43 |
515 | dd 54,43 |
516 | dd 83,54 |
516 | dd 83,54 |
517 | dd 5,155 |
517 | dd 5,155 |
518 | dd 231,34 |
518 | dd 231,34 |
519 | dd 244,132 |
519 | dd 244,132 |
520 | dd 7,223 |
520 | dd 7,223 |
521 | dd 221,224 |
521 | dd 221,224 |
522 | dd 777 ; <- end of array |
522 | dd 777 ; <- end of array |
523 | 523 | ||
524 | ptarray2: |
524 | ptarray2: |
525 | 525 | ||
526 | dd 255,255,205,205,155,155,105,105,55,55,5,5 |
526 | dd 255,255,205,205,155,155,105,105,55,55,5,5 |
527 | dd 205,105,105,205,55,155,155,55 |
527 | dd 205,105,105,205,55,155,155,55 |
528 | dd 777 |
528 | dd 777 |
529 | 529 | ||
530 | ptarray3: |
530 | ptarray3: |
531 | 531 | ||
532 | dd 200,105,105,200,55,150,150,55 |
532 | dd 200,105,105,200,55,150,150,55 |
533 | dd 225,225,35,35 |
533 | dd 225,225,35,35 |
534 | dd 777 |
534 | dd 777 |
535 | 535 | ||
536 | ptarray4: |
536 | ptarray4: |
537 | 537 | ||
538 | dd 59,255,59,191,59,127,59,59 |
538 | dd 59,255,59,191,59,127,59,59 |
539 | dd 191,223,191,159,191,105,191,27 |
539 | dd 191,223,191,159,191,105,191,27 |
540 | dd 777 |
540 | dd 777 |
541 | 541 | ||
542 | ptarray5: |
542 | ptarray5: |
543 | 543 | ||
544 | dd 59,255,59,191,59,127,59,59 |
544 | dd 59,255,59,191,59,127,59,59 |
545 | dd 191,255,191,191,191,127,191,59 |
545 | dd 191,255,191,191,191,127,191,59 |
546 | dd 777 |
546 | dd 777 |
547 | 547 | ||
548 | ptarray6: |
548 | ptarray6: |
549 | 549 | ||
550 | dd 206,206,127,205,45,205 |
550 | dd 206,206,127,205,45,205 |
551 | dd 205,127,127,127,45,127 |
551 | dd 205,127,127,127,45,127 |
552 | dd 205,45,127,45,45,45 |
552 | dd 205,45,127,45,45,45 |
553 | 553 | ||
554 | dd 777 |
554 | dd 777 |
555 | 555 | ||
556 | ptarray7: |
556 | ptarray7: |
557 | 557 | ||
558 | dd 255,255 |
558 | dd 255,255 |
559 | dd 59,59,191,191 |
559 | dd 59,59,191,191 |
560 | dd 127,255 |
560 | dd 127,255 |
561 | dd 255,127 |
561 | dd 255,127 |
562 | dd 191,191,59,191 |
562 | dd 191,191,59,191 |
563 | dd 59,59,191,59 |
563 | dd 59,59,191,59 |
564 | dd 127,127 |
564 | dd 127,127 |
565 | 565 | ||
566 | dd 777 |
566 | dd 777 |
567 | 567 | ||
568 | ptarray8: |
568 | ptarray8: |
569 | 569 | ||
570 | dd 255, 127 |
570 | dd 255, 127 |
571 | dd 255, 127 |
571 | dd 255, 127 |
572 | dd 127, 255 |
572 | dd 127, 255 |
573 | dd 255, 127 |
573 | dd 255, 127 |
574 | dd 127, 255 |
574 | dd 127, 255 |
575 | dd 255, 127 |
575 | dd 255, 127 |
576 | dd 127, 255 |
576 | dd 127, 255 |
577 | dd 255, 127 |
577 | dd 255, 127 |
578 | dd 127, 255 |
578 | dd 127, 255 |
579 | dd 127, 127 |
579 | dd 127, 127 |
580 | 580 | ||
581 | dd 777 |
581 | dd 777 |
582 | 582 | ||
583 | ptarray9: |
583 | ptarray9: |
584 | 584 | ||
585 | 585 | ||
586 | dd 255,7,191,127,127,191,59,207,95,95,161,31,15,159,250,250,777 |
586 | dd 255,7,191,127,127,191,59,207,95,95,161,31,15,159,250,250,777 |
587 | 587 | ||
588 | 588 | ||
589 | I_END: |
589 | I_END: |
590 | sc system_colors |
590 | sc system_colors |
591 | 591 | ||
592 | I_Param: |
592 | I_Param: |
593 | 593 | ||
594 | image: |
594 | image: |
595 | rb 256*256*3 + 4 |
595 | rb 256*256*3 + 4 |
596 | 596 | ||
597 | align 100h |
597 | align 100h |
598 | rb 100h ; it is enough for stack in this program |
598 | rb 100h ; it is enough for stack in this program |
599 | mem:->><><<>><><<> |
599 | mem:->><><<>><><<> |