ZX81 Programs


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

ZX81 Program Listing

**CREATURE**SLR/1985*** (cr.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 29510
VARS  : 30303
E-LINE: 30304
STKBOT: 30304
STKEND: 30304


LEGEND

A means INVERSE A
A means GRAPHICS A
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **CREATURE**SLR/1985***
  20 FOR A=0 TO 14
  30 PRINT AT A,0;"             
                   "
  40 NEXT A
  50 PRINT AT 15,0;"          6 
E6466E64 6          Y64 766Q7Y6 
 EQ  WR  6T7W667 E6T 6666 E66666
4666666E666664 66666  7Y6      E
Q      WR      6T7  E66666666646
666666666E6666666664         EQ 
         WR         666666664666
66666666666E66666666"
  60 GOSUB 1510
  70 GOSUB 1820
  80 PRINT AT 14,14;"HHHH"
  90 LET L=SIN PI
 100 PRINT AT 13,14;"HHHH";AT 14
,14;"FFFF"
 110 LET L=SIN PI
 120 PRINT AT 12,14;"HHHH";AT 13
,14;"Q4EW"
 130 LET L=SIN PI
 140 PRINT AT 11,14;"HHHH";AT 12
,14;"YERT"
 150 LET L=SIN PI
 160 PRINT AT 10,14;"HHHH";AT 11
,14;"ERER"
 170 LET L=SIN PI
 180 PRINT AT 9,14;"FFFF";AT 10,
14;" YT "
 190 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI
 200 PRINT AT 13,14;"AAAA";AT 14
,14;"    "
 210 LET L=SIN PI
 220 PRINT AT 12,14;"AAAA";AT 13
,14;"1RE2"
 230 LET L=SIN PI
 240 PRINT AT 11,14;"AAAA";AT 12
,14;"TE4Y"
 250 LET L=SIN PI
 260 PRINT AT 10,14;"AAAA";AT 11
,14;"E4E4"
 270 LET L=SIN PI
 280 PRINT AT 9,14;"GGGG";AT 10,
14;" YT "
 290 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI
 300 PRINT AT 9,14;"FGFG"
 310 LET L=SIN PI
 320 PRINT AT 9,14;"GFGF"
 330 LET L=SIN PI
 340 PRINT AT 9,14;"F F "
 350 LET L=SIN PI
 360 PRINT AT 9,14;" G G"
 370 LET L=SIN PI
 380 PRINT AT 9,14;" F F"
 390 LET L=SIN PI
 400 PRINT AT 9,14;"G G "
 410 LET L=SIN PI
 420 PRINT AT 9,14;"    "
 430 GOSUB 1850
 440 REM
 450 PRINT AT 11,0;"   ";AT 11,2
9;"      ";AT 12,29;"   "
 460 LET L=SIN PI*SIN PI*SIN PI
 470 PRINT AT 11,0;"   E7R";AT 1
1,26;"E7R      W66Q";AT 12,26;"W
6Q   "
 480 LET L=SIN PI*SIN PI*SIN PI
 490 PRINT AT 11,3;"    7";AT 11
,24;"7              6";AT 12,24;
"6    "
 500 LET L=SIN PI*SIN PI*SIN PI
 510 PRINT AT 11,7;"   7";AT 11,
21;"7   ";AT 12,7;" ";AT 12,24;"
 "
 520 LET L=SIN PI*SIN PI*SIN PI
 530 PRINT AT 11,10;"   E";AT 11
,18;"R   "
 540 LET L=SIN PI*SIN PI*SIN PI
 550 PRINT AT 11,13;" ";AT 11,18
;" "
 560 LET L=SIN PI*SIN PI*SIN PI
 570 FOR A=1 TO 10
 580 PRINT AT 10,14;"TTYY";AT 11
,14;"TTYY";AT 12,14;"YYTT";AT 13
,14;"YYTT"
 590 LET L=SIN PI
 600 PRINT AT 10,14;"YYTT";AT 11
,14;"YYTT";AT 12,14;"TTYY";AT 13
,14;"TTYY"
 610 LET L=SIN PI
 630 PRINT AT 10,14;"TTYY";AT 11
,14;"TQWY";AT 12,14;"YRET";AT 13
,14;"YYTT"
 640 LET L=SIN PI*SIN PI*SIN PI
 650 PRINT AT 10,14;"TTYY";AT 11
,14;"T  Y";AT 12,14;"Y  T";AT 13
,14;"YYTT"
 660 LET L=SIN PI*SIN PI*SIN PI
 670 PRINT AT 10,14;"WWQQ";AT 11
,14;"R  E";AT 12,14;"Q  W";AT 13
,14;"EERR"
 680 LET L=SIN PI*SIN PI*SIN PI
 690 PRINT AT 10,14;"    ";AT 11
,14;"    ";AT 12,14;"    ";AT 13
,14;"    "
 700 LET L=SIN PI*SIN PI*SIN PI
 710 PRINT AT 9,14;"T66R";AT 10,
14;"8675";AT 11,14;"5  8";AT 12,
14;"T  2";AT 13,14;" T 5";AT 14,
14;"  TE"
 720 FOR A=1 TO 100
 730 NEXT A
 740 PRINT AT 0,14;"477E"
 750 LET L=SIN PI*SIN PI*SIN PI
 760 PRINT AT 1,14;"477E";AT 0,1
4;"8YT5"
 770 LET L=SIN PI*SIN PI*SIN PI
 780 PRINT AT 2,14;"477E";AT 1,1
4;"8YT5";AT 0,14;"8TY5"
 790 LET L=SIN PI*SIN PI*SIN PI
 800 FOR A=0 TO 11
 810 PRINT ;AT A+3,14;"477E";AT
A+2,14;"8YT5";AT A+1,14;"8TY5";
AT A,14;"1662";AT A-1,14;"    "
AND A>0
 820 LET L=SIN PI*SIN PI*SIN PI
 830 NEXT A
 840 FOR A=1 TO 50
 850 NEXT A
 860 PRINT AT 11,31;" ";AT 12,31
;" ";AT 13,31;" ";AT 14,31;" "
 870 LET L=SIN PI
 880 PRINT AT 11,30;" 1";AT 12,3
0;"  ";AT 13,30;"  ";AT 14,30;" 
 "
 890 LET L=SIN PI
 900 PRINT AT 11,29;" 12";AT 12,
29;"   ";AT 13,29;" E ";AT 14,29
;" 2E"
 910 LET L=SIN PI
 920 PRINT AT 11,28;" 12 ";AT 12
,28;"    ";AT 13,28;" WQ ";AT 14
,28;" RE "
 930 LET L=SIN PI
 940 FOR A=27 TO -3 STEP -6
 950 PRINT AT 11,A+1;"12  ";AT 1
2,A;"     ";AT 13,A;"  4  ";AT 1
4,A;" R1  "
 960 LET L=SIN PI
 970 PRINT AT 11,A;"12  ";AT 12,
A-1;"     ";AT 13,A-1;"85   ";
AT 14,A-1;" 21  "
 980 LET L=SIN PI
 990 PRINT AT 11,A-1;"12  ";AT 1
2,A-2;"     ";AT 13,A-2;"     ";
AT 14,A-2;"     "
1000 LET L=SIN PI
1010 PRINT AT 11,A-2;"12  ";AT 1
2,A-3;"     ";AT 13,A-3;"  85 ";
AT 14,A-3;"  21 "
1020 LET L=SIN PI
1030 IF A=3 THEN GOTO 1090
1040 PRINT AT 11,A-3;"12  ";AT 1
2,A-4;"     ";AT 13,A-4;" E   ";
AT 14,A-4;" 2E  "
1050 LET L=SIN PI
1060 PRINT AT 11,A-4;"12  ";AT 1
2,A-5;"     ";AT 13,A-5;" WQ  ";
AT 14,A-5;" RE  "
1070 LET L=SIN PI
1080 NEXT A
1090 PRINT AT 11,0;"12  ";AT 12,
0;"    ";AT 13,0;"E   ";AT 14,0;
"2E  "
1100 LET L=SIN PI
1110 PRINT AT 11,0;"2  ";AT 12,0
;"   ";AT 13,0;"Q  ";AT 14,0;"E 
 "
1120 LET L=SIN PI
1130 PRINT AT 11,0;"  ";AT 12,0;
 ";AT 13,0;"  ";AT 14,0;"  "
1140 LET L=SIN PI
1150 PRINT AT 11,0;" ";AT 12,0;"
 ";AT 13,0;" ";AT 14,0;" "
1160 FOR A=1 TO 100
1170 NEXT A
1180 LET L=SIN PI*SIN PI
1190 PRINT AT 5,31;"G";AT 6,31;"
F";AT 7,31;"Y";AT 8,31;"A"
1200 LET L=SIN PI*SIN PI
1210 PRINT AT 5,30;"GH";AT 6,30;
"FH";AT 7,30;"Y5";AT 8,30;"AA"
1220 LET L=SIN PI*SIN PI
1230 PRINT AT 5,29;"GHH";AT 6,29
;"FHH";AT 7,29;"Y58";AT 8,29;"AA
A"
1240 LET L=SIN PI*SIN PI
1250 PRINT AT 5,28;"GHHG";AT 6,2
8;"FHHF";AT 7,28;"Y58T";AT 8,28;
"AAAA"
1260 LET L=SIN PI*SIN PI
1270 FOR A=27 TO 14 STEP -1
1280 PRINT AT 5,A;"GHHG ";AT 6,A
;"FHHF ";AT 7,A;"Y58T ";AT 8,A;"
AAAA "
1290 LET L=SIN PI*SIN PI
1300 NEXT A
1310 FOR A=5 TO 11
1320 PRINT AT A+3,14;"AAAA";AT A
+2,14;"Y58T";AT A+1,14;"FHHF";
AT A,14;"GHHG";AT A-1,14;"    "
1330 LET L=SIN PI*SIN PI
1340 NEXT A
1360 PRINT AT 14,14;"Y58T";AT 13
,14;"FHHF";AT 12,14;"GHHG";AT 11
,14;"    "
1370 LET A$="**CREATURE** A GRAP
HIC IMAGERY>>"
1380 FOR A=1 TO 32
1390 LET B$=A$(A)
1400 LET B1=11-3
1410 LET A1=15-(A-1)
1420 LET C=(A1 AND ABS A1>=ABS B
1)+(B1 AND ABS B1>ABS A1)
1430 IF C=0 THEN LET C=0.1
1440 FOR F=0 TO C STEP SGN C
1450 PRINT AT 11+B1/C*-F,15+A1/C
*-F;B$;AT 11+B1/C*-(F+(-SGN C)),
15+A1/C*-(F+(-SGN C));" " AND F
<>0
1460 NEXT F
1470 NEXT A
1480 FOR A=1 TO 200
1490 NEXT A
1500 GOTO 2050
1510 PRINT AT 7,15;"W"
1520 LET L=SIN PI*SIN PI
1530 PRINT AT 6,15;"ER";AT 7,16;
"Q"
1540 LET L=SIN PI*SIN PI
1550 PRINT AT 6,15;"12";AT 7,15;
"  "
1560 LET L=SIN PI*SIN PI
1570 PRINT AT 5,15;"77";AT 6,14;
"5  8";AT 7,14;"5  8";AT 8,14;"W
66Q"
1580 LET L=SIN PI*SIN PI
1590 PRINT AT 5,14;"E  R";AT 6,1
4;"    ";AT 7,14;"    ";AT 8,14;
"    "
1600 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI
1610 PRINT AT 6,15;"E4";AT 7,15;
"21"
1620 LET L=SIN PI*SIN PI
1630 PRINT AT 6,15;"QW";AT 7,15;
"RE"
1640 LET L=SIN PI*SIN PI
1650 PRINT AT 5,14;"EE4R";AT 6,1
4;"E  4";AT 7,14;"2  1";AT 8,15;
"21"
1660 LET L=SIN PI*SIN PI
1670 PRINT AT 5,14;"E66R";AT 6,1
4;"8  5";AT 7,14;"8  5";AT 8,14;
"2771"
1680 LET L=SIN PI*SIN PI
1690 PRINT AT 6,15;"E4";AT 7,15;
"WQ"
1700 LET L=SIN PI*SIN PI
1710 PRINT AT 6,15;"YT";AT 7,15;
"58"
1720 LET L=SIN PI*SIN PI
1730 PRINT AT 5,14;"E4ER";AT 6,1
4;"8YT5";AT 7,14;"E124";AT 8,14;
"2121"
1740 LET L=SIN PI*SIN PI
1750 PRINT AT 5,14;"E=/R";AT 6,1
4;"EYT4";AT 7,14;" 12 ";AT 8,14;
"2SS1"
1760 LET L=SIN PI*SIN PI
1770 PRINT AT 5,14;"E=/R";AT 6,1
4;"EYT4";AT 7,14;"412E";AT 8,14;
"2HH1"
1780 LET L=SIN PI*SIN PI
1790 PRINT AT 5,14;"E=/R";AT 6,1
4;"EYT4";AT 7,14;"412E";AT 8,14;
"8HH5"
1800 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI
1810 RETURN
1820 LET A$="                   
               ...I AM THE DUNGE
ON MASTER...THE CREATURE AS YOU 
ARE FOND OF CALLING ME...YOU WIL
L DIE*****...                   
             "
1830 GOSUB 2000
1840 RETURN
1850 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI*SIN PI*SIN PI
1860 PRINT AT 5,14;"ER";AT 6,1
4;"YT4 ";AT 7,14;"12E ";AT 8,14;
"HH5 "
1870 LET L=SIN PI*SIN PI
1880 PRINT AT 5,14;"E  R";AT 6,1
4;"T4 Q";AT 7,14;"2E R";AT 8,14;
"H5  "
1890 LET L=SIN PI*SIN PI
1900 PRINT AT 5,14;"E  R";AT 6,1
4;"4 QW";AT 7,14;"E RE";AT 8,14;
"5   "
1910 LET L=SIN PI*SIN PI
1920 PRINT AT 5,14;"E  R";AT 6,1
4;" QW ";AT 7,14;" RE ";AT 8,14;
"    "
1930 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI*SIN PI*SIN PI
1940 PRINT AT 5,14;"E77R";AT 6,1
4;"5E48";AT 7,14;"5218";AT 8,14;
"W66Q"
1950 LET L=SIN PI*SIN PI
1960 PRINT AT 5,14;"    ";AT 6,1
4;" 12 ";AT 7,14;"    ";AT 8,14;
"    "
1970 LET L=SIN PI*SIN PI
1980 PRINT AT 5,14;"    ";AT 6,1
4;" ER ";AT 7,14;" WQ ";AT 8,14;
"    "
1990 LET L=SIN PI*SIN PI
1992 PRINT AT 5,14;"    ";AT 6,1
4;"    ";AT 7,14;" W  ";AT 8,14;
"    "
1994 LET L=SIN PI*SIN PI
1996 PRINT AT 5,14;"    ";AT 6,1
4;"    ";AT 7,14;"    ";AT 8,14;
"    "
1997 LET L=SIN PI*SIN PI*SIN PI*
SIN PI*SIN PI*SIN PI*SIN PI
1998 RETURN
2000 FOR A=1 TO (LEN A$-31)
2010 PRINT AT 14,0;A$(A TO A+31)
;AT 8,15;"GG" AND A$(A+31)>="A";
AT 6,15;"WQ" AND RND>.7
2020 PRINT AT 8,15;"AA";AT 6,15;
"YT"
2030 NEXT A
2040 RETURN
2050 PRINT AT 12,31;"E";AT 13,31
;"H";AT 14,31;"4"
2060 LET L=SIN PI
2070 PRINT AT 12,30;"EG";AT 13,3
0;"HH";AT 14,30;"4Q"
2080 LET L=SIN PI
2090 PRINT AT 12,29;"EGH";AT 13,
29;"HHE";AT 14,29;"4Q4"
2100 LET L=SIN PI
2110 PRINT AT 11,31;"1";AT 12,28
;"EGHH";AT 13,28;"HH 4";AT 14,28
;"4QTE"
2120 LET L=SIN PI
2130 FOR A=27 TO 14 STEP -2
2140 PRINT AT 11,A+3;"1A";AT 12,
A;"EGHHA";AT 13,A;"HH 4A";AT 14,
A;"4Q4YA"
2150 LET L=SIN PI
2160 PRINT AT 11,A+2;"1A";AT 12,
A-1;"EGHHA";AT 13,A-1;"HH 4A";
AT 14,A-1;"4QTEA"
2170 REM
2180 NEXT A
2190 PRINT AT 11,16;"1 ";AT 12,1
4;" GH ";AT 13,14;"5E 2";AT 14,1
4;"W26E"
2200 LET L=SIN PI
2210 PRINT AT 11,15;"58";AT 12,1
4;" HH ";AT 13,14;"1HH2";AT 14,1
4;"44EE"
2220 LET L=SIN PI
2230 PRINT AT 11,15;"  A";AT 12,
14;"   A";AT 13,14;"EHRA";AT 14,
14;"46EA"
2240 LET L=SIN PI
2250 PRINT AT 11,15;"  A";AT 12,
14;"  AA";AT 13,14;"1EAA";AT 14,
14;"4EAA"
2260 LET L=SIN PI
2270 PRINT AT 11,15;"  A";AT 12,
14;"  AA";AT 13,14;" AAA";AT 14,
14;" AAA"
2280 LET L=SIN PI
2290 PRINT AT 11,15;"  A";AT 12,
14;"  AA";AT 13,14;" AAA";AT 14,
14;"AAAA"
2300 FOR A=1 TO 50
2310 NEXT A
2320 GOSUB 1510
2330 LET A$="              AAAAA
AAAAAAAAAAAAA  ...SEE,NO ONE CAN
 STOP THE CREATURE,NOT EVEN YOUR
 PITIFUL UFO...YOUR MONSTERS WER
E ALSO EASY**              AAAAA
AAAAAAAAAAAAA"
2340 GOSUB 2000
2350 FOR A=1 TO 50
2360 NEXT A
2370 PRINT AT 9,14;"EEEE"
2380 LET L=SIN PI*SIN PI*SIN PI
2390 PRINT AT 9,14;"6DD6";AT 10,
14;"4444"
2400 LET L=SIN PI*SIN PI*SIN PI
2410 PRINT AT 9,14;"AAAA";AT 10,
14;"6DD6";AT 11,14;"EEEE"
2420 LET L=SIN PI*SIN PI*SIN PI
2430 PRINT AT 9,14;"E><R";AT 10,
14;"AAAA";AT 11,14;"6DD6";AT 12,
14;"4444"
2432 LET L=SIN PI*SIN PI*SIN PI
2434 PRINT AT 9,14;"    ";AT 10,
14;"E<>R";AT 11,14;"AAAA";AT 12,
14;"6DD6";AT 13,14;"EEEE"
2436 LET L=SIN PI*SIN PI*SIN PI
2438 PRINT AT 10,14;"    ";AT 11
,14;"E><R";AT 12,14;"AAAA";AT 13
,14;"6DD6";AT 14,14;"4444"
2440 LET L=SIN PI*SIN PI*SIN PI
2450 FOR A=13 TO 27 STEP 2
2460 PRINT AT 11,A;" E<>R";AT 12
,A;" AAAA";AT 13,A;" 6DD6";AT 14
,A;" EEEE"
2470 LET L=SIN PI*SIN PI*SIN PI
2480 IF A<27 THEN PRINT AT 11,A+
1;" E><R";AT 12,A+1;" AAAA";AT 1
3,A+1;" 6DD6";AT 14,A+1;" 4444"
2490 LET L=SIN PI*SIN PI
2500 NEXT A
2510 PRINT AT 11,28;" E<>";AT 12
,28;" AAA";AT 13,28;" 6DD";AT 14
,28;" EEE"
2520 LET L=SIN PI*SIN PI*SIN PI
2530 PRINT AT 11,29;" E>";AT 12,
29;" AA";AT 13,29;" 6D";AT 14,29
;" 44"
2540 LET L=SIN PI*SIN PI*SIN PI
2550 PRINT AT 11,30;" E";AT 12,3
0;" A";AT 13,30;" 6";AT 14,30;" 
E"
2560 LET L=SIN PI*SIN PI*SIN PI
2570 PRINT AT 11,31;" ";AT 12,31
;" ";AT 13,31;" ";AT 14,31;" "
2580 FOR A=1 TO 50
2590 NEXT A
2600 LET A$="                   
               ...I"VE WON...MY 
GAMING PROGRAM HAS ENDED...TO SE
E MORE,WAIT AROUND...THE CREATUR
E(D.M.)***...                   
              "
2610 GOSUB 2000
2620 FOR A=1 TO 50
2630 NEXT A
2640 PRINT AT 14,0;"PROGRAM BY S
TEVEN L. REID (SLR) "
2650 GOSUB 1850
2660 FOR A=1 TO 100
2670 NEXT A
2680 FOR A=0 TO 21 STEP 2
2690 PRINT AT A,0;"SSASASASASSAA
AASSAAAASSASASASASS";AT A-1,0;" 
                               "
AND A>0
2700 LET L=SIN PI
2710 PRINT AT A+1,0;"AASASASASAA
SSSSAASSSSAASASASASAA";AT A,0;" 
                               "
2720 LET L=SIN PI
2730 NEXT A
2740 PRINT AT 21,0;"            
                    "
2750 FOR A=1 TO 50
2760 NEXT A
2770 RUN
2780 CLEAR
2790 SAVE "CR"
2800 RUN