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

111 lines
2.9 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.

;/////////////////////////////////////////////////
;
; <20>ਬ¥­¥­¨¥ ¯ã­ªâ  "Left->Change disk"
;
;/////////////////////////////////////////////////
set_left_drive:
ld hl,what
ld a,(hl) ;+0
cp evCommand ; ᮡë⨥ "ª®¬ ­¤ "
ret nz
call test_show_panels ; â¥áâ ­  ०¨¬ ¢ª«. ¯ ­¥«¥©
ret z ; ¢ëª«.
inc hl ;+1
set_ldrive_frm:
ld de,format_mode ; ä®à¬ â ¯ ­¥«¨
ld a,(de)
and form_info+form_qview ; info, qview
ret nz
set_ldrive_dsk:
ld de,disk ; ï祩ª  ¤¨áª   ªâ. ¯ ­¥«¨
ld a,(de)
ld (set_ldrive_altdsk+1),a ; á®åà. ¤¨áª
ld a,(hl) ;+1 ­®¬¥à ¤¨áª 
ld (de),a ; ­®¬¥à ¤¨áª   ªâ. ¯ ­¥«¨
; ®¡­®¢«¥­¨¥ ¯ ­¥«¥© ¯à¨ ᬥ­¥ ¤¨áª 
ld a,(cur_panel) ; ⥪. ¯ ­¥«ì
or a
jr nz,set_ldrive_next
call get_new_flist ;  ªâ. «¥¢ ï
jr set_ldrive_next1
; ¯ áá. ¯ ­¥«ì
set_ldrive_next:
call change_panel
call get_new_flist ;  ªâ. ¯à ¢ ï
push af
call change_panel
pop af
set_ldrive_next1:
ld a,true
ld (enter_done3+1),a ; ãáâ. ä« £ ®¡­®¢«¥­¨ï info-¯ ­¥«¨
jp nc,enter_done1 ; Ok, â¥áâ ­  qview-ä®à¬ â ¤à.¯ ­¥«¨ (enter.asm)
; ®è¨¡ª  ç⥭¨ï ¤¨áª 
; § ­®¢® ¢ë§¢ âì Žª­® ‚ë¡®à  ¤¨áª®¢
ld hl,(set_ldrive_dsk+1)
set_ldrive_altdsk:
ld a,0
ld (hl),a ; ¢®ááâ. ¤¨áª ¯ ­¥«¨
jp select_left_drive ;  ªâ. «¥¢ ï ¯ ­¥«ì
;/////////////////////////////////////////////////
;
; <20>ਬ¥­¥­¨¥ ¯ã­ªâ  "Right->Change disk"
;
;/////////////////////////////////////////////////
set_right_drive:
ld hl,what
ld a,(hl) ;+0
cp evCommand ; ᮡë⨥ "ª®¬ ­¤ "
ret nz
call test_show_panels ; â¥áâ ­  ०¨¬ ¢ª«. ¯ ­¥«¥©
ret z ; ¢ëª«.
inc hl ;+1
set_rdrive_frm:
ld de,format_mode ; ä®à¬ â ¯ ­¥«¨
ld a,(de)
and form_info+form_qview ; info, qview
ret nz
set_rdrive_dsk:
ld de,disk ; ï祩ª  ¤¨áª   ªâ. ¯ ­¥«¨
ld a,(de)
ld (set_rdrive_altdsk+1),a ; á®åà. ¤¨áª
ld a,(hl) ;+1 ­®¬¥à ¤¨áª 
ld (de),a ; ­®¬¥à ¤¨áª   ªâ. ¯ ­¥«¨
ld a,(cur_panel) ; ⥪. ¯ ­¥«ì
or a
jr z,set_rdrive_next ; ¢ë¢®¤ ¯ áá. ¯ ­¥«¨
call get_new_flist ;  ªâ. «¥¢ ï
jr set_rdrive_next1
; ¯ áá. ¯ ­¥«ì
set_rdrive_next:
call change_panel
call get_new_flist ;  ªâ. ¯à ¢ ï
push af
call change_panel
pop af
set_rdrive_next1:
ld a,true
ld (enter_done3+1),a ; ãáâ. ä« £ ®¡­®¢«¥­¨ï info-¯ ­¥«¨
jp nc,enter_done1 ; Ok, â¥áâ ­  qview-ä®à¬ â ¤à.¯ ­¥«¨ (enter.asm)
; ®è¨¡ª  ç⥭¨ï ¤¨áª 
; § ­®¢® ¢ë§¢ âì Žª­® ‚ë¡®à  ¤¨áª®¢
ld hl,(set_rdrive_dsk+1)
set_rdrive_altdsk:
ld a,0
ld (hl),a ; ¢®ááâ. ¤¨áª ¯ ­¥«¨
jp select_right_drive
;-------------------------------------------------
; <20>à®ç¨â âì ­®¢ë© ᯨ᮪ ¯ ­¥«¨ (¤¨áª/¯ ¯ª )
;-------------------------------------------------
get_new_flist:
call read_new_folder ; ­®¢ë© ᯨ᮪ ª â «®£  + à §¬¥à ¯ ¯ª¨
ret c
call dinqview_set_flag ; ãáâ. ä« £ "®âà ¡®â âì dinamqview"
call sorting ; à §¤¥«ì­ë© ᯨ᮪ 㪠§ â¥«¥© + á®àâ. ᯨ᪠
jp A20FC ; ¢ë¢®¤  ªâ. ¯ ­¥«¨