571 lines
13 KiB
Plaintext
571 lines
13 KiB
Plaintext
|
||
; 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>
|