ZX81 Programs


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

ZX81 Program Listing

*BONKERS*SLR/1985/2012* (bo2.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 28519
VARS  : 29312
E-LINE: 29313
STKBOT: 29313
STKEND: 29313


LEGEND

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


PROGRAM LISTING

   0 REM MCII
30403 ?/INKEY$?INKEY$?CALL INKEY$
??INKEY$?  ??INKEY$?5PI?8PI?
INPUT PI?ERR MSGS CALL LN V284
IF INT £FAST STR$ ACS ?CAY-LN 5
PILN (INKEY$)(BLN UNPLOT RNDK;)
CONT 7LN UNPLOT RNDK=)HOME  LN
UNPLOT RNDK>2SLN UNPLOT RNDK)/=
LN 2INKEY$)CONT 7LN 2INKEY$)
HOME  LN 2INKEY$2SLN 2INKEY$21
LN 2INKEY$SGN LPRINT TAN FAST B
GOSUB DELETE LPRINT TAN Y0B
GOSUB DELETE S7W/RAND ;?5PI?J
LINE ?J?7TAN RND)5 FAST GOSUB
UNDRAW /RNDD7FAST ;FOR 5CHR$ 2
GOSUB PISTOP AT FOR GOSUB K
LPRINT 1Q2D6:RNDCLEAR QT5CLEAR Q
U7TAN LN V21COPY RETURN JFAST
GOSUB PILPRINT COS //LN V2G4IF
LN V2?RETURN COPY CSAVE 1COPY
RETURN JFAST GOSUB PILPRINT C
INPUT JERR MSGS 8COS 9EDIT LN XE
ASN DRNDTAN ACS UNPLOT 6ORNDEO
RND?NEW ?PCOS LN CALL INKEY$C
NEXT TAN YF( AND GOTO PICHAR Y1
ACS CK2Y4ACS DK2ACS EPRINT LN
INT INKEY$EACS ?K2INPUT ?CHAR )2
£UKRND<IF VAL INKEY$LET J4/2LET
KRETURN AS2INPUT ?/QY*( AND
GOTO PI?NEW 3DEF PROC VAL VAL
VAL JACS (ACS (ACS (POP LINE DD
AT CHAR DAT CHAR DGOSUB UNDRAW
£RNDD76:RNDAT Y/(MURNDY5)MTRND
TAN STR$ FAST VAL RETURN
8218 RNDACS AUTO C5LN ( /QE:RND
LN DO PI/CRETURN RNDABS JPI51RND
ACS AUTO C5LN ( /*E:RNDPRINT
LET E:RND?76:RND5TRNDPAT LPRINT
SGN TAN 7PRINT 6:RNDCLEAR QT5UU
RNDXMURNDRETURN 2ATN PUSH PILET
TAN U5RNDRETURN  CTXM5RND/AE£RND
1SAVE 2DQ?FAST LN CALL INKEY$C
CLS LPRINT RETURN CASN ES
RETURN ZC:RETURN D4EACS 0F?O4
CLS ?/INKEY$LN PUSH A/ABS ?LCOS
,LN 5PI<"/PRINT RETURN CALL SD
RETURN ""ACS R AND FPINEW Z5)1
CHAR 4RETURN 5K£RETURN 1C4
RETURN *S4JLN 5PIACS 5PI7/PRINT
NEW ZLN 5PIJ?APIINT F?MCIF LN O
CALL VAL UNDRAW PI)  STR$ FOR 7D
FOR D?+?0FOR KPLOT FOR FOR J?3
LINE ?3?OC/FOR JACS 0ACS 1?+?0
IF DCALL ?+DEF PROC ?0CHAR STOP
;STOP /<>LPRINT AT ACS ?TAB (
INKEY$TAN ERR MSGS ?*>=(INKEY$
FOR ?CCHAR ACS ?TAB (INKEY$TAN
GOSUB OFFMRNDONICLEAR ?RT GOSUB
DELETE /GOSUB DELETE /READ
END PROC GOSUB DELETE K176MRND
ACS WERR MSGS EDIT TAN LN   E-
RND7PRINT LN -DPOKE LN -DPOKE
LN SCHAR LN INPUT DEF PROC INT ?
LN RAUTO LN <>AUTO TAN LN LEN
AUTO YCODE LN RUN DEF PROC LN *
EDIT /$LN RAUTO 5  LN >ERR MSGS
7LN NEXT AUTO FAST LN LEN AUTO
LPRINT LN >ERR MSGS LN A
ERR MSGS LN LLIST A)CLEAR CALL 1
LN IF DEF PROC E?RNDLN INPUT
DEF PROC )RUN CALL 14 LN IF
DEF PROC E?RNDLN INPUT DEF PROC
LN .CHAR LN .CHAR YRUN LN RUN
DEF PROC Y?LN RUN DEF PROC LN
LET DEF PROC RETURN YTAB DRND5
LIST CALL FAST LN ESE?RNDDIM LN
POKE DEF PROC 4CLS INT ?
30455  
30386 DER II ENDAT YTAN ?BDPOKE 6
?RNDGOSUB OFF0RND<5?RNDLN OFF
DPOKE 5  6?RNDE?RND6?RNDLN A
DEF PROC WM5END PROC 5?RNDFAST
LN 7DPOKE LPRINT FAST 7776-RNDU*
RNDM5RNDLN -DPOKE RETURN PAUSE
ATN NEXT ERR MSGS RETURN RAND
ATN CHR$ UNDRAW RETURN IF ATN ,
EDIT RETURN THEN CREM RETURN
DIM ATN JDEF PROC RETURN GOTO
ATN ?DPOKE RETURN GOSUB ATN >
DPOKE RETURN FOR ATN PAUSE
UNDRAW RETURN NEXT ATN 2PROTECT
RETURN SLOW ATN ""AUTO RETURN
POKE ATN VAL UNDRAW RETURN FAST
ATN LAUTO RETURN INPUT ATN Y
PROTECT RETURN PLOT ATN DATA
EDIT RETURN UNPLOT ATN 6EDIT
RETURN LET ATN 2 RETURN CLS ATN
KUNDRAW RETURN STOP ASN £UNDRAW
RETURN PRINT ATN LET DPOKE
RETURN LPRINT ATN CHR$ DPOKE
RETURN NEW ATN 2DPOKE RETURN
COPY ATN UNPLOT ERR MSGS RETURN
REM CPROTECT RETURN SCROLL ATN P
UNDRAW RETURN RETURN ATN $
ERR MSGS RETURN CLEAR ATN A
DEF PROC RETURN  4;E-RND-DPOKE
RETURN
8202 2DEF PROC TAB QERR MSGS LN
£UNDRAW LN LEN AUTO YSLN RUN
DEF PROC ?DRNDLN HTRACE 5=RND?S
UNDRAW 5PUSH A?SUNDRAW 5?7?S
UNDRAW SCROLL RETURN ?4SGN LN
RUN DEF PROC 5/DPOKE LN SUNDRAW
/LEN 1RETURN RETURN GOSUB POP
ACS 1**?POKE DEF PROC UNTIL 7
RESTORE STR$ FOR FAST 67RND6SRND
LN .CHAR LN INPUT DEF PROC JLN
RUN DEF PROC LPRINT LN BREAK
DPOKE ..FOR SGN LN OFFDPOKE
GOSUB OFF?RNDLN OFFDPOKE FAST
GOSUB OFF?RNDBGOSUB DELETE
LPRINT **6?RND?SCROLL CHAR ?7?7
TAN RESTORE 7UNTIL 7TAN FAST AT
E0RND7LN NOSTALGIC DPOKE FOR B
GOSUB PISQR E?RNDGOSUB DELETE **
FOR 7/GOSUB Y?PRINT LN -DPOKE
LN DO PROTECT LN BREAK DPOKE
FOR LN NOSTALGIC DPOKE FOR LET ?
UUNDRAW YLN /DIM FAST SCROLL
RETURN
10249 C5PRINT LN RUN DEF PROC
LET LPRINT TAN VAL FAST E?RND
PRINT ?FAST 76?RNDLN POKE
DEF PROC RETURN D4-Y
52727 LN INPUT DEF PROC JLN RUN
DEF PROC LET A ?LN INPUT
DEF PROC /2LPRINT LET LPRINT AT
JTAN 5CLEAR ACS LN XUNDRAW 51
EXP LN XUNDRAW LN LET DPOKE 5
CLEAR ACS LN XUNDRAW 51:?X
UNDRAW LN -DPOKE RETURN
8198 ERROR LN -DPOKE RETURN
INKEY$CZRETURN
51890 "CYRETURN AT C?RETURN CHR$
ASN >=ERROR RETURN TAB ASN GOTO
ERROR RETURN ,ASN OERROR PRINT E
-RND7LET 1TERROR VAL 1  VAL 1M
TRACE VAL ?CHAR UNDRAW 5INPUT
DEF PROC LN SUNDRAW /RESEQ 5RND
TRACE LN SUNDRAW /7LN LOOP
ERROR 5IF DEF PROC LN SUNDRAW /
CHAR Y?LN BDPOKE E?RNDFAST LN X
UNDRAW 1COPY COPY LN TRACE  7
PRINT LN RUN DEF PROC LET
RETURN "C5LN BDPOKE /INPUT
LPRINT VAL GOSUB OFF?RNDLN OFF
DPOKE Y)LN UUNDRAW Y1LPRINT ?U
UNDRAW LN IUNDRAW LN SQR UNDRAW
5CALL EDIT LN XUNDRAW 5PRINT A
LN SUNDRAW LN -DPOKE RETURN ,C>
RETURN ;ASN CLS DPOKE RETURN +
ASN CLS DPOKE 5.CHAR LN SUNDRAW
JTAN 5XERROR LN SUNDRAW ?CLS
DPOKE 51RNDACS AUTO TAB :"JLN
RUN DEF PROC UTRNDRETURN )S
UNDRAW :(Y/5URND-CHAR ?PRINT A
LN ERR MSGS UNDRAW Y?LN BDPOKE 5
RUN DEF PROC LN SUNDRAW /JLN H
TRACE 5RUN ERROR LN SUNDRAW /8?
NEW 3DEF PROC 51RNDACS AUTO C:5S
RND-ACS COPY LEN WUSR ?A?2DUTRND
CHR$ 5QUNPLOT .CHAR /RY
50167 LN ABS 5IF DEF PROC LN S
UNDRAW ?.ERROR LN NOSTALGIC
DPOKE STR$ LN NOSTALGIC DPOKE
STR$ AT SGN TAN RETURN RNDABS
CONT ERR MSGS 1WRND2LN LINE
CALL RETURN 0SSRETURN RNDKTLN -
DPOKE 7/INPUT RETURN (ME
END PROC C4RETURN $4272SACS
COPY 2LN 6CHAR A ?DDGOSUB
UNDRAW ?RNDDCHAR UEEND PROC
RETURN $CARETURN (42JTAN ?TAN Y1
TAN E4RND91WRNDJMTEND PROC SY
ACS ?4KACS LIST ACS RNDFAST 5T
END PROC OASN CONT ERR MSGS
LPRINT ?FFAST LN SCROLL CHAR
LPRINT 7ACS ?CNEXT J?6DEND PROC
UTEND PROC LN DPEEK CHAR RETURN
14"Y5LN UUNDRAW 5SAVE CHAR LN S
UNDRAW UTEND PROC 55END PROC
ERROR 4S**?TAN EDEND PROC )M 
GOSUB DELETE GOSUB OFF?RNDGOSUB
DELETE SQR INT 6FAST LN
NOSTALGIC DPOKE ?NLPRINT ""
GOSUB OFF1END PROC LN OFFDPOKE )
  LN OFFDPOKE E?RNDGOSUB OFF1
END PROC ;61END PROC 1  ?COS :
LN -DPOKE LN SCHAR RETURN 1ASN
RESEQ RETURN  4SLN DPOKE ACOPY
FAST LN -DPOKE RETURN =TAB CONT
ERR MSGS LN HTRACE LPRINT ?
RETURN COPY 4£5SGN FOR LN X
UNDRAW 5OFFDPOKE ?SUNDRAW Y6?U
UNDRAW FAST 5NOSTALGIC TRACE LN
SUNDRAW LN -DPOKE LN LINE CALL
RETURN (46LPRINT LN ** 5STR$
VAL LN XUNDRAW 5DUP DEF PROC LN
SUNDRAW LN -DPOKE LN 3 5AT SGN
LN XUNDRAW 5?DEF PROC ?SUNDRAW
LN -DPOKE LN 3 LPRINT Y5LN U
UNDRAW 5?TRACE ?SUNDRAW I+FAST
LN -DPOKE RETURN (CRAND RETURN "
45LN LOOP ERROR /END WHEN
RETURN INKEY$4A5RNDTRACE LN S
UNDRAW /USER RETURN CHR$ 4"LN
ERR MSGS UNDRAW 5UTRACE LN S
UNDRAW /DELETE LN ABS /EDIT LN
SCHAR LN -DPOKE FAST LN LINE
CALL RETURN (4NLN -DPOKE LN H
TRACE E-RNDDATA LOOP LN XUNDRAW
/"LN -DPOKE RETURN TO TAB CONT
ERR MSGS LN OUNDRAW 5AUTO TRACE
LN SUNDRAW LPRINT Y5LN UUNDRAW 5
WHILE TRACE ?SUNDRAW LPRINT Y5
LN UUNDRAW 5HCHAR ?SUNDRAW 5
LINE TRACE LN SUNDRAW LN LINE
CALL RETURN )CDLPRINT X""LN -
DPOKE ?5 LN -DPOKE /FOR ?11 /D
LN POKE DEF PROC 1  GCOS £)D
END PROC >TAN B.GOSUB DELETE
ERR MSGS EDIT LIST INT FSTR$ LN
NOSTALGIC DPOKE FOR SGN ;FOR
TAN E1END PROC 65END PROC TAN ?L
COS E5END PROC FOR GOSUB KGOSUB
DO 5END PROC TAN FAST E5
END PROC GOSUB OFF1END PROC B
GOSUB DELETE FAST AT LPRINT LN
NOSTALGIC DPOKE VAL FAST LN ?
DEF PROC LPRINT AT ?7?TAN FOR TA
?RETURN  C1ACS  DRAW ?FOR 5  
ACS T3K1;FOR DFOR (PRINT TAN J
PRINT LN ERR MSGS UNDRAW LN
LINE CALL RETURN + AND RNDDRAW
RETURN ;ABS RNDDRAW YFAST LN B
DPOKE LN -DPOKE PRINT LN
ERR MSGS UNDRAW LET RETURN +C4
RETURN -47AT LINE ?RETURN  44
PRINT FAST /PEEK FAST 5ERR MSGS
EDIT LN XUNDRAW LN NEXT TRACE Y
FAST 5PUSH NOSTALGIC LN UUNDRAW
/ZPRINT VAL /0RETURN /C(RETURN *
TAB CONT ERR MSGS LN VDRAW 5)
TRACE LN SUNDRAW /BLN VDRAW 5
CLEAR DEF PROC /NEXT YLPRINT LN
BDPOKE LET RETURN  COS RETURN +C
)LN VDRAW 5BFOR LN XUNDRAW 5
GOSUB DELETE LN XUNDRAW /SCROLL
LN VDRAW Y;LN BDPOKE /<>YSGN ?B
DPOKE RETURN )4USR LN -DPOKE /
INT RETURN PEEK 4?LN ERR MSGS
UNDRAW 5A ?XUNDRAW RETURN USR 4>
LN ERR MSGS UNDRAW 5PUSH DRAW ?S
UNDRAW 1?DRAW VAL FAST TAN
NOSTALGIC PUSH TAN RETURN CODE 4
G55END PROC YELN UUNDRAW YFAST
LN BDPOKE ICOPY LN 5 YSGN LN B
DPOKE 5>DRAW /USR E5END PROC
GOSUB DO 5END PROC JGOSUB
DELETE LINE ?COS ,?TAN RETURN
RND455ARND/VRETURN ABS 4)LN
ERR MSGS UNDRAW 5ACS ?LN X
UNDRAW YCODE 5?UNDRAW ?UUNDRAW
RETURN INT ASN ERR MSGS UNDRAW
RETURN LEN 4,LN -DPOKE LN SCHAR
LN -DPOKE Y5LN UUNDRAW 5>=DRAW /
F77LN NOSTALGIC DPOKE FOR TAN
RETURN SGN 4+LN ERR MSGS UNDRAW
5LIST DRAW ?SUNDRAW ?PCOS ACS ?5
1 TAB ?UNDRAW TAN RETURN SQR
TAB CONT ERR MSGS LN ERR MSGS
UNDRAW 5SUNDRAW ?SUNDRAW JXACS ?
C2INT G?ELSE A )RND TAGOSUB
DELETE K1;ZACS >EGOSUB
CLR STACK EGOSUB CLR STACK (
LIST CLR STACK LINE TAN LN H
TRACE LN -DPOKE PRINT YFAST LN B
DPOKE LN HTRACE YSGN LN BDPOKE
LET TAN LN -DPOKE RETURN -PRINT
ATN -DPOKE RETURN (C-RETURN RNDK
$RETURN AUSR ?UNDRAW >=8UNDRAW
LET ATN ELSE UNDRAW TAN LN
TRACE DRAW /PLOT LN HTRACE /LET
5?UNDRAW /CHAR ?JLINE ?J?7TAN
LN SCHAR RETURN  ASN >DEF PROC Y
E/PLN DO PROTECT Y5/I)(BLN A
DPOKE LN $ERR MSGS U5END PROC
DEF PROC £E?RND6?RNDT4LN BDPOKE
(CLS $4PLOT LPRINT GOSUB UNDRAW
?RNDTAN 5ES/75"RNDYLN LN BDPOKE
?LN BDPOKE ??BDPOKE LN IUNDRAW
LN SQR UNDRAW 5FOR ?/GOSUB
RETURN ,TAB CONT ERR MSGS TAN
LN LINE CALL RETURN
10245 TRACE /AYE5ORNDLN UUNDRAW Y
65MRND?UUNDRAW LN -DPOKE LN S
CHAR FAST FAST LN -DPOKE LN I
UNDRAW Y7LN BDPOKE 5GOSUB DO LN
XUNDRAW LPRINT LN XUNDRAW Y677
LN UUNDRAW LPRINT GOSUB OFF?RND?
OFFDPOKE LN -DPOKE LN SCHAR
FAST FAST YELN UUNDRAW 576LN X
UNDRAW LPRINT LN XUNDRAW 77Y
GOSUB LN BDPOKE YOFFLN UUNDRAW Y
B5GOSUB DELETE LN UUNDRAW YIF
LPRINT LN NOSTALGIC DPOKE FOR ?U
UNDRAW 5  /?LN -DPOKE RETURN  
LN )TRACE LET RETURN AABS CONT
ERR MSGS RETURN 0 AND CONT
ERR MSGS CHR$ 0T DEF PROC D/ TO
FAST E-RND)5 ;6-RNDLPRINT TAN
LN -DPOKE LN SCHAR RETURN 1C1
PRINT FAST 5*EDIT LN SUNDRAW
LPRINT LET RETURN  TAB EXIT Y
FOR LN BDPOKE LN SUNDRAW Y5LN U
UNDRAW LN -DPOKE 5VPROTECT ?S
UNDRAW GOSUB UNDRAW 1END PROC
VAL FAST LN 2EDIT 61END PROC
FAST LN PAUSE PROTECT RETURN
10249 KPRINT LN $EDIT /LIST SGN
GOSUB DELETE FAST AT LPRINT LN 6
TRACE AT GOSUB CALL 1END PROC
FAST LN 2EDIT 1LN ?DEF PROC
LPRINT TAN FAST LN LET DEF PROC
LPRINT RETURN ?""J?FY
48672 £RND1SAVE 2DYL?TAN ?7Y
48672 /PAUSE LN 2EDIT FAST FAST
LN PAUSE PROTECT RETURN
10257 CARETURN 0SLET RETURN AK
GOSUB LN $EDIT /CONT 5  SGN ,
RETURN -C(RETURN LC?CHR$ 0DFAST
DDAT DT DEF PROC D</CONT SGN ,
RETURN -PRINT LN NEW PROTECT
LET ""??UNDRAW Y.PRINT LN I
UNDRAW LN SQR UNDRAW 5UNDRAW
DPOKE LN XUNDRAW YYLN BDPOKE
LET LN BDPOKE YM5KRNDLN UUNDRAW
5,RND?SUNDRAW Y4/**?PCOS ?NCOS R
TAN ?PC2RTAN ?NCOS RTAN E-RND7(C
PLOT RETURN INKEY$ASN ERR MSGS
AUTO RETURN CHR$ ASN ERR MSGS
AUTO RETURN "ASN ERR MSGS AUTO 7
LN IUNDRAW RETURN OR 4S5?EDIT
LN SUNDRAW YABS /CHAR RETURN
AND 455EEDIT /LIST PRINT YB5
GOSUB DELETE LN UUNDRAW LET
RETURN =44YTAB /GRETURN <>44Y
ASN /8RETURN >C+RETURN <4EYASN
LN 5AUTO /<RETURN >=4S5C7LN X
UNDRAW YPAUSE /ERETURN <=TAB
CONT ERR MSGS YIF LN 5AUTO LN -
DPOKE RETURN AND ASN ,EDIT TAN
LN BDPOKE ESRND7LN BREAK DPOKE
FOR LN NOSTALGIC DPOKE FOR ?X
UNDRAW LN XAUTO 65END PROC 6E
END PROC TAN E5END PROC QCOPY 7
TAN 5NOSTALGIC TRACE LN SUNDRAW
LN 3 LN -DPOKE PRINT 5NAUTO LN S
UNDRAW LN 3 5XAUTO LN SUNDRAW 52
AUTO LN SUNDRAW LET RETURN =44Y
TAB /ARETURN <>44YASN /2RETURN >
4EYASN LN 5AUTO /ARETURN <C<
RETURN >=44Y AND /ERETURN <=TAB
CONT ERR MSGS 5C7LN XUNDRAW Y
ABS ?+AUTO EEEND PROC GOSUB
UNDRAW 1END PROC SWOY""RETURN  
COS 77/POKE 5RAUTO ?SUNDRAW LN
SCROLL 25VRNDACS QTAN 5LEN AUTO
?SUNDRAW 5VRNDACS PLOT ?E252 LN
**D""FAST LN 2DEF PROC SGN ?
DATA S52 LN **D""LN 2DEF PROC
COS LN 2DEF PROC COS LOOP DATA E
£RND/SCROLL 777VAL 7777VAL LN
EXP AUTO 57 LN **DAT LN 2D7Y
28963 7AT ?7?7QREM 7?7?7TAN 77
AUTO 7ERROR D7U£RND1""U$RND0TAN
LN -DPOKE LN SCHAR Y5LN UUNDRAW
YGOSUB LN BDPOKE YOFF51END PROC
LN UUNDRAW 5OFFDPOKE LN SUNDRAW
LN HTRACE 5UNTIL DEF PROC ?S
UNDRAW 7D7FAST FAST AT E1
END PROC LN COS :AT LN DUP
DEF PROC GOSUB DO 1END PROC TAN
E1END PROC DATA LOOP <Q /7E1
END PROC ?LCOS GOSUB KTAN FAST
LN ERR MSGS UNDRAW 5GOSUB
UNDRAW LN XUNDRAW LPRINT LN X
UNDRAW 5DD?XUNDRAW LN DPOKE 5
NOSTALGIC DPOKE LN SUNDRAW 5FOR
SGN ?XUNDRAW E4RND9QCOPY FQCOPY
FQ 6DEND PROC Y5E?RNDLN UUNDRAW
I:U5END PROC LINE LN XUNDRAW 5
ATN DEF PROC ?SUNDRAW £JM5RNDT4?
7(UNPLOT $4RUN 54 6?RNDE0RND1
HOME  D61END PROC 65END PROC
TAN ?HRND?:RND?)RND?1RND?4RND
FOR ?7RND??  $$;?LOAD ?REM
30241 :$LN ATN DEF PROC 5  6POP
READ 5S 6ELSE READ LN XERROR LN
XERROR LN XERROR LN XERROR ?R
END PROC   W E  58 5T WT W74ET7 
 QW QW QW WW T8  8    W6  61W64 
 RE RE RE 5855T 5  55 52 55   8 
 21 21 21  7    58 58 EY 58 Y6T 
 85 85 85)REND PROC 1  LN IF
DEF PROC LN .CHAR ?AHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHH  BY:  S T E
 V E N  R E I D **  HHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHH)LEN
END PROC 1NOSTALGIC  LN IF
DEF PROC LN .CHAR LN XERROR LN X
ERROR LN XERROR LN XERROR ?
BREAK STOP THE O,S BEFORE THEY B
ONK   YOU**)INKEY$1LN IF
DEF PROC LN .CHAR LN XERROR LN X
ERROR LN XERROR LN XERROR ?4 USE
 ARROW KEYS FOR MOVEMENT....) 14
 LN IF DEF PROC LN .CHAR LN X
ERROR LN XERROR LN XERROR LN X
ERROR ?<=PRESS ENTER TO BEGIN GA
ME PLAY??)V1LN IF DEF PROC LN
.CHAR LN PICURSOR LN ES5A FAST
LN ARNDFAST 5 4SGN LN CLEAR
DEF PROC SGN ;6?READ LN ARND
FAST 5 4SGN LN CLEAR DEF PROC 6?
READ LN ARNDFAST 5COPY ZSGN B
GOSUB DELETE PAUSE 4DELETE ?J
DELETE 57 FAST E?READ SGN ;6?
READ ?YDELETE 50 FAST E?READ
SGN BFOR GOSUB DELETE 6?READ E?
READ 6?READ E?READ 6?READ 5 
READ GOSUB OFF1END PROC LN OFF
DPOKE 5A LN UNTIL DEF PROC 51 
GOSUB UNDRAW  READ DDFAST 54 
SGN FOR LN OFFDPOKE 52 GOSUB
UNDRAW  READ DDFAST 5S SGN FOR
LN OFFDPOKE 57 GOSUB UNDRAW  
READ DDFAST 54 SGN FOR LN OFF
DPOKE 54 GOSUB UNDRAW  READ DD
FAST 5+ SGN FOR LN OFFDPOKE 55 
GOSUB UNDRAW  READ DDFAST 5) 
SGN FOR LN OFFDPOKE 5T GOSUB
UNDRAW  READ DDFAST 5S SGN FOR
LN OFFDPOKE 5E GOSUB UNDRAW  
READ DDFAST 5) SGN FOR LN OFF
DPOKE 5A GOSUB UNDRAW  READ DD
FAST 5+ SGN FOR LN OFFDPOKE 5  
FAST 5+ SGN 7GOSUB DO RREAD 6Y
READ ERREAD FAST 5  SGN CALL
EDIT LN PRINT A?"DO  )SDO 11 LN
IF DEF PROC 53 LN RUN ERROR ?2
DO  )1DO 11 LN IF DEF PROC 5  
FAST ERREAD SGN CALL EDIT LN
PRINT A?INKEY$DO           )RDO
1S LN IF DEF PROC 5+ FAST ER
READ SGN CALL EDIT LN PRINT A?
HOME DO           )RESEQ DO 1S 
LN IF DEF PROC 51 FAST 51 SGN
CALL EDIT LN PRINT A?11 LN IF
DEF PROC 51 FAST 52 SGN CALL
EDIT LN PRINT A?/DO  )*DO 11 LN
IF DEF PROC 5= FAST 51 SGN CALL
EDIT LN PRINT A?MDO  )LDO 11 LN
IF DEF PROC 5= FAST 52 SGN CALL
EDIT LN PRINT A?ATN DO  )ACS DO
11 LN IF DEF PROC LN .CHAR ER
READ 76RREAD GOSUB OFFYREAD B
GOSUB DELETE IF IF DELETE 5< 
FAST 5? SGN CALL EDIT LN PRINT A
?CLS DO AA)RAND DO 12 LN IF
DEF PROC 52 FAST 5? SGN CALL
EDIT LN PRINT A?-LOOP AA)=LOOP 1
2 LN IF DEF PROC 57 FAST 55 SGN
CALL EDIT LN PRINT A?LLOOP AA)J
LOOP 12 LN IF DEF PROC 5? LN
RUN ERROR ?DPOKE LOOP AA)CALL
LOOP 12 LN IF DEF PROC 5; LN
RUN ERROR ?INDENT LOOP AA)WHILE
LOOP 12 LN IF DEF PROC 54 FAST 5
5 SGN CALL EDIT LN PRINT A??
LOOP AA)?LOOP 12 LN IF DEF PROC
5; LN RUN ERROR ?HLOOP AA)YLOOP
12 LN IF DEF PROC 55 FAST 55 
SGN CALL EDIT LN PRINT A?7LOOP A
A)5LOOP 12 LN IF DEF PROC 5; LN
RUN ERROR ?RLOOP AA)PLOOP 12 LN
IF DEF PROC 5T FAST 55 SGN CALL
EDIT LN PRINT A?ABS LOOP AA)SQR
LOOP 12 LN IF DEF PROC 5; LN
RUN ERROR ?NEW LOOP AA)SLOW
LOOP 12 LN IF DEF PROC 5D FAST 5
SGN CALL EDIT LN PRINT A?1
EXIT AA)COPY LOOP 12 LN IF
DEF PROC 5S FAST 51 SGN CALL
EDIT LN PRINT A?0EXIT AA),EXIT 1
2 LN IF DEF PROC 5: LN RUN
ERROR ?MEXIT AAAA)IEXIT 14 LN
IF DEF PROC 51 LN RUN ERROR ?
ERROR EXIT AA)ERR MSGS EXIT 12 
LN IF DEF PROC 5" FAST 51 SGN
CALL EDIT LN PRINT A?USER EXIT A
A)READ EXIT 12 LN IF DEF PROC 5:
 LN RUN ERROR ??EXIT AAAA)?EXIT
14 LN IF DEF PROC 51 LN RUN
ERROR ?"EXIT AA)GEXIT 12 LN IF
DEF PROC 5£ FAST 5? SGN CALL
EDIT LN PRINT A?AEXIT AA)8EXIT 1
2 LN IF DEF PROC 5? FAST 55 SGN
CALL EDIT LN PRINT A?AT EXIT AA)
ZEXIT 12 LN IF DEF PROC 5; LN
RUN ERROR ?STR$ EXIT AA)PEEK
EXIT 12 LN IF DEF PROC 5( FAST 5
5 SGN CALL EDIT LN PRINT A?LIST
EXIT AA)INPUT EXIT 12 LN IF
DEF PROC 5; LN RUN ERROR ?4
UNTIL AA)2UNTIL 12 LN IF
DEF PROC 5) FAST 55 SGN CALL
EDIT LN PRINT A?3UNTIL AA)1
UNTIL 12 LN IF DEF PROC 5; LN
RUN ERROR ?NUNTIL AA)LUNTIL 12 
LN IF DEF PROC 5> FAST 55 SGN
CALL EDIT LN PRINT A?AUTO UNTIL
AA)PROTECT UNTIL 12 LN IF
DEF PROC 5? LN RUN ERROR ?*
UNTIL AA)NOSTALGIC UNTIL 12 LN
IF DEF PROC 5; LN RUN ERROR ?
22024 ?UNTIL 12 LN IF DEF PROC
LN .CHAR E?READ FAST E?READ SGN
CALL EDIT LN PRINT A?<UNTIL X)>
UNTIL 11 LN IF DEF PROC E?READ
FAST E?READ SGN BGOSUB DELETE
TAB VUNTIL E?READ FAST E?READ
SGN BGOSUB DELETE TAB VUNTIL ?
SLOW UNTIL E?READ FAST E?READ
SGN CALL EDIT LN PRINT A?ATN
UNTIL -)ACS UNTIL 11 LN IF
DEF PROC LN .CHAR E?READ 6?READ
E?READ 6?READ LN FOR OFFLN
NOSTALGIC TRACE LN RNDTRACE LN
LINE TRACE LN NAUTO ?RUN UNTIL 7
)PLOT UNTIL 11 LN LINE TRACE LN
XAUTO LN 2AUTO TAB /WHILE E?
READ FAST 51 SGN BFOR GOSUB
DELETE 6?READ LN NOSTALGIC
TRACE LN RNDTRACE LN LINE TRACE
LN NAUTO ?CWHILE 6)BWHILE 11 LN
LINE TRACE LN XAUTO LN 2AUTO
TAB ERROR WHILE E?READ FAST 51 
SGN ;6?READ LN NOSTALGIC TRACE
LN RNDTRACE LN LINE TRACE LN N
AUTO ?UNTIL WHILE 5)EXIT WHILE 1
1 LN LINE TRACE LN XAUTO LN 2
AUTO TAB ?WHILE E?READ FAST 51 
SGN BFOR GOSUB DELETE 6?READ LN
NOSTALGIC TRACE LN RNDTRACE LN
LINE TRACE LN NAUTO ?EWHILE 8)Y
WHILE 11 LN LINE TRACE LN XAUTO
LN 2AUTO TAB 9WHILE E?READ FAST
51 SGN ;6?READ 51 FAST 5E SGN 7
GOSUB DO HREAD 6FREAD EHREAD
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE ASN ABS WHILE
?2WHEN 5  FAST 5M SGN 7GOSUB DO
£READ 6:READ 51 LN ?UNDRAW LN
LIST DRAW 6(READ E£READ 76£READ
GOSUB OFF:READ BGOSUB DELETE IF
LLIST WHILE ?POKE INDENT EHREAD
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST EH
READ FAST 51 SGN ;GOSUB UNDRAW  
READ DDSTR$ LN NOSTALGIC DPOKE
FOR SGN SGN CALL EDIT LN PRINT A
?LWHEN O)KWHEN 11 LN IF
DEF PROC LN ARNDFAST 5COPY ZSGN
BGOSUB DELETE PAUSE UNDRAW WHEN
? TO WHEN LN ARNDFAST 5COPY Z
SGN BGOSUB DELETE PAUSE BWHEN EH
READ FAST 51 SGN ;GOSUB UNDRAW  
READ DDFAST EHREAD FAST 51 SGN ;
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST E?
READ FAST EHREAD FAST 51 SGN ;
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN B
FOR GOSUB DELETE LN LIST DRAW
SGN ;SGN FOR LN OFFDPOKE EHREAD
GOSUB UNDRAW  READ DDFAST EH
READ GOSUB UNDRAW  READ DDSTR$
LN NOSTALGIC DPOKE FOR SGN FAST
LN ARNDFAST 5EESGN LN CLEAR
DEF PROC FAST 51 SGN BFOR GOSUB
DELETE SGN ;SGN FOR LN OFFDPOKE
?CLR STACK INDENT LN ARNDFAST 5
COPY ZSGN BGOSUB DELETE PAUSE D
INDENT EHREAD GOSUB UNDRAW  
READ DDFAST EHREAD GOSUB UNDRAW
 READ DDSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST E?READ FAST EHREAD
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN B
FOR GOSUB DELETE LN LIST DRAW
SGN ;SGN FOR LN OFFDPOKE EHREAD
FAST 51 SGN ;GOSUB UNDRAW  READ
DDFAST EHREAD FAST 51 SGN ;
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST LN
ARNDFAST 5EESGN LN CLEAR
DEF PROC FAST 51 SGN BFOR GOSUB
DELETE SGN ;SGN FOR LN OFFDPOKE
EHREAD GOSUB UNDRAW  READ DD
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST EHREAD FAST 51 SGN ;GOSUB
UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN
CALL EDIT LN PRINT ALN 5CURSOR E
=READ FAST 50 SGN BGOSUB DELETE
ASN VAL INDENT E=READ FAST 5  
SGN BGOSUB DELETE ASN VAL
INDENT E=READ FAST 5- SGN B
GOSUB DELETE ASN VAL INDENT ?
SCROLL INDENT EHREAD GOSUB
UNDRAW  READ DDFAST 5  SGN FOR
LN OFFDPOKE ?<=INDENT 0) AND
INDENT 11 LN IF DEF PROC ?POKE
INDENT ?FOR INDENT O)REM INDENT
11 LN IF DEF PROC EHREAD FAST 51
 SGN ;6HREAD EHREAD 76HREAD
GOSUB OFFFREAD BGOSUB DELETE IF
PWHILE E?READ FAST E?READ SGN
CALL EDIT LN PRINT ALN 5CURSOR E
=READ FAST 5  SGN BGOSUB DELETE
ASN RNDRESEQ E=READ FAST 5X SGN
BGOSUB DELETE ASN RNDRESEQ ?*
CURSOR EPOP READ FAST 51 SGN ;6
POP READ 51 GOSUB UNDRAW  READ D
DSTR$ LN NOSTALGIC DPOKE FOR
SGN FAST 5  SGN BGOSUB DELETE
TAB RRESEQ 57 GOSUB UNDRAW  
READ DDSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST 5  SGN BGOSUB
DELETE TAB RRESEQ 55 GOSUB
UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE TAB RRESEQ 5E 
GOSUB UNDRAW  READ DDSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE TAB RRESEQ ?U
RESEQ ??UNTIL 5  FAST 5  SGN
CALL EDIT LN PRINT A?CLR STACK
OFF *** YOU COMPLETED A LEVEL  *
**                              
    **** BONUS POINTS AWARDED **
**                              
   . PRESS ANY KEY TO CONTINUE O
N .)ASN RESEQ 14 LN IF DEF PROC
LN .CHAR EPOP READ FAST 5(1FAST
LN ARNDFAST 5 1SGN LN CLEAR
DEF PROC FAST 5HOME  SGN ;
ERR MSGS EDIT LPRINT SGN ;FAST
PUSH NOSTALGIC SGN ;6POP READ 57
 FAST 5S SGN CALL EDIT LN PRINT
A?NOFFSCORE: )GOFF1E LN IF
DEF PROC EPOP READ LN INPUT
DEF PROC LN .CHAR EELSE READ
FAST 5  SGN BGOSUB DELETE PAUSE
LLIST OFFEELSE READ FAST 51 SGN
BFOR GOSUB DELETE 6ELSE READ LN
PICURSOR LN ES?GOSUB 5  FAST E
ELSE READ FAST 5COS  SGN LN )
TRACE SGN 7GOSUB DO £READ 6:
READ 51 LN ?UNDRAW LN LIST DRAW
6(READ E£READ 76£READ GOSUB OFF:
READ BGOSUB DELETE IF 7CURSOR
TAN 5:RND 1FAST 5?RND)TRACE SGN
;READ TAN 55 LN =RNDLN
NOSTALGIC TRACE LN RNDTRACE LN
LINE TRACE LN NAUTO ?WHILE
CURSOR )WHILE CURSOR 1  LN LINE
TRACE LN XAUTO LN 2AUTO ASN
ELSE CURSOR ?PICURSOR 5M LN =RND
LN NOSTALGIC TRACE LN RNDTRACE
LN LINE TRACE LN NAUTO ?QCURSOR
)QCURSOR 1  LN LINE TRACE LN X
AUTO LN 2AUTO TAB -CURSOR ?ELSE
CURSOR TAN LN ESLN XERROR LN X
ERROR LN XERROR LN XERROR ?D
DATA   W E  58 5T WT W74ET7  QW 
QW QW WW T8  8    W6  61W64  RE 
RE RE 5855T 5  55 52 55   8  21 
21 21  7    58 58 EY 58 Y6T  85 
85 85)DCURSOR 1  LN IF DEF PROC
LN .CHAR ?/DATA HHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHH  BY:  S T E V E
 N  R E I D **  HHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHH)SDATA 1
NOSTALGIC  LN IF DEF PROC LN .
CHAR LN XERROR LN XERROR LN X
ERROR LN XERROR ?PEEK DATA    **
**YOU"VE BEEN BONKED****   )N
DATA 1LN IF DEF PROC LN .CHAR
LN XERROR LN XERROR ?ARESTORE   
 YOU SCORED                   )
CONT DATA 1LN IF DEF PROC LN .
CHAR 51 GOSUB UNDRAW  READ DD
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5  SGN BGOSUB DELETE TAB U
RESTORE EPOP READ FAST 5HOME  
SGN ;6POP READ 57 GOSUB UNDRAW  
READ DDSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST 5  SGN BGOSUB
DELETE TAB NOSTALGIC RESTORE E
POP READ FAST 5HOME  SGN ;6POP
READ 55 GOSUB UNDRAW  READ DD
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5  SGN BGOSUB DELETE TAB Y
RESTORE EPOP READ FAST 5HOME  
SGN ;6POP READ 5E GOSUB UNDRAW  
READ DDSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST 5  SGN BGOSUB
DELETE TAB GRESTORE EPOP READ
FAST 5HOME  SGN ;6POP READ 5$ 
FAST 5? SGN CALL EDIT LN PRINT A
EPOP READ LN INPUT DEF PROC ?
ACS RESTORE  POINTS**)TAB
RESTORE 1D LN IF DEF PROC LN .
CHAR 5$ FAST 5? SGN CALL EDIT
LN PRINT ALN 5CURSOR E=READ
FAST 59 SGN BGOSUB DELETE PAUSE
SAVE RESTORE ?:READ E=READ FAST
5  SGN ;6=READ E=READ ?LN RUN
DEF PROC ?SLOW RESTORE 5: FAST 5
  SGN CALL EDIT LN PRINT ALN X
ERROR LN XERROR LN XERROR LN X
ERROR ?DRAW READ PRESS ENTER TO 
PLAY GAME AGAIN..)EREAD 1LN
IF DEF PROC LN .CHAR LN PI
CURSOR LN ES?0END PROC TAN $    
                                
                   S 7WHEN  REM
      MCODER II         COPYRIGH
T 1983   D C THRELFALL COMPILER 
AT 17300 PROG AT 20500
  10 REM *BONKERS*SLR/1985/2012*
  20 LET S=0
  25 LET L=10
  30 PRINT ,,,,"  W E  58 5T WT 
W74ET7  QW QW QW WW T8  8    W6 
 61W64  RE RE RE 5855T 5  55 52 
55   8  21 21 21  7    58 58 EY 
58 Y6T  85 85 85"
  40 PRINT "HHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHH  BY:  S T E V E N  
R E I D **  HHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHH"
  50 PRINT ,,,,"STOP THE O,S BEF
ORE THEY BONK   YOU**"
  60 PRINT ,,,," USE ARROW KEYS 
FOR MOVEMENT...."
  70 PRINT ,,,,"PRESS ENTER TO B
EGIN GAME PLAY??"
  80 GOSUB 575
  85 CLS
  90 LET X=8+RND/8192
 100 LET Y=RND/8192
 101 IF RND>16383 THEN GOTO 105
 102 LET Y=3+Y
 103 GOTO 110
 105 LET Y=28-Y
 110 LET X1=X
 120 LET Y1=Y
 130 DIM Z(8)
 140 LET Z(1)=4
 150 LET Z(2)=10
 160 LET Z(3)=4
 170 LET Z(4)=21
 180 LET Z(5)=17
 190 LET Z(6)=10
 200 LET Z(7)=17
 210 LET Z(8)=21
 220 FOR A=0 TO 21
 240 PRINT AT A,0;" ";TAB 31;" "
;AT 0,A;"          ";AT 21,A;"  
        ";AT 1,1;" ";AT 1,30;" "
;AT 20,1;" ";AT 20,30;" "
 250 NEXT A
 260 PRINT AT 19,15;"AA";AT 2,15
;"AA";AT 3,5;"AA";TAB 15;"AA";
TAB 25;"AA";AT 4,5;"AA";TAB 25;"
AA";AT 5,5;"AA";TAB 25;"AA";AT 6
,5;"AA";TAB 25;"AA";AT 9,15;"AA"
;AT 10,1;"AA";TAB 14;"AAAA";TAB
29;"AA";AT 11,1;"AA";TAB 14;"AAA
A";TAB 29;"AA";AT 12,15;"AA";AT
15,5;"AA";TAB 25;"AA";AT 16,5;"A
A";TAB 25;"AA";AT 17,5;"AA";TAB
25;"AA";AT 18,5;"AA";TAB 15;"AA"
;TAB 25;"AA"
 270 REM LET C$="PEEK (PEEK 1639
8+256*PEEK 16399)"
 275 PRINT AT X,Y;
 280 PRINT "X";
 282 IF X1=X AND Y1=Y THEN GOTO
310
 284 PRINT AT X1,Y1;"-"
 290 LET X1=X
 300 LET Y1=Y
 310 GOSUB 525
 312 IF INKEY$="7" THEN LET X=X-
1
 314 IF INKEY$="6" THEN LET X=X+
1
 320 REM LET Y=Y-(INKEY$="5")+(
INKEY$="8")
 322 IF INKEY$="5" THEN LET Y=Y-
1
 324 IF INKEY$="8" THEN LET Y=Y+
1
 330 FOR C=1 TO 7
 335 IF Z(C)<>0 THEN GOTO 340
 336 FOR M=0 TO 50
 337 LET J=SGN -1
 338 NEXT M
 339 GOTO 398
 340 PRINT AT Z(C),Z(C+1);"O";
 341 IF RND>16383 THEN GOTO 350
 342 IF RND>16383 THEN LET Z(C+1
)=Z(C+1)+SGN (Y-Z(C+1))
 343 LET Z(C)=Z(C)+(INT (RND/109
22-1))
 344 GOTO 370
 350 IF RND>16383 THEN LET Z(C)=
Z(C)+SGN (X-Z(C))
 360 LET Z(C+1)=Z(C+1)+(INT (RND
/10922-1))
 370 PRINT AT Z(C),Z(C+1);
 375 GOSUB 550
 376 IF P<>156 AND P<>128 AND P
<>22 THEN GOTO 390
 380 LET Z(C)=0
 385 PRINT "0";
 387 GOTO 398
 390 PRINT "O";
 398 LET C=C+1
 400 NEXT C
 410 PRINT AT X,Y;
 415 GOSUB 550
 420 IF P<>0 AND P<>189 THEN
GOTO 600
 430 LET S=S+1
 440 IF Z(1)=0 AND Z(3)=0 AND Z(
5)=0 AND Z(7)=0 THEN GOTO 460
 450 GOTO 280
 460 REM CLS
 470 PRINT AT 0,0;" *** YOU COMP
LETED A LEVEL  ***              
                    **** BONUS P
OINTS AWARDED ****              
                   . PRESS ANY K
EY TO CONTINUE ON ."
 480 LET S=S+400+INT (RND/328+10
0)
 490 PRINT AT 3,10;"SCORE: ";S
 495 IF L>0 THEN LET L=L-1
 500 GOSUB 575
 510 CLS
 520 GOTO 90
 525 FOR M=0 TO L*200
 527 LET J=SGN -1
 530 NEXT M
 535 RETURN
 550 LET P=PEEK (PEEK 16398+256*
PEEK 16399)
 560 RETURN
 575 PAUSE 5
 580 IF INKEY$<>"" THEN GOTO 575
 585 PAUSE 50
 590 IF INKEY$="" THEN GOTO 585
 595 RETURN
 600 CLS
 610 PRINT ,,,,"  W E  58 5T WT 
W74ET7  QW QW QW WW T8  8    W6 
 61W64  RE RE RE 5855T 5  55 52 
55   8  21 21 21  7    58 58 EY 
58 Y6T  85 85 85"
 620 PRINT "HHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHH  BY:  S T E V E N  
R E I D **  HHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHH"
 630 PRINT ,,,,"   ****YOU"VE BE
EN BONKED****   "
 640 PRINT ,,"   YOU SCORED     
              "
 650 REM LET S=S+(100 AND Z(1)=0
)+(100 AND Z(3)=0)+(100 AND Z(5)
=0)+(100 AND Z(7)=0)
 651 IF Z(1)=0 THEN LET S=S+100
 652 IF Z(3)=0 THEN LET S=S+100
 653 IF Z(5)=0 THEN LET S=S+100
 654 IF Z(7)=0 THEN LET S=S+100
 660 PRINT AT 13,15;S;" POINTS**
"
 670 PRINT AT 13,15;
 673 GOSUB 550
 675 IF P>37 THEN GOTO 710
 680 LET P=P+128
 690 PRINT CHR$ P;
 700 GOTO 673
 710 PRINT AT 14,0;,,,,"PRESS EN
TER TO PLAY GAME AGAIN.."
 720 GOSUB 575
 730 REM IF INKEY$="LPRINT "
THEN GOTO 800
 740 CLS
 750 GOTO 10
 760 STOP
 800 CLEAR
 810 CLS
 820 SAVE "BO2"
 830 LET L=USR 20500
 840 STOP