L/DEMO-A (C)1985 Acorn Computer E&T `H | ~h`h`H0 |LOI) LeI)`SEP*DEMO-Ac*CUBES#8 *FX112,1   *FX112,2 ( 21 < init F I%=0 7 P I%<4 F(0) Z F(1) d I%>0 F(2) n I%>4 F(3) x W%=W%3:A%=112:X%=W%:osbyte  I% I%=0:B%=7:D%=1:=0 :I%=(I%+1)8 C%=I%1 =(100)=1:X%=(3):Y%=(4)+3:K%=Q%?X%:Q%?X%6#=Q%?Y%:Q%?Y%=K%  C% d\@ 'Y%=&600+I%*&140:X%=Y%256:Y%=Y%256  M% TlA J%=(J%+2)3 3 K%=1 3:F%=(K%+(K%2))*32+Q%?((K%-1+J%)3+1) U%=03 $c%?(K%*4+U%-4)=F%+(U%+(U%2))*16 ,  X%=c%256  Y%=c%256 "M% ,tube <150#0*FX19 6 >3000 @ "TEXTEH" J init T c% 11 ^% Q% 7:!Q%=&3020100:Q%!4=&7060504 h619,1,Q%?1;0;19,2,Q%?2;0;19,3,Q%?3;0;23,1,0;0;0;0; rJ%=0 |W%=1 osbyte=&FFF4  S%=144 a=S%*(3)/2 h=S%*(2/3)  M% 150 +A%=&EA:X%=0:Y%=255:tube=#(osbyte)&FF00 21: I%=0 2 2  P%=M% [  OPT I% TXA PHA TYA PHA  PHP:PHP  LDA #19 &JSR osbyte 0 LDA #1 :PLP D ADC #0 NTAX X LDA #113 bJSR osbyte lPLP v BCS a1  LDA #&97  LDX #0  LDY #12 JSR osbyte PLA E#TAY  LDA #&97  LDX #1 JSR osbyte  LDA #&97  LDX #0  LDY #13 JSR osbyte PLA  TAY  LDA #&97  LDX #1 *JSR osbyte 4RTS > .a1 PLA H STA &8F RPLA \ STA &8E f LDY #11 p.loop LDA (&8E),Y zTAX  LDA #155 JSR osbyte DVu#EY  BPL loop RTS ]  I%:6   F(K%) A=(4*K%-I%)*/12 X1=a: K%2 X1=-X1  X2=X1/3  X3=-X2  Y2=h*A Y3=h*(A+/3)  0,(K%+(I%+1)2)3+1 $Y%=1024-(I%1)*128 .29,160;Y%; 8 X1,0 B X2,Y2 L 117,X3,Y3 V 29,480;Y*CUBES#3 %; ` 0,-X1 j Y2,-X2 t 117,Y3,-X3 ~29,800;Y%;  -X1,0  -X2,-Y2  117,-X3,-Y3 29,1120;Y%;  0,X1  -Y2,X2  117,-Y3,X3  29,0;0;  J*FOUNTAIN+‘T\ :>1000:2("Press Space bar to hold this page"):*FX15 0>0::2(""):=0:TA@ 1>1800:2(""):132:@:0(2,2):0:@:*FX112,2 P0,0:1279,511:191,0,512:132:@:0(3,2):0:@:0(1,1):I%=131:J%=(31-I%)*32:0,J%:639,J%+28:189,I%2*640,(31-IN#%2)*32:I%:22,4:@:0(0,2):=0::1:*FX&97,0,12 *FX&97,1,6 "1:*FX113,2 @1:*FX&97,0,12 ^*FX&97,1,&B h1:*FX113,1 >3000:"TEXTUX" f4:f=16*S%:Q=319*S%:I=639*S%:_=4.8:k=.05:g=(85):l=2:t=_*(g)*S%/2:u=_*(g):v=_*_*(2*g)/k*S%/2: 5ϟ#:23,2,&FF,&80,&80,&80,&FF,&8,&8,&8:R=9*f:`=14*32:V=(31*16-2)*S%:W=23*32-4:16,0:R,`:101,V,W:0,1:R,W:R,`:V,`:V,W:23,3,&18,&24,&42,&81,&81,&42,&24,&18:23,4,&FF,&88,&AA,&AA,&AA,&AA,&AA,&88:a=3*32-4:b=2*f:J=06:G=01 G29,R+(J*3+1)*f;`+(G*4+1)*32t#;:J=3G=048,0:0,-28:101,b,a-4:T`C 532,0:0,0:101,b,a:0,1:0,0:b,0:b,a:0,a:0,0  ,:29,0;0;:m=W+4:S=W+3*32:K=32*S%:23,5,&80,&80,&41,&3E,&8,&8,&14,&E3:64,0:R-K,m:R+K,S:85,V+K,m:85,V-K,S:H=400*S%:T=S+60:16,0:H,S+4:101,H+K,T:0,0:H,SA#+4:H,T-4:H+K,T-4:H+K,S+4:23,2,&CE,&BE,&7D,&73,&CE,&BE,&7D,&73 23,3,&5F,&DC,&B3,&AF,&5F,&DC,&B3,&AF:23,4,&EC,&EB,&D7,&37,&EC,&EB,&D7,&37:23,5,&F5,&CD,&3B,&FA,&F5,&CD,&3B,&FA:16*c+16,0:H,T:H+K,T:117,H+K+(1024-T)*S%/2,1024: 6:23,2,&A,&A4,|#&A0,&4A,&A,&A4,&A0,&4A:16,0:0,0:0,511:85,Q,511:I,0:I,511:85,Q+S%,511:23,3,&AA,&FF,&55,&FF,&AA,&FF,&55,&FF:0,1:0,511:101,I,1023: 0(c,S%):4:6:5:H=180*S%:h=180*2:n=160*S%:o=160*2:X=100*S%:Y=100*2:i=-16:Pp=8*S%:PL=32*4:M=.35:q=.5:29,Q;h*M-vL#50;:0,1:0,0:H,0:205,0,h*M:0,0:0,0:n,0:205,0,o*M:0,1:0,i:n,i:197,0,i+o*M:23,2,&AA,&55,&AA,&55,&AA,&55,&AA,&55:16,0:-Pp,0 101,Pp,PL:29,Q;h*M+PL-50;:Z=01:0,Z:0,0:X,0:205-8*Z,0,Y*q:Z:0,0:-X,0:101,X,Y*q:0,1:0,0:X,0:197,0,Y*M:0&#,1:-4*S%,0:101,4*S%,32:U=c*l:w=60::J=t*U:N=J/2:d=M*J*2/S%:G=u*U-k/2*U*U:G<0:dtF I69,J,G:69,N,G-d:69,-N,G-d:69,-J,G:69,-N,G+d:69,N,G+d:U=U+l*4: r=48:I=c*r/4::0,0:I*S%/2,0:197,0,I*M:I=I+r:I>Y:23,6,2^(7-c*2);0;0;0;:j=0/20:X*#j,-Y*M*j:17,0,-PL:j:29,0;0;:7: 3(J,G,L):L=L&FE0:O=L/4:e=O*3:s=O/6*S%/2:16,0:29,J;G;:-s,0:101,s,O:32,0:0,e:O*S%/2,e:205,0,L+O:0,0:0,e:O*S%/2,e:197,0,L+O: R7:23,2,&FF,&AA,&FF,&55,&FF,&AA,&FF,&55:23,3,&E3,&E3,&C9,&1C,&3E,&3E,&9C$*FOUNTAIN+ ‘C,&C1:Z=123-3:G=1024/Z:N=G*1.5*S%/2:3(Q-N,512-G,G*1.5):3(Q+N,512-G,G*1.5):29,0;0;:: @:23,1,0;0;0;0;:  1:*FX19  *FX19  K2(G$)29,0;0;:0,0:4,500:101,1279,528:640-(G$)*16,528:0,3:G$;: V*INIT+/} d1:22,129:8,16)"I N I T I A L I S I N G":23,1,0;0;0;0;:B%8:I%=65122:I%=96:?B%=45:?B%=I% (oX%=B%256:Y%=B%256:A%=10:&FFF1:J%=01:23,I%+74+J%*58:K%=29:B%?(K%2+J%*4):,,:23,227,0;0;0;0;:*OPT1 <*KEY10*ROM|M*RUN !BOOT|M F dPB P *S#RROM 4 Z *SRROM 5 d *SRROM 6 n *SRROM 7 x:1::" @ ";: $B%="JUGGLER":("SRWRITE "+~B%+"+8 BFF8 4"):N%=11:S%=12:W%=512:H%=672:R%=64:G%=100:e%=136:h%=-320:i%=-96:c%=100:b%=48:j%=40:T%=N%*S%:`%=S%2-1:O=(T%2+`%)/2:a%=T%2:l%=W%-4-2*R%-G%:_%=W%@#2:Q=(_%-4-R%/2)/2:k%=H%-4-R%:d%=e%-R%:m%=&FFF1 |G(T%-1),X%(T%-1),Y%(T%-1),J(S%-1),K(S%-1),M(S%-1),N(S%-1),B%11:I%=0`%:G(I%)=0:G(I%+a%)=0:X%(I%)=R%+G%*I%/`%:X%(I%+a%)=W%-4-X%(I%):Y%(I%)=e%:Y%(I%+a%)=e%:I%:I%=`%+1a%-1:G(I%)=-4**(I%-`%)/(a%-`%):G(I%+V#a%)=-G(I%):X%(I%)=R%+G%+l%*(I%-`%)/(a%-`%) X%(I%+a%)=W%-4-X%(I%):Y%(I%)=k%-(I%-O)^2/(a%-O)^2*(k%-e%):Y%(I%+a%)=Y%(I%)::I%=0`%+1:J(I%)=X%(I%):K(I%)=Y%(I%)-R%::I%=`%+2S%-1:G=(I%-`%-1)/(S%-`%-1):J(I%)=G*J(0)+(1-G)*J(`%+1):K(I%)=G*K(0)+(1-G)*K(`%+1):#I%:I%=0S%-1 DI=((_%-4-J(I%))^2+(K(I%)-d%)^2)/2:H=0.7*(Q^2-I^2):G=((K(I%)-d%)/(_%-4-J(I%))):M(I%)=(J(I%)+_%-4)/2-H*G:N(I%)=(K(I%)+d%)/2-H*G:I%:*FX112,1 P29,12*32;10*32;:0,1:-4,-4:W%,-4:W%,H%:-4,H%:-4,-4:K%=011:@:0:1: Z%=0:"TITLE| #" E2(I%)X%=X%(I%):Y%=Y%(I%):I%<`%/2I%>`%/2+a%f%=3:g%=1f%=2:g%=3 V%=I%a%:V%>`%DRC L=R%*(V%/`%*):0,3:X%,Y%:X%+L,Y%:207,X%,Y%+R%:X%,Y%:X%+L,Y%:197,X%,Y%+R%:X%,Y%-R%:X%,Y%+R%:X%-L,Y%:X%+L,Y%:0,f%:133,X%+4,Y%+4:133,X%-4,Y%-4:0,e)#g%:133,X%-4,Y%+4:133,X%+4,Y%-4:X%,Y%:X%+L/2,Y%:207,X%,Y%+R%/2:d@C RI=R%*(G(I%)):H=R%*(G(I%)):0,f%:X%,Y%:X%+I,Y%+H:181,X%-H,Y%+I:X%,Y%:X%-I,Y%-H:181,X%+H,Y%-I:0,g%:X%,Y%:X%-H,Y%+I:181,X%-I,Y%-H:X%,Y%:X%+H,Y%-I:181,X%+I,Y%+H:0,3:X%-#,Y%:145,R%,0:X%,Y%:155,R%2,0:V%>=S% ]0,3:I%>=a%_%,d%:W%-4-M(V%),N(V%):W%-4-J(V%),K(V%)_%-4,d%:M(I%),N(I%):J(I%),K(I%)  )0:L%=K%K%+(N%-1)*S%S%:2(L%):: 1:I%=020:?B%=&80:B%!1=&FFFF3000+104*8+I%*640:B%!5=&100:B%?7=K%4+4:B;#%!8=&8000+K%4*&1500+I%*256:A%=66:X%=B%256:Y%=B%256:m%:I%: j@:0,0:99,W%-4,H%-4:0,3:_%-4-j%,h%:_%-4,i%:_%-4,c%:_%+j%,h%:_%,i%:_%,c%:_%,c%+b%:145,0,b%:69,_%+b%/2,c%+b%*1.25:69,_%-b%/2,c%+b%*1.25:69,_%,c%+b%*.9:_%,c%+b%*1.25:_%-b%/2,c&*INIT+ /C%+b%/2:165,_%+b%/2,c%+b%/2: sw*JUGGLER+S 5>1000:ME("Press Space bar to hold this page")  *FX15 0>0::ME(""):=0:TJ@ ( >1800 2 ME("") <129 F1 P<23,1,0;0;0;0;29,12*32;10*32;19,1,2;0;19,2,5;0;19,3,0;0; Z YG%=-96 d YF%=-320 n XS%=40 x W2%=256 I%=12 ("FX112*JUGGLER+S ,"+I%) 'W2%-4-XS%,YF%:W2%-4,YG%:W2%-4,-4 !W2%+XS%,YF%:W2%,YG%:W2%,-4 &W2%,-290:W2%+600,0:197,W2%,-100  I% *RUN JUGOBJ "TEXTUX" MME(M$):29,0;0;:0,0:4,500:101,1279,528:640-(M$)*16,528:0,3:M$;: *MAZE+) =&3000  *FX112,2  0,128: ( M%=25 2 F%=M%+1 <N%=M%:G%=N%+1:S%=N%+2 FT%=(M%+2)*S% P15,29,416;200;23,128,&7E18;&FFFF;&FFFF;&187E; Z4Q% T%,P% T%*2,LX% T%,LY% T%,DX%(5),DY%(5),D%(5) dI%=0T%:Q%?I%=0: n0,3 x I%=0F% Q%?(I%*S%)=4:#Q%?(I%*S%+G%)=4 H(I%,0):H(I%,G%)  I% I%=0G% Q%?I%=4:Q%?(F%*S%+I%)=4 H(0,I%):H(G%,I%)  I%:133,200,200 *FX112,1 :*FX112,2 *FX19 )19,1,4;0;19,2,2;0;19,3,0;0;:*FX113,2 I%=05 .DX%(I%),DY%(I%):D%(I%)=DX%(I%)*S%+DY%l#(I%) I% ! 0,1,1,1,1,0,0,-1,-1,-1,-1,0 H%=0 "L%=0 ,R%=1 6X%=M%:Y%=0 @J%=0:E%=X%*S%+1:0,2 JS T ^ L%=R% h X%=LX%?R% r Y%=LY%?R% |D%=X%*S%+Y% J%=(6)-1:O%=(2)*4-3:I%=J% E%=D%+D%(J%) Q%?E%<2S:D|A J%=(J%+O%)6:J%<>v#I%tPA L%=R%:R%=R%+1  R%=H% 0,1:0,131:133,16,-28 0,2:H(M%,0) I%=1 (Q%?(I%*S%+N%)<>3I%500:"TEXTAD" H(X%,Y%) (X%*2-Y%)*16,Y%*24 128  S A%=X%+DX%(J%):B%=Y%+DY%(J%)  H(A%,B%)  Q%?*MAZE+)E%=3 X%=A%:Y%=B%  H%=H%+1 P%!(H%*2)=L%  L%=H%  LX%?H%=A%  LY%?H%=B%  K%=05 C%=E%+D%(K%)  Q%?C%<2:Q%?C%=Q%?C%+1 *K% 4 *MILL+u5 6::;" @ ";: :>1000:1("Press Space Bar to hold this page"):*FX15 (0>0:1(""):=0:TT@ 2>1800:1(""):*FX112,1 P:130:19,6,0;0;:0,134::2:23,1,0;0;0;0;:0,134::6:L=12:X%=L:A%=112:S:7:8:9:A:B:C(500,650,350):L:L=20#:D:E:"TEXTIL" 76:N(50):19,6,6;0;:134:I=815:O:19,I,O;0;:I J 6,6,6,6 T 6,7,4,4 ^T=1:S=&FFF4: |7:23,2,&C,&C,&1C,&C,&C,&C,&2C,&C:23,3,&E,&C,&D,&C,&E,&C,&D,&C:16,0:500,256:1200,256:205,500,700:32,0:1279,0:200,0:205,1279,768#: W8:k=-3000:l=3400:m=200:3:48,0:0,224:101,1279,380:16*L,0:0,0:101,1279,220: l#9:0,3:1000,880:153,0,100: 0(G,H,J):29,G;H;:23,2,&C,&9,&9,&C,&C,&6,&6,&C:0,1:-J/16,0:101,J/16,J/3:W=J/4:U=J/3:O=J-U:16,0:0,O:W,O:205,0,J:I=02*"#/5:W*I,O+U*I:153,0,J/8:I:29,0;0;: \HA:0(800,600,250):0(1100,700,172):0(80,600,90):0(300,550,200): B:0,5:600,100:550,150:85,900,100:85,1000,150:0,0:800,154:1,0,350:0,7:808,172:808,450:85,950,172:792,172:792,500:85,550,1O#72: BC(G,H,J):N=J/6:U=J/5:Q=N/6:M=J*4/9:R=J-M:29,G;H+R;:I=07:0,8+I4:W=(2*I+L-1)*/16:O=W:f=W:@(-Q,M),0(-Q,M):@(-Q,-M),0(-Q,-M):85,@(Q,M),0(Q,M):85,@(Q,-M),0(Q,-M):I:29,G;H;:23,2,0,0,&3F,0,0,0,&3F,0:16,0:-U,0:-N,R:85,U,0 8v#5,N,R:0,7:0,R:N,R:181,-N,R:X=U/7:V=X*2:0,7:-X,0:97,V,V*2:-X,R*2/3:97,V,V:0,0:-X+8,R*2/3+8:97,V-16,V-16:29,0;0;:19,8,0;0;: ݤ@(G,H)=G*O+H*f ݤ0(G,H)=H*O-G*f 4:I1TvF `=Y2:*FX19 N19,Y,4;0;19,Y+1,4;0;:T=T3:X%=T:A%=113:S:?#19,`,6;0;19,`+1,7;0;:Y=`:DrF 6Z=a+1:Z=12Z=8 @HT=T3:U%=Z*16:A%=155:X%=a*16+6:S:A%=113:X%=T:S:A%=155:X%=U%:S:a=Z rI=(I+1)4:2: 2:L=L3:X%=L:A%=112:S: 4D:I=0:Y=&C:a=8:G=0:H=0:g=1:5(1,50):5(50,1): "5(b,h):h>b c=1:i=0c=-1:i=1 #"_=bhc:c>0K=(4)-1K=N(_)1 & d=G:e=H 0(Kg)=1_<>b@ :K+1DDG,DlG,tTG,t|G DG=0@:TpG N!28,G-4,H+7,G+3,H:d=G-4:dZG lG=16@:\p v28,G,H+7,G+7,H:d=G+4:lZ H=0@:\p !28,G,H+7,G+3,H-8:e=H-8:lZ H=24@:\p 2#28,G,H+15,G+3,H:e=H+8 Xj=1(K2+1)*4:23,7,0,K,0;0;0;:2:23,7,0,K,0;0;0;:2:4:j:g=K:G=d:H=e:N(_)=K:_: >@:K=(K+1)4: H3:23,2,&75,&B8,&71,&B0,&75,&B8,&71,&B0:23,3,&B0,&75,&B8,&71,&B0,&75,&B8,&71:23,4,&F,&F,&F,&2F,&F,&F,&F,&F:23,5,&E,&C*MILL+ u!,&D,&C,&E,&C,&D,&C: nF:23,7,0;1,0,0;0;:64,0:512,384:101,528,508:48,0:512,224:101,528,380:16*L,0:512,0:101,528,220: /E:3:28,8,28,19,16:I%=1100:F:4:I%: LK1(G$)29,0;0;:0,0:4,500:101,1279,528:640-(G$)*16,528:0,3:G$;: ;*RECURSE+u 5>1000:ME("Press Space Bar to hold this page")  *FX15 0>0::ME(""):=0:TJ@ ( >1800 2 ME("") < (3)=2 K%=0 K%=1 F N%=7-4*K% P 130-K% Z23,1,0;0;0;0; d J%=12 n M%=512 x I%=16 19,(N%),(7);0; 19,(N%),(7);0; ':# 3,(N%) &K%P(640,512,256)S(640,512,256) M%=M%2 , "TEXTQT" P(X%,Y%,S%) S%1000:ME("Press Space Bar to hold this page") | *FX15 0>0:ME(""):= #0:DrA >1800:ME("")  *FX112,2   *FX112,1 )19,1,7;0;19,2,6;0;19,3,2;0;:*FX113,1 "Z%=Z%3:Z%=1"MAZE""SHAPES"  P(A$,Y)  29,0;0; X1=652-(A$)*48 I=1(A$) #C$=A$,I,1):CH=C$-64:CH T\B iX%(CH)29,0;0;:X%(CH),Y%(CH?~#):0,U%,V%:190,X1-W%,Y 29,X1;Y+W%;:X%(CH)=X1-W%:Y%(CH)=Y:Q=("FN"+C$) X1=X1+96: I & 29,0;0; 0 :9ݤA:V(0,0,C):A(A,C,1,0,-1,0):H(0,B,B):V(B,0,C):= D&ݤB:H(0,0,A):A(A,A,0,-1,0,1):=P N6ݤC:V(0,A,C):A(A,A,-1,0,1,0):A(A,C,1,0,-1,0):= $#X2ݤE:V(0,0,D):H(0,D,B):H(0,B,A):H(0,0,B):= b(ݤH:V(0,0,D):H(0,B,B):V(B,0,D):= lݤI:H(0,0,B):=T v6ݤM:V(0,0,D):D(A,B,0,D):D(A,B,B,D):V(B,0,D):= ݤO:V(B,A,C):=C 9ݤP:V(0,0,D):H(0,B,A):H(0,D,A):A(A,C,0,-1,0,1):= ݤR:D(B,0,#A,B):=P ,ݤS:A(A,A,-1,0,0,1):A(A,C,1,0,0,-1):= ݤT:V(A,0,D):H(0,D,B):= /ݤU:V(0,A,D):A(A,A,-1,0,1,0):V(B,A,D):= ,ݤY:V(A,0,B):D(A,B,0,D):D(A,B,B,D):= V(X%,Y%,A%) !X%-W%,Y%-W%:101,X%+W%,A%+W%  H(X%,Y%,A%) !X%-W%,]#Y%-W%:101,A%+W%,Y%+W%  A(X%,Y%,A%,B%,C%,D%)  4X%,Y%:X%+R%*A%,Y%+R%*B%:181,X%+R%*C%,Y%+R%*D% 90,0:X%,Y%:X%+Q%*A%,Y%+Q%*B%:181,X%+Q%*C%,Y%+Q%*D%  0,1 * 4D(X%,Y%,A%,B%) >.X%-W%,Y%-W%:X%+W%,Y%-W%:117,A%+W%,B%+W% H RDME(M*TITLE# <$):0,0:4,500:101,1279,528:640-(M$)*16,528:0,3:M$;: !+ x (TUV$P SLT -SSTVU`