flex_nav/fnmain.a80
savelij13 f428f0b18b FileEditor.flx 1.10
- устранено перепутанные кнопки для нажатий мышью для F7 и F9.
FileViewer.flx 1.06
- добавлено переключение кодировки в режиме HEX просмотра.
FlexNavigaror 1.16.01
- исправлен вылет при создании нового файла по Shift+F4 или просмотр с
  вводом имени по Shift+F3, плагин был не загружен.
2025-07-29 21:58:48 +03:00

603 lines
14 KiB
Plaintext
Raw Blame History

; LAST UPDATE: 25.07.2025 savelij
;[]=======================================================================[]
; FLEX NAVIGATOR ;
; v1.11 ;
; Last edition: 03/02/2000 ;
;[]=======================================================================[]
; flex navigator equs
include fn_const.a80
include fn_macros.a80
;[]-----------------------------------------------------------------------[]
; org BASE_ADDR ;0x8000
; section .bss
;WorkBuffer: EQU 0x8000
;resb 0x400 ; work buffer for func/procs
;[]-----------------------------------------------------------------------[]
; ; org 0x8400
; section .bss
;PagesList: EQU 0x8400
;resb 0x100 ; buffer for memory pages
;[]-----------------------------------------------------------------------[]
; ; org 0x8500
; section .text
PHASE BASE_ADDR
START_BLOCK_1
;[]=======================================================================[]
; section .text
;EntryPoint:
JP StartPoint ; entry point
JP ClearScreen ; 8603->86BB
JP MakeWindow ; 8606->86F0
JP InvertRectan ; 8609->8DA0
JP PrnTxtLnIFF ; 860C->8FB0
JP PrnTxtLnNorm ; 860F->9024
JP PrnTxtLnNormC ; 8612->909B
JP PrnRangPathL ; 8615->8E48
JP PrnRangPathR ; 8618->8EB2
JP PrnRangPathC ; 861B->8F36
JP InputLine ; 861E->915F
JP InputLine.InpLnExtN ; 8621->9205
JP InputLine.InpLnExtC ; 8624->920F
JP DOSError ; 8627->86A8
JP InitScrollBar ; 862A->96EB
JP PrnHScrBar ; 862D->9729
JP PrnVScrBar ; 8630->9882
JP InitProcess ; 8633->99DA
JP PrnProcess ; 8636->9A39
DB JUMPS.JUMPSIZE * 5 DUP 0xC9
JP ResFire ; 8648->9B01
JP TestCoords ; 864B->9B10
JP SetCMOSPrint ; 864E->9EA9
JP ResCMOSPrint ; 8651->9EF3
JP SetClock ; 8654->A08E
JP SetMouse ; 8657->A0BB
DB JUMPS.JUMPSIZE * 4 DUP 0xC9
JP ConvNumTxt40 ; 8666->A1F7
JP MoveBytes ; 8669->A3B6
JP MoveBytesUp ; 866C->A3E3
JP Mult8 ; 866F->A0E8
JP Mult16X8 ; 8672->A124
JP Mult16 ; 8675->A110
JP Mult16X16 ; 8678->A124
JP Mult32 ; 867B->A149
JP Divis16X16 ; 867E->A16B
JP Divis24X16 ; 8681->A195
JP Divis32X16 ; 8684->A1B8
JP Divis32 ; 8687->A1CD
JP ConvNumTxt32 ; 868A->A236
JP ConvNumTxt16 ; 868D->A2AA
JP ConvNumTxt8 ; 8690->A2DE
JP ConvTxtNum32 ; 8693->A35D
JP ConvTxtNum16 ; 8696->A395
JP Resident ; 8699->A40B
DB 0xC0 - LOW ($) DUP 0xC9
;[]-----------------------------------------------------------------------[]
; flex navigator settings
NUM_DEVICES DB 0 ; <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><E0AEA9><EFBFBD>
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
.FNPAGESID DB 0 ; <20><><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> FN
.FNREZ2 DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20> <20><EFBFBD><E3ADAA>ﬨ FN
.FNFONT DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>
.FNREZ3 DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪権 FN
IFDEF ENABLE.VIEW
.FNVIEW DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20> FileViewer
ENDIF
IFDEF ENABLE.EDIT
.FNEDIT DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20> FileEditor
ENDIF
.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 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FLX <20><><EFBFBD><EFBFBD><E1ACAE>. FLX <20><EFBFBD><E2A8AB>
.LEFTPANEL DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><E2A0AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.RIGHTPANEL DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><E2A0AB><EFBFBD> <20><EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.BuffPg1 DB 0
DB 0
.BuffPg3 DB 0
DB 0
DB 0
DB LOW (-$) DUP 0
;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
DOSError EX AF,AF'
GETPORT WINSP.CPU1
PUSH AF
LD A,(RAMPAGES.FNREZ2)
SETPORT WINSP.CPU1,,0
EX AF,AF'
CALL DOSErrorR
EX AF,AF'
POP AF
SETPORT WINSP.CPU1,,0
EX AF,AF'
RET
;[]----------------------------------------------------------[]
Resident LD (.ResCall),DE
IN B,(C)
PUSH BC
OUT (C),A
CALL 0x0000
.ResCall EQU $-2
POP BC
OUT (C),B
RET
include fnwin.a80
include fnprint.a80
include fninput.a80
include fnbar.a80
include fnmouse.a80
include fnsys.a80
;[]=======================================================================[]
;<3B><><EFBFBD><EFBFBD><EFBFBD>
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
CALL ResFire
MainLoop: LD IX,FilePanelLeft
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD IX,FilePanelRight
.L1 CALL TestCoords
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
;[]-----------------------------------------------------------------------[]
ComExit CALL ResDrivers
CALL ResVideoMode
LD HL,thanks
SPDSS DSSF.PCHARS
LD A,(RAMPAGES.FNPAGESID)
SPDSS DSSF.FREEMEM
SPDSS DSSF.EXIT,0
thanks DZ "\r\nThank you for using Flex Navigator.\r\n"
; (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
;[]=======================================================================[]
; 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>
;[]=======================================================================[]
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
.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
.GetDirSize: LD DE,GetDirSizeR
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
include fntab.a80
END_BLOCK_1:
DEPHASE ; BASE_ADDR
;[]=======================================================================[]
PHASE 0x4000
; MAIN.FNREZ2
START_BLOCK_2
;FlexDIRECTORY: DB 0x100 DUP 0
;FLXdir: DB 0x100 DUP 0
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
; MAIN.FNFONT
START_BLOCK_4
FONT_RAW_PACK binclude tmp/font_raw.pack
IFFFONT_RAW_PACK binclude tmp/iff_font_raw.pack
IFFFONT_RAW_END
END_BLOCK_4:
DEPHASE ; 0xC000
;[]-----------------------------------------------------------------------[]
PHASE 0x4000
; MAIN.FNREZ3
START_BLOCK_3
include rez3_fnnext.a80
include rez3_fnmark.a80
; <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
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:
ENDIF
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
;[]-----------------------------------------------------------------------[]
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD>
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
IFDEF ENABLE.EDIT
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR ; ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD>
ENDIF
IFDEF ENABLE.VIEW
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER ; <20><><EFBFBD>
ENDIF
SORT_SIZE EQU END_SORT - START_SORT ; <20><><EFBFBD><EFBFBD><EFBFBD>஢騪
TREE_SIZE EQU END_TREE - START_TREE ; ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><E0A5A2>