FlexNavigator 1.16.03

- MISC функции перенесены из 2 резидента в 3.
- перераспределение TAB таблиц.
- в описание Flex Navigator API добавлено описание глобальных
  переменных.
FileViewer.flx 1.07
- мелкое исправление позиции вывода даты/времени.
FileEditor.flx 1.11
- мелкое исправление позиции вывода даты/времени.
This commit is contained in:
savelij13 2025-08-14 09:36:20 +03:00
parent e4977b4a6f
commit 7940810ffd
29 changed files with 1471 additions and 1271 deletions

View File

@ -1,7 +1,7 @@
[]========================================================================[]
* *
* ޝ¨á ­¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
* doc v0.5 ®â 02.08.2025 *
* doc v0.5 ®â 04.08.2025 *
* *
[]========================================================================[]
@ -366,8 +366,8 @@
[]------------------------------------------------------------------------[]
5 ª®¬ ­¤ ¯¥à¥å®¤  (12 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (12 ¡ ©â 0xC9)
5 ª®¬ ­¤ ¯¥à¥å®¤  (15 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (15 ¡ ©â 0xC9)
[]------------------------------------------------------------------------[]
@ -451,6 +451,12 @@
ç¨á«® ¢ë¢®¤¨âáï ¡¥§ ¢¥¤ã饣® ­ã«ï
­  ¢ë室:
-
[]------------------------------------------------------------------------[]
1 ª®¬ ­¤  ¯¥à¥å®¤  (3 ¡ ©â ) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (3 ¡ ©â  0xC9)
[]------------------------------------------------------------------------[]
JUMPS.PointerMouseClock - ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ ªãàá®à  ¬ëè¨ ¢ ç áë
@ -673,3 +679,35 @@
áâ à®£® §­ ç¥­¨ï ­®¬¥à  áâà ­¨æë ¤«ï ¢®ááâ ­®¢«¥­¨ï)
[]------------------------------------------------------------------------[]
„® ᬥ饭¨ï 0xC0 ª®¬ ­¤ë ¯¥à¥å®¤  § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (¡ ©âë 0xC9).
[]------------------------------------------------------------------------[]
ޡ鍥 ¯¥à¥¬¥­­ë¥ ᮠᬥ饭¨¥ 0xC0:
NUM_DEVICES 1 Š®«¨ç¥á⢮ ãáâனáâ¢
TreeFlag 1 ”« £ ¤¥à¥¢  ¤¨à¥ªâ®à¨©
CMOSFlag 1 ”« £ CMOS: 0 - ­¥â
1 - ¥áâì
MouseFlag 1 ”« £ ¬ëè¨: 0 - ­¥â
1 - ¥áâì
CMOSPrint 1 ”« £ à §à¥è¥­¨ï ¯¥ç â¨ ¤ âë ¢à¥¬¥­¨
1 - § ¯à¥é¥­®, 0 - à §à¥è¥­®
RAMPAGES
.FNPAGESID 1 ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠£¤¥ FN
.FNREZ2 1 ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
.FNFONT 1 ‘âà ­¨æ  èà¨ä⮢
.FNREZ3 1 ‘âà ­¨æ  ¥é¥ ­¥¬­®£® ä㭪権 FN
.BufferID 1 ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à 
.FLX 1 ‘âà ­¨æ  ¤«ï § £à㧪¨ FLX ¯« £¨­®¢
.LEFTPANEL 1 ‘âà ­¨æ  ª â «®£  ‹¥¢®© ¯ ­¥«¨
.RIGHTPANEL 1 ‘âà ­¨æ  ª â «®£  <20>à ¢®© ¯ ­¥«¨
.BuffPg1 1
.BuffPg2 1
.BuffPg3 1
.BuffPg4 1
.BuffPgEnd 1
.FILES_COUNT 2 ª®«¨ç¥á⢮ ¯®¬¥ç¥­­ëå ä ©«®¢
.FILES_BYTES 5 à §¬¥à ¯®¬¥ç¥­­ëå ä ©«®¢ ¢ ¡ ©â å

View File

@ -1,4 +1,15 @@
14.08.2025
FlexNavigator 1.16.03
- MISC ä㭪樨 ¯¥à¥­¥á¥­ë ¨§ 2 १¨¤¥­â  ¢ 3.
- ¯¥à¥à á¯à¥¤¥«¥­¨¥ TAB â ¡«¨æ.
- ¢ ®¯¨á ­¨¥ Flex Navigator API ¤®¡ ¢«¥­® ®¯¨á ­¨¥ £«®¡ «ì­ëå
¯¥à¥¬¥­­ëå.
FileViewer.flx 1.07
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
FileEditor.flx 1.11
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
02.08.2025
FlexNavigator 1.16.02
- ¯¥à¥¤¥« ­® ®â®¡à ¦¥­¨¥ ¤ âë/¢à¥¬¥­¨, ¢ ०¨¬¥ 1 (ä®à¬ â 02.08.2025)

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,15 @@
14.08.2025
FlexNavigator 1.16.03
- MISC ä㭪樨 ¯¥à¥­¥á¥­ë ¨§ 2 १¨¤¥­â  ¢ 3.
- ¯¥à¥à á¯à¥¤¥«¥­¨¥ TAB â ¡«¨æ.
- ¢ ®¯¨á ­¨¥ Flex Navigator API ¤®¡ ¢«¥­® ®¯¨á ­¨¥ £«®¡ «ì­ëå
¯¥à¥¬¥­­ëå.
FileViewer.flx 1.07
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
FileEditor.flx 1.11
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
02.08.2025
FlexNavigator 1.16.02
- ¯¥à¥¤¥« ­® ®â®¡à ¦¥­¨¥ ¤ âë/¢à¥¬¥­¨, ¢ ०¨¬¥ 1 (ä®à¬ â 02.08.2025)

View File

@ -1,8 +1,9 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ­¨æ ¤«ï à ¡®âë FN
DateMonthFormat ; ä®à¬ â ¢ë¢®¤ ¬¥áïæ  ¢ ¤ â¥
NUM_FILES_PANEL EQU 17 ; ª®«¨ç¥á⢮ ä ©«®¢ ¢ á⮫¡æ¥ ¯ ­¥«¨
NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ­¨æ ¯ ¬ï⨠¤«ï à ¡®âë FN
DateMonthFormat ; ä®à¬ â ¢ë¢®¤  ¬¥áïæ  ¢ ¤ â¥
.Digit EQU 1 ; ¬¥áïæ æ¨äன 02.08.2025
.Text EQU 2 ; ¬¥áïæ â¥ªá⮬ 2 Aug 2025
@ -262,7 +263,8 @@ FORMTABL
JUMPS
.JUMPSIZE EQU 3
; â ¡«¨æ  ¯¥à¥å®¤®¢ ­  ä㭪樨 ¤«ï ¯« £¨­®¢
_INIT_VAR BASE_ADDR + .JUMPSIZE ; ¯à®¯ã᪠¯¥à¥å®¤  ­  ®á­®¢­®© ¢å®¤
_INIT_VAR BASE_ADDR
_SETVAR .MainStartFN, .JUMPSIZE
_SETVAR .ClearScreen, .JUMPSIZE
_SETVAR .MakeWindow, .JUMPSIZE
_SETVAR .ReplaceColorRectan, .JUMPSIZE
@ -281,14 +283,14 @@ JUMPS
_SETVAR .DrawVScrollBar, .JUMPSIZE
_SETVAR .InitProgressBar, .JUMPSIZE
_SETVAR .DrawProgressBar, .JUMPSIZE
_ADDVAR .JUMPSIZE * 5 ; DUPL 15,0xC9
_ADDVAR .JUMPSIZE * 5 ; RESERVED 15 BYTE 0xC9
_SETVAR .WaitUnpressMouse, .JUMPSIZE
_SETVAR .CheckCoordsMouse, .JUMPSIZE
_SETVAR .CMOSPrintDateTime, .JUMPSIZE
_ADDVAR .JUMPSIZE; _SETVAR .CMOSPrintOff, .JUMPSIZE
_ADDVAR .JUMPSIZE * 1 ; RESERVED 3 BYTE 0xC9
_SETVAR .PointerMouseClock, .JUMPSIZE
_SETVAR .PointerMousePointer, .JUMPSIZE
_ADDVAR .JUMPSIZE * 4 ; DUPL 12,0xC9
_ADDVAR .JUMPSIZE * 4 ; RESERVED 12 BYTE 0xC9
_SETVAR .ConvertNumbers_40b, .JUMPSIZE
_SETVAR .MoveBytesInc, .JUMPSIZE
_SETVAR .MoveBytesDec, .JUMPSIZE
@ -308,25 +310,20 @@ JUMPS
_SETVAR .atoi_16b, .JUMPSIZE
_SETVAR .Resident, .JUMPSIZE
; १¥à¢¨à®¢ ­¨¥ ¤® ᬥ饭¨ï 0xC0
_ADDVAR (BASE_ADDR + 0xC0) - .CURRVAR; - .JUMPSIZE; * 4 ; DUPL 12,0xC9
; ¯¥à¥¬¥­­ë¥ ¤«ï ¤®áâ㯠 ¨§ ¯« £¨­®¢
_ADDVAR (BASE_ADDR + 0xC0) - .CURRVAR ; RESERVED UNTIL OFFSET 0xC0 BYTE 0xC9
; £«®¡ «ì­ë¥ ¯¥à¥¬¥­­ë¥ ¤«ï ¤®áâ㯠 ¨§ ¯« £¨­®¢
_SETVAR .NUM_DEVICES, BYTE ; Š®«-¢® ãáâனáâ¢
_SETVAR .TreeFlag, BYTE ; ”« £ ¤¥à¥¢ 
_SETVAR .CMOSFlag, BYTE ; ”« £ CMOS 0 - ­¥â
; 1 - ¥áâì
_SETVAR .MouseFlag, BYTE ; ”« £ ¬ëè¨ 0 - ­¥â
; 1 - ¥áâì
_SETVAR .CMOSPrint, BYTE
_SETVAR .CMOSPrint, BYTE ; ”« £ à §à¥è¥­¨ï ¯¥ç â¨ ¤ âë ¢à¥¬¥­¨
; 1 - § ¯à¥é¥­®, 0 - à §à¥è¥­®
_SETVAR .FNPAGESID, BYTE ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠FN
_SETVAR .FNREZ2, BYTE ; ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
_SETVAR .FNFONT, BYTE ; ‘âà ­¨æ  èà¨ä⮢
_SETVAR .FNREZ3, BYTE ; ‘âà ­¨æ  FN HELP
IFDEF ENABLE.VIEW
_SETVAR .FNVIEW, BYTE ; ‘âà ­¨æ  á FileViewer
ENDIF
IFDEF ENABLE.EDIT
_SETVAR .FNEDIT, BYTE ; ‘âà ­¨æ  á FileEditor
ENDIF
; <20>ãä¥à­ë¥ áâà ­¨æë ¯®¤ ¨­â¥à䥩á
_SETVAR .BufferID, BYTE ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à 
_SETVAR .FLX, BYTE ; ‘âà ­¨æ  ¤«ï § £à㧪¨ FLX ¯« £¨­®¢
@ -354,6 +351,7 @@ FileHDR
_SETVAR .Hours, BYTE ; +#16
_SETVAR .Minutes, BYTE ; +#17
_SETVAR .SIZE, 0
_BITMASK MARK, 0 ; 1-ä ©« ¯®¬¥ç¥­
; ¨¬¥­  ä ©«®¢
@ -375,6 +373,7 @@ FNinternal
; ®â« ¤®ç­®¥, ­¥ ¬¥­ïâì ¯® ¨§¡¥¦ ­¨¥ £«îª®¢
PLUGS_ENABLE EQU 0 ; ¬¥­î ¯« £¨­®¢
TREE_REZID EQU 0
MARK_DIR EQU 1 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à  ¢á¥å ä ©«®¢
MARK_DIR EQU 0 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à  ¢á¥å ä ©«®¢
TREE_DIR_ENTER EQU 0 ; ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¤¥à¥¢¥ ¯® ENTER
CORR_FILENAME EQU 1 ; ¯à¥®¡à §®¢ ­¨¥ ᨬ¢®«®¢ ¨¬¥­¨ ä ©« 
MISC2REZ3 EQU 0 ; ¯¥à¥¥§¤ misc.a80 ¨§ १¨¤¥­â  2 ¢ १¨¤¥­â  3

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 19.07.2025 savelij
; LAST UPDATE: 03.08.2025 savelij
include macros.a80
@ -14,19 +14,8 @@
include fat_dir_sp.a80
include fn_version.a80
ENABLE
;.EDIT
;.VIEW
;.HELP
PAGES_MEM := 4
IFDEF ENABLE.VIEW
PAGES_MEM := PAGES_MEM + 1
ENDIF
IFDEF ENABLE.EDIT
PAGES_MEM := PAGES_MEM + 1
ENDIF
INIT_VAR 0xC000
SETVAR FONT_RAW, 6888;IFFFONT_RAW_PACK - FONT_RAW_PACK
SETVAR_ALIGN
@ -98,32 +87,11 @@ EntryExec: DI
; § £à㧪  奫¯ 
LD A,(MAIN.FNREZ3) ; FNREZ3
SETPORT WINSP.CPU3,,0
; SETPORT WINSP.CPU1,,0 ; ????
LD HL,0xC000
LD DE,END_BLOCK_3 - START_BLOCK_3
LD A,(MAIN.hFile)
SPDSS DSSF.READ
JP C,disk_error
IFDEF ENABLE.VIEW
; § £à㧪  ¢ìà 
LD A,(MAIN.FNVIEW) ; FNVIEW
SETPORT WINSP.CPU3,,0
LD HL,0xC000
LD DE,END_BLOCK_VIEWER - START_BLOCK_VIEWER
LD A,(MAIN.hFile)
SPDSS DSSF.READ
JP C,disk_error
ENDIF
IFDEF ENABLE.EDIT
; § £à㧪  । ªâ®à 
LD A,(MAIN.FNEDIT) ; FNEDIT
SETPORT WINSP.CPU3,,0
LD HL,0xC000
LD DE,END_BLOCK_EDITOR - START_BLOCK_EDITOR
LD A,(MAIN.hFile)
SPDSS DSSF.READ
JP C,disk_error
ENDIF
LD A,(MAIN.hFile)
SPDSS DSSF.CLOSE ; close file
;!TEST ; !HARDCODE SYS_PAGE
@ -205,12 +173,6 @@ MAIN
.FNREZ2 db 0x00 ; 00
.FNFONT db 0x00 ; 01
.FNREZ3 db 0x00 ; 02
IFDEF ENABLE.VIEW
.FNVIEW db 0x00 ; 03
ENDIF
IFDEF ENABLE.EDIT
.FNEDIT db 0x00 ; 04
ENDIF
DB 0xFF
.copyright_str: DZ "\r\nThe Flex Navigator, ver.\{FLEX_VERS.NAVIGATOR}\r\n"

View File

@ -1,7 +1,7 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
FLEX_VERS
.NAVIGATOR EQU "1.16.02"
.EDITOR EQU "1.10"
.VIEWER EQU "1.06"
.NAVIGATOR EQU "1.16.03"
.EDITOR EQU "1.11"
.VIEWER EQU "1.07"

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
DOSline SUB A
@ -59,7 +59,7 @@ DOSlnEx
DOSloop SUB A
LD (HistCurrent),A
LD IX,DOSstr
LD HL,DOSTab
LD HL,MAINTAB.DOSTab
CALL DOSInputLine
RET C
JR Z,RunDOSline
@ -249,7 +249,7 @@ RunDOSexe1 ld hl,WorkBuffer
SUB A
CALL ClearScreen
CALL ResVideoMode
LD HL,ReStartPoint
LD HL,ReStartFN
EX (SP),HL
LD HL,WorkBuffer + 0x0100
SPDSS DSSF.EXEC,0
@ -348,7 +348,7 @@ SaveDOSline
PUSH BC
CALL FindHistory
POP BC
LD DE,DOShistory + DOShistory_Size
LD DE,BUFFERS.DOShistory + BUFFERS.DOShistory_Size
OR A
EX DE,HL
SBC HL,DE
@ -365,7 +365,7 @@ SaveDOSline
INC HL
EX DE,HL
PUSH HL
LD BC,DOShistory
LD BC,BUFFERS.DOShistory
OR A
SBC HL,BC
LD C,L
@ -379,7 +379,7 @@ SaveDOSline
LDDR
.L2 POP BC
LD HL,DOSinp
LD DE,DOShistory
LD DE,BUFFERS.DOShistory
LD A,C
INC A
LD (DE),A
@ -427,7 +427,7 @@ GetDOShistory LD IX,DOSstr
SETPORT WINSP.CPU1,,0
RET
FindHistory LD HL,DOShistory
FindHistory LD HL,BUFFERS.DOShistory
OR A
RET Z
LD B,A

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
InitVideoMode
@ -262,8 +262,8 @@ FirstInit
.EDIRFLX
; ®¡­®¢«¥­¨¥ ¢ â ¡«¨æ¥ ¢ë¡®à  ¤¨áª®¢ ­  ¯ ­¥«¨
SETUP_DISKS LD HL,BgDISKl ; ¤¨áª¨ «¥¢®© ¯ ­¥«¨
LD DE,BgDISKr ; ¤¨áª¨ ¯à ¢®© ¯ ­¥«¨
SETUP_DISKS LD HL,MAINTAB.BgDISKl ; ¤¨áª¨ «¥¢®© ¯ ­¥«¨
LD DE,MAINTAB.BgDISKr ; ¤¨áª¨ ¯à ¢®© ¯ ­¥«¨
LD BC,FORMTABL.SIZE * 2
LD A,(NUM_DEVICES)
.L1 ADD HL,BC
@ -337,38 +337,38 @@ InitScreen
OR A
RET Z
MAKEWINDOW WINSUBOBJ.WOBIND
W_BORDER 500 + 10,15,136 - 10,12
W_BORDER 510,15,126,12
W_END
LD HL,508 + 12
LD HL,520
LD DE,17
LD B,COLORP.HIGHGRAY + COLORI.BLACK
EXX
LD HL,558 + 10
LD HL,568
LD DE,17
LD B,COLORP.HIGHGRAY + COLORI.BLACK
EXX
LD A,DateMonthFormat.Text
LD A,DateMonthFormat.Digit
JP CMOSPrintDateTime
;[]==========================================================[]
InitPanels LD (InitPanFlg),A
LD HL,LeftPanel+PANEL.VIEWFLAG
LD A,(RightPanel+PANEL.VIEWFLAG)
LD HL,LeftPanel + PANEL.VIEWFLAG
LD A,(RightPanel + PANEL.VIEWFLAG)
OR (HL)
AND 0x02
JR NZ,InitPanTree
AND VIEWFLAG.M_TREE;0x02
JR NZ,.InitPanTree
LD IY,LeftPanel
CALL InitPanelE
LD IY,RightPanel
CALL InitPanelE
JR InitPanExit
JR .InitPanExit
InitPanTree LD IY,LeftPanel
.InitPanTree LD IY,LeftPanel
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JR NZ,.L1
LD IY,RightPanel
.L1 CALL InitPanelE
InitPanExit LD HL,LeftPanel
.InitPanExit LD HL,LeftPanel
LD DE,PANEL.CURR_PATH
BIT 7,(HL)
JR NZ,.L2
@ -440,10 +440,10 @@ PanelN6 EQU $+1
W_END
LD HL,NormMouse
LD DE,PanelPlaceL
LD DE,MAINTAB.PanelPlaceL
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD DE,PanelPlaceR
LD DE,MAINTAB.PanelPlaceR
.L1 PUSH DE
LD BC,0x0050
LDIR
@ -514,10 +514,10 @@ PanelP6 EQU $+1
W_END
LD HL,PodrMouse
LD DE,PanelPlaceL
LD DE,MAINTAB.PanelPlaceL
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD DE,PanelPlaceR
LD DE,MAINTAB.PanelPlaceR
.L1 PUSH DE
LD BC,0x0050
LDIR

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]=======================================================================[]
; FLEX NAVIGATOR ;
@ -12,7 +12,7 @@
PHASE BASE_ADDR
START_BLOCK_1
JP StartPoint ; entry point
JP MainStartFN ; entry point
JP ClearScreen
JP MakeWindow
@ -39,7 +39,7 @@ START_BLOCK_1
JP CheckCoordsMouse
JP CMOSPrintDateTime
DB JUMPS.JUMPSIZE DUP 0xC9;JP CMOSPrintOff
DB JUMPS.JUMPSIZE * 1 DUP 0xC9
JP PointerMouseClock
JP PointerMousePointer
@ -73,18 +73,13 @@ CMOSFlag DB 0 ;
; 1 - ¥áâì
MouseFlag DB 1 ; ”« £ ¬ëè¨ 0 - ­¥â
; 1 - ¥áâì
CMOSPrint: DB 1
CMOSPrint: DB 1 ; ”« £ à §à¥è¥­¨ï ¯¥ç â¨ ¤ âë ¢à¥¬¥­¨
; 1 - § ¯à¥é¥­®, 0 - à §à¥è¥­®
RAMPAGES
.FNPAGESID DB 0 ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠£¤¥ FN
.FNREZ2 DB 0 ; 0 ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
.FNFONT DB 0 ; 1 ‘âà ­¨æ  èà¨ä⮢
.FNREZ3 DB 0 ; 2 ‘âà ­¨æ  ¥é¥ ­¥¬­®£® ä㭪権 FN
IFDEF ENABLE.VIEW
.FNVIEW DB 0 ; 3 ‘âà ­¨æ  á FileViewer
ENDIF
IFDEF ENABLE.EDIT
.FNEDIT DB 0 ; 4 ‘âà ­¨æ  á FileEditor
ENDIF
; <20>ãä¥à­ë¥ áâà ­¨æë ¯®¤ ¨­â¥à䥩á
.BufferID DB 0 ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à 
.FLX DB 0 ; 0 ‘âà ­¨æ  ¤«ï § £à㧪¨ FLX ¯« £¨­®¢
@ -182,6 +177,8 @@ RightPanel: DB 0x01 ;
DB 0x0A DUP 0
DB PANEL.CURR_PATH_Size DUP 0 ; <20>ãâì ª ⥪ã饩 ¤¨à¥ªâ®à¨¨
thanks DZ "\r\nThank you for using Flex Navigator.\r\n"
DOSError EX AF,AF'
GETPORT WINSP.CPU1
PUSH AF
@ -223,6 +220,28 @@ BCDEHLP: LD A,(HL)
LD B,A
RET
; (ADR) + BCDE = (ADR)
HLPBCDE: LD A,(HL)
ADD A,E
LD (HL),A
INC HL
LD A,(HL)
ADC A,D
LD (HL),A
INC HL
LD A,(HL)
ADC A,C
LD (HL),A
INC HL
LD A,(HL)
ADC A,B
LD (HL),A
INC HL
LD A,(HL)
ADC A,0
LD (HL),A
RET
GET_DWORD: LD E,(HL)
INC HL
LD D,(HL)
@ -241,7 +260,134 @@ SET_DWORD: LD (HL),E
LD (HL),B
RET
thanks DZ "\r\nThank you for using Flex Navigator.\r\n"
; ¢ë§®¢ ä㭪樨 ¢ áâà ­¨æ å
RESIDENT
; ==============resident 2==============
.CopyFiles: LD DE,CopyFilesR
.FunctResident: LD A,(RAMPAGES.FNREZ2)
LD C,WINSP.CPU1
JP Resident
.ReName: LD DE,ReNameR
jr .FunctResident
.MakeDIR: LD DE,MakeDIRR
jr .FunctResident
.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
ENDIF
; ==============resident 2==============
; ==============resident 3==============
.MarkFile: LD DE,MarkFileR
.HelpResident: LD A,(RAMPAGES.FNREZ3)
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
.UnMarkGroupN: LD DE,UnMarkGroupRN
jr .HelpResident
.MarkGroup: LD DE,MarkGroupR
jr .HelpResident
.MarkGroupN: LD DE,MarkGroupRN
jr .HelpResident
.SelectAll: LD DE,SelectAllR
jr .HelpResident
.SelectAllN: LD DE,SelectAllRN
jr .HelpResident
.UnSelectAll: LD DE,UnSelectAllR
jr .HelpResident
.UnSelectAllN: LD DE,UnSelectAllRN
jr .HelpResident
.InvertSelect: LD DE,InvertSelectR
jr .HelpResident
.InvertSelectN: LD DE,InvertSelectRN
jr .HelpResident
.PrintFile: CALL ResInvert
.PrintFileL3
LD HL,SetInvert
PUSH HL
LD DE,PrintFileR
jr .HelpResident
.FileInfo: CALL ResInvert
.FileInfoL2
LD HL,SetInvert
PUSH HL
LD DE,FileInfoR
jr .HelpResident
.Version: LD DE,VersionR
jr .HelpResident
.DiskInfo: CALL ResInvert
.DiskInfoL4:
LD DE,DiskInfoR
jr .HelpResident
.SystemInfo: LD DE,SystemInfoR
jr .HelpResident
; ==============resident 3==============
; ‚ë室
ComExit CALL ResDrivers
@ -260,9 +406,9 @@ ComExit CALL ResDrivers
include fnsys.a80
; ‘â àâ
StartPoint: DI
MainStartFN: DI
LD SP,STACK
ReStartPoint:
ReStartFN:
SETPORT BORDER,0
SETPORT WINSP.Y_PORT,0xC0
CALL InitVideoMode
@ -272,10 +418,10 @@ ReStartPoint:
SUB A
CALL InitPanels
CALL WaitUnpressMouse
MainLoop: LD IX,FilePanelLeft
MainLoop: LD IX,MAINTAB.FilePanelLeft
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD IX,FilePanelRight
LD IX,MAINTAB.FilePanelRight
.L1 CALL CheckCoordsMouse
CALL TestKeys
CALL C,DOSline
@ -349,122 +495,8 @@ END_TREE
ENDIF
include fnpanel.a80
include fndos.a80
include fnwork.a80
; ¢ë§®¢ ä㭪樨 ¢ áâà ­¨æ å
RESIDENT
.CopyFiles: LD DE,CopyFilesR
; resident 2
.FunctResident: LD A,(RAMPAGES.FNREZ2)
LD C,WINSP.CPU1
JP Resident
.ReName: LD DE,ReNameR
jr .FunctResident
.MakeDIR: LD DE,MakeDIRR
jr .FunctResident
.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
.FileInfo: CALL ResInvert
.FileInfoL2 LD HL,SetInvert
PUSH HL
LD DE,FileInfoR
jr .FunctResident
.PrintFile: CALL ResInvert
.PrintFileL3 LD HL,SetInvert
PUSH HL
LD DE,PrintFileR
jr .FunctResident
.DiskInfo: CALL ResInvert
.DiskInfoL4: LD DE,DiskInfoR
jr .FunctResident
.SystemInfo: LD DE,SystemInfoR
jr .FunctResident
.Version: LD DE,VersionR
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
ENDIF
.MarkFile: LD DE,MarkFileR
; resident 3
.HelpResident: LD A,(RAMPAGES.FNREZ3)
LD C,WINSP.CPU1
JP Resident
IF MARK_DIR
.CountingDir LD DE,CountingDirR
JR .HelpResident
.MkdirsDst LD DE,MkdirsDstR
JR .HelpResident
ENDIF
.UnMarkGroup: LD DE,UnMarkGroupR
jr .HelpResident
.UnMarkGroupN: LD DE,UnMarkGroupRN
jr .HelpResident
.MarkGroup: LD DE,MarkGroupR
jr .HelpResident
.MarkGroupN: LD DE,MarkGroupRN
jr .HelpResident
.SelectAll: LD DE,SelectAllR
jr .HelpResident
.SelectAllN: LD DE,SelectAllRN
jr .HelpResident
.UnSelectAll: LD DE,UnSelectAllR
jr .HelpResident
.UnSelectAllN: LD DE,UnSelectAllRN
jr .HelpResident
.InvertSelect: LD DE,InvertSelectR
jr .HelpResident
.InvertSelectN: LD DE,InvertSelectRN
jr .HelpResident
include fnmenu.a80
include fninit.a80
include fndosline.a80
@ -472,20 +504,22 @@ RESIDENT
END_BLOCK_1:
DEPHASE ; BASE_ADDR
; ==============resident 2==============
PHASE 0x4000
START_BLOCK_2
include rez2_fnfunct.a80
include rez2_fnmisc.a80
include rez2_fnsearch.a80
include rez2_fnconfig.a80
include rez2_fnerror.a80
include rez2_fntab1.a80
include rez2_fntab.a80
IF TREE_REZID
include fntree.a80
ENDIF
END_BLOCK_2:
DEPHASE ; 0x4000
; ==============resident 2==============
; ==============fonts==============
PHASE 0xC000
; MAIN.FNFONT
START_BLOCK_4
@ -496,57 +530,41 @@ IFFFONT_RAW_END
END_BLOCK_4:
DEPHASE ; 0xC000
; ==============fonts==============
; ==============resident 3==============
PHASE 0x4000
; MAIN.FNREZ3
START_BLOCK_3
include rez3_fnnext.a80
include rez3_fnmark.a80
include rez3_fnmisc.a80
include rez3_fntab.a80
; ¡ãä¥à  çâ®¡ë ¯ ¬ïâì ­¥ § ­¨¬ «¨ ¢ EXE ä ©«¥
INIT_VAR 0x8000 ; á ª®­æ  áâà ­¨æë
MINUSVAR fnedit_ext, WorkBuffer_Size ;times 0x400 db 0
MINUSVAR fnview_ext, WorkBuffer_Size ;times 0x400 db 0
MINUSVAR fn_ext, WorkBuffer_Size ;times 0x400 db 0
MINUSVAR DOShistory, 0x200 ;times 0x200 db 0
BUFFERS
_INIT_VAR 0x8000 ; á ª®­æ  áâà ­¨æë
_MINUSVAR .DOShistory, 0x200 ;times 0x200 db 0
IFDEF ENABLE.HELP
WINSP_CPU EQU WINSP.CPU3 ; ®ª­® ¯à®¥æ¨à®¢ ­¨ï
WINSP_ADR EQU 0xC000 ;  ¤à¥á ®ª­ 
_MINUSVAR .fnedit_ext, WorkBuffer_Size ;times 0x400 db 0
_MINUSVAR .fnview_ext, WorkBuffer_Size ;times 0x400 db 0
_MINUSVAR .fn_ext, WorkBuffer_Size ;times 0x400 db 0
include plugins/help/help.a80
HelpText: include plugins/help/help_t.a80
HelpTextEnd:
ENDIF
_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 ; ⥪ã騩  ¤à¥á ¢ ¯ãâ¨
END_BLOCK_3:
DEPHASE ; 0x4000
IFDEF ENABLE.VIEW
; MAIN.FNVIEW
START_BLOCK_VIEWER
PHASE 0xC000
include plugins/fnviewer/fviewer.a80
DEPHASE ; 0xC000
END_BLOCK_VIEWER
ENDIF
IFDEF ENABLE.EDIT
; MAIN.FNEDIT
START_BLOCK_EDITOR
PHASE 0xC000
include plugins/fneditor/feditor.a80
DEPHASE ; 0xC000
END_BLOCK_EDITOR
ENDIF
; ==============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
IFDEF ENABLE.EDIT
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR ; । ªâ®à
ENDIF
IFDEF ENABLE.VIEW
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER ; ¢ìà
ENDIF
SORT_SIZE EQU END_SORT - START_SORT ; á®àâ¨à®¢é¨ª
TREE_SIZE EQU END_TREE - START_TREE ; à ¡®â  á ¤¥à¥¢®¬

View File

@ -1,10 +1,10 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
PullDown: CALL ResInvert
CALL SetPullInvert
PullLoop: LD IX,PullTab
PullLoop: LD IX,MAINTAB.PullTab
CALL CheckCoordsMouse
SPDSS DSSF.SCANKEY
JR Z,PullLoop
@ -89,7 +89,7 @@ PullInvert: LD L,A
ADD HL,HL ; *4
ADD HL,HL ; *8
ADD HL,HL ; *16
LD BC,PullTab
LD BC,MAINTAB.PullTab
ADD HL,BC
PUSH HL
POP IX
@ -141,7 +141,7 @@ MenuFile: CALL ResInvert
W_TEXT 16,40,COLORP.HIGHGRAY,"Exit"
W_TEXT 100,40,COLORP.HIGHGRAY,"F10"
W_END
LD HL,FileTab
LD HL,MAINTAB.FileTab
LD BC,3
JP MenuWork
@ -162,7 +162,7 @@ MenuSelect: CALL ResInvert
W_TEXT 16,62,COLORP.HIGHGRAY,"Invert selection"
W_TEXT 112,62,COLORP.HIGHGRAY,"*"
W_END
LD HL,SelectTab
LD HL,MAINTAB.SelectTab
LD BC,1 << 8 | 5
JP MenuWork
@ -186,7 +186,7 @@ MenuOption: CALL ResInvert
W_TEXT 16,54,COLORP.HIGHGRAY,"Plugins..." ; 03
ENDIF
W_END
LD HL,OptionTab
LD HL,MAINTAB.OptionTab
IF PLUGS_ENABLE
LD BC,2 << 8 | 4
ELSE
@ -326,7 +326,7 @@ MenuView: CALL ResInvert
W_TEXT 110,172,COLORP.HIGHGRAY,"\xFE CTRL+F7"
.sort5 EQU $ - STRLEN("v CTRL+F7v")
W_END
LD HL,ViewTab
LD HL,MAINTAB.ViewTab
LD BC,3 << 8 | 12
JP MenuWork
@ -338,7 +338,7 @@ MenuConfig: CALL ResInvert
W_MAIN 174,26,96,20
W_TEXT 16,6,COLORP.HIGHGRAY,"Setup..."
W_END
LD HL,ConfigTab
LD HL,MAINTAB.ConfigTab
LD BC,4 << 8 | 1
JP MenuWork
@ -350,7 +350,7 @@ MenuAbout: CALL ResInvert
W_MAIN 222,26,112,20
W_TEXT 16,6,COLORP.HIGHGRAY,"Version..."
W_END
LD HL,AboutTab
LD HL,MAINTAB.AboutTab
LD BC,5 << 8 | 1
; HL -  ¤à¥á â ¡«¨æë  ªâ¨¢­ëå §®­
; B - ⥪ã騩 ¯ã­ªâ ¬¥­î
@ -804,7 +804,7 @@ NewFilter: CALL ResInvert
NEG
LD (FiltLen),A
LD IX,FilterStr
LD HL,FilterTab
LD HL,MAINTAB.FilterTab
CALL InputLine
WINDOWCLOSE
RET C
@ -855,7 +855,7 @@ LeftDrive: CALL ResInvert
W_TEXT 86,3,COLORI.WHITE,"Left drive"
W_END
LD HL,LeftTab
LD DE,DriveTab
LD DE,MAINTAB.DriveTab
LD BC,0x0020
LDIR
LD IX,LeftPanel
@ -872,7 +872,7 @@ RightDrive: CALL ResInvert
W_TEXT 86,3,COLORI.WHITE,"Right drive"
W_END
LD HL,RightTab
LD DE,DriveTab
LD DE,MAINTAB.DriveTab
LD BC,0x0020
LDIR
LD IX,RightPanel
@ -885,7 +885,7 @@ RightTab: DEFW 0x0000,0x0160,0x0000,0x0100,0x20,0x0000,DriveExit,0x0000
ChangeDrv: PUSH IY
PUSH IX
POP IY
LD IX,BegDrive
LD IX,MAINTAB.BegDrive
LD A,(NUM_DEVICES)
ADD A,A
LD C,A
@ -948,7 +948,7 @@ ChangeDrv: PUSH IY
SUB 'A'
LD (CurDrive),A
CALL SetDriveInv
DriveLoop: LD IX,DriveTab
DriveLoop: LD IX,MAINTAB.DriveTab
CALL CheckCoordsMouse
SPDSS DSSF.SCANKEY
JR Z,DriveLoop
@ -1016,7 +1016,7 @@ DriveRight: LD A,(NUM_DEVICES)
LD (CurDrive),A
JP SetDriveInv
DriveMouse: LD IX,BegDrive
DriveMouse: LD IX,MAINTAB.BegDrive
LD C,(IX+0x00)
LD B,(IX+0x01)
OR A
@ -1074,7 +1074,7 @@ DriveInvert: LD L,A
ADD HL,HL
ADD HL,HL
ADD HL,HL
LD BC,BegDrive
LD BC,MAINTAB.BegDrive
ADD HL,BC
PUSH HL
POP IX

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 03.08.2025 savelij
;[]----------------------------------------------------------[]
ReadDIR BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
@ -390,7 +390,7 @@ SortDIR
LD A,(RAMPAGES.RIGHTPANEL)
.L1
SETPORT WINSP.CPU1,,0
LD A,(RAMPAGES.BuffPg3)
LD A,(RAMPAGES.BuffPg4)
SETPORT WINSP.CPU3,,0
LD HL,CPU3
LD (EndSort),HL
@ -486,7 +486,7 @@ SortDIR
INC HL
DJNZ .L3
GETPORT WINSP.CPU1
LD (RAMPAGES.BuffPg3),A
LD (RAMPAGES.BuffPg4),A
GETPORT WINSP.CPU3
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD HL,RAMPAGES.LEFTPANEL

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 03.08.2025 savelij
;[]-----------------------------------------------------------[]
; <20>à®æ¥¤ãà  ã¬­®¦¥­¨ï (8*8bit)
@ -252,23 +252,23 @@ ConvertNumbers_40b:
LD BC,0x4876
EXX
ld bc,0xE800
; E':BC':BC = 100,000,000,000
; E':BC':BC = 100,000,000,000
call ConNumb40
exx
ld e,0x02
ld bc,0x540B
exx
ld bc,0xE400
; E':BC':BC = 10,000,000,000
; E':BC':BC = 10,000,000,000
CALL ConNumb40
exx
ld e,0x00
ld bc,0x3B9A
exx
ld bc,0xCA00
; E':BC':BC = 1,000,000,000
; E':BC':BC = 1,000,000,000
CALL ConNumb40
; E':BC':BC = 100,000,000
; E':BC':BC = 100,000,000
CALL ConvNumTxt32_Shared.skip_1
POP IX
RET
@ -689,8 +689,12 @@ SkipWord: ld b,0x20
; HL' - X ¯®§¨æ¨ï ¢ë¢®¤  ¤ âë
; DE' - Y ¯®§¨æ¨ï ¢ë¢®¤  ¤ âë
; B' - 梥⠢뢮¤  ¤ âë
; A - ä®à¬ â ¢ë¢®¤  ¬¥áïæ  ¢ ¤ â¥
; 1 - ¬¥áïæ ¢ë¢®¤¨âáï ç¨á«®¬
; 2 - ¬¥áïæ ¢ë¢®¤¨âáï ⥪á⮬,
; ç¨á«® ¢ë¢®¤¨âáï ¡¥§ ¢¥¤ã饣® ­ã«ï
CMOSPrintDateTime:
EX AF,AF'
LD (CMOSpos.CMOSOut),A
LD (CMOSpos.posXtime),HL
LD (CMOSpos.posYtime),DE
LD A,B
@ -701,35 +705,12 @@ CMOSPrintDateTime:
LD (CMOSPrint),A
LD (CMOSpos.Time),HL
LD (CMOSpos.Time + 2),A
; LD (CMOSpos.Date),HL
; LD (CMOSpos.Date + 2),A
; LD HL,CMOSpos.TimeTXT
; LD DE,CMOSpos.DateTXT
; LD A,'0'
; LD B,0x03
;.L1 LD (HL),A
; INC HL
; LD (HL),A
; INC HL
; INC HL
; LD (DE),A
; INC DE
; LD (DE),A
; INC DE
; INC DE
; DJNZ .L1
EX AF,AF'
LD (CMOSpos.CMOSOut),A
OR A
JR Z,TestCMOS
EXX
LD (CMOSpos.posXDate),HL
LD (CMOSpos.posYDate),DE
LD A,B
LD (CMOSpos.colorDate),A
EXX
; JR TestCMOS
TestCMOS: LD A,(CMOSFlag)
OR A
RET Z
@ -752,7 +733,7 @@ TestCMOS: LD A,(CMOSFlag)
JR NZ,.PrnCMOSTime
LD A,(CMOSpos.Time + 2)
CP B
JR Z,TCMOS1
JR Z,.TCMOS1
.PrnCMOSTime: EX DE,HL
LD (CMOSpos.Time),HL
LD A,B
@ -771,28 +752,13 @@ TestCMOS: LD A,(CMOSFlag)
LD BC,(CMOSpos.posYtime)
LD A,(CMOSpos.colorTime)
CALL PrintTxtLine_IFF
TCMOS1 POP IX
.TCMOS1 POP IX
POP DE ; DE,IX ¢®ááâ ­®¢¨«¨ ¤¥­ì,¬¥áïæ,£®¤
LD A,(CMOSpos.CMOSOut)
OR A
JP Z,TCMOSexit
; PUSH IX
; POP HL
; LD BC,1900
; OR A
; SBC HL,BC
; LD B,L
; LD HL,(CMOSpos.Date)
; OR A
; SBC HL,DE
; JR NZ,.PrnCMOSData
; LD A,(CMOSpos.Date + 2)
; CP B
; JP Z,TCMOSexit
;.PrnCMOSData
EX DE,HL
LD (CMOSpos.Date),HL ; ¤¥­ì,¬¥áïæ
; LD A,B
LD (CMOSpos.Date + 2),IX ; £®¤
LD A,(CMOSpos.CMOSOut)
DEC A
@ -805,12 +771,8 @@ TCMOS1 POP IX
LD A,L
CALL Conv4CMOS
INC DE
; LD A,(CMOSpos.Date + 2)
LD HL,(CMOSpos.Date + 2)
CALL ConvertNumbers_16b;Conv4CMOS
; LD A,(CMOSpos.CMOSOut)
; DEC A
; JR NZ,.TCMOS2
CALL ConvertNumbers_16b
LD HL,CMOSpos.DateTXT
LD DE,(CMOSpos.posXDate)
LD BC,(CMOSpos.posYDate)
@ -828,9 +790,7 @@ TCMOS1 POP IX
LD A,L
DEC A
ADD A,A
; LD L,A
ADD A,A
; ADD A,L
LD HL,Month
ADD A,L
LD L,A
@ -841,32 +801,11 @@ TCMOS1 POP IX
.L2 LDI
CP (HL)
JR NZ,.L2
; LD (DE),A
; INC DE
LDI
; PUSH IX
; POP HL
LD HL,(CMOSpos.Date + 2)
CALL ConvertNumbers_16b
SUB A
LD (DE),A
; LD HL,(CMOSpos.posXDate)
; LD (CMOSclX),HL
; LD HL,(CMOSpos.posYDate)
; LD (CMOSclY),HL
; LD A,(CMOSpos.colorDate)
; AND 0xF0
; RRCA
; RRCA
; RRCA
; RRCA
; LD (CMOScol),A
; MAKEWINDOW WINSUBOBJ.WOBIND
; W_FILL 0,0,76,8,COLORI.BLACK
; W_END
;CMOSclX EQU $ - 10
;CMOSclY EQU $ - 8
;CMOScol EQU $ - 2
LD HL,CMOSpos.DateT1
LD DE,(CMOSpos.posXDate)
LD BC,(CMOSpos.posYDate)
@ -875,10 +814,6 @@ TCMOS1 POP IX
TCMOSexit POP IX
RET
;CMOSPrintOff: LD A,DateMonthFormat.Digit
; LD (CMOSPrint),A
; RET
Conv4CMOS: EX DE,HL
LD BC,(('0' - 1) << 8) + 10
.L1 INC B
@ -937,7 +872,7 @@ PointerMouseClock:
PUSH AF
LD A,(RAMPAGES.FNFONT)
SETPORT WINSP.CPU3,,0
LD IX,CLOCK_BMP;ClockBMP
LD IX,CLOCK_BMP
LD HL,14 << 8 + 9
LD DE,7 << 8 | 4
SPMOUSE MOUSEF.LOAD_IMAGE
@ -964,7 +899,7 @@ PointerMousePointer:
PUSH AF
LD A,(RAMPAGES.FNFONT)
SETPORT WINSP.CPU3,,0
LD IX,MOUSE_BMP;MouseBMP
LD IX,MOUSE_BMP
LD HL,13 << 8 + 9
LD DE,0
SPMOUSE MOUSEF.LOAD_IMAGE

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
; ”®à¬ â â ¡«¨æë
@ -29,7 +29,10 @@
; +0A 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­¥ ­ ¦ â®¬ ®£­¥
; +0C 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ («¥¢)
; +0E 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ (¯à ¢)
FilePanelLeft DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
MAINTAB
;[]==========================================================[]
.FilePanelLeft DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
DW 40, 84, 15, 26,%0000000000000000,0,MenuSelect,0
DW 84,138, 15, 26,%0000000000000000,0,MenuOption,0
DW 138,174, 15, 26,%0000000000000000,0,MenuView,0
@ -37,7 +40,7 @@ FilePanelLeft DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
DW 222,262, 15, 26,%0000000000000000,0,MenuAbout,0
DW 324,636, 44,225,%0000000000000000,0,ChPanel,0
PanelPlaceL DW 0, 0, 0, 0,%0000000000000000,0,0,0
.PanelPlaceL DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 0, 0, 0, 0,%0000000000000000,0,0,0
@ -52,7 +55,7 @@ PanelPlaceL DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 480,560,242,256,%0000000000000001,0,RESIDENT.DeleteFiles,0
DW 560,640,242,256,%0000000000000001,0,RESIDENT.Quit,0
BgDISKl DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
.BgDISKl DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
DW 326,354, 30, 42,%0000000000000001,0,ChangeDriveR,0
DW 34, 62, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; B
DW 354,382, 30, 42,%0000000000000001,0,ChangeDriveR,0
@ -77,7 +80,7 @@ BgDISKl DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
DW 0x8000
;[]==========================================================[]
FilePanelRight DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
.FilePanelRight DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
DW 40, 84, 15, 26,%0000000000000000,0,MenuSelect,0
DW 84,138, 15, 26,%0000000000000000,0,MenuOption,0
DW 138,174, 15, 26,%0000000000000000,0,MenuView,0
@ -85,7 +88,7 @@ FilePanelRight DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
DW 222,262, 15, 26,%0000000000000000,0,MenuAbout,0
DW 4,316, 44,225,%0000000000000000,0,ChPanel,0
PanelPlaceR DW 0, 0, 0, 0,%0000000000000000,0,0,0
.PanelPlaceR DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 0, 0, 0, 0,%0000000000000000,0,0,0
@ -100,7 +103,7 @@ PanelPlaceR DW 0, 0, 0, 0,%0000000000000000,0,0,0
DW 480,560,242,256,%0000000000000001,0,RESIDENT.DeleteFiles,0
DW 560,640,242,256,%0000000000000001,0,RESIDENT.Quit,0
BgDISKr DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
.BgDISKr DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
DW 326,354, 30, 42,%0000000000000001,0,ChangeDriveR,0
DW 34, 62, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; B
DW 354,382, 30, 42,%0000000000000001,0,ChangeDriveR,0
@ -125,7 +128,7 @@ BgDISKr DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
DW 0x8000
;[]==========================================================[]
FileTab DW 8,160, 29, 43,%0000000100100100,0,RESIDENT.FileInfoL2,0
.FileTab DW 8,160, 29, 43,%0000000100100100,0,RESIDENT.FileInfoL2,0
DW 8,160, 43, 57,%0000000100100100,0,RESIDENT.PrintFileL3,0
DW 8,160, 63, 77,%0000000100100100,0,RESIDENT.QuitL1,0
DW 6, 40, 15, 26,%0000000100101000,0,MenuExit,0
@ -140,7 +143,7 @@ FileTab DW 8,160, 29, 43,%0000000100100100,0,RESIDENT.FileInfoL2,0
DW 164,640, 0,256,%0000000100100000,0,MenuExit,0
DW 0x8000
SelectTab DW 44,196, 29, 43,%0000000100100100,0,RESIDENT.MarkGroupN,0
.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
@ -158,7 +161,7 @@ SelectTab DW 44,196, 29, 43,%0000000100100100,0,RESIDENT.MarkGroupN,0
DW 0x8000
; ¯®¤¬¥­î "Options"
OptionTab DW 88,288, 29, 43,%0000000100100100,0,RefreshTree,0 ; Options->Refresh tree
.OptionTab DW 88,288, 29, 43,%0000000100100100,0,RefreshTree,0 ; Options->Refresh tree
DW 88,288, 43, 57,%0000000100100100,0,RESIDENT.DiskInfoL4,0 ; Options->Disk info
DW 88,288, 63, 77,%0000000100100100,0,RESIDENT.SystemInfo,0 ; Options->System information
IF PLUGS_ENABLE
@ -177,7 +180,7 @@ OptionTab DW 88,288, 29, 43,%0000000100100100,0,RefreshTree,0 ; Options->Refres
DW 0x8000
; ¯®¤¬¥­î "View"
ViewTab DW 142,324, 29, 43,%0000000100100100,0,ChView1,0
.ViewTab DW 142,324, 29, 43,%0000000100100100,0,ChView1,0
DW 142,324, 43, 57,%0000000100100100,0,ChView2,0
DW 142,324, 57, 71,%0000000100100100,0,ChView3,0
DW 142,324, 77, 91,%0000000100100100,0,ChFilt1,0
@ -201,7 +204,7 @@ ViewTab DW 142,324, 29, 43,%0000000100100100,0,ChView1,0
DW 330,640, 0,256,%0000000101100000,0,MenuExit,0
DW 0x8000
ConfigTab DW 178,266, 29, 43,%0000000100100100,0,RESIDENT.Setup,0
.ConfigTab DW 178,266, 29, 43,%0000000100100100,0,RESIDENT.Setup,0
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
@ -214,7 +217,7 @@ ConfigTab DW 178,266, 29, 43,%0000000100100100,0,RESIDENT.Setup,0
DW 270,640, 0,256,%0000000100100000,0,MenuExit,0
DW 0x8000
AboutTab DW 226,330, 29, 43,%0000000100100100,0,RESIDENT.Version,0
.AboutTab DW 226,330, 29, 43,%0000000100100100,0,RESIDENT.Version,0
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
@ -227,7 +230,7 @@ AboutTab DW 226,330, 29, 43,%0000000100100100,0,RESIDENT.Version,0
DW 334,640, 0,256,%0000000100100000,0,MenuExit,0
DW 0x8000
PullTab DW 6, 40, 15, 26,%0000000000100000,0,MFile,0
.PullTab DW 6, 40, 15, 26,%0000000000100000,0,MFile,0
DW 40, 84, 15, 26,%0000000000100000,0,MSelect,0
DW 84,138, 15, 26,%0000000000100000,0,MOption,0
DW 138,174, 15, 26,%0000000000100000,0,MView,0
@ -240,7 +243,7 @@ PullTab DW 6, 40, 15, 26,%0000000000100000,0,MFile,0
DW 0x8000
;[]==========================================================[]
FilterTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
.FilterTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
@ -248,21 +251,13 @@ FilterTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000
SMaskTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000
DOSTab DW 0,256, 0,256,%0000000000000000,0,DOSLnExtC,0
.DOSTab DW 0,256, 0,256,%0000000000000000,0,DOSLnExtC,0
DW 636,640, 0,256,%0000000000000000,0,DOSLnExtC,0
DW 0,640, 0,229,%0000000000000000,0,DOSLnExtC,0
DW 0,640,239,256,%0000000000000000,0,DOSLnExtC,0
DW 0x8000
ViewEditTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
.ViewEditTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,200, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 440,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
@ -271,12 +266,12 @@ ViewEditTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 0x8000
;[]==========================================================[]
DriveTab DW 0, 0, 0, 0,%0000000000100000,0,DriveExit,0
.DriveTab DW 0, 0, 0, 0,%0000000000100000,0,DriveExit,0
DW 0, 0, 0, 0,%0000000000100000,0,DriveExit,0
DW 0,640, 0, 92,%0000000000100000,0,DriveExit,0
DW 0,640,128,256,%0000000000100000,0,DriveExit,0
BegDrive DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
.BegDrive DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
@ -291,7 +286,7 @@ BegDrive DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
IF PLUGS_ENABLE
; ®¡« á⨠¢ë¡®à  ¢ ¬¥­î ¯« £¨­®¢
PluginsTab: DW 4, 13,100, 10,%0000000000000000,0,SelectPlugin.NUM00,0
.PluginsTab: DW 4, 13,100, 10,%0000000000000000,0,SelectPlugin.NUM00,0
DW 4, 23,100, 10,%0000000000000000,0,SelectPlugin.NUM01,0
DW 4, 33,100, 10,%0000000000000000,0,SelectPlugin.NUM02,0
DW 4, 43,100, 10,%0000000000000000,0,SelectPlugin.NUM03,0
@ -307,7 +302,7 @@ PluginsTab: DW 4, 13,100, 10,%0000000000000000,0,SelectPlugin.NUM00,0
ENDIF
;[]==========================================================[]
;”®à¬ â â ¡«¨æë
; ”®à¬ â â ¡«¨æë
; +00 2 ASCII + SCANCOD
; +02 2 Execute program
HOTKEYS

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 03.08.2025 savelij
MAX_LEVEL_DIR EQU 21
@ -28,7 +28,7 @@ ReadTreeR PUSH IY
GETPORT WINSP.CPU3
LD B,A
PUSH BC
LD A,(RAMPAGES.BuffPg3)
LD A,(RAMPAGES.BuffPg4)
SETPORT WINSP.CPU1,,0
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
@ -182,7 +182,7 @@ ReadTreeR PUSH IY
SET VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
.L4
GETPORT WINSP.CPU3
LD (RAMPAGES.BuffPg3),A
LD (RAMPAGES.BuffPg4),A
GETPORT WINSP.CPU1
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
LD HL,RAMPAGES.LEFTPANEL

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]===========================================================[]
CursUp LD A,(IY + PANEL.FILES_ALL)
@ -70,7 +70,7 @@ ScrlDn1 BIT VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
PUSH HL
LDIR
POP HL
LD DE,0x18*0x11
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
ADD HL,DE
LD E,IXL
LD D,IXH
@ -84,7 +84,7 @@ ScrlDn1 BIT VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
PUSH HL
LDIR
POP HL
LD DE,0x18*0x11
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
ADD HL,DE
LD E,IXL
LD D,IXH
@ -419,14 +419,14 @@ ScrlUp1 BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
PUSH HL
LDIR
POP HL
LD DE,0x18*0x11
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
ADD HL,DE
LD DE,WorkBuffer+0x10
LD C,0x0E
PUSH HL
LDIR
POP HL
LD DE,0x18*0x11
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
ADD HL,DE
LD DE,WorkBuffer+0x20
LD C,0x0E
@ -1356,7 +1356,7 @@ ShowDSexit
JP WaitUnpressMouse
;[]==========================================================[]
RunEXEfile: LD IX,fn_ext
RunEXEfile: LD IX,BUFFERS.fn_ext
LD DE,PrevFile
PUSH DE
SUB A
@ -1894,7 +1894,7 @@ ViewFileSH: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
W_FILL 88,23,130,10,COLORI.WHITE
W_END
LD IX,ViewStr
LD HL,ViewEditTab
LD HL,MAINTAB.ViewEditTab
CALL InputLine
WINDOWCLOSE
RET C
@ -1938,14 +1938,12 @@ StViewFile: LD A,0x01
LD A,(IY+PANEL.FILES_ALL)
OR (IY+PANEL.FILES_ALL + 1)
RET Z
IFNDEF ENABLE.VIEW
; ¯®¯ë⪠ § £à㧪¨ ¯« £¨­ 
CALL LOADFLX4RUN
DZ FILENAME.VIEW_FLX
; ¢ë¢®¤ ®è¨¡ª¨ "<22>« £¨­ ­¥ ­ ©¤¥­"
LD A,FNinternal.PlugNotFound
JP C,DOSError
ENDIF
GETPORT WINSP.CPU1
PUSH AF
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
@ -1991,7 +1989,7 @@ StViewFile: LD A,0x01
VFlag: EQU $-1
OR A
JR NZ,View1
View: LD IX,fnview_ext
View: LD IX,BUFFERS.fnview_ext
LD DE,PrevFile
CALL TestEXT
RET NC
@ -2021,12 +2019,7 @@ View1: CALL ResInvert
LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000
JR NZ,.L4
LD C,WINSP.CPU3 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0xC000
.L4
IFDEF ENABLE.VIEW
LD A,(RAMPAGES.FNVIEW)
ELSE
LD A,(RAMPAGES.FLX)
ENDIF
.L4 LD A,(RAMPAGES.FLX)
CALL Resident
LD HL,0
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨­  £«ã訬  ¤à¥á § £à㧪¨
@ -2061,7 +2054,7 @@ EditFileSH: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
W_FILL 88,23,130,10,COLORI.WHITE
W_END
LD IX,EditStr
LD HL,ViewEditTab
LD HL,MAINTAB.ViewEditTab
CALL InputLine
WINDOWCLOSE
RET C
@ -2105,14 +2098,12 @@ StEditFile: LD A,0x01
LD A,(IY+PANEL.FILES_ALL)
OR (IY+PANEL.FILES_ALL + 1)
RET Z
IFNDEF ENABLE.VIEW
; ¯®¯ë⪠ § £à㧪¨ ¯« £¨­ 
CALL LOADFLX4RUN
DZ FILENAME.EDIT_FLX
; ¢ë¢®¤ ®è¨¡ª¨ "<22>« £¨­ ­¥ ­ ©¤¥­"
LD A,FNinternal.PlugNotFound
JP C,DOSError
ENDIF
GETPORT WINSP.CPU1
PUSH AF
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
@ -2158,7 +2149,7 @@ StEditFile: LD A,0x01
EFlag: EQU $-1
OR A
JR NZ,Edit1
Edit: LD IX,fnedit_ext
Edit: LD IX,BUFFERS.fnedit_ext
LD DE,PrevFile
CALL TestEXT
RET NC
@ -2188,12 +2179,7 @@ Edit1: CALL ResInvert
LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000
JR NZ,.L4
LD C,WINSP.CPU3 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0xC000
.L4
IFDEF ENABLE.VIEW
LD A,(RAMPAGES.FNEDIT)
ELSE
LD A,(RAMPAGES.FLX)
ENDIF
.L4 LD A,(RAMPAGES.FLX)
CALL Resident
LD HL,0
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨­  £«ã訬  ¤à¥á § £à㧪¨

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 03.08.2025 savelij
ENABLE_CODEPAGE EQU 0
@ -391,15 +391,15 @@ FEInitScreen
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD HL,508
LD HL,520
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
EXX
LD HL,558
LD HL,568
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
EXX
LD A,DateMonthFormat.Text
LD A,DateMonthFormat.Digit
JP JUMPS.CMOSPrintDateTime
;[]==========================================================[]

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 02.08.2025 savelij
; LAST UPDATE: 03.08.2025 savelij
LineBuffer := WorkBuffer+0x300
@ -486,10 +486,10 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
W_END
SPDSS DSSF.CURDISK
LD HL,WorkBuffer
ADD A,"A"
ADD A,'A'
LD (HL),A
INC HL
LD (HL),":"
LD (HL),':'
INC HL
PUSH HL
SPDSS DSSF.CURDIR
@ -512,21 +512,21 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
CP (HL)
JR NZ,.L6
LD (DE),A
LD IX,0x0200
LD IX,512
LD HL,WorkBuffer
LD DE,0x0034
LD BC,0x0011
LD DE,52
LD BC,17
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD HL,508
LD HL,520
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
EXX
LD HL,558
LD HL,568
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
EXX
LD A,DateMonthFormat.Text
LD A,DateMonthFormat.Digit
JP JUMPS.CMOSPrintDateTime
FVFAtributs DEFB "--ad-shr"

View File

@ -3,12 +3,14 @@ Flex Navigator для компьютера Sprinter
Собранные файлы забирать из папки fn
`FileEditor.flx 1.10:`
- устранено перепутанные кнопки для нажатий мышью для F7 и F9.
`FlexNavigator 1.16.03`
- MISC функции перенесены из 2 резидента в 3.
- перераспределение TAB таблиц.
- в описание Flex Navigator API добавлено описание глобальных
переменных.
`FileViewer.flx 1.06:`
- добавлено переключение кодировки в режиме HEX просмотра.
`FileViewer.flx 1.07`
- мелкое исправление позиции вывода даты/времени.
`FlexNavigaror 1.16.01:`
- исправлен вылет при создании нового файла по Shift+F4 или просмотр с
вводом имени по Shift+F3, плагин был не загружен.
`FileEditor.flx 1.11`
- мелкое исправление позиции вывода даты/времени.

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
PALITRA.RESERV EQU PALETTE + 0x34
@ -84,7 +84,7 @@ SaveFlg EQU $-2
LD IX,BarBlue
CALL InitScrollBar
CALL InitElement
SetupLoop LD IX,SetupTab
SetupLoop LD IX,REZ2TAB.SetupTab
CALL CheckCoordsMouse
SPDSS DSSF.SCANKEY
JR Z,SetupLoop
@ -511,7 +511,7 @@ InputColor LD (ColorY),BC
SUB LOW (ColText)
LD (ColLen),A
InpAg LD IX,ColorStr
LD HL,EmptyTab
LD HL,REZ2TAB.EmptyTab
CALL InputLine
POP DE
POP HL

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
CopyFilesR LD A,(IY + PANEL.FILES_ALL)
@ -11,7 +11,7 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
LD A,(IY + PANEL.FILES_MARK)
OR (IY + PANEL.FILES_MARK + 1)
JP NZ,CopyMark ; ¥áâì ¯®¬¥ç¥­­ë¥ ä ©«ë
; ª®¯¨à®¢ ­¨¥ ä ©« /¤¨àë ¯®¤ ªãàá®à®¬
; ª®¯¨à®¢ ­¨¥ ä ©« /¤¨àë ¯®¤ ªãàá®à®¬, ¡¥§ ¯®¬¥âª¨
GETPORT WINSP.CPU3
PUSH AF
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
@ -35,12 +35,15 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
ADD HL,DE ; *18
SET 6,H
SET 7,H ; | 0xC000
LD (AdrCopyFile),HL
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
@ -48,63 +51,48 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
RET NZ
ENDIF
LD HL,0
LD (CopyFiles),HL
LD (COPY.CopyFiles),HL
LD L,(IX + FileHDR.SizeBytes)
LD H,(IX + FileHDR.SizeBytes + 1)
LD (CopyBytes),HL
LD (COPY.CopyBytes),HL
LD E,(IX + FileHDR.SizeBytes + 2)
LD D,(IX + FileHDR.SizeBytes + 3)
LD (CopyBytes + 2),DE
LD (COPY.CopyBytes + 2),DE
CALL ConvBytes2Pages
JP CopyNxt
IF MARK_DIR
; ª®¯¨à®¢ ­¨¥ ¤¨àë á® ¢á¥¬ ᮤ¥à¦¨¬ë¬
COPY_DIR PUSH IX
PUSH IY
PUSH IX
; LD HL,(AdrCopyFile) ;  ¤à¥á ®¯¨á â¥«ï ¨§¬¥à塞®© ¤¨àë
; CALL RESIDENT.GetDirSize ; áç¨â ¥¬ ¨ ¯®«ãç ¥¬ à §¬¥à ¢ ¡ ©â å
; EXX
CALL RESIDENT.CountingDir
; ª®¯¨à®¢ ­¨¥ ¤¨àë á® ¢á¥¬ ᮤ¥à¦¨¬ë¬ ¯®¤ ªãàá®à®¬
COPY_DIR INC A
LD (HL),A ; ª®¯¨à®¢ âì ¡ã¤¥¬ ¤¨à¥ªâ®à¨ï¬¨
CALL RESIDENT.CountingDir ; ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨à¥ªâ®à¨¨ á ä ©« ¬¨
LD HL,JUMPS.FILES_BYTES
CALL GET_DWORD
POP HL ;  ¤à¥á ®¯¨á â¥«ï
LD (CopyBytes),DE
LD (CopyBytes + 2),BC
PUSH DE
LD DE,FileHDR.SizeBytes
ADD HL,DE ; 㪠§ â¥«ì ­  ª®«¨ç¥á⢮ ¡ ©â ª®¯¨à®¢ ­¨ï
POP DE
CALL SET_DWORD ; § ­¥á«¨ à §¬¥à ¤¨àë ¢ ¡ ©â å ¢ ®¯¨á â¥«ì
LD DE,COPY.CopyBytes
LD BC,5
LDIR ; § ¡à «¨ à §¬¥à ¤¨à¥ªâ®à¨¨
LD HL,0
LD (CopyFiles),HL
EX DE,HL
LD D,B
LD E,C
LD (COPY.CopyFiles),HL ; ª®«¨ç¥á⢮ 㦥 ᪮¯¨à®¢ ­­ëå ä ©«®¢
CALL RESIDENT.InitCopyDirs ; ¨­¨æ¨ «¨§ æ¨ï ¯ã⥩ ®âªã¤ /ªã¤ 
LD HL,(COPY.CopyBytes)
LD DE,(COPY.CopyBytes + 2)
CALL ConvBytes2Pages ; ¯¥à¥áç¥â ¢ ª®«¨ç¥á⢮ áâà ­¨æ ¤«ï ª®¯¨à®¢ ­¨ï
LD HL,(AdrCopyFile) ;  ¤à¥á ®¯¨á â¥«ï ª®¯¨à㥬®© ¤¨àë
CALL RESIDENT.MkdirsDst ; á®§¤ ­¨¥ ¯ ¯®ª ­  ¯à¨¥¬­¨ª¥
POP IY
POP IX
RET
JP CopyNxt
ENDIF
; ª®¯¨à®¢ ­¨¥ ¯®¬¥ç¥­­ëå ä ©«®¢
CopyMark LD L,(IY + PANEL.FILES_MARK)
LD H,(IY + PANEL.FILES_MARK + 1)
LD (CopyFiles),HL
LD (COPY.CopyFiles),HL
LD L,(IY + PANEL.BYTES_MARK)
LD H,(IY + PANEL.BYTES_MARK + 1)
LD (CopyBytes),HL
LD (COPY.CopyBytes),HL
LD L,(IY + PANEL.BYTES_MARK + 2)
LD H,(IY + PANEL.BYTES_MARK + 3)
LD (CopyBytes + 2),HL
LD (COPY.CopyBytes + 2),HL
; [ ] fat32
LD A,(IY + PANEL.BYTES_MARK_H)
LD (CopyBytes + 4),A
LD (COPY.CopyBytes + 4),A
GETPORT WINSP.CPU3
PUSH AF
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
@ -118,7 +106,7 @@ CopyMark LD L,(IY + PANEL.FILES_MARK)
.L2 ADD HL,BC
BIT FileHDR.B_MARK,(HL)
JR Z,.L2
LD (AdrCopyFile),HL
LD (COPY.PathCurrFile),HL
PUSH HL
POP IX
SUB A
@ -136,13 +124,15 @@ 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
; LD C,L
; LD B,H
; POP HL
POP BC
ADD HL,BC
LD C,E
LD B,D
POP DE
; LD C,E
; LD B,D
; POP DE
POP BC
EX DE,HL
ADC HL,BC
EX DE,HL
@ -197,7 +187,7 @@ CopyNxt LD IX,ProcessAll
SUB C
LD (PathLen),A
LD IX,PathStr
LD HL,PathTab
LD HL,REZ2TAB.PathTab
CALL InputLine
WINDOWCLOSE
RET C
@ -207,7 +197,7 @@ CopyNxt LD IX,ProcessAll
PUSH IY
SPDSS DSSF.INFOMEM
POP IY
LD (FreeBanks),BC
LD (COPY.FreeBanks),BC
LD A,B
OR C
LD A,ERR_DSS.NOT_ENOUGH_MEMORY
@ -225,16 +215,16 @@ CopyNxt LD IX,ProcessAll
W_FILL 18,57,284,10,COLORI.WHITE
W_END
SUB A
LD (OverWriteFlg),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 (CopySrc),HL
LD (COPY.PathSrc),HL
LD HL,CurPath
LD (CopyDst),HL
LD (COPY.PathDst),HL
CALL PointerMouseClock
PUSH IY
GETPORT WINSP.CPU3
@ -245,17 +235,25 @@ CopyNxt LD IX,ProcessAll
LD A,(RAMPAGES.RIGHTPANEL)
.L3
SETPORT WINSP.CPU3,,0
; ª®¯¨à®¢ ­¨¥ ä ©«®¢
CopyNextFile CALL PrnFromTo
LD IX,(AdrCopyFile)
LD L,(IX + FileHDR.SizeBytes)
; ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨©
CopyNextFile CALL PrintSrcDst
LD IX,(COPY.PathCurrFile)
IF MARK_DIR
BIT DIR.B_Dir,(IX + FileHDR.Attr)
JR Z,.CopyFile
; ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨¨
CALL RESIDENT.Add2ListDir ; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¢ ᯨ᮪
JR CopyNextFile
ENDIF
.CopyFile LD L,(IX + FileHDR.SizeBytes)
LD H,(IX + FileHDR.SizeBytes + 1)
LD E,(IX + FileHDR.SizeBytes + 2)
LD D,(IX + FileHDR.SizeBytes + 3)
LD (ReadBytes),HL
LD (ReadBytes + 2),DE
LD (WriteBytes),HL
LD (WriteBytes + 2),DE
LD (COPY.CurrReadBytes),HL
LD (COPY.CurrReadBytes + 2),DE
LD (COPY.CurrWriteBytes),HL
LD (COPY.CurrWriteBytes + 2),DE
CALL ConvBytes2Pages
LD (.PagesLow),HL
LD (.PagesHigh),DE
@ -270,7 +268,7 @@ CopyNextFile CALL PrnFromTo
LD (IX + PROGRESSBAR.MAX_PAGES + 3),D
CALL InitProgressBar
CALL DrawProgressBar
LD HL,(FreeBanks)
LD HL,(COPY.FreeBanks)
LD DE,0x0000
.PagesHigh EQU $-2
LD A,D
@ -285,56 +283,56 @@ CopyNextFile CALL PrnFromTo
.CopyLp1 EX DE,HL
.L1 LD B,E
SPDSS DSSF.GETMEM
LD (MemID),A
LD (COPY.MemID),A
LD HL,PagesList
SPBIOS BIOSF.GETMEMBLKPAGES
LD HL,(CopySrc) ; Žâªà뢠¥¬ ä ©« ¨áâ®ç­¨ª
LD HL,(COPY.PathSrc) ; ®âªà뢠¥¬ ä ©« ¨áâ®ç­¨ª
SPDSS DSSF.CHDIR
JP C,CopyError1
LD HL,(AdrCopyFile)
LD HL,(COPY.PathCurrFile)
INC HL
LD DE,WorkBuffer
PUSH DE
CALL MakeDOSname
POP HL
SPDSS DSSF.OPEN,,1
SPDSS DSSF.OPEN,,FILEMODE.R ; ®âªàë⨥ ­  ç⥭¨¥
JP C,CopyError1
LD (FHandleSrc),A
LD HL,(CopyDst) ; Žâªà뢠¥¬ ä ©« ¯à¨¥¬­¨ª
LD (COPY.FHandleSrc),A
LD HL,(COPY.PathDst) ; ®âªà뢠¥¬ ä ©« ¯à¨¥¬­¨ª
SPDSS DSSF.CHDIR
JP C,CopyError2
LD IX,(AdrCopyFile)
LD HL,(AdrCopyFile)
LD IX,(COPY.PathCurrFile)
LD HL,(COPY.PathCurrFile)
INC HL
LD DE,WorkBuffer
PUSH DE
CALL MakeDOSname
POP HL
LD A,(OverWriteFlg)
LD A,(COPY.OverWriteFlg)
OR A
LD C,DSSF.CREAT_N
JR Z,.L2
LD C,DSSF.CREATE
.L2 LD A,(IX + FileHDR.Attr)
SPDSS
JR NC,CopyLp2
CP 0x07
SPDSS ; á®§¤ ­¨¥ ä ©« 
JR NC,.CopyLp2
CP ERR_DSS.FILE_EXISTS
JP NZ,CopyError2
CALL OverWrite
CopyLp2 LD (FHandleDst),A
LD HL,(ReadBytes)
CALL OverWrite ; ä ©« áãé¥áâ¢ãâ, § ¯à®á ­  ¯¥à¥§ ¯¨áì
.CopyLp2 LD (COPY.FHandleDst),A
LD HL,(COPY.CurrReadBytes)
LD A,H
OR L
LD HL,(ReadBytes + 2)
LD HL,(COPY.CurrReadBytes + 2)
OR H
OR L
JP Z,CloseFiles
ReadFile
JP Z,.CloseFiles
.ReadFile
GETPORT WINSP.CPU3
PUSH AF
LD HL,PagesList
LD A,(HL)
ReadLp1 INC HL
.ReadLp1 INC HL
PUSH HL
SETPORT WINSP.CPU3,,0
SPDSS DSSF.SCANKEY
@ -342,8 +340,8 @@ ReadLp1 INC HL
OR A
SBC HL,DE
JP Z,CopyBreak
LD HL,(ReadBytes)
LD DE,(ReadBytes + 2)
LD HL,(COPY.CurrReadBytes)
LD DE,(COPY.CurrReadBytes + 2)
LD BC,0x4000
OR A
SBC HL,BC
@ -351,40 +349,40 @@ ReadLp1 INC HL
EX DE,HL
SBC HL,BC
EX DE,HL
JR C,ReadEnd
LD (ReadBytes),HL
LD (ReadBytes + 2),DE
JR C,.ReadEnd
LD (COPY.CurrReadBytes),HL
LD (COPY.CurrReadBytes + 2),DE
LD HL,0xC000
LD DE,0x4000
LD A,(FHandleSrc)
LD A,(COPY.FHandleSrc)
SPDSS DSSF.READ
CALL NextProcess
POP HL
LD A,(HL)
CP 0xFF
JR NZ,ReadLp1
JR NZ,.ReadLp1
POP AF
SETPORT WINSP.CPU3,,0
JR WriteFile
JR .WriteFile
; !FIXIT ᤥ« âì â ª:
ReadEnd: LD HL,0xC000
LD DE,(ReadBytes)
.ReadEnd: LD HL,0xC000
LD DE,(COPY.CurrReadBytes)
LD A,D
OR E
JR Z,.L1
LD A,(FHandleSrc)
JR Z,.L3
LD A,(COPY.FHandleSrc)
SPDSS DSSF.READ
CALL NextProcess
.L1 POP HL
.L3 POP HL
POP AF
SETPORT WINSP.CPU3,,0
WriteFile
.WriteFile
GETPORT WINSP.CPU3
PUSH AF
LD HL,PagesList
LD A,(HL)
WriteL1 INC HL
.WriteL1 INC HL
PUSH HL
SETPORT WINSP.CPU3,,0
SPDSS DSSF.SCANKEY
@ -392,8 +390,8 @@ WriteL1 INC HL
OR A
SBC HL,DE
JP Z,CopyBreak
LD HL,(WriteBytes)
LD DE,(WriteBytes + 2)
LD HL,(COPY.CurrWriteBytes)
LD DE,(COPY.CurrWriteBytes + 2)
LD BC,0x4000
OR A
SBC HL,BC
@ -401,98 +399,114 @@ WriteL1 INC HL
EX DE,HL
SBC HL,BC
EX DE,HL
JR C,WriteEnd
LD (WriteBytes),HL
LD (WriteBytes + 2),DE
JR C,.WriteEnd
LD (COPY.CurrWriteBytes),HL
LD (COPY.CurrWriteBytes + 2),DE
LD HL,0xC000
LD DE,0x4000
LD A,(FHandleDst)
LD A,(COPY.FHandleDst)
SPDSS DSSF.WRITE
JP C,CopyError3
CALL NextProcess
POP HL
LD A,(HL)
CP 0xFF
JR NZ,WriteL1
JR NZ,.WriteL1
POP AF
SETPORT WINSP.CPU3,,0
LD HL,(ReadBytes)
LD HL,(COPY.CurrReadBytes)
LD A,H
OR L
LD HL,(ReadBytes + 2)
LD HL,(COPY.CurrReadBytes + 2)
OR H
OR L
JR Z,CloseFiles
JP ReadFile
JR Z,.CloseFiles
JP .ReadFile
; !FIXIT ᤥ« âì â ª:
WriteEnd: LD HL,0xC000
LD DE,(WriteBytes)
.WriteEnd: LD HL,0xC000
LD DE,(COPY.CurrWriteBytes)
LD A,D
OR E
JR Z,.L1
LD A,(FHandleDst)
JR Z,.L4
LD A,(COPY.FHandleDst)
SPDSS DSSF.WRITE
JP C,CopyError3
CALL NextProcess
.L1 POP HL
.L4 POP HL
POP AF
SETPORT WINSP.CPU3,,0
CloseFiles LD A,(FHandleSrc)
.CloseFiles LD A,(COPY.FHandleSrc)
SPDSS DSSF.GET_D_T
LD A,(FHandleDst)
LD A,(COPY.FHandleDst)
SPDSS DSSF.PUT_D_T
LD A,(FHandleDst)
LD A,(COPY.FHandleDst)
SPDSS DSSF.CLOSE
CloseFile1 LD A,(FHandleSrc)
.CloseFile1 LD A,(COPY.FHandleSrc)
SPDSS DSSF.CLOSE
LD A,(MemID)
LD A,(COPY.MemID)
SPDSS DSSF.FREEMEM
LD IX,(AdrCopyFile)
LD IX,(COPY.PathCurrFile)
RES FileHDR.B_MARK,(IX + FileHDR.Flag)
LD HL,(CopyBytes)
LD HL,(COPY.CopyBytes)
LD E,(IX + FileHDR.SizeBytes)
LD D,(IX + FileHDR.SizeBytes + 1)
OR A
SBC HL,DE
LD (CopyBytes),HL
LD HL,(CopyBytes+2)
LD (COPY.CopyBytes),HL
LD HL,(COPY.CopyBytes+2)
LD E,(IX + FileHDR.SizeBytes + 2)
LD D,(IX + FileHDR.SizeBytes + 3)
SBC HL,DE
LD (CopyBytes+2),HL
LD HL,(CopyFiles)
LD (COPY.CopyBytes+2),HL
LD HL,(COPY.CopyFiles)
LD A,H
OR L
JR Z,CopyEnd
JR Z,CopyEnd ; ä ©«ë ª®­ç¨«¨áì?
DEC HL
LD (CopyFiles),HL
LD (COPY.CopyFiles),HL
LD A,H
OR L
JR Z,CopyEnd
LD HL,(AdrCopyFile)
JR Z,CopyEnd ; ä ©«ë ª®­ç¨«¨áì?
LD HL,(COPY.PathCurrFile)
LD DE,FileHDR.SIZE
.L1 ADD HL,DE
BIT FileHDR.B_MARK,(HL)
JR Z,.L1
LD (AdrCopyFile),HL
.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)
JR Z,.L5
.L7 LD (COPY.PathCurrFile),HL
JP CopyNextFile
.FLAG_DIRCOPY DB 0
; § ¢¥à襭¨¥ ª®¯¨à®¢ ­¨ï
CopyEnd POP AF
SETPORT WINSP.CPU3,,0
POP IY
WINDOWCLOSE
LD HL,(CopyFiles)
LD HL,(COPY.CopyFiles)
LD (IY + PANEL.FILES_MARK),L
LD (IY + PANEL.FILES_MARK + 1),H
LD HL,(CopyBytes)
LD HL,(COPY.CopyBytes)
LD (IY + PANEL.BYTES_MARK),L
LD (IY + PANEL.BYTES_MARK + 1),H
LD HL,(CopyBytes + 2)
LD HL,(COPY.CopyBytes + 2)
LD (IY + PANEL.BYTES_MARK + 2),L
LD (IY + PANEL.BYTES_MARK + 3),H
; [ ] fat32
LD A,(CopyBytes + 4)
LD A,(COPY.CopyBytes + 4)
LD (IY + PANEL.BYTES_MARK_H),A
PUSH IY
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
@ -529,16 +543,16 @@ CopyError3: ;
PUSH AF
LD A,D
SETPORT WINSP.CPU3,,0
LD A,(FHandleDst)
LD A,(COPY.FHandleDst)
SPDSS DSSF.CLOSE
CALL CopyErrorFileDelete
POP AF
CopyError2 PUSH AF
LD A,(FHandleSrc)
LD A,(COPY.FHandleSrc)
SPDSS DSSF.CLOSE
POP AF
CopyError1 PUSH AF
LD A,(MemID)
LD A,(COPY.MemID)
SPDSS DSSF.FREEMEM
POP AF
CALL DOSError
@ -547,18 +561,18 @@ CopyError1 PUSH AF
CopyBreak POP HL
POP AF
SETPORT WINSP.CPU3,,0
LD A,(FHandleDst)
LD A,(COPY.FHandleDst)
SPDSS DSSF.CLOSE
LD A,(FHandleSrc)
LD A,(COPY.FHandleSrc)
SPDSS DSSF.CLOSE
LD A,(MemID)
LD A,(COPY.MemID)
SPDSS DSSF.FREEMEM
CALL CopyErrorFileDelete
JP CopyEnd
CopyErrorFileDelete:
LD IX,(AdrCopyFile)
LD HL,(AdrCopyFile)
LD IX,(COPY.PathCurrFile)
LD HL,(COPY.PathCurrFile)
INC HL
LD DE,WorkBuffer
PUSH DE
@ -586,7 +600,7 @@ OverWrite CALL PointerMousePointer
W_BUTTON 208,38,56,14
W_TEXT 220,41,COLORP.HIGHGRAY,"Cancel"
W_END
LD HL,(CopyDst)
LD HL,(COPY.PathDst)
LD DE,WorkBuffer
SUB A
.L1 LDI
@ -598,7 +612,7 @@ OverWrite CALL PointerMousePointer
JR Z,.L2
LD (DE),A
INC DE
.L2 LD HL,(AdrCopyFile)
.L2 LD HL,(COPY.PathCurrFile)
INC HL
CALL MakeDOSname
LD IX,0x00F8
@ -607,7 +621,7 @@ OverWrite CALL PointerMousePointer
LD BC,114
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL PrintPathCentr
OvWrtLp LD IX,OverWrtTab
OvWrtLp LD IX,REZ2TAB.OverWrtTab
CALL CheckCoordsMouse
SPDSS DSSF.SCANKEY
JR Z,OvWrtLp
@ -639,10 +653,10 @@ OvrJump
JP (HL)
OverWrtAll LD A,0x01
LD (OverWriteFlg),A
LD (COPY.OverWriteFlg),A
OverWrtFile CALL PointerMouseClock
LD IX,(AdrCopyFile)
LD HL,(AdrCopyFile)
LD IX,(COPY.PathCurrFile)
LD HL,(COPY.PathCurrFile)
INC HL
LD DE,WorkBuffer
PUSH DE
@ -653,7 +667,7 @@ OverWrtFile CALL PointerMouseClock
RET
OverSkip CALL PointerMouseClock
LD IX,(AdrCopyFile)
LD IX,(COPY.PathCurrFile)
LD L,(IX + FileHDR.SizeBytes)
LD H,(IX + FileHDR.SizeBytes + 1)
LD E,(IX + FileHDR.SizeBytes + 2)
@ -676,41 +690,42 @@ OverSkip CALL PointerMouseClock
LD (IX + PROGRESSBAR.CURR_PAGE + 2),L
LD (IX + PROGRESSBAR.CURR_PAGE + 3),H
CALL DrawProgressBar
LD HL,CloseFile1
LD HL,CopyNextFile.CloseFile1
EX (SP),HL
RET
OverExit INC SP
INC SP
LD IX,(AdrCopyFile)
LD IX,(COPY.PathCurrFile)
BIT FileHDR.B_MARK,(IX + FileHDR.Flag)
JP Z,CloseFile1
LD A,(FHandleSrc)
JP Z,CopyNextFile.CloseFile1
LD A,(COPY.FHandleSrc)
SPDSS DSSF.CLOSE
LD A,(MemID)
LD A,(COPY.MemID)
SPDSS DSSF.FREEMEM
POP IY
JP CopyEnd
;--------------------------------------------------------------
AdrCopyFile DW 0x0000 ; €¤à¥á ®¯¨á â¥«ï ⥪ã饣® ä ©« /¤¨àë
CopySrc DW 0x0000 ; €¤à¥á ¯ã⨠®âªã¤ 
CopyDst DW 0x0000 ; €¤à¥á ¯ã⨠ªã¤ 
CopyFiles DW 0x0000 ; Š®«¨ç¥á⢮ ª®¯¨à㥬ëå ä ©«®¢
CopyBytes DB 5 DUP 0 ; Š®«¨ç¥á⢮ ª®¯¨à㥬ëå ¡ ©â®¢
OverWriteFlg DB 0x00 ; ”« £ ¯¥à¥§ ¯¨á¨ ä ©«®¢
FreeBanks DW 0x0000 ; Š®«¨ç¥á⢮ ᢮¡®¤­ëå ¡ ­ª®¢
ReadBytes DD 0 ; „«¨­  ç¨â ¥¬®£® ä ©« 
WriteBytes DD 0 ; „«¨­  § ¯¨á뢠¥¬®£® ä ©« 
FHandleSrc DB 0x00 ; ” ©« ¨áâ®ç­¨ª
FHandleDst DB 0x00 ; ” ©« ¯à¨¥¬­¨ª
MemID DB 0x00 ; ˆ­¤¥ä¨ª.¯ ¬ï⨠¯®¤ ª®¯¨à®¢ ­¨¥
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>  ¢ë室¥:
; HL - ª®«¨ç¥á⢮ áâà ­¨æ
; HL - ª®«¨ç¥á⢮ áâà ­¨æ 4294967295=FFFFFFFF
; 1028975 FB36F
; 231 E7 1
; 59232 E760 4
@ -720,20 +735,21 @@ MemID DB 0x00 ;
; 12652 316C 1
; 14119 3727 1
; 12546 3102 1
; DEHL -> (((DEHL / 100) * 4) / 0x100) + ((L != 0) ? DE++ : DE)
ConvBytes2Pages:
LD A,H
LD H,L
LD L,0x00
SLA A
LD L,0
ADD A,A
RL E
RL D
RL L ; LDEA * 2
SLA A
RL L
ADD A,A
RL E
RL D
RL L ; LDEA * 2
RL L
OR H
LD H,0x00
LD H,0
EX DE,HL
JR Z,.L1
INC HL
@ -743,7 +759,7 @@ ConvBytes2Pages:
INC DE
RET
PrnFromTo LD HL,(CopySrc)
PrintSrcDst LD HL,(COPY.PathSrc)
LD DE,WorkBuffer
SUB A
.L1 LDI
@ -755,10 +771,10 @@ PrnFromTo LD HL,(CopySrc)
JR Z,.L2
LD (DE),A
INC DE
.L2 LD HL,(AdrCopyFile)
.L2 LD HL,(COPY.PathCurrFile)
INC HL
CALL MakeDOSname
LD HL,(CopyDst)
LD HL,(COPY.PathDst)
LD DE,WorkBuffer+0x100
SUB A
.L3 LDI
@ -770,7 +786,7 @@ PrnFromTo LD HL,(CopySrc)
JR Z,.L4
LD (DE),A
INC DE
.L4 LD HL,(AdrCopyFile)
.L4 LD HL,(COPY.PathCurrFile)
INC HL
CALL MakeDOSname
MAKEWINDOW WINSUBOBJ.WOBIND
@ -783,7 +799,7 @@ PrnFromTo LD HL,(CopySrc)
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL PrintPathLeft
LD IX,0x0100
LD HL,WorkBuffer+0x100
LD HL,WorkBuffer + 0x100
LD DE,204
LD BC,107
LD A,COLORP.HIGHGRAY + COLORI.BLACK
@ -957,7 +973,7 @@ RNfile EQU $ - STRLEN(" ") - 2
W_FILL 62,27,130,10,COLORI.WHITE
W_END
LD IX,NameStr
LD HL,ReNameTab
LD HL,REZ2TAB.ReNameTab
CALL InputLine
WINDOWCLOSE
RET C
@ -1379,7 +1395,7 @@ MakeDIRR CALL ResInvert
W_FILL 88,23,130,10,COLORI.WHITE
W_END
LD IX,MakeDIRStr
LD HL,MakeDIRTab
LD HL,REZ2TAB.MakeDIRTab
CALL InputLine
WINDOWCLOSE
RET C
@ -1824,7 +1840,7 @@ DelLp0 LD IX,0x00F8
LD BC,106
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL PrintPathCentr
DelLoop LD IX,DeleteTab
DelLoop LD IX,REZ2TAB.DeleteTab
CALL CheckCoordsMouse
SPDSS DSSF.SCANKEY
JR Z,DelLoop
@ -2417,7 +2433,7 @@ QuitConfirmWin
W_BUTTON 120,32,72,14
W_TEXT 150,35,COLORP.HIGHGRAY,"No"
W_END
.Loop LD IX,QuitTab
.Loop LD IX,REZ2TAB.QuitTab
CALL CheckCoordsMouse
SPDSS DSSF.SCANKEY
JR Z,.Loop

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
; ”®à¬ â â ¡«¨æë
@ -30,8 +30,9 @@
; +0C 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ («¥¢)
; +0E 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ (¯à ¢)
REZ2TAB
;[]==========================================================[]
SetupTab: DW 106,246, 85,133,%0000000000000000,0,NewElement,0
.SetupTab: DW 106,246, 85,133,%0000000000000000,0,NewElement,0
DW 114,130,146,155,%0000000000000000,0,ChActivatePan,0
DW 114,130,164,173,%0000000000000000,0,ChSavePan,0
DW 274,290, 87, 95,%0000000000000011,0,DecRED,0
@ -53,43 +54,7 @@ SetupTab: DW 106,246, 85,133,%0000000000000000,0,NewElement,0
DW 0x8000
;[]===============================================================[]
FileInfoTab: DW 284,356,160,174,%0000000000100001,0,FileInfoExt,0
DW 0,240, 0,256,%0000000000100000,0,FileInfoExt,0
DW 400,640, 0,256,%0000000000100000,0,FileInfoExt,0
DW 0,640, 0, 80,%0000000000100000,0,FileInfoExt,0
DW 0,640,178,256,%0000000000100000,0,FileInfoExt,0
DW 0x8000
;[]===============================================================[]
PrintFTab: DW 284,356,128,142,%0000000000000001,0,StopPrint,0
DW 0x8000
;[]===============================================================[]
SysInfoTab: DW 284,356,160,174,%0000000000100001,0,SysInfoExt,0
DW 0,224, 0,256,%0000000000100000,0,SysInfoExt,0
DW 416,640, 0,256,%0000000000100000,0,SysInfoExt,0
DW 0,640, 0, 64,%0000000000100000,0,SysInfoExt,0
DW 0,640,178,256,%0000000000100000,0,SysInfoExt,0
DW 0x8000
;[]===============================================================[]
DiskInfoTab: DW 284,356,160,174,%0000000000100001,0,DiskInfoR.Ext,0
DW 0,192, 0,256,%0000000000100000,0,DiskInfoR.Ext,0
DW 448,640, 0,256,%0000000000100000,0,DiskInfoR.Ext,0
DW 0,640, 0, 80,%0000000000100000,0,DiskInfoR.Ext,0
DW 0,640,178,256,%0000000000100000,0,DiskInfoR.Ext,0
DW 0x8000
;[]===============================================================[]
VersionTab: DW 284,356,157,171,%0000000000100001,0,VersionExt,0
DW 0,192, 0,256,%0000000000100000,0,VersionExt,0
DW 448,640, 0,256,%0000000000100000,0,VersionExt,0
DW 0,640, 0, 64,%0000000000100000,0,VersionExt,0
DW 0,640,176,256,%0000000000100000,0,VersionExt,0
DW 0x8000
;[]===============================================================[]
PathTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
.PathTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0, 96, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 544,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
@ -98,7 +63,7 @@ PathTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 0x8000
;[]===============================================================[]
OverWrtTab: DW 196,252,126,140,%0000000100100001,0,OverWrtFile,0
.OverWrtTab: DW 196,252,126,140,%0000000100100001,0,OverWrtFile,0
DW 260,316,126,140,%0000000100100001,0,OverWrtAll,0
DW 324,380,126,140,%0000000100100001,0,OverSkip,0
DW 388,444,126,140,%0000000100100001,0,OverExit,0
@ -109,7 +74,7 @@ OverWrtTab: DW 196,252,126,140,%0000000100100001,0,OverWrtFile,0
DW 0x8001
;[]===============================================================[]
ReNameTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
.ReNameTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
@ -118,7 +83,7 @@ ReNameTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 0x8000
;[]===============================================================[]
MakeDIRTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
.MakeDIRTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,200, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 440,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
@ -127,7 +92,7 @@ MakeDIRTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 0x8000
;[]===============================================================[]
DeleteTab: DW 196,252,118,132,%0000000100100001,0,DelDelete,0
.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
@ -138,7 +103,7 @@ DeleteTab: DW 196,252,118,132,%0000000100100001,0,DelDelete,0
DW 0x8000
;[]===============================================================[]
QuitTab:
.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
@ -147,5 +112,5 @@ QuitTab:
DW 0,640,138,256,%0000000000100000,0,QuitConfirmWin.Abort,0
DW 0x8000
EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
.EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
MarkFileR LD A,(IY+PANEL.FILES_ALL)
@ -260,7 +260,7 @@ SelectGroup: LD (SelMode),A
W_FILL 72,23,130,10,COLORI.WHITE
W_END
LD IX,SMaskStr
LD HL,SMaskTab
LD HL,REZ3TAB.SMaskTab
CALL InputLine
WINDOWCLOSE
RET C
@ -680,20 +680,102 @@ SUB_SIZE: EX AF,AF' ; [ ] fat32
RET
IF MARK_DIR
; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à  ®â¬¥ç¥­­®© ¤¨à¥ªâ®à¨¨
; HL -  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ¬¥àïâì
CountingDirR
BUF_MARKDIR
.FILES_MASK DZ "*.*" ; ¬ áª  ä ©«®¢
.RET_DIR DZ ".. " ; ¤«ï ¢ë室  ¨§ ¤¨à¥ªâ®à¨¨
.DIR_NAME DZ " " ; ¨¬ï ⥪ã饩 ¤¨à¥ªâ®à¨¨
.OLDPATH EQU WorkBuffer + 0x300 ; á®åà ­¥­­ë© ⥪ã騩 ¯ãâì
.CURRPATH EQU WorkBuffer + 0x200 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì
; ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨¨
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
PUSH HL
PUSH BC
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 HL
PUSH IX
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
JR Z,.L1
@ -708,10 +790,10 @@ CountingDirR
LD (JUMPS.FILES_BYTES + 2),HL ; ®¡­ã«¥­¨¥ à §¬¥à  ¤¨àë
LD (JUMPS.FILES_COUNT),HL ; ®¡­ã«¥­¨¥ ª®«¨ç¥á⢠ ä ©«®¢
LD HL,CPU3
LD (.CURR_DIRNAME),HL
LD (BUFFERS.CURR_DIRNAME),HL
; á®åà ­¥­¨¥ ⥪ã饣® ¯ã⨠¤«ï ¢®§¢à â 
SPDSS DSSF.CURDISK
LD HL,.OLDPATH ; á®åà ­¥­ë© ¯ãâì ¤«ï ¢®§¢à â 
LD HL,BUFFERS.OLDPATH ; á®åà ­¥­ë© ¯ãâì ¤«ï ¢®§¢à â 
ADD A,'A'
LD (HL),A
INC HL
@ -723,7 +805,7 @@ CountingDirR
; ¢å®¤ ¢ ¤¨à¥ªâ®à¨î
LD HL,FileHDR.Name
ADD HL,DE
LD DE,.DIR_NAME
LD DE,BUF_MARKDIR.DIR_NAME
PUSH DE
LD BC,FileHDR.Name_Size
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ¨§¬¥à¥­¨ï
@ -731,10 +813,10 @@ CountingDirR
SETPORT WINSP.CPU3,,0
CALL .ADD_2DOT ; ¤«ï ¢®§¢à â  ¢ ¯à¥¤ë¤ãéãî ¤¨àã
POP HL
LD DE,(.CURR_DIRNAME)
LD DE,(BUFFERS.CURR_DIRNAME)
LD BC,FileHDR.Name_Size
LDIR ; ¨¬ï ¤¨àë ¤«ï ¢å®¤ 
LD (.CURR_DIRNAME),DE
LD (BUFFERS.CURR_DIRNAME),DE
XOR A
LD (DE),A
CALL .SET_PATH ; ãáâ ­®¢ª  ⥪ã饣® ¯ãâ¨
@ -755,7 +837,7 @@ CountingDirR
JR Z,.END_COUNT
CALL .GET_NAME
CALL .GET_NAME
LD HL,(.CURR_DIRNAME)
LD HL,(BUFFERS.CURR_DIRNAME)
LD DE,-FileHDR.Name_Size
ADD HL,DE
LD A,(HL)
@ -768,31 +850,29 @@ CountingDirR
; ¢®§¢à â ⥪ã饣® ¯ãâ¨
.END_COUNT POP AF
SETPORT WINSP.CPU3,,0
LD HL,.OLDPATH ; á®åà ­¥­ë© ¯ãâì ¤«ï ¢®§¢à â 
LD HL,BUFFERS.OLDPATH ; á®åà ­¥­ë© ¯ãâì ¤«ï ¢®§¢à â 
SPDSS DSSF.CHDIR
POP BC
POP HL
POP IY
POP IX
RET
; ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
.GET_NAME LD HL,(.CURR_DIRNAME)
.GET_NAME LD HL,(BUFFERS.CURR_DIRNAME)
LD (HL),0
LD DE,-FileHDR.Name_Size
ADD HL,DE
LD (.CURR_DIRNAME),HL
LD (BUFFERS.CURR_DIRNAME),HL
RET
.OUT_DIR DEC IXH ; ¯à¥¤ë¤ã騩 ã஢¥­ì ¤¨àë
LD HL,.RET_DIR
LD HL,BUF_MARKDIR.RET_DIR
JR .SP1
; ¯¥à¥å®¤ ¢ ¤¨àã ¨§ ᯨ᪠
.SET_PATH LD HL,(.CURR_DIRNAME)
.SET_PATH LD HL,(BUFFERS.CURR_DIRNAME)
LD DE,-FileHDR.Name_Size
ADD HL,DE
LD DE,.DIR_NAME
LD DE,BUF_MARKDIR.DIR_NAME
PUSH DE
LD BC,FFIRST.Name_Size
LDIR
@ -800,7 +880,7 @@ CountingDirR
.SP1 PUSH IX
SPDSS DSSF.CHDIR
SPDSS DSSF.CURDISK
LD HL,.CURRPATH
LD HL,BUFFERS.CURRPATHSRC
ADD A,'A'
LD (HL),A
INC HL
@ -812,11 +892,11 @@ CountingDirR
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ".." ¤«ï ¢ë室  ¢ ¯à¥¤ë¤ãéãî ¤¨àã
.ADD_2DOT PUSH HL
LD HL,.RET_DIR
LD DE,(.CURR_DIRNAME)
LD HL,BUF_MARKDIR.RET_DIR
LD DE,(BUFFERS.CURR_DIRNAME)
LD BC,FFIRST.Name_Size
LDIR
LD (.CURR_DIRNAME),DE
LD (BUFFERS.CURR_DIRNAME),DE
POP HL
RET
@ -838,10 +918,10 @@ CountingDirR
CP '.' ; . ¨ .. ¯à®¯ã᪠¥¬
JR Z,.L5
; ¤«ï ¤¨àë ª®¯¨à㥬 ¨¬ï ¢ â ¡«¨çªã
LD DE,(.CURR_DIRNAME)
LD DE,(BUFFERS.CURR_DIRNAME)
LD BC,FFIRST.Name_Size
LDIR
LD (.CURR_DIRNAME),DE
LD (BUFFERS.CURR_DIRNAME),DE
INC IXL
JR .L5
@ -851,10 +931,7 @@ CountingDirR
ADD HL,DE
CALL GET_DWORD ; ¢§ïâì à §¬¥à ¨§ ®¯¨á â¥«ï
LD HL,JUMPS.FILES_BYTES
PUSH HL
CALL BCDEHLP ; ¤®¡ ¢¨«¨ ª ⥪ã饬ã à §¬¥àã
POP HL
CALL SET_DWORD ; ¯®«®¦¨«¨ ®¡à â­®
CALL HLPBCDE ; ¤®¡ ¢¨«¨ ª ⥪ã饬ã à §¬¥àã
LD HL,(JUMPS.FILES_COUNT)
INC HL
LD (JUMPS.FILES_COUNT),HL ; ¨­ªà¥¬¥­â ª®«¨ç¥á⢠ ä ©«®¢
@ -869,8 +946,8 @@ CountingDirR
DIR.M_Hidden + \
DIR.M_ReadOnly + \
DIR.M_Dir
.FFF1 LD HL,.FILES_MASK
LD DE,.OLDPATH
.FFF1 LD HL,BUF_MARKDIR.FILES_MASK
LD DE,BUFFERS.OLDPATH
PUSH DE
PUSH IX
SPDSS DSSF.F_FIRST,0
@ -879,7 +956,7 @@ CountingDirR
RET
; ¯®¨áª á«¥¤ãî饣® ®¯¨á â¥«ï
.F_NEXT LD DE,.OLDPATH
.F_NEXT LD DE,BUFFERS.OLDPATH
PUSH DE
PUSH IX
SPDSS DSSF.F_NEXT
@ -887,34 +964,103 @@ CountingDirR
POP HL
RET
;.FILES_SIZE DD 0
;.FILES_COUNT DW 0
.FILES_MASK DZ "*.*"
.RET_DIR DZ ".. "
.DIR_NAME DZ " "
.CURR_DIRNAME DW 0
; ¨­¨æ¨ «¨§ æ¨ï ª®¯¨à®¢ ­¨ï ¤¨à¥ªâ®à¨¨ á ᮤ¥à¦¨¬ë¬
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
; ¯®¤áç¥â à §¬¥à  ¤¨à¥ªâ®à¨¨
; <20>  ¢å®¤¥:
; HL -  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ¬¥àïâì
; <20>  ¢ë室¥:
; BCDE' - à §¬¥à ¢ ¡ ©â å
;GetDirSizeR CALL CountingDirR
; LD HL,JUMPS.FILES_BYTES
; CALL GET_DWORD
; EXX
; 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 -  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ª®¯¨à®¢ âì
MkdirsDstR
.OLDPATH EQU WorkBuffer + 0x300 ; á®åà ­¥­­ë© ⥪ã騩 ¯ãâì
.CURRPATHSRC EQU WorkBuffer + 0x200 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¨áâ®ç­¨ª 
.CURRPATHDST EQU WorkBuffer + 0x100 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¯à¨¥¬­¨ª 
.FINDBUF EQU WorkBuffer
PUSH IX
MkdirsDstRR PUSH IX
PUSH IY
GETPORT WINSP.CPU3
PUSH AF
@ -931,12 +1077,12 @@ MkdirsDstR
SETPORT WINSP.CPU3,,0
LD HL,PANEL.CURR_PATH
ADD HL,DE ; ®âªã¤  ¯ãâì ¯à¨¥¬­¨ª  ¢§ïâì
LD DE,.CURRPATHDST ; ¡ãä¥à ¯ã⨠¯à¨¥¬­¨ª 
LD DE,BUFFERS.CURRPATHDST ; ¡ãä¥à ¯ã⨠¯à¨¥¬­¨ª 
CALL .COPYNAME2PATH
LD (.ENDPATHDST),DE ;  ¤à¥á 墮áâ  ¯ã⨠¯à¨¥¬­¨ª 
LD (BUFFERS.ENDPATHDST),DE ;  ¤à¥á 墮áâ  ¯ã⨠¯à¨¥¬­¨ª 
; á®åà ­¥­¨¥ ⥪ã饣® ¯ã⨠¤«ï ¢®§¢à â 
SPDSS DSSF.CURDISK
LD HL,.OLDPATH ; á®åà ­¥­­ë© ¯ãâì ¤«ï ¢®§¢à â 
LD HL,BUFFERS.OLDPATH ; á®åà ­¥­­ë© ¯ãâì ¤«ï ¢®§¢à â 
ADD A,'A'
LD (HL),A
INC HL
@ -948,29 +1094,29 @@ MkdirsDstR
; ª®¯¨à®¢ ­¨¥ ¨¬¥­¨ ¤¨à¥ªâ®à¨¨ ¤«ï ª®¯¨à®¢ ­¨ï
LD HL,FileHDR.Name
ADD HL,DE
LD DE,CountingDirR.DIR_NAME
LD DE,BUF_MARKDIR.DIR_NAME
LD BC,FileHDR.Name_Size
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ª®¯¨à®¢ ­¨ï
EX DE,HL
CALL .CUTOFFSPACES ; ®âá¥ç¥­¨¥ ¯à®¡¥«®¢
; ¯¥à¥­®á ⥪ã饣® ¯ã⨠¨áâ®ç­¨ª 
LD HL,.OLDPATH
LD DE,.CURRPATHSRC
LD HL,BUFFERS.OLDPATH
LD DE,BUFFERS.CURRPATHSRC
CALL .COPYNAME2PATH ; ᪮¯¨à®¢ «¨ ¯ãâì ¨áâ®ç­¨ª 
LD (.ENDPATHSRC),DE ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
LD (BUFFERS.ENDPATHSRC),DE ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¤«ï ª®¯¨à®¢ ­¨ï ¢ ¯ãâì ¨áâ®ç­¨ª 
LD HL,(.ENDPATHSRC)
LD DE,CountingDirR.DIR_NAME
LD HL,(BUFFERS.ENDPATHSRC)
LD DE,BUF_MARKDIR.DIR_NAME
CALL .ADDNAME2PATH
LD (.ENDPATHSRC),DE ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
LD (BUFFERS.ENDPATHSRC),DE ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¤«ï ª®¯¨à®¢ ­¨ï ¢ ¯ãâì ¯à¨¥¬­¨ª 
LD HL,(.ENDPATHDST)
LD DE,CountingDirR.DIR_NAME
LD HL,(BUFFERS.ENDPATHDST)
LD DE,BUF_MARKDIR.DIR_NAME
CALL .ADDNAME2PATH
LD (.ENDPATHDST),DE
LD (BUFFERS.ENDPATHDST),DE
; á®§¤ ­¨¥ ¤¨àë ¢ ¯à¨¥¬­¨ª¥
LD HL,.CURRPATHDST
LD HL,BUFFERS.CURRPATHDST
SPDSS DSSF.MKDIR ; á®§¤ «¨ ¤¨à㠯ਥ¬­¨ª 
JR NC,.L3
CP ERR_DSS.DIR_EXISTS ; ¥á«¨ ¤¨à  㦥 ¥áâì ¨£­®à¨¬ ®è¨¡ªã
@ -978,27 +1124,27 @@ MkdirsDstR
.L3
; TODO 横«¨ç¥áª¨© ¯®¨áª ¤¨à¥ªâ®à¨© á á®§¤ ­¨¥¬ ­  ¯à¨¥¬­¨ª¥
LD HL,.CURRPATHSRC
LD HL,BUFFERS.CURRPATHSRC
SPDSS DSSF.CHDIR ; ¢å®¤ ¢ ¤¨àã ¨áâ®ç­¨ª 
CALL .FINDFIRSTSRCDIR ; ¯®¨áª ¯¥à¢®£® ®¯¨á â¥«ï
JP C,.ENDCOPY ; ¡®«ìè¥ ¤¨à¥ªâ®à¨© ­¥â, ¢ë室¨¬
; ¯®¨áª ¤¨à¥ªâ®à¨©
.L2 CALL .FINDNEXTSRCDIR ; ¯®¨áª á«¥¤ãî饣® ®¯¨á â¥«ï
JP C,.ENDFINDNEXT ; ¯®¨áª ®ª®­ç¥­?
LD HL,.FINDBUF + FFIRST.Name
LD HL,BUFFERS.FINDBUF + FFIRST.Name
LD A,(HL)
CP '.' ; ®¯¨á â¥«¨ "." ¨ ".." ¨£­®à¨¬
JR Z,.L2
LD DE,.TMPNAMEDIR
PUSH DE
CALL .COPYNAME2PATH
LD HL,(.ENDPATHDST)
LD HL,(BUFFERS.ENDPATHDST)
POP DE
CALL .ADDNAME2PATH
LD HL,.CURRPATHDST
LD HL,BUFFERS.CURRPATHDST
SPDSS DSSF.MKDIR ; á®§¤ ¥¬ ¤¨àã ­  ¯à¨¥¬­¨ª¥
; JP C,ERROR
LD HL,.CURRPATHSRC
LD HL,BUFFERS.CURRPATHSRC
SPDSS DSSF.CHDIR ; ¢®§¢à é ¥¬ ¯ãâì ­  ¨áâ®ç­¨ª
; JP C,ERROR
JR .L2 ; ¨é¥¬ á«¥¤ãî騩
@ -1014,13 +1160,13 @@ MkdirsDstR
; ¯®¨áª ¯¥à¢®© ¤¨àë ¢ ⥪ã饩 ¯®¤¤¨à¥ªâ®à¨¨
.FINDFIRSTSRCDIR
LD HL,CountingDirR.FILES_MASK
LD DE,.FINDBUF
LD HL,BUF_MARKDIR.FILES_MASK
LD DE,BUFFERS.FINDBUF
SPDSS DSSF.F_FIRST,1,DIR.M_Dir
RET
.FINDNEXTSRCDIR
LD DE,.FINDBUF
LD DE,BUFFERS.FINDBUF
SPDSS DSSF.F_NEXT
RET
@ -1041,7 +1187,7 @@ MkdirsDstR
.CNP1 LD (DE),A
RET
.NAME2DIRNAME
;.NAME2DIRNAME
; ¯à®¢¥àª  ­  BACKSLASH
.CHECK_BSLASH DEC HL
@ -1071,7 +1217,7 @@ MkdirsDstR
; ¢ë室 ¨§ ª®¯¨à®¢ ­¨ï ¤¨à¥ªâ®à¨©
.ENDCOPY LD SP,0
.OLDSP EQU $-2
LD HL,.OLDPATH
LD HL,BUFFERS.OLDPATH
SPDSS DSSF.CHDIR
POP AF
SETPORT WINSP.CPU3,,0
@ -1079,8 +1225,8 @@ MkdirsDstR
POP IX
RET
.ENDPATHSRC DW 0 ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
.ENDPATHDST DW 0 ;  ¤à¥á 墮áâ  ¯ã⨠¯à¨¥¬­¨ª 
;.ENDPATHSRC DW 0 ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
;.ENDPATHDST DW 0 ;  ¤à¥á 墮áâ  ¯ã⨠¯à¨¥¬­¨ª 
.TMPNAMEDIR DB 8 DUP 0
ENDIF
@ -1100,3 +1246,51 @@ MkdirsDstR
; /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 ¢ ª®­æ¥ ¨¬¥­¨
; ¯à¨ ª®¯¨à®¢ ­¨¨ ­ ©¤¥­  ¤¨à 
; § ­¥á¥­¨¥ ¢ ¯ãâì ¨áâ®ç­¨ª  ¨¬¥­¨ ¤¨àë
; § ­¥á¥­¨¥ ¢ ¯ãâì ¯à¨¥¬­¨ª  ¨¬¥­¨ ¤¨àë
; § ­¥á¥­¨¥ ¢ ᯨ᮪ ".." ¤«ï ¢ë室 

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,15 @@
; LAST UPDATE: 18.07.2025 savelij
; LAST UPDATE: 13.08.2025 savelij
;[]==========================================================[]
InitExtention: LD HL,INIFILES.ExtName1
LD DE,fn_ext
LD DE,BUFFERS.fn_ext
CALL InitExt
LD HL,INIFILES.ExtName2
LD DE,fnview_ext
LD DE,BUFFERS.fnview_ext
CALL InitExt
LD HL,INIFILES.ExtName3
LD DE,fnedit_ext
LD DE,BUFFERS.fnedit_ext
;[]----------------------------------------------------------[]
InitExt: LD (.EXTdata),DE
SPDSS DSSF.OPEN,,1

76
rez3_fntab.a80 Normal file
View File

@ -0,0 +1,76 @@
; LAST UPDATE: 14.08.2025 savelij
;[]==========================================================[]
; ”®à¬ â â ¡«¨æë
; +00 2 Xmin
; +02 2 Xmax
; +04 2 Ymin
; +06 2 Ymax
; +08 2 0 - ¯à®á⮩ ®¡'¥ªâ
; ¡¨â 0 - ª­®¯ª 
; ¡¨â 1 - à ¡®ç ï ª­®¯ª 
; ¡¨â 2 - ¨­¢¥àâ 1
; ¡¨â 3 - áâ â¨ç­ë© ¨­¢¥àâ
; ¡¨â 4 - ¯à®£à ¬¬  § ¯ã᪠¥âáï ¡¥§  ¤à¥á  ¢®§¢à.
; ¨ ¡¥§ ®£­ï
; ¡¨â 5 - ¯à®£à ¬¬  § ¯ã᪠¥âáï ¡¥§  ¤à¥á  ¢®§¢à.
; ¯® «¥¢®© ª­®¯ª¥ ®£­ï
; ¡¨â 6 - ¯à®£à ¬¬  § ¯ã᪠¥âáï ¡¥§  ¤à¥á  ¢®§¢à.
; ¯® ¯à ¢®© ª­®¯ª¥ ®£­ï
; ¡¨â 7 - ¢ë§¢ âì äã­ªæ¨î § ªàëâ¨ï ®ª­  ¯¥à¥¤
; § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§ ®£­ï
; ¡¨â 8 - ¢ë§¢ âì äã­ªæ¨î § ªàëâ¨ï ®ª­  ¯¥à¥¤
; § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® «¥¢®© ª­®¯ª¥
; ¡¨â 9 - ¢ë§¢ âì äã­ªæ¨î § ªàëâ¨ï ®ª­  ¯¥à¥¤
; § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® ¯à ¢®© ª­®¯ª¥
; ¡¨â15 - íâ® ¯¥à¥ª«îç â¥«ì (¨­¢¥à⠯ਠ®£­¥ ­¥
; 㡨à âì)
; +0A 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­¥ ­ ¦ â®¬ ®£­¥
; +0C 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ («¥¢)
; +0E 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ (¯à ¢)
REZ3TAB
;[]===============================================================[]
.VersionTab: DW 284,356,157,171,%0000000000100001,0,VersionExt,0
DW 0,192, 0,256,%0000000000100000,0,VersionExt,0
DW 448,640, 0,256,%0000000000100000,0,VersionExt,0
DW 0,640, 0, 64,%0000000000100000,0,VersionExt,0
DW 0,640,176,256,%0000000000100000,0,VersionExt,0
DW 0x8000
.SMaskTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000
;[]===============================================================[]
.FileInfoTab: DW 284,356,160,174,%0000000000100001,0,FileInfoR.FileInfoExt,0
DW 0,240, 0,256,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 400,640, 0,256,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 0,640, 0, 80,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 0,640,178,256,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 0x8000
;[]===============================================================[]
.DiskInfoTab: DW 284,356,160,174,%0000000000100001,0,DiskInfoR.Ext,0
DW 0,192, 0,256,%0000000000100000,0,DiskInfoR.Ext,0
DW 448,640, 0,256,%0000000000100000,0,DiskInfoR.Ext,0
DW 0,640, 0, 80,%0000000000100000,0,DiskInfoR.Ext,0
DW 0,640,178,256,%0000000000100000,0,DiskInfoR.Ext,0
DW 0x8000
;[]===============================================================[]
.SysInfoTab: DW 284,356,160,174,%0000000000100001,0,SysInfoExt,0
DW 0,224, 0,256,%0000000000100000,0,SysInfoExt,0
DW 416,640, 0,256,%0000000000100000,0,SysInfoExt,0
DW 0,640, 0, 64,%0000000000100000,0,SysInfoExt,0
DW 0,640,178,256,%0000000000100000,0,SysInfoExt,0
DW 0x8000
;[]===============================================================[]
.PrintFTab: DW 284,356,128,142,%0000000000000001,0,StopPrint,0
DW 0x8000