Home » Personal collection » Acorn ADFS disks » Electron » Programs_V2.ADF » Drive

Drive

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 » Electron » Programs_V2.ADF
Filename: Drive
Read OK:
File size: 0350 bytes
Load address: FFFF1D00
Exec address: FFFF8023
File contents
   10MODE1:VDU19,1,6,0;0;19,2,3,0;0;0;
   20VDU19,3,10,0;0;:t=0:r=0:s=0:f-3000
   30PROCroad:PROChaz:PROCcar:PROCmove
   40PROCbrain:PROCkey:PROCfx:GOTO30
   50DEFPROCroad
   60IF r=1 THEN ENDPROC
   70GCOL0,1:PLOT0,0,512:PLOT1,1279,0
   80PLOT81,0,511:PLOT1,-1279,0
   90PLOT81,0,-511:GCOL0,2:PLOT1,1279,0
  100PLOT81,0,-512:PLOT1,-1279,0
  110PLOT81,0,512:MOVE640,512
  120GCOL0,0:PLOT1,639,-512
  130PLOT81,-1279,0:scx=5120:scy=5000
  140z=10:w=1:wr=25/2:GCOL0,3
  150FORy1=120TO1000STEP100:h=15:ht=5
  160sy=512-scy*z/y1:x=scx*wr/y1
  170sx=640-x:MOVEsx,sy:PROCtree
  180sx=640+x:MOVEsx,sy:PROCtree
  190NEXTy1:r=1:ENDPROC
  200DEFPROCtree
  210GCOL0,0:sh=scy*h/y1:PLOT1,0,sh
  220sh=(h-ht)*scy/y1:PLOT0,0,0
  230sw=2*scx/y1:GCOL0,3
  240PLOT81,-sw,-sh:PLOT81,2*sw,0
  250ENDPROC
  260DEFPROCbrain
  270PRINTTAB(5,0);"Scoreboard:"
  280PRINTTAB(5,1);"Speed Metre:";s
  290PRINTTAB(8,2);"Fuel Metre:";f
  300PRINTTAB(5,3);"Moved:";t
  310IFs<0THENt=t+s:ENDPROC
  320FORlo=tTOt+s
  330ty=?(&3000+lo)
  340IFty=1THENPROCfinish
  350IFty=2THENPROCcrash:RUN
  360IFty=3THENf=f+100
  370 IFty=4THENf=f-100
  380 IFty=5THENf=f-5
  390 IFty=6THENf=f-50

 �1:�19,1,6,0;0;19,2,3,0;0;0;
$�19,3,10,0;0;:t=0:r=0:s=0:f-3000
�road:�haz:�car:�move
(�brain:�key:�fx:�T^@
2
��road
<
� r=1 � �
F�0,1:�0,0,512:�1,1279,0
P�81,0,511:�1,-1279,0
Z�81,0,-511:�0,2:�1,1279,0
d�81,0,-512:�1,-1279,0
n�81,0,512:�640,512
x�0,0:�1,639,-512
�!�81,-1279,0:scx=5120:scy=5000
�z=10:w=1:wr=25/2:�0,3
��y1=120�1000�100:h=15:ht=5
�sy=512-scy*z/y1:x=scx*wr/y1
�sx=640-x:�sx,sy:�tree
�sx=640+x:�sx,sy:�tree
�
�y1:r=1:�
�
��tree
��0,0:sh=scy*h/y1:�1,0,sh
�sh=(h-ht)*scy/y1:�0,0,0
�sw=2*scx/y1:�0,3
��81,-sw,-sh:�81,2*sw,0
��
��brain
�5,0);"Scoreboard:"
�5,1);"Speed Metre:";s
"�8,2);"Fuel Metre:";f
,�5,3);"Moved:";t
6�s<0�t=t+s:�
@�lo=tTOt+s
Jty=?(&3000+lo)
T�ty=1��finish
^�ty=2��crash:�
h�ty=3�f=f+100
r �ty=4�f=f-100
| �ty=5�f=f-5
� �ty=6�f=f-50
�
00000000  0d 00 0a 20 eb 31 3a ef  31 39 2c 31 2c 36 2c 30  |... .1:.19,1,6,0|
00000010  3b 30 3b 31 39 2c 32 2c  33 2c 30 3b 30 3b 30 3b  |;0;19,2,3,0;0;0;|
00000020  0d 00 14 24 ef 31 39 2c  33 2c 31 30 2c 30 3b 30  |...$.19,3,10,0;0|
00000030  3b 3a 74 3d 30 3a 72 3d  30 3a 73 3d 30 3a 66 2d  |;:t=0:r=0:s=0:f-|
00000040  33 30 30 30 0d 00 1e 19  f2 72 6f 61 64 3a f2 68  |3000.....road:.h|
00000050  61 7a 3a f2 63 61 72 3a  f2 6d 6f 76 65 0d 00 28  |az:.car:.move..(|
00000060  19 f2 62 72 61 69 6e 3a  f2 6b 65 79 3a f2 66 78  |..brain:.key:.fx|
00000070  3a e5 8d 54 5e 40 0d 00  32 0a dd f2 72 6f 61 64  |:..T^@..2...road|
00000080  0d 00 3c 0d e7 20 72 3d  31 20 8c 20 e1 0d 00 46  |..<.. r=1 . ...F|
00000090  1b e6 30 2c 31 3a f0 30  2c 30 2c 35 31 32 3a f0  |..0,1:.0,0,512:.|
000000a0  31 2c 31 32 37 39 2c 30  0d 00 50 18 f0 38 31 2c  |1,1279,0..P..81,|
000000b0  30 2c 35 31 31 3a f0 31  2c 2d 31 32 37 39 2c 30  |0,511:.1,-1279,0|
000000c0  0d 00 5a 1d f0 38 31 2c  30 2c 2d 35 31 31 3a e6  |..Z..81,0,-511:.|
000000d0  30 2c 32 3a f0 31 2c 31  32 37 39 2c 30 0d 00 64  |0,2:.1,1279,0..d|
000000e0  19 f0 38 31 2c 30 2c 2d  35 31 32 3a f0 31 2c 2d  |..81,0,-512:.1,-|
000000f0  31 32 37 39 2c 30 0d 00  6e 16 f0 38 31 2c 30 2c  |1279,0..n..81,0,|
00000100  35 31 32 3a ec 36 34 30  2c 35 31 32 0d 00 78 14  |512:.640,512..x.|
00000110  e6 30 2c 30 3a f0 31 2c  36 33 39 2c 2d 35 31 32  |.0,0:.1,639,-512|
00000120  0d 00 82 21 f0 38 31 2c  2d 31 32 37 39 2c 30 3a  |...!.81,-1279,0:|
00000130  73 63 78 3d 35 31 32 30  3a 73 63 79 3d 35 30 30  |scx=5120:scy=500|
00000140  30 0d 00 8c 19 7a 3d 31  30 3a 77 3d 31 3a 77 72  |0....z=10:w=1:wr|
00000150  3d 32 35 2f 32 3a e6 30  2c 33 0d 00 96 1e e3 79  |=25/2:.0,3.....y|
00000160  31 3d 31 32 30 b8 31 30  30 30 88 31 30 30 3a 68  |1=120.1000.100:h|
00000170  3d 31 35 3a 68 74 3d 35  0d 00 a0 1f 73 79 3d 35  |=15:ht=5....sy=5|
00000180  31 32 2d 73 63 79 2a 7a  2f 79 31 3a 78 3d 73 63  |12-scy*z/y1:x=sc|
00000190  78 2a 77 72 2f 79 31 0d  00 aa 19 73 78 3d 36 34  |x*wr/y1....sx=64|
000001a0  30 2d 78 3a ec 73 78 2c  73 79 3a f2 74 72 65 65  |0-x:.sx,sy:.tree|
000001b0  0d 00 b4 19 73 78 3d 36  34 30 2b 78 3a ec 73 78  |....sx=640+x:.sx|
000001c0  2c 73 79 3a f2 74 72 65  65 0d 00 be 0d ed 79 31  |,sy:.tree.....y1|
000001d0  3a 72 3d 31 3a e1 0d 00  c8 0a dd f2 74 72 65 65  |:r=1:.......tree|
000001e0  0d 00 d2 1c e6 30 2c 30  3a 73 68 3d 73 63 79 2a  |.....0,0:sh=scy*|
000001f0  68 2f 79 31 3a f0 31 2c  30 2c 73 68 0d 00 dc 1b  |h/y1:.1,0,sh....|
00000200  73 68 3d 28 68 2d 68 74  29 2a 73 63 79 2f 79 31  |sh=(h-ht)*scy/y1|
00000210  3a f0 30 2c 30 2c 30 0d  00 e6 14 73 77 3d 32 2a  |:.0,0,0....sw=2*|
00000220  73 63 78 2f 79 31 3a e6  30 2c 33 0d 00 f0 1a f0  |scx/y1:.0,3.....|
00000230  38 31 2c 2d 73 77 2c 2d  73 68 3a f0 38 31 2c 32  |81,-sw,-sh:.81,2|
00000240  2a 73 77 2c 30 0d 00 fa  05 e1 0d 01 04 0b dd f2  |*sw,0...........|
00000250  62 72 61 69 6e 0d 01 0e  18 f1 8a 35 2c 30 29 3b  |brain......5,0);|
00000260  22 53 63 6f 72 65 62 6f  61 72 64 3a 22 0d 01 18  |"Scoreboard:"...|
00000270  1b f1 8a 35 2c 31 29 3b  22 53 70 65 65 64 20 4d  |...5,1);"Speed M|
00000280  65 74 72 65 3a 22 3b 73  0d 01 22 1a f1 8a 38 2c  |etre:";s.."...8,|
00000290  32 29 3b 22 46 75 65 6c  20 4d 65 74 72 65 3a 22  |2);"Fuel Metre:"|
000002a0  3b 66 0d 01 2c 15 f1 8a  35 2c 33 29 3b 22 4d 6f  |;f..,...5,3);"Mo|
000002b0  76 65 64 3a 22 3b 74 0d  01 36 10 e7 73 3c 30 8c  |ved:";t..6..s<0.|
000002c0  74 3d 74 2b 73 3a e1 0d  01 40 0e e3 6c 6f 3d 74  |t=t+s:...@..lo=t|
000002d0  54 4f 74 2b 73 0d 01 4a  12 74 79 3d 3f 28 26 33  |TOt+s..J.ty=?(&3|
000002e0  30 30 30 2b 6c 6f 29 0d  01 54 11 e7 74 79 3d 31  |000+lo)..T..ty=1|
000002f0  8c f2 66 69 6e 69 73 68  0d 01 5e 12 e7 74 79 3d  |..finish..^..ty=|
00000300  32 8c f2 63 72 61 73 68  3a f9 0d 01 68 11 e7 74  |2..crash:...h..t|
00000310  79 3d 33 8c 66 3d 66 2b  31 30 30 0d 01 72 12 20  |y=3.f=f+100..r. |
00000320  e7 74 79 3d 34 8c 66 3d  66 2d 31 30 30 0d 01 7c  |.ty=4.f=f-100..||
00000330  10 20 e7 74 79 3d 35 8c  66 3d 66 2d 35 0d 01 86  |. .ty=5.f=f-5...|
00000340  11 20 e7 74 79 3d 36 8c  66 3d 66 2d 35 30 0d ff  |. .ty=6.f=f-50..|
00000350
Drive.m0
Drive.m1
Drive.m2
Drive.m4
Drive.m5