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 BV=1 and X+I-2<N+1 Then M=M+1 : GTFILE[1] : J$(X+I-2)=FLE$(M) : SCN : PROG$="PE" : DISPLAY : PROG$="FS" : SCN3 : M=M-1 : KEY=4 : Goto REASYLOOK2
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) and(BV=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[41] : BV=1
If(Mouse Zone=41) and(Mouse Key) and(BV=1) Then ZP : While Mouse Key<>0 : Wend : 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 : 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 BV=1 and X+I-2<N2+1 Then M2=M2+1 : GTFILE[2] : J$(X+I-2)=FLE2$(M2) : SCN : PROG$="PE" : DISPLAY : PROG$="FS" : SCN3 : M2=M2-1 : KEY=5 : Goto REASYLOOK
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) and(BV=0) Then ZP : While Mouse Key<>0 : Wend : MAKEFSZONES[41] : BV=1
If(Mouse Zone=41) and(Mouse Key) and(BV=1) Then ZP : While Mouse Key<>0 : Wend : 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 : 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
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)="Text ASCII"
MIT$(36)="Memory"
MIT$(41)="ViewPage"
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
Rem Display a slider bar using the Vslider command
Vslider 0,0 To 10,170,170,Y,5
End Proc
'
Procedure HELPSELECTOR
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 2,640,256,4,Hires
Curs Off : Paper 0 : Cls 0
Colour 1,$FF0 : Set Tab 7
Print
Print : Centre "***** HELP *****"
Print : Centre " Selector - Multiple File Handler"
Print : Print
Print Tab$+" Files - Delete,Rename,Copy Files"
Print Tab$+" - use NoteBook to Delete or Copy Single Files"
If Key State(37)=True Then Hide On : While Key State(37)=True : Wend : Clear Key : Wait 50 : While(Inkey$="") and(Mouse Key=0) and(Key Shift=0) : Wend : While Scancode=37 : Clear Key : Wait 9 : Wend : Show On
Wend
If Mouse Key=1 Then Exit
If KK$<>"" Then Goto NCH
If Choice(1)=1 and Choice(2)=1 Then PRNTOUT[0]
If Choice(1)=1 and Choice(2)=2 Then Exit
NCH:
S=Scancode
CN=Screen Colour
If Key State(95)=True Then HELPSELECTOR : Goto BEGINNINGS
If Key State(90)=True Then PCL=(PCL+1) mod CN : Pen PCL : Goto BEGINNINGS
If Key State(82)=True Then PCL=(PCL+1) mod CN : Pen PCL : Goto BEGINNINGS
If Key State(24)=True Then PCL=(PCL+1) mod CN : Pen PCL : Goto BEGINNINGS
If Key State(93)=True Then PRNTOUT[0] : Goto BEGINNINGS
If Key State(87)=True Then PRNTOUT[0] : Goto BEGINNINGS
If S=29 Then Exit
If S=86 Then Exit
If S=93 Then PRNTOUT[0]
If S=87 Then PRNTOUT[0]
Loop
XIT:
SCN
End Proc
Procedure DISPLAYASCII
TALKING=0
On Error Goto ER
Goto OK
ER:
TALKING=0
ERR
Resume XIT
OK:
If Exist(FASC$) Then Goto OK2
Cls 0
Locate 0,8
Centre "File"
Locate 0,10
Centre FASC$
Print
Print
Centre "does not exist"
Wait 50
While Mouse Key<>1 : Wend
Goto XIT
OK2:
Screen Open 0,640,256,2,Hires
Curs Off : Colour 1,$FF0 : Cls 0
Wait 25
While Mouse Key<>0 : Wend
TLK:
Cls 0
Open In 1,FASC$
Rem Old NoteBook Codes could be Page Numbers - so next four lines ignored !
' If Lof(1)>=3 Then A$=Input$(1,3) : If(Instr("12",Mid$(A$,1,1))<>0) and(Instr("01",Mid$(A$,2,1))<>0) and Asc(Mid$(A$,3,1))=13 Then Pof(1)=3 : LFILE=Lof(1)-3 : Goto OK3
' Pof(1)=0
' If Lof(1)>=5 Then A$=Input$(1,5) : If(Instr("12",Mid$(A$,2,1))<>0) and(Instr("01",Mid$(A$,4,1))<>0) and Asc(Mid$(A$,5,1))=13 Then Pof(1)=5 : LFILE=Lof(1)-5 : Goto OK3
' Pof(1)=0
If Lof(1)>=16 Then A$=Input$(1,16) : If(Mid$(A$,1,13)="*NB*NB*NB*NB*") Then Pof(1)=16 : LFILE=Lof(1)-16 : Goto OK3
Pof(1)=0
If Lof(1)>=13 Then A$=Input$(1,13) : If(Mid$(A$,1,10)="*NB*NB*NB*") Then Pof(1)=13 : LFILE=Lof(1)-13 : Goto OK3
Pof(1)=0 : LFILE=Lof(1)
OK3:
COUNTMAX=LFILE/400
COUNT=0
While Mouse Key<>0 : Wend
COUNTMKR=0
Do
If COUNTMKR=1 Then COUNTMKR=0 : Exit
COUNT=COUNT+1
LREM=400
If COUNT>COUNTMAX Then LREM=LFILE-400*COUNTMAX : COUNTMKR=1
A$=Input$(1,LREM)
For I=1 To LREM
If Asc(Mid$(A$,I,1))=10 Then Print Chr$(10);Chr$(13); : Goto XX
If Asc(Mid$(A$,I,1))<=31 Then Goto XX
If(X Curs>70) and(Mid$(A$,I,1)=" ") and(Instr(Mid$(A$,I+1,80-X Curs)," ")=0) Then Print Chr$(10);Chr$(13); : Goto XX
If(X Curs=0) and(Mid$(A$,I,1)=" ") and(Mid$(A$,I+1,1)<>" ") Then Goto XX
Print Mid$(A$,I,1);
If TALKING=1 Then SY$=SY$+Mid$(A$,I,1)
XX:
If Y Curs>30 Then While Mouse Key<>1 : Wend : While Mouse Key<>0 : Wend : For J=1 To 27 : Print : Next J : Cmove 0,-27
Next I
If TALKING=1 Then Say SY$ : SY$=""
Clear Key
While Mouse Key=0
If Key State(95)=True Then HELPSELECTOR
Wend
If Mouse Key=2 Then Exit
Loop
Close 1
Wait 50
Print : Print : Centre "!!!!!!!!! End !!!!!!!!!"
Print : Centre "( Right Mouse - Menu : Left Mouse - Exit )"
Wait 50
BEGINNINGS:
Pen 1 : Paper 0
Menu Del
Menu$(1)=" Options "
Menu$(1,1)=" Print "
''''''''''''''''''''''''''''''
On Error Goto ERSAY
Goto OKSAY
ERSAY:
Resume NOSAY
OKSAY:
Set Talk ,,,
Menu$(1,2)=" Say "
NOSAY:
'''''''''''''''''''''''''''''
' Menu$(1,2)=" Say "
Menu$(1,3)=" End "
Do
TALKING=0
KK$=""
Menu Off
Menu On
While Mouse Key<>1 and Choice<>-1
Wend
If Mouse Key=1 Then Exit
If KK$<>"" Then Goto NCH
If Choice(1)=1 and Choice(2)=1 Then PRASC
If Choice(1)=1 and Choice(2)=2 Then TALK
If TALKING=1 Then Home : Goto TLK
If Choice(1)=1 and Choice(2)=3 Then Exit
NCH:
Loop
XIT:
End Proc
Procedure PRASC
Open In 1,FASC$
Open Port 2,"PRT:"
Rem Old NoteBook Codes could be Page Numbers - so next four lines ignored !
' If Lof(1)>=3 Then A$=Input$(1,3) : If(Instr("12",Mid$(A$,1,1))<>0) and(Instr("01",Mid$(A$,2,1))<>0) and Asc(Mid$(A$,3,1))=13 Then Pof(1)=3 : LFILE=Lof(1)-3 : Goto OK3
' Pof(1)=0
' If Lof(1)>=5 Then A$=Input$(1,5) : If(Instr("12",Mid$(A$,2,1))<>0) and(Instr("01",Mid$(A$,4,1))<>0) and Asc(Mid$(A$,5,1))=13 Then Pof(1)=5 : LFILE=Lof(1)-5 : Goto OK3
' Pof(1)=0
If Lof(1)>=16 Then A$=Input$(1,16) : If(Mid$(A$,1,13)="*NB*NB*NB*NB*") Then Pof(1)=16 : LFILE=Lof(1)-16 : Goto OK3
Pof(1)=0
If Lof(1)>=13 Then A$=Input$(1,13) : If(Mid$(A$,1,10)="*NB*NB*NB*") Then Pof(1)=13 : LFILE=Lof(1)-13 : Goto OK3
Pof(1)=0 : LFILE=Lof(1)
OK3:
COUNTMAX=LFILE/400
COUNT=0
While Mouse Key<>0 : Wend
COUNTMKR=0
Do
If COUNTMKR=1 Then COUNTMKR=0 : Exit
COUNT=COUNT+1
LREM=400
If COUNT>COUNTMAX Then LREM=LFILE-400*COUNTMAX : COUNTMKR=1
A$=Input$(1,LREM)
For I=1 To LREM
If Asc(Mid$(A$,I,1))=10 Then Print #2,Chr$(10);Chr$(13); : Goto XX
If(X Curs>70) and(Mid$(A$,I,1)=" ") and(Instr(Mid$(A$,I+1,80-X Curs)," ")=0) Then Print #2,Chr$(10);Chr$(13); : Goto XX
If(X Curs=0) and(Mid$(A$,I,1)=" ") and(Mid$(A$,I+1,1)<>" ") Then Goto XX
Print #2,Mid$(A$,I,1);
XX:
Next I
Loop
Close 1
Close 2
XIT:
End Proc
Procedure TALK
TALKING=0
Clear Key
On Error Goto ER
Goto OK
ER:
TALKING=0
ERR
Resume XIT
OK:
Screen Open 1,320,56,4,Hires
Screen Display 1,200,100,320,56
Curs Off : Cls 1
Print : Centre "Enter TALK parameters"
Print
Input " Sex Male(0) Female(1) ";S1
Input " Mode Normal(0) Rythmic(1) ";S2
Input " Pitch Low(65) - High(320) ";S3
Input " Speed Words/Minute 40 - 400 ";S4;
Curs Off
Screen Close 1
If(S1<>0) and(S1<>1) Then S1=0
If(S2<>0) and(S2<>1) Then S2=0
If(S3>320) or(S3<65) Then S3=150
If(S4<40) or(S4>400) Then S4=150
Set Talk S1,S2,S3,S4
TALKING=1
XIT:
End Proc
Procedure AUTOVIEW
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 : Colour 2,$A
Reserve Zone
Reserve Zone 5
Pen 3
Print : Centre "Time"
MN#=0 : SE#=30
Do
Paper 1 : Locate 2,3 : Print "Mins";
Paper 2 : Locate 7,3 : Print MN#;" ";
Locate 12,3 : Print Zone$(Chr$(147)+Chr$(148),1);
Locate 18,3 : Print Zone$(Chr$(149)+Chr$(150),2);
Paper 1 : Locate 2,4 : Print "Secs";
Paper 2 : Locate 7,4 : Print SE#;" ";
Locate 12,4 : Print Zone$(Chr$(147)+Chr$(148),3);
Locate 18,4 : Print Zone$(Chr$(149)+Chr$(150),4);
Locate 25,4 : Print Zone$("Exit",5);
If Mouse Zone=1 and Mouse Key Then MN#=MN#+1 : Wait 10 : If MN#>60 Then MN#=60
If Mouse Zone=2 and Mouse Key Then MN#=MN#-1 : Wait 10 : If MN#<0 Then MN#=0
If Mouse Zone=3 and Mouse Key Then SE#=SE#+1 : Wait 10 : If SE#>60 Then SE#=60
If Mouse Zone=4 and Mouse Key Then SE#=SE#-1 : Wait 10 : If SE#<0 Then SE#=0
If Mouse Zone=5 and Mouse Key Then Exit
Loop
WT#=SE#*50+MN#*60*50
WT=1+Int(WT#)
Screen Close 1
SCN
Do
If SOURCE=1
H=0
For III=1 To M
Load Iff FLE$(III),0
For IJ=1 To WT
Wait Vbl
If Mouse Key=1 : Goto XIT : End If
KH$=Inkey$
If(KH$="H") or(KH$="h")
H=H+1
If H mod 2=1
Hide
Else Show
End If
While Inkey$<>"" : Wend : Clear Key
End If
Next IJ
Next III
End If
If SOURCE=2
H=0
For III=1 To M2
Load Iff FLE2$(III),0
For IJ=1 To WT
Wait Vbl
If Mouse Key=1 : Goto XIT : End If
KH$=Inkey$
If(KH$="H") or(KH$="h")
H=H+1
If H mod 2=1
Hide
Else Show
End If
While Inkey$<>"" : Wend : Clear Key
End If
Next IJ
Next III
End If
Loop
XIT:
Clear Key
Show
SCN3
End Proc
Procedure RNFILE
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
Centre "/!\ Current Program will be Lost /!\"
Print : Centre "FOR COMPILED AMOS PROGRAMS"
Print : Centre "Eg ScrapBook,NoteBook,Evaluator"
Reserve Zone
Reserve Zone 2
Pen 3
Locate 10,4 : Print Border$(Zone$("Confirm",1),1)
Locate 25,4 : 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
FILESELECTQZ[DRECTORY$,"SWITCH","Select New Program",""]
If F$="" Then Goto XIT
Run F$
Wait 50
XIT:
End Proc
'
Procedure MUSI
MM=MM+1
If(MM mod 2)<>1
Music Off : Track Stop : Erase 3 : Erase 7
Goto XIT
End If
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 : Colour 0,$77
Print : Centre "*** Music ***"
Reserve Zone
Reserve Zone 6
Paper 0
Locate 1,3 : Print Zone$("Amos",1)
Locate 7,3 : Print Zone$("Tracker",2)
Rem Locate 16,3 : Print Zone$("Med",3)
Locate 21,3 : Print Zone$("IFF",4)
Locate 26,3 : Print Zone$("Raw",5)
Locate 33,3 : Print Zone$("Quit",6)
Do
If Mouse Zone=1 and Mouse Key Then AMOSMUSIC=1 : Exit
If Mouse Zone=2 and Mouse Key Then TRACKERMUSIC=1 : Exit
If Mouse Zone=3 and Mouse Key Then MEDMUSIC=1 : Exit
If Mouse Zone=4 and Mouse Key Then FFMUSIC=1 : Exit
If Mouse Zone=5 and Mouse Key Then RAWMUSIC=1 : Exit
If Mouse Zone=6 and Mouse Key Then Exit
Loop
Screen Close 1
XIT:
End Proc
Procedure SOUNDSAMOS
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 1,320,64,4,Hires
Screen Display 1,200,100,320,64
Curs Off : Cls 1 : Colour 0,$77
Paper 0
Locate 0,3 : Centre "AMOS Music Player"
On Error Goto ER2
Goto OK2
ER2:
Erase 3
Screen Close 1
CLEAN_UP
ERR
Resume XIT
OK2:
Load MUZIC$
Music 1
Cls 1 : Home
Paper 1 : Locate 0,2 : Centre "Keep Parameters ?"
Reserve Zone
Reserve Zone 2
Paper 0
Locate 13,4 : Print Zone$("Yes",1)
Locate 24,4 : Print Zone$("No",2)
Do
If Mouse Zone=1 and Mouse Key Then Goto XIT2
If Mouse Zone=2 and Mouse Key Then Goto MPRMS
Loop
MPRMS:
Paper 1 : Cls : Home : Print : Centre "Sound & Music"
Print : Centre "To Keep Parameters Press [Enter]"
Print : Input " Tempo 1-100 ? ";SS
If(SS>=1) and(SS<=100)
Tempo SS
End If
Input " Volume 1-63 ? ";VV
If(VV>=1) and(VV<=63)
Mvolume VV
End If
Clear Key
Print : Input " OK (y/n) ? ";O$
If(O$="Y") or(O$="y") or(O$="")
Goto XIT2
End If
Goto MPRMS
XIT2:
Screen Close 1
XIT:
End Proc
Procedure SOUNDSTRACKER
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 1,320,64,4,Hires
Screen Display 1,200,100,320,64
Curs Off : Cls 1 : Colour 0,$77
Paper 0
Locate 0,3 : Centre "Tracker Music Player"
On Error Goto ER2
Goto OK2
ER2:
Erase 3
Screen Close 1
CLEAN_UP
ERR
Resume XIT
OK2:
Track Loop On
Track Load MUZIC$,3
Track Play 3
Wait 200
Screen Close 1
XIT:
End Proc
'
Procedure CLARIFY
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 : Colour 0,$77
Cls 1 : Music Off : Track Stop : Erase 3 : MM=0 : Erase 7 : CLEAN_UP
Paper 0
Print : Print : Centre "RAW / IFF Sound Player"
Wait 100
Screen Close 1
XIT:
End Proc
Procedure SOUNDSIFF[TIPE$]
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 1,320,64,4,Hires
Screen Display 1,200,100,320,64
Curs Off : Cls 1 : Colour 0,$77
If TIPE$="Sound" Then MM=0
Music Off : Track Stop : Erase 3 : Erase 7
Paper 0
Locate 0,3 : Centre "RAW / IFF "+TIPE$+" Player"
On Error Goto ER2
Goto OK2
ER2:
Screen Close 1
ERR
Resume XIT
OK2:
Open In 1,MUZIC$
LMUSF=Lof(1)
Close 1
CLEAN_UP
If Chip Free<LMUSF-10000 Then Screen Close 1 : ERR : Goto XIT
Reserve As Chip Work 7,LMUSF
Bload MUZIC$,Start(7)
FIRST=Hunt(Start(7) To Start(7)+50,"FORM")
If FIRST=Start(7) Then FQ=Deek(Start(7)+32)
If(FQ<3000) or(FQ>50000) Then ERR : FQ=12000
Sam Loop On
Volume VL
VC=0 : For I=1 To 4 : VC=VC+Instr("1",Mid$(VC$,I,1))*2^(4-I) : Next I
Sam Raw VC,Start(7),Length(7),FQ
Paper 1 : Cls 1 : Home
If FIRST=Start(7) Then Locate 0,1 : Centre "IFF"
If FIRST<>Start(7) Then Locate 0,1 : Centre "RAW"
Locate 0,2 : Centre "Keep Parameters ?"
Paper 0
Reserve Zone
Reserve Zone 2
Paper 0
Locate 13,4 : Print Zone$("Yes",1)
Locate 24,4 : Print Zone$("No",2)
Do
If Mouse Zone=1 and Mouse Key Then Screen Close 1 : Goto XIT
If Mouse Zone=2 and Mouse Key Then Goto GPRMS
Loop
GPRMS:
R$="y"
'
On Error Goto ER1
Goto PRMS
ER1:
Screen Hide 1
ERR
Screen Show 1
VLL=VL : VCC$=VC$ : FQQ=FQ
Volume VLL
Sam Raw VCC,Start(7),Length(7),FQQ
Resume PRMS
'
PRMS:
Paper 1 : Cls 1 : Home
If FIRST=Start(7) Then Centre "Iff Sound & Music"
If FIRST<>Start(7) Then Centre "Raw Sound & Music"
Print Tab$+" Print - Text - Print page(s) to printer"
Print
Print Tab$+" Page(s) - New - Enter new (set of) notes"
Print Tab$+" - Load - Load a (set of) pages"
Print
Print Tab$+" Colour - Select Colours for Text Display"
Print
Print Tab$+" Files - L.Amiga A toggles WB for Format,Disk Copy etc"
Print
Ink 3 : Box 20,1 To 600,235
While Mouse Key<>0 : Wend
While Key State(90)=True : Wend
Do : Exit If(Mouse Key=1) or(Key State(95)=True) : Loop
Clear Key
Screen Close 2
Wait 50
XIT:
End Proc
Procedure HELPTXT
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Screen Open 2,640,256,4,Hires
Curs Off : Paper 0 : Cls 0
Flash Off : Colour 3,$FF0
Set Tab 10
Print
Print Tab$+" ***** HELP *****"
Print
Print Tab$+" Options ";
Print " Save Text - Save pages"
Set Tab 19
Print Tab$+" Print Text - Print page(s) to printer"
Print Tab$+" New - Create new page(s)"
Print Tab$+" Load Text - Load new pages"
Print Tab$+" Quit - [End][F7] - (Save) & Exit"
Set Tab 10
Print Tab$+" Page ";
Print "Forward - [PgDn][F2],- Next Page"
Set Tab 19
Print Tab$+" Back - [PgUp][F1] - Previous Page"
Print Tab$+" Insert Blank, after - Insert a blank page"
Print Tab$+" Delete - Delete current page"
Print Tab$+" Merge, after - Merge pages in "
Set Tab 10
Print Tab$+" Lines ";
Print " Insert, before - [Ins][F4] - Insert a line before"
Set Tab 19
Print Tab$+" Delete - [Del][F5] - Delete current line"
Print Tab$+" WrapRound - Yes - Select Number of lines"
Print Tab$+" - No - No WrapRound"
Set Tab 10
Print Tab$+" Colour ";
Print " Pen - Select Colour "
Set Tab 19
Print Tab$+" Paper - Select Colour "
Print Tab$+" Remix - Change current colours"
Print Tab$+" Palette - Save - Save current colours in memory"
Print Tab$+" Use - Use colours saved to memory"
Pen 3
Set Tab 10
Print
Print Tab$+" Steady (or Double Click) Left Mouse to save or quit a page"
Print Tab$+" Quick Left Mouse click to position cursor"
Print Tab$+" [Home][F6] - Cursor to Start"
Pen 2
Print
Print Tab$+" Max pages in group = 10"
Ink 3 : Box 20,1 To 600,235
While Mouse Key<>0 : Wend
While Key State(90)=True : Wend
Do : Exit If(Mouse Key=1) or(Key State(95)=True) : Loop
Clear Key
Screen Close 2
Wait 50
XIT:
End Proc
'
Procedure TXTNEW[PRTYPE,SVETYPE]
TXTNEWMARKER$="yes"
NEWSTART:
If PLTYPE$=""
WRAP$="No" : Cls : PAGE=1 : LEAF=1
PL=27*(FAC+1)+3*FAC : Rem Page length
LW=34*FR+6*(FR-1) : Rem Line width
End If
NEWPAGE:
If PLTYPE$=""
If PMAX<PAGE : PMAX=PAGE : End If
If MARKER=2 : Goto UNDESIRED : End If
Paper PC : Pen PNC
LEAF=PAGE
Wind Open LEAF,0,0,39*FR,30*(FAC+1),1
End If
If PRTYPE=1 Then PLTYPE$="" : Locate 1,1 : TXPR : KK$="" : Wind Close : Goto XTXTNEW
If PLTYPE$=""
Home : For I=1 To PL : Print " ";TX$(LEAF,I) : Next I : Locate 1,1
End If
PLTYPE$=""
MISSOUT:
Menu Del
Menu$(1)=" Options "
Menu$(1,1)=" Save Text "
Menu$(1,2)=" Print Text "
Menu$(1,3)=' New '
Menu$(1,3,1)=" Large print "
Menu$(1,3,2)=" Half-large "
Menu$(1,3,3)=" Small print "
Menu$(1,3,4)=" Half-small "
Menu$(1,4)=" Load Text "
Menu$(1,5)=" Quit "
Menu$(1,6)=" Help "
Menu$(2)=" Page "
Menu$(2,1)=" Forward "
Menu$(2,2)=" Back "
Menu$(2,3)=" Insert Blank, after "
Menu$(2,4)=" Delete "
Menu$(2,5)=" Merge, after "
Menu$(3)=" Lines "
Menu$(3,1)=" Insert, before "
Menu$(3,2)=" Delete "
Menu$(3,3)=" WrapRound "
Menu$(3,3,1)=" Yes "
Menu$(3,3,2)=" No "
Menu$(4)=" Colour "
Menu$(4,1)=" Pen "
Menu$(4,2)=" Paper "
Menu$(4,3)=" Remix "
Menu$(4,4)=" Palette "
Menu$(4,4,1)=" Save "
Menu$(4,4,2)=" Use "
Rem Create a colour bar
For C=1 To 8
D=C-1
Menu$(4,1,C)="(IN 1,"+Str$(D)-""+")(BA 20,10)"
Menu$(4,2,C)="(IN 1,"+Str$(D)-""+")(BA 20,10)"
Menu$(4,3,C)="(IN 1,"+Str$(D)-""+")(BA 20,10)"
Next C
Do
Menu Off
Menu On
JUDGEMENT=0
While KK$="" and Choice<>-1 and Mouse Key<>1
KK$=Inkey$
Wend
If Mouse Key=1 Then JUDGEMENT=1 : Wait 10 : If Mouse Key=1 and SVETYPE=2 Then Goto XXTXTNEW
If Mouse Key=1 Then JUDGEMENT=1 : Wait 10 : If Mouse Key=1 and SVETYPE<>2 Then Goto XTXTNEW
If JUDGEMENT=1 Then Locate X Text(X Screen(X Mouse)),Y Text(Y Screen(Y Mouse)) : Goto LEAVE
If KK$<>"" Then Goto NCH
If Choice(1)=1 and Choice(2)=1 Then TXTSAVE : KK$="" : Goto MISSOUT
If Choice(1)=1 and Choice(2)=2 Then KEEPPAGE=PAGE : TXPR : KK$="" : Wind Close : PAGE=KEEPPAGE : Goto NEWPAGE
If Choice(1)=1 and Choice(2)=3 and Choice(3)=1 Then FR=1 : FAC=0 : SCN : For PAGE=1 To PMAX : For I=1 To PL : TX$(PAGE,I)="" : Next I : Next PAGE : PMAX=1 : Goto NEWSTART
If Choice(1)=1 and Choice(2)=3 and Choice(3)=2 Then FR=1 : FAC=1 : SCN : For PAGE=1 To PMAX : For I=1 To PL : TX$(PAGE,I)="" : Next I : Next PAGE : PMAX=1 : Goto NEWSTART
If Choice(1)=1 and Choice(2)=3 and Choice(3)=3 Then FR=2 : FAC=0 : SCN : For PAGE=1 To PMAX : For I=1 To PL : TX$(PAGE,I)="" : Next I : Next PAGE : PMAX=1 : Goto NEWSTART
If Choice(1)=1 and Choice(2)=3 and Choice(3)=4 Then FR=2 : FAC=1 : SCN : For PAGE=1 To PMAX : For I=1 To PL : TX$(PAGE,I)="" : Next I : Next PAGE : PMAX=1 : Goto NEWSTART
If Choice(1)=1 and Choice(2)=4 Then KK$="" : For PAGE=1 To PMAX : For I=1 To PL : TX$(PAGE,I)="" : Next I : Next PAGE : TXTLOAD : SCN : Goto NEWSTART
If Choice(1)=1 and Choice(2)=5 and SVETYPE=2 Then KK$="" : Goto XXTXTNEW
If Choice(1)=1 and Choice(2)=5 and SVETYPE<>2 Then KK$="" : Goto XTXTNEW
If Choice(1)=1 and Choice(2)=6 Then HELPTXT : Goto LEAVE
If Choice(1)=2 and Choice(2)=1 and PAGE=PMAX Then KK$="" : Locate 0,0 : Centre "Last Page !" : Curs Off : Wait 100 : Cline : Locate 1,1 : Curs On : Goto LEAVE
If Choice(1)=2 and Choice(2)=1 Then PAGE=PAGE+1 : KK$="" : Wind Close : Goto NEWPAGE
If Choice(1)=2 and Choice(2)=2 and PAGE>1 Then PAGE=PAGE-1 : KK$="" : Wind Close : Goto NEWPAGE
If Choice(1)=2 and Choice(2)=2 and PAGE=1 Then KK$="" : Locate 0,0 : Centre "First Page !" : Curs Off : Wait 100 : Cline : Locate 1,1 : Curs On : Goto LEAVE
If Choice(1)=2 and Choice(2)=3 Then INSERTPAGE : Goto LEAVE : Rem Wind Close : Goto NEWPAGE
If Choice(1)=2 and Choice(2)=4 Then OMITPAGE : Goto LEAVE
If Choice(1)=2 and Choice(2)=5 Then MERGEPAGES : Goto LEAVE
If Choice(1)=3 and Choice(2)=1 Then INSERTLINE : Goto LEAVE
If Choice(1)=3 and Choice(2)=2 Then OMITLINE : Goto LEAVE
If Choice(1)=3 and Choice(2)=3 and Choice(3)=1 Then WRAP$="Yes" : WRAPLINES : Goto LEAVE
If Choice(1)=3 and Choice(2)=3 and Choice(3)=2 Then WRAP$="No" : Goto LEAVE
Rem For the Colour Menu
If Choice(1)=4 and Choice(2)=1 Then CR=Choice(3) : DR=CR-1 : PNC=DR : Pen PNC : Memorize X : Memorize Y : Clw : For I=1 To PL : Print " ";TX$(PAGE,I) : Next I : Remember X : Remember Y : Goto MISSOUT
If Choice(1)=4 and Choice(2)=2 Then CR=Choice(3) : DR=CR-1 : PC=DR : Paper PC : Memorize X : Memorize Y : Clw : For I=1 To PL : Print " ";TX$(PAGE,I) : Next I : Remember X : Remember Y : Goto MISSOUT
If Choice(1)=4 and Choice(2)=3 Then CR=Choice(3) : DR=CR-1 : Memorize X : Memorize Y : MIX : Remember X : Remember Y : Goto MISSOUT
If Choice(1)=4 and Choice(2)=4 and Choice(3)=1 Then PAL[1]
If Choice(1)=4 and Choice(2)=4 and Choice(3)=2 Then PAL[2]
NCH:
S=Scancode
'
If S=95 Then HELPTXT : Clear Key : Goto LEAVE
'
Rem Page Forward
If((S=31) or(S=81)) and(PAGE=PMAX) Then KK$="" : Locate 0,0 : Centre "Last Page !" : Curs Off : Wait 200 : Cline : Locate 1,1 : Curs On : Goto LEAVE
If((S=31) or(S=81)) Then PAGE=PAGE+1 : KK$="" : Wind Close : Goto NEWPAGE
'
Rem Page Back
If((S=63) or(S=80)) and(PAGE>1) Then PAGE=PAGE-1 : KK$="" : Wind Close : Goto NEWPAGE
If((S=63) or(S=80)) and(PAGE=1) Then KK$="" : Locate 0,0 : Centre "First Page !" : Curs Off : Wait 200 : Cline : Locate 1,1 : Curs On : Goto LEAVE
'
If S=29 Then KK$="" : Goto XXTXTNEW
If S=86 Then KK$="" : Goto XXTXTNEW
If S=61 Then Locate 1,1 : Goto LEAVE
If S=85 Then Locate 1,1 : Goto LEAVE
If S=65 Then CHARACTERDELLEFT : Goto LEAVE
If S=70 Then CHARACTERDEL : Goto LEAVE
'
If(S=68) or(S=67) or(S=69) Then Locate 1,Y Curs+1 : Goto LEAVE
If(S=76 or S=62) and Y Curs=1 Then Goto LEAVE
If(S=76 or S=62) and Y Curs<>1 Then Cup : Goto LEAVE
If(S=77 or S=30) and Y Curs=PL Then Goto LEAVE
If(S=77 or S=30) and Y Curs<>PL Then Cdown : Goto LEAVE
If(S=79 or S=45) and X Curs=1 and Y Curs=1 Then Goto LEAVE
If(S=79 or S=45) and(X Curs=1) and(Y Curs>1) Then Locate LW,Y Curs-1 : Goto LEAVE
If(S=79 or S=45) and X Curs<>1 Then Cleft : Goto LEAVE
If(S=78 or S=47) and(X Curs=LW) and Y Curs=PL-1 Then Goto LEAVE
If(S=78 or S=47) and(X Curs=LW) and Y Curs<PL-1 Then Locate 1,Y Curs+1 : Goto LEAVE
If(S=78 or S=47) and X Curs<>LW Then Cright : Goto LEAVE
If S=15 Then INSERTLINE : Goto LEAVE
If S=83 Then INSERTLINE : Goto LEAVE
If S=60 Then OMITLINE : Goto LEAVE
If S=84 Then OMITLINE : Goto LEAVE
CHINS
LEAVE:
KK$=""
If Y Curs=PL Then Cup
Loop
XXTXTNEW:
TXTSAVE
If(Right$(F$,4)=":XXX") or(Right$(F$,4)="/XXX") Then F$="" : Goto MISSOUT
If(Right$(F$,4)=":xxx") or(Right$(F$,4)="/xxx") Then F$="" : Goto MISSOUT
XTXTNEW:
Cls
Border 0,,
UNDESIRED:
MARKER=0
For PAGE=1 To PMAX : For I=1 To PL : TX$(PAGE,I)="" : Next I : Next PAGE
Rem Code Line {first effort} - allows for upgrades with more codes
Rem code$(i) as mid$(codelines,i*2-1,2) etc ........
Rem remembering that single digit +ve nos are preceded by a space
'
Rem CodeLine - most recent versions begin with *NB*NB*NB* or *NB*NB*NB*NB* and are completely string$
'
Rem Current version no.s are 1, First (or external!) version no.s are 2 (back to front?)
'
VERSION=1
'
On Error Goto ER2
Goto OK2
ER2:
ERR
Close 1
Resume XIT
OK2:
'
Line Input #1,CODELINE$
'
If Left$(CODELINE$,13)="*NB*NB*NB*NB*"
'
If Mid$(CODELINE$,14,1)="1" : FR=1 : End If
If Mid$(CODELINE$,14,1)="2" : FR=2 : End If
If Mid$(CODELINE$,15,1)="0" : FAC=0 : End If
If Mid$(CODELINE$,15,1)="1" : FAC=1 : End If
Goto CODESDONE
End If
'
If Left$(CODELINE$,10)="*NB*NB*NB*"
'
If Mid$(CODELINE$,11,1)="1" : FR=1 : End If
If Mid$(CODELINE$,11,1)="2" : FR=2 : End If
If Mid$(CODELINE$,12,1)="0" : FAC=0 : End If
If Mid$(CODELINE$,12,1)="1" : FAC=1 : End If
Goto CODESDONE
End If
'
If Len(CODELINE$)<>4 and Len(CODELINE$)<>2 Then TX$(1,1)=CODELINE$ : VERSION=2 : FAC=0 : FR=2 : Goto CODESDONE
'
If Len(CODELINE$)=4 Then FR=Val(Mid$(CODELINE$,1,2)) : FAC=Val(Mid$(CODELINE$,3,2))
If Len(CODELINE$)=2 Then FR=Val(Mid$(CODELINE$,1,2))
'
If(FR<>1 and FR<>2) or(FAC<>0 and FAC<>1) Then TX$(1,1)=CODELINE$ : VERSION=2 : FAC=0 : FR=2 : Goto CODESDONE
'
CODESDONE:
'
SCN
WRAP$="No"
Cls
PAGE=1
LEAF=PAGE
PL=27*(FAC+1)+3*FAC : Rem Page length
LW=34*FR+6*(FR-1) : Rem Line width
' MOSTPAGESCALC
PMAX=PAGE
Paper PC : Pen PNC
Wind Open LEAF,0,0,39*FR,30*(FAC+1),1
I=VERSION
NXPG:
Clw : Home
Do
If Eof(1) Then Goto NMR
Line Input #1,TX$(LEAF,I)
'
Rem Correction for previous NoteBook Files, removing space at line start
If Left$(CODELINE$,13)<>"*NB*NB*NB*NB*" Then TX$(LEAF,I)=Mid$(TX$(LEAF,I),2)
'
Print " ";TX$(LEAF,I)
If Eof(1) Then Goto NMR
If I=PL Then Exit
I=I+1
Loop
LEAF=LEAF+1
If LEAF>MOSTPAGES Then ERR : LEAF=LEAF-1 : Goto NMR
I=1
Goto NXPG
NMR:
If I=1 Then LEAF=LEAF-1
PMAX=LEAF
Close 1
If PMAX=1 Then PLTYPE$="1P" : Locate 1,1
XIT:
End Proc
Procedure MERGEPAGES
Memorize X : Memorize Y : Locate 0,0 : Cline : Curs Off
If PMAX=MOSTPAGES
Centre "No More Pages Allowed - 10 Pages Maximum" : Wait 100
Locate 0,0 : Cline : Remember X : Remember Y : Curs On
Goto XIT
End If
Centre "Merge after THIS page ? y/n"
Do
A$=Inkey$
If(A$="Y") or(A$="y") Then Exit
If(A$="N") or(A$="n")
Locate 0,0 : Cline : Remember X : Remember Y : Curs On
Goto XIT
End If
Loop
Locate 0,0 : Cline
'
A$="Select" : B$="a text file"
On Error Goto ERMERGEPAGES
Goto MAKEPAGES
ERMERGEPAGES:
A$="Error! Retry?" : B$="Select a text file or Quit"
Resume MAKEPAGES
'
MAKEPAGES:
FILESELECTQZ[FF$,"SWITCH",A$,B$] : SD
If F$="" Then Remember X : Remember Y : Curs On : Goto XIT
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Open In 1,F$
On Error Goto ER2
Goto OK2
ER2:
ERR
Resume NMR
OK2:
'
Rem Code Line {first effort} - allows for upgrades with more codes
Rem code$(i) as mid$(codelines,i*2-1,2) etc ........
Rem remembering that single digit +ve nos are preceded by a space
'
Rem CodeLine - most recent versions begin with *NB*NB*NB* or *NB*NB*NB*NB* and are completely string$
'
Rem Current version no.s are 1, First (or external!) version no.s are 2 (back to front?)
'
VERSION=1
'
Line Input #1,CODELINE$
'
If Left$(CODELINE$,13)="*NB*NB*NB*NB*"
'
If Mid$(CODELINE$,14,1)="1" : MERGEFR=1 : End If
If Mid$(CODELINE$,14,1)="2" : MERGEFR=2 : End If
If Mid$(CODELINE$,15,1)="0" : MERGEFAC=0 : End If
If Mid$(CODELINE$,15,1)="1" : MERGEFAC=1 : End If
Goto CODESDONE
End If
'
If Left$(CODELINE$,10)="*NB*NB*NB*"
'
If Mid$(CODELINE$,11,1)="1" : MERGEFR=1 : End If
If Mid$(CODELINE$,11,1)="2" : MERGEFR=2 : End If
If Mid$(CODELINE$,12,1)="0" : MERGEFAC=0 : End If
If Mid$(CODELINE$,12,1)="1" : MERGEFAC=1 : End If
Goto CODESDONE
End If
'
If Len(CODELINE$)<>4 and Len(CODELINE$)<>2 Then TX$(1,1)=CODELINE$ : VERSION=2 : MERGEFAC=0 : MERGEFR=2 : Goto CODESDONE
'
If Len(CODELINE$)=4 Then MERGEFR=Val(Mid$(CODELINE$,1,2)) : MERGEFAC=Val(Mid$(CODELINE$,3,2))
If Len(CODELINE$)=2 Then MERGEFR=Val(Mid$(CODELINE$,1,2))
'
If(FR<>1 and FR<>2) or(FAC<>0 and FAC<>1) Then TX$(1,1)=CODELINE$ : VERSION=2 : MERGEFAC=0 : MERGEFR=2 : Goto CODESDONE
'
CODESDONE:
'
If(FAC<>MERGEFAC) or(FR<>MERGEFR) Then Locate 0,0 : Cline : Centre "Not Done, Different Page-Types" : Wait 100 : Locate 0,0 : Cline : Curs On : Remember X : Remember Y : Close 1 : Goto XIT
'
PL=27*(FAC+1)+3*FAC
'
KI=VERSION
NXPG:
If PMAX=MOSTPAGES Then Locate 0,0 : Curs Off : Cline : Centre "No more Pages" : Wait 100 : Locate 0,0 : Cline : Locate 1,1 : Curs On : Goto NMR
MERGECD=1
INSERTPAGE
Clw : Home
Do
If Eof(1) Then Goto NMR
Line Input #1,TX$(PAGE,KI)
'
Rem Correction for previous NoteBook Files, removing space at line start
If Left$(CODELINE$,13)<>"*NB*NB*NB*NB*" Then TX$(PAGE,KI)=Mid$(TX$(PAGE,KI),2)
'
Print " ";TX$(PAGE,KI)
If Eof(1) Then Goto NMR
If KI=PL Then Goto NMRR
KI=KI+1
Loop
NMRR:
KI=1 : Goto NXPG
NMR:
Locate 1,1
Close 1
XIT:
MERGECD=0
End Proc
'
Procedure INSERTPAGE
Memorize X : Memorize Y : Locate 0,0 : Cline : Curs Off
If PMAX=MOSTPAGES
Centre Str$(MOSTPAGES)+" Pages Maximum" : Wait 100
Locate 0,0 : Cline : Remember X : Remember Y : Curs On
KK$=""
Goto XXINSERTPAGE
End If
If MERGECD=1 Then MERGECD=0 : Goto NOCHOICE
Centre "New Page After This ? y/n"
Do
A$=Inkey$
If A$="Y" Then Exit
If A$="y" Then Exit
If A$="N" Then Goto XINSERTPAGE
If A$="n" Then Goto XINSERTPAGE
Loop
NOCHOICE:
Locate 0,0 : Cline
Curs On
PMAX=PMAX+1
For LEAF=PMAX To PAGE+2 Step -1
For I=1 To PL
TX$(LEAF,I)=TX$(LEAF-1,I)
Next I
Next LEAF
For I=1 To PL
TX$(PAGE+1,I)=""
Next I
PAGE=PAGE+1
Clw : Home
For I=1 To PL : Print " ";TX$(PAGE,I) : Next I : Locate 1,1
Goto XXINSERTPAGE
XINSERTPAGE:
Locate 0,0 : Cline
Curs On
Remember X : Remember Y
XXINSERTPAGE:
End Proc
Procedure OMITPAGE
Memorize X : Memorize Y : Locate 0,0 : Cline : Curs Off
Centre "Lose THIS page ? y/n"
Do
A$=Inkey$
If A$="Y" Then Exit
If A$="y" Then Exit
If A$="N" Then Goto XOMITPAGE
If A$="n" Then Goto XOMITPAGE
Loop
Locate 0,0 : Cline : Curs On
'
If PAGE<PMAX
PMAX=PMAX-1
For LEAF=PAGE To PMAX
For I=1 To PL
TX$(LEAF,I)=TX$(LEAF+1,I)
Next I
Next LEAF
For I=1 To PL
TX$(PMAX+1,I)=""
Next I
Clw : Home
For I=1 To PL : Print " ";TX$(PAGE,I) : Next I : Locate 1,1
Goto XXOMITPAGE
End If
'
If(PAGE=PMAX) and(PMAX>1)
For I=1 To PL
TX$(PMAX,I)=""
Next I
PMAX=PMAX-1
PAGE=PAGE-1
Clw : Home
For I=1 To PL : Print " ";TX$(PAGE,I) : Next I : Locate 1,1
Goto XXOMITPAGE
End If
'
If(PAGE=PMAX) and(PMAX=1)
'
For I=1 To PL
TX$(PMAX,I)=""
Next I
Clw : Home : Locate 1,1
Goto XXOMITPAGE
'
End If
'
XOMITPAGE:
Locate 0,0 : Cline : Curs On : Remember X : Remember Y
XXOMITPAGE:
End Proc
'
Procedure TXPR
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Open Port 1,"PRT:"
Curs Off
MEMPG=PAGE
If PMAX=0 Then Goto XIT
Memorize X : Memorize Y
Clw
PAGE=1
NEXPG:
Clw
For I=1 To PL
Print " ";TX$(PAGE,I)
Next I
Locate 0,0
Centre "Print THIS page? y/n"
Do
A$=Inkey$
If A$="Y" Then Exit
If A$="y" Then Exit
If A$="N" Then Goto NPR
If A$="n" Then Goto NPR
Loop
Locate 0,0 : Cline
For I=1 To PL
' Lprint TX$(PAGE,I)
Print #1,TX$(PAGE,I)
Next I
Locate 0,0
NPR:
PAGE=PAGE+1
If PAGE<=PMAX Then Goto NEXPG
Close 1
PAGE=MEMPG
Curs On
Remember X : Remember Y
XIT:
End Proc
'
Rem Files
'
Procedure RUBOUT
RBOUT:
A$="Select File to Delete" : B$="IRREVERSIBLE - Quit to Leave"
On Error Goto ER
Goto OK
ER:
A$="/!\Error! Select File to Delete"
Resume OK
OK:
FILESELECTQZ[FF$,"SWITCH",A$,B$] : SD
If F$="" Then Goto XIT
Kill F$
Goto RBOUT
XIT:
End Proc
Procedure CPY
Clear Key
On Error Goto ER
Goto OK
ER:
ERR
Resume XIT
OK:
Do
Erase 6
FILESELECTQZ[FF$,"SWITCH","Select File to Copy",""] : SD