ZX81 Programs


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

ZX81 Program Listing

**ODYSSEY**SLR/1984**** (odyssey.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 17665
VARS  : 18458
E-LINE: 18459
STKBOT: 18459
STKEND: 18459


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **ODYSSEY**SLR/1984****
  20 FOR C=1 TO 48
  30 PRINT " ¸";
  40 NEXT C
  50 DIM Z(16)
  60 LET X=10
  70 LET F$="0321050313091907152
52731172701112523290321050313091
9071525273117270111252329"
  80 FOR N=1 TO LEN F$-1 STEP 2
  90 LET F=VAL (F$(N TO N+1))
 100 PRINT AT 0,F;"-"
 110 PRINT AT 1,F;"-"
 120 PRINT AT 2,F;"-"
 130 FOR M=1 TO 25
 140 PRINT AT 3,X;"º"
 150 LET X$=INKEY$
 160 IF X$="M" THEN GOSUB 400
 170 LET X=X-(X$="Z" AND X>0)+(X
$="." AND X<31)
 180 PRINT AT 3,0;"             
                   "
 190 NEXT M
 200 IF Z((F+1)/2)=1 THEN LET Z$
=" "
 210 IF Z((F+1)/2)<>1 THEN LET Z
$="¸"
 220 PRINT AT 0,F;Z$;AT 1,F;Z$;
AT 2,F;Z$
 230 LET ER=0
 240 FOR C=1 TO 16
 250 IF Z(C)=1 THEN LET ER=ER+1
 260 NEXT C
 270 IF ER=16 THEN GOTO 360
 280 NEXT N
 290 CLS
 300 PRINT "I"VE BEATEN YOU,I WI
LL RULE THISSPACE SHIP NOW AND N
O ONE WILL  STOP ME...HA*HA*HA*H
A*HA*HA*HA**"
 310 PRINT "PLAY AGAIN? (Y/N)"
 320 PAUSE 4E4
 330 IF INKEY$="N" THEN STOP
 340 CLS
 350 RUN
 360 PRINT "YYOOOUUU HHAAVVEEE B
BEEAATTEENN MMEEE......BITZEE/CR
ACK/BUUSHEE "
 370 PRINT ,,,,TAB 0;
 380 GOTO 310
 400 IF F<>X THEN RETURN
 410 LET M=51
 420 IF Z((F+1)/2)<>0 THEN
RETURN
 430 LET Z((F+1)/2)=1
 440 RETURN
 500 SAVE "ODYSSEY"
 510 RUN