ZX81 Programs


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

ZX81 Program Listing

**TELAPORT**SLR/1984** (telaport.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18869
VARS  : 19662
E-LINE: 19663
STKBOT: 19663
STKEND: 19663


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **TELAPORT**SLR/1984**
  20 LET S=0
  30 LET X=2
  40 LET Y=X
  50 LET U=Y
  60 LET C=X
  70 FOR L=0 TO 21
  80 PRINT AT L,0;" ";AT L,31;" 
";AT 0,L;"          ";AT 17,L;" 
         ";AT 21,L;"          "
  90 NEXT L
 100 PRINT AT 1,1;"ùù";TAB 29;"ù
ù 1T";TAB 30;"T2 úú";TAB 29;"úú"
;AT 14,1;"ùù";TAB 29;"ùù 3T";
TAB 30;"T4 úú";TAB 29;"úú";AT 18
,1;"ùù";TAB 29;"ùù ST  !!!!!!!!!
!!!!!!!!!!!!!!!  TS úú  ";TAB 27
;"  úú "
 110 FOR L=1 TO 20
 120 PRINT AT INT (16*RND+1),
INT (25*RND+3);"¸"
 130 NEXT L
 140 DIM V(6)
 160 FOR L=1 TO 6
 170 LET V(L)=INT (L/2+10)
 180 NEXT L
 190 FOR F=1 TO 150
 200 PRINT AT X,Y;"*";AT C,U;" "
AND (X<>C OR Y<>U);AT V(1),V(4)
;"I";AT V(2),V(5);"X";AT V(3),V(
6);"H"
 210 LET U=Y
 220 LET C=X
 230 LET X=X-(INKEY$="7")+(
INKEY$="6")
 240 LET Y=Y-(INKEY$="5")+(
INKEY$="8")
 245 FAST
 250 FOR L=1 TO 3
 260 PRINT AT V(L),V(L+3);" "
 270 IF RND>.5 THEN LET V(L)=V(L
)-SGN (V(L)-X)
 280 IF RND>.5 THEN LET V(L+3)=V
(L+3)-SGN (V(L+3)-Y)
 290 PRINT AT V(L),V(L+3);"I"
AND L=1;"X" AND L=2;"H" AND L=3
 300 NEXT L
 305 SLOW
 310 PRINT AT X,Y;
 320 LET L=PEEK (PEEK 16398+256*
PEEK 16399)
 330 IF L<>151 AND L<>0 AND L<>1
36 AND L<>185 THEN GOTO 2000
 340 IF L=136 THEN LET S=S+100
 350 IF L=185 THEN GOSUB 600
 360 NEXT F
 370 LET S=S+10
 380 PRINT AT 17,12;"TRY ON"
 390 PAUSE 400
 400 CLS
 410 GOTO 30
 600 LET L=INT (RND*5+1)
 610 GOSUB 650+L*50
 620 FOR L=1 TO 10
 630 PRINT AT 17,12;"TELAPORTED"
 640 PRINT AT 17,12;"          "
 650 NEXT L
 660 RETURN
 700 LET X=2
 710 LET Y=2
 720 RETURN
 750 LET X=2
 760 LET Y=29
 770 RETURN
 800 LET X=15
 810 LET Y=2
 820 RETURN
 850 LET X=15
 870 LET Y=29
 880 RETURN
 900 LET L=INT (20*RND+5)
 910 PRINT AT 19,2;"*";AT 19,2;"
 *";AT 18,3;"*";AT 19,3;" "
 920 FOR L=4 TO L
 930 LET S=S+1
 940 PRINT AT 18,L-1;" *"
 950 NEXT L
 960 PRINT AT 18,L-1;" ";AT 19,L
-1;"*";AT 20,L-1;"*";AT 19,L-1;"
 "
 970 PRINT AT 21,0;"BONUS TELAPO
RT,EXTRA POINTS-=-=-"
 980 PAUSE 400
 990 PRINT AT 20,L-1;" ";AT 19,L
-1;"!"
1000 PRINT AT 21,0;"            
                    "
1010 LET L=INT (RND*4+1)
1020 GOSUB 650+L*50
1030 RETURN
2000 PRINT AT 17,3;"YOU DIED SCO
RE:";S;AT 21,3;"PRESS A KEY TO P
LAY AGAIN*"
2020 PRINT AT C,U;" ";AT X,Y;"-"
2030 PAUSE 4E4
2040 CLS
2050 RUN
2100 SAVE "TELAPORT"
2110 RUN