Home » Personal collection » Acorn ADFS disks » Archimedes » Dominic_4.ADF » BioBot/6502/MakeCourt

BioBot/6502/MakeCourt

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 » Personal collection » Acorn ADFS disks » Archimedes » Dominic_4.ADF
Filename: BioBot/6502/MakeCourt
Read OK:
File size: 073B bytes
Load address: FFFFFB47
Exec address: FA8C0438
File contents
   10 REM Draw graphics for court to speed up BBC.
   20 REM Programmed and Designed by Dominic Ford 1997
   30 REM Part of the BallBot project.
   40 MODE2
   50 PROCdrawfull
   60 REM Save to disc in BBC graphic format...
   70DIM space &5000
   80DIM data(15)
   90FORr=0TO15:READdata(r):NEXT
  100*RAM
  110FORline=0TO31:FORx=0TO79:FORy=0TO7:STAT=0
  120FORp=0TO2STEP2
  130STAT=STAT+data(POINT((4*x+p)*4,1023-line*32-y*4))*2^(1-p/2)
  140NEXT
  150?(space+line*&280+y+x*8)=STAT:NEXT,,
  160OSCLI"SAVE Court "+STR$~space+" "+STR$~(space+&5000)
  170REM Time for tubby-byebyes!
  180END
  190:
  200DATA0,1,4,5,16,17,20,21,64,65,68,69,80,81,84,85
  210:
  220 REM Graphic interface
  230 DEFPROCdrawfull
  240 REM Set up constants
  250 LOCALsx,sy,width
  260 sx=1:sy=2:width=10
  270 REM Setup Colours
  280 COLOUR0,0,64,0:COLOUR1,255,0,0:COLOUR2,255,255,255:COLOUR3,255,0,0:COLOUR4,255,255,0:COLOUR5,0,0,0:COLOUR6,255,255,0
  290 :
  300 REM Draw green court area
  310 CLS:GCOL0,0:RECTANGLE FILL 0,0,1279,1023
  320 REM Mark out white lines onto court
  330 GCOL0,2:RECTANGLE FILL sx/(23.77+2*sx)*1280,sy/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width:RECTANGLE FILL sx/(23.77+2*sx)*1280,(1.37+sy)/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width
  340 RECTANGLE FILL sx/(23.77+2*sx)*1280,(9.6+sy)/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width:RECTANGLE FILL sx/(23.77+2*sx)*1280,(10.97+sy)/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width
  350 RECTANGLE FILL (sx+5.47)/(23.77+2*sx)*1280,(sy+5.49)/(10.97+2*sy)*1024,12.8/(23.77+2*sx)*1280,width
  360 RECTANGLE FILL sx/(23.77+2*sx)*1280,sy/(10.97+2*sy)*1024,width,10.97/(10.97+2*sy)*1024:RECTANGLE FILL (sx+23.77)/(23.77+2*sx)*1280,sy/(10.97+2*sy)*1024,width,10.97/(10.97+2*sy)*1024+width
  370 RECTANGLE FILL (sx+5.47)/(23.77+2*sx)*1280,(sy+1.37)/(10.97+2*sy)*1024,width,8.23/(10.97+2*sy)*1024:RECTANGLE FILL (sx+18.3)/(23.77+2*sx)*1280,(sy+1.37)/(10.97+2*sy)*1024,width,8.23/(10.97+2*sy)*1024
  380 :
  390 REM Draw net
  400 GCOL0,5:FORl=100TO924STEP25:MOVE 640,l:DRAW 680,l+50:NEXT:FORl=0TO40STEP25:MOVE 640+l,100+l:DRAW640+l,924+l:NEXT:FORl=0TO5:MOVE637+l,100:DRAW677+l,150:MOVE637+l,924:DRAW677+l,974:NEXT
  410 GCOL0,2:MOVE 682,142:DRAW682,966
  420 ENDPROC

/ � Draw graphics for court to speed up BBC.
3 � Programmed and Designed by Dominic Ford 1997
# � Part of the BallBot project.
( �2
2 �drawfull
<, � Save to disc in BBC graphic format...
F� space &5000
P� data(15)
Z�r=0�15:�data(r):�
d*RAM
n$�line=0�31:�x=0�79:�y=0�7:STAT=0
x�p=0�2�2
�:STAT=STAT+data(�(4*x+p)*4,1023-line*32-y*4))*2^(1-p/2)
��
�%?(space+line*&280+y+x*8)=STAT:�,,
�.�"SAVE Court "+�~space+" "+�~(space+&5000)
�� Time for tubby-byebyes!
��
�:
�0�0,1,4,5,16,17,20,21,64,65,68,69,80,81,84,85
�:
� � Graphic interface
� ��drawfull
� � Set up constants
� �sx,sy,width
 sx=1:sy=2:width=10
 � Setup Colours
V �0,0,64,0:�1,255,0,0:�2,255,255,255:�3,255,0,0:�4,255,255,0:�5,0,0,0:�6,255,255,0
" :
, � Draw green court area
6 �:�0,0:ȓ Ȑ 0,0,1279,1023
@& � Mark out white lines onto court
J� �0,2:ȓ Ȑ sx/(23.77+2*sx)*1280,sy/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width:ȓ Ȑ sx/(23.77+2*sx)*1280,(1.37+sy)/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width
T� ȓ Ȑ sx/(23.77+2*sx)*1280,(9.6+sy)/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width:ȓ Ȑ sx/(23.77+2*sx)*1280,(10.97+sy)/(10.97+2*sy)*1024,23.77/(23.77+2*sx)*1280,width
^_ ȓ Ȑ (sx+5.47)/(23.77+2*sx)*1280,(sy+5.49)/(10.97+2*sy)*1024,12.8/(23.77+2*sx)*1280,width
h� ȓ Ȑ sx/(23.77+2*sx)*1280,sy/(10.97+2*sy)*1024,width,10.97/(10.97+2*sy)*1024:ȓ Ȑ (sx+23.77)/(23.77+2*sx)*1280,sy/(10.97+2*sy)*1024,width,10.97/(10.97+2*sy)*1024+width
r� ȓ Ȑ (sx+5.47)/(23.77+2*sx)*1280,(sy+1.37)/(10.97+2*sy)*1024,width,8.23/(10.97+2*sy)*1024:ȓ Ȑ (sx+18.3)/(23.77+2*sx)*1280,(sy+1.37)/(10.97+2*sy)*1024,width,8.23/(10.97+2*sy)*1024
| :
� � Draw net
�� �0,5:�l=100�924�25:� 640,l:� 680,l+50:�:�l=0�40�25:� 640+l,100+l:�640+l,924+l:�:�l=0�5:�637+l,100:�677+l,150:�637+l,924:�677+l,974:�
� �0,2:� 682,142:�682,966
� �
�
00000000  0d 00 0a 2f 20 f4 20 44  72 61 77 20 67 72 61 70  |.../ . Draw grap|
00000010  68 69 63 73 20 66 6f 72  20 63 6f 75 72 74 20 74  |hics for court t|
00000020  6f 20 73 70 65 65 64 20  75 70 20 42 42 43 2e 0d  |o speed up BBC..|
00000030  00 14 33 20 f4 20 50 72  6f 67 72 61 6d 6d 65 64  |..3 . Programmed|
00000040  20 61 6e 64 20 44 65 73  69 67 6e 65 64 20 62 79  | and Designed by|
00000050  20 44 6f 6d 69 6e 69 63  20 46 6f 72 64 20 31 39  | Dominic Ford 19|
00000060  39 37 0d 00 1e 23 20 f4  20 50 61 72 74 20 6f 66  |97...# . Part of|
00000070  20 74 68 65 20 42 61 6c  6c 42 6f 74 20 70 72 6f  | the BallBot pro|
00000080  6a 65 63 74 2e 0d 00 28  07 20 eb 32 0d 00 32 0e  |ject...(. .2..2.|
00000090  20 f2 64 72 61 77 66 75  6c 6c 0d 00 3c 2c 20 f4  | .drawfull..<, .|
000000a0  20 53 61 76 65 20 74 6f  20 64 69 73 63 20 69 6e  | Save to disc in|
000000b0  20 42 42 43 20 67 72 61  70 68 69 63 20 66 6f 72  | BBC graphic for|
000000c0  6d 61 74 2e 2e 2e 0d 00  46 11 de 20 73 70 61 63  |mat.....F.. spac|
000000d0  65 20 26 35 30 30 30 0d  00 50 0e de 20 64 61 74  |e &5000..P.. dat|
000000e0  61 28 31 35 29 0d 00 5a  16 e3 72 3d 30 b8 31 35  |a(15)..Z..r=0.15|
000000f0  3a f3 64 61 74 61 28 72  29 3a ed 0d 00 64 08 2a  |:.data(r):...d.*|
00000100  52 41 4d 0d 00 6e 24 e3  6c 69 6e 65 3d 30 b8 33  |RAM..n$.line=0.3|
00000110  31 3a e3 78 3d 30 b8 37  39 3a e3 79 3d 30 b8 37  |1:.x=0.79:.y=0.7|
00000120  3a 53 54 41 54 3d 30 0d  00 78 0c e3 70 3d 30 b8  |:STAT=0..x..p=0.|
00000130  32 88 32 0d 00 82 3a 53  54 41 54 3d 53 54 41 54  |2.2...:STAT=STAT|
00000140  2b 64 61 74 61 28 b0 28  34 2a 78 2b 70 29 2a 34  |+data(.(4*x+p)*4|
00000150  2c 31 30 32 33 2d 6c 69  6e 65 2a 33 32 2d 79 2a  |,1023-line*32-y*|
00000160  34 29 29 2a 32 5e 28 31  2d 70 2f 32 29 0d 00 8c  |4))*2^(1-p/2)...|
00000170  05 ed 0d 00 96 25 3f 28  73 70 61 63 65 2b 6c 69  |.....%?(space+li|
00000180  6e 65 2a 26 32 38 30 2b  79 2b 78 2a 38 29 3d 53  |ne*&280+y+x*8)=S|
00000190  54 41 54 3a ed 2c 2c 0d  00 a0 2e ff 22 53 41 56  |TAT:.,,....."SAV|
000001a0  45 20 43 6f 75 72 74 20  22 2b c3 7e 73 70 61 63  |E Court "+.~spac|
000001b0  65 2b 22 20 22 2b c3 7e  28 73 70 61 63 65 2b 26  |e+" "+.~(space+&|
000001c0  35 30 30 30 29 0d 00 aa  1d f4 20 54 69 6d 65 20  |5000)..... Time |
000001d0  66 6f 72 20 74 75 62 62  79 2d 62 79 65 62 79 65  |for tubby-byebye|
000001e0  73 21 0d 00 b4 05 e0 0d  00 be 05 3a 0d 00 c8 30  |s!.........:...0|
000001f0  dc 30 2c 31 2c 34 2c 35  2c 31 36 2c 31 37 2c 32  |.0,1,4,5,16,17,2|
00000200  30 2c 32 31 2c 36 34 2c  36 35 2c 36 38 2c 36 39  |0,21,64,65,68,69|
00000210  2c 38 30 2c 38 31 2c 38  34 2c 38 35 0d 00 d2 05  |,80,81,84,85....|
00000220  3a 0d 00 dc 18 20 f4 20  47 72 61 70 68 69 63 20  |:.... . Graphic |
00000230  69 6e 74 65 72 66 61 63  65 0d 00 e6 0f 20 dd f2  |interface.... ..|
00000240  64 72 61 77 66 75 6c 6c  0d 00 f0 17 20 f4 20 53  |drawfull.... . S|
00000250  65 74 20 75 70 20 63 6f  6e 73 74 61 6e 74 73 0d  |et up constants.|
00000260  00 fa 11 20 ea 73 78 2c  73 79 2c 77 69 64 74 68  |... .sx,sy,width|
00000270  0d 01 04 17 20 73 78 3d  31 3a 73 79 3d 32 3a 77  |.... sx=1:sy=2:w|
00000280  69 64 74 68 3d 31 30 0d  01 0e 14 20 f4 20 53 65  |idth=10.... . Se|
00000290  74 75 70 20 43 6f 6c 6f  75 72 73 0d 01 18 56 20  |tup Colours...V |
000002a0  fb 30 2c 30 2c 36 34 2c  30 3a fb 31 2c 32 35 35  |.0,0,64,0:.1,255|
000002b0  2c 30 2c 30 3a fb 32 2c  32 35 35 2c 32 35 35 2c  |,0,0:.2,255,255,|
000002c0  32 35 35 3a fb 33 2c 32  35 35 2c 30 2c 30 3a fb  |255:.3,255,0,0:.|
000002d0  34 2c 32 35 35 2c 32 35  35 2c 30 3a fb 35 2c 30  |4,255,255,0:.5,0|
000002e0  2c 30 2c 30 3a fb 36 2c  32 35 35 2c 32 35 35 2c  |,0,0:.6,255,255,|
000002f0  30 0d 01 22 06 20 3a 0d  01 2c 1c 20 f4 20 44 72  |0..". :..,. . Dr|
00000300  61 77 20 67 72 65 65 6e  20 63 6f 75 72 74 20 61  |aw green court a|
00000310  72 65 61 0d 01 36 1f 20  db 3a e6 30 2c 30 3a c8  |rea..6. .:.0,0:.|
00000320  93 20 c8 90 20 30 2c 30  2c 31 32 37 39 2c 31 30  |. .. 0,0,1279,10|
00000330  32 33 0d 01 40 26 20 f4  20 4d 61 72 6b 20 6f 75  |23..@& . Mark ou|
00000340  74 20 77 68 69 74 65 20  6c 69 6e 65 73 20 6f 6e  |t white lines on|
00000350  74 6f 20 63 6f 75 72 74  0d 01 4a ac 20 e6 30 2c  |to court..J. .0,|
00000360  32 3a c8 93 20 c8 90 20  73 78 2f 28 32 33 2e 37  |2:.. .. sx/(23.7|
00000370  37 2b 32 2a 73 78 29 2a  31 32 38 30 2c 73 79 2f  |7+2*sx)*1280,sy/|
00000380  28 31 30 2e 39 37 2b 32  2a 73 79 29 2a 31 30 32  |(10.97+2*sy)*102|
00000390  34 2c 32 33 2e 37 37 2f  28 32 33 2e 37 37 2b 32  |4,23.77/(23.77+2|
000003a0  2a 73 78 29 2a 31 32 38  30 2c 77 69 64 74 68 3a  |*sx)*1280,width:|
000003b0  c8 93 20 c8 90 20 73 78  2f 28 32 33 2e 37 37 2b  |.. .. sx/(23.77+|
000003c0  32 2a 73 78 29 2a 31 32  38 30 2c 28 31 2e 33 37  |2*sx)*1280,(1.37|
000003d0  2b 73 79 29 2f 28 31 30  2e 39 37 2b 32 2a 73 79  |+sy)/(10.97+2*sy|
000003e0  29 2a 31 30 32 34 2c 32  33 2e 37 37 2f 28 32 33  |)*1024,23.77/(23|
000003f0  2e 37 37 2b 32 2a 73 78  29 2a 31 32 38 30 2c 77  |.77+2*sx)*1280,w|
00000400  69 64 74 68 0d 01 54 ae  20 c8 93 20 c8 90 20 73  |idth..T. .. .. s|
00000410  78 2f 28 32 33 2e 37 37  2b 32 2a 73 78 29 2a 31  |x/(23.77+2*sx)*1|
00000420  32 38 30 2c 28 39 2e 36  2b 73 79 29 2f 28 31 30  |280,(9.6+sy)/(10|
00000430  2e 39 37 2b 32 2a 73 79  29 2a 31 30 32 34 2c 32  |.97+2*sy)*1024,2|
00000440  33 2e 37 37 2f 28 32 33  2e 37 37 2b 32 2a 73 78  |3.77/(23.77+2*sx|
00000450  29 2a 31 32 38 30 2c 77  69 64 74 68 3a c8 93 20  |)*1280,width:.. |
00000460  c8 90 20 73 78 2f 28 32  33 2e 37 37 2b 32 2a 73  |.. sx/(23.77+2*s|
00000470  78 29 2a 31 32 38 30 2c  28 31 30 2e 39 37 2b 73  |x)*1280,(10.97+s|
00000480  79 29 2f 28 31 30 2e 39  37 2b 32 2a 73 79 29 2a  |y)/(10.97+2*sy)*|
00000490  31 30 32 34 2c 32 33 2e  37 37 2f 28 32 33 2e 37  |1024,23.77/(23.7|
000004a0  37 2b 32 2a 73 78 29 2a  31 32 38 30 2c 77 69 64  |7+2*sx)*1280,wid|
000004b0  74 68 0d 01 5e 5f 20 c8  93 20 c8 90 20 28 73 78  |th..^_ .. .. (sx|
000004c0  2b 35 2e 34 37 29 2f 28  32 33 2e 37 37 2b 32 2a  |+5.47)/(23.77+2*|
000004d0  73 78 29 2a 31 32 38 30  2c 28 73 79 2b 35 2e 34  |sx)*1280,(sy+5.4|
000004e0  39 29 2f 28 31 30 2e 39  37 2b 32 2a 73 79 29 2a  |9)/(10.97+2*sy)*|
000004f0  31 30 32 34 2c 31 32 2e  38 2f 28 32 33 2e 37 37  |1024,12.8/(23.77|
00000500  2b 32 2a 73 78 29 2a 31  32 38 30 2c 77 69 64 74  |+2*sx)*1280,widt|
00000510  68 0d 01 68 ae 20 c8 93  20 c8 90 20 73 78 2f 28  |h..h. .. .. sx/(|
00000520  32 33 2e 37 37 2b 32 2a  73 78 29 2a 31 32 38 30  |23.77+2*sx)*1280|
00000530  2c 73 79 2f 28 31 30 2e  39 37 2b 32 2a 73 79 29  |,sy/(10.97+2*sy)|
00000540  2a 31 30 32 34 2c 77 69  64 74 68 2c 31 30 2e 39  |*1024,width,10.9|
00000550  37 2f 28 31 30 2e 39 37  2b 32 2a 73 79 29 2a 31  |7/(10.97+2*sy)*1|
00000560  30 32 34 3a c8 93 20 c8  90 20 28 73 78 2b 32 33  |024:.. .. (sx+23|
00000570  2e 37 37 29 2f 28 32 33  2e 37 37 2b 32 2a 73 78  |.77)/(23.77+2*sx|
00000580  29 2a 31 32 38 30 2c 73  79 2f 28 31 30 2e 39 37  |)*1280,sy/(10.97|
00000590  2b 32 2a 73 79 29 2a 31  30 32 34 2c 77 69 64 74  |+2*sy)*1024,widt|
000005a0  68 2c 31 30 2e 39 37 2f  28 31 30 2e 39 37 2b 32  |h,10.97/(10.97+2|
000005b0  2a 73 79 29 2a 31 30 32  34 2b 77 69 64 74 68 0d  |*sy)*1024+width.|
000005c0  01 72 ba 20 c8 93 20 c8  90 20 28 73 78 2b 35 2e  |.r. .. .. (sx+5.|
000005d0  34 37 29 2f 28 32 33 2e  37 37 2b 32 2a 73 78 29  |47)/(23.77+2*sx)|
000005e0  2a 31 32 38 30 2c 28 73  79 2b 31 2e 33 37 29 2f  |*1280,(sy+1.37)/|
000005f0  28 31 30 2e 39 37 2b 32  2a 73 79 29 2a 31 30 32  |(10.97+2*sy)*102|
00000600  34 2c 77 69 64 74 68 2c  38 2e 32 33 2f 28 31 30  |4,width,8.23/(10|
00000610  2e 39 37 2b 32 2a 73 79  29 2a 31 30 32 34 3a c8  |.97+2*sy)*1024:.|
00000620  93 20 c8 90 20 28 73 78  2b 31 38 2e 33 29 2f 28  |. .. (sx+18.3)/(|
00000630  32 33 2e 37 37 2b 32 2a  73 78 29 2a 31 32 38 30  |23.77+2*sx)*1280|
00000640  2c 28 73 79 2b 31 2e 33  37 29 2f 28 31 30 2e 39  |,(sy+1.37)/(10.9|
00000650  37 2b 32 2a 73 79 29 2a  31 30 32 34 2c 77 69 64  |7+2*sy)*1024,wid|
00000660  74 68 2c 38 2e 32 33 2f  28 31 30 2e 39 37 2b 32  |th,8.23/(10.97+2|
00000670  2a 73 79 29 2a 31 30 32  34 0d 01 7c 06 20 3a 0d  |*sy)*1024..|. :.|
00000680  01 86 0f 20 f4 20 44 72  61 77 20 6e 65 74 0d 01  |... . Draw net..|
00000690  90 89 20 e6 30 2c 35 3a  e3 6c 3d 31 30 30 b8 39  |.. .0,5:.l=100.9|
000006a0  32 34 88 32 35 3a ec 20  36 34 30 2c 6c 3a df 20  |24.25:. 640,l:. |
000006b0  36 38 30 2c 6c 2b 35 30  3a ed 3a e3 6c 3d 30 b8  |680,l+50:.:.l=0.|
000006c0  34 30 88 32 35 3a ec 20  36 34 30 2b 6c 2c 31 30  |40.25:. 640+l,10|
000006d0  30 2b 6c 3a df 36 34 30  2b 6c 2c 39 32 34 2b 6c  |0+l:.640+l,924+l|
000006e0  3a ed 3a e3 6c 3d 30 b8  35 3a ec 36 33 37 2b 6c  |:.:.l=0.5:.637+l|
000006f0  2c 31 30 30 3a df 36 37  37 2b 6c 2c 31 35 30 3a  |,100:.677+l,150:|
00000700  ec 36 33 37 2b 6c 2c 39  32 34 3a df 36 37 37 2b  |.637+l,924:.677+|
00000710  6c 2c 39 37 34 3a ed 0d  01 9a 1c 20 e6 30 2c 32  |l,974:..... .0,2|
00000720  3a ec 20 36 38 32 2c 31  34 32 3a df 36 38 32 2c  |:. 682,142:.682,|
00000730  39 36 36 0d 01 a4 06 20  e1 0d ff                 |966.... ...|
0000073b
BioBot/6502/MakeCourt.m0
BioBot/6502/MakeCourt.m1
BioBot/6502/MakeCourt.m2
BioBot/6502/MakeCourt.m4
BioBot/6502/MakeCourt.m5