2025-05-30 08:35:57 +03:00
2025-08-02 23:49:42 +03:00
; LAST UPDATE: 02.08.2025 savelij
2025-05-30 08:35:57 +03:00
;[]=======================================================================[]
; FLEX NAVIGATOR ;
; v1.11 ;
; Last edition: 03/02/2000 ;
;[]=======================================================================[]
include fn_const.a80
include fn_macros.a80
PHASE BASE_ADDR
START_BLOCK_1
JP StartPoint ; entry point
2025-08-02 23:49:42 +03:00
JP ClearScreen
JP MakeWindow
JP ReplaceColorRectan
JP PrintTxtLine_IFF
JP PrintTxtLine
JP PrintTxtLineNumsChar
JP PrintPathLeft
JP PrintPathRight
JP PrintPathCentr
JP InputLine
JP InputLine.InputLineExitOk
JP InputLine.InputLineExitCancel
JP DOSError
JP InitScrollBar
JP DrawHScrollBar
JP DrawVScrollBar
JP InitProgressBar
JP DrawProgressBar
2025-05-30 08:35:57 +03:00
2025-07-29 21:58:48 +03:00
DB JUMPS.JUMPSIZE * 5 DUP 0xC9
2025-05-30 08:35:57 +03:00
2025-08-02 23:49:42 +03:00
JP WaitUnpressMouse
JP CheckCoordsMouse
JP CMOSPrintDateTime
DB JUMPS.JUMPSIZE DUP 0xC9;JP CMOSPrintOff
JP PointerMouseClock
JP PointerMousePointer
2025-05-30 08:35:57 +03:00
DB JUMPS.JUMPSIZE * 4 DUP 0xC9
2025-08-02 23:49:42 +03:00
JP ConvertNumbers_40b
JP MoveBytesInc
JP MoveBytesDec
JP Mul_8X8_16b
JP Mul_16X8_24b
JP Mul_16X16_16b
JP Mul_16X16_32b
JP Mul_32X16_32b
JP Div_16X16_16b_16b
JP Div_24X16_8b_16b
JP Div_32X16_16b_16b
JP Div_32X16_32b_16b
JP ConvertNumbers_32b
JP ConvertNumbers_16b
JP ConvertNumbers_8b
JP atoi_32b
JP atoi_16b
JP Resident
2025-05-30 08:35:57 +03:00
DB 0xC0 - LOW ($) DUP 0xC9
2025-08-02 23:49:42 +03:00
NUM_DEVICES DB 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> ன<EFBFBD> <E0AEA9> <EFBFBD>
2025-05-30 08:35:57 +03:00
TreeFlag DB 0 ; <20> <> <EFBFBD> <EFBFBD> <20> <> ॢ<EFBFBD>
CMOSFlag DB 0 ; <20> <> <EFBFBD> <EFBFBD> CMOS 0 - <20> <> <EFBFBD>
; 1 - <20> <> <EFBFBD> <EFBFBD>
MouseFlag DB 1 ; <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 0 - <20> <> <EFBFBD>
; 1 - <20> <> <EFBFBD> <EFBFBD>
CMOSPrint: DB 1
RAMPAGES
2025-08-02 23:49:42 +03:00
.FNPAGESID DB 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䨪<EFBFBD> <E4A8AA> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> FN
.FNREZ2 DB 0 ; 0 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <20> 㭪<EFBFBD> <E3ADAA> ﬨ FN
.FNFONT DB 0 ; 1 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ⮢
.FNREZ3 DB 0 ; 2 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> 㭪権 FN
2025-07-25 16:01:19 +03:00
IFDEF ENABLE.VIEW
2025-08-02 23:49:42 +03:00
.FNVIEW DB 0 ; 3 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> FileViewer
2025-07-25 16:01:19 +03:00
ENDIF
IFDEF ENABLE.EDIT
2025-08-02 23:49:42 +03:00
.FNEDIT DB 0 ; 4 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> FileEditor
2025-07-25 16:01:19 +03:00
ENDIF
2025-05-30 08:35:57 +03:00
; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 䥩<EFBFBD>
2025-08-02 23:49:42 +03:00
.BufferID DB 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䨪<EFBFBD> <E4A8AA> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.FLX DB 0 ; 0 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 㧪<EFBFBD> FLX <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.LEFTPANEL DB 0 ; 1 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> ⠫<EFBFBD> <E2A0AB> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.RIGHTPANEL DB 0 ; 2 <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <20> <> ⠫<EFBFBD> <E2A0AB> <EFBFBD> <20> ࠢ<EFBFBD> <E0A0A2> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
.BuffPg1 DB 0 ; 3
.BuffPg2 DB 0 ; 4
.BuffPg3 DB 0 ; 5
.BuffPg4 DB 0 ; 6
.BuffPgEnd DB 0xFF
.FILES_COUNT DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⢮ <20> <> <EFBFBD> <EFBFBD> 祭<EFBFBD> <E7A5AD> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD>
.FILES_BYTES DB 5 DUP 0 ; ࠧ<> <E0A0A7> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> 祭<EFBFBD> <E7A5AD> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2025-05-30 08:35:57 +03:00
DB LOW (-$) DUP 0
2025-08-02 23:49:42 +03:00
; UI palette & stack memory
; PALETTE: B G R
DB 0x00,0x00,0x00,0x00 ; Black 00 00
DB 0x00,0x00,0xFF,0x00 ; B.Red 01
DB 0x00,0x80,0x00,0x00 ; Green 02 08
DB 0x00,0xFF,0xFF,0x00 ; B.Yellow 03
DB 0x80,0x00,0x00,0x00 ; Blue 04 10
DB 0xFF,0xFF,0x00,0x00 ; Invert paper 05
DB 0x80,0x00,0x00,0x00 ; Invert ink 06 18
DB 0x80,0x80,0x80,0x00 ; BlackGray 07
DB 0xC0,0xC0,0xC0,0x00 ; HighGray 08 20
DB 0x80,0x00,0x00,0x00 ; Panel 09
DB 0xFF,0xFF,0x00,0x00 ; Files 0A 28
DB 0x00,0xFF,0xFF,0x00 ; Select Files 0B
DB 0x00,0xFF,0xFF,0x00 ; InvSel Files 0C 30
DB 0xC0,0xC0,0xC0,0x00 ; Reserved 0D
DB 0xFF,0xFF,0xFF,0x00 ; White 0E 38
DB 0xFF,0xFF,0xFF,0x00 ; White 0F
; discription of flex navigator file panels
LeftPanel: DB 0x80 ; <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 7 - <20> <> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 0 - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DB 0x00 ; <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 - <20> <> <EFBFBD> ⪠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 0 - <20> <> <EFBFBD> <EFBFBD> <E0AEA1> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 1 - <20> <> ॢ<EFBFBD>
; <20> <> <EFBFBD> 2 - 㦠⮥ <20> <> ॢ<EFBFBD>
DB 0x01 ; <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2>
; <20> <> <EFBFBD> 0 - <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 1 - <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ७<EFBFBD> <E0A5AD>
; <20> <> <EFBFBD> 2 - <20> <> ࠧ<> <E0A0A7> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 3 - <20> <> <20> <> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 4 - execute file
; <20> <> <EFBFBD> 5 - file mask
DW 4 ; X <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DW 0 ; X <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; Y <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; Max <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; ⥪.<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 祩<EFBFBD> <E7A5A9> BarLeft
DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 祩<EFBFBD> <E7A5A9> BarRight
DW 0 ; <20> <> <EFBFBD> -<2D> <> 䠩<> <E4A0A9> <EFBFBD> <20> <> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
DW 0 ; <20> <> 饥 <20> <> <EFBFBD> -<2D> <> 䠩<> <E4A0A9> <EFBFBD>
DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <20> <> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
DW 0 ; T<> <54> <EFBFBD> 騩 䠩<> <20> <> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
DW 0 ; <20> <> <EFBFBD> -<2D> <> <20> <> ન<E0AAA8> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD>
DD 0 ; <20> <> <EFBFBD> -<2D> <> <20> <> ન<E0AAA8> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⮢
DB 0
DB "*.*" ; Ma᪠ <20> <> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD>
DB 0x0A DUP 0
DB PANEL.CURR_PATH_Size DUP 0 ; <20> <> <EFBFBD> <EFBFBD> <20> ⥪<> 饩 <20> <> ४<EFBFBD> <E0A5AA> ਨ
RightPanel: DB 0x01 ; <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 7 - <20> <> <EFBFBD> <20> 뤥<EFBFBD> <EBA4A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 0 - <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DB 0x00 ; <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 - <20> <> <EFBFBD> ⪠<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 0 - <20> <> <EFBFBD> <EFBFBD> <E0AEA1> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 1 - <20> <> ॢ<EFBFBD>
; <20> <> <EFBFBD> 2 - 㦠⮥ <20> <> ॢ<EFBFBD>
DB 0x01 ; <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E0AEA2>
; <20> <> <EFBFBD> 0 - <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 1 - <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ७<EFBFBD> <E0A5AD>
; <20> <> <EFBFBD> 2 - <20> <> ࠧ<> <E0A0A7> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 3 - <20> <> <20> <> <EFBFBD> <EFBFBD>
; <20> <> <EFBFBD> 4 - execute file
; <20> <> <EFBFBD> 5 - file mask
DW 324 ; X <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DW 0 ; X <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; Y <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; Max <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; ⥪.<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <E0AEAB> <EFBFBD> <EFBFBD>
DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 祩<EFBFBD> <E7A5A9> BarLeft
DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 祩<EFBFBD> <E7A5A9> BarRight
DW 0 ; <20> <> <EFBFBD> -<2D> <> 䠩<> <E4A0A9> <EFBFBD> <20> <> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
DW 0 ; <20> <> 饥 <20> <> <EFBFBD> -<2D> <> 䠩<> <E4A0A9> <EFBFBD>
DW 0 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <20> <> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
DW 0 ; T<> <54> <EFBFBD> 騩 䠩<> <20> <> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
DW 0 ; <20> <> <EFBFBD> -<2D> <> <20> <> ન<E0AAA8> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD>
DD 0 ; <20> <> <EFBFBD> -<2D> <> <20> <> ન<E0AAA8> <E0AEA2> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ⮢
DB 0
DB "*.*" ; Ma᪠ <20> <> <EFBFBD> 䠩<> <E4A0A9> <EFBFBD>
DB 0x0A DUP 0
DB PANEL.CURR_PATH_Size DUP 0 ; <20> <> <EFBFBD> <EFBFBD> <20> ⥪<> 饩 <20> <> ४<EFBFBD> <E0A5AA> ਨ
2025-05-30 08:35:57 +03:00
DOSError EX AF,AF'
GETPORT WINSP.CPU1
PUSH AF
2025-07-25 16:01:19 +03:00
LD A,(RAMPAGES.FNREZ2)
2025-05-30 08:35:57 +03:00
SETPORT WINSP.CPU1,,0
EX AF,AF'
CALL DOSErrorR
EX AF,AF'
POP AF
SETPORT WINSP.CPU1,,0
EX AF,AF'
RET
2025-07-25 16:01:19 +03:00
Resident LD (.ResCall),DE
IN B,(C)
PUSH BC
OUT (C),A
CALL 0x0000
.ResCall EQU $-2
POP BC
OUT (C),B
RET
2025-08-02 23:49:42 +03:00
; (ADR) + BCDE = BCDE
BCDEHLP: LD A,(HL)
INC HL
ADD A,E
LD E,A
LD A,(HL)
INC HL
ADC A,D
LD D,A
LD A,(HL)
INC HL
ADC A,C
LD C,A
LD A,(HL)
ADC A,B
LD B,A
RET
GET_DWORD: LD E,(HL)
INC HL
LD D,(HL)
INC HL
LD C,(HL)
INC HL
LD B,(HL)
RET
SET_DWORD: LD (HL),E
INC HL
LD (HL),D
INC HL
LD (HL),C
INC HL
LD (HL),B
RET
thanks DZ "\r\nThank you for using Flex Navigator.\r\n"
; <20> <> 室
ComExit CALL ResDrivers
CALL ResVideoMode
LD HL,thanks
SPDSS DSSF.PCHARS
LD A,(RAMPAGES.FNPAGESID)
SPDSS DSSF.FREEMEM
SPDSS DSSF.EXIT,0
2025-05-30 08:35:57 +03:00
include fnwin.a80
include fnprint.a80
include fninput.a80
include fnbar.a80
include fnmouse.a80
include fnsys.a80
2025-08-02 23:49:42 +03:00
; <20> <> <EFBFBD> <EFBFBD> <EFBFBD>
2025-05-30 08:35:57 +03:00
StartPoint: DI
LD SP,STACK
ReStartPoint:
SETPORT BORDER,0
SETPORT WINSP.Y_PORT,0xC0
CALL InitVideoMode
CALL InitDrivers
CALL InitScreen
CALL ClearDOSline
SUB A
CALL InitPanels
2025-08-02 23:49:42 +03:00
CALL WaitUnpressMouse
2025-05-30 08:35:57 +03:00
MainLoop: LD IX,FilePanelLeft
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD IX,FilePanelRight
2025-08-02 23:49:42 +03:00
.L1 CALL CheckCoordsMouse
2025-05-30 08:35:57 +03:00
CALL TestKeys
CALL C,DOSline
LD A,(TreeFlag)
OR A
IF TREE_REZID
CALL NZ,RESIDENT.TestTree
ELSE
CALL NZ,TestTreeR
ENDIF
JR MainLoop
TestKeys
SPDSS DSSF.TESTKEY
JR Z,KeyExit
RES 7,D
LD A,B
AND KEYBSTAT.M_ALT | KEYBSTAT.M_CTRL
CP KEYBSTAT.M_ALT | KEYBSTAT.M_CTRL
RET Z
LD IX,HOTKEYS.SHIFTKeys
LD A,B
AND KEYBSTAT.M_LEFTSHIFT | KEYBSTAT.M_RIGHTSHIFT
JR NZ,.L1
LD IX,HOTKEYS.CTRLKeys
BIT KEYBSTAT.B_CTRL,B
JR NZ,.L1
LD IX,HOTKEYS.ALTKeys
BIT KEYBSTAT.B_ALT,B
JR NZ,.L1
LD IX,HOTKEYS.ASCIIKeys
.L1 LD L,(IX+0x00) ; ᪠<> <20> <> <EFBFBD>
INC IX
INC L
SCF
RET Z
DEC L
LD H,(IX+0x00) ; ASCII <20> <> <EFBFBD>
INC IX
LD C,(IX+0x00) ; LOW <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 맮<EFBFBD> <EBA7AE>
INC IX
LD B,(IX+0x00) ; HIGH <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> 맮<EFBFBD> <EBA7AE>
INC IX
OR A
SBC HL,DE
JR NZ,.L1
LD (KeyCALL),BC
SPDSS DSSF.SCANKEY
CALL 0x0000
KeyCALL EQU $-2
KeyExit XOR A
RET
MouseOnOff LD A,(MouseFlag)
XOR 0x01
LD (MouseFlag),A
LD C,MOUSEF.INIT
JR NZ,.L1
LD C,MOUSEF.HIDE
.L1
SPMOUSE
RET
START_SORT
include fnsort.a80
END_SORT
IF TREE_REZID = 0
START_TREE
include fntree.a80
END_TREE
ENDIF
include fnpanel.a80
include fndos.a80
include fnwork.a80
; <20> 맮<EFBFBD> <20> 㭪樨 <20> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD> <EFBFBD>
RESIDENT
.CopyFiles: LD DE,CopyFilesR
; resident 2
2025-07-25 16:01:19 +03:00
.FunctResident: LD A,(RAMPAGES.FNREZ2)
2025-05-30 08:35:57 +03:00
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
2025-07-25 16:01:19 +03:00
.HelpResident: LD A,(RAMPAGES.FNREZ3)
2025-05-30 08:35:57 +03:00
LD C,WINSP.CPU1
JP Resident
IF MARK_DIR
2025-08-02 23:49:42 +03:00
.CountingDir LD DE,CountingDirR
2025-05-30 08:35:57 +03:00
JR .HelpResident
2025-07-25 16:01:19 +03:00
.MkdirsDst LD DE,MkdirsDstR
JR .HelpResident
2025-05-30 08:35:57 +03:00
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
include fntab.a80
END_BLOCK_1:
DEPHASE ; BASE_ADDR
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
IF TREE_REZID
include fntree.a80
ENDIF
END_BLOCK_2:
DEPHASE ; 0x4000
PHASE 0xC000
2025-07-25 16:01:19 +03:00
; MAIN.FNFONT
START_BLOCK_4
2025-05-30 08:35:57 +03:00
2025-07-25 16:01:19 +03:00
FONT_RAW_PACK binclude tmp/font_raw.pack
IFFFONT_RAW_PACK binclude tmp/iff_font_raw.pack
IFFFONT_RAW_END
END_BLOCK_4:
2025-05-30 08:35:57 +03:00
DEPHASE ; 0xC000
PHASE 0x4000
2025-07-25 16:01:19 +03:00
; MAIN.FNREZ3
2025-05-30 08:35:57 +03:00
START_BLOCK_3
include rez3_fnnext.a80
include rez3_fnmark.a80
2025-07-25 16:01:19 +03:00
; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ⮡<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> EXE 䠩<> <E4A0A9>
INIT_VAR 0x8000 ; <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ࠭<EFBFBD> <E0A0AD> <EFBFBD>
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
IFDEF ENABLE.HELP
2025-05-30 08:35:57 +03:00
WINSP_CPU EQU WINSP.CPU3 ; <20> <> <EFBFBD> <EFBFBD> <20> <EFBFBD> <E0AEA5> <EFBFBD> <E0AEA2> <EFBFBD> <EFBFBD>
WINSP_ADR EQU 0xC000 ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
include plugins/help/help.a80
HelpText: include plugins/help/help_t.a80
HelpTextEnd:
2025-07-25 16:01:19 +03:00
ENDIF
2025-05-30 08:35:57 +03:00
END_BLOCK_3:
DEPHASE ; 0x4000
2025-07-25 16:01:19 +03:00
IFDEF ENABLE.VIEW
; MAIN.FNVIEW
START_BLOCK_VIEWER
2025-05-30 08:35:57 +03:00
PHASE 0xC000
2025-07-25 16:01:19 +03:00
include plugins/fnviewer/fviewer.a80
DEPHASE ; 0xC000
END_BLOCK_VIEWER
ENDIF
2025-05-30 08:35:57 +03:00
2025-07-25 16:01:19 +03:00
IFDEF ENABLE.EDIT
; MAIN.FNEDIT
START_BLOCK_EDITOR
PHASE 0xC000
include plugins/fneditor/feditor.a80
2025-05-30 08:35:57 +03:00
DEPHASE ; 0xC000
2025-07-25 16:01:19 +03:00
END_BLOCK_EDITOR
ENDIF
2025-05-30 08:35:57 +03:00
; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> ⫠<EFBFBD> <E2ABA0> <EFBFBD>
2025-06-24 21:36:47 +03:00
BLOCK1_SIZE EQU END_BLOCK_1 - START_BLOCK_1 ; <20> ᭮<EFBFBD> <E1ADAE> <EFBFBD> <EFBFBD> <20> <> <EFBFBD>
BLOCK2_SIZE EQU END_BLOCK_2 - START_BLOCK_2 ; १<> <E0A5A7> <EFBFBD> <EFBFBD> <EFBFBD> 2
BLOCK3_SIZE EQU END_BLOCK_3 - START_BLOCK_3 ; १<> <E0A5A7> <EFBFBD> <EFBFBD> <EFBFBD> 3
2025-07-25 16:01:19 +03:00
IFDEF ENABLE.EDIT
2025-06-24 21:36:47 +03:00
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR ; ।<> <E0A5A4> <EFBFBD> <EFBFBD> <EFBFBD>
2025-07-25 16:01:19 +03:00
ENDIF
IFDEF ENABLE.VIEW
2025-06-24 21:36:47 +03:00
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER ; <20> <> <EFBFBD>
2025-07-25 16:01:19 +03:00
ENDIF
2025-06-24 21:36:47 +03:00
SORT_SIZE EQU END_SORT - START_SORT ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 騪
TREE_SIZE EQU END_TREE - START_TREE ; ࠡ<> <E0A0A1> <EFBFBD> <20> <20> <> ॢ<EFBFBD> <E0A5A2>