mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 01:11:36 +03:00
345 lines
8.0 KiB
NASM
Executable File
345 lines
8.0 KiB
NASM
Executable File
;-----------------------------------------------------------
|
||
; ‚뢮¤ à §ëå á®áâ®ï¨© key-¡ à ¨ ®¡à ¡®â稪¨ ¥£® ®¯æ¨©
|
||
;-----------------------------------------------------------
|
||
|
||
|
||
; ®à¬ «ì ï áâப key-¡ à
|
||
keybar_norm:
|
||
db "1Help "
|
||
db "2UserMn "
|
||
db "3View "
|
||
db "4Edit "
|
||
db "5Copy "
|
||
db "6RenMov "
|
||
db "7MkFold "
|
||
db "8Delete "
|
||
db "9ConfMn "
|
||
db "10Quit "
|
||
|
||
; áâப key-¡ à á Ctrl+..
|
||
keybar_ctrl:
|
||
db "1 "
|
||
db "2 "
|
||
db "3Name "
|
||
db "4Extens "
|
||
db "5Date "
|
||
db "6Size "
|
||
db "7Unsort "
|
||
db "8 "
|
||
db "9 "
|
||
db "10 "
|
||
|
||
; áâப key-¡ à á Alt+..
|
||
keybar_alt:
|
||
db "1Left "
|
||
db "2Right "
|
||
db "3 " ; "3View.. "
|
||
db "4 " ; "4Edit.. "
|
||
db "5 " ; "5Print "
|
||
db "6 "
|
||
db "7 " ; "7Find "
|
||
db "8 "
|
||
db "9 "
|
||
db "10 "
|
||
|
||
; áâப key-¡ à á Shift+..
|
||
keybar_shift:
|
||
db "1 "
|
||
db "2 "
|
||
db "3 "
|
||
db "4 "
|
||
db "5 "
|
||
db "6 "
|
||
db "7 "
|
||
db "8 "
|
||
db "9 "
|
||
db "10 "
|
||
|
||
|
||
; âਡãâë áâப¨ key-¡ à
|
||
keybar_attr:
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 1
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 2
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 3
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 4
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 5
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 6
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 7
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 8
|
||
db kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f,kb_b ; 9
|
||
db kb_b,kb_b,kb_f,kb_f,kb_f,kb_f,kb_f,kb_f ; 10
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
__pointer:
|
||
call show_pointer ; ¢ë¢¥á⨠㪠§ ⥫ì (¥á«¨ ¯ ¥«¨ ¢ª«.)
|
||
;-----------------------------------------------------------
|
||
; <20> ç «ìë© ¢ë¢®¤ áâப¨ key-¡ à (áâப á âਡãâ ¬¨)
|
||
;-----------------------------------------------------------
|
||
print_keybar:
|
||
ld de,keybar_norm ; ⥪áâ
|
||
print_keybar1:
|
||
ld hl,037Dh ; 0301h + (4*31)
|
||
in a,(89h)
|
||
ld b,a ; á®åà. ¯®àâ
|
||
in a,(SLOT0)
|
||
ld c,a ; á®åà.¯®àâ
|
||
di
|
||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||
out (SLOT0),a
|
||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||
out (89h),a ; ª®«®ª
|
||
; ¢ë¢®¤ ⥪áâ
|
||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||
ld a,80 ; ¤«¨ áâப¨
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||
ld a,(de)
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||
ld (hl),a
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
; ¢ë¢®¤ âਡã⮢
|
||
ld de,keybar_attr ; áâப âਡã⮢
|
||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||
out (89h),a
|
||
inc hl ; ¯¥à¥©â¨ âਡãâë
|
||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||
ld a,80 ; ¤«¨ áâப¨
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||
ld a,(de)
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||
ld (hl),a
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,b
|
||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||
ld a,c
|
||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||
ei
|
||
ret
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ‚뢮¤ áâப¨ key-¡ à ¤«ï ᯥæ-ª« ¢¨è (Ctrl,Alt,Shift)
|
||
; ¨ ¯¥à¥å®¤ ®¡à ¡®â稪¨ ®¯æ¨© key-¡ à .
|
||
; (áâப key-¡ à ¤«ï ᯥæ-ª« ¢¨è ¢ë¢®¤¨âáï ¡¥§ âਡã⮢)
|
||
;-----------------------------------------------------------
|
||
; ¢å®¤: a = ¯à¨§ ª ¦ â¨ï Ctrl,Alt,Shift
|
||
;
|
||
change_keybar:
|
||
ld (keybar2__+1),a
|
||
ld de,keybar_ctrl ; áâப
|
||
bit 5,a ; Ctrl+
|
||
jr nz,keybar__
|
||
ld de,keybar_alt ; áâப
|
||
bit 4,a ; Alt+
|
||
jr nz,keybar__
|
||
ld de,keybar_shift ; áâப
|
||
keybar__:
|
||
ld hl,037Dh ; 0301h + (4*31)
|
||
in a,(89h)
|
||
ld b,a ; á®åà. ¯®àâ
|
||
in a,(SLOT0)
|
||
ld c,a ; á®åà.¯®àâ
|
||
di
|
||
ld a,50h ; ¢¨¤¥®-áâà ¨æ
|
||
out (SLOT0),a
|
||
ld a,81h ; +0 (ᬥé. á«¥¢ )
|
||
out (89h),a ; ª®«®ª
|
||
; ¢ë¢®¤ ⥪áâ
|
||
ld d,d ; ãáâ. à §¬¥à ¡«®ª
|
||
ld a,80 ; ¤«¨ áâப¨
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld l,l ; ª®¯¨à®¢ âì ¡«®ª
|
||
ld a,(de)
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,a ; ª®¯¨à®¢ ¨¥ ¡«®ª (¢¥àâ. «¨¨¨)
|
||
ld (hl),a
|
||
ld b,b ; ¢ëª«. ªá¥«ì
|
||
ld a,b
|
||
out (89h),a ; ¢®ááâ. ¯®àâ
|
||
ld a,c
|
||
out (SLOT0),a ; ¢®ááâ. ¯®àâ
|
||
ei
|
||
ld hl,__pointer ; â®çª ¢ë室
|
||
push hl
|
||
; â¥áâ "§ «¨¯ ¨¥" ª« ¢¨è
|
||
keybar1__:
|
||
ld a,3 ; â¥áâ ¦ â¨ï ª« ¢¨è
|
||
rst 20h
|
||
ld a,b
|
||
and 11110000b ; test Ctrl,Alt,Shift
|
||
jr nz,keybar1__ ; ¯®ª ¦ âë
|
||
ld a,2 ; ®¯à®á ª« ¢ë
|
||
rst 20h
|
||
ret z ; ¡ë«¨ ⮫쪮 Crtl,Alt,Shift
|
||
keybar2__:
|
||
ld b,0 ; á®åà. ¡¨âë ª« ¢¨è Ctrl,Alt,Shift
|
||
keybar_options:
|
||
res 7,d ; á¡à. 7-© ¡¨â
|
||
ld a,d
|
||
; b=¡¨â ª« ¢¨è Ctrl, Alt, Shift
|
||
; a=᪥-ª®¤ ª« ¢¨è¨
|
||
;////////////////////////////////////////////////////////////////////////
|
||
;
|
||
; Ž¡à ¡®âª ®¯æ¨© key-¡ à
|
||
;
|
||
;////////////////////////////////////////////////////////////////////////
|
||
bit 5,b ; Ctrl+..
|
||
jr nz,options_ctrl
|
||
bit 4,b ; Alt+..
|
||
jr nz,_option_alt
|
||
;=====================================================================
|
||
;
|
||
; Shift-®¯æ¨¨
|
||
;
|
||
; ¢å®¤: a=᪥-ª®¤
|
||
;=====================================================================
|
||
cp 43h ; F9
|
||
jp z,write_ini_file ; § ¯¨á âì ini-ä ©«
|
||
ret
|
||
|
||
|
||
|
||
|
||
;=====================================================================
|
||
;
|
||
; Ctrl-®¯æ¨¨
|
||
;
|
||
; ¢å®¤: a=᪥-ª®¤
|
||
;=====================================================================
|
||
options_ctrl:
|
||
cp 2 ; "1" ªà ⪨© ªâ. ¯ ¥«¨
|
||
jp z,set_format_brief
|
||
cp 3 ; "2" á।¨© ªâ. ¯ ¥«¨
|
||
jp z,set_format_medium
|
||
cp 4 ; "3" ¯®«ë© ªâ. ¯ ¥«¨
|
||
jp z,set_format_full
|
||
cp 16h ; Ctrl+U ®¡¬¥ ¯ ¥«¥©
|
||
jp z,swap_panels
|
||
cp 25h ; Ctrl+L ¯ ¥«ì ¨ä®à¬ 樨
|
||
jp z,alt_info_panel
|
||
cp 10h ; Ctrl+Q ¯ ¥«ì ¡ëáâண® ¯à®á¬®âà
|
||
jp z,alt_qview_panel
|
||
cp 18h ; Ctrl+O ã¡à âì/¯®ª § âì ¯ ¥«¨
|
||
jp z,hidden_panels
|
||
cp 12h ; Ctrl+E ¯à¥¤. áâப ¨áâ®à¨¨
|
||
jp z,prev_history
|
||
cp 2Bh ; Ctrl+X á«¥¤. áâப ¨áâ®à¨¨
|
||
jp z,next_history
|
||
cp 4Fh ; Ctrl+Del, ®ç¨áâ¨âì ¨áâ®à¨î ª®¬ ¤
|
||
jp z,clear_history
|
||
;
|
||
ld c,"n" ; name
|
||
cp 3Dh ; Ctrl+F3 á®àâ. ¯® ¨¬¥¨
|
||
jp z,sorting_list
|
||
ld c,"x" ; ext
|
||
cp 3Eh ; Ctrl+F4 á®àâ. ¯® à áè.
|
||
jp z,sorting_list
|
||
ld c,"d" ; date
|
||
cp 3Fh ; Ctrl+F5 á®àâ. ¯® ¤ â¥
|
||
jp z,sorting_list
|
||
ld c,"s" ; size
|
||
cp 40h ; Ctrl+F6 á®àâ. ¯® à §¬¥àã
|
||
jp z,sorting_list
|
||
ld c,"u" ; unsorted
|
||
cp 41h ; Ctrl+F7 ¡¥§ á®àâ¨à®¢ª¨
|
||
jp z,sorting_list
|
||
;
|
||
cp 1Dh ; Ctrl+A ¢ë¢®¤ ®ª âਡ. ä ©« /¯ ¯ª¨
|
||
;jp z,set_attrib2
|
||
cp 28h ; Enter
|
||
jp z,put_name_to_comline ; ᪮¯¨à®¢ âì ¨¬ï/¯ãâì ¢ ª®¬-áâபã
|
||
cp 4Eh ; Enter æ¨äà. ¯®«ï
|
||
jp z,put_name_to_comline
|
||
;
|
||
cp 1Ah ; Ctrl+[ ¯ãâì «¥¢®© ¯ ¥«¨ ¢ ª®¬-áâபã
|
||
jp z,copy_left_path_panel_to_comline
|
||
cp 1Bh ; Ctrl+] ¯ãâì ¯à ¢®© ¯ ¥«¨ ¢ ª®¬-áâபã
|
||
jp z,copy_right_path_panel_to_comline
|
||
ret
|
||
|
||
|
||
|
||
|
||
;=====================================================================
|
||
;
|
||
; Alt-®¯æ¨¨
|
||
;
|
||
; ¢å®¤: a=᪥-ª®¤
|
||
;=====================================================================
|
||
_option_alt:
|
||
cp 3Bh ; F1
|
||
jp z,select_left_drive
|
||
cp 3Ch ; F2
|
||
jp z,select_right_drive
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; Ctrl+E. ‚áâ ¢¨âì ¯à¥¤. áâப㠨áâ®à¨¨
|
||
; ¨ ¢®©â¨ ¢ ª®¬-áâபã
|
||
;-------------------------------------------------
|
||
prev_history:
|
||
call print_keybar ; ¢®ááâ. ®à¬. key-¡ à
|
||
jp up1
|
||
|
||
;-------------------------------------------------
|
||
; Ctrl+X. ‚áâ ¢¨âì á«¥¤. áâப㠨áâ®à¨¨
|
||
; ¨ ¢®©â¨ ¢ ª®¬-áâபã
|
||
;-------------------------------------------------
|
||
next_history:
|
||
call print_keybar ; ¢®ááâ. ®à¬. key-¡ à
|
||
jp down1
|
||
|
||
|
||
|
||
;-------------------------------------------------
|
||
; Ctrl+O. “¡à âì/¯®ª § âì ¯ ¥«¨
|
||
;-------------------------------------------------
|
||
hidden_panels:
|
||
ld hl,enable_panels
|
||
ld a,(hl)
|
||
xor 1
|
||
ld (hl),a
|
||
jr nz,hidden_off
|
||
; ‘ªàëâì ¯ ¥«¨
|
||
; ¢ëª«. ¢ë¢®¤ ç ᮢ
|
||
ld hl,enable_clock ; ä« £
|
||
ld a,(hl)
|
||
ld (clock__+1),a ; á®åà. ä« £
|
||
ld (hl),false
|
||
; ¢®ááâ. á¨áâ. íªà ¤® ª®¬-áâப¨
|
||
ld c,0B3h
|
||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||
jp screen1__
|
||
|
||
; <20>®ª § âì ¯ ¥«¨
|
||
hidden_off:
|
||
; á®åà. á¨áâ. íªà ¤® ª®¬-áâப¨
|
||
ld c,0B2h
|
||
ld a,(page_sys_screen) ; áâà ¨æ ¡ãä¥à
|
||
call screen1__
|
||
; ¢®ááâ. íªà ¬¥¥¤¦¥à
|
||
call A20FC ; ¢ë¢¥á⨠áâ. ¯ ¥«ì
|
||
call change_panel ; ᬥ¨âì ¯ ¥«ì
|
||
call A20FC ; ¢ë¢¥á⨠¯ áá. ¯ ¥«ì
|
||
call change_panel
|
||
call show_pointer ; ¢ë¢®¤ 㪠§ ⥫ï
|
||
; ¢ª«. ¢ë¢®¤ ç ᮢ
|
||
ld a,(clock__+1)
|
||
ld (enable_clock),a
|
||
ret
|