ZX81 Programs


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

ZX81 Program Listing

kimmie (kimmie.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18240
VARS  : 19033
E-LINE: 19034
STKBOT: 19034
STKEND: 19034


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM *KIMMIE FISH**SLR/2023*
  20 GOSUB 500
  30 REM **MAIN LOOP
  40 LET LS=(-D+1 AND D<0)+(1
AND D>=0)
  50 LET LE=(6+(26-D) AND D>25)+
(6 AND D<26)
  60 LET DX=(0 AND D<0)+(D AND D
>=0)
  70 LET RS=(-B+1 AND B<0)+(1
AND B>=0)
  80 LET RE=(6+(26-B) AND B>25)+
(6 AND B<26)
  90 LET BX=(0 AND B<0)+(B AND B
>=0)
 100 PRINT AT A,BX;R$(R,1,RS TO
RE);AT A+1,BX;R$(R,2,RS TO RE);
AT A+2,BX;R$(R,3,RS TO RE)
 110 PRINT AT C,DX;L$(L,1,LS TO
LE);AT C+1,DX;L$(L,2,LS TO LE);
AT C+2,DX;L$(L,3,LS TO LE)
 120 LET R=1+NOT (R-1)
 130 LET L=1+NOT (L-1)
 140 LET B=B+1
 150 LET D=D-1
 160 IF B=32 THEN GOSUB 200
 170 IF D=-7 THEN GOSUB 300
 180 GOTO 40
 200 REM **RESET RIGHT FISH
 210 LET A=INT (RND*17+2)
 220 IF NOT (A<C-3 OR A>C+3)
THEN GOTO 210
 230 LET B=-6
 240 RETURN
 300 REM **RESET LEFT FISH
 310 LET C=INT (RND*17+2)
 320 IF NOT (C<A-3 OR C>A+3)
THEN GOTO 310
 330 LET D=31
 340 RETURN
 400 REM **SAVE
 410 SAVE "KIMMIE"
 420 RUN
 490 REM **SETUP
 500 RAND 0
 510 REM ****SCREEN
 520 CLS
 530 PRINT AT 1,0;"úúùúùùúúúùùúù
úùùùùúúúùúùúúùúúúùù";AT 21,0;" ³
³ ³ ³³  ³³³   ³³  ³³    ³³³³ ³";
 550 REM ****FISH
 560 LET A=5
 570 LET B=5
 580 LET C=15
 590 LET D=15
 600 LET R=1
 610 LET L=1
 620 DIM R$(2,3,6)
 630 LET R$(1,1)=" ³·óóô"
 640 LET R$(1,2)="  õ·òµ"
 650 LET R$(1,3)=" óò³³ñ"
 660 LET R$(2,1)=" ¶·óóô"
 670 LET R$(2,2)="  õ²òµ"
 680 LET R$(2,3)=" öò³³ñ"
 690 DIM L$(2,3,6)
 700 LET L$(1,1)="·óóô³ "
 710 LET L$(1,2)="õñôµ  "
 720 LET L$(1,3)="ò³³ñó "
 730 LET L$(2,1)="·óóôö "
 740 LET L$(2,2)="õñ±µ  "
 750 LET L$(2,3)="ò³³ñ¶ "
 760 RETURN