Home » Archimedes archive » Acorn User » AU 1993-08.adf » !StarInfo_StarInfo » Wring

Wring

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 » Acorn User » AU 1993-08.adf » !StarInfo_StarInfo
Filename: Wring
Read OK:
File size: 03C9 bytes
Load address: 0000
Exec address: 0000
Duplicates

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

File contents
   10REM     >Wring (Info9)
   20REM By  Albert Hoekstra
   30REM For all machines
   40REM (c) BAU August 1993
   50:
   60r=420
   70s=1
   80q=1
   90delta=0.3
  100k=1/2/delta
  110m=1/delta-1
  120y0=r/k
  130ly0=r*(1-delta)/m
  140dr=delta*r
  150MODE 1
  160VDU 29,640;512;
  170VDU 19,2,4,0,0,0
  180GCOL 0,1
  190GCOL 0,(128+7)
  200CLG
  210FOR q=1 TO -1 STEP -2
  220 MOVE -r*q,dr*q
  230 FOR y=0 TO -y0*q STEP -s*q
  240  xl=-FNx(y)*q
  250  DRAW xl,y
  260  IF INT(y/s/2)<>y/s/2 THEN DRAW xl,y+dr*q:MOVE xl,y
  270 NEXT y
  280 FOR y=-y0*q TO y0*q STEP s*q
  290  DRAW FNx(y)*q,y
  300 NEXT y
  310 yb=ly0*q
  320 FOR y=yb TO 0 STEP -s*q
  330  xl=-FNlx(y)*q
  340  yl=y+dr*q
  350  DRAW xl,yl
  360  IF INT((yl-yb)/s/2)=(yl-yb)/s/2 THEN 400
  370  IF ABS(y)>dr/2 THEN lijn=dr*q ELSE lijn=2*y
  380  DRAW xl,yl-lijn
  390  MOVE xl,yl
  400 NEXT y
  410 FOR y=0 TO -ly0*q STEP -s*q
  420  xl=-FNlx(y)*q
  430  yl=y+dr*q
  440  DRAW xl,yl
  450 NEXT y
  460 FOR y=-ly0*q TO -dr/2*q STEP s*q
  470  DRAW FNlx(y)*q,y+dr*q
  480 NEXT y
  490 VDU 29,640;(512+dr);
  500 GCOL 0,2
  510NEXT
  520END
  530:
  540DEF FNx(y)=SQR(r^2-(k*y)^2)
  550:
  560DEF FNlx(y)
  570xxx=((r-dr)^2-(m*y)^2)
  580IF xxx<1E-4 xxx=0
  590=SQR(xxx)

�     >Wring (Info9)
� By  Albert Hoekstra
� For all machines
(� (c) BAU August 1993
2:
<	r=420
Fs=1
Pq=1
Z
delta=0.3
dk=1/2/delta
nm=1/delta-1
x
y0=r/k
�ly0=r*(1-delta)/m
�dr=delta*r
�� 1
�� 29,640;512;
�� 19,2,4,0,0,0
�	� 0,1
�� 0,(128+7)
��
�� q=1 � -1 � -2
� � -r*q,dr*q
� � y=0 � -y0*q � -s*q
�  xl=-�x(y)*q
�  � xl,y
,  � �(y/s/2)<>y/s/2 � � xl,y+dr*q:� xl,y
 � y
 � y=-y0*q � y0*q � s*q
"  � �x(y)*q,y
, � y
6
 yb=ly0*q
@ � y=yb � 0 � -s*q
J  xl=-�lx(y)*q
T  yl=y+dr*q
^
  � xl,yl
h)  � �((yl-yb)/s/2)=(yl-yb)/s/2 � �tPA
r(  � �(y)>dr/2 � lijn=dr*q � lijn=2*y
|  � xl,yl-lijn
�
  � xl,yl
� � y
� � y=0 � -ly0*q � -s*q
�  xl=-�lx(y)*q
�  yl=y+dr*q
�
  � xl,yl
� � y
� � y=-ly0*q � -dr/2*q � s*q
�  � �lx(y)*q,y+dr*q
� � y
� � 29,640;(512+dr);
�
 � 0,2
��
�
:
� �x(y)=�(r^2-(k*y)^2)
&:
0� �lx(y)
:xxx=((r-dr)^2-(m*y)^2)
D� xxx<1E-4 xxx=0
N=�(xxx)
�
00000000  0d 00 0a 18 f4 20 20 20  20 20 3e 57 72 69 6e 67  |.....     >Wring|
00000010  20 28 49 6e 66 6f 39 29  0d 00 14 19 f4 20 42 79  | (Info9)..... By|
00000020  20 20 41 6c 62 65 72 74  20 48 6f 65 6b 73 74 72  |  Albert Hoekstr|
00000030  61 0d 00 1e 16 f4 20 46  6f 72 20 61 6c 6c 20 6d  |a..... For all m|
00000040  61 63 68 69 6e 65 73 0d  00 28 19 f4 20 28 63 29  |achines..(.. (c)|
00000050  20 42 41 55 20 41 75 67  75 73 74 20 31 39 39 33  | BAU August 1993|
00000060  0d 00 32 05 3a 0d 00 3c  09 72 3d 34 32 30 0d 00  |..2.:..<.r=420..|
00000070  46 07 73 3d 31 0d 00 50  07 71 3d 31 0d 00 5a 0d  |F.s=1..P.q=1..Z.|
00000080  64 65 6c 74 61 3d 30 2e  33 0d 00 64 0f 6b 3d 31  |delta=0.3..d.k=1|
00000090  2f 32 2f 64 65 6c 74 61  0d 00 6e 0f 6d 3d 31 2f  |/2/delta..n.m=1/|
000000a0  64 65 6c 74 61 2d 31 0d  00 78 0a 79 30 3d 72 2f  |delta-1..x.y0=r/|
000000b0  6b 0d 00 82 15 6c 79 30  3d 72 2a 28 31 2d 64 65  |k....ly0=r*(1-de|
000000c0  6c 74 61 29 2f 6d 0d 00  8c 0e 64 72 3d 64 65 6c  |lta)/m....dr=del|
000000d0  74 61 2a 72 0d 00 96 07  eb 20 31 0d 00 a0 11 ef  |ta*r..... 1.....|
000000e0  20 32 39 2c 36 34 30 3b  35 31 32 3b 0d 00 aa 12  | 29,640;512;....|
000000f0  ef 20 31 39 2c 32 2c 34  2c 30 2c 30 2c 30 0d 00  |. 19,2,4,0,0,0..|
00000100  b4 09 e6 20 30 2c 31 0d  00 be 0f e6 20 30 2c 28  |... 0,1..... 0,(|
00000110  31 32 38 2b 37 29 0d 00  c8 05 da 0d 00 d2 13 e3  |128+7)..........|
00000120  20 71 3d 31 20 b8 20 2d  31 20 88 20 2d 32 0d 00  | q=1 . -1 . -2..|
00000130  dc 10 20 ec 20 2d 72 2a  71 2c 64 72 2a 71 0d 00  |.. . -r*q,dr*q..|
00000140  e6 19 20 e3 20 79 3d 30  20 b8 20 2d 79 30 2a 71  |.. . y=0 . -y0*q|
00000150  20 88 20 2d 73 2a 71 0d  00 f0 11 20 20 78 6c 3d  | . -s*q....  xl=|
00000160  2d a4 78 28 79 29 2a 71  0d 00 fa 0c 20 20 df 20  |-.x(y)*q....  . |
00000170  78 6c 2c 79 0d 01 04 2c  20 20 e7 20 a8 28 79 2f  |xl,y...,  . .(y/|
00000180  73 2f 32 29 3c 3e 79 2f  73 2f 32 20 8c 20 df 20  |s/2)<>y/s/2 . . |
00000190  78 6c 2c 79 2b 64 72 2a  71 3a ec 20 78 6c 2c 79  |xl,y+dr*q:. xl,y|
000001a0  0d 01 0e 08 20 ed 20 79  0d 01 18 1b 20 e3 20 79  |.... . y.... . y|
000001b0  3d 2d 79 30 2a 71 20 b8  20 79 30 2a 71 20 88 20  |=-y0*q . y0*q . |
000001c0  73 2a 71 0d 01 22 11 20  20 df 20 a4 78 28 79 29  |s*q..".  . .x(y)|
000001d0  2a 71 2c 79 0d 01 2c 08  20 ed 20 79 0d 01 36 0d  |*q,y..,. . y..6.|
000001e0  20 79 62 3d 6c 79 30 2a  71 0d 01 40 16 20 e3 20  | yb=ly0*q..@. . |
000001f0  79 3d 79 62 20 b8 20 30  20 88 20 2d 73 2a 71 0d  |y=yb . 0 . -s*q.|
00000200  01 4a 12 20 20 78 6c 3d  2d a4 6c 78 28 79 29 2a  |.J.  xl=-.lx(y)*|
00000210  71 0d 01 54 0f 20 20 79  6c 3d 79 2b 64 72 2a 71  |q..T.  yl=y+dr*q|
00000220  0d 01 5e 0d 20 20 df 20  78 6c 2c 79 6c 0d 01 68  |..^.  . xl,yl..h|
00000230  29 20 20 e7 20 a8 28 28  79 6c 2d 79 62 29 2f 73  |)  . .((yl-yb)/s|
00000240  2f 32 29 3d 28 79 6c 2d  79 62 29 2f 73 2f 32 20  |/2)=(yl-yb)/s/2 |
00000250  8c 20 8d 74 50 41 0d 01  72 28 20 20 e7 20 94 28  |. .tPA..r(  . .(|
00000260  79 29 3e 64 72 2f 32 20  8c 20 6c 69 6a 6e 3d 64  |y)>dr/2 . lijn=d|
00000270  72 2a 71 20 8b 20 6c 69  6a 6e 3d 32 2a 79 0d 01  |r*q . lijn=2*y..|
00000280  7c 12 20 20 df 20 78 6c  2c 79 6c 2d 6c 69 6a 6e  ||.  . xl,yl-lijn|
00000290  0d 01 86 0d 20 20 ec 20  78 6c 2c 79 6c 0d 01 90  |....  . xl,yl...|
000002a0  08 20 ed 20 79 0d 01 9a  1a 20 e3 20 79 3d 30 20  |. . y.... . y=0 |
000002b0  b8 20 2d 6c 79 30 2a 71  20 88 20 2d 73 2a 71 0d  |. -ly0*q . -s*q.|
000002c0  01 a4 12 20 20 78 6c 3d  2d a4 6c 78 28 79 29 2a  |...  xl=-.lx(y)*|
000002d0  71 0d 01 ae 0f 20 20 79  6c 3d 79 2b 64 72 2a 71  |q....  yl=y+dr*q|
000002e0  0d 01 b8 0d 20 20 df 20  78 6c 2c 79 6c 0d 01 c2  |....  . xl,yl...|
000002f0  08 20 ed 20 79 0d 01 cc  1f 20 e3 20 79 3d 2d 6c  |. . y.... . y=-l|
00000300  79 30 2a 71 20 b8 20 2d  64 72 2f 32 2a 71 20 88  |y0*q . -dr/2*q .|
00000310  20 73 2a 71 0d 01 d6 17  20 20 df 20 a4 6c 78 28  | s*q....  . .lx(|
00000320  79 29 2a 71 2c 79 2b 64  72 2a 71 0d 01 e0 08 20  |y)*q,y+dr*q.... |
00000330  ed 20 79 0d 01 ea 17 20  ef 20 32 39 2c 36 34 30  |. y.... . 29,640|
00000340  3b 28 35 31 32 2b 64 72  29 3b 0d 01 f4 0a 20 e6  |;(512+dr);.... .|
00000350  20 30 2c 32 0d 01 fe 05  ed 0d 02 08 05 e0 0d 02  | 0,2............|
00000360  12 05 3a 0d 02 1c 1a dd  20 a4 78 28 79 29 3d b6  |..:..... .x(y)=.|
00000370  28 72 5e 32 2d 28 6b 2a  79 29 5e 32 29 0d 02 26  |(r^2-(k*y)^2)..&|
00000380  05 3a 0d 02 30 0c dd 20  a4 6c 78 28 79 29 0d 02  |.:..0.. .lx(y)..|
00000390  3a 1a 78 78 78 3d 28 28  72 2d 64 72 29 5e 32 2d  |:.xxx=((r-dr)^2-|
000003a0  28 6d 2a 79 29 5e 32 29  0d 02 44 14 e7 20 78 78  |(m*y)^2)..D.. xx|
000003b0  78 3c 31 45 2d 34 20 78  78 78 3d 30 0d 02 4e 0b  |x<1E-4 xxx=0..N.|
000003c0  3d b6 28 78 78 78 29 0d  ff                       |=.(xxx)..|
000003c9