ZX81 Listing for bo2.p


ZX81 program listing for *BONKERS*SLR/1985/2012*

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

A complied remake of BONKERS that is a bit faster and more playable.

As before, avoid the O’s to win the game! Use cursor keys to move.


SYSTEM VARIABLES

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


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   0 REM MCII
30403 ?/INKEY$?INKEY$?CALL INKEY$
??INKEY$?  ??INKEY$PI?8PI?
INPUT PI?ERR MSGS CALL LN Vò84
IF INT £FAST STR$ ACS ?C!Y-LN õ
PILN (INKEY$)(BLN UNPLOT RNDK;)
CONT óLN UNPLOT RNDK=)HOME  LN
UNPLOT RNDK>2úLN UNPLOT RNDK)/=
LN òINKEY$)CONT óLN òINKEY$)
HOME  LN òINKEY$LN òINKEY$
LN òINKEY$SGN LPRINT TAN FAST B
GOSUB DELETE LPRINT TAN Y0B
GOSUB DELETE SóW/RAND ;?õPI?J
LINE ?J?7TAN RND)5 FAST GOSUB
UNDRAW /RNDù7FAST ;FOR 5CHR$ ò
GOSUB PISTOP AT FOR GOSUB K
LPRINT ñQòù6:RNDCLEAR QT5CLEAR Q
TAN LN VòñCOPY RETURN JFAST
GOSUB PILPRINT COS //LN VòG4IF
LN Vò?RETURN COPY CSAVE ñCOPY
RETURN JFAST GOSUB PILPRINT C
INPUT JERR MSGS 8COS 9EDIT LN X÷
ASN DRNDTAN ACS UNPLOT 6ORNDEO
RND?NEW ?PCOS LN CALL INKEY$C
NEXT TAN YF( AND GOTO PICHAR Yñ
ACS CKòYôACS DKòACS ÷PRINT LN
INT INKEY$÷ACS ?KòINPUT ?CHAR )2
£UKRND<IF VAL INKEY$LET J4LET
KRETURN !SòINPUT ?/QY*( AND
GOTO PI?NEW 3DEF PROC VAL VAL
VAL JACS (ACS (ACS (POP LINE DD
AT CHAR ùAT CHAR ùGOSUB UNDRAW
£RNDù76:RNDAT Y/(MURNDY5)MTRND
TAN STR$ FAST VAL RETURN
8218 RNDACS AUTO CõLN ( /QE:RND
LN DO PI/CRETURN RNDABS JPIRND
ACS AUTO CõLN ( /*E:RNDPRINT
LET E:RND?76:RND5TRNDPAT LPRINT
SGN TAN 7PRINT 6:RNDCLEAR QT5UU
RNDXMURNDRETURN òATN PUSH PILET
TAN U5RNDRETURN  CöXM5RND/AE£RND
ñSAVE òùQ?FAST LN CALL INKEY$C
CLS LPRINT RETURN CASN
RETURN ZC:RETURN D4÷ACS 0F?O4
CLS ?/INKEY$LN PUSH !/ABS ?LCOS
,LN õPI<"/PRINT RETURN CALL Sù
RETURN ""ACS R AND FPINEW Z5)ñ
CHAR ôRETURN 5K£RETURN ñCô
RETURN *SôJLN õPIACS õPI7/PRINT
NEW ZLN õPIJ?!PIINT º?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 ùCALL ?+DEF PROC ?0CHAR STOP
;STOP /<>LPRINT AT ACS ?TAB (
INKEY$TAN ERR MSGS ?*>=(INKEY$
FOR ?CCHAR ACS ?TAB (INKEY$TAN
GOSUB OFFMRNDONICLEAR ?Rö GOSUB
DELETE /GOSUB DELETE /READ
END PROC GOSUB DELETE Kñ76MRND
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
óLN NEXT AUTO FAST LN LEN AUTO
LPRINT LN >ERR MSGS LN A
ERR MSGS LN LLIST !)CLEAR CALL ñ
LN IF DEF PROC E?RNDLN INPUT
DEF PROC )RUN CALL ñô 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 EúE?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 WMõEND 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 ¶
PROTECT RETURN PLOT ATN DATA
EDIT RETURN UNPLOT ATN ³EDIT
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 òDPOKE 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 !?SUNDRAW 5?ó?S
UNDRAW SCROLL RETURN ?4SGN LN
RUN DEF PROC 5/DPOKE LN SUNDRAW
/LEN ñRETURN RETURN GOSUB POP
ACS 1**?POKE DEF PROC UNTIL 7
RESTORE STR$ FOR FAST 67RNDRND
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 PRINT 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 /òLPRINT LET LPRINT AT
JTAN 5CLEAR ACS LN XUNDRAW 5ñ
EXP LN XUNDRAW LN LET DPOKE 5
CLEAR ACS LN XUNDRAW 5ñ:?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 ñTERROR VAL ñ  VAL ñM
TRACE VAL ?CHAR UNDRAW 5INPUT
DEF PROC LN SUNDRAW /RESEQ 5RND
TRACE LN SUNDRAW /óLN LOOP
ERROR 5IF DEF PROC LN SUNDRAW /
CHAR Y?LN BDPOKE E?RNDFAST LN X
UNDRAW ñCOPY COPY LN TRACE  ó
PRINT LN RUN DEF PROC LET
RETURN "CõLN BDPOKE /INPUT
LPRINT VAL GOSUB OFF?RNDLN OFF
DPOKE Y)LN UUNDRAW YñLPRINT ?U
UNDRAW LN IUNDRAW LN SQR UNDRAW
5CALL EDIT LN XUNDRAW 5PRINT !
LN SUNDRAW LN -DPOKE RETURN ,C>
RETURN ;ASN CLS DPOKE RETURN +
ASN CLS DPOKE 5.CHAR LN SUNDRAW
JTAN 5XERROR LN SUNDRAW ?CLS
DPOKE 5ñRNDACS AUTO TAB :"JLN
RUN DEF PROC UTRNDRETURN )S
UNDRAW :(Y/5URND-CHAR ?PRINT !
LN ERR MSGS UNDRAW Y?LN BDPOKE 5
RUN DEF PROC LN SUNDRAW /JLN H
TRACE 5RUN ERROR LN SUNDRAW /8?
NEW 3DEF PROC 5ñRNDACS AUTO C:5S
RND-ACS COPY LEN WUSR ?!?òùUTRND
CHR$ UNPLOT .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 ñWRNDòLN LINE
CALL RETURN 0SúRETURN RNDLN -
DPOKE ó/INPUT RETURN (M÷
END PROC CôRETURN $4òóòúACS
COPY òLN ³CHAR A ?DDGOSUB
UNDRAW ?RNDùCHAR U÷END PROC
RETURN $C!RETURN (4òJTAN ?TAN
TAN RND9ñWRNDJMöEND PROC úY
ACS ?4KACS LIST ACS RNDFAST
END PROC OASN CONT ERR MSGS
LPRINT ?FFAST LN SCROLL CHAR
LPRINT óACS ?CNEXT J?6ùEND PROC
UöEND PROC LN DPEEK CHAR RETURN
ñ4"Y5LN UUNDRAW 5SAVE CHAR LN S
UNDRAW UöEND PROC 5õEND PROC
ERROR ôS**?TAN EùEND PROC )M 
GOSUB DELETE GOSUB OFF?RNDGOSUB
DELETE SQR INT ³FAST LN
NOSTALGIC DPOKE ?NLPRINT ""
GOSUB OFFñEND PROC LN OFFDPOKE )
  LN OFFDPOKE E?RNDGOSUB OFFñ
END PROC ;6ñEND PROC ñ  ?COS :
LN -DPOKE LN SCHAR RETURN ñASN
RESEQ RETURN  4úLN 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 "
LN LOOP ERROR /END WHEN
RETURN INKEY$4!5RNDTRACE 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 )CùLPRINT X""LN -
DPOKE ?5 LN -DPOKE /FOR ?ññ /ù
LN POKE DEF PROC ñ  GCOS £)ù
END PROC >TAN B.GOSUB DELETE
ERR MSGS EDIT LIST INT ºSTR$ LN
NOSTALGIC DPOKE FOR SGN ;FOR
TAN EñEND PROC 6õEND PROC TAN ?L
COS EõEND PROC FOR GOSUB KGOSUB
DO õEND PROC TAN FAST
END PROC GOSUB OFFñEND PROC B
GOSUB DELETE FAST AT LPRINT LN
NOSTALGIC DPOKE VAL FAST LN ?
DEF PROC LPRINT AT ?7?TAN FOR ö!
?RETURN  CñACS  DRAW ?FOR 5  
ACS T3Kñ;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 +Cô
RETURN -47AT LINE ?RETURN  4ô
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 ñ?DRAW VAL FAST TAN
NOSTALGIC PUSH TAN RETURN CODE 4
G5õEND PROC YELN UUNDRAW YFAST
LN BDPOKE ICOPY LN 5 YSGN LN B
DPOKE 5>DRAW /USR EõEND PROC
GOSUB DO õEND PROC JGOSUB
DELETE LINE ?COS ,?TAN RETURN
RND4õ5ARND/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 /
º77LN NOSTALGIC DPOKE FOR TAN
RETURN SGN 4+LN ERR MSGS UNDRAW
5LIST DRAW ?SUNDRAW ?PCOS ACS ?5
ñ TAB ?UNDRAW TAN RETURN SQR
TAB CONT ERR MSGS LN ERR MSGS
UNDRAW 5úUNDRAW ?SUNDRAW JXACS ?
INT ¹?ELSE A )RND ö!GOSUB
DELETE Kñ;ZACS GOSUB
CLR STACK ·GOSUB 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 >=µUNDRAW
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 UõEND PROC
DEF PROC £E?RND6?RNDöôLN BDPOKE
(CLS $4PLOT LPRINT GOSUB UNDRAW
?RNDTAN 5Eú/ó5"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 /!YE5ORNDLN 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$ 0ö DEF PROC ù/ TO
FAST E-RND)õ ;6-RNDLPRINT TAN
LN -DPOKE LN SCHAR RETURN ñC1
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 ñEND PROC
VAL FAST LN òEDIT 6ñEND PROC
FAST LN PAUSE PROTECT RETURN
10249 KPRINT LN $EDIT /LIST SGN
GOSUB DELETE FAST AT LPRINT LN ³
TRACE AT GOSUB CALL ñEND PROC
FAST LN òEDIT ñ3 LN ?DEF PROC
LPRINT TAN FAST LN LET DEF PROC
LPRINT RETURN ?""J?FY
48672 £RNDñSAVE òùYL?TAN ?7Y
48672 /PAUSE LN òEDIT FAST FAST
LN PAUSE PROTECT RETURN
10257 C!RETURN 0SLET RETURN AK
GOSUB LN $EDIT /CONT 5  SGN ,
RETURN -C(RETURN LC?CHR$ 0DFAST
DDAT ùö DEF PROC ù</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 ?PCòRTAN ?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 4ú5?EDIT
LN SUNDRAW YABS /CHAR RETURN
AND 4õ5·EDIT /LIST PRINT YB5
GOSUB DELETE LN UUNDRAW LET
RETURN =4ôYTAB /GRETURN <>4ôY
ASN /8RETURN >C+RETURN <4÷YASN
LN 5AUTO /<RETURN >=4ú5CóLN X
UNDRAW YPAUSE RETURN <=TAB
CONT ERR MSGS YIF LN 5AUTO LN -
DPOKE RETURN AND ASN ,EDIT TAN
LN BDPOKE EúRND7LN BREAK DPOKE
FOR LN NOSTALGIC DPOKE FOR ?X
UNDRAW LN XAUTO 6õEND PROC 6÷
END PROC TAN EõEND 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 =4ôY
TAB /ARETURN <>4ôYASN /2RETURN >
4÷YASN LN 5AUTO /!RETURN <C<
RETURN >=4ôY AND RETURN <=TAB
CONT ERR MSGS 5CóLN XUNDRAW Y
ABS ?+AUTO E÷END PROC GOSUB
UNDRAW ñEND PROC úWOY""RETURN  
COS 7ó/POKE 5RAUTO ?SUNDRAW LN
SCROLL ò5VRNDACS QTAN 5LEN AUTO
?SUNDRAW 5VRNDACS PLOT ?÷ò5ò LN
**ù""FAST LN 2DEF PROC SGN ?
DATA ú5ò LN **ù""LN 2DEF PROC
COS LN 2DEF PROC COS LOOP DATA E
£RND/SCROLL óóóVAL óóóóVAL LN
EXP AUTO 5ó LN **ùAT LN 2ù7Y
28963 7AT ?7?7QREM 7?7?7TAN 77
AUTO 7ERROR ù7U£RND1""U$RND0TAN
LN -DPOKE LN SCHAR Y5LN UUNDRAW
YGOSUB LN BDPOKE YOFF5ñEND PROC
LN UUNDRAW 5OFFDPOKE LN SUNDRAW
LN HTRACE 5UNTIL DEF PROC ?S
UNDRAW 7D7FAST FAST AT
END PROC LN COS :AT LN DUP
DEF PROC GOSUB DO ñEND PROC TAN
EñEND PROC DATA LOOP <Q /óEñ
END PROC ?LCOS GOSUB KTAN FAST
LN ERR MSGS UNDRAW 5GOSUB
UNDRAW LN XUNDRAW LPRINT LN X
UNDRAW 5Dù?XUNDRAW LN DPOKE 5
NOSTALGIC DPOKE LN SUNDRAW 5FOR
SGN ?XUNDRAW EôRND9QCOPY FQCOPY
FQ 6ùEND PROC Y5E?RNDLN UUNDRAW
I:UõEND PROC LINE LN XUNDRAW 5
ATN DEF PROC ?SUNDRAW £JM5RNDöô?
7(UNPLOT $4RUN 54 6?RNDE0RNDñ
HOME  ù6ñEND PROC 6õEND PROC
TAN RND?:RND?)RND?1RND?4RND
FOR ?7RND??  $$;?LOAD ?REM
30241 :$LN ATN DEF PROC 5  6POP
READ 5ú 6ELSE READ LN XERROR LN
XERROR LN XERROR LN XERROR ?R
END PROC   ² ·  õµ õö ²ö ²óô·öó 
 ±² ±² ±² ²² öµ  µ    ²³  ³ñ²³ô 
 ´÷ ´÷ ´÷ õµõõö õ  õõ õò õõ   µ 
 òñ òñ òñ  ó    õµ õµ ÷¶ õµ ¶³ö 
 µõ µõ µõ)REND PROC ñ  LN IF
DEF PROC LN .CHAR ?A¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸  BY:  S T E
 V E N  R E I D **  ¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸)LEN
END PROC ñNOSTALGIC  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$ñ8 LN IF
DEF PROC LN .CHAR LN XERROR LN X
ERROR LN XERROR LN XERROR ?4 USE
 ARROW KEYS FOR MOVEMENT....) ñ4
 LN IF DEF PROC LN .CHAR LN X
ERROR LN XERROR LN XERROR LN X
ERROR ?<=PRESS ENTER TO BEGIN GA
ME PLAY??)Vñ4 LN IF DEF PROC LN
.CHAR LN PICURSOR LN Eú5! 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 5ó 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 OFFñEND PROC LN OFF
DPOKE 5! LN UNTIL DEF PROC 5ñ 
GOSUB UNDRAW  READ DùFAST 5ô 
SGN FOR LN OFFDPOKE 5ò GOSUB
UNDRAW  READ DùFAST 5ú SGN FOR
LN OFFDPOKE 5ó GOSUB UNDRAW  
READ DùFAST 5ô SGN FOR LN OFF
DPOKE 5ô GOSUB UNDRAW  READ Dù
FAST 5+ SGN FOR LN OFFDPOKE 5õ 
GOSUB UNDRAW  READ DùFAST 5) 
SGN FOR LN OFFDPOKE 5ö GOSUB
UNDRAW  READ DùFAST 5ú SGN FOR
LN OFFDPOKE 5÷ GOSUB UNDRAW  
READ DùFAST 5) SGN FOR LN OFF
DPOKE 5! GOSUB UNDRAW  READ Dù
FAST 5+ SGN FOR LN OFFDPOKE 5  
FAST 5+ SGN 7GOSUB DO ´READ 6¶
READ E´READ FAST 5  SGN CALL
EDIT LN PRINT !?"DO  )úDO ññ LN
IF DEF PROC 53 LN RUN ERROR ?2
DO  )1DO ññ LN IF DEF PROC 5  
FAST E´READ SGN CALL EDIT LN
PRINT !?INKEY$DO           )RDO
ñú LN IF DEF PROC 5+ FAST
READ SGN CALL EDIT LN PRINT !?
HOME DO           )RESEQ DO ñú 
LN IF DEF PROC 5ñ FAST 5ñ SGN
CALL EDIT LN PRINT !?ññ LN IF
DEF PROC 5ñ FAST 52 SGN CALL
EDIT LN PRINT !?/DO  )*DO ññ LN
IF DEF PROC 5= FAST 5ñ SGN CALL
EDIT LN PRINT !?MDO  )LDO ññ LN
IF DEF PROC 5= FAST 52 SGN CALL
EDIT LN PRINT !?ATN DO  )ACS DO
ññ LN IF DEF PROC LN .CHAR E´
READ 76´READ GOSUB OFF¶READ B
GOSUB DELETE IF IF DELETE 5< 
FAST 5? SGN CALL EDIT LN PRINT !
?CLS DO !!)RAND DO ñò LN IF
DEF PROC 5ò FAST 5? SGN CALL
EDIT LN PRINT !?-LOOP !!)=LOOP ñ
ò LN IF DEF PROC 5ó FAST 5õ SGN
CALL EDIT LN PRINT !?LLOOP !!)J
LOOP ñò LN IF DEF PROC 5? LN
RUN ERROR ?DPOKE LOOP !!)CALL
LOOP ñò LN IF DEF PROC 5; LN
RUN ERROR ?INDENT LOOP !!)WHILE
LOOP ñò LN IF DEF PROC 5ô FAST 5
õ SGN CALL EDIT LN PRINT !??
LOOP !!)?LOOP ñò LN IF DEF PROC
5; LN RUN ERROR ?¸LOOP !!)¶LOOP
ñò LN IF DEF PROC 5õ FAST 5õ 
SGN CALL EDIT LN PRINT !?7LOOP !
!)5LOOP ñò LN IF DEF PROC 5; LN
RUN ERROR ?RLOOP !!)PLOOP ñò LN
IF DEF PROC 5ö FAST 5õ SGN CALL
EDIT LN PRINT !?ABS LOOP !!)SQR
LOOP ñò LN IF DEF PROC 5; LN
RUN ERROR ?NEW LOOP !!)SLOW
LOOP ñò LN IF DEF PROC 5ù FAST 5
SGN CALL EDIT LN PRINT !?ñ
EXIT !!)COPY LOOP ñò LN IF
DEF PROC 5ú FAST 5ñ SGN CALL
EDIT LN PRINT !?0EXIT !!),EXIT ñ
ò LN IF DEF PROC 5: LN RUN
ERROR ?MEXIT !!!!)IEXIT ñô LN
IF DEF PROC 51 LN RUN ERROR ?
ERROR EXIT !!)ERR MSGS EXIT ñò 
LN IF DEF PROC 5" FAST 5ñ SGN
CALL EDIT LN PRINT !?USER EXIT !
!)READ EXIT ñò LN IF DEF PROC 5:
 LN RUN ERROR ??EXIT !!!!)?EXIT
ñô LN IF DEF PROC 51 LN RUN
ERROR ?"EXIT !!)¹EXIT ñò LN IF
DEF PROC 5£ FAST 5? SGN CALL
EDIT LN PRINT !?AEXIT !!)8EXIT ñ
ò LN IF DEF PROC 5? FAST 5õ SGN
CALL EDIT LN PRINT !?AT EXIT !!)
ZEXIT ñò LN IF DEF PROC 5; LN
RUN ERROR ?STR$ EXIT !!)PEEK
EXIT ñò LN IF DEF PROC 5( FAST 5
õ SGN CALL EDIT LN PRINT !?LIST
EXIT !!)INPUT EXIT ñò LN IF
DEF PROC 5; LN RUN ERROR ?ô
UNTIL !!)òUNTIL ñò LN IF
DEF PROC 5) FAST 5õ SGN CALL
EDIT LN PRINT !?3UNTIL !!)1
UNTIL ñò LN IF DEF PROC 5; LN
RUN ERROR ?NUNTIL !!)LUNTIL ñò 
LN IF DEF PROC 5> FAST 5õ SGN
CALL EDIT LN PRINT !?AUTO UNTIL
!!)PROTECT UNTIL ñò LN IF
DEF PROC 5? LN RUN ERROR ?*
UNTIL !!)NOSTALGIC UNTIL ñò LN
IF DEF PROC 5; LN RUN ERROR ?
22024 ?UNTIL ñò LN IF DEF PROC
LN .CHAR E?READ FAST E?READ SGN
CALL EDIT LN PRINT !?<UNTIL X)>
UNTIL ññ 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 !?ATN
UNTIL -)ACS UNTIL ññ 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 ññ LN LINE TRACE LN
XAUTO LN 2AUTO TAB /WHILE E?
READ FAST 5ñ SGN BFOR GOSUB
DELETE 6?READ LN NOSTALGIC
TRACE LN RNDTRACE LN LINE TRACE
LN NAUTO ?CWHILE 6)BWHILE ññ LN
LINE TRACE LN XAUTO LN 2AUTO
TAB ERROR WHILE E?READ FAST 5ñ 
SGN ;6?READ LN NOSTALGIC TRACE
LN RNDTRACE LN LINE TRACE LN N
AUTO ?UNTIL WHILE 5)EXIT WHILE ñ
ñ LN LINE TRACE LN XAUTO LN 2
AUTO TAB ?WHILE E?READ FAST 5ñ 
SGN BFOR GOSUB DELETE 6?READ LN
NOSTALGIC TRACE LN RNDTRACE LN
LINE TRACE LN NAUTO ?·WHILE 8)¶
WHILE ññ LN LINE TRACE LN XAUTO
LN 2AUTO TAB 9WHILE E?READ FAST
5ñ SGN ;6?READ 5ñ FAST 5÷ SGN 7
GOSUB DO ¸READ 6ºREAD E¸READ
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE ASN ABS WHILE
?òWHEN 5  FAST 5M SGN 7GOSUB DO
£READ 6:READ 5ñ LN ?UNDRAW LN
LIST DRAW 6(READ E£READ 76£READ
GOSUB OFF:READ BGOSUB DELETE IF
LLIST WHILE ?POKE INDENT E¸READ
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST
READ FAST 5ñ SGN ;GOSUB UNDRAW  
READ DùSTR$ LN NOSTALGIC DPOKE
FOR SGN SGN CALL EDIT LN PRINT !
?LWHEN O)KWHEN ññ LN IF
DEF PROC LN ARNDFAST 5COPY ZSGN
BGOSUB DELETE PAUSE UNDRAW WHEN
? TO WHEN LN ARNDFAST 5COPY Z
SGN BGOSUB DELETE PAUSE BWHEN E¸
READ FAST 5ñ SGN ;GOSUB UNDRAW  
READ DùFAST E¸READ FAST 5ñ SGN ;
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST E?
READ FAST E¸READ FAST 5ñ SGN ;
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN B
FOR GOSUB DELETE LN LIST DRAW
SGN ;SGN FOR LN OFFDPOKE E¸READ
GOSUB UNDRAW  READ DùFAST
READ GOSUB UNDRAW  READ DùSTR$
LN NOSTALGIC DPOKE FOR SGN FAST
LN ARNDFAST 5EESGN LN CLEAR
DEF PROC FAST 5ñ SGN BFOR GOSUB
DELETE SGN ;SGN FOR LN OFFDPOKE
?CLR STACK INDENT LN ARNDFAST 5
COPY ZSGN BGOSUB DELETE PAUSE D
INDENT E¸READ GOSUB UNDRAW  
READ DùFAST E¸READ GOSUB UNDRAW
 READ DùSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST E?READ FAST E¸READ
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN B
FOR GOSUB DELETE LN LIST DRAW
SGN ;SGN FOR LN OFFDPOKE E¸READ
FAST 5ñ SGN ;GOSUB UNDRAW  READ
FAST E¸READ FAST 5ñ SGN ;
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST LN
ARNDFAST 5EESGN LN CLEAR
DEF PROC FAST 5ñ SGN BFOR GOSUB
DELETE SGN ;SGN FOR LN OFFDPOKE
E¸READ GOSUB UNDRAW  READ Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST E¸READ FAST 5ñ SGN ;GOSUB
UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN
CALL EDIT LN PRINT !LN 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 E¸READ GOSUB
UNDRAW  READ DùFAST 5  SGN FOR
LN OFFDPOKE ?<=INDENT 0) AND
INDENT ññ LN IF DEF PROC ?POKE
INDENT ?FOR INDENT O)REM INDENT
ññ LN IF DEF PROC E¸READ FAST
 SGN ;6¸READ E¸READ 76¸READ
GOSUB OFFºREAD BGOSUB DELETE IF
PWHILE E?READ FAST E?READ SGN
CALL EDIT LN PRINT !LN 5CURSOR E
=READ FAST 5  SGN BGOSUB DELETE
ASN RNDRESEQ E=READ FAST 5X SGN
BGOSUB DELETE ASN RNDRESEQ ?*
CURSOR EPOP READ FAST 5ñ SGN ;6
POP READ 5ñ GOSUB UNDRAW  READ D
ùSTR$ LN NOSTALGIC DPOKE FOR
SGN FAST 5  SGN BGOSUB DELETE
TAB RRESEQ 5ó GOSUB UNDRAW  
READ DùSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST 5  SGN BGOSUB
DELETE TAB RRESEQ 5õ GOSUB
UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE TAB RRESEQ 5÷ 
GOSUB UNDRAW  READ DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE TAB RRESEQ ?U
RESEQ ??UNTIL 5  FAST 5  SGN
CALL EDIT LN PRINT !?CLR STACK
OFF *** YOU COMPLETED A LEVEL  *
**                              
    **** BONUS POINTS AWARDED **
**                              
   . PRESS ANY KEY TO CONTINUE O
N .)ASN RESEQ ñ4 LN IF DEF PROC
LN .CHAR EPOP READ FAST 5(ñFAST
LN ARNDFAST 5 ñSGN LN CLEAR
DEF PROC FAST 5HOME  SGN ;
ERR MSGS EDIT LPRINT SGN ;FAST
PUSH NOSTALGIC SGN ;6POP READ 5ó
 FAST 5ú SGN CALL EDIT LN PRINT
!?NOFFSCORE: )GOFFñ÷ LN IF
DEF PROC EPOP READ LN INPUT
DEF PROC LN .CHAR EELSE READ
FAST 5  SGN BGOSUB DELETE PAUSE
LLIST OFFEELSE READ FAST 5ñ SGN
BFOR GOSUB DELETE 6ELSE READ LN
PICURSOR LN Eú?GOSUB 5  FAST E
ELSE READ FAST 5COS  SGN LN )
TRACE SGN 7GOSUB DO £READ 6:
READ 5ñ LN ?UNDRAW LN LIST DRAW
6(READ E£READ 76£READ GOSUB OFF:
READ BGOSUB DELETE IF óCURSOR
TAN 5:RND ñFAST 5?RND)TRACE SGN
;READ TAN 5õ LN =RNDLN
NOSTALGIC TRACE LN RNDTRACE LN
LINE TRACE LN NAUTO ?WHILE
CURSOR )WHILE CURSOR ñ  LN LINE
TRACE LN XAUTO LN 2AUTO ASN
ELSE CURSOR ?PICURSOR 5M LN =RND
LN NOSTALGIC TRACE LN RNDTRACE
LN LINE TRACE LN NAUTO ?±CURSOR
)±CURSOR ñ  LN LINE TRACE LN X
AUTO LN 2AUTO TAB -CURSOR ?ELSE
CURSOR TAN LN LN XERROR LN X
ERROR LN XERROR LN XERROR ?D
DATA   ² ·  õµ õö ²ö ²óô·öó  ±² 
±² ±² ²² öµ  µ    ²³  ³ñ²³ô  ´÷ 
´÷ ´÷ õµõõö õ  õõ õò õõ   µ  òñ 
òñ òñ  ó    õµ õµ ÷¶ õµ ¶³ö  µõ 
µõ µõ)DCURSOR ñ  LN IF DEF PROC
LN .CHAR ?/DATA ¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸  BY:  S T E V E
 N  R E I D **  ¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸)SDATA ñ
NOSTALGIC  LN IF DEF PROC LN .
CHAR LN XERROR LN XERROR LN X
ERROR LN XERROR ?PEEK DATA    **
**YOU"VE BEEN BONKED****   )N
DATA ñ4 LN IF DEF PROC LN .CHAR
LN XERROR LN XERROR ?!RESTORE   
 YOU SCORED                   )
CONT DATA ñ4 LN IF DEF PROC LN .
CHAR 5ñ GOSUB UNDRAW  READ Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5  SGN BGOSUB DELETE TAB U
RESTORE EPOP READ FAST 5HOME  
SGN ;6POP READ 5ó GOSUB UNDRAW  
READ DùSTR$ LN NOSTALGIC DPOKE
FOR SGN FAST 5  SGN BGOSUB
DELETE TAB NOSTALGIC RESTORE E
POP READ FAST 5HOME  SGN ;6POP
READ 5õ GOSUB UNDRAW  READ Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5  SGN BGOSUB DELETE TAB
RESTORE EPOP READ FAST 5HOME  
SGN ;6POP READ 5÷ GOSUB UNDRAW  
READ DùSTR$ 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 !
EPOP READ LN INPUT DEF PROC ?
ACS RESTORE  POINTS**)TAB
RESTORE ñù LN IF DEF PROC LN .
CHAR 5$ FAST 5? SGN CALL EDIT
LN PRINT !LN 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 !LN X
ERROR LN XERROR LN XERROR LN X
ERROR ?DRAW READ PRESS ENTER TO 
PLAY GAME AGAIN..)EREAD ñ4 LN
IF DEF PROC LN .CHAR LN PI
CURSOR LN Eú?0END PROC TAN $    
                                
                   ú óWHEN  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 ,,,,"  ² ·  õµ õö ²ö 
²óô·öó  ±² ±² ±² ²² öµ  µ    ²³ 
 ³ñ²³ô  ´÷ ´÷ ´÷ õµõõö õ  õõ õò 
õõ   µ  òñ òñ òñ  ó    õµ õµ ÷¶ 
õµ ¶³ö  µõ µõ µõ"
  40 PRINT "¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸  BY:  S T E V E N  
R E I D **  ¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸"
  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;"!!";AT 2,15
;"!!";AT 3,5;"!!";TAB 15;"!!";
TAB 25;"!!";AT 4,5;"!!";TAB 25;"
!!";AT 5,5;"!!";TAB 25;"!!";AT 6
,5;"!!";TAB 25;"!!";AT 9,15;"!!"
;AT 10,1;"!!";TAB 14;"!!!!";TAB
29;"!!";AT 11,1;"!!";TAB 14;"!!!
!";TAB 29;"!!";AT 12,15;"!!";AT
15,5;"!!";TAB 25;"!!";AT 16,5;"!
!";TAB 25;"!!";AT 17,5;"!!";TAB
25;"!!";AT 18,5;"!!";TAB 15;"!!"
;TAB 25;"!!"
 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 ,,,,"  ² ·  õµ õö ²ö 
²óô·öó  ±² ±² ±² ²² öµ  µ    ²³ 
 ³ñ²³ô  ´÷ ´÷ ´÷ õµõõö õ  õõ õò 
õõ   µ  òñ òñ òñ  ó    õµ õµ ÷¶ 
õµ ¶³ö  µõ µõ µõ"
 620 PRINT "¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸  BY:  S T E V E N  
R E I D **  ¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸
¸¸¸¸¸¸¸¸¸¸¸¸"
 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