Home » CEEFAX disks » telesoftware7.adl » 10-06-88/MULTS3

10-06-88/MULTS3

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 » CEEFAX disks » telesoftware7.adl
Filename: 10-06-88/MULTS3
Read OK:
File size: 0C89 bytes
Load address: FFFF1900
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM Multispiro demo (Basic Version)   
   20REM             by
   30REM       Mike Claxton   
   40MODE7
   50*K.0RUN|M
   60*K.10O.|M
   70*FX15,0
   80PROCinfo     
   90PROCinit
  100PROCsincos
  110MODE129
  120PROCdemo
  130END
  140:
  150DEFPROCsincos 
  160PRINTTAB(1,20)CHR$(131);"+  +  +  +  +  +  +  +  +  +  +"  
  170Ang=0:Deg=PI/128
  180FOR I%=0 TO 64
  190X(I%)=SIN (Ang) 
  200Ang=Ang+Deg
  210IFI%MOD8=0 PRINTTAB(31-I%/8*3,20)CHR$(129);"*"        
  220NEXT   
  230FORI%=0 TO 64
  240Y(I%)=X(64-I%) 
  250NEXT
  260PRINTTAB(4,20)CHR$(129);"*"  
  270FORI%=64 TO 127
  280X(I%)=X(128-I%) 
  290Y(I%)=-Y(128-I%) 
  300NEXT
  310PRINTTAB(1,20)CHR$(129);"*"  
  320FORI%=128 TO 191
  330X(I%)=-X(I%-128)
  340Y(I%)=-Y(I%-128)
  350NEXT
  360FORI%=192 TO 256
  370X(I%)=-X(256-I%) 
  380Y(I%)=Y(256-I%)  
  390NEXT
  400ENDPROC
  410:
  420DEFPROCinit
  430DIM X(256),Y(256)
  440VDU19,1,6;0;  
  450VDU19,2,6;0;  
  460SC_rotation=&70
  470SC_rotation2=&71
  480LC_rot=&72  
  490LC_rot2=&73  
  500SC_centre=&74  
  510SC_centre2=&75
  520SC_ang=&76
  530SC_ang2=&77
  540?SC_rotation=0  
  550?LC_rot=1  
  560?SC_centre=0 
  570?SC_ang=1
  580LCdots%=32
  590SCdots%=32
  600Z%=256-LCdots%  
  610Y%=256-SCdots%   
  620LC_rotation=500/LC%-1
  630outer_LC%=500-LC%  
  640SD%=LC%-SC%  
  650C%=1:D%=2   
  660R%=0 :M%=0 :N%=SC% 
  670P%=640:Q%=1012 
  680X3%=640:Y3%=1012 
  690F%=-1:L%=F%:F=F%:G=0:C=0
  700ENDPROC
  710:
  720DEFPROCdemo  
  730VDU29,640;512;
  740VDU19,3,0;0; 
  750GCOL0,3
  760MOVE0,508   
  770FORE%=0TO255 STEP4
  780PLOT69,508*X(E%),508*Y(E%)  
  790NEXT
  800VDU19,3,6;0;   
  810VDU23;8202;0;0;0   
  820CLS
  830:
  840REPEAT
  850IF C%=2 C%=1:D%=2 ELSE C%=2:D%=1   
  860X2%=outer_LC%*X(?LC_rot)+640.5:Y2%=outer_LC%*Y(?LC_rot)+512.5
  870VDU29,X2%;Y2%;
  880VDU19,C%,0;0; 
  890GCOL0,C% 
  900FOR E%=0 TO Z% STEP LCdots%  
  910H%=(E%-F+.5)MOD256:IF H%<0 H%=256+H%
  920U%=LC%*X(H%)+.5:V%=LC%*Y(H%)+.5
  930IF POINT(U%,V%)<>3 PLOT69,U%,V%
  940NEXT
  950:
  960X3%=outer_LC%*X(?LC_rot)+SD%*X(?SC_centre)+640.5:Y3%=outer_LC%*Y(?LC_rot)+SD%*Y(?SC_centre)+512.5
  970VDU29,X3%;Y3%; 
  980FOR E%=0 TO Y% STEP SCdots%   
  990H%=(E%+?SC_rotation+.5)MOD256
 1000IF H%<0 H%=H%+256
 1010U%=-SC%*X(H%)-.5:V%=SC%*Y(H%)+.5
 1020IF POINT(U%,V%)<>3 PLOT69,U%,V%
 1030NEXT
 1040:
 1050PROCtrace 
 1060M%=-SC%*X(?SC_rotation):N%=SC%*Y(?SC_rotation) 
 1070VDU19,C%,3;0;  
 1080VDU19,D%,0;0;  
 1090X2%=outer_LC%*X(?LC_rot2)+640.5:Y2%=outer_LC%*Y(?LC_rot2)+512.5    
 1100VDU29,X2%;Y2%;
 1110GCOL0,0
 1120FOR E%=0 TO Z% STEP LCdots% 
 1130H%=(+E%-G+.5)MOD256:IFH%<0 H%=256+H%
 1140U%=LC%*X(H%)+.5:V%=LC%*Y(H%)+.5
 1150IF POINT(U%,V%)<>3 PLOT69,U%,V%
 1160NEXT
 1170:
 1180P%=X3%:Q%=Y3% 
 1190X3%=outer_LC%*X(?LC_rot2)+SD%*X(?SC_centre2)+640.5:Y3%=outer_LC%*Y(?LC_rot2)+SD%*Y(?SC_centre2)+512.5    
 1200VDU29,X3%;Y3%;
 1210FOR E%=0 TO Y% STEP SCdots%   
 1220H%=(E%+?SC_rotation2+.5)MOD256   
 1230U%=-SC%*X(H%)-.5:V%=SC%*Y(H%)+.5
 1240IF POINT(U%,V%)<>3 PLOT69,U%,V%
 1250NEXT
 1260:
 1270?SC_rotation2=?SC_rotation   
 1280B=(500*F%/LC%)  
 1290C=L%*SC%/LC%-B  
 1300?SC_rotation=L%-F%-C+.5    
 1310?SC_centre2=?SC_centre  
 1320?SC_centre=F%+C+.5   
 1330?LC_rot2=?LC_rot
 1340G=F 
 1350F=F+LC_rotation      
 1360F%=F%+1  
 1370?LC_rot=F%
 1380L%=L%+S%
 1390UNTIL FALSE
 1400:
 1410DEFPROCtrace
 1420GCOL0,3
 1430VDU29,P%;Q%;
 1440MOVEM%,N%  
 1450VDU29,X3%;Y3%;
 1460PLOT5,-SC%*X(?SC_rotation),SC%*Y(?SC_rotation)  
 1470ENDPROC  
 1480:
 1490DEFPROCinfo   
 1500PRINTTAB(9,2)CHR$(133);"THE MULTI-SPIRO" 
 1510PRINTTAB(9,4)CHR$(134);"(Basic Version)"   
 1520INPUTTAB(0,6)"�Enter size of large wheel (200_400) "LC% 
 1530INPUTTAB(0,9)"�Enter size of small wheel (20_127) "SC% 
 1540PRINTTAB(0,12)"�Enter speed of small wheel"  
 1550PRINTTAB(0,14)"�1_9 clockwise"  
 1560INPUTTAB(0,16)"�11_20 anti-clockwise "SPEED%   
 1570S%=SPEED%-12     
 1580ENDPROC   

(� Multispiro demo (Basic Version)   
�             by
�       Mike Claxton   
(�7
2
*K.0RUN|M
<
*K.10O.|M
F*FX15,0
P�info     
Z	�init
d�sincos
n�129
x	�demo
��
�:
�
��sincos 
�5�1,20)�(131);"+  +  +  +  +  +  +  +  +  +  +"  
�Ang=0:Deg=�/128
�� I%=0 � 64
�X(I%)=� (Ang) 
�Ang=Ang+Deg
�-�I%�8=0 �31-I%/8*3,20)�(129);"*"        
��   
��I%=0 � 64
�Y(I%)=X(64-I%) 
��
�4,20)�(129);"*"  
�I%=64 � 127
X(I%)=X(128-I%) 
"Y(I%)=-Y(128-I%) 
,�
6�1,20)�(129);"*"  
@�I%=128 � 191
JX(I%)=-X(I%-128)
TY(I%)=-Y(I%-128)
^�
h�I%=192 � 256
rX(I%)=-X(256-I%) 
|Y(I%)=Y(256-I%)  
��
��
�:
�
��init
�� X(256),Y(256)
��19,1,6;0;  
��19,2,6;0;  
�SC_rotation=&70
�SC_rotation2=&71
�LC_rot=&72  
�LC_rot2=&73  
�SC_centre=&74  
�SC_centre2=&75
SC_ang=&76
SC_ang2=&77
?SC_rotation=0  
&?LC_rot=1  
0?SC_centre=0 
:
?SC_ang=1
DLCdots%=32
NSCdots%=32
XZ%=256-LCdots%  
bY%=256-SCdots%   
lLC_rotation=500/LC%-1
vouter_LC%=500-LC%  
�SD%=LC%-SC%  
�C%=1:D%=2   
�R%=0 :M%=0 :N%=SC% 
�P%=640:Q%=1012 
�X3%=640:Y3%=1012 
�F%=-1:L%=F%:F=F%:G=0:C=0
��
�:
���demo  
��29,640;512;
��19,3,0;0; 
��0,3
�
�0,508   
�E%=0�255 �4
�69,508*X(E%),508*Y(E%)  
�
 �19,3,6;0;   
*�23;8202;0;0;0   
4�
>:
H�
R#� C%=2 C%=1:D%=2 � C%=2:D%=1   
\AX2%=outer_LC%*X(?LC_rot)+640.5:Y2%=outer_LC%*Y(?LC_rot)+512.5
f�29,X2%;Y2%;
p�19,C%,0;0; 
z
�0,C% 
�� E%=0 � Z% � LCdots%  
�%H%=(E%-F+.5)�256:� H%<0 H%=256+H%
�#U%=LC%*X(H%)+.5:V%=LC%*Y(H%)+.5
�� �U%,V%)<>3 �69,U%,V%
��
�:
�eX3%=outer_LC%*X(?LC_rot)+SD%*X(?SC_centre)+640.5:Y3%=outer_LC%*Y(?LC_rot)+SD%*Y(?SC_centre)+512.5
��29,X3%;Y3%; 
�� E%=0 � Y% � SCdots%   
�H%=(E%+?SC_rotation+.5)�256
�� H%<0 H%=H%+256
�$U%=-SC%*X(H%)-.5:V%=SC%*Y(H%)+.5
�� �U%,V%)<>3 �69,U%,V%
�
:
�trace 
$3M%=-SC%*X(?SC_rotation):N%=SC%*Y(?SC_rotation) 
.�19,C%,3;0;  
8�19,D%,0;0;  
BGX2%=outer_LC%*X(?LC_rot2)+640.5:Y2%=outer_LC%*Y(?LC_rot2)+512.5    
L�29,X2%;Y2%;
V�0,0
`� E%=0 � Z% � LCdots% 
j%H%=(+E%-G+.5)�256:�H%<0 H%=256+H%
t#U%=LC%*X(H%)+.5:V%=LC%*Y(H%)+.5
~� �U%,V%)<>3 �69,U%,V%
��
�:
�P%=X3%:Q%=Y3% 
�mX3%=outer_LC%*X(?LC_rot2)+SD%*X(?SC_centre2)+640.5:Y3%=outer_LC%*Y(?LC_rot2)+SD%*Y(?SC_centre2)+512.5    
��29,X3%;Y3%;
�� E%=0 � Y% � SCdots%   
�#H%=(E%+?SC_rotation2+.5)�256   
�$U%=-SC%*X(H%)-.5:V%=SC%*Y(H%)+.5
�� �U%,V%)<>3 �69,U%,V%
��
�:
�!?SC_rotation2=?SC_rotation   
B=(500*F%/LC%)  

C=L%*SC%/LC%-B  
?SC_rotation=L%-F%-C+.5    
?SC_centre2=?SC_centre  
(?SC_centre=F%+C+.5   
2?LC_rot2=?LC_rot
<G=F 
FF=F+LC_rotation      
P
F%=F%+1  
Z?LC_rot=F%
dL%=L%+S%
n� �
x:
���trace
��0,3
��29,P%;Q%;
��M%,N%  
��29,X3%;Y3%;
�1�5,-SC%*X(?SC_rotation),SC%*Y(?SC_rotation)  
��  
�:
�
��info   
�#�9,2)�(133);"THE MULTI-SPIRO" 
�%�9,4)�(134);"(Basic Version)"   
�5�0,6)"�Enter size of large wheel (200_400) "LC% 
�4�0,9)"�Enter size of small wheel (20_127) "SC% 
*�0,12)"�Enter speed of small wheel"  
�0,14)"�1_9 clockwise"  
,�0,16)"�11_20 anti-clockwise "SPEED%   
"S%=SPEED%-12     
,�   
�
00000000  0d 00 0a 28 f4 20 4d 75  6c 74 69 73 70 69 72 6f  |...(. Multispiro|
00000010  20 64 65 6d 6f 20 28 42  61 73 69 63 20 56 65 72  | demo (Basic Ver|
00000020  73 69 6f 6e 29 20 20 20  0d 00 14 14 f4 20 20 20  |sion)   .....   |
00000030  20 20 20 20 20 20 20 20  20 20 62 79 0d 00 1e 1b  |          by....|
00000040  f4 20 20 20 20 20 20 20  4d 69 6b 65 20 43 6c 61  |.       Mike Cla|
00000050  78 74 6f 6e 20 20 20 0d  00 28 06 eb 37 0d 00 32  |xton   ..(..7..2|
00000060  0d 2a 4b 2e 30 52 55 4e  7c 4d 0d 00 3c 0d 2a 4b  |.*K.0RUN|M..<.*K|
00000070  2e 31 30 4f 2e 7c 4d 0d  00 46 0b 2a 46 58 31 35  |.10O.|M..F.*FX15|
00000080  2c 30 0d 00 50 0e f2 69  6e 66 6f 20 20 20 20 20  |,0..P..info     |
00000090  0d 00 5a 09 f2 69 6e 69  74 0d 00 64 0b f2 73 69  |..Z..init..d..si|
000000a0  6e 63 6f 73 0d 00 6e 08  eb 31 32 39 0d 00 78 09  |ncos..n..129..x.|
000000b0  f2 64 65 6d 6f 0d 00 82  05 e0 0d 00 8c 05 3a 0d  |.demo.........:.|
000000c0  00 96 0d dd f2 73 69 6e  63 6f 73 20 0d 00 a0 35  |.....sincos ...5|
000000d0  f1 8a 31 2c 32 30 29 bd  28 31 33 31 29 3b 22 2b  |..1,20).(131);"+|
000000e0  20 20 2b 20 20 2b 20 20  2b 20 20 2b 20 20 2b 20  |  +  +  +  +  + |
000000f0  20 2b 20 20 2b 20 20 2b  20 20 2b 20 20 2b 22 20  | +  +  +  +  +" |
00000100  20 0d 00 aa 13 41 6e 67  3d 30 3a 44 65 67 3d af  | ....Ang=0:Deg=.|
00000110  2f 31 32 38 0d 00 b4 0f  e3 20 49 25 3d 30 20 b8  |/128..... I%=0 .|
00000120  20 36 34 0d 00 be 12 58  28 49 25 29 3d b5 20 28  | 64....X(I%)=. (|
00000130  41 6e 67 29 20 0d 00 c8  0f 41 6e 67 3d 41 6e 67  |Ang) ....Ang=Ang|
00000140  2b 44 65 67 0d 00 d2 2d  e7 49 25 83 38 3d 30 20  |+Deg...-.I%.8=0 |
00000150  f1 8a 33 31 2d 49 25 2f  38 2a 33 2c 32 30 29 bd  |..31-I%/8*3,20).|
00000160  28 31 32 39 29 3b 22 2a  22 20 20 20 20 20 20 20  |(129);"*"       |
00000170  20 0d 00 dc 08 ed 20 20  20 0d 00 e6 0e e3 49 25  | .....   .....I%|
00000180  3d 30 20 b8 20 36 34 0d  00 f0 13 59 28 49 25 29  |=0 . 64....Y(I%)|
00000190  3d 58 28 36 34 2d 49 25  29 20 0d 00 fa 05 ed 0d  |=X(64-I%) ......|
000001a0  01 04 17 f1 8a 34 2c 32  30 29 bd 28 31 32 39 29  |.....4,20).(129)|
000001b0  3b 22 2a 22 20 20 0d 01  0e 10 e3 49 25 3d 36 34  |;"*"  .....I%=64|
000001c0  20 b8 20 31 32 37 0d 01  18 14 58 28 49 25 29 3d  | . 127....X(I%)=|
000001d0  58 28 31 32 38 2d 49 25  29 20 0d 01 22 15 59 28  |X(128-I%) ..".Y(|
000001e0  49 25 29 3d 2d 59 28 31  32 38 2d 49 25 29 20 0d  |I%)=-Y(128-I%) .|
000001f0  01 2c 05 ed 0d 01 36 17  f1 8a 31 2c 32 30 29 bd  |.,....6...1,20).|
00000200  28 31 32 39 29 3b 22 2a  22 20 20 0d 01 40 11 e3  |(129);"*"  ..@..|
00000210  49 25 3d 31 32 38 20 b8  20 31 39 31 0d 01 4a 14  |I%=128 . 191..J.|
00000220  58 28 49 25 29 3d 2d 58  28 49 25 2d 31 32 38 29  |X(I%)=-X(I%-128)|
00000230  0d 01 54 14 59 28 49 25  29 3d 2d 59 28 49 25 2d  |..T.Y(I%)=-Y(I%-|
00000240  31 32 38 29 0d 01 5e 05  ed 0d 01 68 11 e3 49 25  |128)..^....h..I%|
00000250  3d 31 39 32 20 b8 20 32  35 36 0d 01 72 15 58 28  |=192 . 256..r.X(|
00000260  49 25 29 3d 2d 58 28 32  35 36 2d 49 25 29 20 0d  |I%)=-X(256-I%) .|
00000270  01 7c 15 59 28 49 25 29  3d 59 28 32 35 36 2d 49  |.|.Y(I%)=Y(256-I|
00000280  25 29 20 20 0d 01 86 05  ed 0d 01 90 05 e1 0d 01  |%)  ............|
00000290  9a 05 3a 0d 01 a4 0a dd  f2 69 6e 69 74 0d 01 ae  |..:......init...|
000002a0  13 de 20 58 28 32 35 36  29 2c 59 28 32 35 36 29  |.. X(256),Y(256)|
000002b0  0d 01 b8 10 ef 31 39 2c  31 2c 36 3b 30 3b 20 20  |.....19,1,6;0;  |
000002c0  0d 01 c2 10 ef 31 39 2c  32 2c 36 3b 30 3b 20 20  |.....19,2,6;0;  |
000002d0  0d 01 cc 13 53 43 5f 72  6f 74 61 74 69 6f 6e 3d  |....SC_rotation=|
000002e0  26 37 30 0d 01 d6 14 53  43 5f 72 6f 74 61 74 69  |&70....SC_rotati|
000002f0  6f 6e 32 3d 26 37 31 0d  01 e0 10 4c 43 5f 72 6f  |on2=&71....LC_ro|
00000300  74 3d 26 37 32 20 20 0d  01 ea 11 4c 43 5f 72 6f  |t=&72  ....LC_ro|
00000310  74 32 3d 26 37 33 20 20  0d 01 f4 13 53 43 5f 63  |t2=&73  ....SC_c|
00000320  65 6e 74 72 65 3d 26 37  34 20 20 0d 01 fe 12 53  |entre=&74  ....S|
00000330  43 5f 63 65 6e 74 72 65  32 3d 26 37 35 0d 02 08  |C_centre2=&75...|
00000340  0e 53 43 5f 61 6e 67 3d  26 37 36 0d 02 12 0f 53  |.SC_ang=&76....S|
00000350  43 5f 61 6e 67 32 3d 26  37 37 0d 02 1c 14 3f 53  |C_ang2=&77....?S|
00000360  43 5f 72 6f 74 61 74 69  6f 6e 3d 30 20 20 0d 02  |C_rotation=0  ..|
00000370  26 0f 3f 4c 43 5f 72 6f  74 3d 31 20 20 0d 02 30  |&.?LC_rot=1  ..0|
00000380  11 3f 53 43 5f 63 65 6e  74 72 65 3d 30 20 0d 02  |.?SC_centre=0 ..|
00000390  3a 0d 3f 53 43 5f 61 6e  67 3d 31 0d 02 44 0e 4c  |:.?SC_ang=1..D.L|
000003a0  43 64 6f 74 73 25 3d 33  32 0d 02 4e 0e 53 43 64  |Cdots%=32..N.SCd|
000003b0  6f 74 73 25 3d 33 32 0d  02 58 14 5a 25 3d 32 35  |ots%=32..X.Z%=25|
000003c0  36 2d 4c 43 64 6f 74 73  25 20 20 0d 02 62 15 59  |6-LCdots%  ..b.Y|
000003d0  25 3d 32 35 36 2d 53 43  64 6f 74 73 25 20 20 20  |%=256-SCdots%   |
000003e0  0d 02 6c 19 4c 43 5f 72  6f 74 61 74 69 6f 6e 3d  |..l.LC_rotation=|
000003f0  35 30 30 2f 4c 43 25 2d  31 0d 02 76 17 6f 75 74  |500/LC%-1..v.out|
00000400  65 72 5f 4c 43 25 3d 35  30 30 2d 4c 43 25 20 20  |er_LC%=500-LC%  |
00000410  0d 02 80 11 53 44 25 3d  4c 43 25 2d 53 43 25 20  |....SD%=LC%-SC% |
00000420  20 0d 02 8a 10 43 25 3d  31 3a 44 25 3d 32 20 20  | ....C%=1:D%=2  |
00000430  20 0d 02 94 17 52 25 3d  30 20 3a 4d 25 3d 30 20  | ....R%=0 :M%=0 |
00000440  3a 4e 25 3d 53 43 25 20  0d 02 9e 13 50 25 3d 36  |:N%=SC% ....P%=6|
00000450  34 30 3a 51 25 3d 31 30  31 32 20 0d 02 a8 15 58  |40:Q%=1012 ....X|
00000460  33 25 3d 36 34 30 3a 59  33 25 3d 31 30 31 32 20  |3%=640:Y3%=1012 |
00000470  0d 02 b2 1c 46 25 3d 2d  31 3a 4c 25 3d 46 25 3a  |....F%=-1:L%=F%:|
00000480  46 3d 46 25 3a 47 3d 30  3a 43 3d 30 0d 02 bc 05  |F=F%:G=0:C=0....|
00000490  e1 0d 02 c6 05 3a 0d 02  d0 0c dd f2 64 65 6d 6f  |.....:......demo|
000004a0  20 20 0d 02 da 10 ef 32  39 2c 36 34 30 3b 35 31  |  .....29,640;51|
000004b0  32 3b 0d 02 e4 0f ef 31  39 2c 33 2c 30 3b 30 3b  |2;.....19,3,0;0;|
000004c0  20 0d 02 ee 08 e6 30 2c  33 0d 02 f8 0d ec 30 2c  | .....0,3.....0,|
000004d0  35 30 38 20 20 20 0d 03  02 10 e3 45 25 3d 30 b8  |508   .....E%=0.|
000004e0  32 35 35 20 88 34 0d 03  0c 1d f0 36 39 2c 35 30  |255 .4.....69,50|
000004f0  38 2a 58 28 45 25 29 2c  35 30 38 2a 59 28 45 25  |8*X(E%),508*Y(E%|
00000500  29 20 20 0d 03 16 05 ed  0d 03 20 11 ef 31 39 2c  |)  ....... ..19,|
00000510  33 2c 36 3b 30 3b 20 20  20 0d 03 2a 15 ef 32 33  |3,6;0;   ..*..23|
00000520  3b 38 32 30 32 3b 30 3b  30 3b 30 20 20 20 0d 03  |;8202;0;0;0   ..|
00000530  34 05 db 0d 03 3e 05 3a  0d 03 48 05 f5 0d 03 52  |4....>.:..H....R|
00000540  23 e7 20 43 25 3d 32 20  43 25 3d 31 3a 44 25 3d  |#. C%=2 C%=1:D%=|
00000550  32 20 8b 20 43 25 3d 32  3a 44 25 3d 31 20 20 20  |2 . C%=2:D%=1   |
00000560  0d 03 5c 41 58 32 25 3d  6f 75 74 65 72 5f 4c 43  |..\AX2%=outer_LC|
00000570  25 2a 58 28 3f 4c 43 5f  72 6f 74 29 2b 36 34 30  |%*X(?LC_rot)+640|
00000580  2e 35 3a 59 32 25 3d 6f  75 74 65 72 5f 4c 43 25  |.5:Y2%=outer_LC%|
00000590  2a 59 28 3f 4c 43 5f 72  6f 74 29 2b 35 31 32 2e  |*Y(?LC_rot)+512.|
000005a0  35 0d 03 66 10 ef 32 39  2c 58 32 25 3b 59 32 25  |5..f..29,X2%;Y2%|
000005b0  3b 0d 03 70 10 ef 31 39  2c 43 25 2c 30 3b 30 3b  |;..p..19,C%,0;0;|
000005c0  20 0d 03 7a 0a e6 30 2c  43 25 20 0d 03 84 1b e3  | ..z..0,C% .....|
000005d0  20 45 25 3d 30 20 b8 20  5a 25 20 88 20 4c 43 64  | E%=0 . Z% . LCd|
000005e0  6f 74 73 25 20 20 0d 03  8e 25 48 25 3d 28 45 25  |ots%  ...%H%=(E%|
000005f0  2d 46 2b 2e 35 29 83 32  35 36 3a e7 20 48 25 3c  |-F+.5).256:. H%<|
00000600  30 20 48 25 3d 32 35 36  2b 48 25 0d 03 98 23 55  |0 H%=256+H%...#U|
00000610  25 3d 4c 43 25 2a 58 28  48 25 29 2b 2e 35 3a 56  |%=LC%*X(H%)+.5:V|
00000620  25 3d 4c 43 25 2a 59 28  48 25 29 2b 2e 35 0d 03  |%=LC%*Y(H%)+.5..|
00000630  a2 1a e7 20 b0 55 25 2c  56 25 29 3c 3e 33 20 f0  |... .U%,V%)<>3 .|
00000640  36 39 2c 55 25 2c 56 25  0d 03 ac 05 ed 0d 03 b6  |69,U%,V%........|
00000650  05 3a 0d 03 c0 65 58 33  25 3d 6f 75 74 65 72 5f  |.:...eX3%=outer_|
00000660  4c 43 25 2a 58 28 3f 4c  43 5f 72 6f 74 29 2b 53  |LC%*X(?LC_rot)+S|
00000670  44 25 2a 58 28 3f 53 43  5f 63 65 6e 74 72 65 29  |D%*X(?SC_centre)|
00000680  2b 36 34 30 2e 35 3a 59  33 25 3d 6f 75 74 65 72  |+640.5:Y3%=outer|
00000690  5f 4c 43 25 2a 59 28 3f  4c 43 5f 72 6f 74 29 2b  |_LC%*Y(?LC_rot)+|
000006a0  53 44 25 2a 59 28 3f 53  43 5f 63 65 6e 74 72 65  |SD%*Y(?SC_centre|
000006b0  29 2b 35 31 32 2e 35 0d  03 ca 11 ef 32 39 2c 58  |)+512.5.....29,X|
000006c0  33 25 3b 59 33 25 3b 20  0d 03 d4 1c e3 20 45 25  |3%;Y3%; ..... E%|
000006d0  3d 30 20 b8 20 59 25 20  88 20 53 43 64 6f 74 73  |=0 . Y% . SCdots|
000006e0  25 20 20 20 0d 03 de 1f  48 25 3d 28 45 25 2b 3f  |%   ....H%=(E%+?|
000006f0  53 43 5f 72 6f 74 61 74  69 6f 6e 2b 2e 35 29 83  |SC_rotation+.5).|
00000700  32 35 36 0d 03 e8 14 e7  20 48 25 3c 30 20 48 25  |256..... H%<0 H%|
00000710  3d 48 25 2b 32 35 36 0d  03 f2 24 55 25 3d 2d 53  |=H%+256...$U%=-S|
00000720  43 25 2a 58 28 48 25 29  2d 2e 35 3a 56 25 3d 53  |C%*X(H%)-.5:V%=S|
00000730  43 25 2a 59 28 48 25 29  2b 2e 35 0d 03 fc 1a e7  |C%*Y(H%)+.5.....|
00000740  20 b0 55 25 2c 56 25 29  3c 3e 33 20 f0 36 39 2c  | .U%,V%)<>3 .69,|
00000750  55 25 2c 56 25 0d 04 06  05 ed 0d 04 10 05 3a 0d  |U%,V%.........:.|
00000760  04 1a 0b f2 74 72 61 63  65 20 0d 04 24 33 4d 25  |....trace ..$3M%|
00000770  3d 2d 53 43 25 2a 58 28  3f 53 43 5f 72 6f 74 61  |=-SC%*X(?SC_rota|
00000780  74 69 6f 6e 29 3a 4e 25  3d 53 43 25 2a 59 28 3f  |tion):N%=SC%*Y(?|
00000790  53 43 5f 72 6f 74 61 74  69 6f 6e 29 20 0d 04 2e  |SC_rotation) ...|
000007a0  11 ef 31 39 2c 43 25 2c  33 3b 30 3b 20 20 0d 04  |..19,C%,3;0;  ..|
000007b0  38 11 ef 31 39 2c 44 25  2c 30 3b 30 3b 20 20 0d  |8..19,D%,0;0;  .|
000007c0  04 42 47 58 32 25 3d 6f  75 74 65 72 5f 4c 43 25  |.BGX2%=outer_LC%|
000007d0  2a 58 28 3f 4c 43 5f 72  6f 74 32 29 2b 36 34 30  |*X(?LC_rot2)+640|
000007e0  2e 35 3a 59 32 25 3d 6f  75 74 65 72 5f 4c 43 25  |.5:Y2%=outer_LC%|
000007f0  2a 59 28 3f 4c 43 5f 72  6f 74 32 29 2b 35 31 32  |*Y(?LC_rot2)+512|
00000800  2e 35 20 20 20 20 0d 04  4c 10 ef 32 39 2c 58 32  |.5    ..L..29,X2|
00000810  25 3b 59 32 25 3b 0d 04  56 08 e6 30 2c 30 0d 04  |%;Y2%;..V..0,0..|
00000820  60 1a e3 20 45 25 3d 30  20 b8 20 5a 25 20 88 20  |`.. E%=0 . Z% . |
00000830  4c 43 64 6f 74 73 25 20  0d 04 6a 25 48 25 3d 28  |LCdots% ..j%H%=(|
00000840  2b 45 25 2d 47 2b 2e 35  29 83 32 35 36 3a e7 48  |+E%-G+.5).256:.H|
00000850  25 3c 30 20 48 25 3d 32  35 36 2b 48 25 0d 04 74  |%<0 H%=256+H%..t|
00000860  23 55 25 3d 4c 43 25 2a  58 28 48 25 29 2b 2e 35  |#U%=LC%*X(H%)+.5|
00000870  3a 56 25 3d 4c 43 25 2a  59 28 48 25 29 2b 2e 35  |:V%=LC%*Y(H%)+.5|
00000880  0d 04 7e 1a e7 20 b0 55  25 2c 56 25 29 3c 3e 33  |..~.. .U%,V%)<>3|
00000890  20 f0 36 39 2c 55 25 2c  56 25 0d 04 88 05 ed 0d  | .69,U%,V%......|
000008a0  04 92 05 3a 0d 04 9c 12  50 25 3d 58 33 25 3a 51  |...:....P%=X3%:Q|
000008b0  25 3d 59 33 25 20 0d 04  a6 6d 58 33 25 3d 6f 75  |%=Y3% ...mX3%=ou|
000008c0  74 65 72 5f 4c 43 25 2a  58 28 3f 4c 43 5f 72 6f  |ter_LC%*X(?LC_ro|
000008d0  74 32 29 2b 53 44 25 2a  58 28 3f 53 43 5f 63 65  |t2)+SD%*X(?SC_ce|
000008e0  6e 74 72 65 32 29 2b 36  34 30 2e 35 3a 59 33 25  |ntre2)+640.5:Y3%|
000008f0  3d 6f 75 74 65 72 5f 4c  43 25 2a 59 28 3f 4c 43  |=outer_LC%*Y(?LC|
00000900  5f 72 6f 74 32 29 2b 53  44 25 2a 59 28 3f 53 43  |_rot2)+SD%*Y(?SC|
00000910  5f 63 65 6e 74 72 65 32  29 2b 35 31 32 2e 35 20  |_centre2)+512.5 |
00000920  20 20 20 0d 04 b0 10 ef  32 39 2c 58 33 25 3b 59  |   .....29,X3%;Y|
00000930  33 25 3b 0d 04 ba 1c e3  20 45 25 3d 30 20 b8 20  |3%;..... E%=0 . |
00000940  59 25 20 88 20 53 43 64  6f 74 73 25 20 20 20 0d  |Y% . SCdots%   .|
00000950  04 c4 23 48 25 3d 28 45  25 2b 3f 53 43 5f 72 6f  |..#H%=(E%+?SC_ro|
00000960  74 61 74 69 6f 6e 32 2b  2e 35 29 83 32 35 36 20  |tation2+.5).256 |
00000970  20 20 0d 04 ce 24 55 25  3d 2d 53 43 25 2a 58 28  |  ...$U%=-SC%*X(|
00000980  48 25 29 2d 2e 35 3a 56  25 3d 53 43 25 2a 59 28  |H%)-.5:V%=SC%*Y(|
00000990  48 25 29 2b 2e 35 0d 04  d8 1a e7 20 b0 55 25 2c  |H%)+.5..... .U%,|
000009a0  56 25 29 3c 3e 33 20 f0  36 39 2c 55 25 2c 56 25  |V%)<>3 .69,U%,V%|
000009b0  0d 04 e2 05 ed 0d 04 ec  05 3a 0d 04 f6 21 3f 53  |.........:...!?S|
000009c0  43 5f 72 6f 74 61 74 69  6f 6e 32 3d 3f 53 43 5f  |C_rotation2=?SC_|
000009d0  72 6f 74 61 74 69 6f 6e  20 20 20 0d 05 00 14 42  |rotation   ....B|
000009e0  3d 28 35 30 30 2a 46 25  2f 4c 43 25 29 20 20 0d  |=(500*F%/LC%)  .|
000009f0  05 0a 14 43 3d 4c 25 2a  53 43 25 2f 4c 43 25 2d  |...C=L%*SC%/LC%-|
00000a00  42 20 20 0d 05 14 1f 3f  53 43 5f 72 6f 74 61 74  |B  ....?SC_rotat|
00000a10  69 6f 6e 3d 4c 25 2d 46  25 2d 43 2b 2e 35 20 20  |ion=L%-F%-C+.5  |
00000a20  20 20 0d 05 1e 1c 3f 53  43 5f 63 65 6e 74 72 65  |  ....?SC_centre|
00000a30  32 3d 3f 53 43 5f 63 65  6e 74 72 65 20 20 0d 05  |2=?SC_centre  ..|
00000a40  28 19 3f 53 43 5f 63 65  6e 74 72 65 3d 46 25 2b  |(.?SC_centre=F%+|
00000a50  43 2b 2e 35 20 20 20 0d  05 32 14 3f 4c 43 5f 72  |C+.5   ..2.?LC_r|
00000a60  6f 74 32 3d 3f 4c 43 5f  72 6f 74 0d 05 3c 08 47  |ot2=?LC_rot..<.G|
00000a70  3d 46 20 0d 05 46 19 46  3d 46 2b 4c 43 5f 72 6f  |=F ..F.F=F+LC_ro|
00000a80  74 61 74 69 6f 6e 20 20  20 20 20 20 0d 05 50 0d  |tation      ..P.|
00000a90  46 25 3d 46 25 2b 31 20  20 0d 05 5a 0e 3f 4c 43  |F%=F%+1  ..Z.?LC|
00000aa0  5f 72 6f 74 3d 46 25 0d  05 64 0c 4c 25 3d 4c 25  |_rot=F%..d.L%=L%|
00000ab0  2b 53 25 0d 05 6e 07 fd  20 a3 0d 05 78 05 3a 0d  |+S%..n.. ...x.:.|
00000ac0  05 82 0b dd f2 74 72 61  63 65 0d 05 8c 08 e6 30  |.....trace.....0|
00000ad0  2c 33 0d 05 96 0e ef 32  39 2c 50 25 3b 51 25 3b  |,3.....29,P%;Q%;|
00000ae0  0d 05 a0 0c ec 4d 25 2c  4e 25 20 20 0d 05 aa 10  |.....M%,N%  ....|
00000af0  ef 32 39 2c 58 33 25 3b  59 33 25 3b 0d 05 b4 31  |.29,X3%;Y3%;...1|
00000b00  f0 35 2c 2d 53 43 25 2a  58 28 3f 53 43 5f 72 6f  |.5,-SC%*X(?SC_ro|
00000b10  74 61 74 69 6f 6e 29 2c  53 43 25 2a 59 28 3f 53  |tation),SC%*Y(?S|
00000b20  43 5f 72 6f 74 61 74 69  6f 6e 29 20 20 0d 05 be  |C_rotation)  ...|
00000b30  07 e1 20 20 0d 05 c8 05  3a 0d 05 d2 0d dd f2 69  |..  ....:......i|
00000b40  6e 66 6f 20 20 20 0d 05  dc 23 f1 8a 39 2c 32 29  |nfo   ...#..9,2)|
00000b50  bd 28 31 33 33 29 3b 22  54 48 45 20 4d 55 4c 54  |.(133);"THE MULT|
00000b60  49 2d 53 50 49 52 4f 22  20 0d 05 e6 25 f1 8a 39  |I-SPIRO" ...%..9|
00000b70  2c 34 29 bd 28 31 33 34  29 3b 22 28 42 61 73 69  |,4).(134);"(Basi|
00000b80  63 20 56 65 72 73 69 6f  6e 29 22 20 20 20 0d 05  |c Version)"   ..|
00000b90  f0 35 e8 8a 30 2c 36 29  22 86 45 6e 74 65 72 20  |.5..0,6)".Enter |
00000ba0  73 69 7a 65 20 6f 66 20  6c 61 72 67 65 20 77 68  |size of large wh|
00000bb0  65 65 6c 20 28 32 30 30  5f 34 30 30 29 20 22 4c  |eel (200_400) "L|
00000bc0  43 25 20 0d 05 fa 34 e8  8a 30 2c 39 29 22 86 45  |C% ...4..0,9)".E|
00000bd0  6e 74 65 72 20 73 69 7a  65 20 6f 66 20 73 6d 61  |nter size of sma|
00000be0  6c 6c 20 77 68 65 65 6c  20 28 32 30 5f 31 32 37  |ll wheel (20_127|
00000bf0  29 20 22 53 43 25 20 0d  06 04 2a f1 8a 30 2c 31  |) "SC% ...*..0,1|
00000c00  32 29 22 86 45 6e 74 65  72 20 73 70 65 65 64 20  |2)".Enter speed |
00000c10  6f 66 20 73 6d 61 6c 6c  20 77 68 65 65 6c 22 20  |of small wheel" |
00000c20  20 0d 06 0e 1d f1 8a 30  2c 31 34 29 22 86 31 5f  | ......0,14)".1_|
00000c30  39 20 63 6c 6f 63 6b 77  69 73 65 22 20 20 0d 06  |9 clockwise"  ..|
00000c40  18 2c e8 8a 30 2c 31 36  29 22 86 31 31 5f 32 30  |.,..0,16)".11_20|
00000c50  20 61 6e 74 69 2d 63 6c  6f 63 6b 77 69 73 65 20  | anti-clockwise |
00000c60  22 53 50 45 45 44 25 20  20 20 0d 06 22 15 53 25  |"SPEED%   ..".S%|
00000c70  3d 53 50 45 45 44 25 2d  31 32 20 20 20 20 20 0d  |=SPEED%-12     .|
00000c80  06 2c 08 e1 20 20 20 0d  ff                       |.,..   ..|
00000c89
10-06-88/MULTS3.m0
10-06-88/MULTS3.m1
10-06-88/MULTS3.m2
10-06-88/MULTS3.m4
10-06-88/MULTS3.m5