Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 474 → Rev 485

/programs/fs/copy2/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/fs/copy2/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm copy2.asm copy2
@erase lang.inc
@pause
/programs/fs/copy2/trunk/build_ge.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix de >lang.inc
@fasm copy2.asm copy2
@erase lang.inc
@pause
/programs/fs/copy2/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm copy2.asm copy2
@erase lang.inc
@pause
/programs/fs/copy2/trunk/copy2.asm
27,7 → 27,7
dd 0x0 , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include 'macros.inc' ; very useful stuff for MeOS
include '..\..\..\macros.inc' ; very useful stuff for MeOS
STRLEN = 48 ; maximal length of filename
 
 
39,7 → 39,7
still: ; main cycle of application begins here
 
mov eax,10 ; wait here for event
int 0x40
mcall
 
dec eax ; redraw request ?
jz red
52,12 → 52,12
 
key: ; key event handler
mov eax,2 ; just read it and ignore
int 0x40
mcall
jmp still ; return to main loop
 
button: ; button
mov eax,17 ; get id
int 0x40
mcall
 
cmp ah,1 ; button id=1 ? (close_btn)
jz close
98,11 → 98,11
 
.waitev:
mov eax,10
int 0x40
mcall
cmp eax,2
jnz still
; mov eax,2
int 0x40
mcall
shr eax,8
cmp eax,8
jnz .nobs ; BACKSPACE
141,7 → 141,7
 
close:
or eax,-1 ; close program
int 0x40
mcall
 
 
;====================================================
165,7 → 165,7
add ecx,0x10000 ; size of memory needed = 0x10000+filesize
mov eax,64 ; func 64
mov ebx,1 ; resize application memory
int 0x40
mcall
 
; check if alloc function failed
test eax,eax ; non-zero value means error
197,7 → 197,7
mov eax,64
mov ebx,1
mov ecx,0x10000
int 0x40
mcall
 
xor eax,eax ; eax = message number (0-OK)
 
210,7 → 210,7
mov ecx,0x10ff0000
mov edx,[errors+edi*8]
mov esi,[errors+edi*8+4]
int 0x40
mcall
jmp still
 
 
222,7 → 222,7
shl ecx,16
add ecx,9
mov edx,0xf2f2f2
int 0x40
mcall
 
mov eax,4
mov ebx,109*65536
230,7 → 230,7
xor ecx,ecx
mov edx,[addr]
mov esi,STRLEN
int 0x40
mcall
 
ret
 
244,41 → 244,34
 
mov eax, 12 ; function 12:tell os about windowdraw
mov ebx, 1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
xor eax, eax ; function 0 : define and draw window
mov ebx, 160*65536+415 ; [x start] *65536 + [x size]
mov ecx, 160*65536+100 ; [y start] *65536 + [y size]
mov edx, 0x03DDDDDD ; color of work area RRGGBB
int 0x40
mov edx, 0x13DDDDDD ; color of work area RRGGBB
mov edi, title ; WINDOW LABEL
mcall
 
; WINDOW LABEL
mov eax, 4 ; function 4 : write text to window
mov ebx, 8*65536+8 ; [x start] *65536 + [y start]
mov ecx, 0x10ffffff ; color of text RRGGBB
mov edx, header ; pointer to text beginning
mov esi, header.size ; text length
int 0x40
 
mov eax, 8 ; COPY BUTTON
mov ebx, 20*65536+375
mov ecx, 63*65536+16
mov edx, 2
mov esi, 0xCCCCCC
int 0x40
mcall
 
mov ebx, 105*65536+290
mov ecx, 33*65536+12
mov edx, 4
mov esi, 0xEBEBEB
int 0x40
mcall
 
mov ebx, 105*65536+290
mov ecx, 49*65536+12
mov edx, 5
mov esi, 0xEBEBEB
int 0x40
mcall
 
mov esi, source_info.name ;source
mov edi, text+14
296,7 → 289,7
mov esi, STRLEN+59-45
newline:
mov eax, 4
int 0x40
mcall
add ebx, 16
add edx, STRLEN+59-45
cmp [edx], byte 'x'
304,7 → 297,7
 
mov eax, 12 ; function 12:tell os about windowdraw
mov ebx, 2 ; 2, end of draw
int 0x40
mcall
 
ret
 
391,7 → 384,7
fr, 'x'
 
 
lsz header,\
lsz title,\
ru, 'ŠŽˆŽ‚€’œ ”€‰‹',\
en, 'SYSTREE FILE COPIER',\
de, 'SYSTREE DATEIKOPIERER',\
/programs/fs/copyr/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/fs/copyr/trunk/ascl.inc
46,7 → 46,7
mov dword [fileinfo+8],1 ; how many blocks to read (1)
mov eax,58
mov ebx,fileinfo
int 0x40
mcall
mov eax,[file_load_area+2]
shr eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢
inc eax
53,7 → 53,7
mov dword [fileinfo+8],eax
mov eax,58
mov ebx,fileinfo
int 0x40
mcall
}
 
 
88,7 → 88,7
mov edx,id
mov esi,bcolor
mov eax,8
int 0x40
mcall
 
mov eax,asd-lab ;calc size
mov ebx,6
113,7 → 113,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
int 0x40
mcall
}
 
 
142,7 → 142,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
176,12 → 176,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,150 ; size 150 bytes
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
189,7 → 189,7
 
mov eax,58
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
197,7 → 197,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
 
cmp eax,1
je mred
212,7 → 212,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
219,7 → 219,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
244,15 → 244,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
354,7 → 354,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
388,12 → 388,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,120 ; size 150 bytes
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
401,7 → 401,7
 
mov eax,58
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
409,7 → 409,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
 
cmp eax,1
je mred
424,7 → 424,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
431,7 → 431,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
455,15 → 455,15
call redproc
jmp getmesloop
mkey:
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
615,7 → 615,7
macro scank
{
mov eax,10
int 0x40
mcall
}
 
macro putpix x,y,color
624,7 → 624,7
mov ecx,y
mov edx,color
mov eax,1
int 0x40
mcall
}
 
macro puttxt x,y,offs,size,color
637,7 → 637,7
mov edx,offs
mov esi,size
mov eax,4
int 0x40
mcall
}
 
macro outcount data, x, y, color, numtype
649,7 → 649,7
wordstoreg edx,x,y
mov esi,color
mov eax,47
int 0x40
mcall
}
 
; SCEVENT - Scan event
657,7 → 657,7
macro scevent red,key,but
{
mov eax,11
int 0x40
mcall
dec eax
jz red
dec eax
671,7 → 671,7
macro wtevent red,key,but
{
mov eax,10
int 0x40
mcall
dec eax
jz red
dec eax
686,7 → 686,7
{
mov eax,23
mov ebx,xfps
int 0x40
mcall
cmp eax,0
je noevent
dec eax
703,7 → 703,7
macro close
{
mov eax,-1
int 0x40
mcall
}
 
; DELAY - Create delay 1/100 sec
714,7 → 714,7
{
mov eax,5
mov ebx,arg1
int 0x40
mcall
}
 
; WINDOW - Draw window
729,7 → 729,7
wordstoreg ecx,arg2,arg4
mov edx,arg5
mov eax,0
int 0x40
mcall
}
 
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7
740,7 → 740,7
mov esi,arg6
mov edi,arg7
mov eax,0
int 0x40
mcall
}
 
 
750,7 → 750,7
{
mov eax,12
mov ebx,1
int 0x40
mcall
}
 
; ENDWD - End window draw
759,7 → 759,7
{
mov eax,12
mov ebx,2
int 0x40
mcall
}
 
; LABEL - Put text to frame
780,7 → 780,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
int 0x40
mcall
}
 
;Key's
/programs/fs/copyr/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm copyr.asm copyr
@erase lang.inc
@pause
/programs/fs/copyr/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm copyr.asm copyr
@erase lang.inc
@pause
/programs/fs/copyr/trunk/copyr.asm
24,7 → 24,7
dd param_area , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include 'macros.inc' ; very useful stuff for MeOS
include '..\..\..\macros.inc' ; very useful stuff for MeOS
include 'ascl.inc'
 
START: ; start of execution
82,12 → 82,12
mov ecx,0x10ff0000
lea edx,[errors+ebp]
mov esi,43 ;[errors+edi*8+4]
int 0x40
mcall
jmp dexit
 
;closep:
; or eax,-1 ; close program
; int 0x40
; mcall
 
 
;====================================================
124,7 → 124,7
lea ecx,[ebx+0x10000] ; size of memory needed = 0x10000+filesize
mov eax,64 ; func 64
mov ebx,1 ; resize application memory
int 0x40
mcall
pop ebx ; restore filesize
 
; check if alloc function failed
139,7 → 139,7
; read the source file
mov eax,70
mov ebx,source_info
int 0x40
mcall
 
; ebx = number of read bytes = file size
; save loaded file
146,7 → 146,7
mov [dest_info.bytes],ebx ; file size in bytes
mov eax,70
mov ebx,dest_info
int 0x40
mcall
 
; check if 58 function failed
test eax,eax
162,7 → 162,7
mov eax,64
mov ebx,1
mov ecx,0x10000
int 0x40
mcall
 
xor eax,eax ; eax = message number (0-OK)
jmp copy_error
177,7 → 177,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
184,7 → 184,7
mov ebx,160*65536+415 ; [x start] *65536 + [x size]
mov ecx,160*65536+90 ; [y start] *65536 + [y size]
mov edx,0x03DDDDDD ; color of work area RRGGBB
int 0x40
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
192,7 → 192,7
mov ecx,0x10ffffff ; color of text RRGGBB
mov edx,labelt ; pointer to text beginning
mov esi,labellen-labelt ; text length
int 0x40
mcall
 
mov eax,8
mov ebx,105*65536+290
199,12 → 199,12
mov ecx,33*65536+12
mov edx,4
mov esi,0xEBEBEB
int 0x40
mcall
mov ebx,105*65536+290
mov ecx,49*65536+12
mov edx,5
mov esi,0xEBEBEB
int 0x40
mcall
 
mov esi,source
mov edi,text+14
222,7 → 222,7
mov esi,62
newline:
mov eax,4
int 0x40
mcall
add ebx,16
add edx,62
cmp [edx],byte 'x'
230,7 → 230,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
/programs/fs/kfar/trunk/dialogs.inc
315,13 → 315,13
.event:
push 10
pop eax
int 40h
mcall
dec eax
jz .redraw
dec eax
jz .key
or eax, -1
int 40h
mcall
.redraw:
push ebx ebp
call draw_window
329,7 → 329,7
jmp .event
.key:
mov al, 2
int 40h
mcall
shr eax, 8
cmp al, 0xE0
jnz @f
1239,7 → 1239,7
cmp [ctrlstate], 1
sbb ecx, -2
mov edx, layout
int 0x40
mcall
popad
; translate scancode to ASCII
movzx eax, al
/programs/fs/kfar/trunk/filetool.inc
6,7 → 6,7
push 70
pop eax
mov ebx, delinfo
int 0x40
mcall
pop ebx
test eax, eax
jz .ret
102,7 → 102,7
mov [ebx+dirinfo.name-dirinfo], execdata
push 70
pop eax
int 0x40
mcall
; if we get read error, the best available action is try to delete directory itself
test eax, eax
jz @f
/programs/fs/kfar/trunk/kfar.asm
8,6 → 8,7
dd 0, app_path
 
include 'lang.inc'
include '..\..\..\macros.inc'
include 'font.inc'
include 'sort.inc'
include 'kglobals.inc'
60,7 → 61,7
pop eax
push 11
pop ebx
int 0x40
mcall
call init_console
call draw_window
push 66
68,7 → 69,7
push 1
pop ebx
mov ecx, ebx
int 40h ; set keyboard mode to scancodes
mcall ; set keyboard mode to scancodes
mov eax, 200
mov [panel1_nfa], eax
mov [panel2_nfa], eax
249,7 → 250,7
event:
push 10
pop eax
int 40h
mcall
dec eax
jz redraw
dec eax
257,13 → 258,13
; button - we have only one button, close
exit:
or eax, -1
int 40h
mcall
redraw:
; query kbd state from OS
mov al, 66
push 3
pop ebx
int 0x40
mcall
and eax, 0x3F
cmp al, [ctrlstate]
mov [ctrlstate], al
273,7 → 274,7
mov al, 9
mov ebx, procinfo
or ecx, -1
int 40h
mcall
; test if rolled up
; height of rolled up window is [skinh]+3
mov eax, [ebx+46]
283,14 → 284,14
mov al, 12
push 1
pop ebx
int 0x40
mcall
xor eax, eax
; ebx, ecx, edi are ignored by function 0 after first redraw
mov edx, 0x53000000
int 0x40
mcall
mov al, 12
inc ebx
int 0x40
mcall
jmp event
@@:
xor ecx, ecx
364,7 → 365,7
imul esi, font_height
add esi, [skinh]
add esi, 5-1
int 40h
mcall
.resize_draw:
mov ecx, [MemForImage]
call pgfree
394,7 → 395,7
pop eax
push 5
pop ebx
int 0x40
mcall
push eax
sub eax, [esp+2]
inc eax
427,11 → 428,11
add esi, 4
push 67
pop eax
int 0x40
mcall
jmp redraw.resize_draw
key:
mov al, 2
int 40h
mcall
test al, al
jnz event
xchg al, ah
1025,7 → 1026,7
.cmdlinelenok:
push 70
pop eax
int 40h
mcall
xor esi, esi
xchg esi, [restore_semicolon]
test esi, esi
1057,7 → 1058,7
pop eax
push 20
pop ebx
int 0x40
mcall
jmp .ctrl_r
@@:
ret
1235,7 → 1236,7
mov byte [tmpname+1], 0
push 70
pop eax
int 40h
mcall
mov ebx, dirinfo
test eax, eax
jnz .drive_loop_e_done
1251,7 → 1252,7
.drive_loop_i:
push 70
pop eax
int 40h
mcall
mov ebx, dirinfo
test eax, eax
jnz .drive_loop_i_done
1541,7 → 1542,7
mov [ebx + attrinfo.name - attrinfo], esi
push 70
pop eax
int 0x40
mcall
mov cl, byte [attrinfo.attr]
@@:
test cl, 0x10
1610,7 → 1611,7
mov ebx, readinfo
push 70
pop eax
int 0x40
mcall
test eax, eax
jz .copyreadok
cmp eax, 6
1642,7 → 1643,7
mov ebx, writeinfo
push 70
pop eax
int 0x40
mcall
test eax, eax
jz .copywriteok
push edi
1699,7 → 1700,7
mov dword [ebx+21], edi
push 70
pop eax
int 0x40
mcall
; ignore errors
pop dword [delinfo+21]
jmp .copydone
2140,7 → 2141,7
push 70
pop eax
mov ebx, mkdirinfo
int 0x40
mcall
test eax, eax
jz @f
push dword CopyDestEditBuf+12
2435,10 → 2436,10
pop eax
push 1
pop ebx
int 40h
mcall
mov al, 48
mov bl, 4
int 40h
mcall
mov [skinh], eax
mov ebx, [cur_width]
imul ebx, font_width
2448,8 → 2449,8
lea ecx, [eax+ecx+5-1+100*65536]
xor eax, eax
mov edx, 0x53000000
mov edi, header
int 40h
mov edi, title
mcall
mov al, 13
xor edx, edx
cmp [fill_width], 0
2463,7 → 2464,7
mov cx, word [wnd_height]
sub cx, word [skinh]
sub cx, 5-1
int 0x40
mcall
@@:
cmp [fill_height], 0
jz @f
2476,7 → 2477,7
sub ecx, 5-1
shl ecx, 16
mov cx, word [fill_height]
int 0x40
mcall
@@:
; xor ecx, ecx
; call draw_image
2493,12 → 2494,12
mov esi, 8
mov edi, console_colors
xor ebp, ebp
int 0x40
mcall
@@:
mov al, 12
push 2
pop ebx
int 40h
mcall
ret
 
draw_image.nomem:
2510,7 → 2511,7
mov ecx, [skinh-2]
mov cx, word [cur_height]
imul cx, font_height
int 40h
mcall
mov al, 4
mov ebx, 32*65536+32
mov ecx, 0xFFFFFF
2517,7 → 2518,7
mov edx, nomem_draw
push nomem_draw.size
pop esi
int 40h
mcall
ret
 
draw_image:
2714,7 → 2715,7
mov edi, console_colors
push 8
pop esi
int 40h
mcall
.nodraw:
ret
 
3936,7 → 3937,7
push 70
pop eax
mov ebx, dirinfo
int 40h
mcall
test eax, eax
jz .ok
cmp eax, 6
5165,7 → 5166,7
pop esi
ret
 
header db 'Kolibri Far 0.32',0
title db 'Kolibri Far 0.32',0
 
nomem_draw db 'No memory for redraw.',0
.size = $ - nomem_draw
/programs/fs/kfar/trunk/tools.inc
6,7 → 6,7
pop eax
push 12
pop ebx
int 0x40
mcall
pop ebx
ret
 
18,7 → 18,7
pop eax
push 13
pop ebx
int 0x40
mcall
pop ebx
ret
 
30,7 → 30,7
pop eax
push 20
pop ebx
int 0x40
mcall
pop ebx
ret
 
188,7 → 188,7
pop eax
push 19
pop ebx
int 0x40
mcall
mov edi, aInvalidDLL
test eax, eax
jz .sayerr
/programs/fs/kfar/trunk/viewer.inc
62,7 → 62,7
.attr_retry:
push 70
pop eax
int 40h
mcall
test eax, eax
jz @f
lea ebx, [ebp+viewer_data.filename]
105,7 → 105,7
.retry:
push 70
pop eax
int 40h
mcall
mov [ebp+viewer_data.buf_size], ebx
test eax, eax
jz .readok
196,7 → 196,7
mov ebx, readinfo
push 70
pop eax
int 40h
mcall
test eax, eax
jz .readok
cmp eax, 6
978,7 → 978,7
mov [ebx+21], eax
push 70
pop eax
int 40h
mcall
test eax, eax
jz .readok
cmp eax, 6
1030,7 → 1030,7
@@:
push 70
pop eax
int 40h
mcall
test eax, eax
jz @f
cmp eax, 6
/programs/fs/mfar/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/fs/sysxtree/trunk/macros.inc
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/fs/sysxtree/trunk/ascgl.inc
373,7 → 373,7
words2reg ecx,y,ys ;y*65536+ys
mov edx,color
mov eax,13
int 0x40
mcall
}
 
; FPS - Set Frame Per Second Display
390,7 → 390,7
spdat:
get_time:
mov eax,3
int 0x40
mcall
cmp eax,[savetime]
jne new_time
inc [fps_cntr]
409,7 → 409,7
mov ecx,y*65536+7
mov edx,delcolor
mov eax,13
int 0x40
mcall
end if
mov dword [ttt],fps_show_frequency
mov eax,47
418,7 → 418,7
mov edx,x*65536+y
mov esi,color
mov ecx,[fps]
int 0x40
mcall
no_out_fps:
}
 
496,7 → 496,7
add cx,[arg3+4]
; wordstoreg ecx,[arg3],[arg3+4]
words2reg edx, x , y ;arg1*65536+arg2
int 0x40
mcall
}
 
macro setframe x , y ,arg3
507,7 → 507,7
words2reg edx, x , y ;arg1*65536+arg2
add edx,dword [arg3]
mov ecx,dword [arg3+4]
int 0x40
mcall
}
 
 
/programs/fs/sysxtree/trunk/ascl.inc
50,7 → 50,7
mov dword [fileinfo+8],1 ; how many blocks to read (1)
mov eax,58
mov ebx,fileinfo
int 0x40
mcall
mov eax,[file_load_area+2]
shr eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢
inc eax
57,7 → 57,7
mov dword [fileinfo+8],eax
mov eax,58
mov ebx,fileinfo
int 0x40
mcall
}
 
 
143,7 → 143,7
mov edx,id
mov esi,bcolor
mov eax,8
int 0x40
mcall
 
mov eax,asd-lab ;calc size
mov ebx,6
168,7 → 168,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
int 0x40
mcall
}
 
 
197,7 → 197,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
231,12 → 231,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
244,7 → 244,7
 
mov eax,70
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
252,7 → 252,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
dec eax
jz mred
dec eax
266,7 → 266,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
273,7 → 273,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
298,15 → 298,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
408,7 → 408,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
; convert eax bin to param dec
mov eax,dword [procinfo+30] ;offset of myPID
442,12 → 442,12
mov ebx,1 ; define IPC
mov ecx,path ; offset of area
mov edx,1024+16 ; size
int 0x40
mcall
 
; change wanted events list 7-bit IPC event
mov eax,40
mov ebx,01000111b
int 0x40
mcall
 
;
; STEP 3 run SYSTEM XTREE with parameters
455,7 → 455,7
 
mov eax,70
mov ebx,run_fileinfo
int 0x40
mcall
 
call redproc
 
463,7 → 463,7
getmesloop:
mov eax,23
mov ebx,50 ;0.5 sec
int 0x40
mcall
dec eax
jz mred
dec eax
477,7 → 477,7
mov ebx,procinfo
mov ecx,-1
mov eax,9
int 0x40
mcall
mov ebp,eax
 
loox:
484,7 → 484,7
mov eax,9
mov ebx,procinfo
mov ecx,ebp
int 0x40
mcall
mov eax,[DLGPID]
cmp [procinfo+30],eax ;IF Dialog find
je dlg_is_work ;jmp to dlg_is_work
509,15 → 509,15
jmp getmesloop
mkey:
mov eax,2
int 0x40 ; read (eax=2)
mcall ; read (eax=2)
jmp getmesloop
mbutton:
mov eax,17 ; get id
int 0x40
mcall
cmp ah,1 ; button id=1 ?
jne getmesloop
mov eax,-1 ; close this program
int 0x40
mcall
mgetmes:
 
; If dlg_pid_get then second message get jmp to still
669,7 → 669,7
macro scank
{
mov eax,10
int 0x40
mcall
}
 
macro putpix x,y,color
678,7 → 678,7
mov ecx,y
mov edx,color
mov eax,1
int 0x40
mcall
}
 
macro puttxt x,y,offs,size,color
696,7 → 696,7
; mov edx,offs
; mov esi,size
mov eax,4
int 0x40
mcall
}
 
macro outcount data, x, y, color, numtype
708,7 → 708,7
words2reg edx,x,y
mov esi,color
mov eax,47
int 0x40
mcall
}
 
; SCEVENT - Scan event
716,7 → 716,7
macro scevent red,key,but
{
mov eax,11
int 0x40
mcall
dec eax
jz red
dec eax
730,7 → 730,7
macro wtevent red,key,but
{
mov eax,10
int 0x40
mcall
dec eax
jz red
dec eax
745,7 → 745,7
{
mov eax,23
mov ebx,xfps
int 0x40
mcall
cmp eax,0
je noevent
dec eax
762,7 → 762,7
macro close
{
mov eax,-1
int 0x40
mcall
}
 
; DELAY - Create delay 1/100 sec
773,7 → 773,7
{
mov eax,5
mov ebx,arg1
int 0x40
mcall
}
 
; WINDOW - Draw window
788,7 → 788,7
words2reg ecx,arg2,arg4
mov edx,arg5
mov eax,0
int 0x40
mcall
}
 
macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7
799,7 → 799,7
mov esi,arg6
mov edi,arg7
mov eax,0
int 0x40
mcall
}
 
 
809,7 → 809,7
{
mov eax,12
mov ebx,1
int 0x40
mcall
}
 
; ENDWD - End window draw
818,7 → 818,7
{
mov eax,12
mov ebx,2
int 0x40
mcall
}
 
; LABEL - Put text to frame
842,7 → 842,7
mov edx,lab
mov esi,asd-lab ;calc size
mov eax,4
int 0x40
mcall
}
 
;Key's
/programs/fs/sysxtree/trunk/build_en.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm sysxtree.asm sysxtree
@erase lang.inc
@pause
/programs/fs/sysxtree/trunk/build_ru.bat
1,4 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm sysxtree.asm sysxtree
@erase lang.inc
@pause
/programs/fs/sysxtree/trunk/sysxtree.asm
45,7 → 45,7
; dd 0,0
 
;******************************************************************************
include 'macros.inc'
include '..\..\..\macros.inc'
include 'ascl.inc'
include 'ascgl.inc'
 
55,7 → 55,7
; //// Willow
; mov eax,58
; mov ebx,MRUfile
; int 0x40
; mcall
; //// Willow
mcall 18,11,1,table_area
cmp [edx+2],byte 0
101,7 → 101,7
 
mov eax,40
mov ebx,0100111b
int 0x40
mcall
 
cmp byte [param_area],0 ;test parameters line
jne no_brow ;it's dialog
115,7 → 115,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
mov eax,dword [procinfo+30]
mov edi,MYPID+4-1
151,7 → 151,7
mov ebx,2
mov edx,MYPID
mov esi,4
int 0x40
mcall
no_dlg:
 
giftoimg but_file,tempimg
210,7 → 210,7
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
wtevent red,key,button
 
217,7 → 217,7
scrolltest:
mov eax,37
mov ebx,2
int 0x40
mcall
dec eax
jne still
 
224,11 → 224,11
scrl:
mov eax,37
mov ebx,1
int 0x40
mcall
movzx ebx, ax ; y
shr eax, 16 ; x
mov ebp,eax
sub ebp,[listx] ;[procinfo.x_size]
sub ebp,[listx] ;[procinfo.box.left]
sub ebp,[listxsize]
add ebp,[scrollsize]
cmp ebp,dword [scrollsize] ;8
291,7 → 291,7
;===================
key: ; key
mov eax,2
int 0x40
mcall
cmp dword [focus],0
jne con_edit
cmp ah,key_Up
400,7 → 400,7
 
button: ; button
mov eax,17
int 0x40
mcall
 
cmp ah,2 ;Edit prompt line?
je edit_prompt
411,7 → 411,7
mousetest:
mov eax,37
mov ebx,1
int 0x40
mcall
mov ebx,eax
shr eax,16 ;x
and ebx,0xffff ;y
565,7 → 565,7
mov ebx,2
mov edx,paramtest
mov esi,1024
int 0x40
mcall
 
jmp exit
 
647,7 → 647,7
mov dword [ebx+21], paramtest ; program name
.do:
mov eax, 70
int 0x40
mcall
jmp still
 
run:
818,7 → 818,7
mov byte [ebx], 2
mov [ebx+12], edi
mov eax, 70
int 0x40
mcall
jmp still
no_copyclip:
 
829,7 → 829,7
mov byte [ebx], 0
mov dword [ebx+12], 1023
mov eax, 70
int 0x40
mcall
cmp ebx, 0
jle still
mov byte [paramtest+ebx], 0
884,18 → 884,18
mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
mov edx, copyr_param+1
movzx esi, byte [edx-1]
int 0x40
mcall
mov ebx,250*65536+67 ; [x start] *65536 + [y start]
mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
mov edx, ebp
mov esi, edi
int 0x40
mcall
no_outpath:
 
; run COPYR
mov eax, 70
mov ebx, copyr_run
int 0x40
mcall
delay 50 ;wait recoed file
jmp update ;still
no_clippaste:
999,10 → 999,10
; mov ebx,MRUfile
; mov dword[ebx+8],255
; inc dword[ebx]
; int 0x40
; mcall
; //// Willow
mov eax,-1
int 0x40
mcall
 
draw_wd:
; call draw_window
1028,10 → 1028,10
cmp [browser], 1 ;it's browser?
jne dialogscr
 
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,90
drawfbox 40,76,300,eax,0x00000000
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,92
drawfbox 41,77,298,eax,0x00ffffff
mov edi,esi ;14
1041,10 → 1041,10
jmp outlab
 
dialogscr:
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,84
drawfbox 16,54,270,eax,0x00000000
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,86
drawfbox 17,55,268,eax,0x00ffffff
mov edi,esi ;14
1056,7 → 1056,7
mov eax,4
mov esi,40
helploo:
int 0x40
mcall
add ebx,11
add edx,40
dec edi
1144,8 → 1144,8
; mov eax,9
; mov ebx,procinfo
; mov ecx,-1
; int 0x40
; mov eax,[procinfo.x_size]
; mcall
; mov eax,[procinfo.box.left]
; cmp eax,66
; jg temp12345
; ret
1154,7 → 1154,7
mov ebx,3
mov ecx,sc
mov edx,sizeof.system_colors
int 0x40
mcall
 
mov eax,[sc.work_button]
mov [b_color],eax
1161,7 → 1161,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
mcall
 
;Window
 
1178,43 → 1178,43
isb1:
; mov edx,[sc.work] ; color of work area RRGGBB
or edx,0x03ffffff;000000
int 0x40
mcall
 
;Get proc info
mov eax,9
mov ebx,procinfo
mov ecx,-1
int 0x40
mcall
 
mov eax,[procinfo.x_size]
mov eax,[procinfo.box.left]
cmp eax,66
jg @f
.ret:
ret
@@:
cmp [procinfo.y_size], 0x70
cmp [procinfo.box.top], 0x70
jl .ret
 
cmp [browser], 1 ;it's browser
jne nob9
mov [listx],120
; mov eax,[procinfo.x_size]
; mov eax,[procinfo.box.left]
sub eax,127;[listx]+7
cmp eax,10
jl .ret
mov [listxsize],eax
mov [listy],73
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,73+7;[listy]+7
mov [listysize],eax
jmp isb9
nob9:
mov [listx],10
; mov eax,[procinfo.x_size]
; mov eax,[procinfo.box.left]
sub eax,17 ;[listx]+7
mov [listxsize],eax
mov [listy],54
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,54+34;[listy]+34
mov [listysize],eax
isb9:
1235,12 → 1235,12
mov edx,22;+1000000000000000000000000000000b ;spoke butt
mov edi,3 ;draw 13 button's
mov esi,0x00339933
int 0x40
mcall
dec edi
nexthbut:
add ebx,(6*8)*65536
inc edx
int 0x40
mcall
dec edi
jnz nexthbut
 
1248,17 → 1248,17
glabel 8,25,' FILE VIEW INFO ', cl_White ;Black
 
;BlackLine
mov eax,[procinfo.x_size]
mov eax,[procinfo.box.left]
sub eax,10
drawfbox 5,35, eax, 1, cl_Black
 
;BlackLine2
mov eax,[procinfo.x_size]
mov eax,[procinfo.box.left]
sub eax,10
drawfbox 5,68, eax, 1, cl_Black
 
;BlackLine2 vertical
; mov eax,[procinfo.y_size]
; mov eax,[procinfo.box.top]
; sub eax,69+4
; drawfbox 115, 69, 1, eax, cl_Black
 
1329,12 → 1329,12
mov edx,8;+1000000000000000000000000000000b ;spoke butt
mov edi,13 ;draw 13 button's
mov esi,cl_Grey
int 0x40
mcall
dec edi
nextbut:
add ebx,(16+6)*65536
inc edx
int 0x40
mcall
dec edi
jnz nextbut
 
1344,7 → 1344,7
;But img browser
setimg 10,37,butimg
;left logo
add eax,[procinfo.x_size]
add eax,[procinfo.box.left]
sub eax,80
mov [temp],eax
setimg [temp],37,logoimg
1359,7 → 1359,7
 
mov [urlx],48
mov [urly],55
mov eax,[procinfo.x_size]
mov eax,[procinfo.box.left]
sub eax,48+10
mov [urlxsize],eax
mov [urlysize],12
1374,7 → 1374,7
mov ecx,cl_Black
add edx,modetext
mov esi,16
int 0x40
mcall
 
;List size
outcount [listsize],294,25,cl_Black,4*65536
1388,10 → 1388,10
nob5:
 
mov [urlx],10
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,24
mov [urly],eax
mov eax,[procinfo.x_size]
mov eax,[procinfo.box.left]
sub eax,80
mov [urlxsize],eax
mov [urlysize],12
1410,7 → 1410,7
or ecx,0x10000000
mov esi,9
mov eax,4
int 0x40
mcall
no_saveh:
 
 
1417,11 → 1417,11
;Draw OPEN\SAVE button
mov ebx,0*65536+50
mov ecx,0*65536+12
mov eax,[procinfo.x_size]
mov eax,[procinfo.box.left]
sub eax,63
shl eax,16
add ebx,eax
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,25
shl eax,16
add ecx,eax
1428,12 → 1428,12
mov eax,8
mov edx,5 ;button ID
mov esi,0x006699aa ;gradient!!!
int 0x40
mcall
 
; label OPEN or SAVE
mov ebx,[procinfo.x_size]
mov ebx,[procinfo.box.left]
sub ebx,48
mov eax,[procinfo.y_size]
mov eax,[procinfo.box.top]
sub eax,22
shl ebx,16
add ebx,eax
1450,7 → 1450,7
mov ecx,cl_White
mov esi,4
mov eax,4
int 0x40
mcall
no_saveb:
 
isb5:
1479,16 → 1479,16
mov eax,8
mov edx,2 ;button ID
mov esi,0x00aaaaaa ;gradient!!!
int 0x40
mcall
 
;Draw URL String
mov eax,13
mov edx,cl_Black
int 0x40
mcall
add ebx,1*65536-2+1
add ecx,1*65536-2+1
mov edx,cl_White
int 0x40
mcall
 
;Draw URL Cursor
mov eax,6
1503,7 → 1503,7
add ecx,2*65536-4
mov eax,13
mov edx,cl_Black
int 0x40
mcall
 
; OUT TEXT
mov eax,[urlxsize] ;calculating text leight
1519,7 → 1519,7
mov eax,4 ; function 4 : write text to window
mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
mov edx,path ; pointer to text beginning
int 0x40
mcall
 
cmp [flick],2
jne no_flick_url
1546,7 → 1546,7
add ecx,[listysize]
sub ecx,scrollbutsize*2
mov edx,[scrollcolor] ;0x00006600
int 0x40
mcall
 
;Draw Scroll Box
mov edx,0
1595,7 → 1595,7
shl ebx, 16
mov bx, word [scrollsize]
mov edx, [scrollboxcol]
int 0x40
mcall
notusescroll:
 
 
1611,12 → 1611,12
 
mov eax,8
mov edx,4+1000000000000000000000000000000b ;spoke butt
int 0x40
mcall
 
add ebx,15
mov eax,13
mov edx,[listcolor] ;ffffff
int 0x40
mcall
 
;Draw up/down buttons
mov ebx,[listx]
1629,12 → 1629,12
add ecx,scrollbutsize-1
mov eax,8
mov edx,6+1000000000000000000000000000000b ;spoke butt
int 0x40
mcall
 
inc ecx
mov eax,13
mov edx,[scrollbutcol] ;ffffff
int 0x40
mcall
 
; Draw image on up button
pushad
1646,7 → 1646,7
mov ecx,8*65536+9
mov ebx,upsb+8
mov eax,7
int 0x40
mcall
popad
 
 
1658,12 → 1658,12
add ecx,eax
 
mov eax,8
int 0x40
mcall
 
inc ecx
mov eax,13
mov edx,[scrollbutcol] ;ffffff
int 0x40
mcall
 
; Draw image on down button
pushad
1675,7 → 1675,7
mov ecx,8*65536+9
mov ebx,dnsb+8
mov eax,7
int 0x40
mcall
popad
 
 
1795,7 → 1795,7
@@:
push eax
mov eax,4
int 0x40
mcall
cmp byte [edx+esi], 0
jz @f
pushad
1805,7 → 1805,7
add ebx, eax
mov esi, 1
mov eax, 4
int 0x40
mcall
popad
@@:
pop eax
1817,7 → 1817,7
add edx,4
mov esi,23
mov eax,4
int 0x40
mcall
pop edx ebx
 
pushad
1911,7 → 1911,7
; mov ebx,upsb+8
pop ebx
mov eax,7
int 0x40
mcall
no_out_ico:
popad
 
2008,7 → 2008,7
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
int 0x40
mcall
 
ret
 
2040,7 → 2040,7
mov eax,4
mov esi,12
menuloo:
int 0x40
mcall
add ebx,11
add edx,12
dec edi
2050,7 → 2050,7
menubutton:
mov eax,8
nextmenubut:
int 0x40
mcall
add ecx,11*65536
inc edx
dec edi
2156,7 → 2156,7
loorhd:
mov eax,70
mov ebx,fileinfoblock
int 0x40
mcall
 
cmp eax,6
je end_of_dir