File-Manager/MOD1/PULLCMND.ASM
2025-04-04 00:37:36 +10:00

240 lines
5.3 KiB
NASM
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;///////////////////////////////////////////////////////////
;
; ‚믮«­¥­¨¥ ¯ã­ªâ®¢ pull-¬¥­î
;
;///////////////////////////////////////////////////////////
pull_commands:
ld hl,what ; ¯®«¥ ᮡë⨩
ld a,(hl)
cp evCommand ; ᮡë⨥ "ª®¬ ­¤ " ?
ret nz ; ­¥â
inc hl
ld a,(hl) ;+1 ­®¬¥à ª®¬ ­¤ë (¯ã­ªâ )
ld c,a ; á®åà. ­®¬¥à
add a,a
ld e,a
ld d,0
ld hl,pull_array ; ᯨ᮪ ®¡à ¡®â稪®¢
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld a,c ; ¢®ááâ. ­®¬¥à ª®¬ ­¤ë
jp (hl) ; a=¢å®¤­. ¯ à ¬¥âà
; ᯨ᮪ ®¡à ¡®â稪®¢ pull-¬¥­î
pull_array:
; Left
dw left_right ; brief-ä®à¬ â
dw left_right ; medium-ä®à¬ â
dw left_right ; full-ä®à¬ â
dw left_info ; info-ä®à¬ â
dw left_qview ; qview-ä®à¬ â
dw left_right ; sort "Name"
dw left_right ; sort "Ext"
dw left_right ; sort "Date"
dw left_right ; sort "Size"
dw left_right ; "Unsort"
dw pull_empty ;LFilter
dw select_left_drive ; ¬¥­î ¢ë¡®à  ¤¨áª®¢
; Files
dw pull_empty ;Help
dw user_menu ; ¢ë§®¢ Œ¥­î <20>®«ì§®¢ â¥«ï
dw pull_empty ;View
dw pull_empty ;Edit
dw copy ; Copy
dw rename ; Rename
dw make_folder ; Make folder
dw delete ; Delete
dw pull_empty;set_attrib2 ; ¢ë¢®¤ ®ª­   âਡã⮢ ä ©« /¯ ¯ª¨
dw pull_empty ;SelGroup
dw pull_empty ;USelGroup
dw quit ; ¢ë室 ¢ „Ž‘
; Commands
dw pull_empty ;Find
dw pull_empty ;Volume
dw swap_panels ; ®¡¬¥­ ¯ ­¥«¥©
dw hidden_panels ; ã¡à âì/¯®ª § âì ¯ ­¥«¨
dw pull_empty ;Create TRD-image
dw pull_empty ;TRD-image -> Disk
dw pull_empty ;Disk -> TRD-image
; Options
dw set_interface ; ®ª­® ­ áâனª¨ ¨­â¥à䥩á 
dw set_confirm ; ®ª­® ­ áâனª¨ ¯®¤â¢¥à¦¤¥­¨©
dw setup_colors ; ­ áâனª  梥⮢ ¬¥­¥¤¦¥à 
dw pull_empty ;Highlight
dw pull_empty ;ViewSet
dw pull_empty ;EditSet
dw write_ini_file ; § ¯¨á âì ini-ä ©«
; Right
dw left_right ; brief-ä®à¬ â
dw left_right ; medium-ä®à¬ â
dw left_right ; full-ä®à¬ â
dw right_info ; info-ä®à¬ â
dw right_qview ; qview-ä®à¬ â
dw left_right ; sort "Name"
dw left_right ; sort "Ext"
dw left_right ; sort "Date"
dw left_right ; sort "Size"
dw left_right ; "Unsort"
dw pull_empty ;RFilter
dw select_right_drive ; ¬¥­î ¢ë¡®à  ¤¨áª®¢
; § £«ã誠
pull_empty:
ret
;///////////////////////////////////////////////////////////
; <20>ã­ªâë ¬¥­î Left/Right (¤® "Filter...")
; ¢å®¤: a=­®¬¥à pull-¯ã­ªâ 
;///////////////////////////////////////////////////////////
left_right:
ld (punct_left_right),a
ld hl,show_pointer ; â®çª  ¢ë室 
push hl
cp cmLUnsort+1
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
jr c,punct_left
; Right-¯ã­ªâ ¬¥­î
rlca
jr c,pars_left_right ;  ªâ. ¯à ¢ ï
lft_right1:
call change_panel
call pars_left_right
jp change_panel
; Left-¯ã­ªâ ¬¥­î
punct_left:
rlca
jr c,lft_right1 ;  ªâ. ¯à ¢ ï
;
pars_left_right:
db 3Eh ; ld a,..
punct_left_right:
db 0 ; ­®¬¥à pull-¯ã­ªâ 
; ä®à¬ âë ᯨ᪠
cp cmLBrief
jp z,set_format_brief
cp cmRBrief
jp z,set_format_brief
cp cmLMed
jp z,set_format_medium
cp cmRMed
jp z,set_format_medium
cp cmLFull
jp z,set_format_full
cp cmRFull
jp z,set_format_full
; á®àâ¨à®¢ª¨ ᯨ᪠
ld c,"n" ; name
cp cmLName
jr z,punct_sort
cp cmRName
jr z,punct_sort
ld c,"x" ; ext
cp cmLExt
jr z,punct_sort
cp cmRExt
jr z,punct_sort
ld c,"d" ; date
cp cmLDate
jr z,punct_sort
cp cmRDate
jr z,punct_sort
ld c,"s" ; size
cp cmLSize
jr z,punct_sort
cp cmRSize
jr z,punct_sort
ld c,"u" ; unsorted
cp cmLUnsort
jr z,punct_sort
cp cmRUnsort
jr z,punct_sort
ret
;///////////////////////////////////////////////////////////
; <20>  á®àâ¨à®¢ªã ᯨ᪠
;///////////////////////////////////////////////////////////
punct_sort:
jp sorting_list
;///////////////////////////////////////////////////////////
; ‚ë§®¢ info-¯ ­¥«¨
;///////////////////////////////////////////////////////////
; Left-¯ã­ªâ
;left_info:
; ld hl,show_pointer
; push hl
; ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
; rlca
; jp c,alt_info_panel ;  ªâ. ¯à ¢ ï (¤ ­­ë¥  ªâ. ¯ ­¥«¨ -> ¢ ¯ áá. ¯ ­¥«ì)
; jp set_info_actpanel ; ¤ ­­ë¥ ¯ áá. ¯ ­¥«¨ -> ¢  ªâ. ¯ ­¥«ì
;
;
; Right-¯ã­ªâ
;right_info:
; ld hl,show_pointer
; push hl
; ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
; rlca
; jp nc,alt_info_panel ;  ªâ. «¥¢ ï (¤ ­­ë¥  ªâ. ¯ ­¥«¨ -> ¢ ¯ áá. ¯ ­¥«ì)
; jp set_info_actpanel ; ¤ ­­ë¥ ¯ áá. ¯ ­¥«¨ -> ¢  ªâ. ¯ ­¥«ì
left_info:
ld hl,show_pointer
push hl
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
rlca
jp c,alt_info_panel ;  ªâ. ¯à ¢ ï
lft_info1:
call change_panel
call alt_info_panel
jp change_panel
; Right-¯ã­ªâ
right_info:
ld hl,show_pointer
push hl
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
rlca
jp nc,alt_info_panel ;  ªâ. «¥¢ ï
jr lft_info1
;///////////////////////////////////////////////////////////
; ‚ë§®¢ qview-¯ ­¥«¨
;///////////////////////////////////////////////////////////
; Left-¯ã­ªâ
left_qview:
ld hl,show_pointer
push hl
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
rlca
jp c,alt_qview_panel ;  ªâ. ¯à ¢ ï
lft_qview1:
call change_panel
call alt_qview_panel
jp change_panel
; Right-¯ã­ªâ
right_qview:
ld hl,show_pointer
push hl
ld a,(cur_panel) ; 0/#80 «¥¢ ï/¯à ¢ ï  ªâ. ¯ ­¥«ì
rlca
jp nc,alt_qview_panel ;  ªâ. «¥¢ ï
jr lft_qview1