8,6 → 8,11 |
; 2) Screen width bigger than height |
; 3) Screen width and height are even (2*k) |
|
use32 |
org 0 |
db 'MENUET01' |
dd 0x01,__start,__end,__memory,__stack,param,0 |
|
include '../../../macros.inc' |
|
background_cl = 0x000000 |
17,9 → 22,15 |
|
; debug = 1 |
|
MEOS_APP_START |
;KOS_APP_START |
|
CODE |
cmp dword [param], '@ss' |
setz [screensaver] |
mov ebx, EVM_REDRAW + EVM_KEY + EVM_BUTTON |
cmovz ebx, EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE |
mcall 40 |
|
;Preinit. Randomize start counter |
mcall 3 |
mov [initial_counter], eax ;init with system time |
44,7 → 55,7 |
mcall 68, 11 ; Init heap |
test eax, eax ; Is heap successfully inited? |
jnz @f |
mcall -1 ; Netu pamjati?! Nu i nahuj vas |
jmp exit ; Netu pamjati?! Nu i nahuj vas |
@@: |
movzx ecx, [y_max] |
inc ecx |
54,7 → 65,7 |
mcall 68, 12, |
test eax, eax ; Did we get something non zero? |
jnz @f |
mcall -1 |
jmp exit |
@@: |
mov [line_coords_array_pointer], eax |
add eax, edx |
358,6 → 369,10 |
; button pressed; we have only one button, close |
; also seems to handle Alt+F4 |
exit: |
cmp [screensaver], 0 |
jz @f |
mcall 70, f70 |
@@: |
mcall -1 |
|
|
418,4 → 433,13 |
line_start_pointer_offset = 8 |
line_coords_element_size = 12 |
|
__params: |
param rb 40 |
|
f70: ; run |
dd 7, 0, 0, 0, 0 |
db '/sys/@SS',0 |
|
screensaver db ? |
|
MEOS_APP_END |