1235 lines
22 KiB
Plaintext
1235 lines
22 KiB
Plaintext
|
||
; LAST UPDATE: 27.05.2025 savelij
|
||
|
||
;[]==========================================================[]
|
||
PullDown: CALL ResInvert
|
||
CALL SetPullInvert
|
||
PullLoop: LD IX,PullTab
|
||
CALL TestCoords
|
||
SPDSS DSSF.SCANKEY
|
||
JR Z,PullLoop
|
||
LD A,B
|
||
OR A
|
||
JR NZ,PullLoop
|
||
LD HL,PullLoop
|
||
PUSH HL
|
||
LD A,E
|
||
CP 0x1B
|
||
JR Z,PullExit
|
||
CP 0x0D
|
||
JR Z,PullEnter
|
||
OR A
|
||
RET NZ
|
||
LD A,D
|
||
CP SC.X2
|
||
JR Z,PullEnter
|
||
CP SC.X8
|
||
JR Z,PullEnter
|
||
CP SC.X4
|
||
JR Z,PullLeft
|
||
CP SC.X6
|
||
JR Z,PullRight
|
||
RET
|
||
|
||
PullExit: POP DE
|
||
.L1 CALL ResPullInvert
|
||
JP SetInvert
|
||
|
||
PullLeft: LD A,(CurrMenu)
|
||
DEC A
|
||
JP P,.L1
|
||
LD A,MainPullMenu-1
|
||
.L1 LD (CurrMenu),A
|
||
CALL ResPullInvert
|
||
JP SetPullInvert
|
||
|
||
PullRight: LD A,(CurrMenu)
|
||
INC A
|
||
CP MainPullMenu
|
||
JR NZ,.L1
|
||
SUB A
|
||
.L1 LD (CurrMenu),A
|
||
CALL ResPullInvert
|
||
JP SetPullInvert
|
||
|
||
PullEnter: LD A,0x01
|
||
LD (MKeyFlg),A
|
||
LD HL,MFile
|
||
LD A,(CurrMenu)
|
||
OR A
|
||
JR Z,.L1
|
||
LD HL,MSelect
|
||
DEC A
|
||
JR Z,.L1
|
||
LD HL,MOption
|
||
DEC A
|
||
JR Z,.L1
|
||
LD HL,MView
|
||
DEC A
|
||
JR Z,.L1
|
||
LD HL,MConfig
|
||
DEC A
|
||
JR Z,.L1
|
||
LD HL,MAbout
|
||
.L1 EX (SP),HL
|
||
RET
|
||
|
||
ResPullInvert: LD DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.HIGHGRAY + COLORI.BLACK);0x4F80
|
||
LD A,0
|
||
PrevMenu EQU $-1
|
||
JR PullInvert
|
||
|
||
SetPullInvert: LD DE,(COLORP.HIGHGRAY + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE);0x804F
|
||
LD A,0
|
||
CurrMenu EQU $-1
|
||
LD (PrevMenu),A
|
||
PullInvert: LD L,A
|
||
LD H,0
|
||
ADD HL,HL ; *2
|
||
ADD HL,HL ; *4
|
||
ADD HL,HL ; *8
|
||
ADD HL,HL ; *16
|
||
LD BC,PullTab
|
||
ADD HL,BC
|
||
PUSH HL
|
||
POP IX
|
||
LD L,(IX + FORMTABL.XMINL)
|
||
LD H,(IX + FORMTABL.XMINH)
|
||
LD C,(IX + FORMTABL.YMINL)
|
||
LD B,(IX + FORMTABL.YMINH)
|
||
LD A,(IX + FORMTABL.XMAXL)
|
||
SUB (IX + FORMTABL.XMINL)
|
||
EX AF,AF'
|
||
LD A,(IX + FORMTABL.YMAXL)
|
||
SUB (IX + FORMTABL.YMINL)
|
||
LD IXH,A
|
||
EX AF,AF'
|
||
SRL A
|
||
LD IXL,A
|
||
JP InvertRectan
|
||
|
||
MFile: CALL ResPullInvert
|
||
JP MenuFile.L1
|
||
|
||
MSelect: CALL ResPullInvert
|
||
JP MenuSelect.L1
|
||
|
||
MOption: CALL ResPullInvert
|
||
JP MenuOption.L1
|
||
|
||
MView: CALL ResPullInvert
|
||
JP MenuView.L7
|
||
|
||
MConfig: CALL ResPullInvert
|
||
JP MenuConfig.L1
|
||
|
||
MAbout: CALL ResPullInvert
|
||
JP MenuAbout.L1
|
||
|
||
;[]==========================================================[]
|
||
MenuFile: CALL ResInvert
|
||
.L2 SUB A
|
||
LD (MKeyFlg),A
|
||
.L1 CALL STORE_PANELFLAG
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 4,26,160,54
|
||
W_TEXT 16,6,COLORP.HIGHGRAY,"File info..."
|
||
W_TEXT 100,6,COLORP.HIGHGRAY,"ALT+ENT"
|
||
W_TEXT 16,20,COLORP.HIGHGRAY,"Print"
|
||
W_TEXT 100,20,COLORP.HIGHGRAY,"CTRL+F9"
|
||
W_HORIZLINE 4,33,152
|
||
W_TEXT 16,40,COLORP.HIGHGRAY,"Exit"
|
||
W_TEXT 100,40,COLORP.HIGHGRAY,"F10"
|
||
W_END
|
||
LD HL,FileTab
|
||
LD BC,3
|
||
JP MenuWork
|
||
|
||
MenuSelect: CALL ResInvert
|
||
.L2 SUB A
|
||
LD (MKeyFlg),A
|
||
.L1 CALL STORE_PANELFLAG
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 40,26,160,76
|
||
W_TEXT 16,6,COLORP.HIGHGRAY,"Mark group..."
|
||
W_TEXT 112,6,COLORP.HIGHGRAY,"+"
|
||
W_TEXT 16,20,COLORP.HIGHGRAY,"Unmark group..."
|
||
W_TEXT 112,20,COLORP.HIGHGRAY,"-"
|
||
W_TEXT 16,34,COLORP.HIGHGRAY,"Mark all"
|
||
W_TEXT 112,34,COLORP.HIGHGRAY,"CTRL+"
|
||
W_TEXT 16,48,COLORP.HIGHGRAY,"Unmark all"
|
||
W_TEXT 112,48,COLORP.HIGHGRAY,"CTRL-"
|
||
W_TEXT 16,62,COLORP.HIGHGRAY,"Invert selection"
|
||
W_TEXT 112,62,COLORP.HIGHGRAY,"*"
|
||
W_END
|
||
LD HL,SelectTab
|
||
LD BC,1 << 8 | 5
|
||
JP MenuWork
|
||
|
||
MenuOption: CALL ResInvert
|
||
.L2 SUB A
|
||
LD (MKeyFlg),A
|
||
.L1 CALL STORE_PANELFLAG
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
IF PLUGS_ENABLE
|
||
W_MAIN 84,26,208,54+14
|
||
ELSE
|
||
W_MAIN 84,26,208,54
|
||
ENDIF
|
||
W_TEXT 16,6,COLORP.HIGHGRAY,"Refresh tree" ; 00
|
||
W_TEXT 152,6,COLORP.HIGHGRAY,"ALT+F10"
|
||
W_TEXT 16,20,COLORP.HIGHGRAY,"Disk info..." ; 01
|
||
W_TEXT 152,20,COLORP.HIGHGRAY,"CTRL+L"
|
||
W_HORIZLINE 4,33,200
|
||
W_TEXT 16,40,COLORP.HIGHGRAY,"System information..." ; 02
|
||
IF PLUGS_ENABLE
|
||
W_TEXT 16,54,COLORP.HIGHGRAY,"Plugins..." ; 03
|
||
ENDIF
|
||
W_END
|
||
LD HL,OptionTab
|
||
IF PLUGS_ENABLE
|
||
LD BC,2 << 8 | 4
|
||
ELSE
|
||
LD BC,2 << 8 | 3
|
||
ENDIF
|
||
JP MenuWork
|
||
|
||
MenuView: CALL ResInvert
|
||
.L8 SUB A
|
||
LD (MKeyFlg),A
|
||
.L7 CALL STORE_PANELFLAG
|
||
LD A,(IY + PANEL.VIEWFLAG)
|
||
OR A
|
||
LD BC,0xFFFE
|
||
LD E,0xFE
|
||
JR Z,.L1
|
||
LD BC,0xFEFF
|
||
LD E,0xFE
|
||
BIT VIEWFLAG.B_FULL,A
|
||
JR NZ,.L1
|
||
LD BC,0xFEFE
|
||
LD E,0xFF
|
||
.L1 LD A,B
|
||
LD (MenuView.view1),A
|
||
LD A,C
|
||
LD (MenuView.view2),A
|
||
LD A,E
|
||
LD (MenuView.view3),A
|
||
LD A,(IY + PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASKH
|
||
LD BC,0xFFFE
|
||
LD E,0xFE
|
||
JR Z,.L2
|
||
BIT SORTFLAG.B_EXEC,A
|
||
LD BC,0xFEFF
|
||
LD E,0xFE
|
||
JR NZ,.L2
|
||
LD BC,0xFEFE
|
||
LD E,0xFF
|
||
.L2 LD A,B
|
||
LD (MenuView.filt1),A
|
||
LD A,C
|
||
LD (MenuView.filt2),A
|
||
LD A,E
|
||
LD (MenuView.filt3),A
|
||
LD A,(IY + PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASK
|
||
LD BC,0xFEFE
|
||
LD DE,0xFEFE
|
||
LD L,0xFF
|
||
JR Z,.L3
|
||
BIT SORTFLAG.B_NAME,A
|
||
LD BC,0xFFFE
|
||
LD DE,0xFEFE
|
||
LD L,0xFE
|
||
JR NZ,.L3
|
||
BIT SORTFLAG.B_EXT,A
|
||
LD BC,0xFEFF
|
||
LD DE,0xFEFE
|
||
LD L,0xFE
|
||
JR NZ,.L3
|
||
BIT SORTFLAG.B_DATE,A
|
||
LD BC,0xFEFE
|
||
LD DE,0xFFFE
|
||
LD L,0xFE
|
||
JR NZ,.L3
|
||
LD BC,0xFEFE
|
||
LD DE,0xFEFF
|
||
LD L,0xFE
|
||
.L3 LD A,B
|
||
LD (MenuView.sort1),A
|
||
LD A,C
|
||
LD (MenuView.sort2),A
|
||
LD A,D
|
||
LD (MenuView.sort3),A
|
||
LD A,E
|
||
LD (MenuView.sort4),A
|
||
LD A,L
|
||
LD (MenuView.sort5),A
|
||
PUSH IY
|
||
POP HL
|
||
LD BC,PANEL.FILEMASK
|
||
ADD HL,BC
|
||
LD DE,MenuView.Tfilter
|
||
LD C,STRLEN("*.* ");0x0C
|
||
SUB A
|
||
.L4 LDI
|
||
CP (HL)
|
||
JR NZ,.L4
|
||
LD A,C
|
||
OR A
|
||
JR Z,.L6
|
||
LD B,A
|
||
LD A,' '
|
||
.L5 LD (DE),A
|
||
INC DE
|
||
DJNZ .L5
|
||
.L6
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 138,26,190,186
|
||
W_TEXT 16,6,COLORP.HIGHGRAY,"Brief"
|
||
W_TEXT 110,6,COLORP.HIGHGRAY,"\xFE CTRL+F1"
|
||
.view1 EQU $ - STRLEN ("v CTRL+F1v")
|
||
W_TEXT 16,20,COLORP.HIGHGRAY,"Full"
|
||
W_TEXT 110,20,COLORP.HIGHGRAY,"\xFE CTRL+F2"
|
||
.view2 EQU $ - STRLEN ("v CTRL+F2 ")
|
||
W_TEXT 16,34,COLORP.HIGHGRAY,"Tree"
|
||
W_TEXT 110,34,COLORP.HIGHGRAY,"\xFE CTRL+F8"
|
||
.view3 EQU $ - STRLEN("v CTRL+F8v")
|
||
W_HORIZLINE 4,47,182
|
||
W_TEXT 16,54,COLORP.HIGHGRAY,"All files"
|
||
W_TEXT 110,54,COLORP.HIGHGRAY,"\xFE CTRL+F10"
|
||
.filt1 EQU $ - STRLEN("v CTRL+F10v")
|
||
W_TEXT 16,68,COLORP.HIGHGRAY,"Execute files"
|
||
W_TEXT 110,68,COLORP.HIGHGRAY,"\xFE CTRL+F11"
|
||
.filt2 EQU $ - STRLEN("v CTRL+F11v")
|
||
W_TEXT 16,82,COLORP.HIGHGRAY,"*.* "
|
||
.Tfilter EQU $ - STRLEN("*.* ")
|
||
W_TEXT 110,82,COLORP.HIGHGRAY,"\xFE"
|
||
.filt3 EQU $ - 2
|
||
W_TEXT 16,96,COLORP.HIGHGRAY,"Filter..."
|
||
W_TEXT 110,96,COLORP.HIGHGRAY,"\xFE CTRL+F12"
|
||
W_HORIZLINE 4,109,182
|
||
W_TEXT 16,116,COLORP.HIGHGRAY,"Name"
|
||
W_TEXT 110,116,COLORP.HIGHGRAY,"\xFE CTRL+F3"
|
||
.sort1 EQU $ - STRLEN("v CTRL+F3v")
|
||
W_TEXT 16,130,COLORP.HIGHGRAY,"Extension"
|
||
W_TEXT 110,130,COLORP.HIGHGRAY,"\xFE CTRL+F4"
|
||
.sort2 EQU $ - STRLEN("v CTRL+F4v")
|
||
W_TEXT 16,144,COLORP.HIGHGRAY,"Date"
|
||
W_TEXT 110,144,COLORP.HIGHGRAY,"\xFE CTRL+F5"
|
||
.sort3 EQU $ - STRLEN("v CTRL+F5v")
|
||
W_TEXT 16,158,COLORP.HIGHGRAY,"Size"
|
||
W_TEXT 110,158,COLORP.HIGHGRAY,"\xFE CTRL+F6"
|
||
.sort4 EQU $ - STRLEN("v CTRL+F6v")
|
||
W_TEXT 16,172,COLORP.HIGHGRAY,"Unsorted"
|
||
W_TEXT 110,172,COLORP.HIGHGRAY,"\xFE CTRL+F7"
|
||
.sort5 EQU $ - STRLEN("v CTRL+F7v")
|
||
W_END
|
||
LD HL,ViewTab
|
||
LD BC,3 << 8 | 12
|
||
JP MenuWork
|
||
|
||
MenuConfig: CALL ResInvert
|
||
.L2 SUB A
|
||
LD (MKeyFlg),A
|
||
.L1 CALL STORE_PANELFLAG
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 174,26,96,20
|
||
W_TEXT 16,6,COLORP.HIGHGRAY,"Setup..."
|
||
W_END
|
||
LD HL,ConfigTab
|
||
LD BC,4 << 8 | 1
|
||
JP MenuWork
|
||
|
||
MenuAbout: CALL ResInvert
|
||
.L2 SUB A
|
||
LD (MKeyFlg),A
|
||
.L1 CALL STORE_PANELFLAG
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 222,26,112,20
|
||
W_TEXT 16,6,COLORP.HIGHGRAY,"Version..."
|
||
W_END
|
||
LD HL,AboutTab
|
||
LD BC,5 << 8 | 1
|
||
; HL - <20><><EFBFBD><EFBFBD><EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD>
|
||
; B - ⥪<>騩 <20>㭪<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
; C - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20>㭪⮢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
MenuWork: LD (CurWTab),HL
|
||
LD A,C
|
||
LD (MaxLines),A
|
||
LD A,B
|
||
LD (CurrMenu),A
|
||
LD (PrevMenu),A
|
||
SUB A
|
||
LD (CurMLine),A
|
||
LD IX,(CurWTab)
|
||
CALL TestCoords
|
||
CALL TestInvert
|
||
JR NZ,MenuLoop
|
||
LD A,0
|
||
MKeyFlg EQU $-1
|
||
OR A
|
||
CALL NZ,SetMSelect
|
||
MenuLoop: LD IX,0x0000
|
||
CurWTab EQU $-2
|
||
CALL TestCoords
|
||
SPDSS DSSF.SCANKEY
|
||
JR Z,MenuLoop
|
||
LD A,B
|
||
OR A
|
||
JR NZ,MenuLoop
|
||
LD HL,MenuLoop
|
||
PUSH HL
|
||
LD A,E
|
||
CP 0x1B
|
||
JR Z,MenuKExt
|
||
CP 0x0D
|
||
JP Z,ChangeSet
|
||
CP ' '
|
||
JP Z,ChangeSet
|
||
OR A
|
||
RET NZ
|
||
LD A,D
|
||
CP SC.X4
|
||
JR Z,MenuLeft
|
||
CP SC.X6
|
||
JP Z,MenuRight
|
||
CP SC.X8
|
||
JP Z,MenuUp
|
||
CP SC.X2
|
||
JP Z,MenuDown
|
||
CP SC.X7
|
||
JP Z,MenuHome
|
||
CP SC.X1
|
||
JP Z,MenuEnd
|
||
RET
|
||
|
||
TestInvert: LD HL,(CurWTab)
|
||
LD DE,FORMTABL.FLAGH
|
||
ADD HL,DE
|
||
LD A,0
|
||
MaxLines EQU $-1
|
||
LD B,A
|
||
LD C,0
|
||
LD DE,FORMTABL.SIZE
|
||
.L2 BIT FORMTABL.B_FIRENOINV,(HL)
|
||
JR Z,.L1
|
||
LD A,C
|
||
SET 7,A
|
||
LD (CurMLine),A
|
||
.L1 INC C
|
||
ADD HL,DE
|
||
DJNZ .L2
|
||
LD A,0
|
||
CurMLine EQU $-1
|
||
BIT 7,A
|
||
RES 7,A
|
||
LD (CurMLine),A
|
||
RET
|
||
|
||
; <20><>室 <20><> Esc
|
||
MenuKExt: POP DE
|
||
WINDOWCLOSE
|
||
JP PullLoop
|
||
|
||
; <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> 䫠<><E4ABA0><EFBFBD> <20>뢮<EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
STORE_PANELFLAG LD A,(IY + PANEL.SORTFLAG)
|
||
LD (PANEL_SORTFLAG),A
|
||
LD A,(IY + PANEL.VIEWFLAG)
|
||
LD (PANEL_VIEWFLAG),A
|
||
RET
|
||
|
||
MenuExit: LD A,0
|
||
PANEL_VIEWFLAG EQU $-1
|
||
CP (IY+PANEL.VIEWFLAG)
|
||
JP NZ,InitPanel
|
||
LD A,0
|
||
PANEL_SORTFLAG EQU $-1
|
||
CP (IY+PANEL.SORTFLAG)
|
||
JP NZ,InitPanel
|
||
JP SetInvert
|
||
|
||
MenuLeft:
|
||
WINDOWCLOSE
|
||
LD A,(CurrMenu)
|
||
DEC A
|
||
JP P,.L1
|
||
LD A,MainPullMenu-1
|
||
.L1 LD (CurrMenu),A
|
||
JP PullEnter
|
||
|
||
MenuRight:
|
||
WINDOWCLOSE
|
||
LD A,(CurrMenu)
|
||
INC A
|
||
CP MainPullMenu
|
||
JR NZ,.L1
|
||
SUB A
|
||
.L1 LD (CurrMenu),A
|
||
JP PullEnter
|
||
|
||
MenuUp: CALL TestInvert
|
||
JR Z,.L1
|
||
LD A,(MaxLines)
|
||
DEC A
|
||
RET Z
|
||
CALL ResMSelect
|
||
LD A,(CurMLine)
|
||
OR A
|
||
JR NZ,.L2
|
||
.L1 LD A,(MaxLines)
|
||
.L2 DEC A
|
||
LD (CurMLine),A
|
||
JP SetMSelect
|
||
|
||
MenuDown: CALL TestInvert
|
||
JR Z,.L1
|
||
LD A,(MaxLines)
|
||
DEC A
|
||
RET Z
|
||
CALL ResMSelect
|
||
LD A,(MaxLines)
|
||
LD B,A
|
||
LD A,(CurMLine)
|
||
INC A
|
||
CP B
|
||
JR NZ,.L2
|
||
.L1 SUB A
|
||
.L2 LD (CurMLine),A
|
||
JP SetMSelect
|
||
|
||
MenuHome: CALL TestInvert
|
||
JR Z,.L1
|
||
LD A,(CurMLine)
|
||
OR A
|
||
RET Z
|
||
CALL ResMSelect
|
||
.L1 SUB A
|
||
LD (CurMLine),A
|
||
JP SetMSelect
|
||
|
||
MenuEnd: CALL TestInvert
|
||
JR Z,.L1
|
||
LD A,(MaxLines)
|
||
LD B,A
|
||
LD A,(CurMLine)
|
||
INC A
|
||
CP B
|
||
RET Z
|
||
CALL ResMSelect
|
||
.L1 LD A,(MaxLines)
|
||
DEC A
|
||
LD (CurMLine),A
|
||
JP SetMSelect
|
||
|
||
ResMSelect: LD HL,ResSelect1
|
||
JR SetMSelect.L1
|
||
|
||
SetMSelect: LD HL,SetSelect1
|
||
.L1 PUSH HL
|
||
LD A,(CurMLine)
|
||
LD L,A
|
||
LD H,0x00
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD BC,(CurWTab)
|
||
ADD HL,BC
|
||
PUSH HL
|
||
POP IX
|
||
RET
|
||
|
||
ChangeSet: CALL TestInvert
|
||
JP Z,MenuKExt
|
||
LD A,(CurMLine)
|
||
LD L,A
|
||
LD H,0x00
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD BC,(CurWTab)
|
||
ADD HL,BC
|
||
PUSH HL
|
||
POP IX
|
||
LD C,(IX + FORMTABL.FIRELEFTL) ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
LD B,(IX + FORMTABL.FIRELEFTH)
|
||
LD A,B
|
||
OR C
|
||
RET Z
|
||
BIT FORMTABL.B_EXECNORETLMB,(IX + FORMTABL.FLAGL) ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
JR Z,.L1
|
||
POP AF
|
||
.L1 PUSH BC
|
||
BIT FORMTABL.B_INV1,(IX + FORMTABL.FLAGL)
|
||
CALL NZ,ResSelect1
|
||
CALL ResSelect2
|
||
BIT FORMTABL.B_CLOSEWIN,(IX + FORMTABL.FLAGH)
|
||
RET Z
|
||
WINDOWCLOSE
|
||
RET
|
||
|
||
; brief
|
||
ChView1: RES VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
RES VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP MenuExit
|
||
|
||
; full
|
||
ChView2: SET VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
RES VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP MenuExit
|
||
|
||
; tree
|
||
ChView3: LD A,(TreeFlag)
|
||
OR A
|
||
JP NZ,MenuExit
|
||
RES VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
SET VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP MenuExit
|
||
|
||
; all files
|
||
ChFilt1: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
RES SORTFLAG.B_EXEC,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_FILTER,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; execute files
|
||
ChFilt2: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
SET SORTFLAG.B_EXEC,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_FILTER,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; filter
|
||
ChFilt3: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
RES SORTFLAG.B_EXEC,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_FILTER,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; name
|
||
ChSort1: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
SET SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; extension
|
||
ChSort2: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
RES SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; date
|
||
ChSort3: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
RES SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; size
|
||
ChSort4: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
RES SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP MenuExit
|
||
|
||
; unsorted
|
||
ChSort5: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP NZ,MenuExit
|
||
LD A,(IY+PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASKH
|
||
LD (IY+PANEL.SORTFLAG),A
|
||
JP MenuExit
|
||
|
||
;[]==========================================================[]
|
||
Brief: LD A,(IY+PANEL.VIEWFLAG)
|
||
AND VIEWFLAG.MASK
|
||
RET Z
|
||
RES VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
RES VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP InitPanel
|
||
|
||
Full: BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
SET VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
RES VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP InitPanel
|
||
|
||
Tree: LD A,(TreeFlag)
|
||
OR A
|
||
RET NZ
|
||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
RES VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
SET VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP InitPanel
|
||
|
||
AllFiles: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
LD A,(IY+PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASKEXECFILTER
|
||
RET Z
|
||
RES SORTFLAG.B_EXEC,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_FILTER,(IY+PANEL.SORTFLAG)
|
||
JP InitPanel
|
||
|
||
ExeFiles: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
BIT SORTFLAG.B_EXEC,(IY+PANEL.SORTFLAG)
|
||
RET NZ
|
||
SET SORTFLAG.B_EXEC,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_FILTER,(IY+PANEL.SORTFLAG)
|
||
JP InitPanel
|
||
|
||
NameS: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
BIT SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RET NZ
|
||
SET SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP InitPanel
|
||
|
||
Extention: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
BIT SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RET NZ
|
||
RES SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP InitPanel
|
||
|
||
Data: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
BIT SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RET NZ
|
||
RES SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP InitPanel
|
||
|
||
Size: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
BIT SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
RET NZ
|
||
RES SORTFLAG.B_NAME,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_EXT,(IY+PANEL.SORTFLAG)
|
||
RES SORTFLAG.B_DATE,(IY+PANEL.SORTFLAG)
|
||
SET SORTFLAG.B_SIZE,(IY+PANEL.SORTFLAG)
|
||
JP InitPanel
|
||
|
||
UnSort: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
LD A,(IY+PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASK
|
||
RET Z
|
||
LD A,(IY+PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASKH
|
||
LD (IY+PANEL.SORTFLAG),A
|
||
JP InitPanel
|
||
|
||
;[]==========================================================[]
|
||
RefreshTree: LD A,(TreeFlag)
|
||
OR A
|
||
JR Z,RfTree1
|
||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JR NZ,RfTree1
|
||
PUSH IY
|
||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||
LD IY,RightPanel
|
||
JR Z,.L1
|
||
LD IY,LeftPanel
|
||
.L1 CALL RfTree1
|
||
POP IY
|
||
RET
|
||
|
||
RfTree1: LD HL,BegDIR
|
||
PUSH IY
|
||
SPDSS DSSF.CHDIR
|
||
POP IY
|
||
RET C
|
||
LD HL,TreeName
|
||
PUSH IY
|
||
SPDSS DSSF.DELETE,,0
|
||
POP IY
|
||
RES VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||
SET VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
JP InitPanel
|
||
|
||
;[]==========================================================[]
|
||
NewFilter: CALL ResInvert
|
||
.L1 LD HL,SetInvert
|
||
PUSH HL
|
||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||
RET NZ
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 208,81,224,62
|
||
W_FILL 4,2,216,10,COLORI.BLACK
|
||
W_TEXT 98,3,COLORI.WHITE,"Filter"
|
||
W_BUTTON 32,42,72,14
|
||
W_TEXT 60,45,COLORP.HIGHGRAY,"Ok"
|
||
W_BUTTON 120,42,72,14
|
||
W_TEXT 140,45,COLORP.HIGHGRAY,"Cancel"
|
||
W_TEXT 16,25,COLORP.HIGHGRAY,"New filter:"
|
||
W_BORDER 70,22,134,12
|
||
W_FILL 72,23,130,10,COLORI.WHITE
|
||
W_END
|
||
PUSH IY
|
||
POP HL
|
||
LD BC,PANEL.FILEMASK
|
||
ADD HL,BC
|
||
LD DE,CurFilt
|
||
SUB A
|
||
LD C,A
|
||
.L3 LDI
|
||
CP (HL)
|
||
JR NZ,.L3
|
||
LD A,C
|
||
NEG
|
||
LD (FiltLen),A
|
||
LD IX,FilterStr
|
||
LD HL,FilterTab
|
||
CALL InputLine
|
||
WINDOWCLOSE
|
||
RET C
|
||
LD A,(FiltLen)
|
||
OR A
|
||
RET Z
|
||
LD HL,CurFilt
|
||
LD DE,SelMask
|
||
CALL MakeMask
|
||
RET NC
|
||
PUSH IY
|
||
POP HL
|
||
LD DE,PANEL.FILEMASK
|
||
ADD HL,DE
|
||
EX DE,HL
|
||
LD HL,CurFilt
|
||
LD A,(FiltLen)
|
||
LD B,A
|
||
.L2 LD A,(HL)
|
||
IF CORR_FILENAME
|
||
CALL CorrBigChar
|
||
ENDIF
|
||
LD (DE),A
|
||
INC HL
|
||
INC DE
|
||
DJNZ .L2
|
||
SUB A
|
||
LD (DE),A
|
||
LD A,(IY+PANEL.SORTFLAG)
|
||
AND SORTFLAG.MASK
|
||
SET SORTFLAG.B_FILTER,A
|
||
LD (IY+PANEL.SORTFLAG),A
|
||
POP HL
|
||
JP InitPanel
|
||
|
||
FilterStr: DEFB 0x0C,0x00,0x00,0x00
|
||
FiltLen: DEFB 0x00
|
||
DEFW 0x011A,0x006A
|
||
DEFW 0x0068
|
||
DEFB 0xF0
|
||
CurFilt: DUPL 0x0D,0x00
|
||
|
||
;[]==========================================================[]
|
||
LeftDrive: CALL ResInvert
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 32,92,224,36
|
||
W_FILL 4,2,216,10,COLORI.BLACK
|
||
W_TEXT 86,3,COLORI.WHITE,"Left drive"
|
||
W_END
|
||
LD HL,LeftTab
|
||
LD DE,DriveTab
|
||
LD BC,0x0020
|
||
LDIR
|
||
LD IX,LeftPanel
|
||
LD HL,0x0032
|
||
JP ChangeDrv
|
||
|
||
LeftTab: DEFW 0x0000,0x0020,0x0000,0x0100,0x20,0x0000,DriveExit,0x0000
|
||
DEFW 0x0100,0x0280,0x0000,0x0100,0x20,0x0000,DriveExit,0x0000
|
||
|
||
RightDrive: CALL ResInvert
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 352,92,224,36
|
||
W_FILL 4,2,216,10,COLORI.BLACK
|
||
W_TEXT 86,3,COLORI.WHITE,"Right drive"
|
||
W_END
|
||
LD HL,RightTab
|
||
LD DE,DriveTab
|
||
LD BC,0x0020
|
||
LDIR
|
||
LD IX,RightPanel
|
||
LD HL,0x0172
|
||
JR ChangeDrv
|
||
|
||
RightTab: DEFW 0x0000,0x0160,0x0000,0x0100,0x20,0x0000,DriveExit,0x0000
|
||
DEFW 0x0240,0x0280,0x0000,0x0100,0x20,0x0000,DriveExit,0x0000
|
||
|
||
ChangeDrv: PUSH IY
|
||
PUSH IX
|
||
POP IY
|
||
LD IX,BegDrive
|
||
LD A,(NUM_DEVICES)
|
||
ADD A,A
|
||
LD C,A
|
||
ADD A,A
|
||
ADD A,A
|
||
ADD A,A
|
||
ADD A,C
|
||
SUB 11*0x12
|
||
NEG
|
||
SRL A
|
||
ADD A,L
|
||
LD E,A
|
||
LD A,H
|
||
ADC A,0x00
|
||
LD D,A
|
||
LD HL,Drive
|
||
LD (HL),'A'
|
||
LD BC,0x0070
|
||
LD A,(NUM_DEVICES)
|
||
.Drive1 PUSH AF
|
||
PUSH IX
|
||
PUSH HL
|
||
PUSH DE
|
||
PUSH BC
|
||
LD A,0x80
|
||
CALL PrnTxtLnIFF
|
||
POP BC
|
||
POP DE
|
||
POP HL
|
||
POP IX
|
||
LD A,E
|
||
SUB 0x06
|
||
LD (IX+0x00),A
|
||
LD A,D
|
||
SBC A,0x00
|
||
LD (IX+0x01),A
|
||
LD A,E
|
||
ADD A,0x12
|
||
LD E,A
|
||
JR NC,.L1
|
||
INC D
|
||
.L1 LD A,E
|
||
SUB 0x06
|
||
LD (IX+0x02),A
|
||
LD A,D
|
||
SBC A,0x00
|
||
LD (IX+0x03),D
|
||
LD A,IXL
|
||
ADD A,0x10
|
||
LD IXL,A
|
||
JR NC,.L2
|
||
INC IXH
|
||
.L2 INC (HL)
|
||
POP AF
|
||
DEC A
|
||
JR NZ,.Drive1
|
||
LD (IX+0x00),0x00
|
||
LD (IX+0x01),0x80
|
||
LD A,(IY + PANEL.CURRPATH)
|
||
SUB 'A'
|
||
LD (CurDrive),A
|
||
CALL SetDriveInv
|
||
DriveLoop: LD IX,DriveTab
|
||
CALL TestCoords
|
||
SPDSS DSSF.SCANKEY
|
||
JR Z,DriveLoop
|
||
LD A,B
|
||
OR A
|
||
JR NZ,DriveLoop
|
||
LD A,E
|
||
CP 0x1B
|
||
JR Z,DriveExit
|
||
CP 0x0D
|
||
JR Z,DriveEnter
|
||
OR A
|
||
JR Z,DriveLoop1
|
||
LD A,(NUM_DEVICES)
|
||
LD C,A
|
||
LD A,E
|
||
RES 5,A
|
||
SUB 'A'
|
||
JR C,DriveLoop
|
||
CP C
|
||
JR NC,DriveLoop
|
||
LD (CurDrive),A
|
||
JR DriveEnter
|
||
|
||
DriveLoop1: LD HL,DriveLoop
|
||
PUSH HL
|
||
LD A,D
|
||
CP 0x54
|
||
JR Z,DriveLeft
|
||
CP 0x56
|
||
JR Z,DriveRight
|
||
RET
|
||
|
||
DriveExit:
|
||
WINDOWCLOSE
|
||
POP IY
|
||
JP SetInvert
|
||
|
||
DriveLeft: LD A,(NUM_DEVICES)
|
||
DEC A
|
||
RET Z
|
||
LD A,(CurDrive)
|
||
OR A
|
||
JR NZ,.L1
|
||
LD A,(NUM_DEVICES)
|
||
.L1 DEC A
|
||
PUSH AF
|
||
CALL ResDriveInv
|
||
POP AF
|
||
LD (CurDrive),A
|
||
JP SetDriveInv
|
||
|
||
DriveRight: LD A,(NUM_DEVICES)
|
||
CP 0x01
|
||
RET Z
|
||
LD B,A
|
||
LD A,(CurDrive)
|
||
INC A
|
||
CP B
|
||
JR NZ,.L1
|
||
SUB A
|
||
.L1 PUSH AF
|
||
CALL ResDriveInv
|
||
POP AF
|
||
LD (CurDrive),A
|
||
JP SetDriveInv
|
||
|
||
DriveMouse: LD IX,BegDrive
|
||
LD C,(IX+0x00)
|
||
LD B,(IX+0x01)
|
||
OR A
|
||
SBC HL,BC
|
||
LD BC,0x0012
|
||
LD A,0xFF
|
||
.L1 INC A
|
||
SBC HL,BC
|
||
JR NC,.L1
|
||
JR SetDrive
|
||
|
||
DriveEnter: LD A,(CurDrive)
|
||
SetDrive: LD HL,NewDrive
|
||
ADD A,'A'
|
||
LD (HL),A
|
||
LD (IY+PANEL.CURRPATH),0x00
|
||
WINDOWCLOSE
|
||
EX (SP),IY
|
||
CALL SetInvert
|
||
EX (SP),IY
|
||
LD HL,NewDrive
|
||
CALL NewDIRECTORY
|
||
ld a,0
|
||
AutoActivatePanel EQU $-1
|
||
and a
|
||
jr nz,.old
|
||
bit 7,(IY+0x00)
|
||
jp z,.chPanel
|
||
push ix
|
||
pop hl
|
||
jr .readDir
|
||
|
||
.chPanel: pop iy
|
||
jp ChPanel
|
||
|
||
.old: LD HL,LeftPanel
|
||
BIT 7,(HL)
|
||
JR NZ,.readDir
|
||
LD HL,RightPanel
|
||
.readDir: LD DE,PANEL.CURRPATH
|
||
ADD HL,DE
|
||
SPDSS DSSF.CHDIR
|
||
POP IY
|
||
RET
|
||
|
||
ResDriveInv: LD DE,0x4F80 ; TODO
|
||
LD A,(CurDrive)
|
||
JR DriveInvert
|
||
|
||
SetDriveInv: LD DE,0x804F ; TODO
|
||
LD A,(CurDrive)
|
||
DriveInvert: LD L,A
|
||
LD H,0x00
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD BC,BegDrive
|
||
ADD HL,BC
|
||
PUSH HL
|
||
POP IX
|
||
LD L,(IX + FORMTABL.XMINL)
|
||
LD H,(IX + FORMTABL.XMINH)
|
||
LD C,(IX + FORMTABL.YMINL)
|
||
LD B,(IX + FORMTABL.YMINH)
|
||
LD A,(IX + FORMTABL.XMAXL)
|
||
SUB (IX + FORMTABL.XMINL)
|
||
EX AF,AF'
|
||
LD A,(IX + FORMTABL.YMAXL)
|
||
SUB (IX + FORMTABL.YMINL)
|
||
LD IXH,A
|
||
EX AF,AF'
|
||
SRL A
|
||
LD IXL,A
|
||
JP InvertRectan
|
||
|
||
CurDrive: DEFB 0x00
|
||
Drive: DEFB " ",0
|
||
|
||
IF PLUGS_ENABLE
|
||
GetPlugins: LD HL,WorkBuffer + 0x300 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
SPDSS DSSF.CURDIR
|
||
LD HL,StackTree
|
||
LD (.CURRNAME),HL
|
||
LD HL,FLXDir ; <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
SPDSS DSSF.CHDIR
|
||
LD HL,FLXExt
|
||
LD DE,WorkBuffer + 0x200
|
||
PUSH DE
|
||
SPDSS DSSF.F_FIRST,0, DIR.M_Archive + \
|
||
DIR.M_System + \
|
||
DIR.M_Hidden + \
|
||
DIR.M_ReadOnly
|
||
POP HL
|
||
RET C
|
||
.L1 CALL .ADDFILENAME
|
||
LD DE,WorkBuffer + 0x200
|
||
PUSH DE
|
||
SPDSS DSSF.F_NEXT
|
||
POP HL
|
||
JR NC,.L1
|
||
LD HL,(.CURRNAME)
|
||
LD DE,StackTree
|
||
AND A
|
||
SBC HL,DE
|
||
LD A,L
|
||
SRL H
|
||
RRA
|
||
SRL H
|
||
RRA
|
||
SRL H
|
||
RRA ; A-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
LD HL,StackTree
|
||
LD DE,WorkBuffer + 0x200
|
||
EXX
|
||
LD HL,.ADR00
|
||
LD BC,7
|
||
EXX
|
||
; 㫮<><E3ABAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||
.L2 PUSH DE
|
||
EXX
|
||
POP DE
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
ADD HL,BC
|
||
EXX
|
||
LD BC,8
|
||
LDIR
|
||
EX DE,HL
|
||
LD (HL),B
|
||
INC HL
|
||
EX DE,HL
|
||
DEC A
|
||
JR NZ,.L2
|
||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
MAKEWINDOW WINSUBOBJ.STORE
|
||
W_MAIN 300,20,108,166
|
||
W_FILL 4,2,100,10,COLORI.BLUE
|
||
W_TEXT 40,3,COLORI.WHITE,"Plugins"
|
||
W_ADRTEXT 16,14,COLORP.HIGHGRAY,0
|
||
.ADR00 EQU $-2
|
||
W_ADRTEXT 16,28,COLORP.HIGHGRAY,0
|
||
.ADR01 EQU $-2
|
||
W_ADRTEXT 16,42,COLORP.HIGHGRAY,0
|
||
.ADR02 EQU $-2
|
||
W_ADRTEXT 16,56,COLORP.HIGHGRAY,0
|
||
.ADR03 EQU $-2
|
||
W_ADRTEXT 16,70,COLORP.HIGHGRAY,0
|
||
.ADR04 EQU $-2
|
||
W_ADRTEXT 16,84,COLORP.HIGHGRAY,0
|
||
.ADR05 EQU $-2
|
||
W_ADRTEXT 16,98,COLORP.HIGHGRAY,0
|
||
.ADR06 EQU $-2
|
||
W_ADRTEXT 16,112,COLORP.HIGHGRAY,0
|
||
.ADR07 EQU $-2
|
||
W_ADRTEXT 16,126,COLORP.HIGHGRAY,0
|
||
.ADR08 EQU $-2
|
||
W_ADRTEXT 16,140,COLORP.HIGHGRAY,0
|
||
.ADR09 EQU $-2
|
||
W_ADRTEXT 16,154,COLORP.HIGHGRAY,0
|
||
.ADR10 EQU $-2
|
||
W_BUTTON 30,176,72,14
|
||
W_TEXT 50,179,COLORP.HIGHGRAY,"Cancel"
|
||
W_END
|
||
.Loop LD IX,PluginsTab
|
||
CALL TestCoords
|
||
SPDSS DSSF.SCANKEY
|
||
JR Z,.Loop
|
||
LD A,B
|
||
; AND 0x3F
|
||
; JR Z,SetupLoop0
|
||
BIT 4,B
|
||
JR NZ,.Loop
|
||
; BIT 5,B
|
||
; JR Z,SetupLoop
|
||
; LD HL,SetupLoop
|
||
; PUSH HL
|
||
; LD A,D
|
||
; AND 0x7F
|
||
; CP SC.R
|
||
; JP Z,InputRED
|
||
; CP SC.G
|
||
; JP Z,InputGREEN
|
||
; CP SC.B
|
||
; JP Z,InputBLUE
|
||
RET
|
||
|
||
.ADDFILENAME LD DE,FFIRST.Name
|
||
ADD HL,DE
|
||
LD DE,0
|
||
.CURRNAME EQU $-2
|
||
LD BC,8
|
||
LDIR
|
||
LD (.CURRNAME),DE
|
||
RET
|
||
|
||
SelectPlugin
|
||
.NUM00
|
||
.NUM01
|
||
.NUM02
|
||
.NUM03
|
||
.NUM04
|
||
.NUM05
|
||
.NUM06
|
||
.NUM07
|
||
.NUM08
|
||
.NUM09
|
||
.NUM10
|
||
.CANCEL
|
||
JR $
|
||
|
||
FLXDir: DZ "C:\\FN\\FLX"
|
||
FLXExt: DZ "*.FLX"
|
||
ENDIF
|