flex_nav/fnmain.a80
savelij13 499aa7968d - исправлена проверка запускаемого файла по расширению.
- доки переведены на UTF8 кодировку.
- поправлена CorrBigChar.
2025-06-24 21:36:47 +03:00

571 lines
13 KiB
Plaintext
Raw Permalink Blame History

; LAST UPDATE: 03.06.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
JP InitScrollBar
DB JUMPS.JUMPSIZE * 4 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
.FNFUNCT DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20> <20><EFBFBD><E3ADAA>ﬨ FN
.FNVIEW DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20> FileViewer
.FNEDIT DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20> FileEditor
.FNHELP DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> FN HELP
.FNFONT DB 0 ; <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>
.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.FNFUNCT)
SETPORT WINSP.CPU1,,0
EX AF,AF'
CALL DOSErrorR
EX AF,AF'
POP AF
SETPORT WINSP.CPU1,,0
EX AF,AF'
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 0x100 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 0x100 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.FNFUNCT)
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.FNHELP)
LD C,WINSP.CPU1
JP Resident
IF MARK_DIR
.GetDirSize: LD DE,GetDirSizeR
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
; section .text
START_BLOCK_2
FlexDIRECTORY: 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
START_BLOCK_EDITOR
PHASE 0xC000
include plugins/fnviewer/fviewer.a80
DEPHASE ; 0xC000
END_BLOCK_EDITOR
START_BLOCK_VIEWER
PHASE 0xC000
include plugins/fneditor/feditor.a80
DEPHASE ; 0xC000
END_BLOCK_VIEWER
;[]-----------------------------------------------------------------------[]
PHASE 0x4000
; section .text
START_BLOCK_3
DOShistory: DB DOShistory_Size DUP 0 ;times 0x200 db 0
fn_ext: DB WorkBuffer_Size DUP 0 ;times 0x400 db 0
fnview_ext: DB WorkBuffer_Size DUP 0 ;times 0x400 db 0
fnedit_ext: DB WorkBuffer_Size DUP 0 ;times 0x400 db 0
include rez3_fnnext.a80
include rez3_fnmark.a80
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:
END_BLOCK_3:
DEPHASE ; 0x4000
;[]=======================================================================[]
PHASE 0xC000
; section .data
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
; <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
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR ; ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD>
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER ; <20><><EFBFBD>
SORT_SIZE EQU END_SORT - START_SORT ; <20><><EFBFBD><EFBFBD><EFBFBD>஢騪
TREE_SIZE EQU END_TREE - START_TREE ; ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><E0A5A2>