Rev 2535 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2529 | mario79 | 1 | ;------------------------------------------------------------------------------ |
2 | ; @SS - screensaver |
||
3 | ;------------------------------------------------------------------------------ |
||
4 | ; last update: 30/03/2012 |
||
5 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
||
6 | ; changes: The program uses only 4 Kb memory is now. |
||
7 | ; Code refactoring. Using transparent cursor. |
||
8 | ; Fix bug - using lots of buttons from f.8. |
||
9 | ;--------------------------------------------------------------------- |
||
1747 | mario79 | 10 | ; SCREENSAVER APPLICATION by lisovin@26.ru |
11 | ; |
||
12 | ; Compile with FASM for Menuet |
||
13 | ; |
||
2529 | mario79 | 14 | ;------------------------------------------------------------------------------ |
15 | use32 |
||
16 | org 0x0 |
||
1747 | mario79 | 17 | |
2529 | mario79 | 18 | db 'MENUET01' ; 8 byte id |
19 | dd 0x01 ; header version |
||
20 | dd START ; start of code |
||
21 | dd IM_END ; size of image |
||
22 | dd I_END ; memory for app |
||
23 | dd stack_top ; esp |
||
2535 | mario79 | 24 | dd I_Param ; boot parameters |
2529 | mario79 | 25 | dd 0x0 ; path |
26 | ;------------------------------------------------------------------------------ |
||
27 | include 'lang.inc' |
||
28 | include '..\..\..\macros.inc' |
||
1747 | mario79 | 29 | ;include 'debug.inc' |
2529 | mario79 | 30 | ;------------------------------------------------------------------------------ |
31 | align 4 |
||
1747 | mario79 | 32 | START: |
2529 | mario79 | 33 | mcall 68,11 |
34 | mcall 40,110010b |
||
2535 | mario79 | 35 | ; boot parameters |
36 | cmp [I_Param],dword 'ZERO' |
||
37 | jne @f |
||
38 | mov [type],dword 0 |
||
39 | ;-------------------------------------- |
||
3645 | fedesco | 40 | align 4 |
2535 | mario79 | 41 | @@: |
42 | cmp [I_Param],dword 'ASSM' |
||
43 | jne bgr_changed |
||
44 | mov [type],dword 24 |
||
2529 | mario79 | 45 | ;------------------------------------------------------------------------------ |
46 | align 4 |
||
1747 | mario79 | 47 | bgr_changed: |
48 | |||
2529 | mario79 | 49 | mcall 14 |
50 | mov [y_max],ax |
||
51 | shr eax,16 |
||
52 | mov [x_max],ax |
||
53 | shl eax,16 |
||
54 | mov [top_right_corner],eax |
||
55 | ;------------------------------------------------------------------------------ |
||
56 | align 4 |
||
1747 | mario79 | 57 | still: |
2529 | mario79 | 58 | movzx ebx,[time] |
59 | imul ebx,60*100 |
||
60 | mcall 23 ; ждём события в течение [time] минут |
||
61 | test eax,eax |
||
62 | jz create_ss_thread |
||
63 | |||
64 | cmp al,2 ; key in buffer? |
||
65 | jz key |
||
66 | |||
67 | cmp al,5 ; background redraw? |
||
68 | jz bgr_changed |
||
1747 | mario79 | 69 | ; mouse event |
2529 | mario79 | 70 | mcall 37,2 ; проверим кнопки |
71 | and al,3 |
||
72 | cmp al,3 ; нажаты обе кнопки мыши? |
||
73 | jnz still |
||
74 | |||
75 | mcall 37,0 ; проверим координаты |
||
76 | cmp [top_right_corner],eax |
||
77 | jnz still |
||
78 | ;------------------------------------------------------------------------------ |
||
79 | align 4 |
||
1747 | mario79 | 80 | create_setup: |
2529 | mario79 | 81 | test [params],2 |
82 | jnz still ; окно настроек уже создано |
||
83 | mcall 51,1,sthread,sthread_stack_top |
||
84 | or [params],2 |
||
85 | jmp still |
||
86 | ;------------------------------------------------------------------------------ |
||
87 | align 4 |
||
1747 | mario79 | 88 | key: |
2529 | mario79 | 89 | mcall ; eax = 2 |
90 | jmp still |
||
91 | ;------------------------------------------------------------------------------ |
||
92 | align 4 |
||
1747 | mario79 | 93 | create_ss_thread: |
2529 | mario79 | 94 | test [params],3 |
95 | jnz still |
||
96 | call create_ss |
||
97 | jmp still |
||
98 | ;------------------------------------------------------------------------------ |
||
99 | align 4 |
||
1747 | mario79 | 100 | create_ss: |
2529 | mario79 | 101 | mcall 51,1,thread,thread_stack_top |
102 | or [params],1 |
||
103 | ret |
||
104 | ;------------------------------------------------------------------------------ |
||
105 | align 4 |
||
106 | thread: |
||
107 | mcall 40,100010b |
||
108 | ;set_new_cursor_skin - transparent cursor |
||
109 | mcall 68,12,32*32*4 ; get memory for own cursor area |
||
1747 | mario79 | 110 | |
2529 | mario79 | 111 | push eax |
112 | mov ecx,eax |
||
113 | mcall 37,4,,2 ; load own cursor |
||
1747 | mario79 | 114 | |
2529 | mario79 | 115 | mov ecx,eax |
116 | mcall 37,5 ; set own cursor |
||
1747 | mario79 | 117 | |
2529 | mario79 | 118 | pop ecx |
119 | mcall 68,13 ; free own cursor area |
||
1747 | mario79 | 120 | |
2529 | mario79 | 121 | cmp [type],dword 0 |
122 | je drawsswin |
||
1747 | mario79 | 123 | |
2529 | mario79 | 124 | cmp [type],dword 24 |
125 | je asminit |
||
1747 | mario79 | 126 | |
2529 | mario79 | 127 | mov dword [delay],1 |
128 | mov [lx1],10 ; for "draw line" |
||
129 | mov [lx2],40 |
||
130 | mov [ly1],50 |
||
131 | mov [ly2],100 |
||
132 | mov [addx1],1 |
||
133 | mov [addx2],1 |
||
134 | mov [addy1],1 |
||
135 | mov [addy2],1 |
||
136 | jmp drawsswin |
||
137 | ;-------------------------------------- |
||
3645 | fedesco | 138 | align 4 |
2529 | mario79 | 139 | asminit: ; for "assembler" - assembler sources demo |
140 | ; get size of file |
||
141 | mov [fileinfo],dword 5 |
||
142 | mov [fileinfo.point],dword fileinfo_buffer |
||
143 | mcall 70,fileinfo |
||
144 | test eax,eax |
||
145 | jnz .no_file |
||
146 | ; get memory for file |
||
147 | mov ecx,[fileinfo_buffer+32] |
||
148 | mov [fileinfo.size],ecx |
||
149 | mcall 68,12 |
||
150 | mov [fileinfo.point],eax |
||
151 | ; load file |
||
152 | mov [fileinfo],dword 0 |
||
153 | mcall 70,fileinfo |
||
154 | test eax,eax |
||
155 | jz @f |
||
156 | mcall 68,13,[fileinfo.point] |
||
157 | ;-------------------------------------- |
||
3645 | fedesco | 158 | align 4 |
2529 | mario79 | 159 | .no_file: |
160 | mov [type],dword 0 |
||
161 | jmp drawsswin |
||
162 | ;-------------------------------------- |
||
3645 | fedesco | 163 | align 4 |
2529 | mario79 | 164 | @@: |
165 | mov dword [delay],1 ;25 - old value |
||
166 | ;-------------------------------------- |
||
3645 | fedesco | 167 | align 4 |
2529 | mario79 | 168 | asminit1: |
169 | mov eax,[fileinfo.point] |
||
170 | mov [stringstart],eax |
||
171 | mov dword [stringlen],1 |
||
172 | ;-------------------------------------- |
||
3645 | fedesco | 173 | align 4 |
2529 | mario79 | 174 | newpage: |
175 | mov word [stringpos],10 |
||
176 | ;-------------------------------------- |
||
3645 | fedesco | 177 | align 4 |
2529 | mario79 | 178 | drawsswin: |
179 | xor eax,eax |
||
180 | movzx ebx,[x_max] |
||
181 | movzx ecx,[y_max] |
||
182 | inc ebx |
||
183 | inc ecx |
||
184 | mcall ,,,0x01000000 |
||
1747 | mario79 | 185 | |
2529 | mario79 | 186 | xor edx,edx |
187 | mcall 13 |
||
188 | ;-------------------------------------- |
||
3645 | fedesco | 189 | align 4 |
2529 | mario79 | 190 | tstill: |
191 | mcall 23,[delay] |
||
192 | test eax,eax |
||
193 | jnz thr_end |
||
1747 | mario79 | 194 | |
2529 | mario79 | 195 | cmp [type],dword 0 |
196 | je tstill |
||
1747 | mario79 | 197 | |
2529 | mario79 | 198 | cmp [type],dword 24 |
199 | je drawssasm |
||
1747 | mario79 | 200 | |
2529 | mario79 | 201 | call draw_line |
202 | jmp tstill |
||
203 | ;-------------------------------------- |
||
3645 | fedesco | 204 | align 4 |
2529 | mario79 | 205 | thr_end: |
206 | cmp [type],dword 24 |
||
207 | jne @f |
||
208 | mcall 68,13,[fileinfo.point] |
||
209 | ;-------------------------------------- |
||
3645 | fedesco | 210 | align 4 |
2529 | mario79 | 211 | @@: |
212 | and [params], not 1 |
||
213 | or eax,-1 |
||
214 | mcall |
||
215 | ;------------------------------------------------------------------------------ |
||
216 | align 4 |
||
217 | drawssasm: |
||
218 | mov edi,[stringstart] |
||
219 | add edi,[stringlen] |
||
220 | dec edi |
||
1747 | mario79 | 221 | |
2529 | mario79 | 222 | mov eax,edi |
223 | sub eax,[fileinfo.point] |
||
1747 | mario79 | 224 | |
2529 | mario79 | 225 | cmp eax,[fileinfo.size] |
226 | ja asminit1 |
||
1747 | mario79 | 227 | |
2529 | mario79 | 228 | cmp word [edi],0x0a0d |
229 | je addstring |
||
1747 | mario79 | 230 | |
2529 | mario79 | 231 | cmp byte [edi],0x0a |
232 | jne noaddstring |
||
1747 | mario79 | 233 | |
2529 | mario79 | 234 | dec edi |
235 | ;-------------------------------------- |
||
3645 | fedesco | 236 | align 4 |
2529 | mario79 | 237 | addstring: |
238 | add word [stringpos],10 |
||
239 | add edi,2 |
||
240 | mov [stringstart],edi |
||
241 | mov dword [stringlen],1 |
||
242 | mov ax,[stringpos] |
||
243 | cmp ax,[y_max] |
||
244 | jb tstill |
||
245 | jmp newpage |
||
246 | ;-------------------------------------- |
||
3645 | fedesco | 247 | align 4 |
2529 | mario79 | 248 | noaddstring: |
249 | mov ebx,10*65536 |
||
250 | mov bx,[stringpos] |
||
251 | mcall 4,,0x104ba010,[stringstart],[stringlen] |
||
252 | inc dword [stringlen] |
||
253 | cmp [edi],byte ' ' |
||
254 | je drawssasm |
||
255 | jmp tstill |
||
256 | ;------------------------------------------------------------------------------ |
||
257 | align 4 |
||
258 | draw_line: |
||
259 | movzx esi,[x_max] |
||
260 | movzx edi,[y_max] |
||
1747 | mario79 | 261 | |
2529 | mario79 | 262 | mov eax,[addx1] |
263 | add [lx1],eax |
||
264 | mov eax,[addy1] |
||
265 | add [ly1],eax |
||
1747 | mario79 | 266 | |
2529 | mario79 | 267 | mov eax,[addx2] |
268 | add [lx2],eax |
||
269 | mov eax,[addy2] |
||
270 | add [ly2],eax |
||
3645 | fedesco | 271 | |
2529 | mario79 | 272 | cmp [lx1],1 |
273 | jge dl1 |
||
274 | mov [addx1],1 |
||
275 | ;-------------------------------------- |
||
3645 | fedesco | 276 | align 4 |
2529 | mario79 | 277 | dl1: |
278 | cmp [lx2],1 |
||
279 | jge dl2 |
||
1747 | mario79 | 280 | |
2529 | mario79 | 281 | mov [addx2],1 |
282 | ;-------------------------------------- |
||
3645 | fedesco | 283 | align 4 |
2529 | mario79 | 284 | dl2: |
285 | cmp [lx1],esi |
||
286 | jbe dl3 |
||
287 | |||
288 | mov [addx1],0xffffffff |
||
289 | ;-------------------------------------- |
||
3645 | fedesco | 290 | align 4 |
2529 | mario79 | 291 | dl3: |
292 | cmp [lx2],esi |
||
293 | jbe dl4 |
||
294 | |||
295 | mov [addx2],0xffffffff |
||
296 | ;-------------------------------------- |
||
3645 | fedesco | 297 | align 4 |
2529 | mario79 | 298 | dl4: |
299 | cmp [ly1],1 |
||
300 | jge dl5 |
||
301 | mov [addy1],1 |
||
302 | ;-------------------------------------- |
||
3645 | fedesco | 303 | align 4 |
2529 | mario79 | 304 | dl5: |
305 | cmp [ly2],2 |
||
306 | jge dl6 |
||
307 | |||
308 | mov [addy2],1 |
||
309 | ;-------------------------------------- |
||
3645 | fedesco | 310 | align 4 |
2529 | mario79 | 311 | dl6: |
312 | cmp [ly1],edi |
||
313 | jbe dl7 |
||
314 | |||
315 | mov [addy1],-1 |
||
316 | ;-------------------------------------- |
||
3645 | fedesco | 317 | align 4 |
2529 | mario79 | 318 | dl7: |
319 | cmp [ly2],edi |
||
320 | jbe dl8 |
||
321 | |||
322 | mov [addy2],-1 |
||
323 | ;-------------------------------------- |
||
3645 | fedesco | 324 | align 4 |
2529 | mario79 | 325 | dl8: |
326 | mov eax,[lx2] |
||
327 | cmp [lx1],eax |
||
328 | jz dnol |
||
3645 | fedesco | 329 | |
2529 | mario79 | 330 | mov bx,word [lx1] |
331 | shl ebx,16 |
||
332 | mov bx,word [lx2] |
||
333 | |||
334 | mov cx,word [ly1] |
||
335 | shl ecx,16 |
||
336 | mov cx,word [ly2] |
||
3645 | fedesco | 337 | |
2529 | mario79 | 338 | mov edx,[lcolor] |
339 | and edx,0xffffff |
||
340 | mcall 38 |
||
341 | ;-------------------------------------- |
||
3645 | fedesco | 342 | align 4 |
2529 | mario79 | 343 | dnol: |
344 | add [lcolor],0x010201 |
||
345 | ret |
||
346 | ;------------------------------------------------------------------------------ |
||
347 | align 4 |
||
348 | sthread: ; start of execution |
||
1747 | mario79 | 349 | call sdraw_window |
2529 | mario79 | 350 | ;-------------------------------------- |
3645 | fedesco | 351 | align 4 |
1747 | mario79 | 352 | sstill: |
2529 | mario79 | 353 | mcall 10 ; wait here for event |
354 | dec eax ; redraw request ? |
||
355 | je sthread |
||
1747 | mario79 | 356 | |
2529 | mario79 | 357 | dec eax ; key in buffer ? |
358 | jne sbutton |
||
1747 | mario79 | 359 | |
2529 | mario79 | 360 | mcall 2 |
361 | jmp snoclose ;sstill |
||
362 | ;------------------------------------------------------------------------------ |
||
363 | align 4 |
||
364 | sbutton: ; button |
||
365 | mcall 17 ; get id |
||
1747 | mario79 | 366 | |
2529 | mario79 | 367 | cmp ah,1 ; button id=1 ? |
368 | jne snoclose |
||
1747 | mario79 | 369 | |
2529 | mario79 | 370 | and [params],not 2 |
371 | mov eax,-1 ; close this program |
||
372 | mcall |
||
373 | ;-------------------------------------- |
||
3645 | fedesco | 374 | align 4 |
2529 | mario79 | 375 | snoclose: |
376 | cmp ah,7 |
||
377 | jne nosetfl |
||
1747 | mario79 | 378 | |
2529 | mario79 | 379 | xor [params],1 |
380 | call drawflag |
||
381 | call drawtype |
||
382 | call drawtime |
||
383 | jmp sstill |
||
384 | ;-------------------------------------- |
||
3645 | fedesco | 385 | align 4 |
2529 | mario79 | 386 | nosetfl: |
387 | test [params],1 |
||
388 | jnz sstill |
||
1747 | mario79 | 389 | |
2529 | mario79 | 390 | cmp ah,2 |
391 | jne notypedown |
||
1747 | mario79 | 392 | |
2529 | mario79 | 393 | mov eax,[type] |
394 | test eax,eax |
||
395 | je sstill |
||
396 | |||
397 | sub eax,12 |
||
398 | jmp typeupdn |
||
399 | ;-------------------------------------- |
||
400 | align 4 |
||
401 | notypedown: |
||
402 | cmp ah,3 |
||
403 | jne notypeup |
||
404 | |||
405 | mov eax,[type] |
||
406 | cmp eax,24 |
||
407 | jae sstill |
||
408 | |||
409 | add eax,12 |
||
410 | jmp typeupdn |
||
411 | ;-------------------------------------- |
||
412 | align 4 |
||
413 | notypeup: |
||
414 | cmp ah,4 |
||
415 | jne notimedown |
||
416 | |||
417 | mov al,[time] |
||
418 | cmp al,1 |
||
419 | jbe sstill |
||
420 | |||
421 | dec eax |
||
422 | ; das |
||
423 | jmp timeupdn |
||
424 | ;-------------------------------------- |
||
425 | align 4 |
||
426 | notimedown: |
||
427 | cmp ah,5 |
||
428 | jne notimeup |
||
429 | |||
430 | mov al,[time] |
||
431 | cmp al,59 ; 0x59 |
||
432 | jae sstill |
||
433 | |||
434 | inc eax |
||
435 | ; daa |
||
436 | jmp timeupdn |
||
437 | ;-------------------------------------- |
||
438 | align 4 |
||
439 | notimeup: |
||
440 | cmp ah,6 |
||
441 | jne noshow |
||
442 | |||
443 | mcall 5,10 |
||
444 | call create_ss |
||
445 | ;-------------------------------------- |
||
446 | align 4 |
||
447 | noshow: |
||
448 | jmp sstill |
||
449 | ;-------------------------------------- |
||
450 | align 4 |
||
451 | timeupdn: |
||
452 | mov [time],al |
||
453 | call drawtime |
||
454 | jmp sstill |
||
455 | ;-------------------------------------- |
||
456 | align 4 |
||
457 | typeupdn: |
||
458 | mov [type],eax |
||
459 | call drawtype |
||
460 | jmp sstill |
||
461 | ;------------------------------------------------------------------------------ |
||
1747 | mario79 | 462 | ; ********************************************* |
463 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
||
464 | ; ********************************************* |
||
2529 | mario79 | 465 | align 4 |
1747 | mario79 | 466 | sdraw_window: |
2529 | mario79 | 467 | mcall 12,1 |
1747 | mario79 | 468 | |
2529 | mario79 | 469 | xor eax,eax ; function 0 : define and draw window |
470 | xor esi,esi |
||
471 | mcall ,<100,215>,<100,70>,0x13400088,,title |
||
1747 | mario79 | 472 | |
2529 | mario79 | 473 | mcall 8,<47,10>,<31,10>,2,0x702050 |
3645 | fedesco | 474 | |
2529 | mario79 | 475 | push ebx |
476 | add ebx,13*65536 |
||
477 | mov edi,ebx |
||
478 | inc edx |
||
479 | mcall |
||
480 | pop ebx |
||
3645 | fedesco | 481 | |
2529 | mario79 | 482 | add ecx,15*65536 |
483 | inc edx |
||
484 | mcall |
||
1747 | mario79 | 485 | |
2529 | mario79 | 486 | mov ebx,edi |
487 | inc edx |
||
488 | mcall |
||
1747 | mario79 | 489 | |
2529 | mario79 | 490 | inc edx |
491 | mcall ,<160,40>,<28,14> |
||
1747 | mario79 | 492 | |
2529 | mario79 | 493 | mcall 4,<15,33>,0x80ffffff,setuptext ; write text to window |
1747 | mario79 | 494 | |
2529 | mario79 | 495 | add ebx,15 |
496 | add edx,10 |
||
497 | mcall |
||
1747 | mario79 | 498 | |
2529 | mario79 | 499 | mcall ,<169,32>,,buttext |
1747 | mario79 | 500 | |
2529 | mario79 | 501 | call drawtype |
502 | call drawtime |
||
503 | call drawflag |
||
1747 | mario79 | 504 | |
2529 | mario79 | 505 | mcall 12,2 |
506 | ret |
||
507 | ;------------------------------------------------------------------------------ |
||
508 | align 4 |
||
1747 | mario79 | 509 | drawtype: |
2529 | mario79 | 510 | mov edx,0xffffff |
511 | test [params], 1 |
||
512 | jz noblue |
||
1747 | mario79 | 513 | |
2529 | mario79 | 514 | mov edx,0x4e00e7 |
515 | ;-------------------------------------- |
||
516 | align 4 |
||
517 | noblue: |
||
518 | mcall 13,<80,75>,<30,12> |
||
519 | xor ecx,ecx |
||
520 | mov edx,typetext |
||
521 | add edx,[type] |
||
522 | mcall 4,<82,32>,,,12 |
||
523 | ret |
||
524 | ;------------------------------------------------------------------------------ |
||
525 | align 4 |
||
1747 | mario79 | 526 | drawtime: |
2529 | mario79 | 527 | mov edx,0xffffff |
528 | test [params], 1 |
||
529 | jz noblue1 |
||
1747 | mario79 | 530 | |
2529 | mario79 | 531 | mov edx,0x4e00e7 |
532 | ;-------------------------------------- |
||
533 | align 4 |
||
534 | noblue1: |
||
535 | mcall 13,<80,15>,<45,12> |
||
536 | xor esi,esi |
||
537 | movzx ecx,byte [time] |
||
538 | mcall 47,0x00020000,,<82,47> |
||
539 | ret |
||
540 | ;------------------------------------------------------------------------------ |
||
541 | align 4 |
||
1747 | mario79 | 542 | drawflag: |
2529 | mario79 | 543 | mcall 8,,,0x80000007 ; before we need delete button |
544 | ; otherwise, a few hours later the application will spend all buttons of system |
||
545 | mcall ,<150,10>,<45,10>,7,0xe0e0e0 ; then create button |
||
3645 | fedesco | 546 | |
2529 | mario79 | 547 | mov edx,flag |
548 | bt dword [params],0 |
||
549 | jc setf |
||
1747 | mario79 | 550 | |
2529 | mario79 | 551 | inc edx |
552 | ;-------------------------------------- |
||
553 | align 4 |
||
554 | setf: |
||
555 | xor ecx,ecx |
||
556 | mcall 4,<153,47>,,,1 |
||
557 | ret |
||
558 | ;------------------------------------------------------------------------------ |
||
559 | align 4 |
||
1747 | mario79 | 560 | ; DATA AREA |
2529 | mario79 | 561 | buttext db 'SHOW',0 |
562 | flag db 'V ' |
||
563 | title db 'SCREENSAVER SETUP',0 |
||
564 | setuptext db 'TYPE: < >',0 |
||
565 | db 'TIME: < > MINUTES NEVER',0 |
||
566 | typetext db 'BLACK SCREENCOLOR LINES ASSEMBLER ' |
||
567 | type dd 12 |
||
568 | time db 15 ; время до запуска заставки в минутах |
||
569 | delay dd 100 |
||
1747 | mario79 | 570 | |
2529 | mario79 | 571 | lx1 dd 10 |
572 | lx2 dd 40 |
||
1747 | mario79 | 573 | |
2529 | mario79 | 574 | ly1 dd 50 |
575 | ly2 dd 100 |
||
1747 | mario79 | 576 | |
2529 | mario79 | 577 | addx1 dd 1 |
578 | addx2 dd 1 |
||
1747 | mario79 | 579 | |
2529 | mario79 | 580 | addy1 dd 1 |
581 | addy2 dd 1 |
||
1747 | mario79 | 582 | |
2529 | mario79 | 583 | stringlen dd 1 |
584 | stringstart dd 0 |
||
585 | stringpos dw 10 |
||
1747 | mario79 | 586 | |
2529 | mario79 | 587 | params db 0 ;if bit 0 set-ssaver works if bit 1 set-setup works |
1747 | mario79 | 588 | |
589 | fileinfo: |
||
2529 | mario79 | 590 | dd 0 |
591 | dd 0 |
||
592 | dd 0 |
||
593 | .size: dd 0 |
||
594 | .point: dd 0 |
||
595 | db '/sys/macros.inc',0 |
||
596 | ;------------------------------------------------------------------------------ |
||
597 | align 4 |
||
598 | IM_END: |
||
1747 | mario79 | 599 | ; UNINITIALIZED DATA: |
600 | |||
2529 | mario79 | 601 | lcolor dd ? |
602 | x_max dw ? ; размеры экрана |
||
603 | y_max dw ? |
||
1747 | mario79 | 604 | |
2529 | mario79 | 605 | top_right_corner rd 1 |
606 | ;------------------------------------------------------------------------------ |
||
607 | align 4 |
||
2535 | mario79 | 608 | I_Param: |
2529 | mario79 | 609 | fileinfo_buffer: |
610 | rb 40 |
||
611 | ;------------------------------------------------------------------------------ |
||
612 | align 4 |
||
613 | rb 512 |
||
614 | sthread_stack_top: |
||
615 | ;------------------------------------------------------------------------------ |
||
616 | align 4 |
||
617 | rb 512 |
||
618 | thread_stack_top: |
||
619 | ;------------------------------------------------------------------------------ |
||
620 | align 4 |
||
621 | rb 512 |
||
622 | stack_top: |
||
623 | I_END: |
||
624 | ;------------------------------------------------------------------------------>>153,47>45,10>150,10>82,47>45,12>80,15>82,32>30,12>80,75>169,32>15,33>28,14>160,40>31,10>47,10>100,70>100,215> |