571 lines
13 KiB
Plaintext
571 lines
13 KiB
Plaintext
|
|
|
|||
|
|
; LAST UPDATE: 26.05.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
|
|||
|
|
BLOCK2_SIZE EQU END_BLOCK_2 - START_BLOCK_2
|
|||
|
|
BLOCK3_SIZE EQU END_BLOCK_3 - START_BLOCK_3
|
|||
|
|
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR
|
|||
|
|
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER
|
|||
|
|
SORT_SIZE EQU END_SORT - START_SORT
|
|||
|
|
TREE_SIZE EQU END_TREE - START_TREE
|