FlexNavigator 1.16.04
- сортировка и копирование файлов/директорий теперь не использует страницы панелей. - убрано переставление страниц в списке выделенных при сортировке. - доделано копирование директорий, пока только той что под курсором. - сделано/переделано измерение размера директории в байтах под курсором. - добавлено описание форм полей ввода. - перенесены некоторые tab таблицы. - перенесены буферы для загрузки ini файликов.
This commit is contained in:
parent
7940810ffd
commit
ac87c5571e
@ -1,7 +1,7 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.5 ®â 04.08.2025 *
|
||||
* doc v0.5 ®â 07.09.2025 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
@ -685,7 +685,7 @@
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
<EFBFBD>¡é¨¥ ¯¥à¥¬¥ë¥ ᮠᬥ饨¥ 0xC0:
|
||||
ޡ鍥 ¯¥à¥¬¥ë¥ ᮠᬥ饨¥ 0xC0 ®â ç « â ¡«¨æë ¯¥à¥å®¤®¢:
|
||||
|
||||
NUM_DEVICES 1 Š®«¨ç¥á⢮ ãáâனáâ¢
|
||||
TreeFlag 1 ”« £ ¤¥à¥¢ ¤¨à¥ªâ®à¨©
|
||||
@ -706,8 +706,8 @@ RAMPAGES
|
||||
.RIGHTPANEL 1 ‘âà ¨æ ª â «®£ <20>à ¢®© ¯ ¥«¨
|
||||
.BuffPg1 1
|
||||
.BuffPg2 1
|
||||
.BuffPg3 1
|
||||
.BuffPg4 1
|
||||
.BuffPgEnd 1
|
||||
.BuffPg3 1 ¨á¯®«ì§ã¥âáï ª®¯¨à®¢é¨ª®¬ ä ©«®¢/¤¨à¥ªâ®à¨©
|
||||
.BuffPg4 1 ¨á¯®«ì§ã¥âáï á®àâ¨à®¢ª®©, à ¡®â á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
|
||||
.BuffPgEnd 1 ¡ ©â 0xFF ¬ àª¥à ª®æ ᯨ᪠áâà ¨æ
|
||||
.FILES_COUNT 2 ª®«¨ç¥á⢮ ¯®¬¥ç¥ëå ä ©«®¢
|
||||
.FILES_BYTES 5 à §¬¥à ¯®¬¥ç¥ëå ä ©«®¢ ¢ ¡ ©â å
|
||||
|
||||
@ -1,6 +1,18 @@
|
||||
|
||||
14.08.2025
|
||||
07.09.2025
|
||||
FlexNavigator 1.16.04
|
||||
- á®àâ¨à®¢ª ¨ ª®¯¨à®¢ ¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ⥯¥àì ¥ ¨á¯®«ì§ã¥â
|
||||
áâà ¨æë ¯ ¥«¥©.
|
||||
- ã¡à ® ¯¥à¥áâ ¢«¥¨¥ áâà ¨æ ¢ ᯨ᪥ ¢ë¤¥«¥ëå ¯à¨ á®àâ¨à®¢ª¥.
|
||||
- ¤®¤¥« ® ª®¯¨à®¢ ¨¥ ¤¨à¥ªâ®à¨©, ¯®ª ⮫쪮 ⮩ çâ® ¯®¤ ªãàá®à®¬.
|
||||
- ᤥ« ®/¯¥à¥¤¥« ® ¨§¬¥à¥¨¥ à §¬¥à ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å ¯®¤ ªãàá®à®¬.
|
||||
- ¤®¡ ¢«¥® ®¯¨á ¨¥ ä®à¬ ¯®«¥© ¢¢®¤ .
|
||||
- ¯¥à¥¥á¥ë ¥ª®â®àë¥ tab â ¡«¨æë.
|
||||
- ¯¥à¥¥á¥ë ¡ãä¥àë ¤«ï § £à㧪¨ ini ä ©«¨ª®¢.
|
||||
|
||||
27.08.2025
|
||||
FlexNavigator 1.16.03
|
||||
- ¨á¯à ¢«¥® ä®à¬¨à®¢ ¨¥ ¯ã⨠¤® ¯ ¯ª¨ ¯« £¨®¢.
|
||||
- MISC äãªæ¨¨ ¯¥à¥¥á¥ë ¨§ 2 १¨¤¥â ¢ 3.
|
||||
- ¯¥à¥à á¯à¥¤¥«¥¨¥ TAB â ¡«¨æ.
|
||||
- ¢ ®¯¨á ¨¥ Flex Navigator API ¤®¡ ¢«¥® ®¯¨á ¨¥ £«®¡ «ìëå
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
|
||||
Flex navigator TODO:
|
||||
|
||||
[] ¢ ª®¯¨à®¢ ¨¨ ä ©«®¢/¤¨à¥ªâ®à¨© ¤®¤¥« âì ®¡à ¡®âªã ®è¨¡®ª ¯à¨ á®§¤ ¨¨ ¤¨à¥ªâ®à¨©.
|
||||
[] ¢ ¯« £¨¥ । ªâ®à ¨á¯à ¢¨âì ¥ á®åà ¥¨¥ ¢¢¥¤¥ë®© áâப¨ ¯à¨ ¦ ⨨¨ äãªæ¨® «ìëå ª« ¢¨è ¥ á¢ï§ ëå á । ªâ¨à®¢ ¨¥¬.
|
||||
[] ¤«ï à ¡®âë ¢ ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨© ã¡à âì ¯®¤¬¥ã áâà ¨æ ¢ ᯨ᪥ ¢ë¤ ëå.
|
||||
[] ¤®¡ ¢¨âì áâ५ª¨ ¢«¥¢®/¢¯à ¢® ¤«ï ¢ë¡®à ¤¨áª®¢ ¥á«¨ ¡®«ìè¥ 10.
|
||||
[] ¤®¡ ¢¨âì ¢ áâனª¨ ¢â®¯®ª § ¨«¨ ¯® ENTER ¯à¨ ¯¥à¥¬¥é¥¨¨ ¯® ¤¥à¥¢ã ª â «®£®¢
|
||||
[] ¤®¡ ¢¨âì ¢ áâனª¨ ¢ë¡®à ¬¥ïâì «¨ ªâ¨¢ãî ¯ ¥«ì ¯à¨ ᬥ¥ ¤¨áª ¥ ªâ¨¢®© ¯ ¥«¨
|
||||
[] ¯à¨ ¢ë¢®¤¥ ¤¥à¥¢ ª â «®£®¢ ᤥ« âì áªà®«« ¢«¥¢®/¢¯à ¢® ¥á«¨ ¤¥à¥¢® ¥ ¢«¥§ ¥â ¯® £®à¨§®â «¨
|
||||
[] ¯® ª®¯ª¥ F6 ⮫쪮 ¯¥à¥¨¬¥®¢ ¨¥, ¤®«¦® ¡ëâì ¯¥à¥¨¬¥®¢ ¨¥/¯¥à¥¬¥é¥¨¥ ä ©« ¥á«¨ ¯ ¥«ïå à §ë¥ ¯ãâ¨
|
||||
[] ¯¥à¥¤¥« âì § å®à¤ª®¦¥ë¥ ª®®à¤¨ âë, ¯¥à¥¤¥« âì ¯à¨¢ï§ªã ª ª®®à¤¨ â ¬ ®ª
|
||||
@ -11,6 +14,7 @@ Flex navigator TODO:
|
||||
[] ¯« £¨ ¤«ï á®§¤ ¨ï ä®à¬ ®ª®
|
||||
[?] ¢ë§®¢ ¨ ¢§ ¨¬®¤¥©á⢨¥ ¯« £¨ á ¯« £¨®¬
|
||||
|
||||
[x] (¥áâì ¨§ ç «ì®) ¤®¡ ¢¨âì ¢ áâனª¨ ¢ë¡®à ¬¥ïâì «¨ ªâ¨¢ãî ¯ ¥«ì ¯à¨ ᬥ¥ ¤¨áª ¥ ªâ¨¢®© ¯ ¥«¨
|
||||
[x] § £à㧪 FLX ¯« £¨ ¯® ¨¬¥¨ ¡¥§ § ¯ãáª
|
||||
[x] ¢¢®¤ ¢ ª®¬ ¤ãî áâப㠨 ¦ ⨥ ALT+F1/F2 (¢ë¡®à ¤à ©¢ ) ¯®¤¢¨á ¥â
|
||||
[x] á®àâ¨à®¢é¨ª á®àâ¨àã¥â "..", ¥ ¤®«¦¥
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
fn/flx/help.flx
BIN
fn/flx/help.flx
Binary file not shown.
@ -1,6 +1,18 @@
|
||||
|
||||
14.08.2025
|
||||
07.09.2025
|
||||
FlexNavigator 1.16.04
|
||||
- á®àâ¨à®¢ª ¨ ª®¯¨à®¢ ¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ⥯¥àì ¥ ¨á¯®«ì§ã¥â
|
||||
áâà ¨æë ¯ ¥«¥©.
|
||||
- ã¡à ® ¯¥à¥áâ ¢«¥¨¥ áâà ¨æ ¢ ᯨ᪥ ¢ë¤¥«¥ëå ¯à¨ á®àâ¨à®¢ª¥.
|
||||
- ¤®¤¥« ® ª®¯¨à®¢ ¨¥ ¤¨à¥ªâ®à¨©, ¯®ª ⮫쪮 ⮩ çâ® ¯®¤ ªãàá®à®¬.
|
||||
- ᤥ« ®/¯¥à¥¤¥« ® ¨§¬¥à¥¨¥ à §¬¥à ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å ¯®¤ ªãàá®à®¬.
|
||||
- ¤®¡ ¢«¥® ®¯¨á ¨¥ ä®à¬ ¯®«¥© ¢¢®¤ .
|
||||
- ¯¥à¥¥á¥ë ¥ª®â®àë¥ tab â ¡«¨æë.
|
||||
- ¯¥à¥¥á¥ë ¡ãä¥àë ¤«ï § £à㧪¨ ini ä ©«¨ª®¢.
|
||||
|
||||
27.08.2025
|
||||
FlexNavigator 1.16.03
|
||||
- ¨á¯à ¢«¥® ä®à¬¨à®¢ ¨¥ ¯ã⨠¤® ¯ ¯ª¨ ¯« £¨®¢.
|
||||
- MISC äãªæ¨¨ ¯¥à¥¥á¥ë ¨§ 2 १¨¤¥â ¢ 3.
|
||||
- ¯¥à¥à á¯à¥¤¥«¥¨¥ TAB â ¡«¨æ.
|
||||
- ¢ ®¯¨á ¨¥ Flex Navigator API ¤®¡ ¢«¥® ®¯¨á ¨¥ £«®¡ «ìëå
|
||||
|
||||
32
fn_const.a80
32
fn_const.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
NUM_FILES_PANEL EQU 17 ; ª®«¨ç¥á⢮ ä ©«®¢ ¢ á⮫¡æ¥ ¯ ¥«¨
|
||||
NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ¨æ ¯ ¬ï⨠¤«ï à ¡®âë FN
|
||||
@ -36,7 +36,6 @@ FLXMODES
|
||||
; 1 - ¤à¥á ª®¬¯¨«ï樨 ¨ à ¡®âë ¢ ¤à¥á å 0x4000-0x7FFF
|
||||
|
||||
|
||||
LenInpData EQU 12 ; ª ª®¥-⮠ᬥ饨¥ ¤«ï ¬¥âª¨ SearchStr
|
||||
CursTimer EQU 6 ; "ç áâ®â " ¬®à£ ¨ï ⥪á⮢®£® ªãàá®à
|
||||
Step EQU 8 ; è¨à¨ ᨬ¢®« ¤«ï ¯¥à¥¬¥é¥¨ï ªãàá®à ¯à¨ ¢¢®¤¥ ⥪áâ
|
||||
MainPullMenu EQU 6 ; ª®«¨ç¥á⢮ ¯ãªâ®¢ ¢ £« ¢®¬ ¬¥î
|
||||
@ -123,6 +122,7 @@ WINSUBOBJ
|
||||
PANEL
|
||||
_INIT_VAR
|
||||
_SETVAR .PANELFLAG, BYTE ; ”« £ ¯ ¥«¨ ¡¨â 7 - ¡¨â ¢ë¤¥«¥®áâ¨
|
||||
; ¡¨â 1 - áâà ¨æ ¤«ï á®àâ¨à®¢ª¨
|
||||
; ¡¨â 0 - ®¬¥à ¯ ¥«¨
|
||||
_SETVAR .VIEWFLAG, BYTE ; ”« £ ¢¨¤ ¯ ¥«¨ 0 - ªà âª ï ¯ ¥«ì
|
||||
; ¡¨â 0 - ¯®¤à®¡ ï ¯ ¥«ì
|
||||
@ -154,6 +154,7 @@ PANEL
|
||||
|
||||
PANELFLAG
|
||||
_BITMASK PRNDOSPATH, 7 ; =1-¯¥ç â âì ¯ãâì DOS
|
||||
_BITMASK DIRPAGE, 1 ; =1-A-®¬¥à áâà ¨æë, =0-áâà ¨æë ¯ ¥«¥©
|
||||
_BITMASK SIDE, 0 ; =1-¯à ¢ ï ¯ ¥«ì, =0-«¥¢ ï ¯ ¥«ì
|
||||
|
||||
VIEWFLAG
|
||||
@ -259,6 +260,20 @@ FORMTABL
|
||||
_BITMASK CLOSEWIN, 0 ; ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® «¥¢®© ª®¯ª¥
|
||||
_BITMASK ENDTABL, 7 ; ¡¨â ¢ .XMINH 㪠§ â¥«ì ª®¥æ ᯨáª
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
INPUTFORM
|
||||
_INIT_VAR
|
||||
_SETVAR .MAXLEN, BYTE ; +00 Œ ªá¨¬ «ì ï ¤«¨ áâப¨
|
||||
_SETVAR .FLAG, BYTE ; +01 ”« £ £®â®¢®áâ¨
|
||||
_SETVAR .CURR_X, BYTE ; +02 ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à
|
||||
_SETVAR .CURRADD_X, BYTE ; +03 ⥪ãé ï AddX
|
||||
_SETVAR .CURR_SYMBOLS, BYTE ; +04 ª®«¨ç¥á⢮ ¢¢¥¤¥ëå ᨬ¢®«®¢
|
||||
_SETVAR .SCR_POS_X, WORD ; +05 X ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
_SETVAR .SCR_POS_Y, WORD ; +07 Y ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
_SETVAR .SCR_LEN_X, WORD ; +09 X ¤«¨ áâப¨ íªà ¥
|
||||
_SETVAR .COLOR, BYTE ; +0B –¢¥â áâப¨
|
||||
_SETVAR .BUFLINE, 0 ; +0C ...á ¬ áâப
|
||||
|
||||
; ¡ § â ¡«¨æë ¯¥à¥å®¤®¢ ¤«ï ¢ë§®¢ ¨§ ¯« £¨®¢
|
||||
JUMPS
|
||||
.JUMPSIZE EQU 3
|
||||
@ -331,8 +346,8 @@ JUMPS
|
||||
_SETVAR .RIGHTPANEL, BYTE ; ‘âà ¨æ ª â «®£ <20>à ¢®© ¯ ¥«¨
|
||||
_SETVAR .BuffPg1, BYTE
|
||||
_SETVAR .BuffPg2, BYTE
|
||||
_SETVAR .BuffPg3, BYTE
|
||||
_SETVAR .BuffPg4, BYTE + BYTE
|
||||
_SETVAR .BuffPg3, BYTE ; ¨á¯®«ì§ã¥âáï ª®¯¨à®¢é¨ª®¬ ä ©«®¢/¤¨à¥ªâ®à¨©
|
||||
_SETVAR .BuffPg4, BYTE + BYTE ; ¨á¯®«ì§ã¥âáï á®àâ¨à®¢ª®©, à ¡®â á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
|
||||
_SETVAR .FILES_COUNT, WORD
|
||||
_SETVAR .FILES_BYTES, DWORD + 1
|
||||
|
||||
@ -366,14 +381,17 @@ FILENAME
|
||||
.EDIT_FLX EQU "FNEDITOR.FLX"
|
||||
.VIEW_FLX EQU "FNVIEWER.FLX"
|
||||
|
||||
; ¢ãâ२¥ ®è¨¡ª¨
|
||||
FNinternal
|
||||
_INIT_VAR 0xF0
|
||||
_SETVAR .PlugNotFound
|
||||
|
||||
; ®â« ¤®ç®¥, ¥ ¬¥ïâì ¯® ¨§¡¥¦ ¨¥ £«îª®¢
|
||||
PLUGS_ENABLE EQU 0 ; ¬¥î ¯« £¨®¢
|
||||
TREE_REZID EQU 0
|
||||
MARK_DIR EQU 0 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à ¢á¥å ä ©«®¢
|
||||
MARK_DIR EQU 1 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à ¢á¥å ä ©«®¢
|
||||
TREE_DIR_ENTER EQU 0 ; ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¤¥à¥¢¥ ¯® ENTER
|
||||
CORR_FILENAME EQU 1 ; ¯à¥®¡à §®¢ ¨¥ ᨬ¢®«®¢ ¨¬¥¨ ä ©«
|
||||
MISC2REZ3 EQU 0 ; ¯¥à¥¥§¤ misc.a80 ¨§ १¨¤¥â 2 ¢ १¨¤¥â 3
|
||||
|
||||
; § ¯à¥é¥ë¥ ᨬ¢®«ë ¢ ª®à®âª¨å ¨¬¥ å FAT
|
||||
; 22 2A 2B 2C 2E 2F 3A 3B 3C 3D 3E 3F 5B 5C 5D 7C
|
||||
; \" * + , . / : ; < = > ? [ \\ ] |
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 03.08.2025 savelij
|
||||
; LAST UPDATE: 22.08.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
|
||||
@ -52,7 +52,7 @@ EntryExec: DI
|
||||
LD A,(MAIN.FNMAIN) ; set pages from 0xC000
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,BASE_ADDR ; FNMAIN
|
||||
LD DE,END_BLOCK_1 - START_BLOCK_1
|
||||
LD DE,BLOCK1_SIZE
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
@ -60,7 +60,7 @@ EntryExec: DI
|
||||
LD A,(MAIN.FNREZ2)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xC000 ; FNREZ2
|
||||
LD DE,END_BLOCK_2 - START_BLOCK_2
|
||||
LD DE,BLOCK2_SIZE
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
@ -88,7 +88,7 @@ EntryExec: DI
|
||||
LD A,(MAIN.FNREZ3) ; FNREZ3
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xC000
|
||||
LD DE,END_BLOCK_3 - START_BLOCK_3
|
||||
LD DE,BLOCK3_SIZE
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
FLEX_VERS
|
||||
.NAVIGATOR EQU "1.16.03"
|
||||
.NAVIGATOR EQU "1.16.04"
|
||||
.EDITOR EQU "1.11"
|
||||
.VIEWER EQU "1.07"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 31.07.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
BegDIRECTORY LD HL,BegDIR
|
||||
@ -78,13 +78,8 @@ NewDIRTree PUSH IY
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL RESIDENT.FindTreeDIR
|
||||
CALL RESIDENT.MakeTreePath
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
CALL MakeTreePathR
|
||||
ENDIF
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
DOSline SUB A
|
||||
@ -153,11 +153,7 @@ RunDLine DEC HL
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL RESIDENT.FindTreeDIR
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
ENDIF
|
||||
CALL PrintDIR
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
@ -348,7 +344,7 @@ SaveDOSline
|
||||
PUSH BC
|
||||
CALL FindHistory
|
||||
POP BC
|
||||
LD DE,BUFFERS.DOShistory + BUFFERS.DOShistory_Size
|
||||
LD DE,REZ3_BUFFERS.DOShistory + REZ3_BUFFERS.DOShistory_Size
|
||||
OR A
|
||||
EX DE,HL
|
||||
SBC HL,DE
|
||||
@ -365,7 +361,7 @@ SaveDOSline
|
||||
INC HL
|
||||
EX DE,HL
|
||||
PUSH HL
|
||||
LD BC,BUFFERS.DOShistory
|
||||
LD BC,REZ3_BUFFERS.DOShistory
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD C,L
|
||||
@ -379,7 +375,7 @@ SaveDOSline
|
||||
LDDR
|
||||
.L2 POP BC
|
||||
LD HL,DOSinp
|
||||
LD DE,BUFFERS.DOShistory
|
||||
LD DE,REZ3_BUFFERS.DOShistory
|
||||
LD A,C
|
||||
INC A
|
||||
LD (DE),A
|
||||
@ -427,7 +423,7 @@ GetDOShistory LD IX,DOSstr
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
FindHistory LD HL,BUFFERS.DOShistory
|
||||
FindHistory LD HL,REZ3_BUFFERS.DOShistory
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
@ -448,7 +444,7 @@ DOSInputLine LD (InpLnData),IX
|
||||
.L1 CALL InsInpLnCol
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX + 0x04)
|
||||
ADD HL,DE
|
||||
@ -652,7 +648,7 @@ InsertWord LD A,(IX + 0x04) ;InpytSymb
|
||||
; ‚¢®¤ ¢ á¥à¥¤¨ã ⥪áâ
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX + 0x04)
|
||||
ADD HL,DE
|
||||
@ -669,7 +665,7 @@ InsertWord LD A,(IX + 0x04) ;InpytSymb
|
||||
POP BC
|
||||
NotInsWord PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX + 0x02)
|
||||
ADD HL,DE
|
||||
@ -695,13 +691,13 @@ ShellFile: db "X:\\SYSTEM.EXE /C ",0 ; 襫
|
||||
BATExtension: db ".BAT",0
|
||||
EXEExtension: db ".EXE"
|
||||
EndOfString: db 0
|
||||
|
||||
DOSstr DB 0x80,0x00
|
||||
.posX DB 0x00
|
||||
.addX DB 0x00
|
||||
.slen DB 0x00
|
||||
DW 256,231,376
|
||||
DB COLORP.PANEL + COLORI.FILES
|
||||
|
||||
DOSinp DB 0x81 DUP 0
|
||||
|
||||
HistSpace DEFW 0x200
|
||||
|
||||
16
fninit.a80
16
fninit.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 27.08.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
InitVideoMode
|
||||
@ -160,15 +160,19 @@ FirstInit
|
||||
; á®§¤ ¨¥ ¯ã⨠¤«ï § ¯ã᪠FLX ¯« £¨®¢ á ¯à¨¢ï§ª®© ª ¯ã⨠FN
|
||||
LD HL,BUF_REZ2.FlexDIRECTORY
|
||||
LD DE,BUF_REZ2.FLXdir
|
||||
.L6 LD A,(HL)
|
||||
AND A
|
||||
XOR A
|
||||
.L6 CP (HL)
|
||||
JR Z,.L7
|
||||
LDI
|
||||
JR .L6
|
||||
|
||||
.L7 LD HL,.DIRFLX
|
||||
LD BC,.EDIRFLX - .DIRFLX
|
||||
LDIR
|
||||
.L9 CP (HL)
|
||||
JR Z,.L8
|
||||
LDI
|
||||
JR .L9
|
||||
|
||||
.L8 LD (DE),A
|
||||
LD (LOADFLX4RUN.NAMEFLX),DE
|
||||
LD HL,BUF_REZ2.FlexDIRECTORY
|
||||
SPDSS DSSF.CHDIR
|
||||
@ -258,7 +262,7 @@ FirstInit
|
||||
LD (InitFlg),A
|
||||
RET
|
||||
|
||||
.DIRFLX DB "FLX\\"
|
||||
.DIRFLX DZ "FLX\\"
|
||||
.EDIRFLX
|
||||
|
||||
; ®¡®¢«¥¨¥ ¢ â ¡«¨æ¥ ¢ë¡®à ¤¨áª®¢ ¯ ¥«¨
|
||||
|
||||
253
fninput.a80
253
fninput.a80
@ -1,32 +1,32 @@
|
||||
|
||||
; LAST UPDATE: 01.08.2025 savelij
|
||||
; LAST UPDATE: 25.08.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
InputLine LD (InpLnData),IX
|
||||
LD (.InpMous),HL
|
||||
SET 7,(IX+0x01)
|
||||
SET 7,(IX + INPUTFORM.FLAG)
|
||||
SUB A
|
||||
LD (IX+0x02),A
|
||||
LD (IX+0x03),A
|
||||
LD (IX + INPUTFORM.CURR_X),A
|
||||
LD (IX + INPUTFORM.CURRADD_X),A
|
||||
CALL InsInpLnCol
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
PUSH HL
|
||||
LD E,(IX+0x04)
|
||||
LD E,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
ADD HL,DE
|
||||
LD (HL),D
|
||||
LD (IX+0x02),E
|
||||
LD (IX + INPUTFORM.CURR_X),E
|
||||
POP HL
|
||||
LD DE,WorkBuffer
|
||||
LD A,(IX+0x02)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,(IX+0x03)
|
||||
LD A,(IX + INPUTFORM.CURRADD_X)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,(IX+0x04)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD C,A
|
||||
@ -49,16 +49,16 @@ InputLine LD (InpLnData),IX
|
||||
BIT KEYBSTAT.B_CTRL,B
|
||||
JR NZ,.NextInpKeys
|
||||
LD IX,InpTable1
|
||||
.NextInpKeys LD L,(IX+0x00)
|
||||
.NextInpKeys LD L,(IX + 0)
|
||||
INC L
|
||||
JR Z,.InpLineLp1
|
||||
INC IX
|
||||
DEC L
|
||||
LD H,(IX+0x00)
|
||||
LD H,(IX + 0)
|
||||
INC IX
|
||||
LD C,(IX+0x00)
|
||||
LD C,(IX + 0)
|
||||
INC IX
|
||||
LD B,(IX+0x00)
|
||||
LD B,(IX + 0)
|
||||
INC IX
|
||||
OR A
|
||||
SBC HL,DE
|
||||
@ -94,23 +94,24 @@ InputLine LD (InpLnData),IX
|
||||
CALL ResCursor
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
LD HL,WorkBuffer
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD (IX+0x02),A
|
||||
LD (IX + INPUTFORM.CURR_X),A
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD (IX+0x03),A
|
||||
LD (IX + INPUTFORM.CURRADD_X),A
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD (IX+0x04),A
|
||||
LD (IX + INPUTFORM.CURR_SYMBOLS),A
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
LD A,B
|
||||
OR C
|
||||
; LD A,B
|
||||
; OR C
|
||||
AND A
|
||||
SCF
|
||||
RET Z
|
||||
LDIR
|
||||
@ -147,22 +148,22 @@ InpTable2 DW SC.X4 << 8, ILwordL
|
||||
InsertSymbol CP ' '
|
||||
RET C
|
||||
EX AF,AF'
|
||||
BIT 7,(IX+0x01) ; ready
|
||||
BIT 7,(IX + INPUTFORM.FLAG) ; ready
|
||||
CALL NZ,ClearInpLn
|
||||
LD A,(IX+0x04) ; InpytSymb
|
||||
SUB (IX+0x00) ; Max len
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS) ; InpytSymb
|
||||
SUB (IX + INPUTFORM.MAXLEN) ; Max len
|
||||
RET NC
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
SUB (IX + INPUTFORM.CURR_X)
|
||||
JR Z,NotInsert
|
||||
; ‚¢®¤ ¢ á¥à¥¤¨ã ⥪áâ
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x04)
|
||||
LD E,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
ADD HL,DE
|
||||
LD E,L
|
||||
LD D,H
|
||||
@ -170,127 +171,129 @@ InsertSymbol CP ' '
|
||||
LDDR
|
||||
NotInsert PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
LD E,(IX + INPUTFORM.CURR_X)
|
||||
ADD HL,DE
|
||||
EX AF,AF'
|
||||
LD (HL),A
|
||||
INC (IX+0x04)
|
||||
INC (IX+0x02)
|
||||
INC (IX + INPUTFORM.CURR_SYMBOLS)
|
||||
INC (IX + INPUTFORM.CURR_X)
|
||||
JP PrintInpLn
|
||||
|
||||
; Clear Buffer
|
||||
ClearInpLn RES 7,(IX+0x01)
|
||||
ClearInpLn RES 7,(IX + INPUTFORM.FLAG)
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD B,(IX+0x00)
|
||||
LD B,(IX + INPUTFORM.MAXLEN)
|
||||
SUB A
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
LD (IX+0x02),A
|
||||
LD (IX+0x03),A
|
||||
LD (IX+0x04),A
|
||||
LD (IX + INPUTFORM.CURR_X),A
|
||||
LD (IX + INPUTFORM.CURRADD_X),A
|
||||
LD (IX + INPUTFORM.CURR_SYMBOLS),A
|
||||
JP PrintInpLn
|
||||
|
||||
; Šãàá®à ¢«¥¢® ®¤® ¬¥áâ®
|
||||
ILleft RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
ILleft RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
DEC A
|
||||
RET M
|
||||
LD (IX+0x02),A
|
||||
LD (IX + INPUTFORM.CURR_X),A
|
||||
JP PrintInpLn
|
||||
|
||||
; Šãàá®à ¢¯à ¢® ®¤® ¬¥áâ®
|
||||
ILright RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
CP (IX+0x04)
|
||||
ILright RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
CP (IX + INPUTFORM.CURR_SYMBOLS)
|
||||
RET Z
|
||||
INC (IX+0x02)
|
||||
INC (IX + INPUTFORM.CURR_X)
|
||||
JP PrintInpLn
|
||||
|
||||
; delete
|
||||
ILdelet BIT 7,(IX+0x01) ; ready
|
||||
ILdelet BIT 7,(IX + INPUTFORM.FLAG) ; ready
|
||||
CALL NZ,ClearInpLn
|
||||
LD A,(IX+0x02)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
OR A
|
||||
RET Z
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
LD E,(IX + INPUTFORM.CURR_X)
|
||||
ADD HL,DE
|
||||
LD E,L
|
||||
LD D,H
|
||||
DEC DE
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
SUB (IX + INPUTFORM.CURR_X)
|
||||
JR Z,ILDel1
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
XOR A
|
||||
LD B,A
|
||||
LDIR
|
||||
SUB A
|
||||
; SUB A
|
||||
ILDel1 LD (DE),A
|
||||
DEC (IX+0x02)
|
||||
DEC (IX+0x04)
|
||||
DEC (IX + INPUTFORM.CURR_X)
|
||||
DEC (IX + INPUTFORM.CURR_SYMBOLS)
|
||||
JP PrintInpLn
|
||||
|
||||
; Delete Char in Current Position
|
||||
IL_del_ BIT 7,(IX+0x01) ; ready
|
||||
IL_del_ BIT 7,(IX + INPUTFORM.FLAG) ; ready
|
||||
CALL NZ,ClearInpLn
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
LD E,(IX + INPUTFORM.CURR_X)
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
DEC DE
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
SUB (IX + INPUTFORM.CURR_X)
|
||||
RET Z
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
XOR A
|
||||
LD B,A
|
||||
LDIR
|
||||
SUB A
|
||||
; SUB A
|
||||
LD (DE),A
|
||||
DEC (IX+0x04)
|
||||
DEC (IX + INPUTFORM.CURR_SYMBOLS)
|
||||
JP PrintInpLn
|
||||
|
||||
; Home
|
||||
ILhome RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
ILhome RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
OR A
|
||||
RET Z
|
||||
SUB A
|
||||
LD (IX+0x02),A
|
||||
LD (IX + INPUTFORM.CURR_X),A
|
||||
JP PrintInpLn
|
||||
|
||||
; End string
|
||||
ILend RES 7,(IX+0x01)
|
||||
LD A,(IX+0x04)
|
||||
CP (IX+0x02)
|
||||
ILend RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
CP (IX + INPUTFORM.CURR_X)
|
||||
RET Z
|
||||
LD (IX+0x02),A
|
||||
LD (IX + INPUTFORM.CURR_X),A
|
||||
JP PrintInpLn
|
||||
|
||||
; Word right
|
||||
ILwordR RES 7,(IX+0x01)
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
ILwordR RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
SUB (IX + INPUTFORM.CURR_X)
|
||||
RET Z
|
||||
LD B,A
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
LD E,(IX + INPUTFORM.CURR_X)
|
||||
ADD HL,DE
|
||||
LD C,E
|
||||
.L2 LD A,(HL)
|
||||
@ -319,19 +322,19 @@ ILwordR RES 7,(IX+0x01)
|
||||
.L1 INC HL
|
||||
INC C
|
||||
DJNZ .L3
|
||||
.L4 LD (IX+0x02),C
|
||||
.L4 LD (IX + INPUTFORM.CURR_X),C
|
||||
JP PrintInpLn
|
||||
|
||||
; Word left
|
||||
ILwordL RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
ILwordL RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD C,B
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,C
|
||||
ADD HL,DE
|
||||
@ -344,7 +347,7 @@ ILwordL RES 7,(IX+0x01)
|
||||
JR Z,.L2
|
||||
CP '.'
|
||||
JR Z,.L2
|
||||
CP 0x5C
|
||||
CP '\\'
|
||||
JR Z,.L2
|
||||
DJNZ .L3
|
||||
JR .L5
|
||||
@ -362,23 +365,23 @@ ILwordL RES 7,(IX+0x01)
|
||||
DEC C
|
||||
DJNZ .L2
|
||||
.L4 INC C
|
||||
.L5 LD (IX+0x02),C
|
||||
.L5 LD (IX + INPUTFORM.CURR_X),C
|
||||
JP PrintInpLn
|
||||
|
||||
; Delete word
|
||||
ILdelWR RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
ILdelWR RES 7,(IX + INPUTFORM.FLAG)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD C,B
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,C
|
||||
ADD HL,DE
|
||||
LD A,(IX+0x04)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
SUB B
|
||||
LD E,A
|
||||
PUSH HL
|
||||
@ -423,14 +426,14 @@ ILdelWR RES 7,(IX+0x01)
|
||||
DJNZ .L4
|
||||
.L2 INC HL
|
||||
INC C
|
||||
.L6 LD A,(IX+0x02)
|
||||
LD (IX+0x02),C
|
||||
.L6 LD A,(IX + INPUTFORM.CURR_X)
|
||||
LD (IX + INPUTFORM.CURR_X),C
|
||||
SUB C
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
LD A,(IX+0x04)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
SUB C
|
||||
LD (IX+0x04),A
|
||||
LD (IX + INPUTFORM.CURR_SYMBOLS),A
|
||||
LD C,E
|
||||
LD B,0x00
|
||||
EX DE,HL
|
||||
@ -449,10 +452,10 @@ ILdelWR RES 7,(IX+0x01)
|
||||
JP PrintInpLn
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
InsInpLnCol LD L,(IX+0x07)
|
||||
LD H,(IX+0x08)
|
||||
InsInpLnCol LD L,(IX + INPUTFORM.SCR_POS_Y)
|
||||
LD H,(IX + INPUTFORM.SCR_POS_Y + 1)
|
||||
LD (FillILy),HL
|
||||
LD A,(IX+0x0B)
|
||||
LD A,(IX + INPUTFORM.COLOR)
|
||||
AND 0x0F ; INK
|
||||
LD C,A
|
||||
RLCA
|
||||
@ -467,7 +470,7 @@ InsInpLnCol LD L,(IX+0x07)
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
LD B,A
|
||||
LD A,(IX+0x0B)
|
||||
LD A,(IX + INPUTFORM.COLOR)
|
||||
AND 0xF0 ; PAPER
|
||||
LD C,A
|
||||
RRCA
|
||||
@ -485,42 +488,42 @@ InsInpLnCol LD L,(IX+0x07)
|
||||
RET
|
||||
|
||||
PrintInpLn CALL ResCursor
|
||||
.L1 LD A,(IX+0x02)
|
||||
SUB (IX+0x03)
|
||||
.L1 LD A,(IX + INPUTFORM.CURR_X)
|
||||
SUB (IX + INPUTFORM.CURRADD_X)
|
||||
JR NC,PrnInpLn1
|
||||
LD A,(IX+0x03)
|
||||
LD A,(IX + INPUTFORM.CURRADD_X)
|
||||
SUB Step
|
||||
LD (IX+0x03),A
|
||||
LD (IX + INPUTFORM.CURRADD_X),A
|
||||
JR PrintInpLn.L1
|
||||
|
||||
PrnInpLn1 PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x03)
|
||||
LD E,(IX + INPUTFORM.CURRADD_X)
|
||||
ADD HL,DE
|
||||
OR A
|
||||
CALL NZ,TstInpLnLen ; <20> ¢å®¤: HL- ç «® ¢ë¢®¤
|
||||
; € -ª®«.ᨬ¢.¤® ªãàá®à
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
LD A,(IX+0x07)
|
||||
LD A,(IX + INPUTFORM.SCR_POS_Y)
|
||||
LD IYL,A ; Y ª®®à¤¨ â
|
||||
LD A,(IX+0x04)
|
||||
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
|
||||
LD IYH,A
|
||||
GETPORT WINSP.Y_PORT ; ‘®åà 塞 Y ¯®àâ
|
||||
PUSH AF
|
||||
EXX
|
||||
LD HL,PrnPAPl
|
||||
LD DE,PrnINKl
|
||||
LD C,(IX+0x05)
|
||||
LD B,(IX+0x06)
|
||||
LD C,(IX + INPUTFORM.SCR_POS_X)
|
||||
LD B,(IX + INPUTFORM.SCR_POS_X + 1)
|
||||
SRL B
|
||||
RR C
|
||||
SET 6,B
|
||||
EXX
|
||||
LD C,(IX+0x09)
|
||||
LD B,(IX+0x0A)
|
||||
LD C,(IX + INPUTFORM.SCR_LEN_X)
|
||||
LD B,(IX + INPUTFORM.SCR_LEN_X + 1)
|
||||
SRL B
|
||||
RR C
|
||||
LD IXL,C
|
||||
@ -542,7 +545,7 @@ PrnInpLn1 PUSH IX
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
PInpLnP LD L,A
|
||||
LD H,HIGH (FONT_RAW)-0xC0
|
||||
LD H,HIGH (FONT_RAW) - 0xC0
|
||||
PUSH BC
|
||||
LD B,(HL) ; ¤«¨ ᨬ¢®«
|
||||
INC H
|
||||
@ -627,10 +630,10 @@ TstInpLnLen PUSH IY
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
TstInpLn PUSH HL
|
||||
LD D,HIGH (FONT_RAW) - 0xC0
|
||||
.TstInpLn PUSH HL
|
||||
LD BC,0x0000
|
||||
TstInpL LD E,(HL)
|
||||
.TstInpL LD E,(HL)
|
||||
INC HL
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
@ -640,23 +643,23 @@ TstInpL LD E,(HL)
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
DEC IYL
|
||||
JR NZ,TstInpL
|
||||
LD L,(IX+0x09)
|
||||
LD H,(IX+0x0A)
|
||||
JR NZ,.TstInpL
|
||||
LD L,(IX + INPUTFORM.SCR_LEN_X)
|
||||
LD H,(IX + INPUTFORM.SCR_LEN_X + 1)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR NC,TstInpE
|
||||
POP HL
|
||||
LD BC,Step
|
||||
ADD HL,BC
|
||||
LD A,(IX+0x03)
|
||||
LD A,(IX + INPUTFORM.CURRADD_X)
|
||||
ADD A,C
|
||||
LD (IX+0x03),A
|
||||
LD (IX + INPUTFORM.CURRADD_X),A
|
||||
LD A,IYH
|
||||
SUB C
|
||||
LD IYH,A
|
||||
LD IYL,A
|
||||
JR TstInpLn
|
||||
JR .TstInpLn
|
||||
|
||||
TstInpE POP HL
|
||||
POP AF
|
||||
@ -667,12 +670,12 @@ TstInpE POP HL
|
||||
|
||||
SetCursor PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x03)
|
||||
LD E,(IX + INPUTFORM.CURRADD_X)
|
||||
ADD HL,DE
|
||||
LD BC,0x0000
|
||||
LD A,(IX+0x02)
|
||||
LD A,(IX + INPUTFORM.CURR_X)
|
||||
SUB E
|
||||
JR Z,StCurs1
|
||||
EX AF,AF'
|
||||
@ -681,7 +684,7 @@ SetCursor PUSH IX
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
LD D,HIGH (FONT_RAW) - 0xC0
|
||||
EX AF,AF'
|
||||
StCurs0 EX AF,AF'
|
||||
LD E,(HL)
|
||||
@ -704,8 +707,8 @@ StCurs1 LD (CurShiftX),BC
|
||||
LD (CurCursor),A
|
||||
LD A,CursTimer
|
||||
LD (CrTimer),A
|
||||
SetCr LD L,(IX+0x05)
|
||||
LD H,(IX+0x06)
|
||||
SetCr LD L,(IX + INPUTFORM.SCR_POS_X)
|
||||
LD H,(IX + INPUTFORM.SCR_POS_X + 1)
|
||||
LD BC,(CurShiftX)
|
||||
ADD HL,BC
|
||||
SRL H
|
||||
@ -717,9 +720,9 @@ SetCr LD L,(IX+0x05)
|
||||
LD B,A
|
||||
PUSH BC
|
||||
LD DE,CursBuffer
|
||||
LD C,(IX+0x07)
|
||||
LD C,(IX + INPUTFORM.SCR_POS_Y)
|
||||
DEC C
|
||||
LD A,(IX+0x0B)
|
||||
LD A,(IX + INPUTFORM.COLOR)
|
||||
AND 0x0F
|
||||
LD B,A
|
||||
RLCA
|
||||
@ -752,8 +755,8 @@ SetCr LD L,(IX+0x05)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
ResCursor LD L,(IX+0x05)
|
||||
LD H,(IX+0x06)
|
||||
ResCursor LD L,(IX + INPUTFORM.SCR_POS_X)
|
||||
LD H,(IX + INPUTFORM.SCR_POS_X + 1)
|
||||
LD BC,(CurShiftX)
|
||||
ADD HL,BC
|
||||
SRL H
|
||||
@ -765,7 +768,7 @@ ResCursor LD L,(IX+0x05)
|
||||
LD B,A
|
||||
PUSH BC
|
||||
LD DE,CursBuffer
|
||||
LD B,(IX+0x07)
|
||||
LD B,(IX + INPUTFORM.SCR_POS_Y)
|
||||
DEC B
|
||||
LD C,WINSP.Y_PORT
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
|
||||
123
fnmain.a80
123
fnmain.a80
@ -1,11 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
|
||||
;[]=======================================================================[]
|
||||
; FLEX NAVIGATOR ;
|
||||
; v1.11 ;
|
||||
; Last edition: 03/02/2000 ;
|
||||
;[]=======================================================================[]
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
@ -87,9 +81,9 @@ RAMPAGES
|
||||
.RIGHTPANEL DB 0 ; 2 ‘âà ¨æ ª â «®£ <20>à ¢®© ¯ ¥«¨
|
||||
.BuffPg1 DB 0 ; 3
|
||||
.BuffPg2 DB 0 ; 4
|
||||
.BuffPg3 DB 0 ; 5
|
||||
.BuffPg4 DB 0 ; 6
|
||||
.BuffPgEnd DB 0xFF
|
||||
.BuffPg3 DB 0 ; 5 ¨á¯®«ì§ã¥âáï ª®¯¨à®¢é¨ª®¬ ä ©«®¢/¤¨à¥ªâ®à¨©
|
||||
.BuffPg4 DB 0 ; 6 ¨á¯®«ì§ã¥âáï á®àâ¨à®¢ª®©, à ¡®â á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
|
||||
.BuffPgEnd DB 0xFF ; ¬ àª¥à ª®æ ᯨ᪠áâà ¨æ
|
||||
.FILES_COUNT DW 0 ; ª®«¨ç¥á⢮ ¯®¬¥ç¥ëå ä ©«®¢
|
||||
.FILES_BYTES DB 5 DUP 0 ; à §¬¥à ¯®¬¥ç¥ëå ä ©«®¢ ¢ ¡ ©â å
|
||||
|
||||
@ -260,6 +254,22 @@ SET_DWORD: LD (HL),E
|
||||
LD (HL),B
|
||||
RET
|
||||
|
||||
GET_HANDLE_ADR LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *16
|
||||
ADD HL,DE ; *18 - FileHDR.SIZE
|
||||
OR H
|
||||
LD H,A
|
||||
RET
|
||||
|
||||
; ¢ë§®¢ äãªæ¨¨ ¢ áâà ¨æ å
|
||||
RESIDENT
|
||||
; ==============resident 2==============
|
||||
@ -277,35 +287,16 @@ RESIDENT
|
||||
.DeleteFiles: LD DE,DeleteFilesR
|
||||
jr .FunctResident
|
||||
|
||||
.Quit: CALL ResInvert
|
||||
.QuitL1 LD DE,QuitConfirmWin
|
||||
CALL .FunctResident
|
||||
JP C,SetInvert
|
||||
LD HL,ComExit
|
||||
EX (SP),HL
|
||||
RET
|
||||
|
||||
.Setup: LD DE,SetupR
|
||||
jr .FunctResident
|
||||
|
||||
.QSearch: LD DE,QSearchR
|
||||
jr .FunctResident
|
||||
|
||||
IF TREE_REZID
|
||||
.TestTree LD DE,TestTreeR
|
||||
jr .FunctResident
|
||||
|
||||
.TestTreeBeg LD DE,TestTreeR.TestTreeBeg
|
||||
jr .FunctResident
|
||||
|
||||
.ReadTree LD DE,ReadTreeR
|
||||
jr .FunctResident
|
||||
|
||||
.MakeTreePath LD DE,MakeTreePathR
|
||||
jr .FunctResident
|
||||
|
||||
.FindTreeDIR LD DE,FindTreeDIRR
|
||||
jr .FunctResident
|
||||
IF MARK_DIR
|
||||
; áç¨â «ª ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å
|
||||
.CalcDirSize LD DE,CalcDirSizeR
|
||||
JR .FunctResident
|
||||
ENDIF
|
||||
; ==============resident 2==============
|
||||
|
||||
@ -315,24 +306,6 @@ RESIDENT
|
||||
LD C,WINSP.CPU1
|
||||
JP Resident
|
||||
|
||||
IF MARK_DIR
|
||||
; áç¨â «ª ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å
|
||||
.CountingDir LD DE,CountingDirR
|
||||
JR .HelpResident
|
||||
|
||||
; ¨¨æ¨ «¨§ æ¨ï ¯¥à¥¬¥ëå ¤«ï ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨¨
|
||||
.InitCopyDirs LD DE,InitCopyDirsR
|
||||
JR .HelpResident
|
||||
|
||||
; ª®¯¨à®¢ ¨¥ ¤¨à¥ªâ®à¨¨
|
||||
.CopyDir LD DE,CopyDirR
|
||||
JR .HelpResident
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨à¥ªâ®à¨¨ ¢ ᯨ᮪ ¨/¨«¨ ¢å®¤/¢ë室
|
||||
.Add2ListDir LD DE,Add2ListDirR
|
||||
JR .HelpResident
|
||||
ENDIF
|
||||
|
||||
.UnMarkGroup: LD DE,UnMarkGroupR
|
||||
jr .HelpResident
|
||||
|
||||
@ -387,6 +360,14 @@ RESIDENT
|
||||
|
||||
.SystemInfo: LD DE,SystemInfoR
|
||||
jr .HelpResident
|
||||
|
||||
.Quit: CALL ResInvert
|
||||
.QuitL1 LD DE,QuitConfirmWin
|
||||
CALL .HelpResident
|
||||
JP C,SetInvert
|
||||
LD HL,ComExit
|
||||
EX (SP),HL
|
||||
RET
|
||||
; ==============resident 3==============
|
||||
|
||||
; ‚ë室
|
||||
@ -427,11 +408,7 @@ MainLoop: LD IX,MAINTAB.FilePanelLeft
|
||||
CALL C,DOSline
|
||||
LD A,(TreeFlag)
|
||||
OR A
|
||||
IF TREE_REZID
|
||||
CALL NZ,RESIDENT.TestTree
|
||||
ELSE
|
||||
CALL NZ,TestTreeR
|
||||
ENDIF
|
||||
JR MainLoop
|
||||
|
||||
TestKeys
|
||||
@ -488,11 +465,9 @@ MouseOnOff LD A,(MouseFlag)
|
||||
START_SORT
|
||||
include fnsort.a80
|
||||
END_SORT
|
||||
IF TREE_REZID = 0
|
||||
START_TREE
|
||||
include fntree.a80
|
||||
END_TREE
|
||||
ENDIF
|
||||
include fnpanel.a80
|
||||
include fndos.a80
|
||||
|
||||
@ -507,14 +482,21 @@ END_BLOCK_1:
|
||||
; ==============resident 2==============
|
||||
PHASE 0x4000
|
||||
START_BLOCK_2
|
||||
; ¡ãä¥à çâ®¡ë ¯ ¬ïâì ¥ § ¨¬ «¨ ¢ EXE ä ©«¥
|
||||
REZ2_BUFFERS
|
||||
_INIT_VAR BUF_REZ2.FlexDIRECTORY
|
||||
_MINUSVAR .OLDLEFTPANEL, 0x100 ; ⥪ã騩 ¯ãâì «¥¢®© ¯ ¥«¨
|
||||
_MINUSVAR .OLDRIGHTPANEL, 0x100 ; ⥪ã騩 ¯ãâì ¯à ¢®© ¯ ¥«¨
|
||||
_MINUSVAR .FINDCURRPATH, 0x100 ; ¢à¥¬¥®© ⥪ã騩 ¯ãâì ¨áâ®ç¨ª
|
||||
_MINUSVAR .FINDBUF, 0x100 ; ¢à¥¬¥ë© ¡ãä¥à ¯®¨áª
|
||||
_MINUSVAR .ENDPATHSRC, WORD ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
_MINUSVAR .CURR_DIRNAME, WORD ; ⥪ã騩 ¤à¥á ¢ ¯ãâ¨
|
||||
|
||||
include rez2_fnfunct.a80
|
||||
include rez2_fnsearch.a80
|
||||
include rez2_fnconfig.a80
|
||||
include rez2_fnerror.a80
|
||||
include rez2_fntab.a80
|
||||
IF TREE_REZID
|
||||
include fntree.a80
|
||||
ENDIF
|
||||
END_BLOCK_2:
|
||||
DEPHASE ; 0x4000
|
||||
; ==============resident 2==============
|
||||
@ -523,7 +505,6 @@ END_BLOCK_2:
|
||||
PHASE 0xC000
|
||||
; MAIN.FNFONT
|
||||
START_BLOCK_4
|
||||
|
||||
FONT_RAW_PACK binclude tmp/font_raw.pack
|
||||
IFFFONT_RAW_PACK binclude tmp/iff_font_raw.pack
|
||||
IFFFONT_RAW_END
|
||||
@ -536,13 +517,8 @@ END_BLOCK_4:
|
||||
PHASE 0x4000
|
||||
; MAIN.FNREZ3
|
||||
START_BLOCK_3
|
||||
include rez3_fnnext.a80
|
||||
include rez3_fnmark.a80
|
||||
include rez3_fnmisc.a80
|
||||
include rez3_fntab.a80
|
||||
|
||||
; ¡ãä¥à çâ®¡ë ¯ ¬ïâì ¥ § ¨¬ «¨ ¢ EXE ä ©«¥
|
||||
BUFFERS
|
||||
REZ3_BUFFERS
|
||||
_INIT_VAR 0x8000 ; á ª®æ áâà ¨æë
|
||||
_MINUSVAR .DOShistory, 0x200 ;times 0x200 db 0
|
||||
|
||||
@ -550,19 +526,14 @@ BUFFERS
|
||||
_MINUSVAR .fnview_ext, WorkBuffer_Size ;times 0x400 db 0
|
||||
_MINUSVAR .fn_ext, WorkBuffer_Size ;times 0x400 db 0
|
||||
|
||||
_MINUSVAR .OLDPATH, 0x100 ; á®åà ¥ë© â¥ªã騩 ¯ãâì
|
||||
_MINUSVAR .CURRPATHSRC, 0x100 ; ¢à¥¬¥®© ⥪ã騩 ¯ãâì ¨áâ®ç¨ª
|
||||
_MINUSVAR .CURRPATHDST, 0x100 ; ¢à¥¬¥®© ⥪ã騩 ¯ãâì ¯à¨¥¬¨ª
|
||||
_MINUSVAR .FINDBUF, 0x100 ; ¢à¥¬¥ë© ¡ãä¥à ¯®¨áª
|
||||
_MINUSVAR .LEVEL_DIR, BYTE ; ⥪ã騩 ã஢¥ì ¤¨à¥ªâ®à¨¨
|
||||
_MINUSVAR .ENDPATHSRC, WORD ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
_MINUSVAR .ENDPATHDST, WORD ; ¤à¥á 墮áâ ¯ã⨠¯à¨¥¬¨ª
|
||||
_MINUSVAR .CURR_DIRNAME, WORD ; ⥪ã騩 ¤à¥á ¢ ¯ãâ¨
|
||||
include rez3_fnnext.a80
|
||||
include rez3_fnmark.a80
|
||||
include rez3_fnmisc.a80
|
||||
include rez3_fntab.a80
|
||||
END_BLOCK_3:
|
||||
DEPHASE ; 0x4000
|
||||
; ==============resident 3==============
|
||||
|
||||
; ç¨áâ® ¤«ï ®â« ¤ª¨
|
||||
BLOCK1_SIZE EQU END_BLOCK_1 - START_BLOCK_1 ; ®á®¢®© ª®¤
|
||||
BLOCK2_SIZE EQU END_BLOCK_2 - START_BLOCK_2 ; १¨¤¥â 2
|
||||
BLOCK3_SIZE EQU END_BLOCK_3 - START_BLOCK_3 ; १¨¤¥â 3
|
||||
|
||||
77
fnpanel.a80
77
fnpanel.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 01.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
PrintDisks LD L,(IY + PANEL.X)
|
||||
@ -164,19 +164,21 @@ PrnFileInfo BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY + PANEL.FIRST_FILE)
|
||||
LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY + PANEL.CURR_FILE)
|
||||
LD D,(IY + PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H ; | 0x4000
|
||||
; LD L,(IY + PANEL.FIRST_FILE)
|
||||
; LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY + PANEL.CURR_FILE)
|
||||
; LD D,(IY + PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL ; *2
|
||||
; ADD HL,HL ; *4
|
||||
; ADD HL,HL ; *8
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL ; *10
|
||||
; ADD HL,DE ; *18
|
||||
; SET 6,H ; | 0x4000
|
||||
LD A,HIGH (CPU1)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD DE,WorkBuffer
|
||||
LD BC,FileHDR.SIZE
|
||||
CALL MoveBytesInc
|
||||
@ -314,12 +316,7 @@ Get8Bit LD B,'0' - 1
|
||||
INC HL
|
||||
RET
|
||||
|
||||
PrnTreeInfo
|
||||
IF TREE_REZID
|
||||
CALL RESIDENT.MakeTreePath
|
||||
ELSE
|
||||
CALL MakeTreePathR
|
||||
ENDIF
|
||||
PrnTreeInfo CALL MakeTreePathR
|
||||
EX DE,HL
|
||||
PUSH IY
|
||||
POP HL
|
||||
@ -432,8 +429,8 @@ PrnDIRECT BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD L,(IY + PANEL.FIRST_FILE)
|
||||
LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
@ -526,8 +523,8 @@ PrintFULL PUSH IY
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD L,(IY + PANEL.FIRST_FILE)
|
||||
LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
@ -664,8 +661,8 @@ PrintTREE
|
||||
DJNZ .L2
|
||||
POP DE
|
||||
LD HL,0x4000
|
||||
LD C,(IY+PANEL.FIRST_FILE)
|
||||
LD B,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD C,(IY + PANEL.FIRST_FILE)
|
||||
LD B,(IY + PANEL.FIRST_FILE + 1)
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.PrDIRb2
|
||||
@ -1083,19 +1080,21 @@ PrnInvert LD A,(IY + PANEL.FILES_ALL)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY + PANEL.FIRST_FILE)
|
||||
LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY + PANEL.CURR_FILE)
|
||||
LD D,(IY + PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H ; | 0xC000
|
||||
; LD L,(IY + PANEL.FIRST_FILE)
|
||||
; LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY + PANEL.CURR_FILE)
|
||||
; LD D,(IY + PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL ; *2
|
||||
; ADD HL,HL ; *4
|
||||
; ADD HL,HL ; *8
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL ; *10
|
||||
; ADD HL,DE ; *18
|
||||
; SET 6,H ; | 0xC000
|
||||
LD A,HIGH (CPU1)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD E,(HL)
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
|
||||
64
fnsort.a80
64
fnsort.a80
@ -1,29 +1,49 @@
|
||||
|
||||
; LAST UPDATE: 03.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ReadDIR BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
IF TREE_REZID
|
||||
JP NZ,RESIDENT.ReadTree
|
||||
ELSE
|
||||
; <20> ¢å®¤¥:
|
||||
; A - ®¬¥à áâà ¨æë ¤«ï à ¡®âë ¥á«¨ ¡¨â PANELFLAG.B_DIRPAGE ãáâ ®¢«¥
|
||||
; ¨ ç¥ ¥ âॡã¥âáï
|
||||
ReadDIR BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
JR NZ,.RD1
|
||||
.RD2 BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.RD1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.RD1 LD (.DIRPAGE),A
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
JP NZ,ReadTreeR
|
||||
ENDIF
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
LD A,(IY + PANEL.SORTFLAG)
|
||||
AND SORTFLAG.MASK
|
||||
JR Z,.L6
|
||||
; á á®àâ¨à®¢ª®© £à㧨¬ ¢ ᢮¡®¤ãî ¯ £ã
|
||||
LD A,(RAMPAGES.BuffPg4)
|
||||
JR .L1
|
||||
|
||||
; ¡¥§ á®àâ¨à®¢ª¨ £à㧨¬ ¢ áâà ¨æã ¯ ¥«¨
|
||||
.L6 LD A,0
|
||||
.DIRPAGE EQU $-1
|
||||
.L1
|
||||
SETPORT WINSP.CPU3,,0
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD D,H
|
||||
LD E,L
|
||||
LD BC,PANEL.FILE_MASK
|
||||
ADD HL,BC
|
||||
BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
JR NZ,.L8
|
||||
EX DE,HL
|
||||
LD BC,PANEL.FILES_ALL
|
||||
ADD HL,BC
|
||||
LD B,PANEL.FILE_MASK - PANEL.FILES_ALL
|
||||
.L5 LD (HL),0
|
||||
INC HL
|
||||
DJNZ .L5
|
||||
.L8 RES PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
BIT SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG)
|
||||
JR NZ,.L2
|
||||
LD HL,NORMmask
|
||||
@ -108,8 +128,8 @@ FindFILESm LD HL,NORMmask
|
||||
POP IX
|
||||
POP IY
|
||||
RET C
|
||||
FFILEm1 LD A,(WorkBuffer + FFIRST.Attr);+0x20)
|
||||
AND DIR.M_Dir;0x10
|
||||
FFILEm1 LD A,(WorkBuffer + FFIRST.Attr)
|
||||
AND DIR.M_Dir
|
||||
CALL NZ,InsFileInfo
|
||||
RET C
|
||||
LD DE,WorkBuffer
|
||||
@ -160,7 +180,7 @@ InsFileInfo EX DE,HL
|
||||
LD (DE),A
|
||||
INC DE
|
||||
PUSH HL
|
||||
LD BC,FFIRST.Attr;0x20
|
||||
LD BC,FFIRST.Attr
|
||||
ADD HL,BC
|
||||
LD B,(HL) ; FFIRST.Attr
|
||||
INC HL
|
||||
@ -384,14 +404,10 @@ SortDIR
|
||||
GETPORT WINSP.CPU3
|
||||
LD B,A
|
||||
PUSH BC
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,(RAMPAGES.BuffPg4)
|
||||
LD A,(ReadDIR.DIRPAGE)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD A,(RAMPAGES.BuffPg4)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,CPU3
|
||||
LD (EndSort),HL
|
||||
SUB A
|
||||
@ -485,14 +501,6 @@ SortDIR
|
||||
.L3 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L3
|
||||
GETPORT WINSP.CPU1
|
||||
LD (RAMPAGES.BuffPg4),A
|
||||
GETPORT WINSP.CPU3
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,RAMPAGES.LEFTPANEL
|
||||
JR Z,.L2
|
||||
LD HL,RAMPAGES.RIGHTPANEL
|
||||
.L2 LD (HL),A
|
||||
POP BC
|
||||
LD A,B
|
||||
SETPORT WINSP.CPU3,,0
|
||||
|
||||
12
fntab.a80
12
fntab.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 24.08.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
@ -143,11 +143,11 @@ MAINTAB
|
||||
DW 164,640, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
.SelectTab DW 44,196, 29, 43,%0000000100100100,0,RESIDENT.MarkGroupN,0
|
||||
DW 44,196, 43, 57,%0000000100100100,0,RESIDENT.UnMarkGroupN,0
|
||||
DW 44,196, 57, 71,%0000000100100100,0,RESIDENT.SelectAllN,0
|
||||
DW 44,196, 71, 85,%0000000100100100,0,RESIDENT.UnSelectAllN,0
|
||||
DW 44,196, 85, 99,%0000000100100100,0,RESIDENT.InvertSelectN,0
|
||||
.SelectTab DW 44,196, 29, 43,%0000000100100100,0,RESIDENT.MarkGroupN,0 ; Mark group +
|
||||
DW 44,196, 43, 57,%0000000100100100,0,RESIDENT.UnMarkGroupN,0 ; Unmark group -
|
||||
DW 44,196, 57, 71,%0000000100100100,0,RESIDENT.SelectAllN,0 ; Mark all CTRL+
|
||||
DW 44,196, 71, 85,%0000000100100100,0,RESIDENT.UnSelectAllN,0 ; Unmark all CTRL-
|
||||
DW 44,196, 85, 99,%0000000100100100,0,RESIDENT.InvertSelectN,0 ; Invert selection *
|
||||
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
|
||||
DW 40, 84, 15, 26,%0000000100101000,0,MenuExit,0
|
||||
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
|
||||
|
||||
118
fnwork.a80
118
fnwork.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]===========================================================[]
|
||||
CursUp LD A,(IY + PANEL.FILES_ALL)
|
||||
@ -1036,11 +1036,7 @@ NewFile1 LD HL,0x003F
|
||||
|
||||
;[]==========================================================[]
|
||||
OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
IF TREE_REZID
|
||||
JP NZ,RESIDENT.TestTreeBeg
|
||||
ELSE
|
||||
JP NZ,TestTreeR.TestTreeBeg
|
||||
ENDIF
|
||||
LD A,(IY+PANEL.FILES_ALL)
|
||||
OR (IY+PANEL.FILES_ALL + 1)
|
||||
RET Z
|
||||
@ -1052,19 +1048,21 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H ; | 0x4000
|
||||
; LD L,(IY + PANEL.FIRST_FILE)
|
||||
; LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY + PANEL.CURR_FILE)
|
||||
; LD D,(IY + PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL ; *2
|
||||
; ADD HL,HL ; *4
|
||||
; ADD HL,HL ; *8
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL ; *10
|
||||
; ADD HL,DE ; *18
|
||||
; SET 6,H ; | 0x4000
|
||||
LD A,HIGH (CPU1)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD DE,WorkBuffer
|
||||
LD BC,FileHDR.Attr
|
||||
PUSH HL
|
||||
@ -1080,8 +1078,9 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
INC HL
|
||||
JP Z,RunEXEfile
|
||||
LD A,(HL)
|
||||
CP '.'
|
||||
JR NZ,OpenF2
|
||||
CP '.' ; ¢ë室 ¨§ ¤¨à¥ªâ®à¨¨ ¢¢¥àå?
|
||||
JR NZ,EnterDIR
|
||||
; ¢ë室 ¨§ ¤¨à¥ªâ®à¨¨ ¢¢¥àå
|
||||
PUSH HL
|
||||
PUSH IY
|
||||
POP HL
|
||||
@ -1094,7 +1093,7 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
LD A,'\\'
|
||||
DEC HL
|
||||
CP (HL)
|
||||
JR Z,OpenF1
|
||||
JR Z,.L5
|
||||
.L3 DEC HL
|
||||
CP (HL)
|
||||
JR NZ,.L3
|
||||
@ -1106,8 +1105,9 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
JR NZ,.L4
|
||||
LD (DE),A
|
||||
LD A,'.'
|
||||
OpenF1 POP HL
|
||||
OpenF2 PUSH AF
|
||||
.L5 POP HL
|
||||
; ¢å®¤ ¢ ¤¨à¥ªâ®à¨î
|
||||
EnterDIR PUSH AF
|
||||
PUSH HL
|
||||
CALL ResInvert
|
||||
POP HL
|
||||
@ -1131,7 +1131,7 @@ OpenF2 PUSH AF
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IY
|
||||
CALL PrintPath
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
|
||||
CALL NZ,PrintDOSPath
|
||||
POP AF
|
||||
CP '.'
|
||||
@ -1144,7 +1144,7 @@ OpenF2 PUSH AF
|
||||
LD DE,PANEL.BAR_X
|
||||
ADD IX,DE
|
||||
CALL InitScrollBar
|
||||
LD A,(IY+PANEL.VIEWFLAG)
|
||||
LD A,(IY + PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
PUSH AF
|
||||
CALL Z,DrawHScrollBar
|
||||
@ -1155,7 +1155,7 @@ OpenF2 PUSH AF
|
||||
OR A
|
||||
JP Z,WaitUnpressMouse
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,LeftPanel
|
||||
LD HL,RightPanel
|
||||
JR NZ,.L5
|
||||
@ -1165,11 +1165,7 @@ OpenF2 PUSH AF
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL RESIDENT.FindTreeDIR
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
ENDIF
|
||||
CALL PrintDIR
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
@ -1356,7 +1352,7 @@ ShowDSexit
|
||||
JP WaitUnpressMouse
|
||||
|
||||
;[]==========================================================[]
|
||||
RunEXEfile: LD IX,BUFFERS.fn_ext
|
||||
RunEXEfile: LD IX,REZ3_BUFFERS.fn_ext
|
||||
LD DE,PrevFile
|
||||
PUSH DE
|
||||
SUB A
|
||||
@ -1952,19 +1948,21 @@ StViewFile: LD A,0x01
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L2
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H ; | 0x4000
|
||||
; LD L,(IY+PANEL.FIRST_FILE)
|
||||
; LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY+PANEL.CURR_FILE)
|
||||
; LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL ; *2
|
||||
; ADD HL,HL ; *4
|
||||
; ADD HL,HL ; *8
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL ; *10
|
||||
; ADD HL,DE ; *18
|
||||
; SET 6,H ; | 0x4000
|
||||
LD A,HIGH (CPU1)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD DE,WorkBuffer
|
||||
LD BC,FileHDR.Attr
|
||||
PUSH HL
|
||||
@ -1989,7 +1987,7 @@ StViewFile: LD A,0x01
|
||||
VFlag: EQU $-1
|
||||
OR A
|
||||
JR NZ,View1
|
||||
View: LD IX,BUFFERS.fnview_ext
|
||||
View: LD IX,REZ3_BUFFERS.fnview_ext
|
||||
LD DE,PrevFile
|
||||
CALL TestEXT
|
||||
RET NC
|
||||
@ -2112,19 +2110,21 @@ StEditFile: LD A,0x01
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L2
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H ; | 0x4000
|
||||
; LD L,(IY+PANEL.FIRST_FILE)
|
||||
; LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY+PANEL.CURR_FILE)
|
||||
; LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL ; *2
|
||||
; ADD HL,HL ; *4
|
||||
; ADD HL,HL ; *8
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL ; *10
|
||||
; ADD HL,DE ; *18
|
||||
; SET 6,H ; | 0x4000
|
||||
LD A,HIGH (CPU1)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD DE,WorkBuffer
|
||||
LD BC,FileHDR.Attr
|
||||
PUSH HL
|
||||
@ -2149,7 +2149,7 @@ StEditFile: LD A,0x01
|
||||
EFlag: EQU $-1
|
||||
OR A
|
||||
JR NZ,Edit1
|
||||
Edit: LD IX,BUFFERS.fnedit_ext
|
||||
Edit: LD IX,REZ3_BUFFERS.fnedit_ext
|
||||
LD DE,PrevFile
|
||||
CALL TestEXT
|
||||
RET NC
|
||||
|
||||
711
rez2_fnfunct.a80
711
rez2_fnfunct.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
CopyFilesR LD A,(IY + PANEL.FILES_ALL)
|
||||
@ -21,32 +21,17 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD IX,WorkBuffer
|
||||
LD L,(IY + PANEL.FIRST_FILE)
|
||||
LD H,(IY + PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY + PANEL.CURR_FILE)
|
||||
LD D,(IY + PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H
|
||||
SET 7,H ; | 0xC000
|
||||
LD A,HIGH (CPU3)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD (COPY.PathCurrFile),HL
|
||||
LD DE,WorkBuffer
|
||||
LD BC,FileHDR.SIZE
|
||||
LDIR
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,CopyNextFile.FLAG_DIRCOPY
|
||||
XOR A ; ª®¯¨à®¢ âì ⮫쪮 ä ©«ë
|
||||
LD (HL),A
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
IF MARK_DIR
|
||||
JP NZ,COPY_DIR
|
||||
JP NZ,.InitCopyDir
|
||||
ELSE
|
||||
RET NZ
|
||||
ENDIF
|
||||
@ -63,17 +48,17 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
|
||||
|
||||
IF MARK_DIR
|
||||
; ª®¯¨à®¢ ¨¥ ¤¨àë á® ¢á¥¬ ᮤ¥à¦¨¬ë¬ ¯®¤ ªãàá®à®¬
|
||||
COPY_DIR INC A
|
||||
LD (HL),A ; ª®¯¨à®¢ âì ¡ã¤¥¬ ¤¨à¥ªâ®à¨ï¬¨
|
||||
CALL RESIDENT.CountingDir ; ¨§¬¥à¥¨¥ à §¬¥à ¤¨à¥ªâ®à¨¨ á ä ©« ¬¨
|
||||
.InitCopyDir LD HL,(COPY.PathCurrFile)
|
||||
PUSH HL
|
||||
CALL CalcDirSizeR ; ¨§¬¥à¥¨¥ à §¬¥à ¤¨à¥ªâ®à¨¨ á ä ©« ¬¨
|
||||
POP HL
|
||||
LD (COPY.PathCurrFile),HL
|
||||
LD HL,JUMPS.FILES_BYTES
|
||||
LD DE,COPY.CopyBytes
|
||||
LD BC,5
|
||||
LD BC,DWORD + 1
|
||||
LDIR ; § ¡à «¨ à §¬¥à ¤¨à¥ªâ®à¨¨
|
||||
LD HL,0
|
||||
LD (COPY.CopyFiles),HL ; ª®«¨ç¥á⢮ 㦥 ᪮¯¨à®¢ ëå ä ©«®¢
|
||||
CALL RESIDENT.InitCopyDirs ; ¨¨æ¨ «¨§ æ¨ï ¯ã⥩ ®âªã¤ /ªã¤
|
||||
|
||||
LD (COPY.CopyFiles),BC ; ª®«¨ç¥á⢮ 㦥 ᪮¯¨à®¢ ëå ä ©«®¢
|
||||
CALL StorePaths ; á®åà ¥¨¥ ⥪ã騩 ¯ã⥩ ¯ ¥«¥©
|
||||
LD HL,(COPY.CopyBytes)
|
||||
LD DE,(COPY.CopyBytes + 2)
|
||||
CALL ConvBytes2Pages ; ¯¥à¥áç¥â ¢ ª®«¨ç¥á⢮ áâà ¨æ ¤«ï ª®¯¨à®¢ ¨ï
|
||||
@ -124,14 +109,8 @@ CopyLp0 BIT FileHDR.B_MARK,(IX + FileHDR.Flag)
|
||||
LD E,(IX + FileHDR.SizeBytes + 2)
|
||||
LD D,(IX + FileHDR.SizeBytes + 3)
|
||||
CALL ConvBytes2Pages
|
||||
; LD C,L
|
||||
; LD B,H
|
||||
; POP HL
|
||||
POP BC
|
||||
ADD HL,BC
|
||||
; LD C,E
|
||||
; LD B,D
|
||||
; POP DE
|
||||
POP BC
|
||||
EX DE,HL
|
||||
ADC HL,BC
|
||||
@ -176,6 +155,7 @@ CopyNxt LD IX,ProcessAll
|
||||
LD HL,RightPanel
|
||||
.L1 LD DE,PANEL.CURR_PATH
|
||||
ADD HL,DE
|
||||
LD (.NEWPATH),HL ; ªã¤ ¢®§¢à é âì ®â। ªâ¨à®¢ ë© ¯ãâì
|
||||
LD DE,CurPath
|
||||
SUB A
|
||||
LD C,A
|
||||
@ -183,7 +163,6 @@ CopyNxt LD IX,ProcessAll
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD (DE),A
|
||||
SUB A
|
||||
SUB C
|
||||
LD (PathLen),A
|
||||
LD IX,PathStr
|
||||
@ -214,39 +193,40 @@ CopyNxt LD IX,ProcessAll
|
||||
W_BORDER 16,56,288,12
|
||||
W_FILL 18,57,284,10,COLORI.WHITE
|
||||
W_END
|
||||
SUB A
|
||||
LD (COPY.OverWriteFlg),A
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,LeftPanel
|
||||
JR Z,.L4
|
||||
LD HL,RightPanel
|
||||
.L4 LD BC,PANEL.CURR_PATH
|
||||
ADD HL,BC
|
||||
LD (COPY.PathSrc),HL
|
||||
LD HL,CurPath
|
||||
LD (COPY.PathDst),HL
|
||||
LD DE,0 ; ¤à¥á ®â। ªâ¨à®¢ ®£® ¯ã⨠¯à¨¥¬¨ª
|
||||
.NEWPATH EQU $-2
|
||||
XOR A
|
||||
LD (COPY.OverWriteFlg),A
|
||||
.NP1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.NP1
|
||||
LD (DE),A
|
||||
CALL DIRLIST.InitCopyDirs
|
||||
CALL PointerMouseClock
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L3
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L3
|
||||
; ⥪ãéãî ¤¨à¥ªâ®à¨î £à㧨¬ ¢ ᢮¡®¤ãî áâà ¨æã
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
CALL ReadDIR
|
||||
LD (CopyDir.CURR_PANEL),IY ; ¯à¨ ª®¯¨à®¢ ¨¨ ä ©« ¯®àâ¨âáï
|
||||
; ª®¯¨à®¢ ¨¥ ä ©«®¢/¤¨à¥ªâ®à¨©
|
||||
CopyNextFile CALL PrintSrcDst
|
||||
LD IX,(COPY.PathCurrFile)
|
||||
CopyNextFile LD IX,(COPY.PathCurrFile)
|
||||
IF MARK_DIR
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
JR Z,.CopyFile
|
||||
; ª®¯¨à®¢ ¨¥ ¤¨à¥ªâ®à¨¨
|
||||
CALL RESIDENT.Add2ListDir ; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¢ ᯨ᮪
|
||||
JR CopyNextFile
|
||||
; § ®á¨¬ ¨¬ï ¤¨àë ¢ ᯨ᮪ ¤«ï ¤ «ì¥©è¥£® ª®¯¨à®¢ ¨ï
|
||||
CALL DIRLIST.ADD_DIRNAME
|
||||
JP .NextHandle
|
||||
ENDIF
|
||||
|
||||
.CopyFile LD L,(IX + FileHDR.SizeBytes)
|
||||
; ª®¯¨à®¢ ¨¥ ä ©« /¤¨à¥ªâ®à¨¨
|
||||
.CopyFile PUSH IX
|
||||
CALL PrintSrcDst
|
||||
POP IX
|
||||
LD L,(IX + FileHDR.SizeBytes)
|
||||
LD H,(IX + FileHDR.SizeBytes + 1)
|
||||
LD E,(IX + FileHDR.SizeBytes + 2)
|
||||
LD D,(IX + FileHDR.SizeBytes + 3)
|
||||
@ -446,7 +426,7 @@ CopyNextFile CALL PrintSrcDst
|
||||
SPDSS DSSF.CLOSE
|
||||
LD A,(COPY.MemID)
|
||||
SPDSS DSSF.FREEMEM
|
||||
LD IX,(COPY.PathCurrFile)
|
||||
.NextHandle LD IX,(COPY.PathCurrFile)
|
||||
RES FileHDR.B_MARK,(IX + FileHDR.Flag)
|
||||
LD HL,(COPY.CopyBytes)
|
||||
LD E,(IX + FileHDR.SizeBytes)
|
||||
@ -454,45 +434,451 @@ CopyNextFile CALL PrintSrcDst
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD (COPY.CopyBytes),HL
|
||||
LD HL,(COPY.CopyBytes+2)
|
||||
LD HL,(COPY.CopyBytes + 2)
|
||||
LD E,(IX + FileHDR.SizeBytes + 2)
|
||||
LD D,(IX + FileHDR.SizeBytes + 3)
|
||||
SBC HL,DE
|
||||
LD (COPY.CopyBytes+2),HL
|
||||
LD (COPY.CopyBytes + 2),HL
|
||||
LD HL,(COPY.CopyFiles)
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,CopyEnd ; ä ©«ë ª®ç¨«¨áì?
|
||||
JR Z,CopyDir ; ä ©«ë ª®ç¨«¨áì?
|
||||
DEC HL
|
||||
LD (COPY.CopyFiles),HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,CopyEnd ; ä ©«ë ª®ç¨«¨áì?
|
||||
JR Z,CopyDir ; ä ©«ë ª®ç¨«¨áì?
|
||||
LD HL,(COPY.PathCurrFile)
|
||||
LD DE,FileHDR.SIZE
|
||||
.L5 ADD HL,DE ; á«¥¤ãî騩 ®¯¨á ⥫ì
|
||||
IF MARK_DIR
|
||||
LD A,(.FLAG_DIRCOPY)
|
||||
AND A ; ª®¯¨à㥬 ⮫쪮 ä ©«ë?
|
||||
JR Z,.L6
|
||||
; ¨§-§ ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨© ä ©«ë ª®¯¨à㥬 ¢á¥
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
AND A
|
||||
JR NZ,.L7 ; ä ©«ë ¢ ¤¨à¥ ¥é¥ ¥ ª®ç¨«¨áì
|
||||
; ä ©«ë ¢ ¤¨à¥ ª®ç¨«¨áì, ᬮâà¥âì ®á⠢訥áï ¤¨àë ¢ ᯨ᪥
|
||||
CALL RESIDENT.CopyDir
|
||||
ENDIF
|
||||
|
||||
.L6 BIT FileHDR.B_MARK,(HL)
|
||||
BIT FileHDR.B_MARK,(HL)
|
||||
JR Z,.L5
|
||||
.L7 LD (COPY.PathCurrFile),HL
|
||||
LD (COPY.PathCurrFile),HL
|
||||
JP CopyNextFile
|
||||
|
||||
.FLAG_DIRCOPY DB 0
|
||||
; ª®¯¨à®¢ ¨¥ ¤¨à¥ªâ®à¨¨
|
||||
CopyDir LD IY,0
|
||||
.CURR_PANEL EQU $-2
|
||||
CALL DIRLIST.GET_DIRNAME ; ¯®«ã票¥ ¨¬¥¨ ¤¨àë, ¥á«¨ ¥áâì
|
||||
JP C,CopyEnd ; C=1 ⥪ãé ï ¤¨à ª®ç¨« áì ¨«¨ ¨å ¥â
|
||||
CALL DIRLIST.ADD_DIRLEVEL ; ¤®¡ ¢«¥¨¥ ᯨ᪠¤¨àë
|
||||
PUSH IY
|
||||
LD HL,(COPY.PathDst)
|
||||
SPDSS DSSF.MKDIR ; á®§¤ ¨¥ ¤¨àë ¯à¨¥¬¨ª¥
|
||||
; CALL C,DOSError
|
||||
LD HL,(COPY.PathSrc)
|
||||
SPDSS DSSF.CHDIR ; ᬥ ⥪ã饣® ¯ãâ¨
|
||||
; CALL C,DOSError
|
||||
POP IY
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
CALL ReadDIR
|
||||
CALL DIRLIST.MARK_ALL ; ¬ ન஢ª ¢á¥å ä ©«®¢/¤¨à
|
||||
LD HL,0xC000 + FileHDR.SIZE
|
||||
LD (COPY.PathCurrFile),HL
|
||||
JP CopyNextFile
|
||||
|
||||
BUF_MARKDIR
|
||||
.DIR_NAME DZ " " ; ¨¬ï ⥪ã饩 ¤¨à¥ªâ®à¨¨
|
||||
|
||||
DIRLIST
|
||||
; ¯®¬¥âª ¢á¥å ä ©«®¢/¤¨à
|
||||
.MARK_ALL LD IX,0xC000 - FileHDR.SIZE
|
||||
LD HL,0
|
||||
LD (COPY.CopyFiles),HL
|
||||
LD BC,FileHDR.SIZE
|
||||
.MLNEXT ADD IX,BC
|
||||
LD A,(IX + FileHDR.Name)
|
||||
AND A
|
||||
RET Z
|
||||
CP '.'
|
||||
JR Z,.MLNEXT
|
||||
SET FileHDR.B_MARK,(IX + FileHDR.Flag)
|
||||
EXX
|
||||
LD HL,COPY.CopyBytes
|
||||
LD E,(IX + FileHDR.SizeBytes)
|
||||
LD D,(IX + FileHDR.SizeBytes + 1)
|
||||
LD C,(IX + FileHDR.SizeBytes + 2)
|
||||
LD B,(IX + FileHDR.SizeBytes + 3)
|
||||
CALL HLPBCDE
|
||||
LD HL,(COPY.CopyFiles)
|
||||
INC HL
|
||||
LD (COPY.CopyFiles),HL
|
||||
EXX
|
||||
JR .MLNEXT
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¢ ᯨ᮪, á®§¤ ¨¥ ¤¨àë ¯à¨¥¬¨ª¥
|
||||
.ADD_DIRNAME PUSH IX
|
||||
POP HL
|
||||
INC HL
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
LD BC,8
|
||||
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤® ¯¥à¥ª«îç¥¨ï ¯ £
|
||||
LD A,(RAMPAGES.FLX)
|
||||
LD C,WINSP.CPU3
|
||||
IN B,(C)
|
||||
PUSH BC
|
||||
OUT (C),A
|
||||
LD HL,0xC000
|
||||
.ANNEXT CALL GET_DWORD
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.ANFOUND
|
||||
LD H,B
|
||||
LD L,C
|
||||
JR .ANNEXT
|
||||
|
||||
.ANFOUND PUSH HL
|
||||
LD HL,BUF_MARKDIR.DIR_NAME
|
||||
LD BC,8
|
||||
LDIR ; § ¥á«¨ ¨¬ï ¤¨àë ¢ ᯨ᮪
|
||||
POP HL
|
||||
DEC HL
|
||||
DEC HL
|
||||
LD (HL),D
|
||||
DEC HL
|
||||
LD (HL),E
|
||||
POP BC
|
||||
OUT (C),B
|
||||
RET
|
||||
|
||||
.ADDNAME2PATH8 CALL .CHECK_BSLASH
|
||||
LD (HL),'\\'
|
||||
INC HL
|
||||
EX DE,HL
|
||||
LD BC,8
|
||||
LDIR
|
||||
XOR A
|
||||
LD (DE),A
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¢ áâப㠯ãâ¨
|
||||
; HL - ªã¤ ¤®¡ ¢«ïâì (墮áâ ⥪ã饣® ¯ãâ¨)
|
||||
; DE - ®âªã¤ ¨¬ï ¡à âì
|
||||
.ADDNAME2PATH CALL .CHECK_BSLASH
|
||||
LD (HL),'\\'
|
||||
INC HL
|
||||
EX DE,HL
|
||||
; ª®¯¨à®¢ ¨¥ ¨¬¥¨ ¨§ ¡ãä¥à
|
||||
.COPYNAME2PATH XOR A
|
||||
.CNP2 CP (HL)
|
||||
JR Z,.CNP1
|
||||
LDI
|
||||
JR .CNP2
|
||||
|
||||
.CNP1 LD (DE),A
|
||||
RET
|
||||
|
||||
; ¯à®¢¥àª BACKSLASH
|
||||
.CHECK_BSLASH DEC HL
|
||||
LD A,(HL)
|
||||
CP '\\'
|
||||
RET Z
|
||||
INC HL
|
||||
RET
|
||||
|
||||
; ®âá¥ç¥¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥¨
|
||||
.CUTOFFSPACES LD A,' '
|
||||
.COS2 DEC HL
|
||||
CP (HL)
|
||||
JR Z,.COS2
|
||||
INC HL
|
||||
LD (HL),0
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ãà®¢ï ¤«ï ¤¨à
|
||||
.ADD_DIRLEVEL LD A,(RAMPAGES.FLX)
|
||||
LD C,WINSP.CPU3
|
||||
IN B,(C)
|
||||
PUSH BC
|
||||
OUT (C),A
|
||||
LD HL,0xC000
|
||||
.ALNEXT CALL GET_DWORD
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.ALFOUND
|
||||
LD H,B
|
||||
LD L,C
|
||||
JR .ALNEXT
|
||||
|
||||
.ALFOUND LD (HL),D
|
||||
DEC HL
|
||||
LD (HL),E
|
||||
LD H,D
|
||||
LD L,E
|
||||
INC DE
|
||||
INC DE
|
||||
INC DE
|
||||
INC DE
|
||||
LD (HL),E
|
||||
INC HL
|
||||
LD (HL),D
|
||||
INC HL
|
||||
LD (HL),0
|
||||
INC HL
|
||||
LD (HL),0
|
||||
POP BC
|
||||
OUT (C),B
|
||||
RET
|
||||
|
||||
; ¯®«ã票¥ ¨¬¥¨ ¤¨àë á 㤠«¥¨¥¬ ¨§ ᯨáª
|
||||
.GET_DIRNAME LD A,(RAMPAGES.FLX)
|
||||
LD C,WINSP.CPU3
|
||||
IN B,(C)
|
||||
PUSH BC
|
||||
OUT (C),A
|
||||
.GNRESTART LD HL,0xC000
|
||||
.GNNEXT CALL GET_DWORD
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.GNFOUND
|
||||
DEC HL
|
||||
LD (.GNEL1),HL
|
||||
LD H,B
|
||||
LD L,C
|
||||
JR .GNNEXT
|
||||
|
||||
.GNFOUND INC HL
|
||||
EX DE,HL
|
||||
AND A
|
||||
SBC HL,DE
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
LD B,H
|
||||
LD C,L
|
||||
EX DE,HL
|
||||
LD DE,8
|
||||
AND A
|
||||
SBC HL,DE
|
||||
INC BC
|
||||
.GNNEXT_FIND DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.GNEND_LEVEL
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
AND A
|
||||
JR Z,.GNNEXT_FIND
|
||||
PUSH HL
|
||||
EX DE,HL
|
||||
PUSH DE
|
||||
LD HL,(COPY.PathSrcEnd)
|
||||
CALL .ADDNAME2PATH8
|
||||
EX DE,HL
|
||||
CALL .CUTOFFSPACES
|
||||
LD (COPY.PathSrcEnd),HL
|
||||
POP DE
|
||||
LD HL,(COPY.PathDstEnd)
|
||||
CALL .ADDNAME2PATH8
|
||||
EX DE,HL
|
||||
CALL .CUTOFFSPACES
|
||||
LD (COPY.PathDstEnd),HL
|
||||
POP HL
|
||||
LD (HL),0
|
||||
POP BC
|
||||
OUT (C),B
|
||||
AND A
|
||||
RET
|
||||
|
||||
.GNEND_LEVEL LD HL,0
|
||||
.GNEL1 EQU $-2
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.GNEL2
|
||||
XOR A
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),A
|
||||
LD DE,0xC000 + DWORD - 1
|
||||
EX DE,HL
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
JR Z,.GNEL2
|
||||
LD HL,(COPY.PathSrcEnd)
|
||||
CALL .GNEL4
|
||||
LD (COPY.PathSrcEnd),HL
|
||||
LD HL,(COPY.PathDstEnd)
|
||||
CALL .GNEL4
|
||||
LD (COPY.PathDstEnd),HL
|
||||
JP .GNRESTART
|
||||
|
||||
.GNEL4 DEC HL
|
||||
LD A,'\\'
|
||||
.GNEL3 DEC HL
|
||||
CP (HL)
|
||||
JR NZ,.GNEL3
|
||||
INC HL
|
||||
LD (HL),0
|
||||
RET
|
||||
|
||||
.GNEL2 POP BC
|
||||
OUT (C),B
|
||||
SCF
|
||||
RET
|
||||
|
||||
; ¨¨æ¨ «¨§ æ¨ï ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨¨ á ᮤ¥à¦¨¬ë¬
|
||||
.InitCopyDirs BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,LeftPanel + PANEL.CURR_PATH ; ¤«ï ¯ã⨠®âªã¤ ª®¯¨à®¢ âì
|
||||
LD DE,RightPanel + PANEL.CURR_PATH ; ¤«ï ¯ã⨠ªã¤ ª®¯¨à®¢ âì
|
||||
JR Z,.L1
|
||||
EX DE,HL
|
||||
; ¢ª«îç ¥¬ ¯ £ã á ¤¨à¥ªâ®à¨¥© ⥪ã饩 ¯ ¥«¨
|
||||
.L1 LD (COPY.PathSrc),HL
|
||||
EX DE,HL
|
||||
LD (COPY.PathDst),HL
|
||||
.L2 INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD (COPY.PathDstEnd),HL
|
||||
EX DE,HL
|
||||
XOR A
|
||||
.L3 INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L3
|
||||
LD (COPY.PathSrcEnd),HL
|
||||
; ¨¨â ¢ áâà ¨æ¥ á¯¨áª®¢ ¤¨à¥ªâ®à¨©
|
||||
GETPORT WINSP.CPU3
|
||||
EX AF,AF'
|
||||
LD A,(RAMPAGES.FLX)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xC000
|
||||
LD (HL),LOW (0xC000 + DWORD)
|
||||
INC HL
|
||||
LD (HL),HIGH (0xC000 + DWORD)
|
||||
INC HL
|
||||
LD D,H
|
||||
LD E,L
|
||||
INC DE
|
||||
LD BC,FileHDR.Name_Size * 2
|
||||
LD (HL),B
|
||||
LDIR
|
||||
EX AF,AF'
|
||||
SETPORT WINSP.CPU3,,0
|
||||
RET
|
||||
|
||||
; á®åà ¥¨¥ ¯ã⥩ ¯ ¥«¥©
|
||||
StorePaths LD HL,LeftPanel + PANEL.CURR_PATH
|
||||
LD DE,REZ2_BUFFERS.OLDLEFTPANEL
|
||||
LD BC,PANEL.CURR_PATH_Size
|
||||
LDIR
|
||||
LD HL,RightPanel + PANEL.CURR_PATH
|
||||
LD DE,REZ2_BUFFERS.OLDRIGHTPANEL
|
||||
LD BC,PANEL.CURR_PATH_Size
|
||||
LDIR
|
||||
RET
|
||||
|
||||
; ¢®ááâ ®¢«¥¨¥ ¯ã⥩ ¯ ¥«¥©
|
||||
RestorePaths LD HL,REZ2_BUFFERS.OLDLEFTPANEL
|
||||
LD DE,LeftPanel + PANEL.CURR_PATH
|
||||
LD BC,PANEL.CURR_PATH_Size
|
||||
LDIR
|
||||
LD HL,REZ2_BUFFERS.OLDRIGHTPANEL
|
||||
LD DE,RightPanel + PANEL.CURR_PATH
|
||||
LD BC,PANEL.CURR_PATH_Size
|
||||
LDIR
|
||||
RET
|
||||
|
||||
; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à ®â¬¥ç¥®© ¤¨à¥ªâ®à¨¨
|
||||
CalcDirSizeR: PUSH IX
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF ; ⥪ã騩 ®¬¥à áâà ¨æë
|
||||
LD (.CURR_PANEL),IY
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
CALL ReadDIR
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD A,HIGH (CPU3)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD (COPY.PathCurrFile),HL
|
||||
XOR A
|
||||
LD H,A
|
||||
LD L,A
|
||||
LD (JUMPS.FILES_BYTES),HL
|
||||
LD (JUMPS.FILES_BYTES + 2),HL ; ®¡ã«¥¨¥ à §¬¥à ¤¨àë
|
||||
LD (JUMPS.FILES_COUNT),HL ; ®¡ã«¥¨¥ ª®«¨ç¥áâ¢ ä ©«®¢
|
||||
LD (COPY.CopyFiles),HL
|
||||
CALL StorePaths
|
||||
CALL DIRLIST.InitCopyDirs
|
||||
.NextDirFile LD IX,(COPY.PathCurrFile)
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
JR Z,.NextFile
|
||||
; § ®á¨¬ ¨¬ï ¤¨àë ¢ ᯨ᮪ ¤«ï ¤ «ì¥©è¥£® ¨á¯®«ì§®¢ ¨ï
|
||||
CALL DIRLIST.ADD_DIRNAME
|
||||
JP .NextHandle
|
||||
|
||||
; ¤«ï ä ©« ¤®¡ ¢«ï¥¬ ¥£® à §¬¥à ¨ ª®«¨ç¥á⢮ +1
|
||||
.NextFile LD HL,(JUMPS.FILES_COUNT)
|
||||
INC HL
|
||||
LD (JUMPS.FILES_COUNT),HL ; ¨ªà¥¬¥â ª®«¨ç¥áâ¢ ä ©«®¢
|
||||
PUSH IX
|
||||
POP DE
|
||||
LD HL,FileHDR.SizeBytes
|
||||
ADD HL,DE
|
||||
CALL GET_DWORD
|
||||
LD HL,JUMPS.FILES_BYTES
|
||||
CALL HLPBCDE ; ¤®¡ ¢¨«¨ ª ⥪ã饬ã à §¬¥àã
|
||||
; ¯à®¢¥àª ®ª®ç ¨¥ ®¯¨á ⥫¥©
|
||||
.NextHandle LD HL,(COPY.CopyFiles)
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.ENDDIR
|
||||
DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.ENDDIR
|
||||
LD (COPY.CopyFiles),HL
|
||||
LD HL,(COPY.PathCurrFile)
|
||||
LD DE,FileHDR.SIZE
|
||||
.L5 ADD HL,DE ; á«¥¤ãî騩 ®¯¨á ⥫ì
|
||||
BIT FileHDR.B_MARK,(HL)
|
||||
JR Z,.L5
|
||||
LD (COPY.PathCurrFile),HL
|
||||
JP .NextDirFile
|
||||
|
||||
.ENDDIR LD IY,0
|
||||
.CURR_PANEL EQU $-2
|
||||
CALL DIRLIST.GET_DIRNAME ; ¯®«ã票¥ ¨¬¥¨ ¤¨àë, ¥á«¨ ¥áâì
|
||||
JP C,.CalcEnd ; C=1 ⥪ãé ï ¤¨àë ª®ç¨« áì ¨«¨ ¨å ¥â
|
||||
CALL DIRLIST.ADD_DIRLEVEL ; ¤®¡ ¢«¥¨¥ ᯨ᪠¤¨àë
|
||||
PUSH IY
|
||||
LD HL,(COPY.PathSrc)
|
||||
SPDSS DSSF.CHDIR ; ᬥ ⥪ã饣® ¯ãâ¨
|
||||
; CALL C,DOSError
|
||||
POP IY
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
|
||||
CALL ReadDIR
|
||||
CALL DIRLIST.MARK_ALL ; ¬ ન஢ª ¢á¥å ä ©«®¢/¤¨à
|
||||
LD HL,0xC000 + FileHDR.SIZE
|
||||
LD (COPY.PathCurrFile),HL
|
||||
JP .NextDirFile
|
||||
|
||||
.CalcEnd CALL RestorePaths
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,LeftPanel + PANEL.CURR_PATH
|
||||
JR Z,.CD1
|
||||
LD HL,RightPanel + PANEL.CURR_PATH
|
||||
.CD1
|
||||
; LD HL,(COPY.PathSrc)
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
|
||||
; § ¢¥à襨¥ ª®¯¨à®¢ ¨ï
|
||||
CopyEnd POP AF
|
||||
CopyEnd CALL RestorePaths
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
WINDOWCLOSE
|
||||
@ -513,6 +899,7 @@ CopyEnd POP AF
|
||||
LD IY,RightPanel
|
||||
JR Z,.L1
|
||||
LD IY,LeftPanel
|
||||
; ®¡®¢«¥¨¥ ¯ ¥«¨ ¯à¨¥¬¨ª
|
||||
.L1 PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURR_PATH
|
||||
@ -525,6 +912,7 @@ CopyEnd POP AF
|
||||
POP AF
|
||||
CALL NC,RefreshDIR
|
||||
POP IY
|
||||
; ®¡®¢«¥¨¥ ¯ ¥«¨ ¨áâ®ç¨ª
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURR_PATH
|
||||
@ -532,12 +920,19 @@ CopyEnd POP AF
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
PUSH AF
|
||||
CALL C,DOSError
|
||||
POP AF
|
||||
PUSH AF
|
||||
CALL NC,RefreshDIR
|
||||
POP AF
|
||||
JP C,BegDIRECTORY
|
||||
CALL PrintDIR
|
||||
CALL PrnFileInfo
|
||||
JP PointerMousePointer
|
||||
|
||||
CopyError3: ; …᫨ ¥â ¬¥áâ ¤¨áª¥ ¤«ï ª®¯¨à®¢ ¨ï ;!FIXIT ®¯â¨¬¨§¨à®¢ âì
|
||||
; !FIXIT ®¯â¨¬¨§¨à®¢ âì
|
||||
CopyError3: ; …᫨ ¥â ¬¥áâ ¤¨áª¥ ¤«ï ª®¯¨à®¢ ¨ï
|
||||
POP HL ; ᨬ ¥¬ «¨è¥¥
|
||||
POP DE ; âãâ «¥¦¨â AF
|
||||
PUSH AF
|
||||
@ -706,22 +1101,7 @@ OverExit INC SP
|
||||
POP IY
|
||||
JP CopyEnd
|
||||
|
||||
;--------------------------------------------------------------
|
||||
COPY
|
||||
.PathCurrFile DW 0 ; €¤à¥á ®¯¨á ⥫ï ⥪ã饣® ä ©« /¤¨àë
|
||||
.PathSrc DW 0 ; €¤à¥á ¯ã⨠¨áâ®ç¨ª
|
||||
.PathDst DW 0 ; €¤à¥á ¯ã⨠¯à¨¥¬¨ª
|
||||
.CopyFiles DW 0 ; Š®«¨ç¥á⢮ ª®¯¨à㥬ëå ä ©«®¢
|
||||
.CopyBytes DB 5 DUP 0 ; Š®«¨ç¥á⢮ ª®¯¨à㥬ëå ¡ ©â®¢
|
||||
.OverWriteFlg DB 0 ; ”« £ ¯¥à¥§ ¯¨á¨ ä ©«®¢
|
||||
.FreeBanks DW 0 ; Š®«¨ç¥á⢮ ᢮¡®¤ëå ¡ ª®¢
|
||||
.CurrReadBytes DD 0 ; „«¨ ç¨â ¥¬®£® ä ©«
|
||||
.CurrWriteBytes DD 0 ; „«¨ § ¯¨áë¢ ¥¬®£® ä ©«
|
||||
.FHandleSrc DB 0 ; ” ©« ¨áâ®ç¨ª
|
||||
.FHandleDst DB 0 ; ” ©« ¯à¨¥¬¨ª
|
||||
.MemID DB 0 ; ˆ¤¥â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ª®¯¨à®¢ ¨¥
|
||||
;--------------------------------------------------------------
|
||||
|
||||
; Š®¢¥àá¨ï à §¬¥à ¢ ¡ ©â å ¢ ª®«¨ç¥á⢮ áâà ¨æ
|
||||
; <20> ¢å®¤¥:
|
||||
; DEHL - ª®«¨ç¥á⢮ ¡ ©â
|
||||
; <20> ¢ë室¥:
|
||||
@ -858,11 +1238,17 @@ ProcessOne DW 178 ; X
|
||||
DW 0
|
||||
DB COLORP.BLUE + COLORI.WHITE
|
||||
|
||||
PathStr DB 0x80,0x00,0x00,0x00
|
||||
PathLen DB 0x00
|
||||
DW 170,106,324
|
||||
DB 0xF0
|
||||
CurPath DB 0x81 DUP 0
|
||||
; ®¯¨á ⥫ì áâப¨
|
||||
PathStr DB 255 ; +00 Œ ªá¨¬ «ì ï ¤«¨ áâப¨
|
||||
DB 0 ; +01 ”« £ £®â®¢®áâ¨
|
||||
DB 0 ; +02 ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à
|
||||
DB 0 ; +03 ⥪ãé ï AddX
|
||||
PathLen DB 0 ; +04 ª®«¨ç¥á⢮ ¢¢¥¤¥ëå ᨬ¢®«®¢
|
||||
DW 170 ; +05 X ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
DW 106 ; +07 Y ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
DW 324 ; +09 X ¤«¨ áâப¨ íªà ¥
|
||||
DB COLORP.WHITE + COLORI.BLACK ; +0B –¢¥â áâப¨
|
||||
CurPath DB 256 DUP 0 ; +0C ...á ¬ áâப
|
||||
|
||||
;[]==========================================================[]
|
||||
ReNameR LD A,(IY + PANEL.FILES_ALL)
|
||||
@ -888,9 +1274,6 @@ ReNameR LD A,(IY + PANEL.FILES_ALL)
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
INC HL
|
||||
@ -898,7 +1281,7 @@ ReNameR LD A,(IY + PANEL.FILES_ALL)
|
||||
LD DE,CurName
|
||||
LD BC,0x000D
|
||||
LDIR
|
||||
LD A,DIR.M_Dir;0x10
|
||||
LD A,DIR.M_Dir
|
||||
LD (CurAttrib),A
|
||||
JR ReNameN
|
||||
|
||||
@ -909,9 +1292,6 @@ ReNameNr ADD HL,HL ; *2
|
||||
LD D,H
|
||||
ADD HL,HL ; *10
|
||||
ADD HL,DE ; *18
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H ; | 0xC000
|
||||
PUSH HL
|
||||
@ -919,7 +1299,7 @@ ReNameNr ADD HL,HL ; *2
|
||||
LD DE,CurName
|
||||
CALL MakeDOSname
|
||||
POP HL
|
||||
LD BC,FileHDR.Attr;0x000E
|
||||
LD BC,FileHDR.Attr
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
LD (CurAttrib),A
|
||||
@ -980,7 +1360,8 @@ RNfile EQU $ - STRLEN(" ") - 2
|
||||
LD A,(NameLen)
|
||||
OR A
|
||||
RET Z
|
||||
;[ ] -¡ £ ¯à¨ ¯¥à¥¨¬¥®¢ ¨¨ ä ©« ¢ ¡ãä¥à¥ Name ¢ ª®æ¥ ¨¬¥¨ ä ©« ¥ ¢á¥£¤ áâ®ï« § ªàë¢ î騩 0 ª®£¤ ¤®. ILDel1
|
||||
; [ ] -¡ £ ¯à¨ ¯¥à¥¨¬¥®¢ ¨¨ ä ©« ¢ ¡ãä¥à¥ Name ¢ ª®æ¥ ¨¬¥¨
|
||||
; ä ©« ¥ ¢á¥£¤ áâ®ï« § ªàë¢ î騩 0 ª®£¤ ¤®. ILDel1
|
||||
LD HL,Name
|
||||
LD E,A
|
||||
LD D,0
|
||||
@ -1141,9 +1522,6 @@ ReNameDIR LD HL,Name
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
ADD HL,HL ; *10
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
EX DE,HL
|
||||
@ -1157,11 +1535,7 @@ ReNameTree BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL FindTreeDIRR
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
ENDIF
|
||||
JP C,ReNameT
|
||||
LD HL,0xC001 - 0x10
|
||||
LD BC,0x0010
|
||||
@ -1285,17 +1659,9 @@ ReNameExt1 INC SP
|
||||
LD DE,PANEL.BAR_X
|
||||
ADD IX,DE
|
||||
CALL DrawVScrollBar
|
||||
IF TREE_REZID
|
||||
CALL TestTreeR.TestTreeBeg
|
||||
ELSE
|
||||
CALL TestTreeR.TestTreeBeg
|
||||
ENDIF
|
||||
PUSH IY
|
||||
IF TREE_REZID
|
||||
CALL MakeTreePathR
|
||||
ELSE
|
||||
CALL MakeTreePathR
|
||||
ENDIF
|
||||
EX DE,HL
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
@ -1481,11 +1847,7 @@ MkDIR0 LD HL,NewDIR
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL FindTreeDIRR
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
ENDIF
|
||||
JP C,MkDIRn
|
||||
LD HL,0xC001 - 0x10
|
||||
LD BC,0x0010
|
||||
@ -1503,9 +1865,6 @@ FnTree1 LD L,(IY + PANEL.FIRST_FILE)
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
FnTree2 LD E,(HL)
|
||||
@ -1562,9 +1921,6 @@ MkDIRend PUSH HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
PUSH HL
|
||||
@ -1737,9 +2093,6 @@ DeleteFilesR LD A,(IY + PANEL.FILES_ALL)
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
LD (AdrDelFile),HL
|
||||
@ -1753,9 +2106,6 @@ DelFile ADD HL,HL
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
LD (AdrDelFile),HL
|
||||
@ -1877,9 +2227,7 @@ DeleteFlag DEFB 0x00
|
||||
MakeDELname LD HL,(AdrDelFile)
|
||||
INC HL
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
; JR NZ,MakeDELn1
|
||||
JP Z,MakeDOSname
|
||||
;MakeDELn1
|
||||
INC HL
|
||||
SUB A
|
||||
.L1 LDI
|
||||
@ -1964,13 +2312,13 @@ DelDel0 LD IX,(AdrDelFile)
|
||||
PUSH DE
|
||||
CALL MakeDELname
|
||||
POP HL
|
||||
LD C,DSSF.RMDIR ;0x1C ;RMDIR
|
||||
LD C,DSSF.RMDIR
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
JR NZ,DelDel1
|
||||
LD A,(IX + FileHDR.Attr)
|
||||
BIT DIR.B_Dir,A
|
||||
JR NZ,DelDel1
|
||||
LD C,DSSF.DELETE ;0x0E ;DELETE
|
||||
LD C,DSSF.DELETE
|
||||
DelDel1 PUSH IY
|
||||
SPDSS
|
||||
POP IY
|
||||
@ -2050,9 +2398,9 @@ DelFrom EQU $-2
|
||||
POP HL
|
||||
LD A,(IX + FileHDR.Attr)
|
||||
BIT DIR.B_Dir,A
|
||||
LD C,DSSF.DELETE ;0x0E ;DELETE
|
||||
LD C,DSSF.DELETE
|
||||
JR Z,.L3
|
||||
LD C,DSSF.RMDIR ;0x1C ;RMDIR
|
||||
LD C,DSSF.RMDIR
|
||||
.L3 PUSH IY
|
||||
SPDSS
|
||||
POP IY
|
||||
@ -2177,11 +2525,7 @@ DelTreeDIR1 LD A,(DeleteFlag)
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL FindTreeDIRR
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
ENDIF
|
||||
JP C,DelDIRn
|
||||
LD HL,0xC001-0x10
|
||||
LD BC,0x0010
|
||||
@ -2231,15 +2575,12 @@ DelTree1 LD L,(IY + PANEL.FIRST_FILE)
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
DelTree2 LD E,(HL)
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD BC,FileHDR.Attr;0x000E
|
||||
LD BC,FileHDR.Attr
|
||||
ADD HL,BC
|
||||
LD D,(HL)
|
||||
INC HL
|
||||
@ -2254,9 +2595,6 @@ DelTree2 LD E,(HL)
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
SET 6,H
|
||||
SET 7,H
|
||||
OR A
|
||||
@ -2405,11 +2743,7 @@ DeleteExt1 INC SP
|
||||
ADD IX,DE
|
||||
CALL InitScrollBar
|
||||
CALL DrawVScrollBar
|
||||
IF TREE_REZID
|
||||
CALL MakeTreePathR
|
||||
ELSE
|
||||
CALL MakeTreePathR
|
||||
ENDIF
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
@ -2421,41 +2755,20 @@ DeleteExt1 INC SP
|
||||
|
||||
DelName DB 13 DUP 0
|
||||
|
||||
;[]==========================================================[]
|
||||
QuitConfirmWin
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 208,88,224,50
|
||||
W_FILL 4,2,216,10,COLORI.BLACK
|
||||
W_TEXT 104,3,COLORI.WHITE,"Quit"
|
||||
W_TEXT 28,19,COLORP.HIGHGRAY,"Do you want quit Flex Navigator ?"
|
||||
W_BUTTON 32,32,72,14
|
||||
W_TEXT 58,35,COLORP.HIGHGRAY,"Yes"
|
||||
W_BUTTON 120,32,72,14
|
||||
W_TEXT 150,35,COLORP.HIGHGRAY,"No"
|
||||
W_END
|
||||
.Loop LD IX,REZ2TAB.QuitTab
|
||||
CALL CheckCoordsMouse
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,.Loop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,.Loop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,.Abort
|
||||
CP 0x0D
|
||||
JR Z,.OK
|
||||
RES 5,A
|
||||
CP 'Y'
|
||||
JR Z,.OK
|
||||
CP 'N'
|
||||
JR NZ,.Loop
|
||||
.Abort
|
||||
WINDOWCLOSE
|
||||
SCF
|
||||
RET
|
||||
|
||||
.OK
|
||||
WINDOWCLOSE
|
||||
OR A
|
||||
RET
|
||||
;--------------------------------------------------------------
|
||||
COPY
|
||||
.PathCurrFile DW 0 ; €¤à¥á ®¯¨á ⥫ï ⥪ã饣® ä ©« /¤¨àë
|
||||
.PathSrc DW 0 ; €¤à¥á ¯ã⨠¨áâ®ç¨ª
|
||||
.PathDst DW 0 ; €¤à¥á ¯ã⨠¯à¨¥¬¨ª
|
||||
.PathSrcEnd DW 0 ; €¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
.PathDstEnd DW 0 ; €¤à¥á 墮áâ ¯ã⨠¯à¨¥¬¨ª
|
||||
.CopyFiles DW 0 ; Š®«¨ç¥á⢮ ª®¯¨à㥬ëå ä ©«®¢
|
||||
.CopyBytes DB 5 DUP 0 ; Š®«¨ç¥á⢮ ª®¯¨à㥬ëå ¡ ©â®¢
|
||||
.OverWriteFlg DB 0 ; ”« £ ¯¥à¥§ ¯¨á¨ ä ©«®¢
|
||||
.FreeBanks DW 0 ; Š®«¨ç¥á⢮ ᢮¡®¤ëå ¡ ª®¢
|
||||
.CurrReadBytes DD 0 ; „«¨ ç¨â ¥¬®£® ä ©«
|
||||
.CurrWriteBytes DD 0 ; „«¨ § ¯¨áë¢ ¥¬®£® ä ©«
|
||||
.FHandleSrc DB 0 ; ” ©« ¨áâ®ç¨ª
|
||||
.FHandleDst DB 0 ; ” ©« ¯à¨¥¬¨ª
|
||||
.MemID DB 0 ; ˆ¤¥â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ª®¯¨à®¢ ¨¥
|
||||
;--------------------------------------------------------------
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 31.07.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
QSearchR LD A,(IY+PANEL.FILES_ALL)
|
||||
@ -120,7 +120,7 @@ InsSymbolSrch CP 0x20
|
||||
LD B,0x00
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x04)
|
||||
ADD HL,DE
|
||||
@ -130,7 +130,7 @@ InsSymbolSrch CP 0x20
|
||||
LDDR
|
||||
NotInsSrch PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
ADD HL,DE
|
||||
@ -198,7 +198,7 @@ QSdelet LD A,(IX+0x02)
|
||||
RET Z
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
LD DE,INPUTFORM.BUFLINE
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
ADD HL,DE
|
||||
@ -378,9 +378,5 @@ SrchExit POP HL
|
||||
SearchExit
|
||||
WINDOWCLOSE
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
IF TREE_REZID
|
||||
CALL NZ,TestTreeR.TestTreeBeg
|
||||
ELSE
|
||||
CALL NZ,TestTreeR.TestTreeBeg
|
||||
ENDIF
|
||||
JP NZ,TestTreeR.TestTreeBeg
|
||||
RET
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 15.08.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
@ -102,15 +102,5 @@ REZ2TAB
|
||||
DW 0,640,136,256,%0000000100100000,0,DelExit,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
.QuitTab:
|
||||
DW 240,312,120,134,%0000000000100001,0,QuitConfirmWin.OK,0
|
||||
DW 328,400,120,134,%0000000000100001,0,QuitConfirmWin.Abort,0
|
||||
DW 0,208, 0,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 432,640, 0,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0,640, 0, 88,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0,640,138,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0x8000
|
||||
|
||||
.EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
|
||||
DW 0x8000
|
||||
|
||||
689
rez3_fnmark.a80
689
rez3_fnmark.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 07.09.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
MarkFileR LD A,(IY+PANEL.FILES_ALL)
|
||||
@ -15,20 +15,8 @@ MarkFileR LD A,(IY+PANEL.FILES_ALL)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *16
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H
|
||||
SET 7,H ; | 0xC000
|
||||
LD A,HIGH (CPU3)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD E,(HL) ; FileHDR.Flag
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
@ -64,20 +52,8 @@ UnSelectFile: LD IXL,0x00
|
||||
.L2
|
||||
SETPORT WINSP.CPU3,,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *16
|
||||
ADD HL,DE ; *18 - FileHDR.SIZE
|
||||
SET 6,H
|
||||
SET 7,H ; | 0xC000
|
||||
LD A,HIGH (CPU3)
|
||||
CALL GET_HANDLE_ADR
|
||||
PUSH HL
|
||||
LD DE,FileHDR.Attr
|
||||
ADD HL,DE
|
||||
@ -85,9 +61,13 @@ UnSelectFile: LD IXL,0x00
|
||||
POP HL
|
||||
BIT DIR.B_Dir,C ; íâ® ¤¨à ?
|
||||
IF MARK_DIR
|
||||
CALL NZ,CountingDirR ; ¨§¬¥à¥¨¥ à §¬¥à ¤¨àë
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL NZ,RESIDENT.CalcDirSize ; ¨§¬¥à¥¨¥ à §¬¥à ¤¨àë
|
||||
POP BC
|
||||
POP HL
|
||||
ELSE
|
||||
JR NZ,.MrFile1 ; ¤¨à¥ª®à¨¨ ª®¯¨à®¢ âì ¥ 㬥¥¬, ⮫쪮 ä ©«ë
|
||||
JR NZ,.MrFile1 ; ¤¨à¥ªâ®à¨¨ ª®¯¨à®¢ âì ¥ 㬥¥¬, ⮫쪮 ä ©«ë
|
||||
ENDIF
|
||||
; íâ® ä ©«
|
||||
LD B,(HL) ; áâ ஥ á®áâ®ï¨¥ ¯®¬¥âª¨ ä ©«
|
||||
@ -98,10 +78,10 @@ UnSelectFile: LD IXL,0x00
|
||||
PUSH BC
|
||||
LD BC,FileHDR.SIZE
|
||||
LDIR
|
||||
IF MARK_DIR
|
||||
BIT DIR.B_Dir,A ; ä ©« ¨«¨ ¤¨à
|
||||
JR Z,.L8
|
||||
IF MARK_DIR
|
||||
; ª®¯¨à㥬 à §¬¥à ¢ ¡ ©â å ¨§ à §¬¥à ¤¨àë
|
||||
; ª®¯¨à㥬 à §¬¥à ¢ ¡ ©â å ¢ à §¬¥à ¤¨àë
|
||||
LD HL,JUMPS.FILES_BYTES
|
||||
LD DE,WorkBuffer + FileHDR.SizeBytes
|
||||
LD BC,DWORD
|
||||
@ -467,14 +447,14 @@ SMask21 LD (DE),A
|
||||
SelectAllR: CALL ResInvert
|
||||
SelectAllRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD A,(IY+PANEL.FILES_ALL)
|
||||
OR (IY+PANEL.FILES_ALL + 1)
|
||||
LD A,(IY + PANEL.FILES_ALL)
|
||||
OR (IY + PANEL.FILES_ALL + 1)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
@ -496,6 +476,8 @@ SelectAllRN: LD HL,SetInvert
|
||||
EX AF,AF' ; [ ] fat32
|
||||
.loop: BIT DIR.B_Dir,(IX + FileHDR.Attr) ;!HARDCODE DIRECTORY
|
||||
JR NZ,.SelAll1
|
||||
; ¬ ન஢ª ⮫쪮 ä ©«®¢
|
||||
PUSH BC
|
||||
SET FileHDR.B_MARK,(IX + FileHDR.Flag)
|
||||
LD C,(IX + FileHDR.SizeBytes)
|
||||
LD B,(IX + FileHDR.SizeBytes + 1)
|
||||
@ -511,7 +493,8 @@ SelectAllRN: LD HL,SetInvert
|
||||
EXX
|
||||
INC HL
|
||||
EXX
|
||||
LD BC,FileHDR.SIZE
|
||||
; LD BC,FileHDR.SIZE
|
||||
POP BC
|
||||
.SelAll1: ADD IX,BC
|
||||
LD A,(IX + FileHDR.Name)
|
||||
OR A
|
||||
@ -534,7 +517,7 @@ SelectAllRN: LD HL,SetInvert
|
||||
LD (IY+PANEL.BYTES_MARK + 3),D
|
||||
; [ ] FAT32
|
||||
EX AF,AF'
|
||||
LD (IY+PANEL.BYTES_MARK_H),A
|
||||
LD (IY + PANEL.BYTES_MARK_H),A
|
||||
CALL PrintDIR
|
||||
JP PrnFileInfo
|
||||
|
||||
@ -542,13 +525,13 @@ SelectAllRN: LD HL,SetInvert
|
||||
UnSelectAllR: CALL ResInvert
|
||||
UnSelectAllRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD A,(IY+PANEL.FILES_ALL)
|
||||
OR (IY+PANEL.FILES_ALL + 1)
|
||||
LD A,(IY + PANEL.FILES_ALL)
|
||||
OR (IY + PANEL.FILES_ALL + 1)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
LD A,(IY+PANEL.FILES_MARK)
|
||||
OR (IY+PANEL.FILES_MARK + 1)
|
||||
LD A,(IY + PANEL.FILES_MARK)
|
||||
OR (IY + PANEL.FILES_MARK + 1)
|
||||
RET Z
|
||||
PUSH IY
|
||||
POP HL
|
||||
@ -560,7 +543,7 @@ UnSelectAllRN: LD HL,SetInvert
|
||||
DJNZ .L2
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
@ -678,619 +661,3 @@ SUB_SIZE: EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
EX AF,AF'
|
||||
RET
|
||||
|
||||
IF MARK_DIR
|
||||
BUF_MARKDIR
|
||||
.FILES_MASK DZ "*.*" ; ¬ áª ä ©«®¢
|
||||
.RET_DIR DZ ".. " ; ¤«ï ¢ë室 ¨§ ¤¨à¥ªâ®à¨¨
|
||||
.DIR_NAME DZ " " ; ¨¬ï ⥪ã饩 ¤¨à¥ªâ®à¨¨
|
||||
|
||||
; ª®¯¨à®¢ ¨¥ ¤¨à¥ªâ®à¨¨
|
||||
CopyDirR PUSH IX
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FLX)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
|
||||
.EXIT POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨à¥ªâ®à¨¨ ¢ ᯨ᮪ ¨/¨«¨ ¢å®¤/¢ë室
|
||||
Add2ListDirR
|
||||
PUSH IX
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FLX)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
PUSH IX
|
||||
POP DE
|
||||
LD HL,FileHDR.Name
|
||||
ADD HL,DE ; ᬥ饨¥ ¤® ¨¬¥¨ ¢ ®¯¨á ⥫¥
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
PUSH DE
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë
|
||||
EX DE,HL
|
||||
CALL .CUTOFFSPACES ; ®âá¥ç¥¨¥ ¯à®¡¥«®¢
|
||||
|
||||
; ¢ë室
|
||||
.EXIT POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
; ®âá¥ç¥¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥¨
|
||||
.CUTOFFSPACES LD A,' '
|
||||
.COS2 DEC HL
|
||||
CP (HL)
|
||||
JR Z,.COS2
|
||||
INC HL
|
||||
LD (HL),0
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ".." ¤«ï ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.ADD_2DOT PUSH HL
|
||||
LD HL,BUF_MARKDIR.RET_DIR
|
||||
LD DE,(BUFFERS.CURR_DIRNAME)
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
LD (BUFFERS.CURR_DIRNAME),DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¢ áâப㠯ãâ¨
|
||||
; HL - ªã¤ ¤®¡ ¢«ïâì (墮áâ ⥪ã饣® ¯ãâ¨)
|
||||
; DE - ®âªã¤ ¨¬ï ¡à âì
|
||||
.ADDNAME2PATH CALL .CHECK_BSLASH
|
||||
LD (HL),'\\'
|
||||
INC HL
|
||||
EX DE,HL
|
||||
; ª®¯¨à®¢ ¨¥ ¨¬¥¨ ¨§ ¡ãä¥à
|
||||
.COPYNAME2PATH XOR A
|
||||
.CNP2 CP (HL)
|
||||
JR Z,.CNP1
|
||||
LDI
|
||||
JR .CNP2
|
||||
|
||||
.CNP1 LD (DE),A
|
||||
RET
|
||||
|
||||
; ¯à®¢¥àª BACKSLASH
|
||||
.CHECK_BSLASH DEC HL
|
||||
LD A,(HL)
|
||||
CP '\\'
|
||||
RET Z
|
||||
INC HL
|
||||
RET
|
||||
|
||||
; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à ®â¬¥ç¥®© ¤¨à¥ªâ®à¨¨
|
||||
; IX - ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ¨æ¥ ¯ ¥«¨ ª®â®àãî ¬¥àïâì
|
||||
CountingDirR PUSH IX
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF ; ⥪ã騩 ®¬¥à áâà ¨æë
|
||||
PUSH IX
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1 ; ¢ª«îç ¥¬ ¯ £ã á ¤¨à¥ªâ®à¨¥© ⥪ã饩 ¯ ¥«¨
|
||||
SETPORT WINSP.CPU3,,0
|
||||
XOR A
|
||||
LD H,A
|
||||
LD L,A
|
||||
LD IXH,A ; ®¡ã«¥¨¥ ãà®¢ï ¢å®¦¤¥¨ï ¢ ¤¨àë
|
||||
LD (JUMPS.FILES_BYTES),HL
|
||||
LD (JUMPS.FILES_BYTES + 2),HL ; ®¡ã«¥¨¥ à §¬¥à ¤¨àë
|
||||
LD (JUMPS.FILES_COUNT),HL ; ®¡ã«¥¨¥ ª®«¨ç¥áâ¢ ä ©«®¢
|
||||
LD HL,CPU3
|
||||
LD (BUFFERS.CURR_DIRNAME),HL
|
||||
; á®åà ¥¨¥ ⥪ã饣® ¯ã⨠¤«ï ¢®§¢à â
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,BUFFERS.OLDPATH ; á®åà ¥ë© ¯ãâì ¤«ï ¢®§¢à â
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP DE
|
||||
JP C,.END_COUNT
|
||||
; ¢å®¤ ¢ ¤¨à¥ªâ®à¨î
|
||||
LD HL,FileHDR.Name
|
||||
ADD HL,DE
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
PUSH DE
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ¨§¬¥à¥¨ï
|
||||
LD A,(RAMPAGES.FLX)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
CALL .ADD_2DOT ; ¤«ï ¢®§¢à â ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
POP HL
|
||||
LD DE,(BUFFERS.CURR_DIRNAME)
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; ¨¬ï ¤¨àë ¤«ï ¢å®¤
|
||||
LD (BUFFERS.CURR_DIRNAME),DE
|
||||
XOR A
|
||||
LD (DE),A
|
||||
CALL .SET_PATH ; ãáâ ®¢ª ⥪ã饣® ¯ãâ¨
|
||||
INC IXH ; á«¥¤ãî騩 ã஢¥ì ¤¨àë
|
||||
.CONTINUE CALL .ADD_2DOT ; ¤«ï ¢®§¢à â ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
CALL .COUNT_FILES
|
||||
LD A,IXL
|
||||
AND A ; §¤¥áì ¤¨àë ¥áâì?
|
||||
JR Z,.PREV_DIR ; ¤¨àë ¥ ©¤¥ë
|
||||
CALL .SET_PATH ; ¢å®¤ ¢ ¤¨àã ¨§ ᯨáª
|
||||
INC IXH ; á«¥¤ãî騩 ã஢¥ì ¤¨àë
|
||||
JR .CONTINUE
|
||||
|
||||
; ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.PREV_DIR CALL .OUT_DIR
|
||||
LD A,IXH ; ã஢¥ì ¤¨àë?
|
||||
AND A
|
||||
JR Z,.END_COUNT
|
||||
CALL .GET_NAME
|
||||
CALL .GET_NAME
|
||||
LD HL,(BUFFERS.CURR_DIRNAME)
|
||||
LD DE,-FileHDR.Name_Size
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
CP '.'
|
||||
JR Z,.PREV_DIR
|
||||
CALL .SET_PATH
|
||||
INC IXH ; á«¥¤ãî騩 ã஢¥ì ¤¨àë
|
||||
JR .CONTINUE
|
||||
|
||||
; ¢®§¢à â ⥪ã饣® ¯ãâ¨
|
||||
.END_COUNT POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,BUFFERS.OLDPATH ; á®åà ¥ë© ¯ãâì ¤«ï ¢®§¢à â
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
; ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.GET_NAME LD HL,(BUFFERS.CURR_DIRNAME)
|
||||
LD (HL),0
|
||||
LD DE,-FileHDR.Name_Size
|
||||
ADD HL,DE
|
||||
LD (BUFFERS.CURR_DIRNAME),HL
|
||||
RET
|
||||
|
||||
.OUT_DIR DEC IXH ; ¯à¥¤ë¤ã騩 ã஢¥ì ¤¨àë
|
||||
LD HL,BUF_MARKDIR.RET_DIR
|
||||
JR .SP1
|
||||
|
||||
; ¯¥à¥å®¤ ¢ ¤¨àã ¨§ ᯨáª
|
||||
.SET_PATH LD HL,(BUFFERS.CURR_DIRNAME)
|
||||
LD DE,-FileHDR.Name_Size
|
||||
ADD HL,DE
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
PUSH DE
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
POP HL
|
||||
.SP1 PUSH IX
|
||||
SPDSS DSSF.CHDIR
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,BUFFERS.CURRPATHSRC
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IX
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ".." ¤«ï ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.ADD_2DOT PUSH HL
|
||||
LD HL,BUF_MARKDIR.RET_DIR
|
||||
LD DE,(BUFFERS.CURR_DIRNAME)
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
LD (BUFFERS.CURR_DIRNAME),DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; ¯¥à¥áç¨âë¢ ¥¬ à §¬¥àë ä ©«®¢ ¢ ⥪ã饩 ¤¨à¥ªâ®à¨¨
|
||||
; ¨ ¢ë£à¥¡ ¥¬ ¨¬¥ ¤¨à ¢ â ¡«¨çªã
|
||||
.COUNT_FILES LD IXL,0 ; ª®«¨ç¥á⢮ ¤¨à ¢ ⥪ã饩 ¤¨à¥
|
||||
CALL .F_FIRST ; ¨é¥¬ ¯¥à¢ë© ®¯¨á ⥫ì
|
||||
RET C ; ¢ë室 ¥á«¨ ¨ç¥£® ¥ ©¤¥®
|
||||
.L2 LD DE,FFIRST.Attr
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
SBC HL,DE
|
||||
BIT DIR.B_Dir,A
|
||||
JR Z,.ADD_FILES_BYTES
|
||||
; ¤«ï ¤¨àë ª®¯¨à㥬 ¨¬ï ¢ â ¡«¨çªã
|
||||
LD DE,FFIRST.Name
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
CP '.' ; . ¨ .. ¯à®¯ã᪠¥¬
|
||||
JR Z,.L5
|
||||
; ¤«ï ¤¨àë ª®¯¨à㥬 ¨¬ï ¢ â ¡«¨çªã
|
||||
LD DE,(BUFFERS.CURR_DIRNAME)
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
LD (BUFFERS.CURR_DIRNAME),DE
|
||||
INC IXL
|
||||
JR .L5
|
||||
|
||||
; ¤«ï ä ©« ¤®¡ ¢«ï¥¬ ¤«¨ã
|
||||
.ADD_FILES_BYTES:
|
||||
LD DE,FFIRST.FileSize
|
||||
ADD HL,DE
|
||||
CALL GET_DWORD ; ¢§ïâì à §¬¥à ¨§ ®¯¨á ⥫ï
|
||||
LD HL,JUMPS.FILES_BYTES
|
||||
CALL HLPBCDE ; ¤®¡ ¢¨«¨ ª ⥪ã饬ã à §¬¥àã
|
||||
LD HL,(JUMPS.FILES_COUNT)
|
||||
INC HL
|
||||
LD (JUMPS.FILES_COUNT),HL ; ¨ªà¥¬¥â ª®«¨ç¥áâ¢ ä ©«®¢
|
||||
; ¨é¥¬ á«¥¤ãî騩 ®¯¨á ⥫ì
|
||||
.L5 CALL .F_NEXT
|
||||
JR NC,.L2
|
||||
RET
|
||||
|
||||
; ¯®¨áª ¯¥à¢®£® ®¯¨á ⥫ï
|
||||
.F_FIRST LD A, DIR.M_Archive + \
|
||||
DIR.M_System + \
|
||||
DIR.M_Hidden + \
|
||||
DIR.M_ReadOnly + \
|
||||
DIR.M_Dir
|
||||
.FFF1 LD HL,BUF_MARKDIR.FILES_MASK
|
||||
LD DE,BUFFERS.OLDPATH
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
SPDSS DSSF.F_FIRST,0
|
||||
POP IX
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; ¯®¨áª á«¥¤ãî饣® ®¯¨á ⥫ï
|
||||
.F_NEXT LD DE,BUFFERS.OLDPATH
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
SPDSS DSSF.F_NEXT
|
||||
POP IX
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; ¨¨æ¨ «¨§ æ¨ï ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨¨ á ᮤ¥à¦¨¬ë¬
|
||||
InitCopyDirsR PUSH IX
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,LeftPanel ; ¤«ï ¯ã⨠®âªã¤ ª®¯¨à®¢ âì
|
||||
LD DE,RightPanel ; ¤«ï ¯ã⨠ªã¤ ª®¯¨à®¢ âì
|
||||
LD A,(RAMPAGES.LEFTPANEL) ; ¨§ ª ª®© áâà ¨æë ¯ ¥«¨ ¡à âì ¯ãâì
|
||||
JR Z,.L1
|
||||
LD HL,RightPanel ; ¤«ï ¯ã⨠®âªã¤ ª®¯¨à®¢ âì
|
||||
LD DE,LeftPanel ; ¤«ï ¯ã⨠ªã¤ ª®¯¨à®¢ âì
|
||||
LD A,(RAMPAGES.RIGHTPANEL) ; ¨§ ª ª®© áâà ¨æë ¯ ¥«¨ ¡à âì ¯ãâì
|
||||
.L1
|
||||
; ¢ª«îç ¥¬ ¯ £ã á ¤¨à¥ªâ®à¨¥© ⥪ã饩 ¯ ¥«¨
|
||||
PUSH HL
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,PANEL.CURR_PATH
|
||||
ADD HL,DE ; ®âªã¤ ¯ãâì ¯à¨¥¬¨ª ¢§ïâì
|
||||
LD DE,BUFFERS.CURRPATHDST ; ¡ãä¥à ¯ã⨠¯à¨¥¬¨ª
|
||||
CALL .COPYNAME2PATH
|
||||
LD (BUFFERS.ENDPATHDST),DE ; ¤à¥á 墮áâ ¯ã⨠¯à¨¥¬¨ª
|
||||
; ª®¯¨à®¢ ¨¥ ¨¬¥¨ ¤¨à¥ªâ®à¨¨ ¤«ï ª®¯¨à®¢ ¨ï
|
||||
PUSH IX
|
||||
POP DE
|
||||
LD HL,FileHDR.Name
|
||||
ADD HL,DE
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ª®¯¨à®¢ ¨ï
|
||||
EX DE,HL
|
||||
CALL .CUTOFFSPACES ; ®âá¥ç¥¨¥ ¯à®¡¥«®¢
|
||||
; ¯¥à¥®á ⥪ã饣® ¯ã⨠¨áâ®ç¨ª
|
||||
POP DE
|
||||
LD HL,PANEL.CURR_PATH
|
||||
ADD HL,DE ; ®âªã¤ ¯ãâì ¯à¨¥¬¨ª ¢§ïâì
|
||||
LD DE,BUFFERS.CURRPATHSRC
|
||||
CALL .COPYNAME2PATH ; ᪮¯¨à®¢ «¨ ¯ãâì ¨áâ®ç¨ª
|
||||
LD (BUFFERS.ENDPATHSRC),DE ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¤«ï ª®¯¨à®¢ ¨ï ¢ ¯ãâì ¨áâ®ç¨ª
|
||||
LD HL,(BUFFERS.ENDPATHSRC)
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
CALL .ADDNAME2PATH
|
||||
LD (BUFFERS.ENDPATHSRC),DE ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¤«ï ª®¯¨à®¢ ¨ï ¢ ¯ãâì ¯à¨¥¬¨ª
|
||||
LD HL,(BUFFERS.ENDPATHDST)
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
CALL .ADDNAME2PATH
|
||||
LD (BUFFERS.ENDPATHDST),DE
|
||||
XOR A
|
||||
LD (BUFFERS.LEVEL_DIR),A
|
||||
; ¢ë室
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¢ áâப㠯ãâ¨
|
||||
; HL - ªã¤ ¤®¡ ¢«ïâì (墮áâ ⥪ã饣® ¯ãâ¨)
|
||||
; DE - ®âªã¤ ¨¬ï ¡à âì
|
||||
.ADDNAME2PATH CALL .CHECK_BSLASH
|
||||
LD (HL),'\\'
|
||||
INC HL
|
||||
EX DE,HL
|
||||
; ª®¯¨à®¢ ¨¥ ¨¬¥¨ ¨§ ¡ãä¥à
|
||||
.COPYNAME2PATH XOR A
|
||||
.CNP2 CP (HL)
|
||||
JR Z,.CNP1
|
||||
LDI
|
||||
JR .CNP2
|
||||
|
||||
.CNP1 LD (DE),A
|
||||
RET
|
||||
|
||||
;.NAME2DIRNAME
|
||||
|
||||
; ¯à®¢¥àª BACKSLASH
|
||||
.CHECK_BSLASH DEC HL
|
||||
LD A,(HL)
|
||||
CP '\\'
|
||||
RET Z
|
||||
INC HL
|
||||
RET
|
||||
|
||||
; ®âá¥ç¥¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥¨
|
||||
.CUTOFFSPACES LD A,' '
|
||||
.COS2 DEC HL
|
||||
CP (HL)
|
||||
JR Z,.COS2
|
||||
INC HL
|
||||
LD (HL),0
|
||||
RET
|
||||
|
||||
; á®§¤ ¨¥ ¯ ¯®ª ¯à¨¥¬¨ª¥
|
||||
; HL - ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ¨æ¥ ¯ ¥«¨ ª®â®àãî ª®¯¨à®¢ âì
|
||||
MkdirsDstRR PUSH IX
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
LD (.OLDSP),SP
|
||||
PUSH HL
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD DE,RightPanel ; ¤«ï ¯ã⨠ªã¤ ª®¯¨à®¢ âì
|
||||
LD A,(RAMPAGES.LEFTPANEL) ; ¨§ ª ª®© áâà ¨æë ¯ ¥«¨ ¡à âì ¯ãâì
|
||||
JR Z,.L1
|
||||
LD DE,LeftPanel ; ¤«ï ¯ã⨠ªã¤ ª®¯¨à®¢ âì
|
||||
LD A,(RAMPAGES.RIGHTPANEL) ; ¨§ ª ª®© áâà ¨æë ¯ ¥«¨ ¡à âì ¯ãâì
|
||||
.L1
|
||||
; ¢ª«îç ¥¬ ¯ £ã á ¤¨à¥ªâ®à¨¥© ⥪ã饩 ¯ ¥«¨
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,PANEL.CURR_PATH
|
||||
ADD HL,DE ; ®âªã¤ ¯ãâì ¯à¨¥¬¨ª ¢§ïâì
|
||||
LD DE,BUFFERS.CURRPATHDST ; ¡ãä¥à ¯ã⨠¯à¨¥¬¨ª
|
||||
CALL .COPYNAME2PATH
|
||||
LD (BUFFERS.ENDPATHDST),DE ; ¤à¥á 墮áâ ¯ã⨠¯à¨¥¬¨ª
|
||||
; á®åà ¥¨¥ ⥪ã饣® ¯ã⨠¤«ï ¢®§¢à â
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,BUFFERS.OLDPATH ; á®åà ¥ë© ¯ãâì ¤«ï ¢®§¢à â
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP DE ; ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ¨æ¥ ¯ ¥«¨ ª®â®àãî ª®¯¨à®¢ âì
|
||||
; JP C,ERROR ;CountingDirR.END_COUNT
|
||||
; ª®¯¨à®¢ ¨¥ ¨¬¥¨ ¤¨à¥ªâ®à¨¨ ¤«ï ª®¯¨à®¢ ¨ï
|
||||
LD HL,FileHDR.Name
|
||||
ADD HL,DE
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ª®¯¨à®¢ ¨ï
|
||||
EX DE,HL
|
||||
CALL .CUTOFFSPACES ; ®âá¥ç¥¨¥ ¯à®¡¥«®¢
|
||||
; ¯¥à¥®á ⥪ã饣® ¯ã⨠¨áâ®ç¨ª
|
||||
LD HL,BUFFERS.OLDPATH
|
||||
LD DE,BUFFERS.CURRPATHSRC
|
||||
CALL .COPYNAME2PATH ; ᪮¯¨à®¢ «¨ ¯ãâì ¨áâ®ç¨ª
|
||||
LD (BUFFERS.ENDPATHSRC),DE ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¤«ï ª®¯¨à®¢ ¨ï ¢ ¯ãâì ¨áâ®ç¨ª
|
||||
LD HL,(BUFFERS.ENDPATHSRC)
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
CALL .ADDNAME2PATH
|
||||
LD (BUFFERS.ENDPATHSRC),DE ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¤«ï ª®¯¨à®¢ ¨ï ¢ ¯ãâì ¯à¨¥¬¨ª
|
||||
LD HL,(BUFFERS.ENDPATHDST)
|
||||
LD DE,BUF_MARKDIR.DIR_NAME
|
||||
CALL .ADDNAME2PATH
|
||||
LD (BUFFERS.ENDPATHDST),DE
|
||||
|
||||
; á®§¤ ¨¥ ¤¨àë ¢ ¯à¨¥¬¨ª¥
|
||||
LD HL,BUFFERS.CURRPATHDST
|
||||
SPDSS DSSF.MKDIR ; á®§¤ «¨ ¤¨à㠯ਥ¬¨ª
|
||||
JR NC,.L3
|
||||
CP ERR_DSS.DIR_EXISTS ; ¥á«¨ ¤¨à 㦥 ¥áâì ¨£®à¨¬ ®è¨¡ªã
|
||||
; JP C,ERROR
|
||||
.L3
|
||||
|
||||
; TODO 横«¨ç¥áª¨© ¯®¨áª ¤¨à¥ªâ®à¨© á á®§¤ ¨¥¬ ¯à¨¥¬¨ª¥
|
||||
LD HL,BUFFERS.CURRPATHSRC
|
||||
SPDSS DSSF.CHDIR ; ¢å®¤ ¢ ¤¨àã ¨áâ®ç¨ª
|
||||
CALL .FINDFIRSTSRCDIR ; ¯®¨áª ¯¥à¢®£® ®¯¨á ⥫ï
|
||||
JP C,.ENDCOPY ; ¡®«ìè¥ ¤¨à¥ªâ®à¨© ¥â, ¢ë室¨¬
|
||||
; ¯®¨áª ¤¨à¥ªâ®à¨©
|
||||
.L2 CALL .FINDNEXTSRCDIR ; ¯®¨áª á«¥¤ãî饣® ®¯¨á ⥫ï
|
||||
JP C,.ENDFINDNEXT ; ¯®¨áª ®ª®ç¥?
|
||||
LD HL,BUFFERS.FINDBUF + FFIRST.Name
|
||||
LD A,(HL)
|
||||
CP '.' ; ®¯¨á ⥫¨ "." ¨ ".." ¨£®à¨¬
|
||||
JR Z,.L2
|
||||
LD DE,.TMPNAMEDIR
|
||||
PUSH DE
|
||||
CALL .COPYNAME2PATH
|
||||
LD HL,(BUFFERS.ENDPATHDST)
|
||||
POP DE
|
||||
CALL .ADDNAME2PATH
|
||||
LD HL,BUFFERS.CURRPATHDST
|
||||
SPDSS DSSF.MKDIR ; á®§¤ ¥¬ ¤¨à㠯ਥ¬¨ª¥
|
||||
; JP C,ERROR
|
||||
LD HL,BUFFERS.CURRPATHSRC
|
||||
SPDSS DSSF.CHDIR ; ¢®§¢à é ¥¬ ¯ãâì ¨áâ®ç¨ª
|
||||
; JP C,ERROR
|
||||
JR .L2 ; ¨é¥¬ á«¥¤ãî騩
|
||||
|
||||
; § ¢¥à襨¥ ¨ ¢ë室
|
||||
JP CountingDirR.END_COUNT;RestoreDIR
|
||||
|
||||
; LD A,(RAMPAGES.FLX)
|
||||
; SETPORT WINSP.CPU3,,0
|
||||
|
||||
.ENDFINDNEXT
|
||||
JR $
|
||||
|
||||
; ¯®¨áª ¯¥à¢®© ¤¨àë ¢ ⥪ã饩 ¯®¤¤¨à¥ªâ®à¨¨
|
||||
.FINDFIRSTSRCDIR
|
||||
LD HL,BUF_MARKDIR.FILES_MASK
|
||||
LD DE,BUFFERS.FINDBUF
|
||||
SPDSS DSSF.F_FIRST,1,DIR.M_Dir
|
||||
RET
|
||||
|
||||
.FINDNEXTSRCDIR
|
||||
LD DE,BUFFERS.FINDBUF
|
||||
SPDSS DSSF.F_NEXT
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¢ áâப㠯ãâ¨
|
||||
; HL - ªã¤ ¤®¡ ¢«ïâì (墮áâ ⥪ã饣® ¯ãâ¨)
|
||||
; DE - ®âªã¤ ¨¬ï ¡à âì
|
||||
.ADDNAME2PATH CALL .CHECK_BSLASH
|
||||
LD (HL),'\\'
|
||||
INC HL
|
||||
EX DE,HL
|
||||
; ª®¯¨à®¢ ¨¥ ¨¬¥¨ ¨§ ¡ãä¥à
|
||||
.COPYNAME2PATH XOR A
|
||||
.CNP2 CP (HL)
|
||||
JR Z,.CNP1
|
||||
LDI
|
||||
JR .CNP2
|
||||
|
||||
.CNP1 LD (DE),A
|
||||
RET
|
||||
|
||||
;.NAME2DIRNAME
|
||||
|
||||
; ¯à®¢¥àª BACKSLASH
|
||||
.CHECK_BSLASH DEC HL
|
||||
LD A,(HL)
|
||||
CP '\\'
|
||||
RET Z
|
||||
INC HL
|
||||
RET
|
||||
|
||||
; ®âá¥ç¥¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥¨
|
||||
.CUTOFFSPACES LD A,' '
|
||||
.COS2 DEC HL
|
||||
CP (HL)
|
||||
JR Z,.COS2
|
||||
INC HL
|
||||
LD (HL),0
|
||||
RET
|
||||
|
||||
; ®âá¥ç¥¨¥ ¨¬¥¨ ¤¨àë ¢ áâப¥ ¯ãâ¨
|
||||
.DELNAME2PATH LD A,'\\'
|
||||
.COB1 DEC HL
|
||||
CP (HL)
|
||||
JR NZ,.COB1
|
||||
LD (HL),0
|
||||
RET
|
||||
|
||||
; ¢ë室 ¨§ ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨©
|
||||
.ENDCOPY LD SP,0
|
||||
.OLDSP EQU $-2
|
||||
LD HL,BUFFERS.OLDPATH
|
||||
SPDSS DSSF.CHDIR
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;.ENDPATHSRC DW 0 ; ¤à¥á 墮áâ ¯ã⨠¨áâ®ç¨ª
|
||||
;.ENDPATHDST DW 0 ; ¤à¥á 墮áâ ¯ã⨠¯à¨¥¬¨ª
|
||||
.TMPNAMEDIR DB 8 DUP 0
|
||||
ENDIF
|
||||
|
||||
; C:/DEV/
|
||||
; /CAMEL401
|
||||
; /DEMON
|
||||
; /MASM80
|
||||
; /OASM028
|
||||
; /SOLID
|
||||
; /DOC
|
||||
; /EXAMPLES
|
||||
; /INCLUDE
|
||||
; /SRC
|
||||
; /CLIB
|
||||
; /BUILD
|
||||
; /SPFORTH
|
||||
; /F83
|
||||
; /F99
|
||||
; /TASM
|
||||
|
||||
; DEV
|
||||
; ..
|
||||
; CAMEL401
|
||||
; DEMON
|
||||
; MASM80
|
||||
; OASM028
|
||||
; SOLID
|
||||
; SPFORTH
|
||||
; TASM
|
||||
; ..
|
||||
; DOC
|
||||
; EXAMPLES
|
||||
; INCLUDE
|
||||
; SRC
|
||||
; ..
|
||||
; CLIB
|
||||
; ..
|
||||
; BUILD
|
||||
; ..
|
||||
; F83
|
||||
; F99
|
||||
|
||||
;DEV/CAMEL401/ 25
|
||||
;DEV/DEMON/ 2
|
||||
;DEV/MASM/ 10
|
||||
;DEV/OASM28/ 5
|
||||
;DEV/SOLID/ 8
|
||||
;DEV/SOLID/DOC/ 13
|
||||
;DEV/SOLID/EXAMPLES/ 36
|
||||
;DEV/SOLID/INCLUDE/ 16
|
||||
;DEV/SOLID/SRC/CLIB/ 12
|
||||
;DEV/SOLID/SRC/CLIB/BUILD/ 8
|
||||
;DEV/SPFORTH/F83/ 4
|
||||
;DEV/SPFORTH/F99/ 3
|
||||
;DEV/TASM/ 6
|
||||
;-----------------------------------
|
||||
; 0x94 148
|
||||
|
||||
; £¥¥à æ¨ï ᯨ᪠¤«ï ª®¯¨à®¢ ¨ï ¤¨à
|
||||
; "." ¤«ï ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
; 0 ª®¥æ ᯨáª
|
||||
; ¨¬¥ ¤¨à ¯® 8 ᨬ¢®«®¢ (¬®¦® ¨ 8.3) ⮫쪮 ¨¬¥ ¡¥§ 0 ¢ ª®æ¥ ¨¬¥¨
|
||||
|
||||
; ¯à¨ ª®¯¨à®¢ ¨¨ ©¤¥ ¤¨à
|
||||
; § ¥á¥¨¥ ¢ ¯ãâì ¨áâ®ç¨ª ¨¬¥¨ ¤¨àë
|
||||
; § ¥á¥¨¥ ¢ ¯ãâì ¯à¨¥¬¨ª ¨¬¥¨ ¤¨àë
|
||||
; § ¥á¥¨¥ ¢ ᯨ᮪ ".." ¤«ï ¢ë室
|
||||
|
||||
105
rez3_fnmisc.a80
105
rez3_fnmisc.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 02.09.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
VersionR
|
||||
@ -57,21 +57,23 @@ FileInfoR LD A,(IY+PANEL.FILES_ALL)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,H
|
||||
OR 0xC0
|
||||
LD H,A
|
||||
; LD L,(IY+PANEL.FIRST_FILE)
|
||||
; LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY+PANEL.CURR_FILE)
|
||||
; LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL
|
||||
; ADD HL,HL
|
||||
; ADD HL,HL
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL
|
||||
; ADD HL,DE
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
LD A,HIGH (CPU3)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD DE,WorkBuffer
|
||||
LD BC,0x0018
|
||||
LDIR
|
||||
@ -697,21 +699,23 @@ PrintFileR LD A,(IY+PANEL.FILES_ALL)
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD L,(IY+PANEL.FIRST_FILE)
|
||||
LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
LD E,(IY+PANEL.CURR_FILE)
|
||||
LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
ADD HL,DE
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,H
|
||||
OR 0xC0
|
||||
LD H,A
|
||||
; LD L,(IY+PANEL.FIRST_FILE)
|
||||
; LD H,(IY+PANEL.FIRST_FILE + 1)
|
||||
; LD E,(IY+PANEL.CURR_FILE)
|
||||
; LD D,(IY+PANEL.CURR_FILE + 1)
|
||||
; ADD HL,DE
|
||||
; ADD HL,HL
|
||||
; ADD HL,HL
|
||||
; ADD HL,HL
|
||||
; LD E,L
|
||||
; LD D,H
|
||||
; ADD HL,HL
|
||||
; ADD HL,DE
|
||||
; LD A,H
|
||||
; OR 0xC0
|
||||
; LD H,A
|
||||
LD A,HIGH (CPU3)
|
||||
CALL GET_HANDLE_ADR
|
||||
LD DE,WorkBuffer
|
||||
LD BC,0x0018
|
||||
LDIR
|
||||
@ -955,3 +959,42 @@ PrnFileName: DB 13 DUP 0
|
||||
PrnFileLen: DB 4 DUP 0
|
||||
PrnMIndef: DB 0
|
||||
PrnFHandle: DB 0
|
||||
|
||||
;[]==========================================================[]
|
||||
QuitConfirmWin
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 208,88,224,50
|
||||
W_FILL 4,2,216,10,COLORI.BLACK
|
||||
W_TEXT 104,3,COLORI.WHITE,"Quit"
|
||||
W_TEXT 28,19,COLORP.HIGHGRAY,"Do you want quit Flex Navigator ?"
|
||||
W_BUTTON 32,32,72,14
|
||||
W_TEXT 58,35,COLORP.HIGHGRAY,"Yes"
|
||||
W_BUTTON 120,32,72,14
|
||||
W_TEXT 150,35,COLORP.HIGHGRAY,"No"
|
||||
W_END
|
||||
.Loop LD IX,REZ3TAB.QuitTab
|
||||
CALL CheckCoordsMouse
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,.Loop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,.Loop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,.Abort
|
||||
CP 0x0D
|
||||
JR Z,.OK
|
||||
RES 5,A
|
||||
CP 'Y'
|
||||
JR Z,.OK
|
||||
CP 'N'
|
||||
JR NZ,.Loop
|
||||
.Abort
|
||||
WINDOWCLOSE
|
||||
SCF
|
||||
RET
|
||||
|
||||
.OK
|
||||
WINDOWCLOSE
|
||||
OR A
|
||||
RET
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
|
||||
; LAST UPDATE: 13.08.2025 savelij
|
||||
; LAST UPDATE: 15.08.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
InitExtention: LD HL,INIFILES.ExtName1
|
||||
LD DE,BUFFERS.fn_ext
|
||||
LD DE,REZ3_BUFFERS.fn_ext
|
||||
CALL InitExt
|
||||
LD HL,INIFILES.ExtName2
|
||||
LD DE,BUFFERS.fnview_ext
|
||||
LD DE,REZ3_BUFFERS.fnview_ext
|
||||
CALL InitExt
|
||||
LD HL,INIFILES.ExtName3
|
||||
LD DE,BUFFERS.fnedit_ext
|
||||
LD DE,REZ3_BUFFERS.fnedit_ext
|
||||
;[]----------------------------------------------------------[]
|
||||
InitExt: LD (.EXTdata),DE
|
||||
SPDSS DSSF.OPEN,,1
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 14.08.2025 savelij
|
||||
; LAST UPDATE: 15.08.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
@ -74,3 +74,13 @@ REZ3TAB
|
||||
;[]===============================================================[]
|
||||
.PrintFTab: DW 284,356,128,142,%0000000000000001,0,StopPrint,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
.QuitTab:
|
||||
DW 240,312,120,134,%0000000000100001,0,QuitConfirmWin.OK,0
|
||||
DW 328,400,120,134,%0000000000100001,0,QuitConfirmWin.Abort,0
|
||||
DW 0,208, 0,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 432,640, 0,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0,640, 0, 88,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0,640,138,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0x8000
|
||||
|
||||
Loading…
Reference in New Issue
Block a user