mirror of
https://github.com/Tolik-Trek/File-Manager.git
synced 2026-06-15 01:11:36 +03:00
303 lines
5.7 KiB
NASM
Executable File
303 lines
5.7 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 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 (subrout_process1),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 ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||
;
|
||
ld iy,input_line_copy ; áâàãªâãà
|
||
; ®ç¨áâ¨âì áâàãªâãàã ¡ãä¥à
|
||
ld hl,input_line_copy ; áâàãªâãà
|
||
call clear_struct_inline
|
||
; ¢áâ ¢¨âì ¤¨áª
|
||
ld hl,input_line_copy+5 ; ªã¤
|
||
ld a,(disk1)
|
||
add a,"A"
|
||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||
inc hl
|
||
ld a,":"
|
||
call put_char1
|
||
inc hl
|
||
; ¢áâ ¢¨âì ¯ãâì
|
||
ld de,(__buff1) ; ¯ãâì ¯ áá. ¯ ¥«¨
|
||
prep_copy_loop:
|
||
ld a,(de)
|
||
or a
|
||
jr z,prep_copy_next
|
||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||
inc de
|
||
inc hl
|
||
jr prep_copy_loop
|
||
;
|
||
prep_copy_next:
|
||
dec hl
|
||
ld a,'\'
|
||
cp (hl)
|
||
jr z,$+6
|
||
inc hl
|
||
call put_char1
|
||
inc hl
|
||
; ¢áâ ¢¨âì ¨¬ï
|
||
ld de,work_buffer ; ®âªã¤
|
||
prep_copy_loop1:
|
||
ld a,(de)
|
||
or a
|
||
jr z,prep_copy_next1
|
||
call put_char1 ; ¢áâ ¢¨âì ᨬ¢®«
|
||
inc de
|
||
inc hl
|
||
jr prep_copy_loop1
|
||
;
|
||
prep_copy_next1:
|
||
ld (hl),a
|
||
;
|
||
; ç «ì®¥ ®ª® ª®¯¨à®¢ ¨ï
|
||
;ld bc,copy_name ; ªã¤
|
||
;call copyname
|
||
;ret c ; ⥪ã騩 ".." ¨ ¥â ®â¬¥ç. ä ©«®¢
|
||
;
|
||
; ®ª® ¯à®æ¥áá ª®¯¨à®¢ ¨ï á 2-¬ï «¨¥©ª ¬¨
|
||
ld hl,copy_name ; ®âªã¤
|
||
ld de,copy_name1 ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
; ᪮¯¨à. ¯ãâì
|
||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||
ld de,copy_name2 ; ªã¤
|
||
call copy_dstname ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||
;
|
||
; ®ª® "®è¨¡ª ª®¯¨à®¢ ¨ï ¢:"
|
||
ld hl,copy_name ; ®âªã¤
|
||
ld de,copy_name3 ; ªã¤
|
||
call copy_string ; (hl) -> (de)
|
||
; á æ¥â஢ª®© ¨¬¥¨
|
||
; ¯ãâì § ç¥¨ï ®ª "®è¨¡ª ª®¯¨à®¢ ¨ï"
|
||
ld hl,input_line_copy+5 ; áâàãªâãà áâப¨ ~input line~
|
||
ld de,copy_name4 ; ªã¤
|
||
call copy_dest_name ; ᪮¯¨à. ¯ãâì+¨¬ï ä ©« /¯ ¯ª¨
|
||
;
|
||
; ¯ãâì § ç¥¨ï ®ª "ä ©« 㦥 áãé¥áâ¢ã¥â"
|
||
ld hl,copy_name4 ; ®âªã¤
|
||
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
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; Ÿç¥©ª¨ 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 ; ä« £ ¯®¤â¢. ¯¥à¥§ ¯¨á¨ ¯à¨ ª®¯¨à®¢ ¨¨
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
; Š®¢¥àâ¨à®¢ âì à §¬¥à ä ©« ¢ ç¨á«® ¡ ®ª
|
||
; ¢å®¤: de=áâ. à §àï¤
|
||
; hl=¬«. à §àï¤
|
||
; ¢ë室: de=áâ. à §àï¤?
|
||
; hl=¬«. à §àï¤?
|
||
ConvLenToBank:
|
||
ld a,h
|
||
ld h,l
|
||
ld l,0
|
||
sla a
|
||
rl e
|
||
rl d
|
||
rl l
|
||
sla a
|
||
rl e
|
||
rl d
|
||
rl l
|
||
or h
|
||
ld h,0
|
||
ex de,hl
|
||
jr z,$+3
|
||
inc hl
|
||
ld a,h
|
||
or l
|
||
ret nz
|
||
inc de
|
||
ret
|