This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
|
|
-
Entry name:Time Trial
-
Category:Games
-
Publisher/Developer:BELLCOM - Public Domain Library
-
Year:1981
Listing 1
10 REM ********************** 11 REM ** TIME TRIAL ** 20 REM ** S. OCKERS 11/81 ** 30 REM ********************** 100 DIM M$(32),S$(8),P$(8),T(5):OPEN #1,4,0,"K:" 160 FOR I=1 TO 32:READ A:M$(I)=CHR$(A):NEXT I 170 DATA 104,104,133,204,104,133,203,104,133,206,104,133,205,162,4,160,0,177,203,145,205,136,208,249,230,204 175 DATA 230,206,202,208,240,96 180 POKE 106,PEEK(106)-5:GRAPHICS O:CS=(PEEK(106)+1)*256:A=USR(ADR(M$),57344,CS) 190 FOR I=CS+32 TO CS+47:READ A:POKE I,A:NEXT I 195 DATA 36,109,73,146,146,73,109,36,36,182,146,73,73,146,182,36 210 GRAPHICS 18:DL=PEEK(560)+256*PEEK(561):A=PEEK(DL+4)+256*PEEK(DL+5):A=A+22:B=INT(A/256):C=A-B*256 220 POKE DL+4,C:POKE 88,C:POKE DL+5,B:POKE 89,B:POKE DL+6,6:POKE DL+7,6 230 FOR I=17 TO 19:POKE DL+I+21,PEEK(DL+I):NEXT I 240 FOR I=DL+8 TO DL+35 STEP 3:POKE I,103:POKE I+1,146:POKE I+2,6:NEXT I:POKE DL+35,71 245 POKE 756,CS/256:POKE 708,200:POSITION 4,0:? #6;"INITIALIZING" 255 RESTORE 265 260 RW=(PEEK(106)-10)*256:FOR I=RW TO RW+512:READ A:A=A+141:POKE I,A:NEXT I 265 DATA 25,5,5,5,5,5,5,5,5,5,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 267 DATA 1,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,8,8,8,8 270 DATA 8,8,8,8,9,9,9,9,10,10,10,10,9,9,9,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,8,9,9,9,9,8,8,8,7,7,7,6,6,6,5 275 DATA 5,6,6,7,7,8,8,9,9,8,8,8,8,8,7,7,7,7,7,6,6,6,6,6,5,5,5,5,4,4,4,4,3,3,2,2,1,1,0,0,1,1,2,2,3,3,4,4,5 277 DATA 5,6,6,7,7,8,8,9,9,8,7,6,5,4,3,2,1,0,0,0,1,2,3,4,5,6,7,8,9,9,9,9,9,9,9,8,7,6,5,4,3,2,1,1,1,0,0,0,0 280 DATA 0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9 282 DATA 8,8,8,7,7,7,6,6,5,5,4,4,3,3,2,2,1,2,1,1,2,2,1,1,1,3,3,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,1,1,1,1,1,1,1 285 DATA 2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,7,7,6,6,5 287 DATA 5,5,5,6,6,6,7,8,9,8,7,6,5,5,5,5,5,4,3,2,1,1,1,2,3,4,5,6,7,8,9,9,8,7,6,5,4,3,2,1,2,3,4,5,6,7,8,9,8 288 DATA 7,7,6,6,5,5,4,4,3,3,2,2,1,1,2,2,3,3,3,4,4,4,5,5,5,6,6,7,7,8,8,9,9,8,8,8,8,7,7,7,6,6,6,5,5,5,5,5,5 290 DATA 5,5,5,4,3,2,1,2,3,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,114 310 RESTORE 315:FOR I=1536 TO 1731:READ A:POKE I,A:NEXT I 315 DATA 104,160,17,162,6,169,7,76,92,228 317 DATA 1,1,0,0,0,0,0 319 DATA 206,11,6,208,94,173,10,6,141,11,6 320 DATA 173,12,6,206,16,6,74,176,250,173,16,6,141,5,212,16,71 322 DATA 169,16,141,16,6,173,48,2,133,203 325 DATA 56,233,3,133,205,173,49,2,133,204,133,206,160,37,177,205,145,203,136,177,205,145,203,136,136 330 DATA 192,10,208,241 332 DATA 230,207,208,2,230,208,162,0,161,207,201,255,208,15,173,14,6,133,207 333 DATA 173,15,6,133,208,161,207,238,13,6,136,145,203 335 DATA 173,0,211,72,41,8,208,2,230,209,104,41,4,208,2,198,209,165,209,141,0,208,76,98,228 340 DATA 4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4,5,4 343 DATA 104,160,98,162,228,169,7,76,92,228 345 POKE 1550,0:POKE 1551,RW/256:POKE 207,0:POKE 208,RW/256 358 POSITION 0,0:? #6;" " 360 POSITION 0,1:? #6;"ROAD WIDTH (1)NARROW TO (3) WIDE ":GET #1,A:W=A-48:IF W<1 OR W>3 THEN 360 370 FOR I=1690-W TO 1693+W:POKE I,0:NEXT I:FOR I=1710-W TO 1713+W:POKE I,222:NEXT I 410 A=PEEK(106)-7:POKE 54279,A:PM=256*A:POKE 559,46:POKE 53277,3:X=120:POKE 53248,X:POKE 209,X:POKE 53256,1 415 RESTORE 430 420 FOR I=PM+512 TO PM+640:POKE I,0:NEXT I:POKE 704,56:Y=90:FOR I=PM+512+Y TO PM+528+Y:READ A:POKE I,A:NEXT I 430 DATA 153,153,255,153,153,24,24,60,36,36,36,36,165,165,231,189,153 440 FOR I=1 TO 8:READ A:P$(I,I)=CHR$(A):NEXT I 450 DATA 106,96,85,76,63,51,40,22 490 POSITION 0,1:? #6;"PRESS FIRE BUTTON WHEN READY TO START" 492 IF STRIG(0)=1 THEN 492 495 A=USR(1536) 502 POSITION 0,1:? #6;"TOTAL LAP ":POSITION 0,2:? #6;" AVG. SPEED AVG. LAP" 505 Z=0:POKE 18,Z:POKE 19,Z:POKE 20,Z:LAP=0:T(0)=0:DIST=220000:DIS=12 510 RESTORE 520:FOR I=1 TO 8:READ A:S$(I)=CHR$(A):NEXT I:N=1:TT=30 520 DATA 0,1,3,7,15,31,63,127 525 T=STRIG(0):POKE 53278,0 531 TT=TT-1:IF TT>0 THEN 560 532 TT=30 533 IF T=1 AND N=1 THEN 560 536 IF T=0 AND N=8 THEN 560 540 IF T=1 THEN N=N-1:IF N=0 THEN N=8 550 IF T=0 THEN N=N+1:IF N=9 THEN N=1 560 POKE 1548,ASC(S$(N,N)) 570 L=PEEK(1549):IF L>LAP THEN GOSUB 2010 572 IF L=5 THEN 610 575 IF PEEK(53252)=1 THEN GOSUB 1010 580 POSITION 7,0:? #6;20*N;" " 582 IF DIS=12 THEN DIS=2:GOTO 584 583 IF DIS=2 THEN DIS=12 584 SOUND 0,ASC(P$(N,N)),DIS,7+N 590 GOTO 525 610 SOUND 0,0,0,0:A=USR(1722) 620 POSITION 0,0:? #6;"AVG. = ";INT(TS);" " 630 IF TS>RA THEN RA=TS 640 POSITION 0,1:? #6;"RECORD = ";INT(RA);" " 650 POSITION O,2:? #6;"Again? Press Trigger" 655 IF STRIG(0)=0 THEN 655 660 IF STRIG(0)=1 THEN 660 670 GOTO 310 1000 REM ** COLLISION SUBROUTINE ** 1010 FOR I=0 TO 3:SOUND I,50+20*I,2*I+2,12:NEXT I 1020 FOR I=N TO 1 STEP -1 1030 N=I:POKE 1548,ASC(S$(N,N)):POKE 712,N*16+8:POKE 704,N*16+10:FOR J=1 TO 10:NEXT J:NEXT I 1090 POKE 704,56:POKE 712,0:FOR I=0 TO 3:SOUND I,0,0,0:NEXT I:RETURN 2010 LAP=L:T(LAP)=PEEK(20)+256*PEEK(19)+256*256*PEEK(18):SP=DIST/(T(LAP)-T(LAP-1)) 2020 POSITION 12,0:? #6;INT(SP);" ":TS=DIST*LAP/(T(LAP)-T(0)):POSITION 1,0:? #6;INT(TS);" " 2025 POSITION 18,0:? #6;LAP 2030 RETURN
References
Listing downloads
Downloads
Copyright holder
