B-Vroom (Atari 8-Bit) by 2ST_RETRO
A downloadable game
B-VROOM BY 2ST_RETRO
Author: 2ST_RETRO
Atari XL/XE stock basic category „PUR 120”
Game description:
A game inspired by handhelds with monochrome LCD screens drom the 80s.
You drive a car at the bottom of a three-lane road, with slower cars approaching from above.
You task is to avoid Tham and get as far as possible.
A collision causes finish game.
Game control:
Key O -> one position left
Key P -> one position right
Key Return if needed :)
Code description:
1st line
- set graphics mode to 0
- declare variable A$,B$,C$ - this keep each road line with slower cars
- S - delay loop value, here is like level, because after each 50 points is decreased by 20 to speedup game
- R - value for RND number
- Z - score
- P - player car position (on which road line is 1,2 or 3)
- L=10 - variable reduces number of chars by 1 in code (L is one char but 10 is two chars :))
- POKE 82 - sets default margin to 10 (this was supposed to reduce the number of POSITION command, but I think I don’t used it in the end)
- X - pressed key code
2nd line
- jump to display title
- show information about initialise
- copying a set of characters to a new location in order to replace some of them
- start loop for set user character
3th line
- rest of loop
- show info to press Return to start
- declaration variable D$ only for get Return
- LV - game level
4th line
- for variable A$, B$, C$ copy one up all values
- get RND value
- depend of RND value set 1 to A$ (if RND=1), B$(if RND=2) or C$(if RND=3), that mean on line new slower car appears
5th line
- draw buffers A$,B$,C$ (with line between) od screen
- get to X pressed Key code
6th line
- reset register with pressed key code
- depend of X increase or decrease player car position
- check that position is not greater than 3 or smaller than 0 and correct it
- draw player car on proper position
- checking that score exceeded another 50 point, and if that decrease delay loop by 20 (to speedup game), and increase level by 1
7th line
- check that on player car position is other slower car, if is then jump to line 9 (check to every one road line)
8th line
- print on screen score and level on screen
- delay loop
- jump to line 4 to next game iteration
9th line
- print information that player crashed
- wait for press return (with proper information)
-cleanup (set graphics 0 which set default charset, set default margin, exit to basic)
10th line
- print on screen game name
- data for 3 user defined chars (64 - blank for empty road, 65 - slower car, 66 - player car)
I, as the author, consent to the publication of this program/game and all files included in the content of this submission.
SOURCE CODE:
1 2 3 4 5 6 7 8 9 10 11 12345678901234567890123456890123456789012345678901234568901234567890123456789012345689012345678901234567890 1 GRAPHICS 0:L=10:DIM A$(L),B$(L),C$(L):A$=" ":B$=A$:C$=A$:S=140:R=5:Z=0:P=2:POKE 82,L:X=0 2 GOSUB L:PRINT "INIT...":FOR I=0 TO 1024:POKE 32768+I,PEEK(57344+I):NEXT I:FOR I=0 TO 23:READ J 3 POKE 33280+I,J:NEXT I:POKE 756,128:POKE 752,1:POSITION 7,1:PRINT "PRESS RETURN";:DIM D$(1):INPUT D$:LV=0 4 A$(1,9)=A$(2,L):B$(1,9)=B$(2,L):C$(1,9)=C$(2,L):Q=INT(RND(0)*R):A$(L)=CHR$(Q=1):B$(L)=CHR$(Q=2):C$(L)=CHR$(Q=3) 5 FOR I=1 TO L:POSITION L,2+I:V=11-I:PRINT "|";A$(V,V);":";B$(V,V);":";C$(V,V);"|":NEXT I:X=PEEK(764) 6 POKE 764,0:P=P+(X=10)-(X=8):P=P-(P=4)+(P=0):POSITION 9+P*2,12:PRINT "X":IF Z/50=INT(Z/50) THEN S=S-20:LV=LV+1 7 IF ((P=1) AND (A$(1,1)="Y")) OR ((P=2) AND (B$(1,1)="Y")) OR ((P=3) AND (C$(1,1)="Y")) THEN GOTO 9 8 POSITION 7,1:PRINT "LEVEL:";LV;" SCORE:";Z:Z=Z+1:FOR I=1 TO S:NEXT I:GOTO 4 9 POSITION 8,2:PRINT "YOU CRASHED!":POSITION 2,20:PRINT "PRESS RETURN":INPUT A$:POKE 82,2:GRAPHICS 0:END 10 PRINT "B-VROOM BY 2ST_RETRO":RETURN :DATA 0,0,0,0,0,0,0,0,60,90,90,60,60,90,90,0,60,219,219,60,126,153,231,0 12345678901234567890123456890123456789012345678901234568901234567890123456789012345689012345678901234567890 1 2 3 4 5 6 7 8 9 10 11
NOTE: In the above code on lines 6 and 7 I had to change the ATARI characters to X and Y, because they are not available in this character set :)
1 line - 99
2 line - 96
3 line - 106
4 line - 113
5 line - 101
6 line - 111
7 line - 100
8 line - 77
9 line - 104
10 line - 111
| Status | Released |
| Author | BASIC 10Liner |
| Genre | Racing |
| Tags | 10liner, 8-Bit, atari800, atarixl, basic |
| Content | No generative AI was used |
Install instructions
How to play:
1. Go to basic (BASIC)
2. Load game - LOAD „D1:VROOM.BAS”
3. Type RUN and press RETURN

Leave a comment
Log in with itch.io to leave a comment.