Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 3832 → Rev 3833

/programs/fs/kfm/trunk/data.inc
1,10 → 1,36
;---------------------------------------------------------------------
align 4
files_counter rd 1
directories_counter rd 1
files_counter rd 1
directories_counter rd 1
 
files_size:
.low rd 1
.high rd 1
.low rd 1
.high rd 1
;Ôîðìàò âðåìåíè:
; * +0: byte: ñåêóíäû
; * +1: byte: ìèíóòû
; * +2: byte: ÷àñû
; * +3: byte: çàðåçåðâèðîâàíî (0)
; * íàïðèìåð, 23.59.59 çàïèñûâàåòñÿ êàê (â hex) 3B 3B 17 00
time:
.create:
rd 1
.access:
rd 1
.change:
rd 1
;Ôîðìàò äàòû:
; * +0: byte: äåíü
; * +1: byte: ìåñÿö
; * +2: word: ãîä
; * íàïðèìåð, 25.11.1979 çàïèñûâàåòñÿ êàê (â hex) 19 0B BB 07
date:
.create:
rd 1
.access:
rd 1
.change:
rd 1
;---------------------------------------------------------------------
open_param rd 1
;---------------------------------------------------------------------
90,7 → 116,6
left_start_draw_line rd 1
left_folder_block rd 1
left_start_draw_cursor_line rw 1
;left_panel_clear_all rb 1
left_folder_block_1 rd 1
;---------------------------------------------------------------------
align 4
97,7 → 122,6
right_start_draw_line rd 1
right_folder_block rd 1
right_start_draw_cursor_line rw 1
;right_panel_clear_all rb 1
right_folder_block_1 rd 1
;---------------------------------------------------------------------
align 4
197,10 → 221,6
rb 512
;---------------------------------------------------------------------
align 4
type_size_string:
rb 32
;---------------------------------------------------------------------
align 4
type_files_string:
rb 16
;---------------------------------------------------------------------
/programs/fs/kfm/trunk/file_inf.inc
1,181 → 1,218
files_information:
xor eax,eax
mov [alt_flag],al
mov [files_counter],eax
mov [directories_counter],eax
mov [files_size.low],eax
mov [files_size.high],eax
call get_files_information
mov eax,files_size
mov ebx,type_size_string
call decimal_string_20
call start_files_information_thread
jmp still
;---------------------------------------------------------------------
xor eax,eax
mov [alt_flag],al
mov [files_counter],eax
mov [directories_counter],eax
mov [files_size.low],eax
mov [files_size.high],eax
call get_files_information
call start_files_information_thread
jmp still
;------------------------------------------------------------------------------
start_files_information_thread:
mcall 9, procinfo, -1
mov eax,[ebx+46]
shr eax,1
add eax,[ebx+38]
sub eax,150
mov [files_information_window_y+2],ax
mov eax,[ebx+42]
shr eax,1
add eax,[ebx+34]
sub eax,125
mov [files_information_window_x+2],ax
mcall 51,1,thread_files_information_start,thread_stack
ret
;---------------------------------------------------------------------
mcall 9,procinfo,-1
mov eax,[ebx+46]
shr eax,1
add eax,[ebx+38]
sub eax,150
mov [files_information_window_y+2],ax
mov eax,[ebx+42]
shr eax,1
add eax,[ebx+34]
sub eax,125
mov [files_information_window_x+2],ax
mcall 51,1,thread_files_information_start,thread_stack
ret
;------------------------------------------------------------------------------
draw_files_information_window:
mcall 12, 1
mcall 0,[files_information_window_x] ,[files_information_window_y], 0x03ffffcc
mov edx,90 shl 16+50
mov ebx,0xa0000
mov esi,0x10000000
cmp [inf_marked_yes],1
je .continue_4
cmp [nesting_direction],1
je @f
add edx,15
mcall 12,1
mcall 0,[files_information_window_x],[files_information_window_y],0x03ffffcc
mov edx,100 shl 16+50
mov ebx,0x800a0000
mov esi,0x10000000
cmp [inf_marked_yes],1
je .continue_4
 
cmp [nesting_direction],1
je @f
 
add edx,15
;--------------------------------------
.continue_4:
mcall 47, ,[files_counter]
; show files counter
mcall 47,,[files_counter]
;--------------------------------------
@@:
cmp [inf_marked_yes],1
je .continue_2
cmp [nesting_direction],0
je .continue_2
cmp [directories_counter],0
je @f
cmp [inf_marked_yes],1
je .continue_2
 
cmp [nesting_direction],0
je .continue_2
 
cmp [directories_counter],0
je @f
;--------------------------------------
.continue_2:
add edx,15
mcall 47, ,[directories_counter]
; show directories counter
add edx,15
mcall ,,[directories_counter]
;--------------------------------------
@@:
add edx,15
mov ebx,edx
mcall 4, ,0x90000000,type_size_string
cmp [select_panel_counter],0
jne .right_1
mov edx,read_folder_name
jmp @f
; show file or directory size
add edx,15
mcall 47,0x80140001,files_size
;--------------------------------------
mov ebp,date.create
call show_date_and_time_of_files_information
;--------------------------------------
mov ebp,date.change
call show_date_and_time_of_files_information
;--------------------------------------
mov ebp,date.access
call show_date_and_time_of_files_information
;--------------------------------------
cmp [select_panel_counter],0
jne .right_1
 
mov edx,read_folder_name
jmp @f
;--------------------------------------
.right_1:
mov edx,read_folder_1_name
mov edx,read_folder_1_name
;--------------------------------------
@@:
mcall 4,<75,35>,0x80000000, ;file_name
mcall 4,<10,35>,0x90000000,type_location
cmp [inf_marked_yes],1
je .continue
mcall 4,<90,50>,0x80000000,type_name
mov ecx,0x90000000
cmp [nesting_direction],1
je @f
mcall 4,<10,50>, ,type_dir_name
jmp .continue
mcall 4,<75,35>,0x80000000, ;file_name
mcall ,<10,35>,0x90000000,type_location
cmp [inf_marked_yes],1
je .continue
 
mcall ,<90,50>,0x80000000,type_name
mov ecx,0x90000000
cmp [nesting_direction],1
je @f
 
mcall ,<10,50>,,type_dir_name
jmp .continue
;--------------------------------------
@@:
mcall 4,<10,50>, ,type_file_name
mcall ,<10,50>,,type_file_name
;--------------------------------------
.continue:
cmp [inf_marked_yes],1
je .continue_3
cmp [nesting_direction],1
je @f
cmp [inf_marked_yes],1
je .continue_3
 
cmp [nesting_direction],1
je @f
;--------------------------------------
.continue_3:
add ebx,15
mcall 4, , ,type_files
add ebx,15
mcall ,,,type_files
;--------------------------------------
@@:
cmp [inf_marked_yes],1
je .continue_1
cmp [nesting_direction],0
je .continue_1
cmp [directories_counter],0
je @f
cmp [inf_marked_yes],1
je .continue_1
 
cmp [nesting_direction],0
je .continue_1
 
cmp [directories_counter],0
je @f
;--------------------------------------
.continue_1:
add ebx,15
mcall 4, , ,type_dir
add ebx,15
mcall ,,,type_dir
;--------------------------------------
@@:
add ebx,15
mcall 4, , ,type_size
mcall 12, 2
ret
;---------------------------------------------------------------------
add ebx,15
mcall ,,,type_size
add ebx,15
mcall ,,,type_create
add ebx,15
mcall ,,,type_change
add ebx,15
mcall ,,,type_access
sub ebx,30
add ebx,107 shl 16
mcall ,,0x80000000,type_limiters_data_time
add ebx,15
mcall
add ebx,15
mcall
 
mcall 12,2
ret
;------------------------------------------------------------------------------
show_date_and_time_of_files_information:
; show date
add edx,15
push edx
movzx ecx,byte [ebp+0]
mcall ,0x00020000
add edx,24 shl 16
movzx ecx,byte [ebp+1]
mcall
add edx,23 shl 16
movzx ecx,word [ebp+2]
mcall ,0x00040000
sub ebp,12
; show time
add edx,37 shl 16
movzx ecx,byte [ebp+2]
mcall ,0x00020000
add edx,24 shl 16
movzx ecx,byte [ebp+1]
mcall
add edx,23 shl 16
movzx ecx,byte [ebp+0]
mcall
pop edx
ret
;------------------------------------------------------------------------------
thread_files_information_start:
.red:
call draw_files_information_window
call draw_files_information_window
;--------------------------------------
.still:
mcall 10
cmp eax,1
je .red
cmp eax,2
je .key
cmp eax,3
je .button
jmp .still
mcall 10
cmp eax,1
je .red
 
cmp eax,2
je .key
 
cmp eax,3
je .button
 
jmp .still
;--------------------------------------
.key:
mcall 2
;--------------------------------------
.button:
mcall -1
jmp .still
;---------------------------------------------------------------------
; ÏÅÐÅÂÎÄ 10-ÍÛÕ ×ÈÑÅË ÑÎ ÇÍÀÊÎÌ Â ÑÒÐÎÊÎÂÛÉ ÂÈÄ
; Âõîä:
; EAX - óêàçàòåëü íà ÷èñëî
; EBX - àäðåñ ñòðîêè
;---------------------------------------------------------------------
decimal_string_20:
push eax ebx ecx edx
mov [divisor],word 10
mov ebp,eax
xor ecx,ecx
; mov [ebx],byte '0'
; inc ebx
.p3:
xor edx,edx
push ebx
call Division_64bit
mov eax,[quotent]
mov [ebp],eax
mov eax,[quotent+4]
mov [ebp+4],eax
pop ebx
add edx,48
push edx
inc ecx
cmp [ebp],dword 0
jne .p3
cmp [ebp+4],dword 0
jne .p3
cmp ecx,19
jbe .p4
mov ecx,20
dec ebx
.p4:
pop edx
mov [ebx],dl
inc ebx
loop .p4
mov [ebx], byte 0
pop edx ecx ebx eax
ret
;----------------------------------------------------------
mcall -1
jmp .still
;------------------------------------------------------------------------------
; äåëåíèå 64-áèòíîãî ÷èñëà divident íà 16-áèòíîå ÷èñëî divisor.
; ×àñòíîå ïîìåùàåòñÿ â 64-áèòíóþ ïåðåìåííóþ quotent,
; à îñòàòîê - â 16-áèòíóþ ïåðåìåííóþ modulo
Division_64bit:
mov ax,[ebp+6]
xor dx,dx
mov bx,[divisor]
div bx
mov [quotent+6],ax
mov ax,[ebp+4]
div bx
mov [quotent+4],ax
mov ax,[ebp+2]
div bx
mov [quotent+2],ax
mov ax,[ebp]
div bx
mov [quotent],ax
; mov [modulo],dx
mov ax,[ebp+6]
xor dx,dx
mov bx,[divisor]
div bx
mov [quotent+6],ax
mov ax,[ebp+4]
div bx
mov [quotent+4],ax
mov ax,[ebp+2]
div bx
mov [quotent+2],ax
mov ax,[ebp]
div bx
mov [quotent],ax
; mov [modulo],dx
ret
;--------------------------------------
;divident:
; rb 8
divisor:
184,298 → 221,379
rb 8
;modulo:
; rb 2
;---------------------------------------------------------------------
;------------------------------------------------------------------------------
copy_type_name:
push esi
mov esi,ebx
mov edi,type_name
push esi
mov esi,ebx
mov edi,type_name
cld
;--------------------------------------
@@:
cld
lodsb
stosb
test al,al
jnz @b
pop esi
ret
;---------------------------------------------------------------------
lodsb
stosb
test al,al
jnz @b
 
pop esi
ret
;------------------------------------------------------------------------------
get_files_information:
call get_information_marked_files
cmp [inf_marked_yes],1
je .end_2
xor eax,eax
xor edx,edx
cmp [select_panel_counter],0
jne .right_1
mov ax,[left_start_draw_cursor_line]
mov ebx,10
div ebx
mov ebx,[left_start_draw_line]
add ebx,eax
imul ebx,304
add ebx,[left_folder_data]
call prepare_data_8
mov esi,read_folder_name
jmp .end
call get_information_marked_files
cmp [inf_marked_yes],1
je .end_2
 
xor eax,eax
xor edx,edx
cmp [select_panel_counter],0
jne .right_1
 
mov ax,[left_start_draw_cursor_line]
mov ebx,10
div ebx
mov ebx,[left_start_draw_line]
add ebx,eax
imul ebx,304
add ebx,[left_folder_data]
call prepare_data_8
mov esi,read_folder_name
jmp .end
;--------------------------------------
.right_1:
mov ax,[right_start_draw_cursor_line]
mov ebx,10
div ebx
mov ebx,[right_start_draw_line]
add ebx,eax
imul ebx,304
add ebx,[right_folder_data]
call prepare_data_8
mov esi,read_folder_1_name
mov ax,[right_start_draw_cursor_line]
mov ebx,10
div ebx
mov ebx,[right_start_draw_line]
add ebx,eax
imul ebx,304
add ebx,[right_folder_data]
call prepare_data_8
mov esi,read_folder_1_name
;--------------------------------------
.end:
mov [error_pointer],ebx
call copy_type_name
mov edi,file_name
call copy_path_1
test [ebx-40],byte 0x10
jz @f
push eax ebx
call get_inf_dir
mov [nesting_direction],0
pop ebx eax
dec [directories_counter]
jmp .end_2
mov [error_pointer],ebx
;--------------------------------------
push eax ebx
sub ebx,40
; âðåìÿ ñîçäàíèÿ ôàéëà
mov eax,[ebx+8]
mov [time.create],eax
; äàòà ñîçäàíèÿ ôàéëà
mov eax,[ebx+12]
mov [date.create],eax
; âðåìÿ ïîñëåäíåãî äîñòóïà (÷òåíèå èëè çàïèñü)
mov eax,[ebx+16]
mov [time.access],eax
; äàòà ïîñëåäíåãî äîñòóïà
mov eax,[ebx+20]
mov [date.access],eax
; âðåìÿ ïîñëåäíåé ìîäèôèêàöèè
mov eax,[ebx+24]
mov [time.change],eax
; äàòà ïîñëåäíåé ìîäèôèêàöèè
mov eax,[ebx+28]
mov [date.change],eax
pop ebx eax
;--------------------------------------
call copy_type_name
mov edi,file_name
call copy_path_1
 
test [ebx-40],byte 0x10
jz @f
 
push eax ebx
call get_inf_dir
mov [nesting_direction],0
pop ebx eax
dec [directories_counter]
jmp .end_2
;--------------------------------------
@@:
mov [nesting_direction],1
call get_file_size
test eax,eax
jz .end_1
call start_error_window_thread
add esp,4
jmp reload_dir_all
mov [nesting_direction],1
call get_file_size
test eax,eax
jz .end_1
 
call start_error_window_thread
add esp,4
jmp reload_dir_all
;--------------------------------------
.end_1:
; inc [files_counter]
mov eax,[file_features_temp_area+32]
add [files_size.low],eax
mov eax,[file_features_temp_area+32+4]
adc [files_size.high],eax
mov eax,[file_features_temp_area+32]
add [files_size.low],eax
mov eax,[file_features_temp_area+32+4]
adc [files_size.high],eax
;--------------------------------------
.end_2:
ret
;---------------------------------------------------------------------
ret
;------------------------------------------------------------------------------
get_information_marked_files:
xor eax,eax
mov [inf_marked_yes],al
cmp [select_panel_counter],al
jne .right_1
mov ebp,[left_folder_block]
xor eax,eax
mov [inf_marked_yes],al
cmp [select_panel_counter],al
jne .right_1
 
mov ebp,[left_folder_block]
;--------------------------------------
.start:
mov ebx,ebp
dec ebx
imul ebx,304
add ebx,[left_folder_data]
add ebx,32+40
cmp [ebx+299-40],byte 0
je @f
cmp [ebx],word '..'
jne .continue
cmp [ebx+2],byte 0
je .continue_1
mov ebx,ebp
dec ebx
imul ebx,304
add ebx,[left_folder_data]
add ebx,32+40
cmp [ebx+299-40],byte 0
je @f
 
cmp [ebx],word '..'
jne .continue
 
cmp [ebx+2],byte 0
je .continue_1
;--------------------------------------
.continue:
mov esi,read_folder_name
call prepare_data_9
mov esi,read_folder_name
call prepare_data_9
;--------------------------------------
.continue_1:
mov [inf_marked_yes],1
mov [inf_marked_yes],1
;--------------------------------------
@@:
dec ebp
jnz .start
ret
dec ebp
jnz .start
 
ret
;--------------------------------------
.right_1:
mov ebp,[right_folder_block]
mov ebp,[right_folder_block]
;--------------------------------------
.start_1:
mov ebx,ebp
dec ebx
imul ebx,304
add ebx,[right_folder_data]
add ebx,32+40
cmp [ebx+299-40],byte 0
je @f
cmp [ebx],word '..'
jne .continue_2
cmp [ebx+2],byte 0
je .continue_3
mov ebx,ebp
dec ebx
imul ebx,304
add ebx,[right_folder_data]
add ebx,32+40
cmp [ebx+299-40],byte 0
je @f
 
cmp [ebx],word '..'
jne .continue_2
 
cmp [ebx+2],byte 0
je .continue_3
;--------------------------------------
.continue_2:
mov esi,read_folder_1_name
call prepare_data_9
mov esi,read_folder_1_name
call prepare_data_9
;--------------------------------------
.continue_3:
mov [inf_marked_yes],1
mov [inf_marked_yes],1
;--------------------------------------
@@:
dec ebp
jnz .start_1
ret
;---------------------------------------------------------------------
dec ebp
jnz .start_1
 
ret
;------------------------------------------------------------------------------
prepare_data_9:
mov [error_pointer],ebx
mov edi,file_name
call copy_path_1
test [ebx-40],byte 0x10
jz @f
call get_inf_dir
ret
mov [error_pointer],ebx
mov edi,file_name
call copy_path_1
test [ebx-40],byte 0x10
jz @f
 
call get_inf_dir
ret
;--------------------------------------
@@:
inc [files_counter]
call get_file_size
test eax,eax
jz .continue
call start_error_window_thread
add esp,8+4
ret
inc [files_counter]
call get_file_size
test eax,eax
jz .continue
 
call start_error_window_thread
add esp,8+4
ret
;--------------------------------------
.continue:
mov eax,[file_features_temp_area+32]
add [files_size.low],eax
mov eax,[file_features_temp_area+32+4]
adc [files_size.high],eax
mov eax,[file_features_temp_area+32]
add [files_size.low],eax
mov eax,[file_features_temp_area+32+4]
adc [files_size.high],eax
;--------------------------------------
.continue_1:
ret
;---------------------------------------------------------------------
ret
;------------------------------------------------------------------------------
prepare_data_8:
add ebx,32+40
cmp [ebx],word '..'
jne .continue
cmp [ebx+2],byte 0
jne .continue
add esp,4+4
jmp reload_dir
add ebx,32+40
cmp [ebx],word '..'
jne .continue
 
cmp [ebx+2],byte 0
jne .continue
 
add esp,4+4
jmp reload_dir
;--------------------------------------
.continue:
ret
;---------------------------------------------------------------------
ret
;------------------------------------------------------------------------------
get_inf_dir:
mov [nesting_direction],0
pusha
mov [recursive_pointer],0
mov eax,[appl_memory]
mov [appl_memory_old],eax
mov [nesting_direction],0
pusha
mov [recursive_pointer],0
mov eax,[appl_memory]
mov [appl_memory_old],eax
;--------------------------------------
.1:
mov [read_delete_dir_data.size],0
mov [read_delete_dir_data.return],delete_dir_data
call read_delete_dir
test eax,eax
jz @f
mov [error_pointer],file_name
call start_error_window_thread
popa
add esp,8+8
ret
mov [read_delete_dir_data.size],0
mov [read_delete_dir_data.return],delete_dir_data
call read_delete_dir
test eax,eax
jz @f
 
mov [error_pointer],file_name
call start_error_window_thread
popa
add esp,8+8
ret
;--------------------------------------
@@:
mov eax,[delete_dir_data+8]
imul eax,304
add eax,32
mov ebx,eax
add ebx,[appl_memory_old]
cmp ebx,[appl_memory]
jbe @f
mov ecx,[appl_memory]
mov ecx,ebx
mov [appl_memory],ecx
mcall 64,1
mov eax,[delete_dir_data+8]
imul eax,304
add eax,32
mov ebx,eax
add ebx,[appl_memory_old]
cmp ebx,[appl_memory]
jbe @f
 
mov ecx,[appl_memory]
mov ecx,ebx
mov [appl_memory],ecx
mcall 64,1
;--------------------------------------
@@:
mov eax,[delete_dir_data+8]
mov [read_delete_dir_data.size],eax
mov eax,[appl_memory_old]
mov [read_delete_dir_data.return],eax
call read_delete_dir
test eax,eax
jz @f
mov [error_pointer],file_name
call start_error_window_thread
popa
add esp,8+8
ret
mov eax,[delete_dir_data+8]
mov [read_delete_dir_data.size],eax
mov eax,[appl_memory_old]
mov [read_delete_dir_data.return],eax
call read_delete_dir
test eax,eax
jz @f
 
mov [error_pointer],file_name
call start_error_window_thread
popa
add esp,8+8
ret
;--------------------------------------
@@:
cmp [nesting_direction],0
je @f
call get_inf_dir_2
jnc .end
dec ebp
push ebp
jmp .1
cmp [nesting_direction],0
je @f
 
call get_inf_dir_2
jnc .end
 
dec ebp
push ebp
jmp .1
;--------------------------------------
@@:
call get_inf_dir_1
jnc .end
dec ebp
push ebp
jmp .1
call get_inf_dir_1
jnc .end
dec ebp
push ebp
jmp .1
;--------------------------------------
.end:
call return_delete_path
dec [recursive_pointer]
cmp [recursive_pointer],0
jge .1
mov ecx,[appl_memory_old]
cmp [appl_memory],ecx
je @f
mov [appl_memory],ecx
mcall 64,1
call return_delete_path
dec [recursive_pointer]
cmp [recursive_pointer],0
jge .1
 
mov ecx,[appl_memory_old]
cmp [appl_memory],ecx
je @f
 
mov [appl_memory],ecx
mcall 64,1
;--------------------------------------
@@:
popa
ret
;---------------------------------------------------------------------
popa
ret
;------------------------------------------------------------------------------
get_inf_dir_2:
pop eax
pop ebp
push eax
jmp get_inf_dir_1.start
pop eax
pop ebp
push eax
jmp get_inf_dir_1.start
;--------------------------------------
get_inf_dir_1:
inc [directories_counter]
mov ebp,[appl_memory_old]
mov ebp,[ebp+8]
inc [directories_counter]
mov ebp,[appl_memory_old]
mov ebp,[ebp+8]
;--------------------------------------
.start:
mov ebx,ebp
dec ebx
imul ebx,304
add ebx,[appl_memory_old]
add ebx,32+40
cmp [ebx],byte '.'
jne @f
cmp [ebx+1],byte 0
je .continue_4
mov ebx,ebp
dec ebx
imul ebx,304
add ebx,[appl_memory_old]
add ebx,32+40
cmp [ebx],byte '.'
jne @f
 
cmp [ebx+1],byte 0
je .continue_4
;--------------------------------------
@@:
cmp [ebx],word '..'
jne .continue
cmp [ebx+2],byte 0
je .continue_4
cmp [ebx],word '..'
jne .continue
 
cmp [ebx+2],byte 0
je .continue_4
;--------------------------------------
.continue:
mov esi,file_name
inc [recursive_pointer]
call copy_path_2
test [ebx-40],byte 0x10
jnz .continue_3
mov esi,file_name
inc [recursive_pointer]
call copy_path_2
test [ebx-40],byte 0x10
jnz .continue_3
;--------------------------------------
@@:
inc [files_counter]
inc [files_counter]
;--------------------------------------
.continue_1:
mov eax,[ebx+32-40]
add [files_size.low],eax
mov eax,[ebx+32+4-40]
adc [files_size.high],eax
dec [recursive_pointer]
call return_delete_path
dec ebp
jnz .start
 
mov eax,[ebx+32-40]
add [files_size.low],eax
mov eax,[ebx+32+4-40]
adc [files_size.high],eax
dec [recursive_pointer]
call return_delete_path
dec ebp
jnz .start
;--------------------------------------
.continue_4:
clc
mov [nesting_direction],1
ret
clc
mov [nesting_direction],1
ret
;--------------------------------------
.continue_3:
stc
mov [nesting_direction],0
ret
;---------------------------------------------------------------------
stc
mov [nesting_direction],0
ret
;------------------------------------------------------------------------------
;type_patch_test:
; pusha
; mcall 5,200
; mcall 13,<290,300>,<3,13>,0x0
; mcall 4,<300, 5>,0x80FFFFFF,file_name ;[error_pointer]
; mcall 47,0x160100,[recursive_pointer],<300, 5>,0xffffff
; mcall 47,0x160100,ebp,<300, 5>,0xffffff
; mcall 5,1
; popa
; ret
;temp_value_1 db '1',0
;temp_value_2 db '2',0
;temp_value_3 db '3',0
;temp_value_4 db '4',0
;temp_value_5 db '5',0
;---------------------------------------------------------------------
; pusha
; mcall 5,200
; mcall 13,<290,300>,<3,13>,0x0
; mcall 4,<300,5>,0x80FFFFFF,file_name ;[error_pointer]
; mcall 47,0x160100,[recursive_pointer],<300,5>,0xffffff
; mcall 47,0x160100,ebp,<300,5>,0xffffff
; mcall 5,1
; popa
; ret
;temp_value_1 db '1',0
;temp_value_2 db '2',0
;temp_value_3 db '3',0
;temp_value_4 db '4',0
;temp_value_5 db '5',0
;------------------------------------------------------------------------------
/programs/fs/kfm/trunk/kfm.asm
1,6 → 1,6
;*****************************************************************************
; KFM - Kolibri File Manager
; Copyright (c) 2006 - 2012, Marat Zakiyanov aka Mario79, aka Mario
; Copyright (c) 2006 - 2013, Marat Zakiyanov aka Mario79, aka Mario
; All rights reserved.
;
; Redistribution and use in source and binary forms, with or without
25,7 → 25,7
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;*****************************************************************************
; KFM v0.47e 16.04.2012
; KFM v0.47g 24/07/2013
;---------------------------------------------------------------------
use32
org 0x0
/programs/fs/kfm/trunk/text.inc
1,4 → 1,4
header_text db 'Kolibri File Manager v0.47f 04/07/2013',0
header_text db 'Kolibri File Manager v0.47g 24/07/2013',0
;---------------------------------------------------------------------
fbutton_name:
.f1 db '1 Help',0
155,11 → 155,23
db 'Files:',0
;---------------------------------------------------------------------
type_dir:
db 'Dir.:',0
db 'Directories:',0
;---------------------------------------------------------------------
type_size:
db 'Size:',0
;---------------------------------------------------------------------
type_create:
db 'Create date:',0
;---------------------------------------------------------------------
type_change:
db 'Change date:',0
;---------------------------------------------------------------------
type_access:
db 'Access date:',0
;---------------------------------------------------------------------
type_limiters_data_time:
db '/ / : :',0
;---------------------------------------------------------------------
mouse_left_panel:
db 'Left ',0
mouse_right_panel:
191,8 → 203,8
background_stretch:
db '\S '
;---------------------------------------------------------------------
files_information_window_x: dd 100 shl 16 + 250
files_information_window_y: dd 100 shl 16 + 300
files_information_window_x: dd 100 shl 16 + 300
files_information_window_y: dd 100 shl 16 + 200
;---------------------------------------------------------------------
error_window_x: dd 100 shl 16 + 250
error_window_y: dd 100 shl 16 + 80