FlexNavigator 1.16.05

- в функции текстового ввода заблокирована обработка клавиши
  ALT, вызывало зависание при попытке сделать смену диска (ALT/Fx).
- убрано удаление в режиме просмотра дерева.
This commit is contained in:
savelij13 2026-01-11 22:30:57 +03:00
parent ac87c5571e
commit 50a6074f16
15 changed files with 103 additions and 68 deletions

View File

@ -4,7 +4,7 @@
if not exist tmp md tmp
if not exist fn md fn
if not exist fn\flx md fn\flx
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\
call setpath_tools
call setpath_includes
cls

View File

@ -1,4 +1,10 @@
11.01.2026
FlexNavigator 1.16.05
- ¢ ä㭪樨 ⥪á⮢®£® ¢¢®¤  § ¡«®ª¨à®¢ ­  ®¡à ¡®âª  ª« ¢¨è¨
ALT, ¢ë§ë¢ «® § ¢¨á ­¨¥ ¯à¨ ¯®¯ë⪥ ᤥ« âì ᬥ­ã ¤¨áª  (ALT/Fx).
- ã¡à ­® 㤠«¥­¨¥ ¢ ०¨¬¥ ¯à®á¬®âà  ¤¥à¥¢ .
07.09.2025
FlexNavigator 1.16.04
- á®àâ¨à®¢ª  ¨ ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ⥯¥àì ­¥ ¨á¯®«ì§ã¥â

View File

@ -1,6 +1,10 @@
Flex navigator TODO:
[] ¯« £¨­ CD Player ¨á¯à ¢¨âì ᬥ­ã ¤¨áª .
[] ä ©« á à áè¨à¥­¨¥¬ fln ¯® F3 ¢ë§ë¢ ¥â § ¢¨á ­¨¥.
[] ¨á¯à ¢¨âì £«®¡ «ì­ë© ¨­¤¨ª â®à ¯à®æ¥áá  ª®¯¨à®®¢ ­¨ï, ¯®ª  ¯à¨¢¨à ¥â.
[] ¤®¡ ¢¨âì ¯®¤¤¥à¦ªã ¤¦®©á⨪  ¤«ï ­ ¢¨£ æ¨¨.
[] ¢ ª®¯¨à®¢ ­¨¨ ä ©«®¢/¤¨à¥ªâ®à¨© ¤®¤¥« âì ®¡à ¡®âªã ®è¨¡®ª ¯à¨ á®§¤ ­¨¨ ¤¨à¥ªâ®à¨©.
[] ¢ ¯« £¨­¥ । ªâ®à  ¨á¯à ¢¨âì ­¥ á®åà ­¥­¨¥ ¢¢¥¤¥­­ë®© áâப¨ ¯à¨ ­ ¦ â¨¨¨ ä㭪樮­ «ì­ëå ª« ¢¨è ­¥ á¢ï§ ­­ëå á । ªâ¨à®¢ ­¨¥¬.
[] ¤«ï à ¡®âë ¢ ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨© ã¡à âì ¯®¤¬¥­ã áâà ­¨æ ¢ ᯨ᪥ ¢ë¤ ­­ëå.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fn/fn.exe

Binary file not shown.

View File

@ -1,4 +1,10 @@
10.01.2026
FlexNavigator 1.16.05
- ¢ ä㭪樨 ⥪á⮢®£® ¢¢®¤  § ¡«®ª¨à®¢ ­  ®¡à ¡®âª  ª« ¢¨è¨
ALT, ¢ë§ë¢ «® § ¢¨á ­¨¥ ¯à¨ ¯®¯ë⪥ ᤥ« âì ᬥ­ã ¤¨áª  (ALT/Fx).
- ã¡à ­® 㤠«¥­¨¥ ¢ ०¨¬¥ ¯à®á¬®âà  ¤¥à¥¢ .
07.09.2025
FlexNavigator 1.16.04
- á®àâ¨à®¢ª  ¨ ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ⥯¥àì ­¥ ¨á¯®«ì§ã¥â

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 11.01.2026 savelij
NUM_FILES_PANEL EQU 17 ; ª®«¨ç¥á⢮ ä ©«®¢ ¢ á⮫¡æ¥ ¯ ­¥«¨
NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ­¨æ ¯ ¬ï⨠¤«ï à ¡®âë FN
@ -388,7 +388,7 @@ FNinternal
; ®â« ¤®ç­®¥, ­¥ ¬¥­ïâì ¯® ¨§¡¥¦ ­¨¥ £«îª®¢
PLUGS_ENABLE EQU 0 ; ¬¥­î ¯« £¨­®¢
MARK_DIR EQU 1 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à  ¢á¥å ä ©«®¢
MARK_DIR EQU 0 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à  ¢á¥å ä ©«®¢
TREE_DIR_ENTER EQU 0 ; ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¤¥à¥¢¥ ¯® ENTER
CORR_FILENAME EQU 1 ; ¯à¥®¡à §®¢ ­¨¥ ᨬ¢®«®¢ ¨¬¥­¨ ä ©« 

View File

@ -1,7 +1,7 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 10.01.2026 savelij
FLEX_VERS
.NAVIGATOR EQU "1.16.04"
.NAVIGATOR EQU "1.16.05"
.EDITOR EQU "1.11"
.VIEWER EQU "1.07"

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 25.08.2025 savelij
; LAST UPDATE: 10.01.2026 savelij
;[]----------------------------------------------------------[]
InputLine LD (InpLnData),IX
@ -44,7 +44,7 @@ InputLine LD (InpLnData),IX
JR Z,.InpLineLp
RES 7,D
BIT KEYBSTAT.B_ALT,B
JR NZ,.InpLineLp
JR NZ,.InpLineLp1;.InpLineLp ; ¢ë室, §¤¥áì ­¥â ª®¬¡¨­ æ¨© á ALT
LD IX,InpTable2
BIT KEYBSTAT.B_CTRL,B
JR NZ,.NextInpKeys

View File

@ -3,11 +3,10 @@ Flex Navigator для компьютера Sprinter
Собранные файлы забирать из папки fn
`FlexNavigator 1.16.03`
- MISC функции перенесены из 2 резидента в 3.
- перераспределение TAB таблиц.
- в описание Flex Navigator API добавлено описание глобальных
переменных.
`FlexNavigator 1.16.05`
- в функции текстового ввода заблокирована обработка клавиши
ALT, вызывало зависание при попытке сделать смену диска (ALT/Fx).
- убрано удаление в режиме просмотра дерева.
`FileViewer.flx 1.07`
- мелкое исправление позиции вывода даты/времени.

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 11.01.2026 savelij
;[]==========================================================[]
CopyFilesR LD A,(IY + PANEL.FILES_ALL)
@ -193,11 +193,11 @@ CopyNxt LD IX,ProcessAll
W_BORDER 16,56,288,12
W_FILL 18,57,284,10,COLORI.WHITE
W_END
XOR A
LD (COPY.OverWriteFlg),A
LD HL,CurPath
LD DE,0 ;  ¤à¥á ®â। ªâ¨à®¢ ­­®£® ¯ã⨠¯à¨¥¬­¨ª 
.NEWPATH EQU $-2
XOR A
LD (COPY.OverWriteFlg),A
.NP1 LDI
CP (HL)
JR NZ,.NP1
@ -207,12 +207,21 @@ CopyNxt LD IX,ProcessAll
PUSH IY
GETPORT WINSP.CPU3
PUSH AF
LD (CopyDir.CURR_PANEL),IY ; ¯à¨ ª®¯¨à®¢ ­¨¨ ä ©«  ¯®àâ¨âáï
IF MARK_DIR
; ⥪ãéãî ¤¨à¥ªâ®à¨î £à㧨¬ ¢ ᢮¡®¤­ãî áâà ­¨æã
LD A,(RAMPAGES.BuffPg3)
SETPORT WINSP.CPU3,,0
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
CALL ReadDIR
LD (CopyDir.CURR_PANEL),IY ; ¯à¨ ª®¯¨à®¢ ­¨¨ ä ©«  ¯®àâ¨âáï
ELSE
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
JR Z,.L3
LD A,(RAMPAGES.RIGHTPANEL)
.L3
SETPORT WINSP.CPU3,,0
ENDIF
; ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨©
CopyNextFile LD IX,(COPY.PathCurrFile)
IF MARK_DIR
@ -222,6 +231,7 @@ CopyNextFile LD IX,(COPY.PathCurrFile)
CALL DIRLIST.ADD_DIRNAME
JP .NextHandle
ENDIF
; ª®¯¨à®¢ ­¨¥ ä ©« /¤¨à¥ªâ®à¨¨
.CopyFile PUSH IX
CALL PrintSrcDst
@ -442,12 +452,20 @@ CopyNextFile LD IX,(COPY.PathCurrFile)
LD HL,(COPY.CopyFiles)
LD A,H
OR L
IF MARK_DIR
JR Z,CopyDir ; ä ©«ë ª®­ç¨«¨áì?
ELSE
JP Z,CopyEnd
ENDIF
DEC HL
LD (COPY.CopyFiles),HL
LD A,H
OR L
IF MARK_DIR
JR Z,CopyDir ; ä ©«ë ª®­ç¨«¨áì?
ELSE
JP Z,CopyEnd
ENDIF
LD HL,(COPY.PathCurrFile)
LD DE,FileHDR.SIZE
.L5 ADD HL,DE ; á«¥¤ãî騩 ®¯¨á â¥«ì
@ -875,9 +893,11 @@ CalcDirSizeR: PUSH IX
POP IX
RET
; § ¢¥à襭¨¥ ª®¯¨à®¢ ­¨ï
CopyEnd CALL RestorePaths
CopyEnd
IF MARK_DIR
CALL RestorePaths
ENDIF
POP AF
SETPORT WINSP.CPU3,,0
POP IY
@ -1139,6 +1159,7 @@ ConvBytes2Pages:
INC DE
RET
; ¯¥ç âì ¯ã⥩/ä ©«®¢ ¯à¨ ª®¯¨à®¢ ­¨¨
PrintSrcDst LD HL,(COPY.PathSrc)
LD DE,WorkBuffer
SUB A
@ -1172,13 +1193,13 @@ PrintSrcDst LD HL,(COPY.PathSrc)
MAKEWINDOW WINSUBOBJ.WOBIND
W_FILL 204,97,256,18,COLORI.HIGHGRAY
W_END
LD IX,0x0100
LD IX,256
LD HL,WorkBuffer
LD DE,204
LD BC,97
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL PrintPathLeft
LD IX,0x0100
LD IX,256
LD HL,WorkBuffer + 0x100
LD DE,204
LD BC,107
@ -1537,7 +1558,7 @@ ReNameTree BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
INC HL
CALL FindTreeDIRR
JP C,ReNameT
LD HL,0xC001 - 0x10
LD HL,0xC000 + 1 - 0x10
LD BC,0x0010
.L2 ADD HL,BC
BIT 0,(HL)
@ -2074,6 +2095,7 @@ DeleteFilesR LD A,(IY + PANEL.FILES_ALL)
LD A,(IY + PANEL.FILES_MARK)
OR (IY + PANEL.FILES_MARK + 1)
JR NZ,DeleteMark
; 㤠«¥­¨¥ ¯®¤ ªãàá®à®¬ ä ©« /¤¨à¥ªâ®à¨¨
GETPORT WINSP.CPU3
PUSH AF
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
@ -2114,12 +2136,13 @@ DelFil1 INC HL
POP AF
SETPORT WINSP.CPU3,,0
LD A,E
CP '.'
CP '.' ; ¢ ¨¬¥­¨ ä ©«  ¢ ®¯¨á â¥«¥? áâà ­­ ï ¯à®¢¥àª 
RET Z
CP '\\'
CP '\\' ; ¢ ¨¬¥­¨ ä ©«  ¢ ®¯¨á â¥«¥? ¥é¥ áâà ­­¥©
RET Z
JR DelNext
; 㤠«¥­¨¥ ¬ àª¨à®¢ ­­ëå ä ©«®¢/¤¨à¥ªâ®à¨©
DeleteMark
GETPORT WINSP.CPU3
PUSH AF
@ -2176,7 +2199,7 @@ DeleteMain
JR NZ,.L1
LD (DE),A
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
JR NZ,DelLp0
JR NZ,.DelLp0
DEC HL
LD A,'\\'
CP (HL)
@ -2184,7 +2207,7 @@ DeleteMain
LD (DE),A
INC DE
.L2 CALL MakeDELname
DelLp0 LD IX,0x00F8
.DelLp0 LD IX,248
LD HL,WorkBuffer
LD DE,320
LD BC,106
@ -2199,24 +2222,24 @@ DelLoop LD IX,REZ2TAB.DeleteTab
JR NZ,DelLoop
LD A,E
CP 0x1B
LD HL,DelExit
LD HL,DeleteExit
JR Z,DelJump
CP 0x0D
LD HL,DelDelete
LD HL,DeleteOne
JR Z,DelJump
RES 5,A
CP 'D'
LD HL,DelDelete
LD HL,DeleteOne
JR Z,DelJump
CP 'A'
LD HL,DelAll
LD HL,DeleteAll
JR Z,DelJump
CP 'S'
LD HL,DelSkip
LD HL,DeleteSkip
JR Z,DelJump
CP 'C'
JR NZ,DelLoop
LD HL,DelExit
LD HL,DeleteExit
DelJump
WINDOWCLOSE
JP (HL)
@ -2237,11 +2260,12 @@ MakeDELname LD HL,(AdrDelFile)
RET
;--------------------------------------------------------------
DelSkip LD C,(IY + PANEL.FILES_MARK)
; ¯à®¯ã᪠㤠«¥­¨ï
DeleteSkip LD C,(IY + PANEL.FILES_MARK)
LD B,(IY + PANEL.FILES_MARK + 1)
LD A,B
OR C
JP Z,DelExit
JP Z,DeleteExit
LD IX,(AdrDelFile)
RES 0,(IX + 0x00)
LD L,(IY + PANEL.BYTES_MARK)
@ -2269,7 +2293,7 @@ DelSkip LD C,(IY + PANEL.FILES_MARK)
LD (IY + PANEL.FILES_MARK + 1),B
LD A,B
OR C
JP Z,DelExit
JP Z,DeleteExit
LD HL,(AdrDelFile)
LD DE,FileHDR.SIZE
.L1 ADD HL,DE
@ -2279,7 +2303,8 @@ DelSkip LD C,(IY + PANEL.FILES_MARK)
CALL PrintDIR
JP DeleteMain
DelDelete CALL PointerMouseClock
; 㤠«¥­¨¥ ®¤­®£® ä ©« /¤¨àë
DeleteOne CALL PointerMouseClock
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
JR Z,DelDel0
PUSH IY
@ -2306,7 +2331,7 @@ DelDelete CALL PointerMouseClock
PUSH AF
CALL C,DOSError
POP AF
JP C,DelExit
JP C,DeleteExit
DelDel0 LD IX,(AdrDelFile)
LD DE,WorkBuffer
PUSH DE
@ -2326,14 +2351,15 @@ DelDel1 PUSH IY
CALL DOSError
OR A
CALL NZ,BegDIRECTORY
JP DelExit
JP DeleteExit
DelDel2 LD A,0x01
LD (DeleteFlag),A
CALL PointerMousePointer
JP DelSkip
JP DeleteSkip
DelAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JR NZ,DelDelete
DeleteAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JR NZ,DeleteOne
LD A,0x01
LD (DeleteFlag),A
CALL PointerMouseClock
@ -2380,7 +2406,7 @@ DelFrom EQU $-2
MAKEWINDOW WINSUBOBJ.WOBIND
W_FILL 208,104,256,8,COLORI.HIGHGRAY
W_END
LD IX,0x0100
LD IX,256
LD HL,WorkBuffer
LD DE,208
LD BC,104
@ -2390,7 +2416,7 @@ DelFrom EQU $-2
LD HL,SC.ESC << 8 | 0x1B
OR A
SBC HL,DE
JP Z,DelAllExit
JP Z,DeleteAllExit
LD IX,(AdrDelFile)
LD DE,WorkBuffer
PUSH DE
@ -2398,9 +2424,9 @@ DelFrom EQU $-2
POP HL
LD A,(IX + FileHDR.Attr)
BIT DIR.B_Dir,A
LD C,DSSF.DELETE
LD C,DSSF.DELETE ; 㤠«¥­¨¥ ä ©« 
JR Z,.L3
LD C,DSSF.RMDIR
LD C,DSSF.RMDIR ; 㤠«¥­¨¥ ¤¨à¥ªâ®à¨¨
.L3 PUSH IY
SPDSS
POP IY
@ -2408,7 +2434,7 @@ DelFrom EQU $-2
CALL DOSError
OR A
CALL NZ,BegDIRECTORY
JP DelAllExit
JP DeleteAllExit
DelA1 LD IX,ProcessDel
LD L,(IX + PROGRESSBAR.CURR_PAGE)
@ -2421,7 +2447,7 @@ DelA1 LD IX,ProcessDel
LD B,(IY + PANEL.FILES_MARK + 1)
LD A,B
OR C
JP Z,DelAllExit
JP Z,DeleteAllExit
LD IX,(AdrDelFile)
RES FileHDR.B_MARK,(IX + FileHDR.Flag)
LD L,(IY + PANEL.BYTES_MARK)
@ -2449,7 +2475,7 @@ DelA1 LD IX,ProcessDel
LD (IY + PANEL.FILES_MARK + 1),B
LD A,B
OR C
JP Z,DelAllExit
JP Z,DeleteAllExit
LD HL,(AdrDelFile)
LD DE,FileHDR.SIZE
.L1 ADD HL,DE
@ -2458,20 +2484,12 @@ DelA1 LD IX,ProcessDel
LD (AdrDelFile),HL
JP DeleteAllLp
ProcessDel DW 178
DW 117
DW 284
DW 0
DW 0
DW 0
DW 0
DW 0
DW 0
ProcessDel DW 178,117,284,0,0,0,0,0,0
DB COLORP.BLUE + COLORI.WHITE
DelAllExit HALT
DeleteAllExit HALT
WINDOWCLOSE
DelExit BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
DeleteExit BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
JR NZ,DelTreeDIR1
LD IX,(AdrDelFile)
BIT DIR.B_Dir,(IX + FileHDR.Attr)

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 15.08.2025 savelij
; LAST UPDATE: 12.09.2025 savelij
;[]==========================================================[]
; ”®à¬ â â ¡«¨æë
@ -92,14 +92,14 @@ REZ2TAB
DW 0x8000
;[]===============================================================[]
.DeleteTab: DW 196,252,118,132,%0000000100100001,0,DelDelete,0
DW 260,316,118,132,%0000000100100001,0,DelAll,0
DW 324,380,118,132,%0000000100100001,0,DelSkip,0
DW 388,444,118,132,%0000000100100001,0,DelExit,0
DW 0,180, 0,256,%0000000100100000,0,DelExit,0
DW 460,640, 0,256,%0000000100100000,0,DelExit,0
DW 0,640, 0, 80,%0000000100100000,0,DelExit,0
DW 0,640,136,256,%0000000100100000,0,DelExit,0
.DeleteTab: DW 196,252,118,132,%0000000100100001,0,DeleteOne,0
DW 260,316,118,132,%0000000100100001,0,DeleteAll,0
DW 324,380,118,132,%0000000100100001,0,DeleteSkip,0
DW 388,444,118,132,%0000000100100001,0,DeleteExit,0
DW 0,180, 0,256,%0000000100100000,0,DeleteExit,0
DW 460,640, 0,256,%0000000100100000,0,DeleteExit,0
DW 0,640, 0, 80,%0000000100100000,0,DeleteExit,0
DW 0,640,136,256,%0000000100100000,0,DeleteExit,0
DW 0x8000
.EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0

2
setpath_tools.bat Normal file
View File

@ -0,0 +1,2 @@
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\