mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 01:11:36 +03:00
272 lines
5.8 KiB
NASM
Executable File
272 lines
5.8 KiB
NASM
Executable File
;===========================================================
|
||
;
|
||
; <20>à®æ¥áá ª®¯¨à®¢ ¨ï ä ©«®¢
|
||
;
|
||
;===========================================================
|
||
copy: call test_show_panels ; â¥áâ ०¨¬ ¢ª«. ¯ ¥«¥©
|
||
ret z
|
||
call get_fire ; § é¨â ®â "§ «¨¯ ¨ï" ¡ãâ®®¢
|
||
ld a,(format_mode) ; ⥪. ä®à¬ â ¯ ¥«¨
|
||
and form_info+form_qview ; info, qview
|
||
ret nz
|
||
; ᪮¯¨à. ¨¬ï ä ©« /¯ ¯ª¨ (¥á«¨ ¥â ¢ë¤¥«.)
|
||
call prep_copy_name ; áâநâì ¨¬ï ª®¯¨à. ä ©« ¢ ®¯¨á â. ®ª® ¨ ¤à.
|
||
ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||
ld a,1 ; ª®¯¨à®¢ ¨¥
|
||
ld (scan_mode),a ; ०¨¬ à ¡®âë tree-¯à®æ¥¤ãàë
|
||
jp __tree;
|
||
;
|
||
; ¢ë¢®¤ ç «ì®£® ®ª
|
||
ld hl,dial_copy ; ®¯¨á â¥«ì ®ª
|
||
call DialogW
|
||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz
|
||
ld a,(hl) ;+1 what
|
||
cp cmOkey ; "Copy"
|
||
ret nz
|
||
; ¢ë¢®¤ ®ª ¯à®æ¥áá
|
||
ld hl,copy_file ; ®¡à ¡®â稪 ¯à®æ¥áá ~Process Line~
|
||
ld (subrout_process),hl
|
||
ld hl,dial_copy_total_process ; ®¯¨á â¥«ì ®ª á 2-¬ï «¨¥©ª ¬¨
|
||
call DialogW
|
||
cp evCommand; ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz;
|
||
ld a,(hl); ;+1 what
|
||
cp cmOkey; ; "Yes"
|
||
ret nz;
|
||
;
|
||
; ¢ë¢®¤ ®ª ®è¨¡ª¨ ª®¯¨à®¢ ¨ï
|
||
ld hl,dial_error_copy
|
||
call DialogEr
|
||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz
|
||
ld a,(hl) ;+1 what
|
||
cp cmSkip ; "Skip"
|
||
cp cmSkipAll ; "Skip all"
|
||
cp cmOkey ; "Retry"
|
||
ret nz
|
||
; ¢ë¢¥á⨠®ª® ¯à¥àë¢ ¨ï ®¯¥à 樨
|
||
ld hl,dial_abort ; ®¯¨á â¥«ì ®ª
|
||
call DialogEr
|
||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz
|
||
ld a,(hl) ;+1 what
|
||
cp cmOkey ; "Yes"
|
||
ret nz
|
||
; ¢ë¢®¤ ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||
; § ¯®«¨âì ï祩ª¨:
|
||
ld hl,dial_existing
|
||
call DialogEr
|
||
cp evCommand ; ᮡë⨥ "ª®¬ ¤ "
|
||
ret nz
|
||
ld a,(hl) ;+1 what
|
||
cp cmOkey ; "Overwrite"
|
||
cp cmAll ; "All"
|
||
cp cmSkip ; "Skip"
|
||
cp cmSkipAll ; "Skip all"
|
||
cp cmAppend ; "Append"
|
||
ret nz
|
||
;..
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; ˆ¬ï ª®¯¨à. ä ©« ¢ ®¯¨á ⥫¨ ®ª® ¨ ¡ãä¥à áâப¨ "Copy"
|
||
prep_copy_name:
|
||
ld hl,input_line_copy ; áâàãªâãà
|
||
call clear_struct_inline ; ®ç¨áâ¨âì áâàãªâãàã ~input line~
|
||
ld hl,(__buff1) ; ¯ãâì ¯ áá. ¯ ¥«¨
|
||
ld de,input_line_copy+5 ; áâப ~input line~
|
||
ld b,2 ; áç¥â稪 ¤«¨ë áâப¨
|
||
ld a,(disk1)
|
||
add a,"A"
|
||
ld (de),a
|
||
inc de
|
||
ld a,":"
|
||
ld (de),a
|
||
inc de
|
||
ld a,(hl)
|
||
ld (de),a
|
||
or a
|
||
jr z,$+7
|
||
inc hl
|
||
inc de
|
||
inc b
|
||
jr $-8
|
||
dec hl
|
||
ld a,'\'
|
||
cp (hl)
|
||
jr z,$+7
|
||
inc b
|
||
ld (de),a
|
||
inc de
|
||
xor a
|
||
ld (de),a
|
||
ld a,b
|
||
ld (input_line_copy+4),a ; áâàãªâãà áâப¨ ~input line~
|
||
; ç «ì®¥ ®ª® ª®¯¨à®¢ ¨ï
|
||
ld bc,copy_name ; ªã¤
|
||
call copyname
|
||
ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||
; ®ª® ¯à®æ¥áá ª®¯¨à®¢ ¨ï á 1-© «¨¥©ª®©
|
||
ld hl,copy_name-1 ; ®âªã¤
|
||
ld de,copy_name1 ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||
ld de,copy_name2 ; ªã¤
|
||
call copy_dstname ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||
; ®ª® ¯à®æ¥áá ª®¯¨à®¢ ¨ï á 2-¬ï «¨¥©ª ¬¨
|
||
ld hl,copy_name-1 ; ®âªã¤
|
||
ld de,copy_name3 ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
ld hl,copy_name2 ; ®âªã¤
|
||
ld de,copy_name4 ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
;
|
||
; ®ª® "®è¨¡ª ª®¯¨à®¢ ¨ï"
|
||
ld hl,copy_name-1 ; ®âªã¤
|
||
ld de,copy_name5 ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
; á æ¥â஢ª®© ¨¬¥¨
|
||
; ¯ãâì § ç¥¨ï ®ª "®è¨¡ª ª®¯¨à®¢ ¨ï"
|
||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||
ld de,copy_name6 ; ªã¤
|
||
call copy_dest_name ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||
; ¯ãâì § ç¥¨ï ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||
ld hl,copy_name6 ; ®âªã¤
|
||
ld de,exists_name ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
; ¨¬ï ä ©«
|
||
ld hl,work_buffer+33;
|
||
dec de;
|
||
call copy_string; ; (hl) -> (de)
|
||
ret
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ‘®§¤ âì ¯ ¯ªã ¯® ⥪. ¯ã⨠¤¨áª¥ § 票ï
|
||
;-----------------------------------------------------------
|
||
create_folder:
|
||
; á®§¤ âì ⥪. â ࣥâ-¯ãâì ¢ work_buffer+128 ;256
|
||
; ®á®¢ë¢ ïáì ¡ §®¢®¬ ¯ã⨠work_buffer (â®çª ®âáç¥â )
|
||
or a;
|
||
ret
|
||
|
||
|
||
;-----------------------------------------------------------
|
||
; ‘ª®¯¨à®¢ âì ä ©« ⥪. ¯ã⨠¤¨áª § 票ï.
|
||
; <20>à®æ¥¤ãà «¨¥©ª¨ ¯à®æ¥áá ª®¯¨à®¢ ¨ï.
|
||
; <20>ਠ§ ¢¥à襨¨ (¨«¨ ¯à¥àë¢ ¨¨) ª®¯¨à®¢ ¨ï
|
||
; ¢ë¤ ¥â ä« £ "Carry".
|
||
;-----------------------------------------------------------
|
||
copy_file:
|
||
; á®§¤ âì ä ©« ¯® ⥪. â ࣥâ-¯ã⨠(¢ work_buffer+128 ;256)
|
||
;...
|
||
scf
|
||
or a;
|
||
ret
|
||
|
||
|
||
|
||
;__tree:
|
||
; ; ᪮¯¨à. ¯ãâì ªâ. ¯ ¥«¨ ¢® ¢à¥¬. ¡ãä¥à (á®§¤ âì ¡ §®¢ë© ¯ãâì á®àæ )
|
||
; push hl
|
||
; ld hl,(__buff) ; ®âªã¤ , ¤à¥á ¯ã⨠ªâ. ¯ ¥«¨
|
||
; ld de,work_buffer ; ªã¤
|
||
; ld a,(disk) ; ¤¨áª ¯ ¥«¨
|
||
; add a,"A"
|
||
; ld (de),a
|
||
; inc de
|
||
; ld a,":"
|
||
; ld (de),a
|
||
; inc de
|
||
; call copy_string ; (hl) -> (de) ¤® ã«ï
|
||
; pop hl
|
||
; ld a,(hl)
|
||
; cp "." ; ".." ?
|
||
; ret z ; ¢ë©â¨, த¨â. ¯ ¯ª
|
||
; ;
|
||
; push de
|
||
; ;ld a,(format_mode) ; ⥪. 䮬 â ¯ ¥«¨
|
||
; ;ld b,a
|
||
; call get_record ; hl= ç «® § ¯¨á¨, a= âਡãâ ä ©«
|
||
; pop de
|
||
; and 10h
|
||
; jr z,__tr1 ; ä ©«, ¥ ¤®¡ ¢«ïâì ¨¬ï ¯ ¯ª¨
|
||
; ; â¥áâ ª®æ¥¢®© á«¥è
|
||
; push hl
|
||
; ex de,hl
|
||
; dec hl
|
||
; dec hl
|
||
; ld a,'\'
|
||
; cp (hl)
|
||
; jr z,$+3
|
||
; inc hl
|
||
; ld (hl),a
|
||
; inc hl
|
||
; ex de,hl ; de=ªã¤
|
||
; pop hl ; ®âªã¤
|
||
; ; ¤®¡ ¢¨âì ¨¬ï ¯ ¯ª¨
|
||
; ; de=ªã¤
|
||
; ld bc,0044h ; 11 -> 8.3
|
||
; rst 10h
|
||
;__tr1: ;
|
||
; ;call PR;
|
||
; ld hl,work_buffer
|
||
; ld c,1Dh ; ãáâ. ⥪. ¯ãâì
|
||
; rst 10h
|
||
; ;xor a ; ᪠¨à. ¯ ¯ª¨
|
||
; ;ld (scan_mode),a ; ०¨¬ à ¡®âë ¯à®æ¥¤ãàë
|
||
; jp ScanTree ; ᪠¨à. ¯ ¯ªã
|
||
; ;ret;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; Ÿç¥©ª¨ 1-© «¨¥©ª¨ ¯à®æ¥áá
|
||
max_file_bytes:
|
||
dw 0 ; à §¬¥à ä ©« (¯ ¯ª¨)
|
||
dw 0 ; áâ. à §àï¤
|
||
;
|
||
curr_bytes:
|
||
dw 0 ; ⥪. ç¨á«® ®¡à ¡. ¡ ©â®¢
|
||
dw 0 ; áâ. à §àï¤
|
||
|
||
; Ÿç¥©ª¨ 2-© «¨¥©ª¨ ¯à®æ¥áá
|
||
max_file_bytes1:
|
||
dw 0 ; à §¬¥à ä ©« (¯ ¯ª¨)
|
||
dw 0 ; áâ. à §àï¤
|
||
;
|
||
curr_bytes1:
|
||
dw 0 ; ⥪. ç¨á«® ®¡à ¡. ¡ ©â®¢
|
||
dw 0 ; áâ. à §àï¤
|
||
|
||
|
||
copy_overwrite:
|
||
db false ; ä« £ ¯®¤â¢. ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨
|