/programs/fs/kfm/trunk/button.inc |
---|
1,178 → 1,110 |
;------------------------------------------------------------------------------ |
button: |
mcall 17 |
;-------------------------------------- |
.1: |
cmp ah,101 |
je f_key_f1 |
cmp ah,102 |
je f_key_f2 |
cmp ah,103 |
je f_key_f3 ;sort_name |
cmp ah,104 |
je f_key_f4 ;sort_type |
cmp ah,105 |
je f_key_f5 ;sort_size |
cmp ah,106 |
je f_key_f6 ;sort_date |
cmp ah,107 |
je f_key_f7 ;create dir |
je f_key_f7 ;create di |
cmp ah,108 |
je f_key_f8 ;delete_file |
cmp ah,112 |
je f_key_f12 |
;-------------------------------------- |
.120: |
cmp ah,120 |
jne .121 |
mov esi,read_folder_device_name.rd |
jb .140 |
cmp ah,139 |
ja .140 |
sub ah,120 |
movzx eax,ah |
imul eax,10 |
add eax,retrieved_devices_table+1 |
mov esi,eax ; selected path |
cmp [select_panel_counter],0 |
jne @f |
call copy_folder_name |
jmp left_panel_read_folder |
.121: |
cmp ah,121 |
jne .122 |
mov esi,read_folder_device_name.fd |
call copy_folder_name |
jmp left_panel_read_folder |
.122: |
cmp ah,122 |
jne .123 |
mov esi,read_folder_device_name.hd0 |
call copy_folder_name |
jmp left_panel_read_folder |
.123: |
cmp ah,123 |
jne .124 |
mov esi,read_folder_device_name.hd1 |
call copy_folder_name |
jmp left_panel_read_folder |
.124: |
cmp ah,124 |
jne .125 |
mov esi,read_folder_device_name.hd2 |
call copy_folder_name |
jmp left_panel_read_folder |
.125: |
cmp ah,125 |
jne .126 |
mov esi,read_folder_device_name.hd3 |
call copy_folder_name |
jmp left_panel_read_folder |
.126: |
cmp ah,126 |
jne .127 |
mov esi,read_folder_device_name.cd0 |
call copy_folder_name |
jmp left_panel_read_folder |
.127: |
cmp ah,127 |
jne .128 |
mov esi,read_folder_device_name.cd1 |
call copy_folder_name |
jmp left_panel_read_folder |
.128: |
cmp ah,128 |
jne .129 |
mov esi,read_folder_device_name.cd2 |
call copy_folder_name |
jmp left_panel_read_folder |
.129: |
cmp ah,129 |
jne .130 |
mov esi,read_folder_device_name.cd3 |
call copy_folder_name |
jmp left_panel_read_folder |
.130: |
cmp ah,130 |
jne .131 |
mov esi,read_folder_device_name.rd |
;-------------------------------------- |
@@: |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.131: |
cmp ah,131 |
jne .132 |
mov esi,read_folder_device_name.fd |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.132: |
cmp ah,132 |
jne .133 |
mov esi,read_folder_device_name.hd0 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.133: |
cmp ah,133 |
jne .134 |
mov esi,read_folder_device_name.hd1 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.134: |
cmp ah,134 |
jne .135 |
mov esi,read_folder_device_name.hd2 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.135: |
cmp ah,135 |
jne .136 |
mov esi,read_folder_device_name.hd3 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.136: |
cmp ah,136 |
jne .137 |
mov esi,read_folder_device_name.cd0 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.137: |
cmp ah,137 |
jne .138 |
mov esi,read_folder_device_name.cd1 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.138: |
cmp ah,138 |
jne .139 |
mov esi,read_folder_device_name.cd2 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
.139: |
cmp ah,139 |
jne .140 |
mov esi,read_folder_device_name.cd3 |
call copy_folder_name_1 |
jmp right_panel_read_folder |
;-------------------------------------- |
.140: |
cmp ah,140 |
je draw_left_select_disk_menu |
cmp ah,141 |
je draw_right_select_disk_menu |
cmp ah,142 |
je left_sort_name |
cmp ah,143 |
je left_sort_type |
cmp ah,144 |
je left_sort_size |
cmp ah,145 |
je left_sort_date |
cmp ah,146 |
je right_sort_name |
cmp ah,147 |
je right_sort_type |
cmp ah,148 |
je right_sort_size |
cmp ah,149 |
je right_sort_date |
cmp ah,150 |
je exit_dir_1 |
cmp ah,151 |
je reload_dir |
cmp ah,152 |
je create_directory |
cmp ah,153 |
je copy_file_f5 |
cmp ah,154 |
je move_file_f6 |
cmp ah,157 |
je delete_file |
cmp ah, 1 |
jne still |
;-------------------------------------- |
.exit: |
mcall -1 |
;--------------------------------------------------------------------- |
/programs/fs/kfm/trunk/data.inc |
---|
84,28 → 84,6 |
scroll_pointer_1 rb 1 |
;--------------------------------------------------------------------- |
align 4 |
device_present: |
.rd rb 1 |
.fd rb 1 |
.hd0 rb 1 |
.hd1 rb 1 |
.hd2 rb 1 |
.hd3 rb 1 |
.cd0 rb 1 |
.cd1 rb 1 |
.cd2 rb 1 |
.cd3 rb 1 |
;device_present_text_counter rd 1 |
device_present_buffer: |
.fd rb 1 |
.hd_cd rb 1 |
.hd0_part rb 1 |
.hd1_part rb 1 |
.hd2_part rb 1 |
.hd3_part rb 1 |
rb 4 |
;--------------------------------------------------------------------- |
align 4 |
max_progress_value rd 1 |
current_progress_value rd 1 |
current_progress_value_1 rd 1 |
/programs/fs/kfm/trunk/detect.inc |
---|
1,52 → 1,3 |
device_detect: ; f1811 |
mcall 18,11,1,device_present_buffer |
mov [device_present.rd],1 |
cmp [device_present_buffer.fd],0 |
je @f |
mov [device_present.fd],1 |
@@: |
mov al,[device_present_buffer.hd_cd] |
test al,10b |
je @f |
mov [device_present.cd3],1 |
jmp .ide2 |
@@: |
test al,1b |
je @f |
mov [device_present.hd3],1 |
.ide2: |
@@: |
test al,1000b |
je @f |
mov [device_present.cd2],1 |
jmp .ide1 |
@@: |
test al,100b |
je @f |
mov [device_present.hd2],1 |
.ide1: |
@@: |
test al,100000b |
je @f |
mov [device_present.cd1],1 |
jmp .ide0 |
@@: |
test al,10000b |
je @f |
mov [device_present.hd1],1 |
.ide0: |
@@: |
test al,10000000b |
je @f |
mov [device_present.cd0],1 |
jmp .end |
@@: |
test al,1000000b |
je @f |
mov [device_present.hd0],1 |
.end: |
@@: |
ret |
;--------------------------------------------------------------------- |
device_detect_f70: |
mov ax,[select_disk_char] |
/programs/fs/kfm/trunk/draw.inc |
---|
244,173 → 244,9 |
mov edx,0x40000000+141 |
jmp draw_left_select_disk_button.1 |
;------------------------------------------------------------------------------ |
draw_device_button: |
mov edi,device_present |
mov edx,120 |
mov bx,[left_panel_x.start_x] |
mov cx,[left_panel_y.start_y] |
mov eax,[left_panel_x] |
mov [temp_panel_end],eax |
mov [temp_counter],0 |
call .draw |
mov edx,130 |
mov bx,[right_panel_x.start_x] |
mov cx,[right_panel_y.start_y] |
mov eax,[right_panel_x] |
mov [temp_panel_end],eax |
mov [temp_counter],1 |
;-------------------------------------- |
.draw: |
shl ebx,16 |
mov bx,25 |
sub cx,30 |
shl ecx,16 |
mov cx,12 |
mov eax,8 |
mov esi,0xaa00 |
cmp [edi],byte 1 |
jne @f |
mov ebp,read_folder_device_name.rd |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+1],byte 1 |
jne @f |
mov ebp,read_folder_device_name.fd |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+2],byte 1 |
jne @f |
mov ebp,read_folder_device_name.hd0 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+3],byte 1 |
jne @f |
mov ebp,read_folder_device_name.hd1 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+4],byte 1 |
jne @f |
mov ebp,read_folder_device_name.hd2 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+5],byte 1 |
jne @f |
mov ebp,read_folder_device_name.hd3 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+6],byte 1 |
jne @f |
mov ebp,read_folder_device_name.cd0 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+7],byte 1 |
jne @f |
mov ebp,read_folder_device_name.cd1 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+8],byte 1 |
jne @f |
mov ebp,read_folder_device_name.cd2 |
call .draw_1 |
;-------------------------------------- |
@@: |
inc edx |
cmp [edi+9],byte 1 |
jne @f |
mov ebp,read_folder_device_name.cd3 |
call .draw_1 |
;-------------------------------------- |
@@: |
push ebx |
mov ebx,[temp_panel_end] |
mov ax,bx |
shr ebx,16 |
add eax,ebx |
pop ebx |
ror ebx,16 |
sub ax,bx |
rol ebx,16 |
mov bx,ax |
add ecx,1 |
add ebx,1 |
mcall 13,,,0xcccccc |
cmp [temp_counter],0 |
je @f |
mov ax,bx |
shr ebx,16 |
add bx,ax |
mov eax,[window_width] |
sub eax,4 |
sub ax,bx |
cmp eax,0 |
jbe @f |
shl ebx,16 |
mov bx,ax |
mov ax,[right_panel_y.size_y] |
add ax,[right_panel_y.start_y] |
shr ecx,16 |
sub ax,cx |
shl ecx,16 |
mov cx,ax |
mcall 13,,,0xcccccc |
ret |
;-------------------------------------- |
.draw_1: |
mcall |
pusha |
mov eax,ebx |
inc eax |
shl eax,16 |
add ebx,eax |
mov bx,1 |
inc ecx |
mcall 13,,,0xcccccc |
popa |
pusha |
mov edx,ebp |
shr ecx,16 |
mov bx,cx |
add ebx,2 shl 16 +3 |
mcall 4,,0x90000000 |
sub ebx,1 shl 16 + 1 |
mcall ,,0x90ffffff |
popa |
add ebx,27 shl 16 |
;-------------------------------------- |
@@: |
ret |
;draw_ATAPI_tray_control: |
; ret |
;------------------------------------------------------------------------------ |
draw_ATAPI_tray_control: |
ret |
;------------------------------------------------------------------------------ |
calc_max_panel_line: |
xor eax,eax |
mov ax,[left_panel_y.size_y] |
/programs/fs/kfm/trunk/drw_dbut.inc |
---|
0,0 → 1,77 |
;------------------------------------------------------------------------------ |
draw_device_button: |
call device_detect_f70 |
mov edi,[retrieved_devices_table_counter] |
mov edx,120 |
mov bx,[left_panel_x.start_x] |
mov cx,[left_panel_y.start_y] |
shl ebx,16 |
; mov bx,50 ; button size X |
sub cx,30 |
shl ecx,16 |
mov cx,12 |
mov esi,0xaa00 |
mov ebp,retrieved_devices_table |
;-------------------------------------- |
.loop: |
push esi |
mov esi,ebp |
cld |
@@: |
lodsb |
test al,al |
jnz @b |
sub esi,ebp |
lea esi,[esi*3] |
shl esi,1 |
mov bx,si |
pop esi |
mcall 8 |
pusha |
mov eax,ebx |
inc eax |
shl eax,16 |
add ebx,eax |
mov bx,2 |
inc ecx |
mcall 13,,,0xcccccc |
popa |
pusha |
mov edx,ebp |
inc edx |
shr ecx,16 |
mov bx,cx |
add ebx,4 shl 16 +3 |
mcall 4,,0x90000000 |
sub ebx,1 shl 16 + 1 |
mcall ,,0x90ffffff |
popa |
mov eax,ebx |
shl eax,16 |
add ebx,eax |
add ebx,3 shl 16 |
inc edx |
add ebp,10 |
dec edi |
jnz .loop |
xor eax,eax |
mov ax,[right_panel_x.start_x] |
add ax,[right_panel_x.size_x] |
ror ebx,16 |
sub ax,bx |
rol ebx,16 |
inc ax |
mov bx,ax |
add ecx,1 |
add ebx,1 |
mcall 13,,,0xcccccc |
ret |
;------------------------------------------------------------------------------ |
/programs/fs/kfm/trunk/kfm.asm |
---|
1,6 → 1,6 |
;***************************************************************************** |
; KFM - Kolibri File Manager |
; Copyright (c) 2006 - 2013, Marat Zakiyanov aka Mario79, aka Mario |
; Copyright (c) 2006 - 2014, 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.47i 24/12/2013 |
; KFM v0.47j 12/03/2014 |
;--------------------------------------------------------------------- |
use32 |
org 0x0 |
83,7 → 83,6 |
call load_buttons_and_convert_to_img |
call load_initiation_file |
call add_memory_for_folders |
call device_detect |
call device_detect_f70 |
call select_starting_directories |
mcall 66, 1, 1 |
243,7 → 242,7 |
call draw_right_sort_button |
call draw_menu_bar |
call draw_buttons_panel |
call draw_ATAPI_tray_control |
; call draw_ATAPI_tray_control |
; mcall 47,0x80000,[left_scroll_compens],<300, 5>,0xffffff |
; call mouse.draw_data |
460,6 → 459,8 |
;--------------------------------------------------------------------- |
include 'draw.inc' |
;--------------------------------------------------------------------- |
include 'drw_dbut.inc' |
;--------------------------------------------------------------------- |
include 'menu_bar.inc' |
;--------------------------------------------------------------------- |
include 'menu_drv.inc' |
/programs/fs/kfm/trunk/menu_bar.inc |
---|
31,7 → 31,11 |
mov bx,[right_panel_x.start_x] |
sub bx,2 |
rol ebx,16 |
mcall |
push ecx |
sub ecx,13 |
add ecx,13 shl 16 |
mcall ; middle vertical line |
pop ecx |
pop ebx |
mov ax,cx |
dec ax |
/programs/fs/kfm/trunk/text.inc |
---|
1,4 → 1,4 |
header_text db 'Kolibri File Manager v0.47i 24/12/2013',0 |
header_text db 'Kolibri File Manager v0.47j 12/03/2014',0 |
;--------------------------------------------------------------------- |
fbutton_name: |
.f1 db '1 Help',0 |
56,30 → 56,6 |
.f11 db '11',0 |
.f12 db '12',0 |
;--------------------------------------------------------------------- |
;device_present_name: |
; .rd db 'rd ',0 |
; .fd db 'fd ',0 |
; .hd0 db 'hd0',0 |
; .hd1 db 'hd1',0 |
; .hd2 db 'hd2',0 |
; .hd3 db 'hd3',0 |
; .cd0 db 'cd0',0 |
; .cd1 db 'cd1',0 |
; .cd2 db 'cd2',0 |
; .cd3 db 'cd3',0 |
;--------------------------------------------------------------------- |
read_folder_device_name: |
.rd db 'rd',0 |
.fd db 'fd',0 |
.hd0 db 'hd0',0 |
.hd1 db 'hd1',0 |
.hd2 db 'hd2',0 |
.hd3 db 'hd3',0 |
.cd0 db 'cd0',0 |
.cd1 db 'cd1',0 |
.cd2 db 'cd2',0 |
.cd3 db 'cd3',0 |
;--------------------------------------------------------------------- |
select_disk_char: |
db '/',0 |
;--------------------------------------------------------------------- |