Home » CEEFAX disks » telesoftware16.adl » 08-07-89/Bounce

08-07-89/Bounce

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 » telesoftware16.adl
Filename: 08-07-89/Bounce
Read OK:
File size: 0574 bytes
Load address: FFFF0E00
Exec address: FFFF8023
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10 REM BEEBS REVENGE
   20 REM By Rob Walmsley
   30 REM (c) The Micro User
   40 IFTOP>&1C00 PRINT"Lower PAGE!":END
   50 ON ERROR PROCtv(0):MODE7:REPORT:PRINT" in line ";ERL:END
   60 Rnd=RND(-TIME):Rnd=RND(256)
   70 PROCtv(253):MODE4
   80 PROCShow(&6700):PRINTTAB(0,12);
   90 PRINT"BEEBs revenge - Please wait for 50 secs"'''"Use : Z to speed up rotation"'SPC6"X to slow down rotation"'SPC6"R to reverse direction of rotation";SPC6"Q to quit program";
  100 VDU24,0;0;1272;320;
  110 VDU23;6,20;0;0;0;
  120 VDU23;8202;0;0;0;
  130 VDU29,640;512;
  140 HIMEM=&1C00:PROCAnimate(8)
  150 PROCtv(0):MODE7:END
  160 :
  170 DEFPROCBlobs
  180 Q=Scrn%/NumOfScrns%*PI/5
  190 FOR X=Q TO PI*2+Q STEP PI/5
  200 R%=ABS((SINX-2)*20):X%=COSX*500
  210 Y%=SINX*70+SIN(X*8)*30
  220 VDU29,X%+640;Y%+160;:J%=R%*R%
  230 FORI%=0TOR%STEP4:Z%=SQR(J%-I%*I%)
  240 MOVE-Z%,I%:DRAWZ%,I%:MOVE-Z%,-I%
  250 DRAWZ%,-I%:NEXT:NEXT:ENDPROC
  260 :
  270 DEFPROCAnimate(NumOfScrns%)
  280 FORScrn%=1TONumOfScrns%
  290 CLG:VDU29,0;0;:IF RND(-Rnd)
  300 FORI%=0TO60:PLOT69,RND(1272),RND(320):NEXT
  310 PROCBlobs:PROCMove(Scrn%-1):NEXT
  320 D%=6:Di%=1:I%=0:VDU23;6,10;0;0;0;
  330 REPEAT I%=I%+Di% 
  340 IF I%<0 I%=NumOfScrns%-1
  350 IF I%=NumOfScrns% I%=0
  360 PROCShow(&1C00+I%*3200)
  370 IF D%>0 T%=TIME+D%:REPEATUNTILTIME>T%
  380 IF INKEY-67 IF D%>0 D%=D%-1
  390 IF INKEY-98 IF D%<10000 D%=D%+1
  400 IF INKEY-52 Di%=-Di%
  410 UNTIL INKEY-17
  420 ENDPROC
  430 :
  440 DEF PROCMove(S%):LOCAL B%,C%
  450 IF S%=NumOfScrns% ENDPROC
  460 B%=&1C00+3200*S%:C%=&7380
  470 FORJ%=0TO3199STEP4:B%!J%=C%!J%
  480 NEXT:ENDPROC
  490 :
  500 DEFPROCShow(A%):A%=A%DIV8:*FX19
  510 VDU23;12,A%DIV256;0;0;0;
  520 VDU23;13,A%MOD256;0;0;0;:ENDPROC
  530 :
  540 DEF PROCtv(N%):LOCAL X%,Y%
  550 Y%=7:$(Y%*256)="TV"+STR$N%
  560 CALL&FFF7:ENDPROC

 � BEEBS REVENGE
 � By Rob Walmsley
 � (c) The Micro User
( �P>&1C00 �"Lower PAGE!":�
2% � � �tv(0):�7:�:�" in line ";�:�
< Rnd=�(-�):Rnd=�(256)
F �tv(253):�4
P �Show(&6700):�0,12);
Z� �"BEEBs revenge - Please wait for 50 secs"'''"Use : Z to speed up rotation"'�6"X to slow down rotation"'�6"R to reverse direction of rotation";�6"Q to quit program";
d �24,0;0;1272;320;
n �23;6,20;0;0;0;
x �23;8202;0;0;0;
� �29,640;512;
� �=&1C00:�Animate(8)
� �tv(0):�7:�
� :
� ��Blobs
� Q=Scrn%/NumOfScrns%*�/5
� � X=Q � �*2+Q � �/5
� R%=�((�X-2)*20):X%=�X*500
� Y%=�X*70+�(X*8)*30
�  �29,X%+640;Y%+160;:J%=R%*R%
� �I%=0�R%�4:Z%=�(J%-I%*I%)
� �-Z%,I%:�Z%,I%:�-Z%,-I%
� �Z%,-I%:�:�:�
 :
 ��Animate(NumOfScrns%)
 �Scrn%=1�NumOfScrns%
" �:�29,0;0;:� �(-Rnd)
," �I%=0�60:�69,�(1272),�(320):�
6 �Blobs:�Move(Scrn%-1):�
@$ D%=6:Di%=1:I%=0:�23;6,10;0;0;0;
J � I%=I%+Di% 
T � I%<0 I%=NumOfScrns%-1
^ � I%=NumOfScrns% I%=0
h �Show(&1C00+I%*3200)
r � D%>0 T%=�+D%:���>T%
| � �-67 � D%>0 D%=D%-1
� � �-98 � D%<10000 D%=D%+1
� � �-52 Di%=-Di%
� � �-17
� �
� :
� � �Move(S%):� B%,C%
� � S%=NumOfScrns% �
� B%=&1C00+3200*S%:C%=&7380
� �J%=0�3199�4:B%!J%=C%!J%
� �:�
� :
� ��Show(A%):A%=A%�8:*FX19
� �23;12,A%�256;0;0;0;
 �23;13,A%�256;0;0;0;:�
 :
 � �tv(N%):� X%,Y%
& Y%=7:$(Y%*256)="TV"+�N%
0
 �&FFF7:�
�
00000000  0d 00 0a 14 20 f4 20 42  45 45 42 53 20 52 45 56  |.... . BEEBS REV|
00000010  45 4e 47 45 0d 00 14 16  20 f4 20 42 79 20 52 6f  |ENGE.... . By Ro|
00000020  62 20 57 61 6c 6d 73 6c  65 79 0d 00 1e 19 20 f4  |b Walmsley.... .|
00000030  20 28 63 29 20 54 68 65  20 4d 69 63 72 6f 20 55  | (c) The Micro U|
00000040  73 65 72 0d 00 28 1f 20  e7 b8 50 3e 26 31 43 30  |ser..(. ..P>&1C0|
00000050  30 20 f1 22 4c 6f 77 65  72 20 50 41 47 45 21 22  |0 ."Lower PAGE!"|
00000060  3a e0 0d 00 32 25 20 ee  20 85 20 f2 74 76 28 30  |:...2% . . .tv(0|
00000070  29 3a eb 37 3a f6 3a f1  22 20 69 6e 20 6c 69 6e  |):.7:.:." in lin|
00000080  65 20 22 3b 9e 3a e0 0d  00 3c 19 20 52 6e 64 3d  |e ";.:...<. Rnd=|
00000090  b3 28 2d 91 29 3a 52 6e  64 3d b3 28 32 35 36 29  |.(-.):Rnd=.(256)|
000000a0  0d 00 46 10 20 f2 74 76  28 32 35 33 29 3a eb 34  |..F. .tv(253):.4|
000000b0  0d 00 50 1a 20 f2 53 68  6f 77 28 26 36 37 30 30  |..P. .Show(&6700|
000000c0  29 3a f1 8a 30 2c 31 32  29 3b 0d 00 5a aa 20 f1  |):..0,12);..Z. .|
000000d0  22 42 45 45 42 73 20 72  65 76 65 6e 67 65 20 2d  |"BEEBs revenge -|
000000e0  20 50 6c 65 61 73 65 20  77 61 69 74 20 66 6f 72  | Please wait for|
000000f0  20 35 30 20 73 65 63 73  22 27 27 27 22 55 73 65  | 50 secs"'''"Use|
00000100  20 3a 20 5a 20 74 6f 20  73 70 65 65 64 20 75 70  | : Z to speed up|
00000110  20 72 6f 74 61 74 69 6f  6e 22 27 89 36 22 58 20  | rotation"'.6"X |
00000120  74 6f 20 73 6c 6f 77 20  64 6f 77 6e 20 72 6f 74  |to slow down rot|
00000130  61 74 69 6f 6e 22 27 89  36 22 52 20 74 6f 20 72  |ation"'.6"R to r|
00000140  65 76 65 72 73 65 20 64  69 72 65 63 74 69 6f 6e  |everse direction|
00000150  20 6f 66 20 72 6f 74 61  74 69 6f 6e 22 3b 89 36  | of rotation";.6|
00000160  22 51 20 74 6f 20 71 75  69 74 20 70 72 6f 67 72  |"Q to quit progr|
00000170  61 6d 22 3b 0d 00 64 16  20 ef 32 34 2c 30 3b 30  |am";..d. .24,0;0|
00000180  3b 31 32 37 32 3b 33 32  30 3b 0d 00 6e 14 20 ef  |;1272;320;..n. .|
00000190  32 33 3b 36 2c 32 30 3b  30 3b 30 3b 30 3b 0d 00  |23;6,20;0;0;0;..|
000001a0  78 14 20 ef 32 33 3b 38  32 30 32 3b 30 3b 30 3b  |x. .23;8202;0;0;|
000001b0  30 3b 0d 00 82 11 20 ef  32 39 2c 36 34 30 3b 35  |0;.... .29,640;5|
000001c0  31 32 3b 0d 00 8c 18 20  d3 3d 26 31 43 30 30 3a  |12;.... .=&1C00:|
000001d0  f2 41 6e 69 6d 61 74 65  28 38 29 0d 00 96 10 20  |.Animate(8).... |
000001e0  f2 74 76 28 30 29 3a eb  37 3a e0 0d 00 a0 06 20  |.tv(0):.7:..... |
000001f0  3a 0d 00 aa 0c 20 dd f2  42 6c 6f 62 73 0d 00 b4  |:.... ..Blobs...|
00000200  1c 20 51 3d 53 63 72 6e  25 2f 4e 75 6d 4f 66 53  |. Q=Scrn%/NumOfS|
00000210  63 72 6e 73 25 2a af 2f  35 0d 00 be 18 20 e3 20  |crns%*./5.... . |
00000220  58 3d 51 20 b8 20 af 2a  32 2b 51 20 88 20 af 2f  |X=Q . .*2+Q . ./|
00000230  35 0d 00 c8 1e 20 52 25  3d 94 28 28 b5 58 2d 32  |5.... R%=.((.X-2|
00000240  29 2a 32 30 29 3a 58 25  3d 9b 58 2a 35 30 30 0d  |)*20):X%=.X*500.|
00000250  00 d2 17 20 59 25 3d b5  58 2a 37 30 2b b5 28 58  |... Y%=.X*70+.(X|
00000260  2a 38 29 2a 33 30 0d 00  dc 20 20 ef 32 39 2c 58  |*8)*30...  .29,X|
00000270  25 2b 36 34 30 3b 59 25  2b 31 36 30 3b 3a 4a 25  |%+640;Y%+160;:J%|
00000280  3d 52 25 2a 52 25 0d 00  e6 1e 20 e3 49 25 3d 30  |=R%*R%.... .I%=0|
00000290  b8 52 25 88 34 3a 5a 25  3d b6 28 4a 25 2d 49 25  |.R%.4:Z%=.(J%-I%|
000002a0  2a 49 25 29 0d 00 f0 1c  20 ec 2d 5a 25 2c 49 25  |*I%).... .-Z%,I%|
000002b0  3a df 5a 25 2c 49 25 3a  ec 2d 5a 25 2c 2d 49 25  |:.Z%,I%:.-Z%,-I%|
000002c0  0d 00 fa 12 20 df 5a 25  2c 2d 49 25 3a ed 3a ed  |.... .Z%,-I%:.:.|
000002d0  3a e1 0d 01 04 06 20 3a  0d 01 0e 1b 20 dd f2 41  |:..... :.... ..A|
000002e0  6e 69 6d 61 74 65 28 4e  75 6d 4f 66 53 63 72 6e  |nimate(NumOfScrn|
000002f0  73 25 29 0d 01 18 19 20  e3 53 63 72 6e 25 3d 31  |s%).... .Scrn%=1|
00000300  b8 4e 75 6d 4f 66 53 63  72 6e 73 25 0d 01 22 19  |.NumOfScrns%..".|
00000310  20 da 3a ef 32 39 2c 30  3b 30 3b 3a e7 20 b3 28  | .:.29,0;0;:. .(|
00000320  2d 52 6e 64 29 0d 01 2c  22 20 e3 49 25 3d 30 b8  |-Rnd)..," .I%=0.|
00000330  36 30 3a f0 36 39 2c b3  28 31 32 37 32 29 2c b3  |60:.69,.(1272),.|
00000340  28 33 32 30 29 3a ed 0d  01 36 1c 20 f2 42 6c 6f  |(320):...6. .Blo|
00000350  62 73 3a f2 4d 6f 76 65  28 53 63 72 6e 25 2d 31  |bs:.Move(Scrn%-1|
00000360  29 3a ed 0d 01 40 24 20  44 25 3d 36 3a 44 69 25  |):...@$ D%=6:Di%|
00000370  3d 31 3a 49 25 3d 30 3a  ef 32 33 3b 36 2c 31 30  |=1:I%=0:.23;6,10|
00000380  3b 30 3b 30 3b 30 3b 0d  01 4a 11 20 f5 20 49 25  |;0;0;0;..J. . I%|
00000390  3d 49 25 2b 44 69 25 20  0d 01 54 1c 20 e7 20 49  |=I%+Di% ..T. . I|
000003a0  25 3c 30 20 49 25 3d 4e  75 6d 4f 66 53 63 72 6e  |%<0 I%=NumOfScrn|
000003b0  73 25 2d 31 0d 01 5e 1a  20 e7 20 49 25 3d 4e 75  |s%-1..^. . I%=Nu|
000003c0  6d 4f 66 53 63 72 6e 73  25 20 49 25 3d 30 0d 01  |mOfScrns% I%=0..|
000003d0  68 19 20 f2 53 68 6f 77  28 26 31 43 30 30 2b 49  |h. .Show(&1C00+I|
000003e0  25 2a 33 32 30 30 29 0d  01 72 1a 20 e7 20 44 25  |%*3200)..r. . D%|
000003f0  3e 30 20 54 25 3d 91 2b  44 25 3a f5 fd 91 3e 54  |>0 T%=.+D%:...>T|
00000400  25 0d 01 7c 1a 20 e7 20  a6 2d 36 37 20 e7 20 44  |%..|. . .-67 . D|
00000410  25 3e 30 20 44 25 3d 44  25 2d 31 0d 01 86 1e 20  |%>0 D%=D%-1.... |
00000420  e7 20 a6 2d 39 38 20 e7  20 44 25 3c 31 30 30 30  |. .-98 . D%<1000|
00000430  30 20 44 25 3d 44 25 2b  31 0d 01 90 14 20 e7 20  |0 D%=D%+1.... . |
00000440  a6 2d 35 32 20 44 69 25  3d 2d 44 69 25 0d 01 9a  |.-52 Di%=-Di%...|
00000450  0b 20 fd 20 a6 2d 31 37  0d 01 a4 06 20 e1 0d 01  |. . .-17.... ...|
00000460  ae 06 20 3a 0d 01 b8 18  20 dd 20 f2 4d 6f 76 65  |.. :.... . .Move|
00000470  28 53 25 29 3a ea 20 42  25 2c 43 25 0d 01 c2 17  |(S%):. B%,C%....|
00000480  20 e7 20 53 25 3d 4e 75  6d 4f 66 53 63 72 6e 73  | . S%=NumOfScrns|
00000490  25 20 e1 0d 01 cc 1e 20  42 25 3d 26 31 43 30 30  |% ..... B%=&1C00|
000004a0  2b 33 32 30 30 2a 53 25  3a 43 25 3d 26 37 33 38  |+3200*S%:C%=&738|
000004b0  30 0d 01 d6 1d 20 e3 4a  25 3d 30 b8 33 31 39 39  |0.... .J%=0.3199|
000004c0  88 34 3a 42 25 21 4a 25  3d 43 25 21 4a 25 0d 01  |.4:B%!J%=C%!J%..|
000004d0  e0 08 20 ed 3a e1 0d 01  ea 06 20 3a 0d 01 f4 1d  |.. .:..... :....|
000004e0  20 dd f2 53 68 6f 77 28  41 25 29 3a 41 25 3d 41  | ..Show(A%):A%=A|
000004f0  25 81 38 3a 2a 46 58 31  39 0d 01 fe 19 20 ef 32  |%.8:*FX19.... .2|
00000500  33 3b 31 32 2c 41 25 81  32 35 36 3b 30 3b 30 3b  |3;12,A%.256;0;0;|
00000510  30 3b 0d 02 08 1b 20 ef  32 33 3b 31 33 2c 41 25  |0;.... .23;13,A%|
00000520  83 32 35 36 3b 30 3b 30  3b 30 3b 3a e1 0d 02 12  |.256;0;0;0;:....|
00000530  06 20 3a 0d 02 1c 16 20  dd 20 f2 74 76 28 4e 25  |. :.... . .tv(N%|
00000540  29 3a ea 20 58 25 2c 59  25 0d 02 26 1c 20 59 25  |):. X%,Y%..&. Y%|
00000550  3d 37 3a 24 28 59 25 2a  32 35 36 29 3d 22 54 56  |=7:$(Y%*256)="TV|
00000560  22 2b c3 4e 25 0d 02 30  0d 20 d6 26 46 46 46 37  |"+.N%..0. .&FFF7|
00000570  3a e1 0d ff                                       |:...|
00000574
08-07-89/Bounce.m0
08-07-89/Bounce.m1
08-07-89/Bounce.m2
08-07-89/Bounce.m4
08-07-89/Bounce.m5