Home » Archimedes archive » Acorn User » AU 1997-09 B.adf » Regulars » StarInfo/Vibe/Distort

StarInfo/Vibe/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 1997-09 B.adf » Regulars
Filename: StarInfo/Vibe/Distort
Read OK:
File size: 03DD bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > DISTORT
   20
   30MODE28:OFF
   40INPUT"SPRITEFILE="SPF$
   50CLS
   60IF SPF$<>"" THEN
   70
   80SYS"OS_FSControl",28,SPF$ TO ,,LG%
   90LG%=LG%*1.3
  100
  110DIM SPR LG%,BUF 16
  120SPR!0=LG%-1:SPR!4=0:SPR!8=16:SPR!12=16
  130
  140SYS"OS_SpriteOp",256+10,SPR,SPF$
  150SYS"OS_SpriteOp",256+13,SPR,BUF,16,1
  160N$="":P%=0:REPEAT
  170T%=BUF?P%:IF T%<>0 N$+=CHR$T%
  180P%+=1:UNTIL T%=0
  190SYS"OS_SpriteOp",256+40,SPR,N$ TO ,,, W%,H%
  200W%=2*W%:H%=2*H%
  210X%=(1600-W%)/2:Y%=(1200-H%)/2
  220CLS
  230SYS"OS_SpriteOp",256+34,SPR,N$,X%,Y%,0
  240ELSE
  250R=200
  260FORI%=1TO400
  270X%=RND(1280):Y%=RND(960)
  280GCOL 0 TINT 0:CIRCLE FILL X%,Y%,R
  290GCOL RND(63) TINT 0:CIRCLE FILL X%,Y%,R-16
  300R=R*.994
  310NEXT
  320ENDIF
  330
  340REPEAT
  350X%=RND(1600):Y%=RND(1200)
  360CASE RND(2)OF
  370WHEN 1:
  380CASE RND(4) OF
  390WHEN1:MOVE0,0:MOVEX%-2,Y%-2:PLOT&BD,2,2
  400WHEN2:MOVE0,Y%+2:MOVEX%-2,1200:PLOT&BD,2,Y%
  410WHEN3:MOVEX%+2,Y%+2:MOVE1600,1200:PLOT&BD,X%,Y%
  420WHEN4:MOVEX%+2,0:MOVE1600,Y%-2:PLOT&BD,X%,2
  430ENDCASE
  440WHEN 2:
  450CASE RND(4) OF
  460WHEN1:MOVE2,2:MOVEX%,Y%:PLOT&BE,0,0
  470WHEN2:MOVE2,Y%:MOVEX%,1198:PLOT&BE,0,Y%+2
  480WHEN3:MOVEX%,Y%:MOVE1598,1198:PLOT&BE,X%+2,Y%+2
  490WHEN4:MOVEX%,2:MOVE1598,Y%:PLOT&BE,X%+2,0
  500ENDCASE
  510ENDCASE
  520UNTIL0

� > DISTORT

	�28:�
(�"SPRITEFILE="SPF$
2�
<� SPF$<>"" �
F
P$ș"OS_FSControl",28,SPF$ � ,,LG%
ZLG%=LG%*1.3
d
n� SPR LG%,BUF 16
x*SPR!0=LG%-1:SPR!4=0:SPR!8=16:SPR!12=16
�
�#ș"OS_SpriteOp",256+10,SPR,SPF$
�'ș"OS_SpriteOp",256+13,SPR,BUF,16,1
�N$="":P%=0:�
�T%=BUF?P%:� T%<>0 N$+=�T%
�P%+=1:� T%=0
�-ș"OS_SpriteOp",256+40,SPR,N$ � ,,, W%,H%
�W%=2*W%:H%=2*H%
�!X%=(1600-W%)/2:Y%=(1200-H%)/2
��
�)ș"OS_SpriteOp",256+34,SPR,N$,X%,Y%,0
��
�	R=200

�I%=1�400
X%=�(1280):Y%=�(960)
� 0 Ȝ 0:ȏ Ȑ X%,Y%,R
"!� �(63) Ȝ 0:ȏ Ȑ X%,Y%,R-16
,R=R*.994
6�
@�
J
T�
^X%=�(1600):Y%=�(1200)
hȎ �(2)�
r� 1:
|
Ȏ �(4) �
��1:�0,0:�X%-2,Y%-2:�&BD,2,2
�#�2:�0,Y%+2:�X%-2,1200:�&BD,2,Y%
�'�3:�X%+2,Y%+2:�1600,1200:�&BD,X%,Y%
�#�4:�X%+2,0:�1600,Y%-2:�&BD,X%,2
��
�� 2:
�
Ȏ �(4) �
��1:�2,2:�X%,Y%:�&BE,0,0
�!�2:�2,Y%:�X%,1198:�&BE,0,Y%+2
�'�3:�X%,Y%:�1598,1198:�&BE,X%+2,Y%+2
�!�4:�X%,2:�1598,Y%:�&BE,X%+2,0
��
��
�0
�
00000000  0d 00 0a 0f f4 20 3e 20  44 49 53 54 4f 52 54 0d  |..... > DISTORT.|
00000010  00 14 04 0d 00 1e 09 eb  32 38 3a 87 0d 00 28 16  |........28:...(.|
00000020  e8 22 53 50 52 49 54 45  46 49 4c 45 3d 22 53 50  |."SPRITEFILE="SP|
00000030  46 24 0d 00 32 05 db 0d  00 3c 10 e7 20 53 50 46  |F$..2....<.. SPF|
00000040  24 3c 3e 22 22 20 8c 0d  00 46 04 0d 00 50 24 c8  |$<>"" ...F...P$.|
00000050  99 22 4f 53 5f 46 53 43  6f 6e 74 72 6f 6c 22 2c  |."OS_FSControl",|
00000060  32 38 2c 53 50 46 24 20  b8 20 2c 2c 4c 47 25 0d  |28,SPF$ . ,,LG%.|
00000070  00 5a 0f 4c 47 25 3d 4c  47 25 2a 31 2e 33 0d 00  |.Z.LG%=LG%*1.3..|
00000080  64 04 0d 00 6e 14 de 20  53 50 52 20 4c 47 25 2c  |d...n.. SPR LG%,|
00000090  42 55 46 20 31 36 0d 00  78 2a 53 50 52 21 30 3d  |BUF 16..x*SPR!0=|
000000a0  4c 47 25 2d 31 3a 53 50  52 21 34 3d 30 3a 53 50  |LG%-1:SPR!4=0:SP|
000000b0  52 21 38 3d 31 36 3a 53  50 52 21 31 32 3d 31 36  |R!8=16:SPR!12=16|
000000c0  0d 00 82 04 0d 00 8c 23  c8 99 22 4f 53 5f 53 70  |.......#.."OS_Sp|
000000d0  72 69 74 65 4f 70 22 2c  32 35 36 2b 31 30 2c 53  |riteOp",256+10,S|
000000e0  50 52 2c 53 50 46 24 0d  00 96 27 c8 99 22 4f 53  |PR,SPF$...'.."OS|
000000f0  5f 53 70 72 69 74 65 4f  70 22 2c 32 35 36 2b 31  |_SpriteOp",256+1|
00000100  33 2c 53 50 52 2c 42 55  46 2c 31 36 2c 31 0d 00  |3,SPR,BUF,16,1..|
00000110  a0 10 4e 24 3d 22 22 3a  50 25 3d 30 3a f5 0d 00  |..N$="":P%=0:...|
00000120  aa 1d 54 25 3d 42 55 46  3f 50 25 3a e7 20 54 25  |..T%=BUF?P%:. T%|
00000130  3c 3e 30 20 4e 24 2b 3d  bd 54 25 0d 00 b4 10 50  |<>0 N$+=.T%....P|
00000140  25 2b 3d 31 3a fd 20 54  25 3d 30 0d 00 be 2d c8  |%+=1:. T%=0...-.|
00000150  99 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |."OS_SpriteOp",2|
00000160  35 36 2b 34 30 2c 53 50  52 2c 4e 24 20 b8 20 2c  |56+40,SPR,N$ . ,|
00000170  2c 2c 20 57 25 2c 48 25  0d 00 c8 13 57 25 3d 32  |,, W%,H%....W%=2|
00000180  2a 57 25 3a 48 25 3d 32  2a 48 25 0d 00 d2 21 58  |*W%:H%=2*H%...!X|
00000190  25 3d 28 31 36 30 30 2d  57 25 29 2f 32 3a 59 25  |%=(1600-W%)/2:Y%|
000001a0  3d 28 31 32 30 30 2d 48  25 29 2f 32 0d 00 dc 05  |=(1200-H%)/2....|
000001b0  db 0d 00 e6 29 c8 99 22  4f 53 5f 53 70 72 69 74  |....).."OS_Sprit|
000001c0  65 4f 70 22 2c 32 35 36  2b 33 34 2c 53 50 52 2c  |eOp",256+34,SPR,|
000001d0  4e 24 2c 58 25 2c 59 25  2c 30 0d 00 f0 05 cc 0d  |N$,X%,Y%,0......|
000001e0  00 fa 09 52 3d 32 30 30  0d 01 04 0d e3 49 25 3d  |...R=200.....I%=|
000001f0  31 b8 34 30 30 0d 01 0e  18 58 25 3d b3 28 31 32  |1.400....X%=.(12|
00000200  38 30 29 3a 59 25 3d b3  28 39 36 30 29 0d 01 18  |80):Y%=.(960)...|
00000210  1a e6 20 30 20 c8 9c 20  30 3a c8 8f 20 c8 90 20  |.. 0 .. 0:.. .. |
00000220  58 25 2c 59 25 2c 52 0d  01 22 21 e6 20 b3 28 36  |X%,Y%,R.."!. .(6|
00000230  33 29 20 c8 9c 20 30 3a  c8 8f 20 c8 90 20 58 25  |3) .. 0:.. .. X%|
00000240  2c 59 25 2c 52 2d 31 36  0d 01 2c 0c 52 3d 52 2a  |,Y%,R-16..,.R=R*|
00000250  2e 39 39 34 0d 01 36 05  ed 0d 01 40 05 cd 0d 01  |.994..6....@....|
00000260  4a 04 0d 01 54 05 f5 0d  01 5e 19 58 25 3d b3 28  |J...T....^.X%=.(|
00000270  31 36 30 30 29 3a 59 25  3d b3 28 31 32 30 30 29  |1600):Y%=.(1200)|
00000280  0d 01 68 0c c8 8e 20 b3  28 32 29 ca 0d 01 72 08  |..h... .(2)...r.|
00000290  c9 20 31 3a 0d 01 7c 0d  c8 8e 20 b3 28 34 29 20  |. 1:..|... .(4) |
000002a0  ca 0d 01 86 1f c9 31 3a  ec 30 2c 30 3a ec 58 25  |......1:.0,0:.X%|
000002b0  2d 32 2c 59 25 2d 32 3a  f0 26 42 44 2c 32 2c 32  |-2,Y%-2:.&BD,2,2|
000002c0  0d 01 90 23 c9 32 3a ec  30 2c 59 25 2b 32 3a ec  |...#.2:.0,Y%+2:.|
000002d0  58 25 2d 32 2c 31 32 30  30 3a f0 26 42 44 2c 32  |X%-2,1200:.&BD,2|
000002e0  2c 59 25 0d 01 9a 27 c9  33 3a ec 58 25 2b 32 2c  |,Y%...'.3:.X%+2,|
000002f0  59 25 2b 32 3a ec 31 36  30 30 2c 31 32 30 30 3a  |Y%+2:.1600,1200:|
00000300  f0 26 42 44 2c 58 25 2c  59 25 0d 01 a4 23 c9 34  |.&BD,X%,Y%...#.4|
00000310  3a ec 58 25 2b 32 2c 30  3a ec 31 36 30 30 2c 59  |:.X%+2,0:.1600,Y|
00000320  25 2d 32 3a f0 26 42 44  2c 58 25 2c 32 0d 01 ae  |%-2:.&BD,X%,2...|
00000330  05 cb 0d 01 b8 08 c9 20  32 3a 0d 01 c2 0d c8 8e  |....... 2:......|
00000340  20 b3 28 34 29 20 ca 0d  01 cc 1b c9 31 3a ec 32  | .(4) ......1:.2|
00000350  2c 32 3a ec 58 25 2c 59  25 3a f0 26 42 45 2c 30  |,2:.X%,Y%:.&BE,0|
00000360  2c 30 0d 01 d6 21 c9 32  3a ec 32 2c 59 25 3a ec  |,0...!.2:.2,Y%:.|
00000370  58 25 2c 31 31 39 38 3a  f0 26 42 45 2c 30 2c 59  |X%,1198:.&BE,0,Y|
00000380  25 2b 32 0d 01 e0 27 c9  33 3a ec 58 25 2c 59 25  |%+2...'.3:.X%,Y%|
00000390  3a ec 31 35 39 38 2c 31  31 39 38 3a f0 26 42 45  |:.1598,1198:.&BE|
000003a0  2c 58 25 2b 32 2c 59 25  2b 32 0d 01 ea 21 c9 34  |,X%+2,Y%+2...!.4|
000003b0  3a ec 58 25 2c 32 3a ec  31 35 39 38 2c 59 25 3a  |:.X%,2:.1598,Y%:|
000003c0  f0 26 42 45 2c 58 25 2b  32 2c 30 0d 01 f4 05 cb  |.&BE,X%+2,0.....|
000003d0  0d 01 fe 05 cb 0d 02 08  06 fd 30 0d ff           |..........0..|
000003dd