;///////////////////////////////////////////////// ; ; Применение пункта "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 ; акт. левая панель ;///////////////////////////////////////////////// ; ; Применение пункта "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 ;------------------------------------------------- ; Прочитать новый список панели (диск/папка) ;------------------------------------------------- get_new_flist: call read_new_folder ; новый список каталога + размер папки ret c call dinqview_set_flag ; уст. флаг "отработать dinamqview" call sorting ; раздельный список указателей + сорт. списка jp A20FC ; вывод акт. панели