Home » Archimedes archive » Acorn User » AU 1993-06.adf » !StarInfo_StarInfo » Distort

Distort

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-06.adf » !StarInfo_StarInfo
Filename: Distort
Read OK:
File size: 088E bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >Distort (Info11)
   20REM By  David Jeffries
   30REM For 32-bit machines
   40REM (c) BAU June 1993
   50:
   60MODE 15
   70DIM sprite 162*1024
   80*Cat
   90INPUT'"Sprite file   : "spr$
  100INPUT'"Radius        : "radius
  110SYS "OS_File",&FF,spr$,sprite
  120PROCmakeshape
  130PRINT'"Mouse control : ";
  140mc=(INSTR(" YyNn",GET$)DIV2=1)
  150IF mc PRINT"Yes"' ELSE PRINT"No"'
  160PROCassembler
  170CLS:OFF
  180CALLcode
  190END
  200:
  210DEF PROCassembler
  220DIM code 1000
  230FOR pass=0 TO 2 STEP2
  240P%=code
  250[OPT pass
  260MOV R0,#0
  270LDR R7,pos
  280LDR R8,coord2
  290LDR R9,coord1
  300LDR R10,scstart
  310LDR R11,image
  320LDR R12,length
  330SUB R11,R11,R12
  340SUB R10,R10,R12
  350ADD R10,R10,R7
  360LDR R4,end
  370ADD R4,R4,R9
  380.inloop
  390LDR R8,coord2
  400LDR R9,coord1
  410.loop
  420LDR R2,[R8],#4
  430ADD R3,R11,R7
  440ADD R2,R2,R3
  450LDR R2,[R2]
  460LDR R1,[R9],#4
  470ADD R1,R1,R10
  480STR R2,[R1]
  490STR R2,[R1,#4]
  500STR R2,[R1,#8]
  510STR R2,[R1,#640]
  520STR R2,[R1,#644]
  530STR R2,[R1,#648]
  540STR R2,[R1,#1280]
  550STR R2,[R1,#1284]
  560STR R2,[R1,#1288]
  570STR R2,[R1,#1920]
  580STR R2,[R1,#1924]
  590STR R2,[R1,#1928]
  600CMP R9,R4
  610BLT loop
  620LDR R8,mouse
  630CMP R8,#0
  640ADDEQ R7,R7,#4
  650BEQ nomouse
  660ADR R8,buf
  670STMIA R8,{R0-R1,R4-R7,R9-R12}
  680SWI "OS_Mouse"
  690LDR R4,oldx
  700SUB R2,R0,R4
  710STR R0,oldx
  720ADR R8,buf
  730LDMIA R8,{R0-R1,R4-R7,R9-R12}
  740SUB R7,R7,R2
  750.nomouse
  760MOV R0,#0
  770SWI "OS_ReadEscapeState"
  780BCC inloop
  790MOV PC,R14
  800:
  810.coord1  EQUD data1+8
  820.coord2  EQUD data2
  830.scstart EQUD 148
  840         EQUD -1
  850.image   EQUD sprite+sprite!44
  860.length  EQUD &28000 DIV 2
  870.end     EQUD !data1
  880.pos     EQUD 320
  890.oldx    EQUD 640
  900.mouse   EQUD ABSmc
  910.buf
  920]:NEXT
  930SYS "OS_ReadVduVariables",scstart,scstart
  940ENDPROC
  950:
  960DEF PROCmakeshape
  970PRINT
  980size=((radius/4)^2+512)
  990DIM data1 size,data2 size
 1000counter=0
 1010r=1:r2=1:c=0.1
 1020REPEAT
 1030 FOR a=0 TO PI*2 STEP PI/(r/4)
 1040  x=r*COSa:y=r*SINa:x2=r2*COSa:y2=r2*SINa
 1050  addr1=&28000-(640*INT(y/4))+(x/2)
 1060  addr2=&28000-(640*INT(y2/4))+(x2/2)
 1070  data1!counter=addr1
 1080  data2!counter=addr2
 1090  counter+=4
 1100 NEXT
 1110 r+=16
 1120 c+=(SIN(PI/2)*(r/radius))
 1130 r2+=4+c
 1140 PRINT"Please wait   : ";(radius>r)*(r-radius);"   ";CHR$13;
 1150UNTIL r>radius
 1160!data1=(counter-SQR(counter))
 1170data1!4=(data2-data1)
 1180PRINT
 1190ENDPROC

�     >Distort (Info11)
� By  David Jeffries
� For 32-bit machines
(� (c) BAU June 1993
2:
<� 15
F� sprite 162*1024
P*Cat
Z�'"Sprite file   : "spr$
d�'"Radius        : "radius
n ș "OS_File",&FF,spr$,sprite
x�makeshape
��'"Mouse control : ";
�mc=(�" YyNn",�)�2=1)
�� mc �"Yes"' � �"No"'
��assembler
��:�
�	�code
��
�:
�� �assembler
�� code 1000
�� pass=0 � 2 �2
�P%=code
�
[OPT pass

MOV R0,#0
LDR R7,pos
LDR R8,coord2
"LDR R9,coord1
,LDR R10,scstart
6LDR R11,image
@LDR R12,length
JSUB R11,R11,R12
TSUB R10,R10,R12
^ADD R10,R10,R7
hLDR R4,end
rADD R4,R4,R9
|.inloop
�LDR R8,coord2
�LDR R9,coord1
�	.loop
�LDR R2,[R8],#4
�ADD R3,R11,R7
�ADD R2,R2,R3
�LDR R2,[R2]
�LDR R1,[R9],#4
�ADD R1,R1,R10
�STR R2,[R1]
�STR R2,[R1,#4]
�STR R2,[R1,#8]
�STR R2,[R1,#640]
STR R2,[R1,#644]
STR R2,[R1,#648]
STR R2,[R1,#1280]
&STR R2,[R1,#1284]
0STR R2,[R1,#1288]
:STR R2,[R1,#1920]
DSTR R2,[R1,#1924]
NSTR R2,[R1,#1928]
X
CMP R9,R4
bBLT loop
lLDR R8,mouse
v
CMP R8,#0
�ADDEQ R7,R7,#4
�BEQ nomouse
�ADR R8,buf
�!STMIA R8,{R0-R1,R4-R7,R9-R12}
�SWI "OS_Mouse"
�LDR R4,oldx
�SUB R2,R0,R4
�STR R0,oldx
�ADR R8,buf
�!LDMIA R8,{R0-R1,R4-R7,R9-R12}
�SUB R7,R7,R2
�.nomouse
�
MOV R0,#0
SWI "OS_ReadEscapeState"
BCC inloop
MOV PC,R14
 :
*.coord1  EQUD data1+8
4.coord2  EQUD data2
>.scstart EQUD 148
H         EQUD -1
R".image   EQUD sprite+sprite!44
\.length  EQUD &28000 � 2
f.end     EQUD !data1
p.pos     EQUD 320
z.oldx    EQUD 640
�.mouse   EQUD �mc
�.buf
�]:�
�,ș "OS_ReadVduVariables",scstart,scstart
��
�:
�� �makeshape
��
�size=((radius/4)^2+512)
�� data1 size,data2 size
�
counter=0
�r=1:r2=1:c=0.1
��
 � a=0 � �*2 � �/(r/4)
%  x=r*�a:y=r*�a:x2=r2*�a:y2=r2*�a
%  addr1=&28000-(640*�(y/4))+(x/2)
$'  addr2=&28000-(640*�(y2/4))+(x2/2)
.  data1!counter=addr1
8  data2!counter=addr2
B  counter+=4
L �
V
 r+=16
` c+=(�(�/2)*(r/radius))
j r2+=4+c
t9 �"Please wait   : ";(radius>r)*(r-radius);"   ";�13;
~� r>radius
�!data1=(counter-�(counter))
�data1!4=(data2-data1)
��
��
�
00000000  0d 00 0a 1b f4 20 20 20  20 20 3e 44 69 73 74 6f  |.....     >Disto|
00000010  72 74 20 28 49 6e 66 6f  31 31 29 0d 00 14 18 f4  |rt (Info11).....|
00000020  20 42 79 20 20 44 61 76  69 64 20 4a 65 66 66 72  | By  David Jeffr|
00000030  69 65 73 0d 00 1e 19 f4  20 46 6f 72 20 33 32 2d  |ies..... For 32-|
00000040  62 69 74 20 6d 61 63 68  69 6e 65 73 0d 00 28 17  |bit machines..(.|
00000050  f4 20 28 63 29 20 42 41  55 20 4a 75 6e 65 20 31  |. (c) BAU June 1|
00000060  39 39 33 0d 00 32 05 3a  0d 00 3c 08 eb 20 31 35  |993..2.:..<.. 15|
00000070  0d 00 46 15 de 20 73 70  72 69 74 65 20 31 36 32  |..F.. sprite 162|
00000080  2a 31 30 32 34 0d 00 50  08 2a 43 61 74 0d 00 5a  |*1024..P.*Cat..Z|
00000090  1c e8 27 22 53 70 72 69  74 65 20 66 69 6c 65 20  |..'"Sprite file |
000000a0  20 20 3a 20 22 73 70 72  24 0d 00 64 1e e8 27 22  |  : "spr$..d..'"|
000000b0  52 61 64 69 75 73 20 20  20 20 20 20 20 20 3a 20  |Radius        : |
000000c0  22 72 61 64 69 75 73 0d  00 6e 20 c8 99 20 22 4f  |"radius..n .. "O|
000000d0  53 5f 46 69 6c 65 22 2c  26 46 46 2c 73 70 72 24  |S_File",&FF,spr$|
000000e0  2c 73 70 72 69 74 65 0d  00 78 0e f2 6d 61 6b 65  |,sprite..x..make|
000000f0  73 68 61 70 65 0d 00 82  19 f1 27 22 4d 6f 75 73  |shape.....'"Mous|
00000100  65 20 63 6f 6e 74 72 6f  6c 20 3a 20 22 3b 0d 00  |e control : ";..|
00000110  8c 18 6d 63 3d 28 a7 22  20 59 79 4e 6e 22 2c be  |..mc=(." YyNn",.|
00000120  29 81 32 3d 31 29 0d 00  96 19 e7 20 6d 63 20 f1  |).2=1)..... mc .|
00000130  22 59 65 73 22 27 20 8b  20 f1 22 4e 6f 22 27 0d  |"Yes"' . ."No"'.|
00000140  00 a0 0e f2 61 73 73 65  6d 62 6c 65 72 0d 00 aa  |....assembler...|
00000150  07 db 3a 87 0d 00 b4 09  d6 63 6f 64 65 0d 00 be  |..:......code...|
00000160  05 e0 0d 00 c8 05 3a 0d  00 d2 10 dd 20 f2 61 73  |......:..... .as|
00000170  73 65 6d 62 6c 65 72 0d  00 dc 0f de 20 63 6f 64  |sembler..... cod|
00000180  65 20 31 30 30 30 0d 00  e6 13 e3 20 70 61 73 73  |e 1000..... pass|
00000190  3d 30 20 b8 20 32 20 88  32 0d 00 f0 0b 50 25 3d  |=0 . 2 .2....P%=|
000001a0  63 6f 64 65 0d 00 fa 0d  5b 4f 50 54 20 70 61 73  |code....[OPT pas|
000001b0  73 0d 01 04 0d 4d 4f 56  20 52 30 2c 23 30 0d 01  |s....MOV R0,#0..|
000001c0  0e 0e 4c 44 52 20 52 37  2c 70 6f 73 0d 01 18 11  |..LDR R7,pos....|
000001d0  4c 44 52 20 52 38 2c 63  6f 6f 72 64 32 0d 01 22  |LDR R8,coord2.."|
000001e0  11 4c 44 52 20 52 39 2c  63 6f 6f 72 64 31 0d 01  |.LDR R9,coord1..|
000001f0  2c 13 4c 44 52 20 52 31  30 2c 73 63 73 74 61 72  |,.LDR R10,scstar|
00000200  74 0d 01 36 11 4c 44 52  20 52 31 31 2c 69 6d 61  |t..6.LDR R11,ima|
00000210  67 65 0d 01 40 12 4c 44  52 20 52 31 32 2c 6c 65  |ge..@.LDR R12,le|
00000220  6e 67 74 68 0d 01 4a 13  53 55 42 20 52 31 31 2c  |ngth..J.SUB R11,|
00000230  52 31 31 2c 52 31 32 0d  01 54 13 53 55 42 20 52  |R11,R12..T.SUB R|
00000240  31 30 2c 52 31 30 2c 52  31 32 0d 01 5e 12 41 44  |10,R10,R12..^.AD|
00000250  44 20 52 31 30 2c 52 31  30 2c 52 37 0d 01 68 0e  |D R10,R10,R7..h.|
00000260  4c 44 52 20 52 34 2c 65  6e 64 0d 01 72 10 41 44  |LDR R4,end..r.AD|
00000270  44 20 52 34 2c 52 34 2c  52 39 0d 01 7c 0b 2e 69  |D R4,R4,R9..|..i|
00000280  6e 6c 6f 6f 70 0d 01 86  11 4c 44 52 20 52 38 2c  |nloop....LDR R8,|
00000290  63 6f 6f 72 64 32 0d 01  90 11 4c 44 52 20 52 39  |coord2....LDR R9|
000002a0  2c 63 6f 6f 72 64 31 0d  01 9a 09 2e 6c 6f 6f 70  |,coord1.....loop|
000002b0  0d 01 a4 12 4c 44 52 20  52 32 2c 5b 52 38 5d 2c  |....LDR R2,[R8],|
000002c0  23 34 0d 01 ae 11 41 44  44 20 52 33 2c 52 31 31  |#4....ADD R3,R11|
000002d0  2c 52 37 0d 01 b8 10 41  44 44 20 52 32 2c 52 32  |,R7....ADD R2,R2|
000002e0  2c 52 33 0d 01 c2 0f 4c  44 52 20 52 32 2c 5b 52  |,R3....LDR R2,[R|
000002f0  32 5d 0d 01 cc 12 4c 44  52 20 52 31 2c 5b 52 39  |2]....LDR R1,[R9|
00000300  5d 2c 23 34 0d 01 d6 11  41 44 44 20 52 31 2c 52  |],#4....ADD R1,R|
00000310  31 2c 52 31 30 0d 01 e0  0f 53 54 52 20 52 32 2c  |1,R10....STR R2,|
00000320  5b 52 31 5d 0d 01 ea 12  53 54 52 20 52 32 2c 5b  |[R1]....STR R2,[|
00000330  52 31 2c 23 34 5d 0d 01  f4 12 53 54 52 20 52 32  |R1,#4]....STR R2|
00000340  2c 5b 52 31 2c 23 38 5d  0d 01 fe 14 53 54 52 20  |,[R1,#8]....STR |
00000350  52 32 2c 5b 52 31 2c 23  36 34 30 5d 0d 02 08 14  |R2,[R1,#640]....|
00000360  53 54 52 20 52 32 2c 5b  52 31 2c 23 36 34 34 5d  |STR R2,[R1,#644]|
00000370  0d 02 12 14 53 54 52 20  52 32 2c 5b 52 31 2c 23  |....STR R2,[R1,#|
00000380  36 34 38 5d 0d 02 1c 15  53 54 52 20 52 32 2c 5b  |648]....STR R2,[|
00000390  52 31 2c 23 31 32 38 30  5d 0d 02 26 15 53 54 52  |R1,#1280]..&.STR|
000003a0  20 52 32 2c 5b 52 31 2c  23 31 32 38 34 5d 0d 02  | R2,[R1,#1284]..|
000003b0  30 15 53 54 52 20 52 32  2c 5b 52 31 2c 23 31 32  |0.STR R2,[R1,#12|
000003c0  38 38 5d 0d 02 3a 15 53  54 52 20 52 32 2c 5b 52  |88]..:.STR R2,[R|
000003d0  31 2c 23 31 39 32 30 5d  0d 02 44 15 53 54 52 20  |1,#1920]..D.STR |
000003e0  52 32 2c 5b 52 31 2c 23  31 39 32 34 5d 0d 02 4e  |R2,[R1,#1924]..N|
000003f0  15 53 54 52 20 52 32 2c  5b 52 31 2c 23 31 39 32  |.STR R2,[R1,#192|
00000400  38 5d 0d 02 58 0d 43 4d  50 20 52 39 2c 52 34 0d  |8]..X.CMP R9,R4.|
00000410  02 62 0c 42 4c 54 20 6c  6f 6f 70 0d 02 6c 10 4c  |.b.BLT loop..l.L|
00000420  44 52 20 52 38 2c 6d 6f  75 73 65 0d 02 76 0d 43  |DR R8,mouse..v.C|
00000430  4d 50 20 52 38 2c 23 30  0d 02 80 12 41 44 44 45  |MP R8,#0....ADDE|
00000440  51 20 52 37 2c 52 37 2c  23 34 0d 02 8a 0f 42 45  |Q R7,R7,#4....BE|
00000450  51 20 6e 6f 6d 6f 75 73  65 0d 02 94 0e 41 44 52  |Q nomouse....ADR|
00000460  20 52 38 2c 62 75 66 0d  02 9e 21 53 54 4d 49 41  | R8,buf...!STMIA|
00000470  20 52 38 2c 7b 52 30 2d  52 31 2c 52 34 2d 52 37  | R8,{R0-R1,R4-R7|
00000480  2c 52 39 2d 52 31 32 7d  0d 02 a8 12 53 57 49 20  |,R9-R12}....SWI |
00000490  22 4f 53 5f 4d 6f 75 73  65 22 0d 02 b2 0f 4c 44  |"OS_Mouse"....LD|
000004a0  52 20 52 34 2c 6f 6c 64  78 0d 02 bc 10 53 55 42  |R R4,oldx....SUB|
000004b0  20 52 32 2c 52 30 2c 52  34 0d 02 c6 0f 53 54 52  | R2,R0,R4....STR|
000004c0  20 52 30 2c 6f 6c 64 78  0d 02 d0 0e 41 44 52 20  | R0,oldx....ADR |
000004d0  52 38 2c 62 75 66 0d 02  da 21 4c 44 4d 49 41 20  |R8,buf...!LDMIA |
000004e0  52 38 2c 7b 52 30 2d 52  31 2c 52 34 2d 52 37 2c  |R8,{R0-R1,R4-R7,|
000004f0  52 39 2d 52 31 32 7d 0d  02 e4 10 53 55 42 20 52  |R9-R12}....SUB R|
00000500  37 2c 52 37 2c 52 32 0d  02 ee 0c 2e 6e 6f 6d 6f  |7,R7,R2.....nomo|
00000510  75 73 65 0d 02 f8 0d 4d  4f 56 20 52 30 2c 23 30  |use....MOV R0,#0|
00000520  0d 03 02 1c 53 57 49 20  22 4f 53 5f 52 65 61 64  |....SWI "OS_Read|
00000530  45 73 63 61 70 65 53 74  61 74 65 22 0d 03 0c 0e  |EscapeState"....|
00000540  42 43 43 20 69 6e 6c 6f  6f 70 0d 03 16 0e 4d 4f  |BCC inloop....MO|
00000550  56 20 50 43 2c 52 31 34  0d 03 20 05 3a 0d 03 2a  |V PC,R14.. .:..*|
00000560  19 2e 63 6f 6f 72 64 31  20 20 45 51 55 44 20 64  |..coord1  EQUD d|
00000570  61 74 61 31 2b 38 0d 03  34 17 2e 63 6f 6f 72 64  |ata1+8..4..coord|
00000580  32 20 20 45 51 55 44 20  64 61 74 61 32 0d 03 3e  |2  EQUD data2..>|
00000590  15 2e 73 63 73 74 61 72  74 20 45 51 55 44 20 31  |..scstart EQUD 1|
000005a0  34 38 0d 03 48 14 20 20  20 20 20 20 20 20 20 45  |48..H.         E|
000005b0  51 55 44 20 2d 31 0d 03  52 22 2e 69 6d 61 67 65  |QUD -1..R".image|
000005c0  20 20 20 45 51 55 44 20  73 70 72 69 74 65 2b 73  |   EQUD sprite+s|
000005d0  70 72 69 74 65 21 34 34  0d 03 5c 1c 2e 6c 65 6e  |prite!44..\..len|
000005e0  67 74 68 20 20 45 51 55  44 20 26 32 38 30 30 30  |gth  EQUD &28000|
000005f0  20 81 20 32 0d 03 66 18  2e 65 6e 64 20 20 20 20  | . 2..f..end    |
00000600  20 45 51 55 44 20 21 64  61 74 61 31 0d 03 70 15  | EQUD !data1..p.|
00000610  2e 70 6f 73 20 20 20 20  20 45 51 55 44 20 33 32  |.pos     EQUD 32|
00000620  30 0d 03 7a 15 2e 6f 6c  64 78 20 20 20 20 45 51  |0..z..oldx    EQ|
00000630  55 44 20 36 34 30 0d 03  84 15 2e 6d 6f 75 73 65  |UD 640.....mouse|
00000640  20 20 20 45 51 55 44 20  94 6d 63 0d 03 8e 08 2e  |   EQUD .mc.....|
00000650  62 75 66 0d 03 98 07 5d  3a ed 0d 03 a2 2c c8 99  |buf....]:....,..|
00000660  20 22 4f 53 5f 52 65 61  64 56 64 75 56 61 72 69  | "OS_ReadVduVari|
00000670  61 62 6c 65 73 22 2c 73  63 73 74 61 72 74 2c 73  |ables",scstart,s|
00000680  63 73 74 61 72 74 0d 03  ac 05 e1 0d 03 b6 05 3a  |cstart.........:|
00000690  0d 03 c0 10 dd 20 f2 6d  61 6b 65 73 68 61 70 65  |..... .makeshape|
000006a0  0d 03 ca 05 f1 0d 03 d4  1b 73 69 7a 65 3d 28 28  |.........size=((|
000006b0  72 61 64 69 75 73 2f 34  29 5e 32 2b 35 31 32 29  |radius/4)^2+512)|
000006c0  0d 03 de 1b de 20 64 61  74 61 31 20 73 69 7a 65  |..... data1 size|
000006d0  2c 64 61 74 61 32 20 73  69 7a 65 0d 03 e8 0d 63  |,data2 size....c|
000006e0  6f 75 6e 74 65 72 3d 30  0d 03 f2 12 72 3d 31 3a  |ounter=0....r=1:|
000006f0  72 32 3d 31 3a 63 3d 30  2e 31 0d 03 fc 05 f5 0d  |r2=1:c=0.1......|
00000700  04 06 1a 20 e3 20 61 3d  30 20 b8 20 af 2a 32 20  |... . a=0 . .*2 |
00000710  88 20 af 2f 28 72 2f 34  29 0d 04 10 25 20 20 78  |. ./(r/4)...%  x|
00000720  3d 72 2a 9b 61 3a 79 3d  72 2a b5 61 3a 78 32 3d  |=r*.a:y=r*.a:x2=|
00000730  72 32 2a 9b 61 3a 79 32  3d 72 32 2a b5 61 0d 04  |r2*.a:y2=r2*.a..|
00000740  1a 25 20 20 61 64 64 72  31 3d 26 32 38 30 30 30  |.%  addr1=&28000|
00000750  2d 28 36 34 30 2a a8 28  79 2f 34 29 29 2b 28 78  |-(640*.(y/4))+(x|
00000760  2f 32 29 0d 04 24 27 20  20 61 64 64 72 32 3d 26  |/2)..$'  addr2=&|
00000770  32 38 30 30 30 2d 28 36  34 30 2a a8 28 79 32 2f  |28000-(640*.(y2/|
00000780  34 29 29 2b 28 78 32 2f  32 29 0d 04 2e 19 20 20  |4))+(x2/2)....  |
00000790  64 61 74 61 31 21 63 6f  75 6e 74 65 72 3d 61 64  |data1!counter=ad|
000007a0  64 72 31 0d 04 38 19 20  20 64 61 74 61 32 21 63  |dr1..8.  data2!c|
000007b0  6f 75 6e 74 65 72 3d 61  64 64 72 32 0d 04 42 10  |ounter=addr2..B.|
000007c0  20 20 63 6f 75 6e 74 65  72 2b 3d 34 0d 04 4c 06  |  counter+=4..L.|
000007d0  20 ed 0d 04 56 0a 20 72  2b 3d 31 36 0d 04 60 1b  | ...V. r+=16..`.|
000007e0  20 63 2b 3d 28 b5 28 af  2f 32 29 2a 28 72 2f 72  | c+=(.(./2)*(r/r|
000007f0  61 64 69 75 73 29 29 0d  04 6a 0c 20 72 32 2b 3d  |adius))..j. r2+=|
00000800  34 2b 63 0d 04 74 39 20  f1 22 50 6c 65 61 73 65  |4+c..t9 ."Please|
00000810  20 77 61 69 74 20 20 20  3a 20 22 3b 28 72 61 64  | wait   : ";(rad|
00000820  69 75 73 3e 72 29 2a 28  72 2d 72 61 64 69 75 73  |ius>r)*(r-radius|
00000830  29 3b 22 20 20 20 22 3b  bd 31 33 3b 0d 04 7e 0e  |);"   ";.13;..~.|
00000840  fd 20 72 3e 72 61 64 69  75 73 0d 04 88 1f 21 64  |. r>radius....!d|
00000850  61 74 61 31 3d 28 63 6f  75 6e 74 65 72 2d b6 28  |ata1=(counter-.(|
00000860  63 6f 75 6e 74 65 72 29  29 0d 04 92 19 64 61 74  |counter))....dat|
00000870  61 31 21 34 3d 28 64 61  74 61 32 2d 64 61 74 61  |a1!4=(data2-data|
00000880  31 29 0d 04 9c 05 f1 0d  04 a6 05 e1 0d ff        |1)............|
0000088e