ZX81 Programs


Read about, play, run, or list games, animations, and more. These are my programs from the ’80s to today.

ZX81 Program Listing

**FLYWHEEL**SLR/1985*** (fw.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 24028
VARS  : 24821
E-LINE: 24822
STKBOT: 24822
STKEND: 24822


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **FLYWHEEL**SLR/1985***
  20 LET S=0
  30 PRINT AT 2,15;"ù!ù";AT 3,0;
"¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸ ¸¸¸¸¸¸¸¸ ¸¸¸¸¸ ¸¸¸¸¸¸¸¸ ¸¸ ¸¸¸
¸  ¸¸ ¸¸ ¸  ¸¸¸  ¸ ¸¸¸ ¸  ¸¸  ¸ 
¸"
  40 FOR A=8 TO 21
  50 PRINT AT A,0;"             
                   "
  60 NEXT A
  70 GOSUB 1000
  80 FOR A=10 TO 20 STEP 2
  90 PRINT AT A,15-(A-10)+(A-(5+
A/2));"õ";AT A,A/2+11;"µ"
 100 PRINT AT A+1,15-(A-10)+(A-(
5+A/2));"µ";AT A+1,A/2+11;"õ"
 110 NEXT A
 120 PRINT AT 20,14;A$;AT 21,14;
B$(P)
 130 PRINT AT 16,10;"¸¸¸START*¸¸
¸"
 140 FOR A=15 TO 21
 150 PRINT AT A,10;"¸";TAB 21;"¸
"
 160 NEXT A
 170 FOR G=13 TO 17
 180 PRINT AT 16,G;"*"
 190 FOR A=1 TO 20
 200 NEXT A
 210 NEXT G
 220 FOR G=1 TO R1
 230 GOSUB 1000*Z(G)+1000
 240 NEXT G
 260 PRINT AT 16,10;"¸¸¸FINISH¸¸
¸"
 270 FOR A=15 TO 21
 280 PRINT AT A,10;"¸";TAB 21;"¸
"
 290 NEXT A
 300 LET S=S+500+INT (500*RND+1)
 310 PRINT AT 0,0;"SCORE:";S;"  
  KEEP IT UP**"
 320 FOR A=1 TO 300
 330 NEXT A
 340 GOTO 30
 400 PRINT AT 0,0;"SCORE:";S;"  
  YOU CRASHED**";AT 20,C;D$;AT 2
0,X;"ö¶ö²";AT 21,C;D$;AT 21,C;"·
ñ¶÷"
 410 PRINT AT 2,0;"PRESS ENTER T
O BEGIN AGAIN..."
 420 PAUSE 4E4
 430 CLS
 440 RUN
 500 FOR A=10 TO 20 STEP 2
 510 PRINT AT A,0;"             
                                
                   "
 520 PRINT AT A,15-(A-10)+(A-(5+
A/2));"õ";AT A,A/2+11;"µ"
 530 PRINT AT A+1,15-(A-10)+(A-(
5+A/2));"µ";AT A+1,A/2+11;"õ"
 540 NEXT A
 550 RETURN
 600 FOR A=10 TO 20 STEP 2
 610 PRINT AT A,0;"             
                                
                   "
 620 PRINT AT A,7;"õöó" AND A=10
;AT A+1,7;"õ  ö" AND A=10;AT A,8
;"µ  ö" AND A=12;AT A+1,8;"µ   ö
" AND A=12;AT A,8;"õ    ö" AND A
=14;AT A+1,8;"õ     ö" AND A=14
 630 PRINT AT A,9;"µ     ³ó"
AND A=16;AT A+1,9;"µ       ö"
AND A=16;AT A,9;"õ        ö"
AND A=18;AT A+1,9;"õ         ö"
AND A=18;AT A,10;"µ         ö"
AND A=20;AT A+1,10;"µ          
ö" AND A=20
 640 NEXT A
 650 RETURN
 700 FOR A=10 TO 20 STEP 2
 710 PRINT AT A,0;"             
                                
                   "
 720 PRINT AT A,22;"ó¶µ" AND A=1
0;AT A+1,21;"¶  µ" AND A=10;AT A
,20;"¶  õ" AND A=12;AT A+1,19;"¶
   õ" AND A=12;AT A,18;"¶    µ"
AND A=14;AT A+1,17;"¶     µ"
AND A=14
 730 PRINT AT A,15;"ó³     õ"
AND A=16;AT A+1,14;"¶       õ"
AND A=16;AT A,13;"¶        µ"
AND A=18;AT A+1,12;"¶         µ
" AND A=18;AT A,11;"¶         õ"
AND A=20;AT A+1,10;"¶          
õ" AND A=20
 740 NEXT A
 750 RETURN
1000 LET X=14
1010 LET A$="³òñ³"
1020 DIM B$(2,4)
1030 LET R1=10+INT (RND*10+1)
1040 DIM Z(R1)
1050 FOR A=1 TO R1
1060 LET Z(A)=INT (RND*3+1)
1070 NEXT A
1080 LET B$(1)="!³³!"
1090 LET B$(2)="¸³³¸"
1100 LET P=1
1110 LET C=X
1120 LET D$="    "
1130 LET Z(1)=1
1140 RETURN
2000 IF Z(G-(G>1))<>1 OR G=1
THEN GOSUB 500
2010 FOR A=1 TO 2+INT (RND*4)
2020 PRINT AT 20,X;A$;AT 21,X;B$
(P+1)
2030 LET R2=INT (RND*2)
2040 FOR V=14 TO 22
2050 PRINT AT 20,C;D$;AT 20,X;A$
;AT 21,C;D$;AT 21,X;B$(P+1)
2060 LET C=X
2070 LET P=NOT P
2080 LET X=X-(INKEY$="Z" AND X>1
1)+(INKEY$="." AND X<17)
2090 GOSUB 2400+200*R2+20*(V-14)
2100 NEXT V
2120 IF (R2=0 AND X+3<19) OR (R2
=1 AND X>12) THEN GOTO 400
2130 LET S=S+10
2140 NEXT A
2150 RETURN
2400 PRINT AT V,15;"÷"
2410 RETURN
2420 PRINT AT V,15;"ó";AT V-1,15
;" "
2430 RETURN
2440 PRINT AT V,14;"÷ó";AT V-1,1
5;" "
2450 RETURN
2460 PRINT AT V,14;"óó";AT V-1,1
4;"  "
2470 RETURN
2480 PRINT AT V,13;"÷´ó";AT V-1,
14;"  "
2490 RETURN
2500 PRINT AT V,13;"   ";AT V-1,
13;"   "
2510 RETURN
2520 PRINT AT V,12;"õµ  ";AT V-1
,13;"   "
2530 RETURN
2540 PRINT AT V,12;"    ";AT V-1
,12;"    "
2550 RETURN
2560 PRINT AT V-1,12;"    "
2570 RETURN
2600 PRINT AT V,16;"´"
2610 RETURN
2620 PRINT AT V,16;"ó";AT V-1,16
;" "
2630 RETURN
2640 PRINT AT V,16;"ó´";AT V-1,1
6;" "
2650 RETURN
2660 PRINT AT V,16;"óó";AT V-1,1
6;"  "
2670 RETURN
2680 PRINT AT V,16;"ó÷´";AT V-1,
16;"  "
2690 RETURN
2700 PRINT AT V,16;"   ";AT V-1,
16;"   "
2710 RETURN
2720 PRINT AT V,16;"  õµ";AT V-1
,16;"   "
2730 RETURN
2740 PRINT AT V,16;"    ";AT V-1
,16;"    "
2750 RETURN
2760 PRINT AT V-1,16;"    "
2770 RETURN
3000 IF Z(G-1)<>2 THEN GOSUB 600
3005 LET X=X-(X=17)
3008 LET C=X
3010 FOR A=1 TO 2+INT (RND*4)
3020 PRINT AT 20,X;A$;AT 21,X;B$
(P+1)
3030 LET R2=INT (RND*2)
3040 FOR V=14 TO 22
3050 PRINT AT 20,C;D$;AT 20,X;A$
;AT 21,C;D$;AT 21,X;B$(P+1)
3060 LET C=X
3070 LET P=NOT P
3080 LET X=X-(INKEY$="Z" AND X>1
1)+(INKEY$="." AND X<16)
3090 GOSUB 3400+200*R2+20*(V-14)
3100 LET S=S+1
3110 NEXT V
3120 IF (R2=0 AND X+3<18) OR (R2
=1 AND X>12) THEN GOTO 400
3130 LET S=S+10
3140 NEXT A
3150 RETURN
3400 PRINT AT V,9;"÷"
3410 RETURN
3420 PRINT AT V,10;"ó";AT V-1,9;
" "
3430 RETURN
3440 PRINT AT V,10;"÷ó";AT V-1,1
0;" "
3450 RETURN
3460 PRINT AT V,10;"÷ó´";AT V-1,
10;"  "
3470 RETURN
3480 PRINT AT V,11;"ó÷´";AT V-1,
10;"   "
3490 RETURN
3500 PRINT AT V,11;"   ";AT V-1,
11;"   "
3510 RETURN
3520 PRINT AT V,11;"  õµ";AT V-1
,11;"   "
3530 RETURN
3540 PRINT AT V,11;"    ";AT V-1
,11;"    "
3550 RETURN
3560 PRINT AT V-1,11;"    "
3570 RETURN
3600 PRINT AT V,11;"´"
3610 RETURN
3620 PRINT AT V,12;"ó";AT V-1,11
;" "
3630 RETURN
3640 PRINT AT V,13;"ó´";AT V-1,1
2;" "
3650 RETURN
3660 PRINT AT V,14;"óó";AT V-1,1
3;"  "
3670 RETURN
3680 PRINT AT V,14;"÷´ó";AT V-1,
14;"  "
3690 RETURN
3700 PRINT AT V,15;"   ";AT V-1,
14;"   "
3710 RETURN
3720 PRINT AT V,15;"õµ  ";AT V-1
,15;"   "
3730 RETURN
3740 PRINT AT V,16;"    ";AT V-1
,15;"    "
3750 RETURN
3760 PRINT AT V-1,16;"    "
3770 RETURN
4000 IF Z(G-1)<>3 THEN GOSUB 700
4005 LET X=X+(X=11)
4008 LET C=X
4010 FOR A=1 TO 2+INT (RND*4)
4020 PRINT AT 20,X;A$;AT 21,X;B$
(P+1)
4030 LET R2=INT (RND*2)
4040 FOR V=14 TO 22
4050 PRINT AT 20,C;D$;AT 20,X;A$
;AT 21,C;D$;AT 21,X;B$(P+1)
4060 LET C=X
4070 LET P=NOT P
4080 LET X=X-(INKEY$="Z" AND X>1
2)+(INKEY$="." AND X<17)
4090 GOSUB 4400+200*R2+20*(V-14)
4100 LET S=S+1
4110 NEXT V
4120 IF (R2=0 AND X+3<19) OR (R2
=1 AND X>13) THEN GOTO 400
4130 LET S=S+10
4140 NEXT A
4150 RETURN
4400 PRINT AT V,20;"÷"
4410 RETURN
4420 PRINT AT V,19;"ó";AT V-1,20
;" "
4430 RETURN
4440 PRINT AT V,17;"÷ó";AT V-1,1
9;" "
4450 RETURN
4460 PRINT AT V,16;"óó";AT V-1,1
7;"  "
4470 RETURN
4480 PRINT AT V,15;"ó÷´";AT V-1,
16;"  "
4490 RETURN
4500 PRINT AT V,14;"   ";AT V-1,
15;"   "
4510 RETURN
4520 PRINT AT V,13;"  õµ";AT V-1
,14;"   "
4530 RETURN
4540 PRINT AT V,12;"    ";AT V-1
,13;"    "
4550 RETURN
4560 PRINT AT V-1,12;"    "
4570 RETURN
4600 PRINT AT V,22;"´"
4610 RETURN
4620 PRINT AT V,21;"ó";AT V-1,22
;" "
4630 RETURN
4640 PRINT AT V,20;"ó´";AT V-1,2
1;" "
4650 RETURN
4660 PRINT AT V,19;"÷ó´";AT V-1,
20;"  "
4670 RETURN
4680 PRINT AT V,18;"÷´ó";AT V-1,
19;"   "
4690 RETURN
4700 PRINT AT V,18;"   ";AT V-1,
18;"   "
4710 RETURN
4720 PRINT AT V,17;"õµ  ";AT V-1
,18;"   "
4730 RETURN
4740 PRINT AT V,17;"    ";AT V-1
,17;"    "
4750 RETURN
4760 PRINT AT V-1,17;"    "
4770 RETURN
5000 CLS
5010 CLEAR
5020 SAVE "FW"
5030 PRINT "**FLY WHEEL**BY STEV
EN REID/1985  ººººººººº         
            3D CAR DRIVING PROGR
AM. USE "Z" FOR LEFT AND "." FOR
 RIGHT.     GOOD DRIVING****    
            "
5040 PRINT AT 21,0;"PRESS ENTER 
TO BEGIN GAME PLAY.."
5050 GOTO 420