FlexNavigator 1.16.07:

- получение путей программы и формирование путей до плагинов перенесены
  в начало инициализации.
Flex CD Player 1.11:
- плагин переименован.
This commit is contained in:
savelij13 2026-05-11 21:37:10 +03:00
parent ece3d37a26
commit aa4d5d57e4
16 changed files with 276 additions and 114 deletions

View File

@ -1,4 +1,9 @@
11.05.2026
FlexNavigator 1.16.07
- ¯®«ã祭¨¥ ¯ã⥩ ¯à®£à ¬¬ë ¨ ä®à¬¨à®¢ ­¨¥ ¯ã⥩ ¤® ¯« £¨­®¢ ¯¥à¥­¥á¥­ë
¢ ­ ç «® ¨­¨æ¨ «¨§ æ¨¨.
22.01.2026 22.01.2026
FlexNavigator 1.16.06 FlexNavigator 1.16.06
- ¤«ן ®ט¨<D798>®× ד ×®ג®אכו ­¥ג ג¥×בג  ®¯¨ב ­¨ן ג¥¯¥אל ¢כ¤ ¥ג ¢ב¥£¤  - ¤«ן ®ט¨<D798>®× ד ×®ג®אכו ­¥ג ג¥×בג  ®¯¨ב ­¨ן ג¥¯¥אל ¢כ¤ ¥ג ¢ב¥£¤ 

Binary file not shown.

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,9 @@
11.05.2026
FlexNavigator 1.16.07
- ¯®«ã祭¨¥ ¯ã⥩ ¯à®£à ¬¬ë ¨ ä®à¬¨à®¢ ­¨¥ ¯ã⥩ ¤® ¯« £¨­®¢ ¯¥à¥­¥á¥­ë
¢ ­ ç «® ¨­¨æ¨ «¨§ æ¨¨.
22.01.2026 22.01.2026
FlexNavigator 1.16.06 FlexNavigator 1.16.06
- ¤«ן ®ט¨<D798>®× ד ×®ג®אכו ­¥ג ג¥×בג  ®¯¨ב ­¨ן ג¥¯¥אל ¢כ¤ ¥ג ¢ב¥£¤  - ¤«ן ®ט¨<D798>®× ד ×®ג®אכו ­¥ג ג¥×בג  ®¯¨ב ­¨ן ג¥¯¥אל ¢כ¤ ¥ג ¢ב¥£¤ 

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 18.01.2026 savelij ; LAST UPDATE: 11.05.2026 savelij
NUM_FILES_PANEL EQU 17 ; ª®«¨ç¥á⢮ ä ©«®¢ ¢ á⮫¡æ¥ ¯ ­¥«¨ NUM_FILES_PANEL EQU 17 ; ª®«¨ç¥á⢮ ä ©«®¢ ¢ á⮫¡æ¥ ¯ ­¥«¨
NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ­¨æ ¯ ¬ï⨠¤«ï à ¡®âë FN NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ­¨æ ¯ ¬ï⨠¤«ï à ¡®âë FN
@ -152,9 +152,11 @@ PANEL
_SETVAR .BYTES_MARK_H, BYTE ; Š®«-¢® ¬ àª¨à®¢ ­­ëå ¡ ©â®¢ FAT32 _SETVAR .BYTES_MARK_H, BYTE ; Š®«-¢® ¬ àª¨à®¢ ­­ëå ¡ ©â®¢ FAT32
_SETVAR .FILE_MASK, MASK_SIZE ; Œ áª  ¯®ª §  ä ©«®¢ _SETVAR .FILE_MASK, MASK_SIZE ; Œ áª  ¯®ª §  ä ©«®¢
_SETVAR .CURR_PATH, 0x100 ; ’¥ªã騩 ¯ãâì ¯ ­¥«¨ _SETVAR .CURR_PATH, 0x100 ; ’¥ªã騩 ¯ãâì ¯ ­¥«¨
_SETVAR .SIZE, 0 ; <20> §¬¥à áâàãªâãàë ¯ ­¥«¨
PANELFLAG PANELFLAG
_BITMASK PRNDOSPATH, 7 ; =1-¯¥ç â âì ¯ãâì DOS _BITMASK PRNDOSPATH, 7 ; =1-¯¥ç â âì ¯ãâì DOS
_BITMASK DIRS, 2 ; =1-¢ ¯®¬¥ç¥­­ëå ¥áâì ¤¨à¥ªâ®à¨¨, =0-⮫쪮 ä ©«ë
_BITMASK DIRPAGE, 1 ; =1-A-­®¬¥à áâà ­¨æë, =0-áâà ­¨æë ¯ ­¥«¥© _BITMASK DIRPAGE, 1 ; =1-A-­®¬¥à áâà ­¨æë, =0-áâà ­¨æë ¯ ­¥«¥©
_BITMASK SIDE, 0 ; =1-¯à ¢ ï ¯ ­¥«ì, =0-«¥¢ ï ¯ ­¥«ì _BITMASK SIDE, 0 ; =1-¯à ¢ ï ¯ ­¥«ì, =0-«¥¢ ï ¯ ­¥«ì

View File

@ -1,11 +1,14 @@
; LAST UPDATE: 27.08.2025 savelij ; LAST UPDATE: 11.05.2026 savelij
;[]==========================================================[] ;[]==========================================================[]
InitVideoMode InitVideoMode LD A,0x00
.InitFlg EQU $-1
OR A
CALL Z,FirstInit
SPDSS DSSF.GETVMOD SPDSS DSSF.GETVMOD
LD C,A ; ⥪ã騩 ०¨¬ íªà ­  LD C,A ; ⥪ã騩 ०¨¬ íªà ­ 
LD A,(InitFlg) LD A,(InitVideoMode.InitFlg)
OR A OR A
JR NZ,.L1 JR NZ,.L1
LD A,C LD A,C
@ -105,18 +108,14 @@ InitDrivers SUB A
JR C,.L2 JR C,.L2
INC A INC A
.L2 LD (CMOSFlag),A .L2 LD (CMOSFlag),A
LD A,0x00
InitFlg EQU $-1
OR A
CALL Z,FirstInit
CALL SETUP_DISKS CALL SETUP_DISKS
SPMOUSE MOUSEF.INIT SPMOUSE MOUSEF.INIT
LD A,(MouseFlag) LD A,(MouseFlag)
OR A OR A
LD C,MOUSEF.SHOW LD C,MOUSEF.SHOW
JR NZ,.L1 JR NZ,.L4
LD C,MOUSEF.HIDE LD C,MOUSEF.HIDE
.L1 .L4
SPMOUSE SPMOUSE
;!TEST enable shared interrupts ;!TEST enable shared interrupts
;Check BIOS version ;Check BIOS version
@ -259,7 +258,7 @@ FirstInit
LD HL,LeftPanel + PANEL.CURR_PATH LD HL,LeftPanel + PANEL.CURR_PATH
SPDSS DSSF.CHDIR SPDSS DSSF.CHDIR
LD A,0x01 LD A,0x01
LD (InitFlg),A LD (InitVideoMode.InitFlg),A
RET RET
.DIRFLX DZ "FLX\\" .DIRFLX DZ "FLX\\"

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 18.01.2026 savelij ; LAST UPDATE: 30.04.2026 savelij
include fn_const.a80 include fn_const.a80
include fn_macros.a80 include fn_macros.a80
@ -236,6 +236,7 @@ HLPBCDE: LD A,(HL)
LD (HL),A LD (HL),A
RET RET
; ¯®«ã祭¨¥ DWORD ¯® 㪠§ â¥«î HL
GET_DWORD: LD E,(HL) GET_DWORD: LD E,(HL)
INC HL INC HL
LD D,(HL) LD D,(HL)
@ -245,6 +246,7 @@ GET_DWORD: LD E,(HL)
LD B,(HL) LD B,(HL)
RET RET
; ãáâ ­®¢ª  DWROD ¯® 㪠§ â¥«î HL
SET_DWORD: LD (HL),E SET_DWORD: LD (HL),E
INC HL INC HL
LD (HL),D LD (HL),D
@ -254,6 +256,8 @@ SET_DWORD: LD (HL),E
LD (HL),B LD (HL),B
RET RET
; ¯®«ã祭¨¥ 㪠§ â¥«ï ­  ®¯¨á â¥«ì ä ©« 
; A - áâ à訩 ¡ ©â  ¤à¥á ¡ãä¥à  á ®¯¨á â¥«ï¬¨
GET_HANDLE_ADR LD L,(IY+PANEL.FIRST_FILE) GET_HANDLE_ADR LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1) LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE) LD E,(IY+PANEL.CURR_FILE)
@ -485,10 +489,10 @@ START_BLOCK_2
; ¡ãä¥à  çâ®¡ë ¯ ¬ïâì ­¥ § ­¨¬ «¨ ¢ EXE ä ©«¥ ; ¡ãä¥à  çâ®¡ë ¯ ¬ïâì ­¥ § ­¨¬ «¨ ¢ EXE ä ©«¥
REZ2_BUFFERS REZ2_BUFFERS
_INIT_VAR BUF_REZ2.FlexDIRECTORY _INIT_VAR BUF_REZ2.FlexDIRECTORY
_MINUSVAR .OLDLEFTPANEL, 0x100 ; ⥪ã騩 ¯ãâì «¥¢®© ¯ ­¥«¨
_MINUSVAR .OLDRIGHTPANEL, 0x100 ; ⥪ã騩 ¯ãâì ¯à ¢®© ¯ ­¥«¨
_MINUSVAR .FINDCURRPATH, 0x100 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¨áâ®ç­¨ª  _MINUSVAR .FINDCURRPATH, 0x100 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¨áâ®ç­¨ª 
_MINUSVAR .FINDBUF, 0x100 ; ¢à¥¬¥­­ë© ¡ãä¥à ¯®¨áª  _MINUSVAR .FINDBUF, 0x100 ; ¢à¥¬¥­­ë© ¡ãä¥à ¯®¨áª 
_MINUSVAR .OLDLEFTPANEL, PANEL.SIZE ; ⥪ã騩 ¯ãâì «¥¢®© ¯ ­¥«¨
_MINUSVAR .OLDRIGHTPANEL, PANEL.SIZE ; ⥪ã騩 ¯ãâì ¯à ¢®© ¯ ­¥«¨
_MINUSVAR .ENDPATHSRC, WORD ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª  _MINUSVAR .ENDPATHSRC, WORD ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
_MINUSVAR .CURR_DIRNAME, WORD ; ⥪ã騩  ¤à¥á ¢ ¯ã⨠_MINUSVAR .CURR_DIRNAME, WORD ; ⥪ã騩  ¤à¥á ¢ ¯ãâ¨

View File

@ -1,32 +1,58 @@
; LAST UPDATE: 07.09.2025 savelij ; LAST UPDATE: 09.05.2026 savelij
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
; <20>  ¢å®¤¥: ReadDIRCopy
; A - ­®¬¥à áâà ­¨æë ¤«ï à ¡®âë ¥á«¨ ¡¨â PANELFLAG.B_DIRPAGE ãáâ ­®¢«¥­ GETPORT WINSP.CPU3
; ¨­ ç¥ ­¥ âॡã¥âáï PUSH AF
ReadDIR BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG) LD A,(IY + PANEL.SORTFLAG)
JR NZ,.RD1 AND SORTFLAG.MASK
.RD2 BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG) LD A,(RAMPAGES.BuffPg3)
LD A,(RAMPAGES.LEFTPANEL) JR Z,.L1
JR Z,.RD1 LD A,(RAMPAGES.BuffPg4)
LD A,(RAMPAGES.RIGHTPANEL) .L1
.RD1 LD (.DIRPAGE),A SETPORT WINSP.CPU3,,0
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) LD HL,NORMmask
JP NZ,ReadTreeR .L2 LD DE,FILEmask
LD BC,MASK_SIZE
LDIR
LD IX,0
LD HL,CPU3
LD (AdrNxtFile),HL
LD B,8
.L3 LD (HL),0
INC HL
DJNZ .L3
CALL FindFILES
LD E,IXL
LD D,IXH
LD HL,(AdrNxtFile)
LD B,8
.L4 LD (HL),0
INC HL
DJNZ .L4
POP AF
SETPORT WINSP.CPU3,,0
LD (IY + PANEL.FILES_ALL),E ;EQUIP FIL
LD (IY + PANEL.FILES_ALL + 1),D
LD HL,(RAMPAGES.BuffPg3)
JP ReadDIR.RD3
; § £à㧪  ¤¨à¥ªâ®à¨¨ ¤«ï ®â®¡à ¦¥­¨ï ¢ ¯ ­¥«¨ á á®àâ¨à®¢ª®©
ReadDIR BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
JP NZ,ReadTreeR ; ¯¥à¥å®¤ ¥á«¨ ¯ ­¥«ì ¢ ०¨¬¥ ¤¥à¥¢ 
GETPORT WINSP.CPU3 GETPORT WINSP.CPU3
PUSH AF PUSH AF
LD A,(IY + PANEL.SORTFLAG) LD A,(IY + PANEL.SORTFLAG)
AND SORTFLAG.MASK AND SORTFLAG.MASK
JR Z,.L6 LD A,(RAMPAGES.BuffPg3)
; á á®àâ¨à®¢ª®© £à㧨¬ ¢ ᢮¡®¤­ãî ¯ £ã JR NZ,.RD1 ; á á®àâ¨à®¢ª®© £à㧨¬ ¢® ¢à¥¬¥­­ãî áâà ­¨æã
LD A,(RAMPAGES.BuffPg4) ; ¨­ ç¥ £à㧨¬ ¢ áâà ­¨æã ¯ ­¥«¨
JR .L1 BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
; ¡¥§ á®àâ¨à®¢ª¨ £à㧨¬ ¢ áâà ­¨æã ¯ ­¥«¨ JR Z,.RD1
.L6 LD A,0 LD A,(RAMPAGES.RIGHTPANEL)
.DIRPAGE EQU $-1 .RD1
.L1
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
PUSH IY PUSH IY
POP HL POP HL
@ -34,8 +60,6 @@ ReadDIR BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
LD E,L LD E,L
LD BC,PANEL.FILE_MASK LD BC,PANEL.FILE_MASK
ADD HL,BC ADD HL,BC
BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
JR NZ,.L8
EX DE,HL EX DE,HL
LD BC,PANEL.FILES_ALL LD BC,PANEL.FILES_ALL
ADD HL,BC ADD HL,BC
@ -43,8 +67,8 @@ ReadDIR BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
.L5 LD (HL),0 .L5 LD (HL),0
INC HL INC HL
DJNZ .L5 DJNZ .L5
.L8 RES PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG) EX DE,HL
BIT SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG) .L8 BIT SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG)
JR NZ,.L2 JR NZ,.L2
LD HL,NORMmask LD HL,NORMmask
.L2 LD DE,FILEmask .L2 LD DE,FILEmask
@ -71,7 +95,14 @@ ReadDIR BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
LD (IY + PANEL.FILES_ALL),E ;EQUIP FIL LD (IY + PANEL.FILES_ALL),E ;EQUIP FIL
LD (IY + PANEL.FILES_ALL + 1),D LD (IY + PANEL.FILES_ALL + 1),D
LD A,(IY + PANEL.SORTFLAG) BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
JR Z,.RD2
LD A,(RAMPAGES.RIGHTPANEL)
.RD2 LD L,A ; ªã¤ 
LD A,(RAMPAGES.BuffPg3)
LD H,A ; ®âªã¤ 
.RD3 LD A,(IY + PANEL.SORTFLAG)
AND SORTFLAG.MASK AND SORTFLAG.MASK
JP NZ,SortDIR JP NZ,SortDIR
RET RET
@ -398,15 +429,23 @@ CorrSmallChar CP 'a'
ENDIF ; CORR_FILENAME ENDIF ; CORR_FILENAME
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
; H - SRC ­®¬¥à áâà ­¨æë ®âªã¤  ¡à âì ¤«ï á®àâ¨à®¢ª¨
; L - DST ­®¬¥à áâà ­¨æë ªã¤  ᪫ ¤ë¢ âì ®âá®àâ¨à®¢ ­­®¥
SortDIR SortDIR
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
LD C,A LD C,A
GETPORT WINSP.CPU3 GETPORT WINSP.CPU3
LD B,A LD B,A
PUSH BC PUSH BC
LD A,(ReadDIR.DIRPAGE) ; BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
; LD A,(RAMPAGES.LEFTPANEL)
; JR Z,.RD1
; LD A,(RAMPAGES.RIGHTPANEL)
;.RD1
LD A,L
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
LD A,(RAMPAGES.BuffPg4) ; LD A,(RAMPAGES.BuffPg3)
LD A,H
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
LD HL,CPU3 LD HL,CPU3
LD (EndSort),HL LD (EndSort),HL
@ -501,6 +540,14 @@ SortDIR
.L3 LD (HL),A .L3 LD (HL),A
INC HL INC HL
DJNZ .L3 DJNZ .L3
; GETPORT WINSP.CPU1
; LD (RAMPAGES.BuffPg3),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 POP BC
LD A,B LD A,B
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0

View File

@ -1,7 +1,7 @@
; LAST UPDATE: 22.01.2026 savelij ; LAST UPDATE: 11.05.2026 savelij
FLEX_VERS FLEX_VERS
.NAVIGATOR EQU "1.16.06" .NAVIGATOR EQU "1.16.07"
.EDITOR EQU "1.11" .EDITOR EQU "1.11"
.VIEWER EQU "1.07" .VIEWER EQU "1.07"

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij ; LAST UPDATE: 30.01.2026 savelij
include macros.a80 include macros.a80
include fn_const.a80 include fn_const.a80
@ -22,7 +22,7 @@ PluginEntry:
MAKEWINDOW WINSUBOBJ.STORE MAKEWINDOW WINSUBOBJ.STORE
W_MAIN 78,79,484,72 W_MAIN 78,79,484,72
W_FILL 4,2,464,10,COLORI.BLUE + COLORP.BLUE W_FILL 4,2,464,10,COLORI.BLUE + COLORP.BLUE
W_TEXT 8,4,COLORI.WHITE + COLORP.BLUE,"SHAOS CD-Player v\{CDVERS}" W_TEXT 8,4,COLORI.WHITE + COLORP.BLUE,"Flex CD Player v\{CDVERS}"
W_BUTTONTEXT 468,2,12,10,COLORP.HIGHGRAY,"x" W_BUTTONTEXT 468,2,12,10,COLORP.HIGHGRAY,"x"
W_BORDER 8,15,268,38 W_BORDER 8,15,268,38
W_FILL 10,16,264,36,COLORI.BLACK W_FILL 10,16,264,36,COLORI.BLACK
@ -261,7 +261,7 @@ CDinit: LD B,0xC0 - 1
CALL CHANGEDISK CALL CHANGEDISK
LD HL,FLAG LD HL,FLAG
RES B_TRAY,(HL) RES B_TRAY,(HL)
.UPDATE_TOC LD HL,RESULT+6 .UPDATE_TOC LD HL,RESULT + 6
LD (HL),0xAA LD (HL),0xAA
LD HL,APCMD.READTOC LD HL,APCMD.READTOC
CALL SEND_PACKET CALL SEND_PACKET

View File

@ -1,7 +1,7 @@
; LAST UPDATE: 11.07.2025 savelij ; LAST UPDATE: 11.05.2026 savelij
CDVERS EQU "1.1" CDVERS EQU "1.11"
PAUSE EQU 10 ; è £ ¢ ᥪ㭤 å ¤«ï ¯¥à¥¬®âª¨ PAUSE EQU 10 ; è £ ¢ ᥪ㭤 å ¤«ï ¯¥à¥¬®âª¨
PAUSEDIGITS EQU 12 ; ¯ ã§  ¬®à£ ­¨ï æ¨äà ¢ ०¨¬¥ ¯ ã§  PAUSEDIGITS EQU 12 ; ¯ ã§  ¬®à£ ­¨ï æ¨äà ¢ ०¨¬¥ ¯ ã§ 

View File

@ -3,14 +3,9 @@ Flex Navigator для компьютера Sprinter
Собранные файлы забирать из папки fn Собранные файлы забирать из папки fn
`FlexNavigator 1.16.06` `FlexNavigator 1.16.07`
- для ошибок у которых нет текста описания теперь выдает всегда - получение путей программы и формирование путей до плагинов перенесены
текст ошибки "Unknown Error". в начало инициализации.
- исправлена ошибка приводящая к вылету при копировании нескольких файлов
на уже существующие и выборе отмены от продолжения копирования.
`FileViewer.flx 1.07` `Flex CD Player 1.11`
- мелкое исправление позиции вывода даты/времени. - плагин переименован.
`FileEditor.flx 1.11`
- мелкое исправление позиции вывода даты/времени.

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 22.01.2026 savelij ; LAST UPDATE: 09.05.2026 savelij
;[]==========================================================[] ;[]==========================================================[]
CopyFilesR LD A,(IY + PANEL.FILES_ALL) CopyFilesR LD A,(IY + PANEL.FILES_ALL)
@ -33,7 +33,7 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
IF MARK_DIR IF MARK_DIR
JP NZ,.InitCopyDir JP NZ,.InitCopyDir
ELSE ELSE
RET NZ RET NZ ; ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨© ­¥â, ¢ë室
ENDIF ENDIF
LD HL,0 LD HL,0
LD (COPY.CopyFiles),HL LD (COPY.CopyFiles),HL
@ -53,6 +53,8 @@ CopyFilesR LD A,(IY + PANEL.FILES_ALL)
CALL CalcDirSizeR ; ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨à¥ªâ®à¨¨ á ä ©« ¬¨ CALL CalcDirSizeR ; ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨à¥ªâ®à¨¨ á ä ©« ¬¨
POP HL POP HL
LD (COPY.PathCurrFile),HL LD (COPY.PathCurrFile),HL
LD HL,(JUMPS.FILES_COUNT)
LD (COPY.CopyFiles),HL
LD HL,JUMPS.FILES_BYTES LD HL,JUMPS.FILES_BYTES
LD DE,COPY.CopyBytes LD DE,COPY.CopyBytes
LD BC,DWORD + 1 LD BC,DWORD + 1
@ -194,7 +196,11 @@ CopyNxt LD IX,ProcessAll
W_FILL 18,57,284,10,COLORI.WHITE W_FILL 18,57,284,10,COLORI.WHITE
W_END W_END
XOR A XOR A
LD (COPY.OverWriteFlg),A LD (COPY.OverWriteFlg),A ; á¡à®á ä« £  ¯¥à¥§ ¯¨á¨ ä ©« 
LD (COPY.LevelDir),A ; á¡à®á ã஢­ï ¢å®¦¤¥­¨ï ¢ ¤¨à¥ªâ®à¨¨
LD H,A
LD L,A
LD (COPY.PathCurrRoot),HL
LD HL,CurPath LD HL,CurPath
LD DE,0 ;  ¤à¥á ®â। ªâ¨à®¢ ­­®£® ¯ã⨠¯à¨¥¬­¨ª  LD DE,0 ;  ¤à¥á ®â। ªâ¨à®¢ ­­®£® ¯ã⨠¯à¨¥¬­¨ª 
.NEWPATH EQU $-2 .NEWPATH EQU $-2
@ -209,19 +215,15 @@ CopyNxt LD IX,ProcessAll
PUSH AF PUSH AF
LD (CopyDir.CURR_PANEL),IY ; ¯à¨ ª®¯¨à®¢ ­¨¨ ä ©«  ¯®àâ¨âáï LD (CopyDir.CURR_PANEL),IY ; ¯à¨ ª®¯¨à®¢ ­¨¨ ä ©«  ¯®àâ¨âáï
IF MARK_DIR IF MARK_DIR
; ⥪ãéãî ¤¨à¥ªâ®à¨î £à㧨¬ ¢ ᢮¡®¤­ãî áâà ­¨æã ; ⥪ãéãî ¤¨à¥ªâ®à¨î £à㧨¬ ¢ ᢮¡®¤­ãî áâà ­¨æã ¤«ï ª®¯¨à®¢ ­¨ï ¤¨à¥ªâ®à¨©
LD A,(RAMPAGES.BuffPg3) CALL ReadDIRCopy
SETPORT WINSP.CPU3,,0 ENDIF
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
CALL ReadDIR
ELSE
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG) BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL) LD A,(RAMPAGES.LEFTPANEL)
JR Z,.L3 JR Z,.L3
LD A,(RAMPAGES.RIGHTPANEL) LD A,(RAMPAGES.RIGHTPANEL)
.L3 .L3
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
ENDIF
; ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ; ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨©
CopyNextFile LD IX,(COPY.PathCurrFile) CopyNextFile LD IX,(COPY.PathCurrFile)
IF MARK_DIR IF MARK_DIR
@ -313,7 +315,7 @@ CopyNextFile LD IX,(COPY.PathCurrFile)
AND A ; OverWrite.REWRITE AND A ; OverWrite.REWRITE
JR Z,.CopyLp2 ; ¯à®¤®«¦ âì á ¯¥à¥§ ¯¨áìî JR Z,.CopyLp2 ; ¯à®¤®«¦ âì á ¯¥à¥§ ¯¨áìî
DEC A ; OverWrite.SKIP DEC A ; OverWrite.SKIP
JP Z,CopyNextFile.CloseFile1 ; ¯à®¯ã᪠ª®¯¨à®¢ ­¨ï JP Z,.CloseFile1 ; ¯à®¯ã᪠ª®¯¨à®¢ ­¨ï
; ¯à¥à뢠­¨¥ ª®¯¨à®¢ ­¨ï OverWrite.BREAK ; ¯à¥à뢠­¨¥ ª®¯¨à®¢ ­¨ï OverWrite.BREAK
LD A,(COPY.FHandleSrc) LD A,(COPY.FHandleSrc)
SPDSS DSSF.CLOSE SPDSS DSSF.CLOSE
@ -448,6 +450,7 @@ CopyNextFile LD IX,(COPY.PathCurrFile)
SPDSS DSSF.CLOSE SPDSS DSSF.CLOSE
LD A,(COPY.MemID) LD A,(COPY.MemID)
SPDSS DSSF.FREEMEM SPDSS DSSF.FREEMEM
; ä ©« ᪮¯¨à®¢ ­, ¯à®¢¥à塞 ¥áâì «¨ ¥é¥ çâ®-â®
.NextHandle LD IX,(COPY.PathCurrFile) .NextHandle LD IX,(COPY.PathCurrFile)
RES FileHDR.B_MARK,(IX + FileHDR.Flag) RES FileHDR.B_MARK,(IX + FileHDR.Flag)
LD HL,(COPY.CopyBytes) LD HL,(COPY.CopyBytes)
@ -481,6 +484,11 @@ CopyNextFile LD IX,(COPY.PathCurrFile)
LD HL,(COPY.PathCurrFile) LD HL,(COPY.PathCurrFile)
LD DE,FileHDR.SIZE LD DE,FileHDR.SIZE
.L5 ADD HL,DE ; á«¥¤ãî騩 ®¯¨á â¥«ì .L5 ADD HL,DE ; á«¥¤ãî騩 ®¯¨á â¥«ì
INC HL
LD A,(HL)
DEC HL
AND A
JR Z,CopyDir ; ¤¨à¥ªâ®à¨ï ª®­ç¨« áì
BIT FileHDR.B_MARK,(HL) BIT FileHDR.B_MARK,(HL)
JR Z,.L5 JR Z,.L5
LD (COPY.PathCurrFile),HL LD (COPY.PathCurrFile),HL
@ -489,8 +497,14 @@ CopyNextFile LD IX,(COPY.PathCurrFile)
; ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨¨ ; ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨¨
CopyDir LD IY,0 CopyDir LD IY,0
.CURR_PANEL EQU $-2 .CURR_PANEL EQU $-2
CALL DIRLIST.GET_DIRNAME ; ¯®«ã祭¨¥ ¨¬¥­¨ ¤¨àë, ¥á«¨ ¥áâì LD DE,(COPY.PathCurrRoot)
JP C,CopyEnd ; C=1 ⥪ãé ï ¤¨à  ª®­ç¨« áì ¨«¨ ¨å ­¥â LD A,D
OR E
JR NZ,.L1
LD HL,(COPY.PathCurrFile)
LD (COPY.PathCurrRoot),HL
.L1 CALL DIRLIST.GET_DIRNAME ; ¯®«ã祭¨¥ ¨¬¥­¨ ¤¨àë, ¥á«¨ ¥áâì
JR C,.CopyEnd ; C=1 ⥪ãé ï ¤¨à  ª®­ç¨« áì ¨«¨ ¨å ­¥â
CALL DIRLIST.ADD_DIRLEVEL ; ¤®¡ ¢«¥­¨¥ ᯨ᪠ ¤¨àë CALL DIRLIST.ADD_DIRLEVEL ; ¤®¡ ¢«¥­¨¥ ᯨ᪠ ¤¨àë
PUSH IY PUSH IY
LD HL,(COPY.PathDst) LD HL,(COPY.PathDst)
@ -500,16 +514,41 @@ CopyDir LD IY,0
SPDSS DSSF.CHDIR ; ᬥ­  ⥪ã饣® ¯ã⨠SPDSS DSSF.CHDIR ; ᬥ­  ⥪ã饣® ¯ãâ¨
; CALL C,DOSError ; CALL C,DOSError
POP IY POP IY
LD A,(RAMPAGES.BuffPg3) LD A,(RAMPAGES.BuffPg3) ; ¤«ï ª®¯¨à®¢ ­¨ï ¤¨àë ¢ª«îç ¥¬ áâà ­¨æã á ¯®¤¤¨à¥ªâ®à¨¥©
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG) SETPORT WINSP.CPU3,,0
CALL ReadDIR CALL ReadDIRCopy
CALL DIRLIST.MARK_ALL ; ¬ àª¨à®¢ª  ¢á¥å ä ©«®¢/¤¨à CALL DIRLIST.MARK_ALL ; ¬ àª¨à®¢ª  ¢á¥å ä ©«®¢/¤¨à
LD HL,0xC000 + FileHDR.SIZE LD HL,0xC000 + FileHDR.SIZE
LD (COPY.PathCurrFile),HL LD (COPY.PathCurrFile),HL
JP CopyNextFile JP CopyNextFile
BUF_MARKDIR ; ¤¨à¥ªâ®à¨ï ᪮¯¨à®¢ ­ , ¯à®¢¥àª  ¢ ª®à­¥ ®ª®­ç ­¨ï ®¯¨á â¥«¥©
.DIR_NAME DZ " " ; ¨¬ï ⥪ã饩 ¤¨à¥ªâ®à¨¨ .CopyEnd LD HL,LeftPanel + PANEL.CURR_PATH
CALL DIRLIST.FIND_END_LINE
LD HL,RightPanel + PANEL.CURR_PATH
CALL DIRLIST.FIND_END_LINE
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
JR Z,.L2
LD A,(RAMPAGES.RIGHTPANEL)
.L2
SETPORT WINSP.CPU3,,0
XOR A
LD HL,COPY.PathCurrRoot
LD E,(HL)
LD (HL),A
INC HL
LD D,(HL)
LD (HL),A
EX DE,HL
LD DE,FileHDR.SIZE + 1
ADD HL,DE
LD A,(HL)
SBC HL,DE
DEC DE
AND A
JP NZ,CopyNextFile.L5 ; ¥áâì ¥é¥ çâ® ª®¯¨à®¢ âì
JP CopyEnd ; ¡®«ìè¥ ­¨ç¥£® ­¥ ®áâ «®áì
DIRLIST DIRLIST
; ¯®¬¥âª  ¢á¥å ä ©«®¢/¤¨à ; ¯®¬¥âª  ¢á¥å ä ©«®¢/¤¨à
@ -537,13 +576,15 @@ DIRLIST
EXX EXX
JR .MLNEXT JR .MLNEXT
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¢ ᯨ᮪, á®§¤ ­¨¥ ¤¨àë ­  ¯à¨¥¬­¨ª¥ ; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¢ ᯨ᮪
.ADD_DIRNAME PUSH IX .ADD_DIRNAME PUSH IX
POP HL POP HL
INC HL INC HL
LD DE,BUF_MARKDIR.DIR_NAME LD DE,BUF_MARKDIR.DIR_NAME
LD BC,8 LD BC,8
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤® ¯¥à¥ª«î祭¨ï ¯ £ LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤® ¯¥à¥ª«î祭¨ï ¯ £
LD HL,COPY.LevelDir
INC (HL) ; ¤®¡ ¢«¥­¨¥ ã஢­ï ¤¨à¥ªâ®à¨¨
LD A,(RAMPAGES.FLX) LD A,(RAMPAGES.FLX)
LD C,WINSP.CPU3 LD C,WINSP.CPU3
IN B,(C) IN B,(C)
@ -558,6 +599,7 @@ DIRLIST
LD L,C LD L,C
JR .ANNEXT JR .ANNEXT
; ­ ©¤¥­® ᢮¡®¤­®¥ ¬¥áâ®
.ANFOUND PUSH HL .ANFOUND PUSH HL
LD HL,BUF_MARKDIR.DIR_NAME LD HL,BUF_MARKDIR.DIR_NAME
LD BC,8 LD BC,8
@ -607,6 +649,19 @@ DIRLIST
INC HL INC HL
RET RET
; ¯®¨áª ª®­æ  áâப¨
.FIND_END_LINE LD A,(HL)
INC HL
AND A
JR NZ,.FIND_END_LINE
.FEL1 DEC HL
LD A,(HL)
CP '\\'
JR NZ,.FEL1
INC HL
LD (HL),0
RET
; ®âá¥ç¥­¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥­¨ ; ®âá¥ç¥­¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥­¨
.CUTOFFSPACES LD A,' ' .CUTOFFSPACES LD A,' '
.COS2 DEC HL .COS2 DEC HL
@ -631,9 +686,10 @@ DIRLIST
LD L,C LD L,C
JR .ALNEXT JR .ALNEXT
.ALFOUND LD (HL),D .ALFOUND
; LD (HL),D
DEC HL DEC HL
LD (HL),E ; LD (HL),E
LD H,D LD H,D
LD L,E LD L,E
INC DE INC DE
@ -657,6 +713,8 @@ DIRLIST
IN B,(C) IN B,(C)
PUSH BC PUSH BC
OUT (C),A OUT (C),A
LD HL,COPY.LevelDir
DEC (HL) ; 㬥­ì襭¨¥ ã஢­ï ¤¨à¥ªâ®à¨¨
.GNRESTART LD HL,0xC000 .GNRESTART LD HL,0xC000
.GNNEXT CALL GET_DWORD .GNNEXT CALL GET_DWORD
LD A,B LD A,B
@ -760,12 +818,12 @@ DIRLIST
.L1 LD (COPY.PathSrc),HL .L1 LD (COPY.PathSrc),HL
EX DE,HL EX DE,HL
LD (COPY.PathDst),HL LD (COPY.PathDst),HL
XOR A
.L2 INC HL .L2 INC HL
CP (HL) CP (HL)
JR NZ,.L2 JR NZ,.L2
LD (COPY.PathDstEnd),HL LD (COPY.PathDstEnd),HL
EX DE,HL EX DE,HL
XOR A
.L3 INC HL .L3 INC HL
CP (HL) CP (HL)
JR NZ,.L3 JR NZ,.L3
@ -790,37 +848,50 @@ DIRLIST
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
RET RET
; á®åà ­¥­¨¥ ¯ã⥩ ¯ ­¥«¥© ; á®åà ­¥­¨¥ ®¯¨á â¥«¥© ¯ ­¥«¥©
StorePaths LD HL,LeftPanel + PANEL.CURR_PATH StorePaths
GETPORT WINSP.CPU1
LD (COPY.PageStorePaths),A
LD HL,LeftPanel
LD DE,REZ2_BUFFERS.OLDLEFTPANEL LD DE,REZ2_BUFFERS.OLDLEFTPANEL
LD BC,PANEL.CURR_PATH_Size LD BC,PANEL.SIZE
LDIR LDIR
LD HL,RightPanel + PANEL.CURR_PATH LD HL,RightPanel
LD DE,REZ2_BUFFERS.OLDRIGHTPANEL LD DE,REZ2_BUFFERS.OLDRIGHTPANEL
LD BC,PANEL.CURR_PATH_Size LD BC,PANEL.SIZE
LDIR LDIR
RET RET
; ¢®ááâ ­®¢«¥­¨¥ ¯ã⥩ ¯ ­¥«¥© ; ¢®ááâ ­®¢«¥­¨¥ ®¯¨á â¥«¥© ¯ ­¥«¥©
RestorePaths LD HL,REZ2_BUFFERS.OLDLEFTPANEL RestorePaths LD A,(COPY.PageStorePaths)
LD DE,LeftPanel + PANEL.CURR_PATH AND A
LD BC,PANEL.CURR_PATH_Size RET Z ; á®åà ­¥­¨ï ­¥ ¡ë«®, ¢ë室¨¬
GETPORT WINSP.CPU1
EX AF,AF'
LD HL,COPY.PageStorePaths
LD A,(HL)
LD (HL),0
SETPORT WINSP.CPU1,,0
LD HL,REZ2_BUFFERS.OLDLEFTPANEL
LD DE,LeftPanel
LD BC,PANEL.SIZE
LDIR LDIR
LD HL,REZ2_BUFFERS.OLDRIGHTPANEL LD HL,REZ2_BUFFERS.OLDRIGHTPANEL
LD DE,RightPanel + PANEL.CURR_PATH LD DE,RightPanel
LD BC,PANEL.CURR_PATH_Size LD BC,PANEL.SIZE
LDIR LDIR
EX AF,AF'
SETPORT WINSP.CPU1,,0
RET RET
; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à  ®â¬¥ç¥­­®© ¤¨à¥ªâ®à¨¨ ; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à  ®â¬¥ç¥­­®© ¤¨à¥ªâ®à¨¨
CalcDirSizeR: PUSH IX CalcDirSizeR: PUSH IX
PUSH IY PUSH IY
SET PANELFLAG.B_DIRS,(IY + PANEL.PANELFLAG)
GETPORT WINSP.CPU3 GETPORT WINSP.CPU3
PUSH AF ; ⥪ã騩 ­®¬¥à áâà ­¨æë PUSH AF ; ⥪ã騩 ­®¬¥à áâà ­¨æë
LD (.CURR_PANEL),IY LD (.CURR_PANEL),IY
LD A,(RAMPAGES.BuffPg3) CALL ReadDIRCopy
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
CALL ReadDIR
LD A,(RAMPAGES.BuffPg3) LD A,(RAMPAGES.BuffPg3)
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
LD A,HIGH (CPU3) LD A,HIGH (CPU3)
@ -881,9 +952,7 @@ CalcDirSizeR: PUSH IX
SPDSS DSSF.CHDIR ; ᬥ­  ⥪ã饣® ¯ã⨠SPDSS DSSF.CHDIR ; ᬥ­  ⥪ã饣® ¯ãâ¨
; CALL C,DOSError ; CALL C,DOSError
POP IY POP IY
LD A,(RAMPAGES.BuffPg3) CALL ReadDIRCopy
SET PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
CALL ReadDIR
CALL DIRLIST.MARK_ALL ; ¬ àª¨à®¢ª  ¢á¥å ä ©«®¢/¤¨à CALL DIRLIST.MARK_ALL ; ¬ àª¨à®¢ª  ¢á¥å ä ©«®¢/¤¨à
LD HL,0xC000 + FileHDR.SIZE LD HL,0xC000 + FileHDR.SIZE
LD (COPY.PathCurrFile),HL LD (COPY.PathCurrFile),HL
@ -985,6 +1054,7 @@ CopyError1 PUSH AF
CALL DOSError CALL DOSError
JP CopyEnd JP CopyEnd
; ¯à¥à뢠­¨¥ ª®¯¨à®¢ ­¨ï
CopyBreak POP HL CopyBreak POP HL
POP AF POP AF
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
@ -2112,13 +2182,16 @@ MDIRLen DB 0x00
NewDIR DB 0x0D DUP 0x00 NewDIR DB 0x0D DUP 0x00
;[]==========================================================[] ;[]==========================================================[]
; 㤠«¥­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨©
DeleteFilesR LD A,(IY + PANEL.FILES_ALL) DeleteFilesR LD A,(IY + PANEL.FILES_ALL)
OR (IY + PANEL.FILES_ALL + 1) OR (IY + PANEL.FILES_ALL + 1)
RET Z RET Z ; ä ©«®¢ ­¥â
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
RET NZ ; ०¨¬ ®â®¡à ¦¥­¨ï ¯ ­¥«¨ - ¤¥à¥¢®
SETPORT WINSP.Y_PORT,0xC0 SETPORT WINSP.Y_PORT,0xC0
LD A,(IY + PANEL.FILES_MARK) LD A,(IY + PANEL.FILES_MARK)
OR (IY + PANEL.FILES_MARK + 1) OR (IY + PANEL.FILES_MARK + 1)
JR NZ,DeleteMark JR NZ,DeleteMark ; ¥áâì ¯®¬¥ç¥­­ë¥ ä ©«ë
; 㤠«¥­¨¥ ¯®¤ ªãàá®à®¬ ä ©« /¤¨à¥ªâ®à¨¨ ; 㤠«¥­¨¥ ¯®¤ ªãàá®à®¬ ä ©« /¤¨à¥ªâ®à¨¨
GETPORT WINSP.CPU3 GETPORT WINSP.CPU3
PUSH AF PUSH AF
@ -2128,13 +2201,14 @@ DeleteFilesR LD A,(IY + PANEL.FILES_ALL)
LD A,(RAMPAGES.RIGHTPANEL) LD A,(RAMPAGES.RIGHTPANEL)
.L1 .L1
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
if 0
LD L,(IY + PANEL.FIRST_FILE) LD L,(IY + PANEL.FIRST_FILE)
LD H,(IY + PANEL.FIRST_FILE + 1) LD H,(IY + PANEL.FIRST_FILE + 1)
LD E,(IY + PANEL.CURR_FILE) LD E,(IY + PANEL.CURR_FILE)
LD D,(IY + PANEL.CURR_FILE + 1) LD D,(IY + PANEL.CURR_FILE + 1)
ADD HL,DE ADD HL,DE
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
JR Z,DelFile JR Z,.DelFile
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
@ -2143,9 +2217,9 @@ DeleteFilesR LD A,(IY + PANEL.FILES_ALL)
SET 7,H SET 7,H
LD (AdrDelFile),HL LD (AdrDelFile),HL
INC HL INC HL
JR DelFil1 JR .DelFil1
DelFile ADD HL,HL .DelFile ADD HL,HL
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
LD E,L LD E,L
@ -2155,17 +2229,38 @@ DelFile ADD HL,HL
SET 6,H SET 6,H
SET 7,H SET 7,H
LD (AdrDelFile),HL LD (AdrDelFile),HL
DelFil1 INC HL .DelFil1 INC HL
LD E,(HL) LD E,(HL)
POP AF POP AF
SETPORT WINSP.CPU3,,0 SETPORT WINSP.CPU3,,0
else ; if 0
LD IX,WorkBuffer
LD A,HIGH (CPU3)
CALL GET_HANDLE_ADR
LD (AdrDelFile),HL
LD DE,WorkBuffer
LD BC,FileHDR.SIZE
LDIR ; ª®¯¨à®¢ ­¨¥ ⥪ã饣® ®¯¨á â¥«ï
POP AF
SETPORT WINSP.CPU3,,0
; BIT DIR.B_Dir,(IX + FileHDR.Attr)
; IF MARK_DIR
; JP NZ,.InitDeleteDir ; ¯¥à¥å®¤ ­  ¯®¤£®â®¢ªã 㤠«¥­¨ï ¤¨àë
; ELSE
; RET NZ ; ¢ë室 ¥á«¨ ¤¨à¥ªâ®à¨ï
; ENDIF
endif ; if 0
LD A,E LD A,E
CP '.' ; ¢ ¨¬¥­¨ ä ©«  ¢ ®¯¨á â¥«¥? áâà ­­ ï ¯à®¢¥àª  CP '.' ; ­¥«ì§ï 㤠«¨âì § ¯¨áì ".."
RET Z RET Z
CP '\\' ; ¢ ¨¬¥­¨ ä ©«  ¢ ®¯¨á â¥«¥? ¥é¥ áâà ­­¥© CP '\\' ; ¢ ¨¬¥­¨ ä ©«  ¢ ®¯¨á â¥«¥? çâ® §  ¯à®¢¥àª ?
RET Z RET Z
JR DelNext JR DelNext
; 㤠«¥­¨¥ ¤¨àë á® ¢á¥¬ ᮤ¥à¦¨¬ë¬
;.InitDeleteDir CALL StorePaths ; á®åà ­¥­¨¥ ⥪ãé¨å ¯ã⥩ ¯ ­¥«¥©
; JR DelNext
; 㤠«¥­¨¥ ¬ àª¨à®¢ ­­ëå ä ©«®¢/¤¨à¥ªâ®à¨© ; 㤠«¥­¨¥ ¬ àª¨à®¢ ­­ëå ä ©«®¢/¤¨à¥ªâ®à¨©
DeleteMark DeleteMark
GETPORT WINSP.CPU3 GETPORT WINSP.CPU3
@ -2268,9 +2363,7 @@ DelJump
WINDOWCLOSE WINDOWCLOSE
JP (HL) JP (HL)
AdrDelFile DEFW 0x0000 ; á®§¤ ­¨¥ ¨¬¥­¨ 㤠«ï¥¬®£® ä ©« /¤¨à¥ªâ®à¨¨
DeleteFlag DEFB 0x00
MakeDELname LD HL,(AdrDelFile) MakeDELname LD HL,(AdrDelFile)
INC HL INC HL
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
@ -2330,7 +2423,8 @@ DeleteSkip LD C,(IY + PANEL.FILES_MARK)
; 㤠«¥­¨¥ ®¤­®£® ä ©« /¤¨àë ; 㤠«¥­¨¥ ®¤­®£® ä ©« /¤¨àë
DeleteOne CALL PointerMouseClock DeleteOne CALL PointerMouseClock
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG) BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
JR Z,DelDel0 JR Z,.DelDel0
; ¤«ï ०¨¬  ¯®ª §  ¤¥à¥¢  ¦¨à¥ªâ®à¨©
PUSH IY PUSH IY
POP HL POP HL
LD DE,PANEL.CURR_PATH LD DE,PANEL.CURR_PATH
@ -2356,7 +2450,7 @@ DeleteOne CALL PointerMouseClock
CALL C,DOSError CALL C,DOSError
POP AF POP AF
JP C,DeleteExit JP C,DeleteExit
DelDel0 LD IX,(AdrDelFile) .DelDel0 LD IX,(AdrDelFile)
LD DE,WorkBuffer LD DE,WorkBuffer
PUSH DE PUSH DE
CALL MakeDELname CALL MakeDELname
@ -2382,6 +2476,7 @@ DelDel2 LD A,0x01
CALL PointerMousePointer CALL PointerMousePointer
JP DeleteSkip JP DeleteSkip
; 㤠«¥­¨¥ ¢á¥å ä ©«®¢/¤¨à¥ªâ®à¨©
DeleteAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG) DeleteAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JR NZ,DeleteOne JR NZ,DeleteOne
LD A,0x01 LD A,0x01
@ -2413,6 +2508,7 @@ DeleteAll BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
LD (IX + PROGRESSBAR.MAX_PAGES + 2),A LD (IX + PROGRESSBAR.MAX_PAGES + 2),A
LD (IX + PROGRESSBAR.MAX_PAGES + 3),A LD (IX + PROGRESSBAR.MAX_PAGES + 3),A
CALL InitProgressBar CALL InitProgressBar
; ­ ç «® 横«¨ç¥áª®£® 㤠«¥­¨ï
DeleteAllLp LD HL,0x0000 DeleteAllLp LD HL,0x0000
DelFrom EQU $-2 DelFrom EQU $-2
LD DE,WorkBuffer LD DE,WorkBuffer
@ -2795,11 +2891,18 @@ DeleteExt1 INC SP
POP IY POP IY
RET RET
DelName DB 13 DUP 0
;-------------------------------------------------------------- ;--------------------------------------------------------------
BUF_MARKDIR ; 01234567
.DIR_NAME DZ " " ; ¨¬ï ⥪ã饩 ¤¨à¥ªâ®à¨¨
.DIR_PREV DZ ".."
DelName DB 13 DUP 0
AdrDelFile DW 0
DeleteFlag DB 0
COPY COPY
.PathCurrFile DW 0 ; €¤à¥á ®¯¨á â¥«ï ⥪ã饣® ä ©« /¤¨àë .PathCurrFile DW 0 ; €¤à¥á ®¯¨á â¥«ï ⥪ã饣® ä ©« /¤¨àë
.PathCurrRoot DW 0 ; €¤à¥á ®¯¨á â¥«ï ¢ ¤¨à¥ªâ®à¨¨ áâ àâ  ª®¯¨à®¢ ­¨ï
.PathSrc DW 0 ; €¤à¥á ¯ã⨠¨áâ®ç­¨ª  .PathSrc DW 0 ; €¤à¥á ¯ã⨠¨áâ®ç­¨ª 
.PathDst DW 0 ; €¤à¥á ¯ã⨠¯à¨¥¬­¨ª  .PathDst DW 0 ; €¤à¥á ¯ã⨠¯à¨¥¬­¨ª 
.PathSrcEnd DW 0 ; €¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª  .PathSrcEnd DW 0 ; €¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
@ -2810,6 +2913,8 @@ COPY
.FreeBanks DW 0 ; Š®«¨ç¥á⢮ ᢮¡®¤­ëå ¡ ­ª®¢ .FreeBanks DW 0 ; Š®«¨ç¥á⢮ ᢮¡®¤­ëå ¡ ­ª®¢
.CurrReadBytes DD 0 ; „«¨­  ç¨â ¥¬®£® ä ©«  .CurrReadBytes DD 0 ; „«¨­  ç¨â ¥¬®£® ä ©« 
.CurrWriteBytes DD 0 ; „«¨­  § ¯¨á뢠¥¬®£® ä ©«  .CurrWriteBytes DD 0 ; „«¨­  § ¯¨á뢠¥¬®£® ä ©« 
.LevelDir DB 0 ; “஢¥­ì ¢å®¦¤¥­¨ï ¢ ¤¨à¥ªâ®à¨¨ ®â ⥪ã饩 ¯®§¨æ¨¨ ª®¯¨à®¢ ­¨ï
.PageStorePaths DB 0 ; ‘âà ­¨æ  á®åà ­¥­­ëå ®¯¨á â¥«¥© ¯ ­¥«¥©
.FHandleSrc DB 0 ; ” ©« ¨áâ®ç­¨ª .FHandleSrc DB 0 ; ” ©« ¨áâ®ç­¨ª
.FHandleDst DB 0 ; ” ©« ¯à¨¥¬­¨ª .FHandleDst DB 0 ; ” ©« ¯à¨¥¬­¨ª
.MemID DB 0 ; ˆ¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ª®¯¨à®¢ ­¨¥ .MemID DB 0 ; ˆ¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ª®¯¨à®¢ ­¨¥