If Mouse Zone=1 and Mouse Key Then Y=Y Screen(Y Mouse) : KEEPY1=Y
For I=2 To 21
If Mouse Zone=I and Mouse Key and VIFF=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : FIFF$=FLE$(M) : SCN : DISPLAYIFF : SCN3 : M=M-1 : KEY=4 : Goto REASYLOOK2
If Mouse Zone=I and Mouse Key and VASC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : FASC$=FLE$(M) : SCN : DISPLAYASCII : SCN3 : M=M-1 : KEY=4 : Goto REASYLOOK2
'
If Mouse Zone=I and Mouse Key and AMOSMUSIC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : AMOSMUSIC$=FLE$(M) : MUZIC$=AMOSMUSIC$ : SOUNDSAMOS : M=M-1 : ZP
If Mouse Zone=I and Mouse Key and TRACKERMUSIC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : TRACKERMUSIC$=FLE$(M) : MUZIC$=TRACKERMUSIC$ : SOUNDSTRACKER : M=M-1 : ZP
'If Mouse Zone=I and Mouse Key and MEDMUSIC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : MEDMUSIC$=FLE$(M) : MUZIC$=MEDMUSIC$ : SOUNDSMED : M=M-1 : ZP
If Mouse Zone=I and Mouse Key and FFMUSIC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : FFMUSIC$=FLE$(M) : MUZIC$=FFMUSIC$ : SOUNDSIFF["Music"] : M=M-1 : ZP
If Mouse Zone=I and Mouse Key and RAWMUSIC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : RAWMUSIC$=FLE$(M) : MUZIC$=RAWMUSIC$ : SOUNDSIFF["Music"] : M=M-1 : ZP
If Mouse Zone=I and Mouse Key and MUZIC=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : MUZIC$=FLE$(M) : SOUNDSIFF["Sound"] : M=M-1
'
If Mouse Zone=I and Mouse Key and Instr(L$(X+I-2)," ")=1 Then M=M+1 : GTFILE[1] : L$(X+I-2)=">"+Mid$(Str$(M),2)+"<"+L$(X+I-2)
If Mouse Zone=I and Mouse Key and Instr(L$(X+I-2),"*")=1 Then GTDIREC : DRECTORY1$=DRECTORY$ : RESET1 : WN1DIR : Goto REASYLOOK
Next I
If Mouse Zone=22 and Mouse Key Then ZP : MAKEFSZONES[0] : RESET1 : WN1DIR : Goto REASYLOOK
If Mouse Zone=23 and Mouse Key Then ZP : MAKEFSZONES[0] : Goto WN2
If Mouse Zone=24 and Mouse Key Then MAKEFSZONES[24] : ZP : DRECTORY$=DRECTORY1$ : GTPAR : DRECTORY1$=DRECTORY$ : RESET1 : WN1DIR : Goto REASYLOOK
If Mouse Zone=25 and Mouse Key Then MAKEFSZONES[25] : ZP : GTNEWDRECTORY : DRECTORY1$=DRECTORY$ : RESET1 : WN1DIR : Goto REASYLOOK
If Mouse Zone=26 and Mouse Key Then MAKEFSZONES[26] : ZP : MDIR : MAKEFSZONES[0]
If Mouse Zone=27 and Mouse Key Then MAKEFSZONES[27] : ZP : ERASDIR : MAKEFSZONES[0]
If Mouse Zone=28 and Mouse Key Then MAKEFSZONES[28] : ZP : CPYFILES : MAKEFSZONES[0]
If Mouse Zone=29 and Mouse Key Then MAKEFSZONES[29] : ZP : KLLFILES : MAKEFSZONES[0]
If Mouse Zone=30 and Mouse Key Then MAKEFSZONES[30] : ZP : RETITLE : MAKEFSZONES[0]
If(Mouse Zone=31) and(Mouse Key) and(VIFF=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[31] : VIFF=1
If(Mouse Zone=31) and(Mouse Key) and(VIFF=1) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[0]
If Mouse Zone=32 and Mouse Key Then MAKEFSZONES[32] : ZP : AUTOVIEW : KEY=4 : Goto REASYLOOK2
If Mouse Zone=33 and Mouse Key Then While Mouse Key<>0 : Wend : MAKEFSZONES[33] : ZP : MUSI : MAKEFSZONES[0]
If(Mouse Zone=34) and(Mouse Key) and(MUZIC=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[34] : CLARIFY : MUZIC=1
If(Mouse Zone=34) and(Mouse Key) and(MUZIC=1) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[0]
If(Mouse Zone=35) and(Mouse Key) and(VASC=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[35] : VASC=1
If(Mouse Zone=35) and(Mouse Key) and(VASC=1) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[0]
If Mouse Zone=36 and Mouse Key Then MAKEFSZONES[36] : ZP : BYFREE : MAKEFSZONES[0]
If Mouse Zone=41 and Mouse Key Then MAKEFSZONES[41] : ZP : EXTRA : MAKEFSZONES[0]
If Mouse Zone=42 and Mouse Key Then MAKEFSZONES[42] : ZP : RNFILE : MAKEFSZONES[0]
If Mouse Zone=43 and Mouse Key Then MAKEFSZONES[43] : ZP : GTCOLOUR : MIX : For III=0 To 3 : FSC(III)=Colour(III) : Next III : NWFSC=1 : CB[0]
If Mouse Zone=44 and Mouse Key Then MAKEFSZONES[44] : ZP : HELPSELECTOR : MAKEFSZONES[0]
If Mouse Zone=45 and Mouse Key Then MAKEFSZONES[45] : ZP : SCN : AMOSC : Goto XIT
If Mouse Zone=1 and Mouse Key Then Y=Y Screen(Y Mouse) : KEEPY2=Y
For I=2 To 21
If Mouse Zone=I and Mouse Key and VIFF=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : FIFF$=FLE2$(M2) : SCN : DISPLAYIFF : SCN3 : M2=M2-1 : KEY=5 : Goto REASYLOOK
If Mouse Zone=I and Mouse Key and VASC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : FASC$=FLE2$(M2) : SCN : DISPLAYASCII : SCN3 : M2=M2-1 : KEY=5 : Goto REASYLOOK
'
If Mouse Zone=I and Mouse Key and AMOSMUSIC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : AMOSMUSIC$=FLE2$(M2) : MUZIC$=AMOSMUSIC$ : SOUNDSAMOS : M2=M2-1 : ZP
If Mouse Zone=I and Mouse Key and TRACKERMUSIC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : TRACKERMUSIC$=FLE2$(M2) : MUZIC$=TRACKERMUSIC$ : SOUNDSTRACKER : M2=M2-1 : ZP
'If Mouse Zone=I and Mouse Key and MEDMUSIC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : MEDMUSIC$=FLE2$(M2) : MUZIC$=MEDMUSIC$ : SOUNDSMED : M2=M2-1 : ZP
If Mouse Zone=I and Mouse Key and FFMUSIC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : FFMUSIC$=FLE2$(M2) : MUZIC$=FFMUSIC$ : SOUNDSIFF["Music"] : M2=M2-1 : ZP
If Mouse Zone=I and Mouse Key and RAWMUSIC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : RAWMUSIC$=FLE2$(M2) : MUZIC$=RAWMUSIC$ : SOUNDSIFF["Music"] : M2=M2-1 : ZP
If Mouse Zone=I and Mouse Key and MUZIC=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : MUZIC$=FLE2$(M2) : SOUNDSIFF["Sound"] : M2=M2-1
'
If Mouse Zone=I and Mouse Key and Instr(L2$(X+I-2)," ")=1 Then M2=M2+1 : GTFILE[2] : L2$(X+I-2)=">"+Mid$(Str$(M2),2)+"<"+L2$(X+I-2)
If Mouse Zone=I and Mouse Key and Instr(L2$(X+I-2),"*")=1 Then GTDIREC2 : DRECTORY2$=DRECTORY$ : RESET2 : WN2DIR : Goto REASYLOOK2
Next I
If Mouse Zone=22 and Mouse Key Then ZP : MAKEFSZONES[0] : Goto WN1
If Mouse Zone=23 and Mouse Key Then ZP : MAKEFSZONES[0] : RESET2 : WN2DIR : Goto REASYLOOK2
If Mouse Zone=24 and Mouse Key Then MAKEFSZONES[24] : ZP : GTPAR : DRECTORY2$=DRECTORY$ : RESET2 : WN2DIR : Goto REASYLOOK2
If Mouse Zone=25 and Mouse Key Then MAKEFSZONES[25] : ZP : GTNEWDRECTORY : DRECTORY2$=DRECTORY$ : RESET2 : WN2DIR : Goto REASYLOOK2
If Mouse Zone=26 and Mouse Key Then MAKEFSZONES[26] : ZP : MDIR : MAKEFSZONES[0]
If Mouse Zone=27 and Mouse Key Then MAKEFSZONES[27] : ZP : ERASDIR : MAKEFSZONES[0]
If Mouse Zone=28 and Mouse Key Then MAKEFSZONES[28] : ZP : CPYFILES : MAKEFSZONES[0]
If Mouse Zone=29 and Mouse Key Then MAKEFSZONES[29] : ZP : KLLFILES : MAKEFSZONES[0]
If Mouse Zone=30 and Mouse Key Then MAKEFSZONES[30] : ZP : RETITLE : MAKEFSZONES[0]
If(Mouse Zone=31) and(Mouse Key) and(VIFF=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[31] : VIFF=1
If(Mouse Zone=31) and(Mouse Key) and(VIFF=1) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[0]
If Mouse Zone=32 and Mouse Key Then MAKEFSZONES[32] : ZP : AUTOVIEW : KEY=5 : Goto REASYLOOK
If Mouse Zone=33 and Mouse Key Then While Mouse Key<>0 : Wend : MAKEFSZONES[33] : ZP : MUSI : MAKEFSZONES[0]
If(Mouse Zone=34) and(Mouse Key) and(MUZIC=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[34] : CLARIFY : MUZIC=1
If(Mouse Zone=34) and(Mouse Key) and(MUZIC=1) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[0]
If(Mouse Zone=35) and(Mouse Key) and(VASC=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[35] : VASC=1
If(Mouse Zone=35) and(Mouse Key) and(VASC=1) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[0]
If Mouse Zone=36 and Mouse Key Then MAKEFSZONES[36] : ZP : BYFREE : MAKEFSZONES[0]
If Mouse Zone=41 and Mouse Key Then MAKEFSZONES[41] : ZP : EXTRA : MAKEFSZONES[0]
If Mouse Zone=42 and Mouse Key Then MAKEFSZONES[42] : ZP : RNFILE : MAKEFSZONES[0]
If Mouse Zone=43 and Mouse Key Then MAKEFSZONES[43] : ZP : GTCOLOUR : MIX : For III=0 To 3 : FSC(III)=Colour(III) : Next III : NWFSC=1 : CB[0]
If Mouse Zone=44 and Mouse Key Then MAKEFSZONES[44] : ZP : HELPSELECTOR : MAKEFSZONES[0]
If Mouse Zone=45 and Mouse Key Then MAKEFSZONES[45] : ZP : SCN : AMOSC : Goto XIT
X=KEEPX2 : Y=KEEPY2
If Y>170 Then Y=170
Rem If slider has moved change it
If Y<>YM and Mouse Key=1 : YM=Y : End If
Rem Update display
For I=1 To 20
Locate 2,I : Cline
If(KEY<>1) and(KEY<>4) Then UD[I+1]
Print Left$(L2$(X+I-1),38);
Inverse Off
Next I
VSLIDE[Y]
Rem Double buffering smooths the effect
Screen Swap : Wait Vbl
For I=1 To 20
Locate 2,I
If(KEY<>1) and(KEY<>4) Then UD[I+1]
Print Left$(L2$(X+I-1),38);
Inverse Off
Next I
VSLIDE[Y]
If KEY=1 Then KEY=2 : Goto WN1
If KEY=4 Then KEY=0 : Goto WN1
XIT9:
Loop
XIT:
End Proc
Procedure MAKEFSZONES[PL]
Autoback 1
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
MIT$(24)="Parent"
MIT$(25)="New Directory"
MIT$(26)="Make Dir"
MIT$(27)="Erase Dir"
MIT$(28)="Copy"
MIT$(29)="Delete /!\"
MIT$(30)="Rename"
MIT$(31)="Picture.IFF"
MIT$(32)="AutoView"
MIT$(33)="Music"
MIT$(34)="Sounds"
MIT$(35)="TextASCII"
MIT$(36)="Memory"
MIT$(41)="eXtra"
MIT$(42)="[Run] /!\"
MIT$(43)="Colours"
MIT$(44)="Help"
MIT$(45)="End"
Reserve Zone
Reserve Zone 46
Set Zone 22,112,0 To 200,7
Set Zone 23,432,0 To 520,7
Set Zone 1,0,0 To 10,170
Writing 1
For I=2 To 21
Locate 3,I-1
Print Zone$(" ",I)
Next I
Writing 0
Window 3
For II=24 To 30
CL=3
If II=PL Then CL=1
PBT[5,(II-24),MIT$(II),II,CL]
Next II
For II=31 To 36
CL=3
If II=PL Then CL=1
PBT[21,(II-31),MIT$(II),II,CL]
Next II
For II=41 To 45
CL=3
If II=PL Then CL=1
PBT[41,(II-41),MIT$(II),II,CL]
Next II
Autoback 0
Window SOURCE
Pen 2
XIT:
End Proc
Procedure VSLIDEFS[Y]
Set Slider 0,1,3,1,0,3,3,1
Vslider 0,0 To 10,170,170,Y,5
End Proc
'
Procedure GTFILE[TIPE]
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Rem Assuming file {L$(X+I-2)} has no 'double-space' !
If TIPE=1
POSN=Instr(L$(X+I-2)," ")
LL$=Left$(L$(X+I-2),POSN-1)
End If
If TIPE=2
POSN=Instr(L2$(X+I-2)," ")
LL$=Left$(L2$(X+I-2),POSN-1)
End If
POSN=Instr(LL$," ") : LL$=Mid$(LL$,POSN+1)
If(TIPE=1) and(Right$(DRECTORY$,1)=":") Then FLE$(M)=DRECTORY$+LL$ : Goto XIT
If(TIPE=1) and(Right$(DRECTORY$,1)<>":") Then FLE$(M)=DRECTORY$+"/"+LL$ : Goto XIT
If(TIPE=2) and(Right$(DRECTORY$,1)=":") Then FLE2$(M2)=DRECTORY$+LL$ : Goto XIT
If(TIPE=2) and(Right$(DRECTORY$,1)<>":") Then FLE2$(M2)=DRECTORY$+"/"+LL$ : Goto XIT
XIT:
End Proc
Procedure GTDIREC
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Rem Assuming directory has no 'double space' !
POSN=Instr(L$(X+I-2)," ")
If Right$(DRECTORY$,1)=":" Then DRECTORY$=DRECTORY$+Mid$(L$(X+I-2),2,POSN-2) : Goto XIT
If Right$(DRECTORY$,1)<>":" Then DRECTORY$=DRECTORY$+"/"+Mid$(L$(X+I-2),2,POSN-2)
XIT:
End Proc
Procedure GTDIREC2
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Rem Assuming directory has no 'double space' !
POSN=Instr(L2$(X+I-2)," ")
If Right$(DRECTORY$,1)=":" Then DRECTORY$=DRECTORY$+Mid$(L2$(X+I-2),2,POSN-2) : Goto XIT
If Right$(DRECTORY$,1)<>":" Then DRECTORY$=DRECTORY$+"/"+Mid$(L2$(X+I-2),2,POSN-2)
XIT:
End Proc
Procedure GTPAR
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
If Right$(DRECTORY$,1)=":" Then Goto XIT
POSION=Instr(Flip$(DRECTORY$),"/")
POSION2=Instr(Flip$(DRECTORY$),":")
If POSION<>0 Then DRECTORY$=Left$(DRECTORY$,Len(DRECTORY$)-POSION)
If POSION=0 Then DRECTORY$=Left$(DRECTORY$,Len(DRECTORY$)-POSION2+1)
XIT:
End Proc
Procedure GTNEWDRECTORY
Dim DIT$(11)
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 1,320,56,4,Hires
Screen Display 1,200,100,320,56
Curs Off : Cls 1 : Colour 0,$70
Print : Centre "Select New Directory"
DIT$(1)="DF0:"
DIT$(2)="DF1:"
DIT$(3)="DH0:"
DIT$(4)="DH1:"
DIT$(5)="DH2:"
DIT$(6)="DH3:"
DIT$(7)="DH4:"
DIT$(8)="DH5:"
DIT$(9)="DH6:"
DIT$(10)="DH7:"
DIT$(11)="Other"
Reserve Zone
Reserve Zone 11
Paper 0 : Locate 0,3
For II=1 To 6
If Exist(DIT$(II)) Then Cright : Print Zone$(DIT$(II),II);
Next II
Locate 0,5
For II=7 To 10
If Exist(DIT$(II)) Then Cright : Print Zone$(DIT$(II),II);
Next II
Locate 30,5
Print Zone$(DIT$(11),11)
Do
For I=1 To 10
If Mouse Zone=I and Mouse Key
If Exist(DIT$(I))
DRECTORY$=DIT$(I) : Dir$=DIT$(I) : Goto XIT
End If
End If
Next I
If Mouse Zone=11 and Mouse Key Then Exit
Loop
Cls 1 : Paper 1 : Home
Locate 0,2 : Centre "Directory Change"
RETRY:
Locate 0,4 : Input " Enter New Directory ";DRECTORY3$
If(DRECTORY3$="") or(DRECTORY3$=":") Then Goto XIT
If Instr(DRECTORY3$,":")=0 Then Cls : Locate 0,1 : Centre "Error - No ':' detected" : Goto RETRY
If Right$(DRECTORY3$,1)="/" Then DRECTORY3$=Left$(DRECTORY3$,Len(DRECTORY3$)-1)
If Not Exist(DRECTORY3$) Then Cls : Locate 0,1 : Centre "Directory Not Found" : Goto RETRY
DRECTORY$=DRECTORY3$
XIT:
Screen Close 1
End Proc
Procedure CPYFILES
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
If SOURCE=1
For III=1 To M
Erase 6
F$=FLE$(III)
ALTERF$
If Right$(DRECTORY2$,1)=":"
G$=DRECTORY2$+F$
End If
If Right$(DRECTORY2$,1)<>":"
G$=DRECTORY2$+"/"+F$
End If
Open In 1,FLE$(III) : LFILE=Lof(1) : Close 1
Reserve As Work 6,LFILE
Bload FLE$(III),Start(6)
Bsave G$,Start(6) To Start(6)+LFILE
Next III
End If
If SOURCE=2
For III=1 To M2
Erase 6
F$=FLE2$(III)
ALTERF$
If Right$(DRECTORY1$,1)=":"
G$=DRECTORY1$+F$
End If
If Right$(DRECTORY1$,1)<>":"
G$=DRECTORY1$+"/"+F$
End If
Open In 1,FLE2$(III) : LFILE=Lof(1) : Close 1
Reserve As Work 6,LFILE
Bload FLE2$(III),Start(6)
Bsave G$,Start(6) To Start(6)+LFILE
Next III
End If
XIT:
Erase 6
End Proc
Procedure KLLFILES
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 1,320,48,4,Hires
Screen Display 1,200,100,320,48
Curs Off : Cls 1 : Flash Off : Colour 3,$FF0
Print : Centre "/!\ All Marked Files Will be Deleted /!\"
Print : Print
Reserve Zone
Reserve Zone 2
Pen 3
Locate 10,3 : Print Border$(Zone$("Confirm",1),1)
Locate 25,3 : Print Border$(Zone$("Cancel",2),1)
Do
If Mouse Zone=2 and Mouse Key Then Screen Close 1 : Goto XIT
If Mouse Zone=1 and Mouse Key Then Screen Close 1 : Exit
Loop
If SOURCE=1
For III=1 To M
Kill FLE$(III)
Next III
End If
If SOURCE=2
For III=1 To M2
Kill FLE2$(III)
Next III
End If
XIT:
End Proc
Procedure RETITLE
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
FG$=FF$
Dir$=FF$
RETIT:
FILESELECTQZ[FG$,"SWITCH"," Select File to Retitle"," Quit to Leave "]