ZX81 Programs


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

ZX81 Program Listing

wztest (wztest.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 19021
VARS  : 19814
E-LINE: 19815
STKBOT: 19815
STKEND: 19815


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **WIZARDRY**SLR/1985***
  20 FOR A=0 TO 11
  30 PRINT AT A,0;"          "
AND A<11;AT 0,A;"              
       ";AT 4,A+9;"            "
;AT 11,A;"                     "
;AT 16,A;"                     "
  40 NEXT A
  50 PRINT AT 1,10;"1=MOVE  4=JU
MP  LEVEL";AT 2,10;"2=FIRE  5=EN
TER (( ))";AT 3,10;"3=STAY  6=EX
IT  LEVEL";AT 13,0;"MEN=3 KEYS=0
 AREA=";AT 15,0;"RIBBONS=0 JEWEL
S=0 GOLD=0"
  60 PRINT AT 5,10;"!!!";TAB 29;
"!!!";AT 6,10;"!";TAB 31;"!";AT
7,10;"!";TAB 31;"!";AT 8,10;"!";
TAB 31;"!";AT 9,10;"!";TAB 31;"!
";AT 10,10;"!!!";TAB 29;"!!!"
  70 LET M=3
  80 LET K=0
  90 LET R=0
 100 LET J=0
 110 LET G=0
 120 LET L=0
 130 PRINT AT 18,0;"YOU ARE A GR
EAT ADVENTURER.  YOUARE TO EXPLO
RE THE LANDS FOR THECROWN.  GOOD
 LUCK**"
 140 GOSUB 1000
 150 FOR Q=1 TO 6
 160 PRINT AT 13,4;M;AT 13,11;K;
AT 15,8;R;AT 15,17;J;AT 15,24;G;
AT 2,28-(L>100);L
 170 IF A$(Q)="C" THEN GOTO 300
 180 IF A$(Q)="R" THEN GOTO 400
 190 IF A$(Q)="S" THEN GOTO 500
 200 PRINT AT 1,1;"  ÷¹¹ ÷ò";AT
2,1;"¹ õ¹¸òõ ";AT 3,1;"º¸ùùù úú"
;AT 4,1;" !!!! úú";AT 5,1;"     
 õú";AT 6,1;"      õú";AT 7,1;" 
 ² ² õ·";AT 8,1;"        ";AT 9,
1;"   · ·  ";AT 10,1;"  ÷ò÷ò  "
 210 PRINT AT 5,17;"DRAGON"
 220 GOSUB 700
 230 IF L$<>"2" THEN GOTO 600
 240 IF INT (RND*20+1)<12 THEN
GOTO 600
 270 PRINT AT 8,17;"ô · Xô";AT 9
,17;"²    ÷"
 280 PRINT AT 19,0;"YOU KILLED T
HE DRAGON..........."
 290 GOTO 650
 600 LET M=M-1
 610 IF M=0 THEN GOTO 900
 620 PRINT AT 19,0;"YOU HAVE DIE
D.  BE CAREFUL******"
 630 PAUSE 4E4
 640 GOSUB 680
 650 LET G=G+INT (RND*50)
 660 IF G>0 THEN PRINT AT 7,24;"
´÷";AT 8,27;"  "
 670 PAUSE 4E4
 680 GOSUB 800
 690 NEXT Q
 695 GOTO 920
 700 INPUT L$
 710 RETURN
 800 FOR A=5 TO 10
 810 PRINT AT A,13;"            
    "
 820 NEXT A
 830 FOR A=17 TO 21
 840 PRINT AT A,0;"             
                   "
 850 NEXT A
 860 RETURN
 900 PRINT AT 19,0;"OUT OF LIVES
**  QUEST IS OVER** "
 910 GOTO 950
 920 PRINT AT 19,0;"YOU ESCAPED 
THE DUNGEON AND WON*"
 950 PAUSE 4E4
 960 CLS
 970 RUN
1000 LET A$="DDDDDD"
1010 PAUSE 4E4
1020 GOSUB 800
1030 LET L=L+1
1040 RETURN
8000 SAVE "WZTEST"
8010 RUN
9000 REM **TEST PROGRAM**WORK ON
         IDEA LATER.THIS WIZARD-
         RY PROGRAM IS RANDOM,  
         NOT ALL PARTS ARE IN...
                STEVEN REID