L+'Diagram'(C) 1985 Pineapple Soft pI)`pII`p`Copyright Pineapple Software c1985 serial no.0000*M  *L.M/CM1  *L.M/CM2 *P%=2951:C%=2961:D%=2971:E%=2981:=9916 &CAT=&8EE:CAT0=&8F4:USERTABLE=&0900  *FX3,0 *DISC *FX21,0 *FX179,29 *FX20,3 *FX3,0  *FX12,4  *FX229,1  *FX214,3 *FX225,246 *FX226,234 *FX227,224 # A%(15)ZK#:A$(15):!&43C=!&26B4 (A%=47dhC 2A%<>0T`C d87:5,4)"WHICH DRIVES ARE YOU USING"24,8)"(Y/N)" v *FX15,0 xzC(114):X%=03:10,X%*2+10)"DRIVE ";X%;"......":X%:X%=03:25,X%*2+10);:=89X%?&458=1:"YES":X%?&458=0:"NO" X%:C(32):$R#D  U:C(32):5,10)"1.....Create new diagram"5,13)"2.....Access existing diagram" >X%=:X%-48tpD,dhCT~C Z:6,2)"DIAGRAMS ON CURRENT DISC":Y%=519:0,Y%)"":Y%:9,4)"DRIVE"22,4)"NAME"  I%=0:F%=03:F%?&458=0TZD CAT:PRCAT 6#F% 4A$(0)=""8,12)"No diagrams present":D:T`C 2H%=I%:4,22)"Space Bar to select then Return" I%=0  Z8,I%+6)"";(157);"";29,I%+6);(156):X%=:X%=328,I%+6)" ":I%=I%+1:I%=H%I%=0 !X%=13TdDT`D $"F%=A%(I%):CAT:A$=A$(I%):NA##ME &X%=$P%:#X%,M%:#X%,L%:Y%=&C00&CFF:?Y%=#X%:Y%:Y%=&1D00&1FFF:?Y%=#X%:Y%:Y%=USERTABLE USERTABLE+&8B:?Y%=#X%:Y%:#X% 3O%+1+!&26B8<>0D%=E% L*ROM M *FX3,2 NA%=48:"MENU2" *ROM 7  *FX3,2 A%=48:"CREATE" &+8 -C(C):23D#,0,10,C,0;0;0;: -D:X%=05000:: -A$(I%+1)B$=A$(I%):A$(I%)=A$(I%+1):A$(I%+1)=B$:?&85=1:H%=A%(I%):A%(I%)=A%(I%+1):A%(I%+1)=H%:A=1 50I%:A=19,12)"SORTING INDEX NAMES":TkG 710,12)22," ") :fI%=1X%:.)#1+((I%-1)4)*10,((I%-1)4)+3);A$(I%):I%:?&85=1#G%=5:I%=1X%:#G%,A$(I%),A%(I%):I% ]END bH%=24:DxE l3I%=0:I%=I%+1:A$(I%)=G$I%=X%:A$(I%)<>G$t`E vX%=I%t@G {1A$(I%)=A$(I%+1):A%(I%)=A%(I%+1):I%=I%+1:DvG A#G%=0:#G%,X%-1:I%=1X%?#:#G%,A$(I%),A%(I%):I%:END::dTC 8C(114):10,23)"SCREEN No. "Z%:Z%<1Z%>M%*L%dTC )Z%=((Z%-1)M%*2560*M%)+((Z%-1)M%)*80 CAT vB%=Z%N%+U%*(Z%N%):?&70=6:?&71=0:?&D0=?&D0 2:0:19,0,?&098A,0,0,0:19,7,?&098B,0,0,0:S%=$C%:R%=$D%:&8C0:##0 \S%=$C%:R%=$D% a:23,0,11,7,0;0;0;:C(32):A%=1:&9CC:?&7D=112#0:dTC k?&7D=116#0:INDEX:D\H l?&7D=100COL(0):DaH m?&7D=67COL(1):DaH p"C(0):40,16);:!&79=&00FF00FF  *FX4,1  *FX21,0 ?&098C=0:&1766 P?&7D=&87SAVE:#0#:S%=$P%:#S%=1162:X%=&0980&098B:#S%,?X%:X%:#S%:D\H ?&7D=27#0:DLD N?&7D=254X%=?&8D-?&8C+1:Y%=?&8E ?&8F:?&8C,Y%);(X%);:Y%:&1770:tXH F3,23)"Insert disc with 'PRINT' program":D:1,23)(38):DtD A%=48:CAT0:"PRINT" ?#7 *ROM  *FX3,2 A%=46:"CREATE" + SAVE +!&79=16711935 +[I%=#S%:H%=Z%+?&79+(?&7B*N%):&16BF:#S%=I%:I%=#R%:H%=B%+?&7B+(?&79*U%):&1726:#R%=I% + , INDEX , *FX4,2 ,AG%=$E%:!&79=&1A17311E:?&7D=1:?&7E=0:&19CC:28,30,26,49,23: ,#Y%=1601724:480,Y%:796,Y%:Y%:X%=480496:X%,160:X%,284:X%:X%=780796:X%,160:X%,284:X%:Y%=2722844:480,Y%:796,Y%:Y% -n5#G%=0:#G%,Y%:Y%=845,1)"Index full":D:tem -q2,1)"Enter Index Name"; -s *FX21,0 -x2,2),G$:G$=""tem -!#(G$)>92,2);17," "):Dsm -H%=0 -H%=Y%t`m -N#G%,F$,X%:H%=H%+1:G$=F$2,1)" Already stored ":2,2);16," "):D:Dnm - tKm -#G%,G$,Z%:#G%=0:#G%,H%+1 -226:?&7D=2:?&7E=0:!&79=&1A17311E:&19CC:END: -END:#G%=1530:#G%: -C(C):p8#23,0,10,C,0;0;0;: -D:X%=010000:: -7 .)BCOL=&098A:19,Y%,X%,0,0,0:BCOL?Y%=X% ." TNn Ylcat(H%):CAT:Z%=&A00:X%=&1100:Y%=X%256:X%?0=F%:X%!1=Z%:X%!5?{*MENU2 K=3:X%!6=&53:X%?7=0:X%?8=H%:X%?9=&21:A%=&7F Y&FFF1:?&110A<>0`XY Y *M/C3̼ r ` ` pȌq sQtP `  vvL]v P `w wH(`H(`H(`wyw`w8w` + l `h \  rH qp qpLqiq#pipvu n, ` W l `h T  rH qp qpLb8qqppvOu n`  uOuLu  `psqtteqtseps`  `}r{vL 8 yu  }#L zu|v`uLK#v}L ~ ~L~ ~LryuH T {v  H |vzu`vL@uL.    P] R J BLQ  $  ;,O' T\ Le LL#}` Lp ) L)  `  Lp ) Lp  _}` t rƐ L} r} Lp yyzz{{||`   L>Pbt $#  $  ;L LpL@L Q r~? L# LI Q r~O  LI Q r~_  LI Q r~o   L ~          ` р~~`{vL$ \s ssLt tsLL{+# `~w ww \?ww~ HH rhhw 0Lt0  s0 LKsL7` )s JJ)t` titsiCsɀ8Pststs`  P )p 急) ` \) 0  Ls   t `# sPsss)sttɀ0tL ) sƀ0si(stiɀ0tL;'s` h8 ƀuvPr ` i) )  "     `  O ` uv` `Ɇɋ9*M/C3Ȑ i ` u L2 uI %  ` uQƎP 8LZ  % ` 8 `&&`  `  ` _uv ` u v `*UDCE  *L.M/CUD  *FX3,0  *DISC u0:UL=&098C:US=&0900:?&70=&30:?&71=0:?&D0=?&D0 2:CAT=&8EE:CAT0=&8F4:?&91=0:19,0,?&098A,0,0,0:19,1,?&098B,0,0,0  W:22,3);"DEFINE CHARACTERS":N:UL(885,325,923):W:8,6);"1. Define new character"8,8);"2. Modify 1#existing character"8,10);"3. Load different character set"  *FX229,1  58,12);"4. Return to main menu":N:FREE:?UL=112 .&1B83:C(32) 8(-49)dPG B(-50)txK L(-18)D(2):d\E V(-19)tpD j(-116)TnD t(-21)&1809:D(s#1) ~ TxD *ROM 7  *FX3,2  "MENU2"  *FX21,0  *FX229,0 ,W:10,22)"Not found":N:D(30):TE@ LW:10,18)"Drive no.";:,A:A>330,18)" ":daE10,20)"Name";:,A$ 1N:A%=48+A:CAT0:LD:7:10,18);(240):dhC D(3):C(32):#H=0  *FX21,0 MW:3,18);"How many character boxes wide? (1-4)":N:X=-48:X<1X>4dUG i63,18);(12);69,18);:W:;X;3,20);"How many character boxes high? (1-3)";:N:Y=-48:Y<1Y>3dZG [65,20);(11);69,20);:W:;Y:N:X*Y>FREE 30,22);-#:W:"TOO BIG":N:D(20)::dhC D(20):S=J:?(US+X%+1)=16  ,?(US+X%)=(X-1)((Y-1)*4)::?UL=X%:&1B9D BX<4M=256:T=16:N=M+(X*128):U=T+(X*8)-1:M=128:N=640:T=8:U=39  AY<3O=736:V=9:P=O-(Y*256):W=V+(Y*8)-1:O=992:P=224:V=1:W=24 %[C(32):M,O:L=O# P -32:N,L:M,L-32:L:M,O:L=M N 16:L,P:L+2,O:L+2,P:L+16,O:L 4K=P-12O O-P+12:J=484:L=0X-1:I=M+(L*128):I+48,K+J:I+80,K+J:L,J,K:K=M-12N N-M+12:J=484:L=0Y-1:I=P+(L*256):K+J,I+128:K+J,I+160:L,J,K 6J42,1);:W:"SPACE":N:U-#L(957,670,835):42,3);:W:"Fill square":N 742,5);:W:"SHIFT":N:UL(829,670,835):42,7);:W:"Empty square":N:42,9);:W:"COPY":N:UL(701,670,803):42,11);:W:"Save character":N ;42,13);:W:"f8":N:UL(573,670,739):42,15);:W:"Clear# grid":N:42,17);:W:"ESCAPE":N:UL(445,670,867):42,19);:W:"Return to menu":N ?XH=0H=342,21);:W:"TAB":N:UL(317,670,771):42,23);:W::"To change size":N C H=0tIH H=WI:30:A=1X*Y*8:L:Q=128:Y%=18:I=?R Q:I>0B=5DRH M H=2T#B=7 O FILL(B) RQ=Q/2:9:Y%,A:H<>2tIH f-E:T,V);:Q=128:?(US+?UL+1)=16H=3 H=1 k tlH A=0:B=0:C(96) WI:31,A,B (-122)9:F (-26)8:F (-42)10:F (-58)11:F Q=2^(7-( 8)) %(-99)FILL(5):L:?R=?R Q:tlH <#*(-1)FILL(7):L:?R=?R (255-Q):tvH $A=:B=:26:?&80=X%:&1AC0:tNH |(-106)CAT:A=$P%:#A,M%:#A,L%:Y%=&C00&CFF:#A,?Y%::Y%=&1D00&1FFF:#A,?Y%::Y%=US US+&8B:#A,?Y%::#A:TE@ (-113)TE@ (-119)H=2:DHH TH<>1(-97)2 #6:E:X%=(US+?UL):?X%=16:?(X%+1)=32::FREE:?UL=?UL-16:&1B83:dPG  tOH IW:7,18);"Select character using f3 & f4";27,20);"then RETURN ":N (-21)&1809:D(1) (-116)&1B83:C(32) (-23):dhC (-74)tlM dLK 5Y%=?UL:?(a>#US+Y%)>11dLK&1A5C:X=?&73+1:Y=?&74+1 X%=?UL:&19D3:S=128+?&81  ?(US+X%+1)=16H=3H=1 ?UL=?UL-16:&1B83:TVH '.4UL(A,B,C):B,A:Z=A A-10-4:C,Z:B,Z-4:Z: 'LuFREE:X%=-1:X%=X%+1:?(US+X%)=16:&19D3:W:FREE=128-?&81:J=?&81+128:3+#,25);FREE;" free character boxes ":N: 'tVFILL(I):J=((+T)*16)+4:K=996-((+V)*32):J,K:L=K K+244:I,J+10,L:J,L+4:L: 'ML:R=&0C00+((S-128)*8)+(( 8)*8*X)+( 8)+(( 8)*8):R>&0CFFR=R+&1000 ' 'D(A):B=0A*100:B: 'C(A):23,0,10,Av#,0;0;0;: )hW:?&20E=0:?&20F=21: )N:?&20E=&A4:?&20F=&E0: )3E:A=S S+(X*Y)-1:23,A,0,0,0,0,0,0,0,0:A: )WI:28,T,W,U,V: )F:D(2): )nLD:A=("1."+A$):#A=10:Y%=&C00&CFF:?Y%=#A::Y%=&1D00&1FFF:?Y%=#A::Y%=US US+&7F:?Y%=#A*UDC E)::#A: f*M/CUD8 LwHHH xsw tsutv %u v uvv թ ੀ  xsL! hhh`Q*CREATEe  *L.M/CCR  *FX229,0 '=&3BFF:CAT=&8EE:CAT0=&8F4:US=&0900  *DISC  *FX3,0  &1540 (A%=46W%=F%:tHS **ROM + *FX3,2 - *L.CHARS 2 *FX3,0 4 INIT 7 *DISC CL(14,23):TFD  J 8,2)(141)"CREATE A NEW DIAGRAM"8,3)(141)"CREA#TE A NEW DIAGRAM" w9,4)(146);20,(44));7,8)"1. Create new diagram"7,10)"2. Check space on disc"7,12)"3. Return to main menu" C(32):(-49)dPG MENU:(-18)ThcTFD  D(1)  *FX21,0 ՛C(114):10,14)"Diagram name "28,14)A$:(A$I#)>7A$=""22,14)(17):dUGNAME:10,16)"Horizontal size "28,16)M%:10,18)"Vertical size "28,18)L% eSPACE(20):B=1dhCZ%7D$=""22,14)(21):DuW6,16)"Nx\#ew Horizontal size "28,16)G%:6,18)"New Vertical size "28,18)H% zeSPACE(20):B=1tHSZ%=H%dhW /B%=1(H%-L%)*32:J%=1G%*80:#R%,32:J%,B% a JS%=F$:R%=C$:B%=0(I%*80)-1:#S%=U%*B%:J%=0(T%*32)-1:#R%,#S%:J% -H%<=L%TFXJ%=1(H%-L%)*32:#R%,32:J% B% M%>=G%TdX /B%=1 #(G%-M%)*80:J%=1H%*32:#R%,32:J%,B% $a #( #-7 #2*ROM #3 *FX3,2 #4A%=47:"M" 'C(C):23,0,10,C,0;0;0;: 'D(A):D=0A*300:D: '$0Tsg '5 '8 INIT 'VX%=US US+&7F:?X%=0:X%:?(US+16)=16:X%=US+17 US+&7F:?X%=32:X%:X%=&0980&0989:?X%=1:X%:?&098A=3:?&098B=0:X%=144255:23,X%,0,0,0,0,0,0,0,0:X%: '`!#MENU:(-50)SPACE(14)Djg 'eHB=0 Z%>36,17)"Space for up to ";Z%;" screens":D(15):CL(14,18) 'g>B=0 Z%<48,17)"No room on this disc":D(15):CL(14,22) 'j 't3D~g;F%:C(32):cat(1):?&A05>2169,A+3)"Catalogue too full":B=1:D(15):CL(14,23): 'iX%=(?&A06 3)*256+?&A07:Y%=(?&A0E 48)*4096+?&A0D*256+?&A0C:Z%=(?&A0E 3)*256+?&A0F:B%=X%-Y%256-Z%-1 'Z%=((B%-11)/20): ')CL(A,B):B%=A B:0,B%)(39)J#:B%: 'eFILE1(Q%,J%,K%):S%=$Q%:#S%,J%:#S%,K%:B%=&C00&CFF:#S%,?B%:B%:B%=&1D00&1FFF:#S%,?B%:B% '&B%=US US+&8B:#S%,?B%:B%:#S%: '&4000O%=&4000 'SAVE:B%<=&4000dXg '0S%=$Q%:#S%=&4000:!&8 #4=B%-&4000:&1510:#S% ' '^SAVE:X%=&1C00:X%!0=Q%:X%!2=0:X%!6=0:X%!10=&3C00:X%!14=O%+&3C00:A%=0:X%=0:Y%=&1C:&FFDD: 'UNEWNAME:E$=":"+(W%+48)+"."+$C%:F$=":"+(W%+48)+"."+$D%:I$=":"+(W%+48)+"."+$E% 'iB$=":"+(F%+48)+".2."+D$:C$=":"+(F%+48)+".3."gZ#+D$:G$=":"+(F%+48)+".1."+D$:H$=":"+(F%+48)+".4."+D$: (WSAMENAME(H$):B=0:cat(0):X%=&A08 &AF8 8:J$="":Y%=06:K$=(X%?Y%):K$=" "TJh ( J$=J$+K$ ( QY%:H$=J$3,22)"Name already exists on this disc":D(15):CL(14,23):B=1: ( X%: (a:21:*CREATE%n*FX5,0 (*.0 (( 6:*FX5,1 (2 #0: s*M/CCRZ`HLL  ` ƀLƁL'ƂL1ƃL6p