Home » Archimedes archive » Archimedes World » AW-1994-05-Disc1.adf » Disk1May94 » !AWMay94/Goodies/3D_Demo/!Example-2/!RunImage

!AWMay94/Goodies/3D_Demo/!Example-2/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1994-05-Disc1.adf » Disk1May94
Filename: !AWMay94/Goodies/3D_Demo/!Example-2/!RunImage
Read OK:
File size: 1648 bytes
Load address: 0000
Exec address: 0000
File contents
   60ONERRORMODEMODE:REPORT:PRINT" at Line ";ERL:END
   90MODE9+128:OFF:PROCUV:PROCUW:END
  150DEFPROCUV:ORIGIN640,512:UX=13:UY=14:UZ=15:DIMUa 8*1024:PROCUb:SYS6,112,1:SYS6,113,1:CLS:!Uc=USRUd:SYS6,112,2:SYS6,113,2:CLS:!Ue=USRUd:SYS6,112,2:SYS6,113,1:!Uf=1:Ug= NOTTRUE:PROCUh:PROCUi:Uj=6:Uk=0000:Ul=0000:Um=0200:Un%=000:Uo%=000:Up%=000:DIMUq(Uj+1,3):DIMUr(Uj+1,3):Us=800
  340Uq(1,1)=-100:Uq(1,2)=0:Uq(1,3)=0:Uq(2,1)=+100:Uq(2,2)=0:Uq(2,3)=0:Uq(3,1)=0:Uq(3,2)=+100:Uq(3,3)=0:Uq(4,1)=0:Uq(4,2)=-100:Uq(4,3)=0:Uq(5,1)=0:Uq(5,2)=0:Uq(5,3)=-100:Uq(6,1)=0:Uq(6,2)=0:Uq(6,3)=+100:DIMUt(360),Uu(360):FORi=0 TO359:Ut(i)=SIN(RADi):Uu(i)=COS(RADi):NEXTi
  420ENDPROC
  450DEFPROCUh:FORi=0 TO15:COLOURi,0,0,0:NEXTi:A%=Uv:B%=!Ue:C%=40*1024 :CALLUw:COLOUR0:COLOUR128+7:PRINTTAB(2,7)"EXAMPLE 2"'"  ---------":COLOUR14:PRINTTAB(0,28)"Rotating about the 3D axis":PRINTTAB(7,31)"PRESS SPACE TO CONTINUE...":COLOUR128+0:CALLUx:PROCUy:REPEATUNTILINKEY(-99):REPEATUNTIL NOTINKEY(-99):CALLUz:CALLVU:CALLUx:ENDPROC
  650DEFPROCUy:COLOUR0,&FF,&FF,&FF:COLOUR1,&DD,&DD,&DD:COLOUR2,&BB,&BB,&BB:COLOUR3,&99,&99,&99:COLOUR4,&77,&77,&77:COLOUR5,&55,&55,&55:COLOUR6,&33,&33,&33:COLOUR7,&00,&00,&00:COLOUR8,&00,&44,&99:COLOUR9,&EE,&EE,&00:COLOUR10,&00,&CC,&00:COLOUR11,&DD,&00,&00:COLOUR12,&EE,&EE,&BB:COLOUR13,&55,&88,&00:COLOUR14,&FF,&BB,&00:COLOUR15,&00,&BB,&FF
  740ENDPROC
  770DEFPROCUi:COLOUR0,&00,&00,&00:COLOUR1,&FF,&00,&00:COLOUR2,&00,&FF,&00:COLOUR3,&FF,&FF,&00:COLOUR4,&00,&00,&FF:COLOUR5,&FF,&00,&FF:COLOUR6,&00,&FF,&FF:COLOUR7,&FF,&FF,&FF:COLOUR3,7:COLOUR5,7:COLOUR6,7:COLOUR14,&FF,&CC,&22:OSCLI"Fx  9 5":OSCLI"Fx 10 5":ENDPROC
  910DEFPROCUW:REPEAT:VV$="This is the 3D axis system.":VW$="Press X,Y or Z ...":Uo%=(Uo%+1) MOD360:Un%=(Uu(Uo%)*20) MOD360:IFUn%<0 THENUn%+=360
  980PROCVX:PROCVY:IFINKEY(-98) THENREPEATUNTIL NOTINKEY(-98):COLOUR6,13:PROCVZ(0,180,0,"Z"):COLOUR6,7
 1010IFINKEY(-69) THENREPEATUNTIL NOTINKEY(-69):COLOUR5,12:PROCVZ(90,0,0,"Y"):COLOUR5,7
 1020IFINKEY(-67) THENREPEATUNTIL NOTINKEY(-67):COLOUR3,11:PROCVZ(0,90,0,"X"):COLOUR3,7
 1030PROCVa:CALLUx:UNTILFALSE:ENDPROC
 1080DEFPROCVZ(Vb,Vc,Vd,Ve$):VV$="Okay. You want to make the "+Ve$+" axis":VW$="our 'centre of rotation' ...":PROCVX:PROCVY:PROCVa:CALLUx:T=TIME:REPEATUNTILTIME>T+3*100:VV$="So if I twist this thing round until the":VW$=Ve$+" axis is pointing towards us...":REPEAT:IFUn%>Vb THENUn%-=1
 1190IFUn%<Vb THENUn%+=1
 1200IFUo%>Vc THENUo%-=1
 1210IFUo%<Vc THENUo%+=1
 1220IFUp%>Vd THENUp%-=1
 1230IFUp%<Vd THENUp%+=1
 1240PROCVX:PROCVY:PROCVa:CALLUx:UNTILUn%=Vb ANDUo%=Vc ANDUp%=Vd:T=TIME:REPEATUNTILTIME>T+1*100:PROCVf:T=TIME:REPEATUNTILTIME>T+2*100:PROCVg:ENDPROC
 1350DEFPROCVg:CASEVe$ OF
 1380WHEN"X":Vh$="Z":Vi$="Y":Vj=4:Vk=2
 1390WHEN"Y":Vh$="X":Vi$="Z":Vj=1:Vk=4
 1400WHEN"Z":Vh$="X":Vi$="Y":Vj=1:Vk=2
 1410ENDCASE:VV$="And as far as the":VW$="equations are concerned...":PROCVX:PROCVY:PROCVa:CALLUx:T=TIME:REPEATUNTILTIME>T+6*100:COLOURVj,15:VV$="The 'n' axis is actually the "+Vh$+" axis,":VW$="so substitute "+Vh$+"'s for n's ...":PROCVX:PROCVY:PROCVa:CALLUx:T=TIME:REPEATUNTILTIME>T+8*100:COLOURVj,Vj:COLOURVk,15
 1580VV$="and the 'm' axis is really the "+Vi$+" axis,":VW$="so substitute "+Vi$+"'s for m's.":PROCVX:PROCVY:PROCVa:CALLUx:T=TIME:REPEATUNTILTIME>T+8*100:COLOURVk,Vk:CALLUz:CALLVU:T=TIME:REPEATUNTILTIME>T+2*100:Uo%=(Uo%+1) MOD360:Un%=(Uu(Uo%)*20) MOD360:IFUn%<0 THENUn%+=360
 1710VV$="":VW$="":PROCVX:PROCVY:PROCVa:CALLUx:CALLVl:ENDPROC
 1800DEFPROCVf:Uj=7:VV$="you can see that the "+Ve$+" axis":VW$="has become our centre of rotation":FORVm=0 TO360*4STEP2:CASEVe$ OF
 1860WHEN"X":Uq(7,1)=0:Uq(7,2)=30*SIN(RADVm):Uq(7,3)=30*COS(RADVm)
 1890WHEN"Y":Uq(7,1)=30*SIN(RADVm):Uq(7,2)=0:Uq(7,3)=30*COS(RADVm)
 1920WHEN"Z":Uq(7,1)=30*SIN(RADVm):Uq(7,2)=30*COS(RADVm):Uq(7,3)=0
 1950ENDCASE:IFVm<360*2 THEN
 1970Ul=SIN(RADVm)*25:Uk=COS(RADVm-90)*10
 1990ELSE:Uk=0:Ul=0
 2020ENDIF:PROCVX:PROCVY:PROCVa:CALLUx:NEXTVm:Uj=6:ENDPROC
 2110DEFPROCVY:GCOL0,3:LINEUr(1,1),Ur(1,2),Ur(2,1),Ur(2,2):GCOL0,5:LINEUr(3,1),Ur(3,2),Ur(4,1),Ur(4,2):GCOL0,6:LINEUr(5,1),Ur(5,2),Ur(6,1),Ur(6,2):VDU5:GCOL0,1:MOVEUr(1,1)-16,Ur(1,2)+16:PRINT"X":GCOL0,2:MOVEUr(3,1)-16,Ur(3,2)+16:PRINT"Y":GCOL0,4:MOVEUr(5,1)-16,Ur(5,2)+16:PRINT"Z":VDU4:IFUj=7 THEN
 2210GCOL0,7:POINTUr(7,1),Ur(7,2)
 2230ENDIF:ENDPROC
 2270DEFPROCVX:i=1:WHILEi<=Uj:X=Uq(i,1):Y=Uq(i,2):Z=Uq(i,3):y=Y* Uu( Un% ) - Z * Ut( Un% ):z=Y* Ut( Un% ) + Z * Uu( Un% ) :Y=y:Z=z:x=X* Uu( Uo% ) + Z * Ut( Uo% ):z=Z* Uu( Uo% ) - X * Ut( Uo% ) :X=x:Z=z:x=X* Uu( Up% ) - Y * Ut( Up% )
 2380y=X* Ut( Up% ) + Y * Uu( Up% ) :X=x:Y=y:X+=Uk:Y+=Ul:Z+=Um:Ur(i,1)=(Us*X)/Z:Ur(i,2)=(Us*Y)/Z:Ur(i,3)=Z:i+=1:ENDWHILE:ENDPROC
 2500DEFPROCVa:Vn=(40-LENVV$)/2:Vo=(40-LENVW$)/2:GCOL0,14:VDU5:MOVE-640+Vn*32,-512+64:PRINTVV$:MOVE-640+Vo*32,-512+32:PRINTVW$:VDU4:ENDPROC
 2600DEFPROCUb:FORVp=0 TO2STEP2:P%=Ua:[OPT Vp:.Ud ADR r0,Vq:ADR r1,Vr:SWI "OS_ReadVduVariables":LDR r0,Vr:MOV PC,UY:.Uc DCD 0:.Ue DCD 0:.Uf DCD 0:.Vq DCD 149:DCD -1:.Vr DCD 0:.Ux MOV r0,#19:SWI "OS_Byte":LDR r4,Uf:MOV r0,#112:MOV r1,r4:SWI "OS_Byte": EOR r4, r4, #3
 2950MOV r0,#113:MOV r1,r4:SWI "OS_Byte":STR r4,Uf:LDR r0,Uc : LDR r1,Ue:STR r0,Ue : STR r1,Uc:MOV r0,#12:SWI "OS_WriteC":MOV PC,UY:.Uw LDRB r4,[r0],#1:LDRB r5,[r0],#1:SUBS r2,r2,r5:MOVLT PC,UY:.Vs STRB r4,[r1],#1:SUBS r5,r5,#1:BNE Vs:CMP r2,#0:BGT Uw
 3240MOV PC,UY:.Uz:STMFD (UX)!,{UY}:ADR R12,Vt:MOV R11,#0:.Vu:MOV R0,R11:MOV R1,#16:SWI "OS_ReadPalette":MOV R4,R2,LSR #24 : AND R4, R4, #&FF:MOV R5,R2,LSR #16 : AND R5, R5, #&FF:MOV R6,R2,LSR #8 : AND R6, R6, #&FF:STR R6,[R12],#4:STR R5,[R12],#4:STR R4,[R12],#4
 3440ADD R11,R11,#1:CMP R11,#16:BNE Vu:LDMFD (UX)!,{PC}:.Vl:STMFD (UX)!,{UY}:MOV R11,#1:.Vv:MOV R0,#19 : SWI "OS_Byte":ADR R12,Vt:MOV R10,#0:.Vw:MOV R0,#19 : SWI "OS_WriteC":MOV R0,R10 : SWI "OS_WriteC":MOV R0,#16 : SWI "OS_WriteC":LDR R0,[R12],#4
 3620MUL R0,R11,R0 : MOV R0,R0,LSR #4: AND R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: AND R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: AND R0, R0, #&FF : SWI "OS_WriteC"
 3710ADD R10,R10,#1 : CMP R10,#16:BNE Vw:ADD R11,R11,#1 : CMP R11,#16+1:BNE Vv:LDMFD (UX)!,{PC}:.VU:STMFD (UX)!,{UY}:MOV R11,#15:.Vx:MOV R0,#19 : SWI "OS_Byte":ADR R12,Vt:MOV R10,#0:.Vy:MOV R0,#19 : SWI "OS_WriteC":MOV R0,R10 : SWI "OS_WriteC"
 3870MOV R0,#16 : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: AND R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: AND R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4
 3970 AND R0, R0, #&FF : SWI "OS_WriteC":ADD R10,R10,#1 : CMP R10,#16:BNE Vy:SUBS R11,R11,#1 : CMP R11,#0:BGE Vx:LDMFD (UX)!,{PC}:ALIGN:.Vt : EQUSSTRING$((16*3)*4,CHR$&00): ALIGN:.Uv FNVz("Titl-Data"):]:NEXTVp:ENDPROC
 4210DEFFNWU(WV):P%+=WV:=Vp
 4260DEFFNVz(WW$):WW$="<Example-2$Dir>.Data-Files."+WW$:WX=OPENINWW$:WY=EXT #WX :CLOSE#WX:IFVp>0 THENOSCLI"Load "+WW$+" "+STR$~P%
 4300P%+=WY:[OPT Vp : ALIGN :]:=Vp
<���:�:�" at Line ";�:�
Z�9+128:�:�UV:�UW:�
����UV:ȑ640,512:UX=13:UY=14:UZ=15:�Ua 8*1024:�Ub:ș6,112,1:ș6,113,1:�:!Uc=�Ud:ș6,112,2:ș6,113,2:�:!Ue=�Ud:ș6,112,2:ș6,113,1:!Uf=1:Ug= ��:�Uh:�Ui:Uj=6:Uk=0000:Ul=0000:Um=0200:Un%=000:Uo%=000:Up%=000:�Uq(Uj+1,3):�Ur(Uj+1,3):Us=800
T�Uq(1,1)=-100:Uq(1,2)=0:Uq(1,3)=0:Uq(2,1)=+100:Uq(2,2)=0:Uq(2,3)=0:Uq(3,1)=0:Uq(3,2)=+100:Uq(3,3)=0:Uq(4,1)=0:Uq(4,2)=-100:Uq(4,3)=0:Uq(5,1)=0:Uq(5,2)=0:Uq(5,3)=-100:Uq(6,1)=0:Uq(6,2)=0:Uq(6,3)=+100:�Ut(360),Uu(360):�i=0 �359:Ut(i)=�(�i):Uu(i)=�(�i):�i
��
����Uh:�i=0 �15:�i,0,0,0:�i:A%=Uv:B%=!Ue:C%=40*1024 :�Uw:�0:�128+7:�2,7)"EXAMPLE 2"'"  ---------":�14:�0,28)"Rotating about the 3D axis":�7,31)"PRESS SPACE TO CONTINUE...":�128+0:�Ux:�Uy:���(-99):�� ��(-99):�Uz:�VU:�Ux:�
����Uy:�0,&FF,&FF,&FF:�1,&DD,&DD,&DD:�2,&BB,&BB,&BB:�3,&99,&99,&99:�4,&77,&77,&77:�5,&55,&55,&55:�6,&33,&33,&33:�7,&00,&00,&00:�8,&00,&44,&99:�9,&EE,&EE,&00:�10,&00,&CC,&00:�11,&DD,&00,&00:�12,&EE,&EE,&BB:�13,&55,&88,&00:�14,&FF,&BB,&00:�15,&00,&BB,&FF
��
���Ui:�0,&00,&00,&00:�1,&FF,&00,&00:�2,&00,&FF,&00:�3,&FF,&FF,&00:�4,&00,&00,&FF:�5,&FF,&00,&FF:�6,&00,&FF,&FF:�7,&FF,&FF,&FF:�3,7:�5,7:�6,7:�14,&FF,&CC,&22:�"Fx  9 5":�"Fx 10 5":�
�}��UW:�:VV$="This is the 3D axis system.":VW$="Press X,Y or Z ...":Uo%=(Uo%+1) �360:Un%=(Uu(Uo%)*20) �360:�Un%<0 �Un%+=360
�;�VX:�VY:�(-98) ��� ��(-98):�6,13:�VZ(0,180,0,"Z"):�6,7
�2�(-69) ��� ��(-69):�5,12:�VZ(90,0,0,"Y"):�5,7
�2�(-67) ��� ��(-67):�3,11:�VZ(0,90,0,"X"):�3,7
�Va:�Ux:��:�
8���VZ(Vb,Vc,Vd,Ve$):VV$="Okay. You want to make the "+Ve$+" axis":VW$="our 'centre of rotation' ...":�VX:�VY:�Va:�Ux:T=�:���>T+3*100:VV$="So if I twist this thing round until the":VW$=Ve$+" axis is pointing towards us...":�:�Un%>Vb �Un%-=1
��Un%<Vb �Un%+=1
��Uo%>Vc �Uo%-=1
��Uo%<Vc �Uo%+=1
��Up%>Vd �Up%-=1
��Up%<Vd �Up%+=1
�U�VX:�VY:�Va:�Ux:�Un%=Vb �Uo%=Vc �Up%=Vd:T=�:���>T+1*100:�Vf:T=�:���>T+2*100:�Vg:�
F��Vg:ȎVe$ �
d"�"X":Vh$="Z":Vi$="Y":Vj=4:Vk=2
n"�"Y":Vh$="X":Vi$="Z":Vj=1:Vk=4
x"�"Z":Vh$="X":Vi$="Y":Vj=1:Vk=2
���:VV$="And as far as the":VW$="equations are concerned...":�VX:�VY:�Va:�Ux:T=�:���>T+6*100:�Vj,15:VV$="The 'n' axis is actually the "+Vh$+" axis,":VW$="so substitute "+Vh$+"'s for n's ...":�VX:�VY:�Va:�Ux:T=�:���>T+8*100:�Vj,Vj:�Vk,15
,�VV$="and the 'm' axis is really the "+Vi$+" axis,":VW$="so substitute "+Vi$+"'s for m's.":�VX:�VY:�Va:�Ux:T=�:���>T+8*100:�Vk,Vk:�Uz:�VU:T=�:���>T+2*100:Uo%=(Uo%+1) �360:Un%=(Uu(Uo%)*20) �360:�Un%<0 �Un%+=360
�'VV$="":VW$="":�VX:�VY:�Va:�Ux:�Vl:�
t��Vf:Uj=7:VV$="you can see that the "+Ve$+" axis":VW$="has become our centre of rotation":�Vm=0 �360*4�2:ȎVe$ �
D6�"X":Uq(7,1)=0:Uq(7,2)=30*�(�Vm):Uq(7,3)=30*�(�Vm)
b6�"Y":Uq(7,1)=30*�(�Vm):Uq(7,2)=0:Uq(7,3)=30*�(�Vm)
�6�"Z":Uq(7,1)=30*�(�Vm):Uq(7,2)=30*�(�Vm):Uq(7,3)=0
��:�Vm<360*2 �
� Ul=�(�Vm)*25:Uk=�(�Vm-90)*10
��:Uk=0:Ul=0
� �:�VX:�VY:�Va:�Ux:�Vm:Uj=6:�
>���VY:�0,3:�Ur(1,1),Ur(1,2),Ur(2,1),Ur(2,2):�0,5:�Ur(3,1),Ur(3,2),Ur(4,1),Ur(4,2):�0,6:�Ur(5,1),Ur(5,2),Ur(6,1),Ur(6,2):�5:�0,1:�Ur(1,1)-16,Ur(1,2)+16:�"X":�0,2:�Ur(3,1)-16,Ur(3,2)+16:�"Y":�0,4:�Ur(5,1)-16,Ur(5,2)+16:�"Z":�4:�Uj=7 �
��0,7:ȒUr(7,1),Ur(7,2)
��:�
����VX:i=1:ȕi<=Uj:X=Uq(i,1):Y=Uq(i,2):Z=Uq(i,3):y=Y* Uu( Un% ) - Z * Ut( Un% ):z=Y* Ut( Un% ) + Z * Uu( Un% ) :Y=y:Z=z:x=X* Uu( Uo% ) + Z * Ut( Uo% ):z=Z* Uu( Uo% ) - X * Ut( Uo% ) :X=x:Z=z:x=X* Uu( Up% ) - Y * Ut( Up% )
	Lry=X* Ut( Up% ) + Y * Uu( Up% ) :X=x:Y=y:X+=Uk:Y+=Ul:Z+=Um:Ur(i,1)=(Us*X)/Z:Ur(i,2)=(Us*Y)/Z:Ur(i,3)=Z:i+=1:�:�
	�f��Va:Vn=(40-�VV$)/2:Vo=(40-�VW$)/2:�0,14:�5:�-640+Vn*32,-512+64:�VV$:�-640+Vo*32,-512+32:�VW$:�4:�
(���Ub:�Vp=0 �2�2:P%=Ua:[OPT Vp:.Ud ADR r0,Vq:ADR r1,Vr:SWI "OS_ReadVduVariables":LDR r0,Vr:MOV PC,UY:.Uc DCD 0:.Ue DCD 0:.Uf DCD 0:.Vq DCD 149:DCD -1:.Vr DCD 0:.Ux MOV r0,#19:SWI "OS_Byte":LDR r4,Uf:MOV r0,#112:MOV r1,r4:SWI "OS_Byte": � r4, r4, #3
��MOV r0,#113:MOV r1,r4:SWI "OS_Byte":STR r4,Uf:LDR r0,Uc : LDR r1,Ue:STR r0,Ue : STR r1,Uc:MOV r0,#12:SWI "OS_WriteC":MOV PC,UY:.Uw LDRB r4,[r0],#1:LDRB r5,[r0],#1:SUBS r2,r2,r5:MOVLT PC,UY:.Vs STRB r4,[r1],#1:SUBS r5,r5,#1:BNE Vs:CMP r2,#0:BGT Uw
��MOV PC,UY:.Uz:STMFD (UX)!,{UY}:ADR R12,Vt:MOV R11,#0:.Vu:MOV R0,R11:MOV R1,#16:SWI "OS_ReadPalette":MOV R4,R2,LSR #24 : � R4, R4, #&FF:MOV R5,R2,LSR #16 : � R5, R5, #&FF:MOV R6,R2,LSR #8 : � R6, R6, #&FF:STR R6,[R12],#4:STR R5,[R12],#4:STR R4,[R12],#4

p�ADD R11,R11,#1:CMP R11,#16:BNE Vu:LDMFD (UX)!,{PC}:.Vl:STMFD (UX)!,{UY}:MOV R11,#1:.Vv:MOV R0,#19 : SWI "OS_Byte":ADR R12,Vt:MOV R10,#0:.Vw:MOV R0,#19 : SWI "OS_WriteC":MOV R0,R10 : SWI "OS_WriteC":MOV R0,#16 : SWI "OS_WriteC":LDR R0,[R12],#4
$�MUL R0,R11,R0 : MOV R0,R0,LSR #4: � R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: � R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: � R0, R0, #&FF : SWI "OS_WriteC"
~�ADD R10,R10,#1 : CMP R10,#16:BNE Vw:ADD R11,R11,#1 : CMP R11,#16+1:BNE Vv:LDMFD (UX)!,{PC}:.VU:STMFD (UX)!,{UY}:MOV R11,#15:.Vx:MOV R0,#19 : SWI "OS_Byte":ADR R12,Vt:MOV R10,#0:.Vy:MOV R0,#19 : SWI "OS_WriteC":MOV R0,R10 : SWI "OS_WriteC"
�MOV R0,#16 : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: � R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4: � R0, R0, #&FF : SWI "OS_WriteC":LDR R0,[R12],#4:MUL R0,R11,R0 : MOV R0,R0,LSR #4
�� � R0, R0, #&FF : SWI "OS_WriteC":ADD R10,R10,#1 : CMP R10,#16:BNE Vy:SUBS R11,R11,#1 : CMP R11,#0:BGE Vx:LDMFD (UX)!,{PC}:ALIGN:.Vt : EQUS�(16*3)*4,�&00): ALIGN:.Uv �Vz("Titl-Data"):]:�Vp:�
rݤWU(WV):P%+=WV:=Vp
�gݤVz(WW$):WW$="<Example-2$Dir>.Data-Files."+WW$:WX=�WW$:WY=� #WX :�#WX:�Vp>0 ��"Load "+WW$+" "+�~P%
�!P%+=WY:[OPT Vp : ALIGN :]:=Vp
�
00000000  0d 00 3c 1b ee 85 eb eb  3a f6 3a f1 22 20 61 74  |..<.....:.:." at|
00000010  20 4c 69 6e 65 20 22 3b  9e 3a e0 0d 00 5a 16 eb  | Line ";.:...Z..|
00000020  39 2b 31 32 38 3a 87 3a  f2 55 56 3a f2 55 57 3a  |9+128:.:.UV:.UW:|
00000030  e0 0d 00 96 ec dd f2 55  56 3a c8 91 36 34 30 2c  |.......UV:..640,|
00000040  35 31 32 3a 55 58 3d 31  33 3a 55 59 3d 31 34 3a  |512:UX=13:UY=14:|
00000050  55 5a 3d 31 35 3a de 55  61 20 38 2a 31 30 32 34  |UZ=15:.Ua 8*1024|
00000060  3a f2 55 62 3a c8 99 36  2c 31 31 32 2c 31 3a c8  |:.Ub:..6,112,1:.|
00000070  99 36 2c 31 31 33 2c 31  3a db 3a 21 55 63 3d ba  |.6,113,1:.:!Uc=.|
00000080  55 64 3a c8 99 36 2c 31  31 32 2c 32 3a c8 99 36  |Ud:..6,112,2:..6|
00000090  2c 31 31 33 2c 32 3a db  3a 21 55 65 3d ba 55 64  |,113,2:.:!Ue=.Ud|
000000a0  3a c8 99 36 2c 31 31 32  2c 32 3a c8 99 36 2c 31  |:..6,112,2:..6,1|
000000b0  31 33 2c 31 3a 21 55 66  3d 31 3a 55 67 3d 20 ac  |13,1:!Uf=1:Ug= .|
000000c0  b9 3a f2 55 68 3a f2 55  69 3a 55 6a 3d 36 3a 55  |.:.Uh:.Ui:Uj=6:U|
000000d0  6b 3d 30 30 30 30 3a 55  6c 3d 30 30 30 30 3a 55  |k=0000:Ul=0000:U|
000000e0  6d 3d 30 32 30 30 3a 55  6e 25 3d 30 30 30 3a 55  |m=0200:Un%=000:U|
000000f0  6f 25 3d 30 30 30 3a 55  70 25 3d 30 30 30 3a de  |o%=000:Up%=000:.|
00000100  55 71 28 55 6a 2b 31 2c  33 29 3a de 55 72 28 55  |Uq(Uj+1,3):.Ur(U|
00000110  6a 2b 31 2c 33 29 3a 55  73 3d 38 30 30 0d 01 54  |j+1,3):Us=800..T|
00000120  ff 55 71 28 31 2c 31 29  3d 2d 31 30 30 3a 55 71  |.Uq(1,1)=-100:Uq|
00000130  28 31 2c 32 29 3d 30 3a  55 71 28 31 2c 33 29 3d  |(1,2)=0:Uq(1,3)=|
00000140  30 3a 55 71 28 32 2c 31  29 3d 2b 31 30 30 3a 55  |0:Uq(2,1)=+100:U|
00000150  71 28 32 2c 32 29 3d 30  3a 55 71 28 32 2c 33 29  |q(2,2)=0:Uq(2,3)|
00000160  3d 30 3a 55 71 28 33 2c  31 29 3d 30 3a 55 71 28  |=0:Uq(3,1)=0:Uq(|
00000170  33 2c 32 29 3d 2b 31 30  30 3a 55 71 28 33 2c 33  |3,2)=+100:Uq(3,3|
00000180  29 3d 30 3a 55 71 28 34  2c 31 29 3d 30 3a 55 71  |)=0:Uq(4,1)=0:Uq|
00000190  28 34 2c 32 29 3d 2d 31  30 30 3a 55 71 28 34 2c  |(4,2)=-100:Uq(4,|
000001a0  33 29 3d 30 3a 55 71 28  35 2c 31 29 3d 30 3a 55  |3)=0:Uq(5,1)=0:U|
000001b0  71 28 35 2c 32 29 3d 30  3a 55 71 28 35 2c 33 29  |q(5,2)=0:Uq(5,3)|
000001c0  3d 2d 31 30 30 3a 55 71  28 36 2c 31 29 3d 30 3a  |=-100:Uq(6,1)=0:|
000001d0  55 71 28 36 2c 32 29 3d  30 3a 55 71 28 36 2c 33  |Uq(6,2)=0:Uq(6,3|
000001e0  29 3d 2b 31 30 30 3a de  55 74 28 33 36 30 29 2c  |)=+100:.Ut(360),|
000001f0  55 75 28 33 36 30 29 3a  e3 69 3d 30 20 b8 33 35  |Uu(360):.i=0 .35|
00000200  39 3a 55 74 28 69 29 3d  b5 28 b2 69 29 3a 55 75  |9:Ut(i)=.(.i):Uu|
00000210  28 69 29 3d 9b 28 b2 69  29 3a ed 69 0d 01 a4 05  |(i)=.(.i):.i....|
00000220  e1 0d 01 c2 e1 dd f2 55  68 3a e3 69 3d 30 20 b8  |.......Uh:.i=0 .|
00000230  31 35 3a fb 69 2c 30 2c  30 2c 30 3a ed 69 3a 41  |15:.i,0,0,0:.i:A|
00000240  25 3d 55 76 3a 42 25 3d  21 55 65 3a 43 25 3d 34  |%=Uv:B%=!Ue:C%=4|
00000250  30 2a 31 30 32 34 20 3a  d6 55 77 3a fb 30 3a fb  |0*1024 :.Uw:.0:.|
00000260  31 32 38 2b 37 3a f1 8a  32 2c 37 29 22 45 58 41  |128+7:..2,7)"EXA|
00000270  4d 50 4c 45 20 32 22 27  22 20 20 2d 2d 2d 2d 2d  |MPLE 2"'"  -----|
00000280  2d 2d 2d 2d 22 3a fb 31  34 3a f1 8a 30 2c 32 38  |----":.14:..0,28|
00000290  29 22 52 6f 74 61 74 69  6e 67 20 61 62 6f 75 74  |)"Rotating about|
000002a0  20 74 68 65 20 33 44 20  61 78 69 73 22 3a f1 8a  | the 3D axis":..|
000002b0  37 2c 33 31 29 22 50 52  45 53 53 20 53 50 41 43  |7,31)"PRESS SPAC|
000002c0  45 20 54 4f 20 43 4f 4e  54 49 4e 55 45 2e 2e 2e  |E TO CONTINUE...|
000002d0  22 3a fb 31 32 38 2b 30  3a d6 55 78 3a f2 55 79  |":.128+0:.Ux:.Uy|
000002e0  3a f5 fd a6 28 2d 39 39  29 3a f5 fd 20 ac a6 28  |:...(-99):.. ..(|
000002f0  2d 39 39 29 3a d6 55 7a  3a d6 56 55 3a d6 55 78  |-99):.Uz:.VU:.Ux|
00000300  3a e1 0d 02 8a fe dd f2  55 79 3a fb 30 2c 26 46  |:.......Uy:.0,&F|
00000310  46 2c 26 46 46 2c 26 46  46 3a fb 31 2c 26 44 44  |F,&FF,&FF:.1,&DD|
00000320  2c 26 44 44 2c 26 44 44  3a fb 32 2c 26 42 42 2c  |,&DD,&DD:.2,&BB,|
00000330  26 42 42 2c 26 42 42 3a  fb 33 2c 26 39 39 2c 26  |&BB,&BB:.3,&99,&|
00000340  39 39 2c 26 39 39 3a fb  34 2c 26 37 37 2c 26 37  |99,&99:.4,&77,&7|
00000350  37 2c 26 37 37 3a fb 35  2c 26 35 35 2c 26 35 35  |7,&77:.5,&55,&55|
00000360  2c 26 35 35 3a fb 36 2c  26 33 33 2c 26 33 33 2c  |,&55:.6,&33,&33,|
00000370  26 33 33 3a fb 37 2c 26  30 30 2c 26 30 30 2c 26  |&33:.7,&00,&00,&|
00000380  30 30 3a fb 38 2c 26 30  30 2c 26 34 34 2c 26 39  |00:.8,&00,&44,&9|
00000390  39 3a fb 39 2c 26 45 45  2c 26 45 45 2c 26 30 30  |9:.9,&EE,&EE,&00|
000003a0  3a fb 31 30 2c 26 30 30  2c 26 43 43 2c 26 30 30  |:.10,&00,&CC,&00|
000003b0  3a fb 31 31 2c 26 44 44  2c 26 30 30 2c 26 30 30  |:.11,&DD,&00,&00|
000003c0  3a fb 31 32 2c 26 45 45  2c 26 45 45 2c 26 42 42  |:.12,&EE,&EE,&BB|
000003d0  3a fb 31 33 2c 26 35 35  2c 26 38 38 2c 26 30 30  |:.13,&55,&88,&00|
000003e0  3a fb 31 34 2c 26 46 46  2c 26 42 42 2c 26 30 30  |:.14,&FF,&BB,&00|
000003f0  3a fb 31 35 2c 26 30 30  2c 26 42 42 2c 26 46 46  |:.15,&00,&BB,&FF|
00000400  0d 02 e4 05 e1 0d 03 02  b7 dd f2 55 69 3a fb 30  |...........Ui:.0|
00000410  2c 26 30 30 2c 26 30 30  2c 26 30 30 3a fb 31 2c  |,&00,&00,&00:.1,|
00000420  26 46 46 2c 26 30 30 2c  26 30 30 3a fb 32 2c 26  |&FF,&00,&00:.2,&|
00000430  30 30 2c 26 46 46 2c 26  30 30 3a fb 33 2c 26 46  |00,&FF,&00:.3,&F|
00000440  46 2c 26 46 46 2c 26 30  30 3a fb 34 2c 26 30 30  |F,&FF,&00:.4,&00|
00000450  2c 26 30 30 2c 26 46 46  3a fb 35 2c 26 46 46 2c  |,&00,&FF:.5,&FF,|
00000460  26 30 30 2c 26 46 46 3a  fb 36 2c 26 30 30 2c 26  |&00,&FF:.6,&00,&|
00000470  46 46 2c 26 46 46 3a fb  37 2c 26 46 46 2c 26 46  |FF,&FF:.7,&FF,&F|
00000480  46 2c 26 46 46 3a fb 33  2c 37 3a fb 35 2c 37 3a  |F,&FF:.3,7:.5,7:|
00000490  fb 36 2c 37 3a fb 31 34  2c 26 46 46 2c 26 43 43  |.6,7:.14,&FF,&CC|
000004a0  2c 26 32 32 3a ff 22 46  78 20 20 39 20 35 22 3a  |,&22:."Fx  9 5":|
000004b0  ff 22 46 78 20 31 30 20  35 22 3a e1 0d 03 8e 7d  |."Fx 10 5":....}|
000004c0  dd f2 55 57 3a f5 3a 56  56 24 3d 22 54 68 69 73  |..UW:.:VV$="This|
000004d0  20 69 73 20 74 68 65 20  33 44 20 61 78 69 73 20  | is the 3D axis |
000004e0  73 79 73 74 65 6d 2e 22  3a 56 57 24 3d 22 50 72  |system.":VW$="Pr|
000004f0  65 73 73 20 58 2c 59 20  6f 72 20 5a 20 2e 2e 2e  |ess X,Y or Z ...|
00000500  22 3a 55 6f 25 3d 28 55  6f 25 2b 31 29 20 83 33  |":Uo%=(Uo%+1) .3|
00000510  36 30 3a 55 6e 25 3d 28  55 75 28 55 6f 25 29 2a  |60:Un%=(Uu(Uo%)*|
00000520  32 30 29 20 83 33 36 30  3a e7 55 6e 25 3c 30 20  |20) .360:.Un%<0 |
00000530  8c 55 6e 25 2b 3d 33 36  30 0d 03 d4 3b f2 56 58  |.Un%+=360...;.VX|
00000540  3a f2 56 59 3a e7 a6 28  2d 39 38 29 20 8c f5 fd  |:.VY:..(-98) ...|
00000550  20 ac a6 28 2d 39 38 29  3a fb 36 2c 31 33 3a f2  | ..(-98):.6,13:.|
00000560  56 5a 28 30 2c 31 38 30  2c 30 2c 22 5a 22 29 3a  |VZ(0,180,0,"Z"):|
00000570  fb 36 2c 37 0d 03 f2 32  e7 a6 28 2d 36 39 29 20  |.6,7...2..(-69) |
00000580  8c f5 fd 20 ac a6 28 2d  36 39 29 3a fb 35 2c 31  |... ..(-69):.5,1|
00000590  32 3a f2 56 5a 28 39 30  2c 30 2c 30 2c 22 59 22  |2:.VZ(90,0,0,"Y"|
000005a0  29 3a fb 35 2c 37 0d 03  fc 32 e7 a6 28 2d 36 37  |):.5,7...2..(-67|
000005b0  29 20 8c f5 fd 20 ac a6  28 2d 36 37 29 3a fb 33  |) ... ..(-67):.3|
000005c0  2c 31 31 3a f2 56 5a 28  30 2c 39 30 2c 30 2c 22  |,11:.VZ(0,90,0,"|
000005d0  58 22 29 3a fb 33 2c 37  0d 04 06 10 f2 56 61 3a  |X"):.3,7.....Va:|
000005e0  d6 55 78 3a fd a3 3a e1  0d 04 38 f2 dd f2 56 5a  |.Ux:..:...8...VZ|
000005f0  28 56 62 2c 56 63 2c 56  64 2c 56 65 24 29 3a 56  |(Vb,Vc,Vd,Ve$):V|
00000600  56 24 3d 22 4f 6b 61 79  2e 20 59 6f 75 20 77 61  |V$="Okay. You wa|
00000610  6e 74 20 74 6f 20 6d 61  6b 65 20 74 68 65 20 22  |nt to make the "|
00000620  2b 56 65 24 2b 22 20 61  78 69 73 22 3a 56 57 24  |+Ve$+" axis":VW$|
00000630  3d 22 6f 75 72 20 27 63  65 6e 74 72 65 20 6f 66  |="our 'centre of|
00000640  20 72 6f 74 61 74 69 6f  6e 27 20 2e 2e 2e 22 3a  | rotation' ...":|
00000650  f2 56 58 3a f2 56 59 3a  f2 56 61 3a d6 55 78 3a  |.VX:.VY:.Va:.Ux:|
00000660  54 3d 91 3a f5 fd 91 3e  54 2b 33 2a 31 30 30 3a  |T=.:...>T+3*100:|
00000670  56 56 24 3d 22 53 6f 20  69 66 20 49 20 74 77 69  |VV$="So if I twi|
00000680  73 74 20 74 68 69 73 20  74 68 69 6e 67 20 72 6f  |st this thing ro|
00000690  75 6e 64 20 75 6e 74 69  6c 20 74 68 65 22 3a 56  |und until the":V|
000006a0  57 24 3d 56 65 24 2b 22  20 61 78 69 73 20 69 73  |W$=Ve$+" axis is|
000006b0  20 70 6f 69 6e 74 69 6e  67 20 74 6f 77 61 72 64  | pointing toward|
000006c0  73 20 75 73 2e 2e 2e 22  3a f5 3a e7 55 6e 25 3e  |s us...":.:.Un%>|
000006d0  56 62 20 8c 55 6e 25 2d  3d 31 0d 04 a6 13 e7 55  |Vb .Un%-=1.....U|
000006e0  6e 25 3c 56 62 20 8c 55  6e 25 2b 3d 31 0d 04 b0  |n%<Vb .Un%+=1...|
000006f0  13 e7 55 6f 25 3e 56 63  20 8c 55 6f 25 2d 3d 31  |..Uo%>Vc .Uo%-=1|
00000700  0d 04 ba 13 e7 55 6f 25  3c 56 63 20 8c 55 6f 25  |.....Uo%<Vc .Uo%|
00000710  2b 3d 31 0d 04 c4 13 e7  55 70 25 3e 56 64 20 8c  |+=1.....Up%>Vd .|
00000720  55 70 25 2d 3d 31 0d 04  ce 13 e7 55 70 25 3c 56  |Up%-=1.....Up%<V|
00000730  64 20 8c 55 70 25 2b 3d  31 0d 04 d8 55 f2 56 58  |d .Up%+=1...U.VX|
00000740  3a f2 56 59 3a f2 56 61  3a d6 55 78 3a fd 55 6e  |:.VY:.Va:.Ux:.Un|
00000750  25 3d 56 62 20 80 55 6f  25 3d 56 63 20 80 55 70  |%=Vb .Uo%=Vc .Up|
00000760  25 3d 56 64 3a 54 3d 91  3a f5 fd 91 3e 54 2b 31  |%=Vd:T=.:...>T+1|
00000770  2a 31 30 30 3a f2 56 66  3a 54 3d 91 3a f5 fd 91  |*100:.Vf:T=.:...|
00000780  3e 54 2b 32 2a 31 30 30  3a f2 56 67 3a e1 0d 05  |>T+2*100:.Vg:...|
00000790  46 10 dd f2 56 67 3a c8  8e 56 65 24 20 ca 0d 05  |F...Vg:..Ve$ ...|
000007a0  64 22 c9 22 58 22 3a 56  68 24 3d 22 5a 22 3a 56  |d"."X":Vh$="Z":V|
000007b0  69 24 3d 22 59 22 3a 56  6a 3d 34 3a 56 6b 3d 32  |i$="Y":Vj=4:Vk=2|
000007c0  0d 05 6e 22 c9 22 59 22  3a 56 68 24 3d 22 58 22  |..n"."Y":Vh$="X"|
000007d0  3a 56 69 24 3d 22 5a 22  3a 56 6a 3d 31 3a 56 6b  |:Vi$="Z":Vj=1:Vk|
000007e0  3d 34 0d 05 78 22 c9 22  5a 22 3a 56 68 24 3d 22  |=4..x"."Z":Vh$="|
000007f0  58 22 3a 56 69 24 3d 22  59 22 3a 56 6a 3d 31 3a  |X":Vi$="Y":Vj=1:|
00000800  56 6b 3d 32 0d 05 82 ee  cb 3a 56 56 24 3d 22 41  |Vk=2.....:VV$="A|
00000810  6e 64 20 61 73 20 66 61  72 20 61 73 20 74 68 65  |nd as far as the|
00000820  22 3a 56 57 24 3d 22 65  71 75 61 74 69 6f 6e 73  |":VW$="equations|
00000830  20 61 72 65 20 63 6f 6e  63 65 72 6e 65 64 2e 2e  | are concerned..|
00000840  2e 22 3a f2 56 58 3a f2  56 59 3a f2 56 61 3a d6  |.":.VX:.VY:.Va:.|
00000850  55 78 3a 54 3d 91 3a f5  fd 91 3e 54 2b 36 2a 31  |Ux:T=.:...>T+6*1|
00000860  30 30 3a fb 56 6a 2c 31  35 3a 56 56 24 3d 22 54  |00:.Vj,15:VV$="T|
00000870  68 65 20 27 6e 27 20 61  78 69 73 20 69 73 20 61  |he 'n' axis is a|
00000880  63 74 75 61 6c 6c 79 20  74 68 65 20 22 2b 56 68  |ctually the "+Vh|
00000890  24 2b 22 20 61 78 69 73  2c 22 3a 56 57 24 3d 22  |$+" axis,":VW$="|
000008a0  73 6f 20 73 75 62 73 74  69 74 75 74 65 20 22 2b  |so substitute "+|
000008b0  56 68 24 2b 22 27 73 20  66 6f 72 20 6e 27 73 20  |Vh$+"'s for n's |
000008c0  2e 2e 2e 22 3a f2 56 58  3a f2 56 59 3a f2 56 61  |...":.VX:.VY:.Va|
000008d0  3a d6 55 78 3a 54 3d 91  3a f5 fd 91 3e 54 2b 38  |:.Ux:T=.:...>T+8|
000008e0  2a 31 30 30 3a fb 56 6a  2c 56 6a 3a fb 56 6b 2c  |*100:.Vj,Vj:.Vk,|
000008f0  31 35 0d 06 2c d4 56 56  24 3d 22 61 6e 64 20 74  |15..,.VV$="and t|
00000900  68 65 20 27 6d 27 20 61  78 69 73 20 69 73 20 72  |he 'm' axis is r|
00000910  65 61 6c 6c 79 20 74 68  65 20 22 2b 56 69 24 2b  |eally the "+Vi$+|
00000920  22 20 61 78 69 73 2c 22  3a 56 57 24 3d 22 73 6f  |" axis,":VW$="so|
00000930  20 73 75 62 73 74 69 74  75 74 65 20 22 2b 56 69  | substitute "+Vi|
00000940  24 2b 22 27 73 20 66 6f  72 20 6d 27 73 2e 22 3a  |$+"'s for m's.":|
00000950  f2 56 58 3a f2 56 59 3a  f2 56 61 3a d6 55 78 3a  |.VX:.VY:.Va:.Ux:|
00000960  54 3d 91 3a f5 fd 91 3e  54 2b 38 2a 31 30 30 3a  |T=.:...>T+8*100:|
00000970  fb 56 6b 2c 56 6b 3a d6  55 7a 3a d6 56 55 3a 54  |.Vk,Vk:.Uz:.VU:T|
00000980  3d 91 3a f5 fd 91 3e 54  2b 32 2a 31 30 30 3a 55  |=.:...>T+2*100:U|
00000990  6f 25 3d 28 55 6f 25 2b  31 29 20 83 33 36 30 3a  |o%=(Uo%+1) .360:|
000009a0  55 6e 25 3d 28 55 75 28  55 6f 25 29 2a 32 30 29  |Un%=(Uu(Uo%)*20)|
000009b0  20 83 33 36 30 3a e7 55  6e 25 3c 30 20 8c 55 6e  | .360:.Un%<0 .Un|
000009c0  25 2b 3d 33 36 30 0d 06  ae 27 56 56 24 3d 22 22  |%+=360...'VV$=""|
000009d0  3a 56 57 24 3d 22 22 3a  f2 56 58 3a f2 56 59 3a  |:VW$="":.VX:.VY:|
000009e0  f2 56 61 3a d6 55 78 3a  d6 56 6c 3a e1 0d 07 08  |.Va:.Ux:.Vl:....|
000009f0  74 dd f2 56 66 3a 55 6a  3d 37 3a 56 56 24 3d 22  |t..Vf:Uj=7:VV$="|
00000a00  79 6f 75 20 63 61 6e 20  73 65 65 20 74 68 61 74  |you can see that|
00000a10  20 74 68 65 20 22 2b 56  65 24 2b 22 20 61 78 69  | the "+Ve$+" axi|
00000a20  73 22 3a 56 57 24 3d 22  68 61 73 20 62 65 63 6f  |s":VW$="has beco|
00000a30  6d 65 20 6f 75 72 20 63  65 6e 74 72 65 20 6f 66  |me our centre of|
00000a40  20 72 6f 74 61 74 69 6f  6e 22 3a e3 56 6d 3d 30  | rotation":.Vm=0|
00000a50  20 b8 33 36 30 2a 34 88  32 3a c8 8e 56 65 24 20  | .360*4.2:..Ve$ |
00000a60  ca 0d 07 44 36 c9 22 58  22 3a 55 71 28 37 2c 31  |...D6."X":Uq(7,1|
00000a70  29 3d 30 3a 55 71 28 37  2c 32 29 3d 33 30 2a b5  |)=0:Uq(7,2)=30*.|
00000a80  28 b2 56 6d 29 3a 55 71  28 37 2c 33 29 3d 33 30  |(.Vm):Uq(7,3)=30|
00000a90  2a 9b 28 b2 56 6d 29 0d  07 62 36 c9 22 59 22 3a  |*.(.Vm)..b6."Y":|
00000aa0  55 71 28 37 2c 31 29 3d  33 30 2a b5 28 b2 56 6d  |Uq(7,1)=30*.(.Vm|
00000ab0  29 3a 55 71 28 37 2c 32  29 3d 30 3a 55 71 28 37  |):Uq(7,2)=0:Uq(7|
00000ac0  2c 33 29 3d 33 30 2a 9b  28 b2 56 6d 29 0d 07 80  |,3)=30*.(.Vm)...|
00000ad0  36 c9 22 5a 22 3a 55 71  28 37 2c 31 29 3d 33 30  |6."Z":Uq(7,1)=30|
00000ae0  2a b5 28 b2 56 6d 29 3a  55 71 28 37 2c 32 29 3d  |*.(.Vm):Uq(7,2)=|
00000af0  33 30 2a 9b 28 b2 56 6d  29 3a 55 71 28 37 2c 33  |30*.(.Vm):Uq(7,3|
00000b00  29 3d 30 0d 07 9e 11 cb  3a e7 56 6d 3c 33 36 30  |)=0.....:.Vm<360|
00000b10  2a 32 20 8c 0d 07 b2 20  55 6c 3d b5 28 b2 56 6d  |*2 .... Ul=.(.Vm|
00000b20  29 2a 32 35 3a 55 6b 3d  9b 28 b2 56 6d 2d 39 30  |)*25:Uk=.(.Vm-90|
00000b30  29 2a 31 30 0d 07 c6 0f  cc 3a 55 6b 3d 30 3a 55  |)*10.....:Uk=0:U|
00000b40  6c 3d 30 0d 07 e4 20 cd  3a f2 56 58 3a f2 56 59  |l=0... .:.VX:.VY|
00000b50  3a f2 56 61 3a d6 55 78  3a ed 56 6d 3a 55 6a 3d  |:.Va:.Ux:.Vm:Uj=|
00000b60  36 3a e1 0d 08 3e eb dd  f2 56 59 3a e6 30 2c 33  |6:...>...VY:.0,3|
00000b70  3a 86 55 72 28 31 2c 31  29 2c 55 72 28 31 2c 32  |:.Ur(1,1),Ur(1,2|
00000b80  29 2c 55 72 28 32 2c 31  29 2c 55 72 28 32 2c 32  |),Ur(2,1),Ur(2,2|
00000b90  29 3a e6 30 2c 35 3a 86  55 72 28 33 2c 31 29 2c  |):.0,5:.Ur(3,1),|
00000ba0  55 72 28 33 2c 32 29 2c  55 72 28 34 2c 31 29 2c  |Ur(3,2),Ur(4,1),|
00000bb0  55 72 28 34 2c 32 29 3a  e6 30 2c 36 3a 86 55 72  |Ur(4,2):.0,6:.Ur|
00000bc0  28 35 2c 31 29 2c 55 72  28 35 2c 32 29 2c 55 72  |(5,1),Ur(5,2),Ur|
00000bd0  28 36 2c 31 29 2c 55 72  28 36 2c 32 29 3a ef 35  |(6,1),Ur(6,2):.5|
00000be0  3a e6 30 2c 31 3a ec 55  72 28 31 2c 31 29 2d 31  |:.0,1:.Ur(1,1)-1|
00000bf0  36 2c 55 72 28 31 2c 32  29 2b 31 36 3a f1 22 58  |6,Ur(1,2)+16:."X|
00000c00  22 3a e6 30 2c 32 3a ec  55 72 28 33 2c 31 29 2d  |":.0,2:.Ur(3,1)-|
00000c10  31 36 2c 55 72 28 33 2c  32 29 2b 31 36 3a f1 22  |16,Ur(3,2)+16:."|
00000c20  59 22 3a e6 30 2c 34 3a  ec 55 72 28 35 2c 31 29  |Y":.0,4:.Ur(5,1)|
00000c30  2d 31 36 2c 55 72 28 35  2c 32 29 2b 31 36 3a f1  |-16,Ur(5,2)+16:.|
00000c40  22 5a 22 3a ef 34 3a e7  55 6a 3d 37 20 8c 0d 08  |"Z":.4:.Uj=7 ...|
00000c50  a2 1a e6 30 2c 37 3a c8  92 55 72 28 37 2c 31 29  |...0,7:..Ur(7,1)|
00000c60  2c 55 72 28 37 2c 32 29  0d 08 b6 07 cd 3a e1 0d  |,Ur(7,2).....:..|
00000c70  08 de df dd f2 56 58 3a  69 3d 31 3a c8 95 69 3c  |.....VX:i=1:..i<|
00000c80  3d 55 6a 3a 58 3d 55 71  28 69 2c 31 29 3a 59 3d  |=Uj:X=Uq(i,1):Y=|
00000c90  55 71 28 69 2c 32 29 3a  5a 3d 55 71 28 69 2c 33  |Uq(i,2):Z=Uq(i,3|
00000ca0  29 3a 79 3d 59 2a 20 55  75 28 20 55 6e 25 20 29  |):y=Y* Uu( Un% )|
00000cb0  20 2d 20 5a 20 2a 20 55  74 28 20 55 6e 25 20 29  | - Z * Ut( Un% )|
00000cc0  3a 7a 3d 59 2a 20 55 74  28 20 55 6e 25 20 29 20  |:z=Y* Ut( Un% ) |
00000cd0  2b 20 5a 20 2a 20 55 75  28 20 55 6e 25 20 29 20  |+ Z * Uu( Un% ) |
00000ce0  3a 59 3d 79 3a 5a 3d 7a  3a 78 3d 58 2a 20 55 75  |:Y=y:Z=z:x=X* Uu|
00000cf0  28 20 55 6f 25 20 29 20  2b 20 5a 20 2a 20 55 74  |( Uo% ) + Z * Ut|
00000d00  28 20 55 6f 25 20 29 3a  7a 3d 5a 2a 20 55 75 28  |( Uo% ):z=Z* Uu(|
00000d10  20 55 6f 25 20 29 20 2d  20 58 20 2a 20 55 74 28  | Uo% ) - X * Ut(|
00000d20  20 55 6f 25 20 29 20 3a  58 3d 78 3a 5a 3d 7a 3a  | Uo% ) :X=x:Z=z:|
00000d30  78 3d 58 2a 20 55 75 28  20 55 70 25 20 29 20 2d  |x=X* Uu( Up% ) -|
00000d40  20 59 20 2a 20 55 74 28  20 55 70 25 20 29 0d 09  | Y * Ut( Up% )..|
00000d50  4c 72 79 3d 58 2a 20 55  74 28 20 55 70 25 20 29  |Lry=X* Ut( Up% )|
00000d60  20 2b 20 59 20 2a 20 55  75 28 20 55 70 25 20 29  | + Y * Uu( Up% )|
00000d70  20 3a 58 3d 78 3a 59 3d  79 3a 58 2b 3d 55 6b 3a  | :X=x:Y=y:X+=Uk:|
00000d80  59 2b 3d 55 6c 3a 5a 2b  3d 55 6d 3a 55 72 28 69  |Y+=Ul:Z+=Um:Ur(i|
00000d90  2c 31 29 3d 28 55 73 2a  58 29 2f 5a 3a 55 72 28  |,1)=(Us*X)/Z:Ur(|
00000da0  69 2c 32 29 3d 28 55 73  2a 59 29 2f 5a 3a 55 72  |i,2)=(Us*Y)/Z:Ur|
00000db0  28 69 2c 33 29 3d 5a 3a  69 2b 3d 31 3a ce 3a e1  |(i,3)=Z:i+=1:.:.|
00000dc0  0d 09 c4 66 dd f2 56 61  3a 56 6e 3d 28 34 30 2d  |...f..Va:Vn=(40-|
00000dd0  a9 56 56 24 29 2f 32 3a  56 6f 3d 28 34 30 2d a9  |.VV$)/2:Vo=(40-.|
00000de0  56 57 24 29 2f 32 3a e6  30 2c 31 34 3a ef 35 3a  |VW$)/2:.0,14:.5:|
00000df0  ec 2d 36 34 30 2b 56 6e  2a 33 32 2c 2d 35 31 32  |.-640+Vn*32,-512|
00000e00  2b 36 34 3a f1 56 56 24  3a ec 2d 36 34 30 2b 56  |+64:.VV$:.-640+V|
00000e10  6f 2a 33 32 2c 2d 35 31  32 2b 33 32 3a f1 56 57  |o*32,-512+32:.VW|
00000e20  24 3a ef 34 3a e1 0d 0a  28 fb dd f2 55 62 3a e3  |$:.4:...(...Ub:.|
00000e30  56 70 3d 30 20 b8 32 88  32 3a 50 25 3d 55 61 3a  |Vp=0 .2.2:P%=Ua:|
00000e40  5b 4f 50 54 20 56 70 3a  2e 55 64 20 41 44 52 20  |[OPT Vp:.Ud ADR |
00000e50  72 30 2c 56 71 3a 41 44  52 20 72 31 2c 56 72 3a  |r0,Vq:ADR r1,Vr:|
00000e60  53 57 49 20 22 4f 53 5f  52 65 61 64 56 64 75 56  |SWI "OS_ReadVduV|
00000e70  61 72 69 61 62 6c 65 73  22 3a 4c 44 52 20 72 30  |ariables":LDR r0|
00000e80  2c 56 72 3a 4d 4f 56 20  50 43 2c 55 59 3a 2e 55  |,Vr:MOV PC,UY:.U|
00000e90  63 20 44 43 44 20 30 3a  2e 55 65 20 44 43 44 20  |c DCD 0:.Ue DCD |
00000ea0  30 3a 2e 55 66 20 44 43  44 20 30 3a 2e 56 71 20  |0:.Uf DCD 0:.Vq |
00000eb0  44 43 44 20 31 34 39 3a  44 43 44 20 2d 31 3a 2e  |DCD 149:DCD -1:.|
00000ec0  56 72 20 44 43 44 20 30  3a 2e 55 78 20 4d 4f 56  |Vr DCD 0:.Ux MOV|
00000ed0  20 72 30 2c 23 31 39 3a  53 57 49 20 22 4f 53 5f  | r0,#19:SWI "OS_|
00000ee0  42 79 74 65 22 3a 4c 44  52 20 72 34 2c 55 66 3a  |Byte":LDR r4,Uf:|
00000ef0  4d 4f 56 20 72 30 2c 23  31 31 32 3a 4d 4f 56 20  |MOV r0,#112:MOV |
00000f00  72 31 2c 72 34 3a 53 57  49 20 22 4f 53 5f 42 79  |r1,r4:SWI "OS_By|
00000f10  74 65 22 3a 20 82 20 72  34 2c 20 72 34 2c 20 23  |te": . r4, r4, #|
00000f20  33 0d 0b 86 fa 4d 4f 56  20 72 30 2c 23 31 31 33  |3....MOV r0,#113|
00000f30  3a 4d 4f 56 20 72 31 2c  72 34 3a 53 57 49 20 22  |:MOV r1,r4:SWI "|
00000f40  4f 53 5f 42 79 74 65 22  3a 53 54 52 20 72 34 2c  |OS_Byte":STR r4,|
00000f50  55 66 3a 4c 44 52 20 72  30 2c 55 63 20 3a 20 4c  |Uf:LDR r0,Uc : L|
00000f60  44 52 20 72 31 2c 55 65  3a 53 54 52 20 72 30 2c  |DR r1,Ue:STR r0,|
00000f70  55 65 20 3a 20 53 54 52  20 72 31 2c 55 63 3a 4d  |Ue : STR r1,Uc:M|
00000f80  4f 56 20 72 30 2c 23 31  32 3a 53 57 49 20 22 4f  |OV r0,#12:SWI "O|
00000f90  53 5f 57 72 69 74 65 43  22 3a 4d 4f 56 20 50 43  |S_WriteC":MOV PC|
00000fa0  2c 55 59 3a 2e 55 77 20  4c 44 52 42 20 72 34 2c  |,UY:.Uw LDRB r4,|
00000fb0  5b 72 30 5d 2c 23 31 3a  4c 44 52 42 20 72 35 2c  |[r0],#1:LDRB r5,|
00000fc0  5b 72 30 5d 2c 23 31 3a  53 55 42 53 20 72 32 2c  |[r0],#1:SUBS r2,|
00000fd0  72 32 2c 72 35 3a 4d 4f  56 4c 54 20 50 43 2c 55  |r2,r5:MOVLT PC,U|
00000fe0  59 3a 2e 56 73 20 53 54  52 42 20 72 34 2c 5b 72  |Y:.Vs STRB r4,[r|
00000ff0  31 5d 2c 23 31 3a 53 55  42 53 20 72 35 2c 72 35  |1],#1:SUBS r5,r5|
00001000  2c 23 31 3a 42 4e 45 20  56 73 3a 43 4d 50 20 72  |,#1:BNE Vs:CMP r|
00001010  32 2c 23 30 3a 42 47 54  20 55 77 0d 0c a8 ff 4d  |2,#0:BGT Uw....M|
00001020  4f 56 20 50 43 2c 55 59  3a 2e 55 7a 3a 53 54 4d  |OV PC,UY:.Uz:STM|
00001030  46 44 20 28 55 58 29 21  2c 7b 55 59 7d 3a 41 44  |FD (UX)!,{UY}:AD|
00001040  52 20 52 31 32 2c 56 74  3a 4d 4f 56 20 52 31 31  |R R12,Vt:MOV R11|
00001050  2c 23 30 3a 2e 56 75 3a  4d 4f 56 20 52 30 2c 52  |,#0:.Vu:MOV R0,R|
00001060  31 31 3a 4d 4f 56 20 52  31 2c 23 31 36 3a 53 57  |11:MOV R1,#16:SW|
00001070  49 20 22 4f 53 5f 52 65  61 64 50 61 6c 65 74 74  |I "OS_ReadPalett|
00001080  65 22 3a 4d 4f 56 20 52  34 2c 52 32 2c 4c 53 52  |e":MOV R4,R2,LSR|
00001090  20 23 32 34 20 3a 20 80  20 52 34 2c 20 52 34 2c  | #24 : . R4, R4,|
000010a0  20 23 26 46 46 3a 4d 4f  56 20 52 35 2c 52 32 2c  | #&FF:MOV R5,R2,|
000010b0  4c 53 52 20 23 31 36 20  3a 20 80 20 52 35 2c 20  |LSR #16 : . R5, |
000010c0  52 35 2c 20 23 26 46 46  3a 4d 4f 56 20 52 36 2c  |R5, #&FF:MOV R6,|
000010d0  52 32 2c 4c 53 52 20 23  38 20 3a 20 80 20 52 36  |R2,LSR #8 : . R6|
000010e0  2c 20 52 36 2c 20 23 26  46 46 3a 53 54 52 20 52  |, R6, #&FF:STR R|
000010f0  36 2c 5b 52 31 32 5d 2c  23 34 3a 53 54 52 20 52  |6,[R12],#4:STR R|
00001100  35 2c 5b 52 31 32 5d 2c  23 34 3a 53 54 52 20 52  |5,[R12],#4:STR R|
00001110  34 2c 5b 52 31 32 5d 2c  23 34 0d 0d 70 f6 41 44  |4,[R12],#4..p.AD|
00001120  44 20 52 31 31 2c 52 31  31 2c 23 31 3a 43 4d 50  |D R11,R11,#1:CMP|
00001130  20 52 31 31 2c 23 31 36  3a 42 4e 45 20 56 75 3a  | R11,#16:BNE Vu:|
00001140  4c 44 4d 46 44 20 28 55  58 29 21 2c 7b 50 43 7d  |LDMFD (UX)!,{PC}|
00001150  3a 2e 56 6c 3a 53 54 4d  46 44 20 28 55 58 29 21  |:.Vl:STMFD (UX)!|
00001160  2c 7b 55 59 7d 3a 4d 4f  56 20 52 31 31 2c 23 31  |,{UY}:MOV R11,#1|
00001170  3a 2e 56 76 3a 4d 4f 56  20 52 30 2c 23 31 39 20  |:.Vv:MOV R0,#19 |
00001180  3a 20 53 57 49 20 22 4f  53 5f 42 79 74 65 22 3a  |: SWI "OS_Byte":|
00001190  41 44 52 20 52 31 32 2c  56 74 3a 4d 4f 56 20 52  |ADR R12,Vt:MOV R|
000011a0  31 30 2c 23 30 3a 2e 56  77 3a 4d 4f 56 20 52 30  |10,#0:.Vw:MOV R0|
000011b0  2c 23 31 39 20 3a 20 53  57 49 20 22 4f 53 5f 57  |,#19 : SWI "OS_W|
000011c0  72 69 74 65 43 22 3a 4d  4f 56 20 52 30 2c 52 31  |riteC":MOV R0,R1|
000011d0  30 20 3a 20 53 57 49 20  22 4f 53 5f 57 72 69 74  |0 : SWI "OS_Writ|
000011e0  65 43 22 3a 4d 4f 56 20  52 30 2c 23 31 36 20 3a  |eC":MOV R0,#16 :|
000011f0  20 53 57 49 20 22 4f 53  5f 57 72 69 74 65 43 22  | SWI "OS_WriteC"|
00001200  3a 4c 44 52 20 52 30 2c  5b 52 31 32 5d 2c 23 34  |:LDR R0,[R12],#4|
00001210  0d 0e 24 ec 4d 55 4c 20  52 30 2c 52 31 31 2c 52  |..$.MUL R0,R11,R|
00001220  30 20 3a 20 4d 4f 56 20  52 30 2c 52 30 2c 4c 53  |0 : MOV R0,R0,LS|
00001230  52 20 23 34 3a 20 80 20  52 30 2c 20 52 30 2c 20  |R #4: . R0, R0, |
00001240  23 26 46 46 20 3a 20 53  57 49 20 22 4f 53 5f 57  |#&FF : SWI "OS_W|
00001250  72 69 74 65 43 22 3a 4c  44 52 20 52 30 2c 5b 52  |riteC":LDR R0,[R|
00001260  31 32 5d 2c 23 34 3a 4d  55 4c 20 52 30 2c 52 31  |12],#4:MUL R0,R1|
00001270  31 2c 52 30 20 3a 20 4d  4f 56 20 52 30 2c 52 30  |1,R0 : MOV R0,R0|
00001280  2c 4c 53 52 20 23 34 3a  20 80 20 52 30 2c 20 52  |,LSR #4: . R0, R|
00001290  30 2c 20 23 26 46 46 20  3a 20 53 57 49 20 22 4f  |0, #&FF : SWI "O|
000012a0  53 5f 57 72 69 74 65 43  22 3a 4c 44 52 20 52 30  |S_WriteC":LDR R0|
000012b0  2c 5b 52 31 32 5d 2c 23  34 3a 4d 55 4c 20 52 30  |,[R12],#4:MUL R0|
000012c0  2c 52 31 31 2c 52 30 20  3a 20 4d 4f 56 20 52 30  |,R11,R0 : MOV R0|
000012d0  2c 52 30 2c 4c 53 52 20  23 34 3a 20 80 20 52 30  |,R0,LSR #4: . R0|
000012e0  2c 20 52 30 2c 20 23 26  46 46 20 3a 20 53 57 49  |, R0, #&FF : SWI|
000012f0  20 22 4f 53 5f 57 72 69  74 65 43 22 0d 0e 7e f2  | "OS_WriteC"..~.|
00001300  41 44 44 20 52 31 30 2c  52 31 30 2c 23 31 20 3a  |ADD R10,R10,#1 :|
00001310  20 43 4d 50 20 52 31 30  2c 23 31 36 3a 42 4e 45  | CMP R10,#16:BNE|
00001320  20 56 77 3a 41 44 44 20  52 31 31 2c 52 31 31 2c  | Vw:ADD R11,R11,|
00001330  23 31 20 3a 20 43 4d 50  20 52 31 31 2c 23 31 36  |#1 : CMP R11,#16|
00001340  2b 31 3a 42 4e 45 20 56  76 3a 4c 44 4d 46 44 20  |+1:BNE Vv:LDMFD |
00001350  28 55 58 29 21 2c 7b 50  43 7d 3a 2e 56 55 3a 53  |(UX)!,{PC}:.VU:S|
00001360  54 4d 46 44 20 28 55 58  29 21 2c 7b 55 59 7d 3a  |TMFD (UX)!,{UY}:|
00001370  4d 4f 56 20 52 31 31 2c  23 31 35 3a 2e 56 78 3a  |MOV R11,#15:.Vx:|
00001380  4d 4f 56 20 52 30 2c 23  31 39 20 3a 20 53 57 49  |MOV R0,#19 : SWI|
00001390  20 22 4f 53 5f 42 79 74  65 22 3a 41 44 52 20 52  | "OS_Byte":ADR R|
000013a0  31 32 2c 56 74 3a 4d 4f  56 20 52 31 30 2c 23 30  |12,Vt:MOV R10,#0|
000013b0  3a 2e 56 79 3a 4d 4f 56  20 52 30 2c 23 31 39 20  |:.Vy:MOV R0,#19 |
000013c0  3a 20 53 57 49 20 22 4f  53 5f 57 72 69 74 65 43  |: SWI "OS_WriteC|
000013d0  22 3a 4d 4f 56 20 52 30  2c 52 31 30 20 3a 20 53  |":MOV R0,R10 : S|
000013e0  57 49 20 22 4f 53 5f 57  72 69 74 65 43 22 0d 0f  |WI "OS_WriteC"..|
000013f0  1e f7 4d 4f 56 20 52 30  2c 23 31 36 20 3a 20 53  |..MOV R0,#16 : S|
00001400  57 49 20 22 4f 53 5f 57  72 69 74 65 43 22 3a 4c  |WI "OS_WriteC":L|
00001410  44 52 20 52 30 2c 5b 52  31 32 5d 2c 23 34 3a 4d  |DR R0,[R12],#4:M|
00001420  55 4c 20 52 30 2c 52 31  31 2c 52 30 20 3a 20 4d  |UL R0,R11,R0 : M|
00001430  4f 56 20 52 30 2c 52 30  2c 4c 53 52 20 23 34 3a  |OV R0,R0,LSR #4:|
00001440  20 80 20 52 30 2c 20 52  30 2c 20 23 26 46 46 20  | . R0, R0, #&FF |
00001450  3a 20 53 57 49 20 22 4f  53 5f 57 72 69 74 65 43  |: SWI "OS_WriteC|
00001460  22 3a 4c 44 52 20 52 30  2c 5b 52 31 32 5d 2c 23  |":LDR R0,[R12],#|
00001470  34 3a 4d 55 4c 20 52 30  2c 52 31 31 2c 52 30 20  |4:MUL R0,R11,R0 |
00001480  3a 20 4d 4f 56 20 52 30  2c 52 30 2c 4c 53 52 20  |: MOV R0,R0,LSR |
00001490  23 34 3a 20 80 20 52 30  2c 20 52 30 2c 20 23 26  |#4: . R0, R0, #&|
000014a0  46 46 20 3a 20 53 57 49  20 22 4f 53 5f 57 72 69  |FF : SWI "OS_Wri|
000014b0  74 65 43 22 3a 4c 44 52  20 52 30 2c 5b 52 31 32  |teC":LDR R0,[R12|
000014c0  5d 2c 23 34 3a 4d 55 4c  20 52 30 2c 52 31 31 2c  |],#4:MUL R0,R11,|
000014d0  52 30 20 3a 20 4d 4f 56  20 52 30 2c 52 30 2c 4c  |R0 : MOV R0,R0,L|
000014e0  53 52 20 23 34 0d 0f 82  c2 20 80 20 52 30 2c 20  |SR #4.... . R0, |
000014f0  52 30 2c 20 23 26 46 46  20 3a 20 53 57 49 20 22  |R0, #&FF : SWI "|
00001500  4f 53 5f 57 72 69 74 65  43 22 3a 41 44 44 20 52  |OS_WriteC":ADD R|
00001510  31 30 2c 52 31 30 2c 23  31 20 3a 20 43 4d 50 20  |10,R10,#1 : CMP |
00001520  52 31 30 2c 23 31 36 3a  42 4e 45 20 56 79 3a 53  |R10,#16:BNE Vy:S|
00001530  55 42 53 20 52 31 31 2c  52 31 31 2c 23 31 20 3a  |UBS R11,R11,#1 :|
00001540  20 43 4d 50 20 52 31 31  2c 23 30 3a 42 47 45 20  | CMP R11,#0:BGE |
00001550  56 78 3a 4c 44 4d 46 44  20 28 55 58 29 21 2c 7b  |Vx:LDMFD (UX)!,{|
00001560  50 43 7d 3a 41 4c 49 47  4e 3a 2e 56 74 20 3a 20  |PC}:ALIGN:.Vt : |
00001570  45 51 55 53 c4 28 31 36  2a 33 29 2a 34 2c bd 26  |EQUS.(16*3)*4,.&|
00001580  30 30 29 3a 20 41 4c 49  47 4e 3a 2e 55 76 20 a4  |00): ALIGN:.Uv .|
00001590  56 7a 28 22 54 69 74 6c  2d 44 61 74 61 22 29 3a  |Vz("Titl-Data"):|
000015a0  5d 3a ed 56 70 3a e1 0d  10 72 17 dd a4 57 55 28  |]:.Vp:...r...WU(|
000015b0  57 56 29 3a 50 25 2b 3d  57 56 3a 3d 56 70 0d 10  |WV):P%+=WV:=Vp..|
000015c0  a4 67 dd a4 56 7a 28 57  57 24 29 3a 57 57 24 3d  |.g..Vz(WW$):WW$=|
000015d0  22 3c 45 78 61 6d 70 6c  65 2d 32 24 44 69 72 3e  |"<Example-2$Dir>|
000015e0  2e 44 61 74 61 2d 46 69  6c 65 73 2e 22 2b 57 57  |.Data-Files."+WW|
000015f0  24 3a 57 58 3d 8e 57 57  24 3a 57 59 3d a2 20 23  |$:WX=.WW$:WY=. #|
00001600  57 58 20 3a d9 23 57 58  3a e7 56 70 3e 30 20 8c  |WX :.#WX:.Vp>0 .|
00001610  ff 22 4c 6f 61 64 20 22  2b 57 57 24 2b 22 20 22  |."Load "+WW$+" "|
00001620  2b c3 7e 50 25 0d 10 cc  21 50 25 2b 3d 57 59 3a  |+.~P%...!P%+=WY:|
00001630  5b 4f 50 54 20 56 70 20  3a 20 41 4c 49 47 4e 20  |[OPT Vp : ALIGN |
00001640  3a 5d 3a 3d 56 70 0d ff                           |:]:=Vp..|
00001648