10 hiscore=0
20 f_level
30 MODE 8
40 draw_main_screen
50 draw_power
60 initialse
90 REPeat game
100 event_1:screen
110 IF NOT qualify THEN end_routine:GO TO 20
120 event_2:screen
130 IF NOT qualify THEN end_routine:GO TO 20
140 event_3:screen
150 IF NOT qualify THEN end_routine:GO TO 20
160 event_4:screen
170 IF NOT qualify THEN end_routine:GO TO 20
180 event_5:screen
190 IF NOT qualify THEN end_routine:GO TO 20
200 next_level
210 IF NOT qualify THEN end_routine:GO TO 20
215 level=level+.5
220 END REPeat game
700 DEFine PROCedure hi_scores(value,type)
705 LOCal i
707 hi(event,0)=value
708 hi$(event,0)=a$
710 IF value>hi(event,1) XOR type THEN wr=wr+1
720 FOR i=0 TO 2
730 IF hi(event,i)<hi(event,i+1) XOR type THEN EXIT i
740 swap=hi(event,i):swap$=hi$(event,i)
750 hi(event,i)=hi(event,i+1):hi$(event,i)=hi$(event,i+1)
760 hi(event,i+1)=swap:hi$(event,i+1)=swap$
780 END FOR i
790 END DEFine 
800 DEFine PROCedure reset
810 STRIP #3,7,0
820 AT #3,1,8:PRINT #3,"                 "
830 INK #3,2:STRIP #3,7
840 AT #3,1,36:PRINT #3,"00 "
850 END DEFine 
900 DEFine PROCedure time(type)
920 IF type=0 THEN ft=DATE:RETurn 
930 ut=DATE-ft:ut$=DATE$(ut)
942 CSIZE 2,0
946 AT 8,35:PRINT ut$(19 TO);".00"
948 CSIZE 2,1
950 END DEFine 
1000 DEFine PROCedure event_1
1005 event=1:CLS #7:draw_shot:reset
1006 qual=0
1007 INK #3,7:FOR i=2 TO 4:AT #4,i,14:PRINT  #4,"00.00"
1009 FOR pos=2 TO 4
1010 PAPER 0:INK 5
1011 foul=0
1015 CSIZE 2,1
1020 x=8:y=3:power=8
1025 AT x,y:PRINT CHR$(128)
1030 INK 0,7:FILL 1:CIRCLE 12,32,.75:FILL 0
1040 CSIZE 2,0:INK 2:PAPER 4:AT 10,3:PRINT "YOUR GO:"
1045 FOR i=100 TO 10 STEP -1:BEEP 300,i
1052 BEEP 1000,5
1055 AT 10,3:PRINT "        ":AT #3,1,power:STRIP #3,0:PRINT #3," "
1056 n=0
1060 FOR shot_loop=1 TO 60
1070 key1=KEYROW(1)
1072 IF key1<>0 THEN BEEP 200,100
1073 IF key1>=64 AND key1<100 THEN EXIT shot_loop
1075 IF key1<>0 AND key1<>key2 THEN n=n+(power<23.5):ELSE power=power-(power>8)*.2
1076 IF n>=level THEN power=power+1:n=0
1090 AT #3,1,power:STRIP #3,0:PRINT #3," ";:STRIP #3,7,0:PRINT #3," "
1095 FOR i=1 TO 120:END FOR i
1100 key2=key1
1120 END FOR shot_loop
1130 IF shot_loop=60 THEN foul=1
1140 IF NOT foul THEN throw:GO TO 1200
1150 INK 2:STRIP 1:FLASH 1
1160 AT 14,2:PRINT "FOUL":BEEP 0,30,37,9000,7,0,0,0
1170 FLASH 0
1175 AT#4,pos,14:PRINT #4,"-----"
1180 FOR i=1 TO 1000:END FOR i:BEEP
1195 distance=0
1200 score=score+INT(distance*10)
1215 INK #4,2
1230 AT #4,0,10-(score>9)-(score>99)-(score>999)-(score>9999):PRINT #4,score
1250 IF NOT foul THEN INK 2:FILL 1:CIRCLE x,y,.8:FILL 0
1270 draw_shot
1280 reset
1282 INK 4
1283 FOR i=1 TO 1500:END FOR i
1285 AT 11,1:PRINT "                     "
1286 AT 13,1:PRINT "                  "
1288 STRIP 4,:AT 14,2:PRINT "    "
1290 hi_scores distance,0
1291 print_hi_scores
1292 power=8
1295 END FOR pos
1296 qualify=qual
1297 END DEFine 
1300 DEFine PROCedure throw
1305 CSIZE 2,1:STRIP 0:INK 5
1310 AT x,y:PRINT !CHR$(129)
1320 BEEP 1000,5
1325 STRIP #3,7:INK #3,2
1326 FOR angle=10 TO 80 STEP 2
1330 AT #3,1,36:PRINT #3,angle
1340 IF KEYROW(1)=0 THEN EXIT angle
1370 END FOR angle
1375 x=22:y=37:INK 0,7
1376 FILL 1:CIRCLE x,y,1:FILL 0
1377 IF angle<50 THEN a=angle/10.5:ELSE a=1/angle*200
1379 b=angle/40
1380 n=0
1384 i=0
1385 REPeat launch
1386 i=i+1
1390 x1=x:y1=y
1400 IF i>power*.7 AND NOT n THEN a=a-a/3:b=-b*2:n=1
1410 x=x+a:y=y+b
1420 FILL 1:INK 4:CIRCLE x1,y1,1:FILL 0
1430 FILL 1:INK 0,7:CIRCLE x,y,1:FILL 0
1440 IF y<=30 THEN EXIT launch
1450 END REPeat launch
1460 draw_shot
1470 FILL 1:INK 0,7:CIRCLE x,y,1:FILL 0
1475 di=11
1480 FOR i=26 TO x:di=di+1
1520 distance=di/5+RND(99)/100
1530 CSIZE 2,0:INK 2
1540 AT 11,1:PRINT "YOUR THROW WAS ";distance;"m"
1550 IF distance>15.28 AND NOT qual THEN INK 0:AT 13,1:PRINT "YOU HAVE QUALIFIED":qual=1
1560 AT #4,pos,15-(distance>=10):PRINT #4,distance
1570 END DEFine 
2000 DEFine PROCedure event_2
2005 event=2
2010 level2=1:lim=.2
2015 CLS #7
2020 INK #4,7:FOR i=2 TO 4:AT #4,i,14:PRINT #4,"00.00"
2021 IF level>=3 THEN level2=2
2022 IF level>=2 THEN lim=1
2025 qual=0
2027 FOR pos=2 TO 4
2030 draw_sprint
2035 time 0:STRIP 2:INK 0:AT 8,30:PRINT "TIME:":INK 5:time 1
2040 foul=0:tot=1:power=8:fin=290
2045 reset
2050 CSIZE 2,1:INK 5:STRIP 2:AT 8,14:PRINT CHR$(130)
2055 co=14
2060 n=0:key1=0:key2=0:char=130:total=675
2065 CSIZE 2,0:INK 2:PAPER 4:AT 10,3:PRINT  "GET READY . . ."
2070 le=RND(900 TO 1400)
2075 FOR i=1 TO le:END FOR i
2080 BEEP 1000,1:AT 12,3:PRINT "GO!"
2083 time(0)
2085 PAUSE 40000:key1=0:key2=0
2086 AT #3,1,power:STRIP #3,0:PRINT #3," "
2090 AT 10,3:PRINT "                 ":AT 12,3:PRINT "    "
2100 CSIZE 2,1:STRIP 2:INK 5
2105 AT 8,14:PRINT " ":PAN #6,-25:AT 8,14:PRINT CHR$(char)
2110 REPeat sprint_l
2120 key1=KEYROW(1)
2125 BEEP 300,100
2130 IF key1<>0 AND key1<>key2 THEN n=n+(power<22.5):ELSE power=power-lim*(power>8)
2135 IF n=level2 THEN power=power+1:n=0
2145 AT #3,1,power:STRIP #3,0:PRINT #3," ";:STRIP #3,7,0:PRINT #3," "
2150 key2=key1
2155 total=total-power
2160 IF char=130 THEN char=131:ELSE char=130:time 1
2162 IF co>=30 THEN co=0:INK #6,7:POINT #6,1220,0,1220,100
2165 AT 8,14:PRINT " ":PAN #6,-power:AT 8,14:PRINT CHR$(char)
2175 co=co+power
2180 IF total<fin AND tot THEN LINE #6,1220,100 TO 1133,0:tot=0
2183 IF total<=0 THEN EXIT sprint_l
2190 END REPeat sprint_l
2195 tme=ut$(19 TO)+RND(99)/100
2200 CSIZE 2,0:STRIP 2:INK 5
2205 AT 8,35:AT #4,pos,14:IF tme<10 THEN PRINT "0";:PRINT #4,"0";
2210 BEEP 1000,1
2215 PRINT tme:PRINT #4,tme
2220 IF NOT qual AND tme<12.65 THEN qual=1:INK 0:STRIP 4:AT 13,1:PRINT "YOU HAVE QUALIFIED"
2230 score=score+INT((30-tme)*15)
2232 INK #4,2
2240 AT #4,0,10-(score>9)-(score>99)-(score>999)-(score>9999):PRINT #4,score
2250 hi_scores tme,1
2255 print_hi_scores
2260 FOR i=1 TO 1500:END FOR i
2265 AT 13,1:STRIP 4:PRINT "                  "
2275 END FOR pos
2280 qualify=qual
2285 END DEFine 
3000 DEFine PROCedure event_3
3003 event=3:CLS #7
3010 INK #4,7:FOR i=2 TO 4:AT #4,i,14:PRINT #4,"00.00"
3015 qual=0
3020 FOR pos=2 TO 4
3025 draw_jav
3030 foul=0:power=8:reset:dist=0:me=0
3035 key1=0:key2=0:char=132:n=0:co=0
3040 CSIZE 2,1:STRIP 2:INK 5:AT 9,8:PRINT CHR$(132)
3045 INK 7:LINE 25,26 TO 35,26
3050 CSIZE 2,0:INK 2:PAPER 4:AT 10,3:PRINT "YOUR GO:"
3055 FOR i=100 TO 10 STEP -1:BEEP 300,i
3056 PAUSE 40000
3060 BEEP 1000,5
3065 AT 10,3:PRINT "          ":AT #3,1,power:STRIP #3,0:PRINT #3," "
3067 CSIZE 2,1
3070 FOR i=1 TO 34
3075 key1=KEYROW(1)
3080 BEEP 300,100
3083 IF key1>=64 AND key1<100 THEN EXIT i
3085 IF key1<>0 AND key1<>key2 THEN n=n+(power<23.5):ELSE power=power-(power>8)*.2
3090 IF n>=level THEN power=power+1:n=0
3100 AT #3,1,power:STRIP #3,0:PRINT #3," ";:STRIP #3,7,0:PRINT #3," "
3105 key2=key1
3110 char=265-char
3115 INK 2:STRIP 2:LINE 25,26 TO 35,26:AT 9,8:PRINT " "
3120 INK 5:PAN #8,-10:AT 9,8:PRINT CHR$(char):INK 7:LINE 25,26 TO 35,26
3124 co=co+1
3130 IF co<10 THEN NEXT i:GO TO 3180
3140 me=me+10
3150 INK 2:CSIZE 2,0:STRIP 1:AT 19,37:PRINT me
3160 LINE #8,1451,100 TO 1371,0
3170 CSIZE 2,1:co=0
3180 END FOR i
3185 IF i=34 THEN foul=1
3186 dist=i-33:power=power*1.14
3190 IF NOT foul THEN throw_jav:GO TO 3200
3191 CSIZE 2,0
3192 distance=0
3193 STRIP 1:INK 2:FLASH 1:AT 14,2:PRINT "FOUL":BEEP 0,30,37,9000,7,0,0,0:FLASH 0
3194 FOR i=1 TO 1000:END FOR i:BEEP
3195 INK #4,7:AT #4,pos,14:PRINT #4,"-----"
3200 INK #4,2
3210 AT #4,0,10-(score>9)-(score>99)-(score>999)-(score>9999):PRINT #4,score
3225 hi_scores distance,0
3230 print_hi_scores
3235 FOR i=1 TO 1500:END FOR i
3236 STRIP 4
3240 AT 11,1:PRINT "                      ":AT 13,1:PRINT "                  "
3241 AT 14,2:PRINT "     ":AT 16,6:PRINT "    ":AT 17,6:PRINT "    "
3250 END FOR pos
3255 qualify=qual
3260 END DEFine 
3300 DEFine PROCedure throw_jav
3305 BEEP 1000,5
3310 STRIP #3,7:INK #3,2
3315 FOR angle=10 TO 80 STEP 2
3320 AT #3,1,36:PRINT #3,angle
3325 IF KEYROW(1)=0 THEN EXIT angle
3340 END FOR angle
3342 BEEP 1000,5
3345 x=25:y=28
3350 h=angle/60:a=angle/12:b=SQRT(100-a*a):hh=1:a1=a:ha=0
3355 INK 2:LINE 25,26 TO 36,26:INK 7:LINE x,y TO x+b,y+a
3356 IF angle>50 THEN power=power-angle/10
3357 i=1:CSIZE 2,0:STRIP 1
3358 IF angle<30 THEN power=power-1
3360 REPeat mve_jav
3362 y1=y
3370 PAN #8,-10
3373 co=co+1:dist=dist+1
3375 IF co=10 THEN me=me+10:INK 2:AT 19,37:PRINT me:LINE #8,1451,100 TO 1371,0:co=0
3380 IF y+h+a<64 AND NOT ha THEN y=y+h
3384 IF y+a<28 THEN EXIT mve_jav
3385 INK 4:LINE x,y1 TO x+b,y1+a1:INK 7:LINE x,y TO x+b,y+a
3386 a1=a
3390 IF i>power*2.1 AND hh THEN hh=0:h=-h:a=-a:ha=0
3396 IF i>power*1.5 AND hh THEN ha=1
3397 i=i+1
3399 END REPeat mve_jav
3402 PAN #8,-29
3405 INK 4:LINE x,y1 TO x+b,y1+a1:INK 7:LINE x,y TO x+b,y+a
3410 CSIZE 2,0:INK 2:STRIP 4
3412 distance=dist+RND(99)/100
3414 IF distance<1 THEN distance=0:dist=0
3415 AT 11,1:PRINT "YOUR THROW WAS"!distance;"m"
3420 IF distance>70.23 AND NOT qual THEN INK 0:AT 13,1:PRINT "YOU HAVE QUALIFIED":qual=1
3425 score=score+dist*3
3430 INK #4,7:AT #4,pos,14:IF distance<10 THEN PRINT #4,"0";
3435 PRINT #4,distance
3440 END DEFine 
4000 DEFine PROCedure event_4
4005 event=4:CLS #7:qual=0:lim=.1666666:level2=1
4010 INK #4,7:FOR i=2 TO 4:AT #4,i,14:PRINT #4,"00.00"
4011 IF level>=3 THEN level2=2
4012 IF level>=2 THEN lim=1
4015 FOR pos=2 TO 4
4020 draw_lsprint
4025 time 0:STRIP 2:INK 0:AT 8,30:PRINT "TIME:":INK 5:time 1
4030 foul=0:tot=1:fin=290:power=8:limit=22.5
4035 reset
4040 CSIZE 2,1:INK 5:STRIP 2:AT 8,14:PRINT CHR$(130)
4045 co=14:n=0:key1=0:key2=0:char=130:total=1350:pow_to=0
4050 CSIZE 2,0:INK 2:PAPER 4:AT 10,3:PRINT "GET READY . . ."
4060 FOR i=1 TO RND(1000 TO 1600):END FOR i
4065 BEEP 1000,1:AT 12,3:PRINT "GO!"
4070 time 0
4075 PAUSE 40000
4080 AT #3,1,power:STRIP #3,0:PRINT #3," "
4085 AT 10,3:PRINT "                 ":AT 12,3:PRINT "    "
4090 CSIZE 2,1:STRIP 2:INK 5
4095 AT 8,14:PRINT " ":PAN #6,-25:AT 8,14:PRINT CHR$(char)
4100 REPeat lo_sprint_l
4105 key1=KEYROW(1)
4110 BEEP 300,100
4115 IF key1<>0 AND key1<>key2 THEN n=n+(power<limit):ELSE power=power-(power>8)*lim
4120 IF n>=level2 THEN power=power+1:pow_to=pow_to+power:n=0
4125 IF power>limit THEN power=power-(power>8)
4130 AT #3,1,power:STRIP #3,0:PRINT #3," ";:STRIP #3,7,0:PRINT #3,"  "
4135 key2=key1:total=total-power
4140 IF char=130 THEN char=131:ELSE char=130:time 1
4143 IF pow_to>335 AND limit>9 THEN limit=INT(limit-total/70):pow_to=0
4145 IF co>=30 THEN co=0:INK #6,7:POINT #6,1220,0,1220,100
4150 AT 8,14:PRINT " ":PAN #6,-power:AT 8,14:PRINT CHR$(char)
4160 co=co+power
4165 IF total<fin AND tot THEN tot=0:LINE #6,1220,100 TO 1133,0
4170 IF total<0 THEN EXIT lo_sprint_l
4180 END REPeat lo_sprint_l
4190 tme=ut$(19 TO)+RND(99)/100
4200 CSIZE 2,0:STRIP 2:INK 5
4205 AT 8,35:PRINT tme
4210 BEEP 1000,1
4215 AT #4,pos,14:PRINT #4,tme
4220 IF NOT qual AND tme<21.54 THEN qual=1:INK 0:STRIP 4:AT 13,1:PRINT "YOU HAVE QUALIFIED"
4230 score=score+INT((40-tme)*15)
4232 INK #4,2
4240 AT #4,0,10-(score>9)-(score>99)-(score>999)-(score>9999):PRINT #4,score
4250 hi_scores tme,1
4255 print_hi_scores
4260 FOR i=1 TO 1500:END FOR i
4265 AT 13,1:STRIP 4:PRINT "                   "
4275 END FOR pos
4280 qualify=qual
4290 END DEFine 
5000 DEFine PROCedure event_5
5005 event=5:qual=0:lim=.2
5010 INK #4,7:FOR i=2 TO 4:AT #4,i,14:PRINT #4,"00.00"
5011 IF level>=2 THEN lim=.5
5012 IF level>=3 THEN lim=1
5015 FOR pos=2 TO 4
5020 draw_jump
5025 foul=0:power=8:n=0:key1=0:key2=0:char=130:x=7:y=2
5030 reset
5035 PAPER 2:INK 1:CSIZE 2,1:AT 7,2:PRINT CHR$(130)
5040 CSIZE 2,0:INK 2:PAPER 4:AT 10,3:PRINT "YOUR GO:"
5045 FOR i=100 TO 10 STEP -1:BEEP 300,i
5046 PAUSE 40000
5050 BEEP 1000,5
5055 AT 10,3:PRINT "         ":AT #3,1,power:STRIP #3,0:PRINT #3," "
5056 CSIZE 2,1:PAPER 2:INK 1
5060 FOR y=3 TO 31
5065 key1=KEYROW(1)
5070 BEEP 300,100
5075 IF key1<>0 AND key1<>key2 THEN n=n+(power<23.5):ELSE power=power-lim*(power>8)
5080 IF n>=1 THEN power=power+1:n=0
5090 AT #3,1,power:STRIP #3,0:PRINT #3," ";:STRIP #3,7,0:PRINT #3," "
5100 key2=key1:char=261-char
5110 AT x,y-1:PRINT !CHR$(char)
5120 IF key1>=64 AND key1<100 THEN EXIT y
5130 FOR i=1 TO 90:END FOR i
5150 END FOR y
5152 foul=y=31
5155 IF NOT foul THEN leap:GO TO 5200
5160 CSIZE 2,0:INK 2:STRIP 1:FLASH 1
5165 AT 14,2:PRINT "FOUL":BEEP 0,30,37,9000,7,0,0,0
5170 FLASH 0
5175 AT #4,pos,14:PRINT #4,"-----"
5180 FOR i=1 TO 1000:END FOR i:BEEP
5185 distance=0
5200 hi_scores distance,0
5210 print_hi_scores
5215 FOR i=1 TO 2000:END FOR i
5220 END FOR pos
5230 qualify=qual
5240 END DEFine 
5300 DEFine PROCedure leap
5310 STRIP #3,7:INK #3,2
5315 FOR angle=10 TO 80 STEP 2
5320 AT #3,1,36:PRINT #3,angle
5330 IF KEYROW(1)=0 THEN EXIT angle
5340 END FOR angle
5345 BEEP 300,5
5346 IF angle>=50 THEN decr=42/angle:ELSE decr=angle/55
5350 dist=4*power*decr
5352 distance=(y-30)*5
5355 INK 1
5360 AT x,y:PRINT " ":PAN #8,-10:STRIP 4:AT x-1,y:PRINT CHR$(134)
5365 x=x-1
5366 FOR i=1 TO 150:END FOR i
5370 AT x,y:PRINT " ":PAN #8,-10:AT x-1,y:PRINT CHR$(134)
5375 x=x-1
5376 INK #8,2
5380 FOR i=1 TO dist/5
5385 FOR j=1 TO 60:END FOR j
5390 PAN #8,-10
5395 distance=distance+.5
5400 END FOR i
5410 IF distance>=1 THEN ne=6:ELSE ne=2
5420 AT x,y:PRINT " ":PAN #8,-15:CSIZE 2,0:AT x*2+1,y:CSIZE 2,1:PRINT CHR$(134)
5430 FOR i=1 TO 150:END FOR i
5435 CSIZE 2,0:AT x*2+1,y:CSIZE 2,1:PRINT " ":STRIP ne:PAN #8,-20:AT x+2,y:PRINT CHR$(134)
5436 dist1=distance
5440 IF distance<=0 THEN distance=0:ELSE distance=distance+RND(99)/100
5445 CSIZE 2,0:STRIP 4:INK 2
5446 AT 11,1:PRINT "YOUR JUMP WAS"!distance;"m"
5450 AT #4,pos,14:IF distance<10 THEN PRINT #4,"0";
5451 PRINT #4,distance
5455 BEEP 1000,1
5460 IF NOT qual AND distance>7.26 THEN qual=1:INK 0:STRIP 4:AT 13,1:PRINT "YOU HAVE QUALIFIED"
5465 score=score+INT(distance*40)
5470 INK #4,2
5480 AT #4,0,10-(score>9)-(score>99)-(score>999)-(score>9999):PRINT #4,score
5490 END DEFine 
10000 DEFine PROCedure draw_shot
10005 INK 0
10010 FILL 1:CIRCLE 15,30,6,1.8,0:FILL 0
10015 INK 6
10020 ARC 50,35 TO 50,25,-1.5
10030 ARC 85,43 TO 85,17,-1.5
10035 ARC 120,46 TO 120,14,-1.5
10040 INK 7
10045 CSIZE 2,0
10050 STRIP 1
10060 AT 21,13:PRINT "7m" TO 23;"15m" TO 33;"22m"
10080 print_hi_scores
10092 STRIP 4:INK 0:AT 8,1:PRINT "QUALIFYING DISTANCE = 15.28m"
10095 END DEFine 
10140 INK #3,2:STRIP #3,7
11000 DEFine PROCedure draw_sprint
11010 INK #4,2
11020 AT #4,0,24:PRINT #4,"2"
11025 INK #4,6
11030 AT #4,6,9:PRINT #4,"100m      "
11040 INK #3,2:STRIP #3,7
11050 AT #3,1,1:PRINT #3,"SPEED:"
11060 print_hi_scores
11070 OPEN #6,scr_492x30a10x162
11080 PAPER #6,2
11090 CLS #6
11100 INK #6,7
11110 LINE #6,422,0 TO 509,100
11120 FOR i=1 TO 1219 STEP 87:POINT #6,i,0,i,100
11140 CSIZE 2,0
11150 INK 0:AT 8,1:STRIP 4:PRINT "QUALIFYING TIME = 12.65s"
11200 END DEFine 
12000 DEFine PROCedure draw_jav
12005 OPEN #8,scr_492x25a10x183
12010 PAPER #8,2:INK #8,7:CLS #8
12020 print_hi_scores
12030 INK #4,2:AT #4,0,24:PRINT #4,"3"
12035 INK #4,6:AT #4,6,9:PRINT #4,"JAVELIN  "
12036 CSIZE 2,0
12040 INK 0:STRIP 4:AT 8,1:PRINT "QUALIFYING DISTANCE = 70.23m"
12050 FILL #8,1:LINE #8,1410,100 TO 1330,0,1450,100 TO 1370,0:FILL #8,0
12060 PAPER #8,1:INK #8,1
12065 FILL #8,1:LINE #8,1451,100 TO 1371,0,1520,100 TO 1520,0:FILL #8,0
12066 INK #8,6
12070 END DEFine 
13000 DEFine PROCedure draw_lsprint
13010 INK #4,2
13020 AT #4,0,24:PRINT #4,"4"
13025 INK #4,6
13030 AT #4,6,9:PRINT #4,"200m        "
13040 INK #3,2:STRIP #3,7
13060 print_hi_scores
13070 PAPER #6,2:CLS #6:INK #6,7
13080 LINE #6,422,0 TO 509,100
13090 FOR i=1 TO 1219 STEP 87:POINT #6,i,0,i,100
13120 CSIZE 2,0
13130 INK 0:AT 8,1:STRIP 4:PRINT "QUALIFYING TIME = 21.54s"
13140 END DEFine 
14000 DEFine PROCedure draw_jump
14005 CLS #7:CSIZE 2,0
14010 INK #4,2:AT #4,0,24:PRINT #4,"5"
14020 INK #4,6:AT #4,6,9:PRINT #4,"LONG JUMP"
14030 INK #3,2:STRIP #3,7:print_hi_scores
14040 INK 0:AT 8,1:STRIP 4:PRINT "QUALIFIYING DISTANCE = 7.26m"
14050 WINDOW #8,492,25,10,145
14060 PAPER #8,2:CLS #8:INK #8,7:FILL #8,1:LINE #8,1351,100 TO 1271,0,1400,100 TO 1320,0:FILL #8,0
14070 WINDOW #8,492,50,10,135
14080 PAPER #8,6:INK #8,6
14090 FILL #8,1:LINE #8,725,100 TO 660,0,780,100 TO 780,0:FILL #8,0
14100 PAN #8,-40
14110 END DEFine 
20000 DEFine PROCedure draw_main_screen
20010 WINDOW 512,256,0,0
20020 PAPER 4
20030 SCALE 100,0,0
20040 BORDER 5,1
20050 CLS
20060 OPEN #3,scr_493x30a20x226
20070 PAPER #3,7
20080 BORDER #3,1,3
20090 CLS #3
20100 OPEN #4,scr_492x78a10x5
20110 PAPER #4,0
20120 BORDER #4,1,7
20130 CLS #4
20140 INK #4,2
20145 CSIZE #4,2,0
20150 AT #4,0,0:PRINT #4,"SCORE: 00000     EVENT 01     LEVEL 0";level
20160 INK #4,5
20180 LINE #4,235,88 TO 235,24,0,24 TO 480,24
20200 INK #4,7
20210 AT #4,2,2:PRINT #4,"FIRST:"
20220 AT #4,3,1:PRINT #4,"SECOND:"
20230 AT #4,4,2:PRINT #4,"THIRD:"
20270 INK #4,3
20280 AT #4,1,24:PRINT #4,"WORLD RECORDS"
20290 INK #4,7
20300 AT #4,2,21:PRINT #4,"1st"
20310 AT #4,3,21:PRINT #4,"2nd"
20320 AT #4,4,21:PRINT #4,"3rd"
20460 INK #4,6
20470 AT #4,6,0:PRINT #4,"  EVENT: SHOT PUTT    WORLD RECORDS: 00"
20480 INK #3,2
20490 AT #3,1,1:PRINT #3,"POWER:"
20500 AT #3,1,29:PRINT #3,"ANGLE: ":STRIP 5:AT #3,1,36:PRINT #3,"00 "
20510 END DEFine 
20600 DEFine PROCedure draw_power
20605 RESTORE 30000
20610 FOR i=8 TO 24 STEP 3
20611 READ col
20615 STRIP #3,col
20620 AT #3,0,i:PRINT #3,"   "
20630 STRIP #3,7,0:AT #3,1,i:PRINT #3,"   "
20660 END FOR i
20670 END DEFine 
21000 DEFine PROCedure initialse
21005 RANDOMISE
21010 key1=0:key2=0
21015 OPEN #7,scr_492x142a10x84,84:PAPER #7,4
21020 power=8
21025 RESTORE 30010
21030 score=0
21040 DIM hi(5,4),hi$(5,3,3),ql(3)
21060 FOR i=1 TO 5
21070 FOR j=1 TO 3:READ hi(i,j)
21080 hi$(i,3)="AAA":hi$(i,2)="BBB":hi$(i,1)="CCC"
21090 END FOR i
21100 READ ql(1),ql(2),ql(3)
21110 event=1:events=0
21120 wr=0:round=1
21130 END DEFine 
22000 DEFine PROCedure print_hi_scores
22005 INK #4,6
22010 AT #4,6,38-(wr>10):PRINT #4,wr
22030 INK #4,7
22040 FOR i=1 TO 3
22045 AT #4,5-i,27:IF hi(event,i)<10 THEN PRINT #4,"0";
22050 PRINT #4,hi(event,i)
22060 AT #4,5-i,37:PRINT #4,hi$(event,i)
22070 END FOR i
22080 END DEFine 
22100 DEFine PROCedure screen
22105 CLS #7
22110 CSIZE 3,1:INK 1,2:STRIP 4
22115 AT 6,8:PRINT "END OF EVENT"!event
22120 FOR i=1 TO 2000:END FOR i
22150 BEEP 200,5
22155 events=events+1
22160 END DEFine 
23000 DEFine PROCedure f_level
23010 WINDOW 512,256,0,0
23020 PAPER 4
23030 STRIP 1:INK 6
23040 CSIZE 2,1
23050 BORDER 5,5
23060 CLS
23065 AT 0,7:PRINT "T R A C K  and  F I E L D"
23070 INK 0:CSIZE 2,0:STRIP 2
23080 AT 3,10:PRINT "FOR SINCLAR QL"
23100 INK 1:STRIP 4
23120 AT 12,2:PRINT "1/ Simple"
23130 AT 14,2:PRINT "2/ Medium"
23140 AT 16,2:PRINT "3/ Difficult"
23145 INK 0
23150 AT 10,0:INPUT "WHICH LEVEL DO YOU WANT TO PLAY ON ? ";level
23155 BEEP 500,5
23160 IF level<1 OR level>3 THEN GO TO 23150
23165 level1=level
23170 OPEN #5,scr_512x180a0x75
23180 PAPER #5,4
23190 BORDER #5,4,5
23200 CLS #5
23210 INK 1
23220 AT 12,8:PRINT "(HAS TO BE 3 CHARACTERS)":AT 15,2:PRINT "eg. INITIALS: ADD"
23230 INK 0
23240 AT 10,7:INPUT "ENTER YOUR IDENTIFYING CODE:";a$
23245 BEEP 500,5
23250 IF LEN(a$)<> 3 THEN GO TO 23240
23260 END DEFine 
24000 DEFine PROCedure end_routine
24005 BORDER:BORDER 5,1
24010 PAPER 4:CLS
24020 CSIZE 2,0:INK 1,2:STRIP 4
24030 AT 1,7:PRINT "YOU HAVE FAILED TO QUALIFY "\\"          FOR THE NEXT EVENT"
24040 INK 2
24050 AT 7,1:PRINT "YOU SCORED"!score!"POINTS"
24060 AT 9,6:PRINT "AND ACCUMULATED"!wr!"WORLD RECORDS"
24070 AT 11,20:PRINT "ON LEVEL"!level1
24080 INK 0
24090 AT 13,1:PRINT "YOU ALSO COMPLETED"!events!"EVENTS"
24095 IF score>hiscore THEN hiscore=score
24096 AT 15,9:INK 2,0:PRINT "THE HI-SCORE IS"!hiscore
24100 INK 1
24105 FOR i=1 TO 2000:END FOR i
24110 AT 19,6:PRINT "PRESS ANY KEY TO PLAY AGAIN"
24120 PAUSE 40000
24130 BEEP 300,10
24140 END DEFine 
25000 DEFine PROCedure next_level
25005 reset
25010 CLS #7:CSIZE 3,1:INK 1,2:STRIP 4
25020 AT 5,10:PRINT "WELL DONE"
25025 INK 2:CSIZE 2,0
25030 AT 14,4:PRINT "YOU HAVE COMPLETED ALL THE EVENTS"\\"              IN ROUND"!round
25040 round=round+1
25050 qualify=score/(round-1)<ql(level)
25060 INK 0
25070 IF qualify THEN FLASH 1:AT 18,2:PRINT "YOU HAVE QUALIFIED FOR THE NEXT ROUND":FLASH 0
25080 FOR i=1 TO 3000:END FOR i
25085 CLS #7
25090 END DEFine 
30000 DATA 5,1,6,4,3,2
30010 DATA 21.45,22.15,23.82,11.34,10.51,9.25,90.56,94.56,96.91
30020 DATA 20.35,19.86,19.23,8.24,8.76,8.92,4000,3500,2500
32005 start=RESPR(100)
32010 a0=65537
32020 a2=start+6
32030 RESTORE 32100
32040 FOR i=0 TO 70:READ byte:POKE start+i,byte
32050 CALL start,0,0,255,37,0,0,0,a0,0,a2
32060 LRUN mdv1_pent_ovr
32100 DATA 32,4,78,67,78,117
32110 DATA 128,7
32120 DATA 96,112,24,92,124,12,20,36,76
32130 DATA 100,104,112,112,96,96,80,72,108
32140 DATA 24,24,48,52,60,48,56,40,76
32150 DATA 24,24,48,48,48,48,16,16,48
32160 DATA 88,88,112,52,60,48,56,40,76
32170 DATA 88,88,112,48,48,48,16,16,48
32180 DATA 0,48,48,96,120,96,124,0,0
