diff --git a/programs/system/ss/trunk/@SS.ASM b/programs/system/ss/trunk/@SS.ASM deleted file mode 100644 index 5ca5c59e73..0000000000 --- a/programs/system/ss/trunk/@SS.ASM +++ /dev/null @@ -1,511 +0,0 @@ -; SCREENSAVER APPLICATION by lisovin@26.ru -; -; Compile with FASM for Menuet -; - use32 - org 0x0 - -used_memory = 0x10000 - - db 'MENUET01' ; 8 byte id - dd 0x01 ; header version - dd START ; start of code - dd I_END ; size of image - dd used_memory ; memory for app - dd used_memory ; esp - dd 0x0 , 0x0 ; I_Param , I_Icon - -include 'lang.inc' -include '..\..\..\macros.inc' -purge mov ; decrease kpack'ed size - -;include 'debug.inc' - -START: - mov eax,40 ; установить маску событий - mov ebx,110010b ; реагируем на клавиатуру, мышь, отрисовку фона - mcall - -bgr_changed: - - mov eax,14 - mcall - mov [y_max], ax - shr eax, 16 - mov [x_max], ax - shl eax, 16 - mov [top_right_corner], eax - - mcall 66, 4, 57, 0 ; hot key for {Space} - mcall 66, 4, 28, 0 ; hot key for {Enter} -still: - movzx ebx, [time] - imul ebx, 60*100 - mcall 23 ; ждём события в течение [time] минут - test eax, eax - jz create_ss_thread - cmp al, 2 ; key in buffer? - jz key - cmp al, 5 ; background redraw? - jz bgr_changed -; mouse event - mcall 37,2 ; проверим кнопки - and al, 3 - cmp al, 3 ; нажаты обе кнопки мыши? - jnz still - mcall 37,0 ; проверим координаты - cmp [top_right_corner], eax - jnz still -create_setup: - test [params], 2 - jnz still ; окно настроек уже создано - mcall 51,1,sthread,used_memory-0x1000 - or [params], 2 - jmp still -key: - mcall ; eax = 2 - cmp al, 2 ; hot key? - jne still ; no hotkey, evenets handling go on - xor edx, edx - mov dl, ah - mov eax, 72 - mov ebx, 1 - mov ecx, 2 - mcall ; transfer key code to active window after interception - jmp still - -create_ss_thread: - test [params], 3 - jnz still - call create_ss - jmp still - -create_ss: - mcall 51,1,thread,used_memory-0x2000 - or [params], 1 - ret - - thread: -; mov eax,5 -; mov ebx,eax -; mcall - mov eax,40 - mov ebx,100010b - mcall - cmp dword [type],0 - je drawsswin - cmp dword [type],24 - je asminit - mov dword [delay],1 - mov [lx1],10 ; for "draw line" - mov [lx2],40 - mov [ly1],50 - mov [ly2],100 - mov [addx1],1 - mov [addx2],1 - mov [addy1],1 - mov [addy2],1 - jmp drawsswin - asminit: ; for "assembler" - mov dword [delay],25 - mov eax,70 - mov ebx,fileinfo - mcall - mov [filesize], ebx - asminit1: - mov [stringstart],data_from_file - mov dword [stringlen],1 - newpage: - mov word [stringpos],10 - - drawsswin: - xor eax,eax - movzx ebx,[x_max] - movzx ecx,[y_max] - inc ebx - inc ecx - mov edx,0x01000000 - mcall - mov eax,13 - xor edx,edx - mcall - tstill: - mov eax,23 - mov ebx,[delay] - mcall - test eax,eax - jnz thr_end - cmp dword [type],0 - je tstill - cmp dword [type],24 - je drawssasm - call draw_line - jmp tstill - thr_end: - and [params], not 1 - or eax,-1 - mcall - - drawssasm: - mov edi,[stringstart] - add edi,[stringlen] - dec edi - lea eax,[edi-data_from_file] - cmp eax,[filesize] - ja asminit1 - cmp word [edi],0x0a0d - je addstring - cmp byte [edi],0x0a - jne noaddstring - dec edi -addstring: - add word [stringpos],10 - add edi,2 - mov [stringstart],edi - mov dword [stringlen],1 - mov ax,[stringpos] - cmp ax,[y_max] - jb tstill - jmp newpage - noaddstring: - mov eax,4 - mov ebx,10*65536 - mov bx,[stringpos] - mov ecx,0x104ba010 - mov edx,[stringstart] - mov esi,[stringlen] - mcall - inc dword [stringlen] - cmp byte [edi],byte ' ' - je drawssasm - jmp tstill - -draw_line: - movzx esi,[x_max] - movzx edi,[y_max] - - mov eax,[addx1] - add [lx1],eax - mov eax,[addy1] - add [ly1],eax - - mov eax,[addx2] - add [lx2],eax - mov eax,[addy2] - add [ly2],eax - - cmp [lx1],1 - jge dl1 - mov [addx1],1 - dl1: - cmp [lx2],1 - jge dl2 - mov [addx2],1 - dl2: - cmp [lx1],esi - jbe dl3 - mov [addx1],0xffffffff - dl3: - cmp [lx2],esi - jbe dl4 - mov [addx2],0xffffffff - dl4: - - cmp [ly1],1 - jge dl5 - mov [addy1],1 - dl5: - cmp [ly2],2 - jge dl6 - mov [addy2],1 - dl6: - cmp [ly1],edi - jbe dl7 - mov [addy1],-1 - dl7: - cmp [ly2],edi - jbe dl8 - mov [addy2],-1 - dl8: - - mov eax,[lx2] - cmp [lx1],eax - jz dnol - - mov bx,word [lx1] - shl ebx,16 - mov bx,word [lx2] - - mov cx,word [ly1] - shl ecx,16 - mov cx,word [ly2] - - mov eax,38 - mov edx,[lcolor] - and edx,0xffffff - mcall - - dnol: - - add [lcolor],0x010201 - - ret - - -sthread: ; start of execution - - call sdraw_window - -sstill: - - mov eax,10 ; wait here for event - mcall - - dec eax ; redraw request ? - je sthread - dec eax ; key in buffer ? - jne sbutton - mov al,2 - mcall - jmp sstill - - sbutton: ; button - mov eax,17 ; get id - mcall - - cmp ah,1 ; button id=1 ? - jne snoclose - - and [params], not 2 - mov eax,-1 ; close this program - mcall - snoclose: - cmp ah,7 - jne nosetfl - xor [params], 1 - call drawflag - call drawtype - call drawtime - jmp sstill - nosetfl: - test [params], 1 - jnz sstill - cmp ah,2 - jne notypedown - mov eax,[type] - test eax,eax - je sstill - sub eax,12 - jmp typeupdn - notypedown: - cmp ah,3 - jne notypeup - mov eax,[type] - cmp eax,24 - jae sstill - add eax,12 - jmp typeupdn - notypeup: - cmp ah,4 - jne notimedown - mov al,[time] - cmp al,1 - jbe sstill - dec eax -; das - jmp timeupdn - notimedown: - cmp ah,5 - jne notimeup - mov al,[time] - cmp al,59 ; 0x59 - jae sstill - inc eax -; daa - jmp timeupdn - notimeup: - cmp ah,6 - jne noshow - mov eax,5 - mov ebx,10;150 - mcall - call create_ss - noshow: - jmp sstill - - timeupdn: - mov [time],al - call drawtime - jmp sstill - typeupdn: - mov [type],eax - call drawtype - jmp sstill - -; ********************************************* -; ******* WINDOW DEFINITIONS AND DRAW ******** -; ********************************************* - - -sdraw_window: - - - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,1 ; 1, start of draw - mcall - - ; DRAW WINDOW - xor eax,eax ; function 0 : define and draw window - mov ebx,100*65536+215 ; [x start] *65536 + [x size] - mov ecx,100*65536+70 ; [y start] *65536 + [y size] - mov edx,0x13400088 ; color of work area RRGGBB,8->color gl - mov edi,title - mcall - - mov al,8 - mov ebx,47*65536+10 - mov ecx,31*65536+10 - mov edx,2 - mov esi,0x702050 - mcall - push ebx - add ebx,13*65536 - mov edi,ebx - inc edx - mcall - pop ebx - add ecx,15*65536 - inc edx - mcall - mov ebx,edi - inc edx - mcall - mov ebx,160*65536+40 - mov ecx,28*65536+14 - inc edx - mcall - - mov al,4 ; function 4 : write text to window - mov ebx,15*65536+33 ; [x start] *65536 + [y start] - mov ecx,0x80ffffff - mov edx,setuptext - mcall - add ebx,15 - add edx,10 - mcall - mov ebx,169*65536+32 - mov edx,buttext - mcall - - call drawtype - call drawtime - call drawflag - - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - mcall - - ret - -drawtype: - mov eax,13 - mov ebx,80*65536+75 - mov ecx,30*65536+12 - mov edx,0xffffff - test [params], 1 - jz noblue - mov edx,0x4e00e7 - noblue: - mcall - mov al,4 - mov ebx,82*65536+32 - xor ecx,ecx - mov edx,typetext - add edx,[type] - mov esi,12 - mcall - ret - -drawtime: - mov eax,13 - mov ebx,80*65536+15 - mov ecx,45*65536+12 - mov edx,0xffffff - test [params], 1 - jz noblue1 - mov edx,0x4e00e7 - noblue1: - mcall - mov al,47 - mov edx,82*65536+47 - xor esi,esi - movzx ecx,byte [time] - mov ebx,0x00020000 - mcall - ret - -drawflag: - mov eax,8 - mov ebx,150*65536+10 - mov ecx,45*65536+10 - mov edx,7 - mov esi,0xe0e0e0 - mcall - mov al,4 - mov ebx,153*65536+47 - xor ecx,ecx - mov esi,1 - mov edx,flag - bt dword [params],0 - jc setf - inc edx - setf: - mcall - ret - -; DATA AREA -buttext db 'SHOW',0 -flag db 'V ' -title db 'SCREENSAVER SETUP',0 -setuptext db 'TYPE: < >',0 - db 'TIME: < > MINUTES NEVER',0 -typetext db 'BLACK SCREENCOLOR LINES ASSEMBLER ' -type dd 12 -time db 15 ; время до запуска заставки в минутах -delay dd 100 - -lx1 dd 10 -lx2 dd 40 - -ly1 dd 50 -ly2 dd 100 - -addx1 dd 1 -addx2 dd 1 - -addy1 dd 1 -addy2 dd 1 - -stringlen dd 1 -stringstart dd 0 -stringpos dw 10 - -params db 0 ;if bit 0 set-ssaver works if bit 1 set-setup works - -fileinfo: -; used_memory-0x3000-data_from_file = ~50 Kb with current settings - dd 0,0,0,used_memory-0x3000-data_from_file,data_from_file - db '/sys/NETWORK/PPP.ASM',0 - -I_END: - - -; UNINITIALIZED DATA: - -lcolor dd ? -x_max dw ? ; размеры экрана -y_max dw ? - -top_right_corner dd ? -filesize dd ? -data_from_file: diff --git a/programs/system/ss/trunk/build_en.bat b/programs/system/ss/trunk/build_en.bat deleted file mode 100644 index 23730d0c88..0000000000 --- a/programs/system/ss/trunk/build_en.bat +++ /dev/null @@ -1,5 +0,0 @@ -@erase lang.inc -@echo lang fix en >lang.inc -@fasm @ss.asm @ss -@erase lang.inc -@pause \ No newline at end of file diff --git a/programs/system/ss/trunk/build_ru.bat b/programs/system/ss/trunk/build_ru.bat deleted file mode 100644 index b9ae059645..0000000000 --- a/programs/system/ss/trunk/build_ru.bat +++ /dev/null @@ -1,5 +0,0 @@ -@erase lang.inc -@echo lang fix ru >lang.inc -@fasm @ss.asm @ss -@erase lang.inc -@pause \ No newline at end of file