ZX81 Programs


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

ZX81 Program Listing

**E.T.**SLR/1985-2012** (etmc.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 26324
VARS  : 27117
E-LINE: 27118
STKBOT: 27118
STKEND: 27118


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 ?7RND5   <<
32997 
   2 REM
30241 :<LN ATN DEF PROC 5R76DIM
BREAK 5M 6GOSUB BREAK 5  FAST 5+
 SGN 7GOSUB DO LET BREAK 6NEXT
BREAK ELET BREAK FAST 5  SGN
CALL EDIT LN PRINT A?TRACE
END PROC  ) END PROC 11 LN IF
DEF PROC ELET BREAK FAST 53 SGN
CALL EDIT LN PRINT A?ONEND PROC
 )*END PROC 11 LN IF DEF PROC 5 
 FAST ELET BREAK SGN CALL EDIT
LN PRINT A?YEND PROC           )
?END PROC 1S LN IF DEF PROC 5+ 
FAST ELET BREAK SGN CALL EDIT
LN PRINT A?DEND PROC           )
3END PROC 1S LN IF DEF PROC 57 
FAST 55 SGN CALL EDIT LN PRINT A
?VAL END PROC QPW)TAB END PROC 1
7 LN IF DEF PROC 54 FAST 55 SGN
CALL EDIT LN PRINT A?LPRINT
END PROC 271) THEN END PROC 17 
LN IF DEF PROC 55 FAST 5" SGN
CALL EDIT LN PRINT A?CLEAR
END PROC QPW)IF END PROC 17 LN
IF DEF PROC 5T FAST 5" SGN CALL
EDIT LN PRINT A?;271)-17 LN IF
DEF PROC 5A FAST 54 SGN CALL
EDIT LN PRINT A?PQPW)M17 LN IF
DEF PROC 5D FAST 54 SGN CALL
EDIT LN PRINT A?271)AUTO 17 LN
IF DEF PROC 5$ FAST 55 SGN CALL
EDIT LN PRINT A?END WHEN QPW)
CLR STACK 17 LN IF DEF PROC 5: 
FAST 55 SGN CALL EDIT LN PRINT A
?G271)Y17 LN IF DEF PROC 5) 
FAST 57 SGN CALL EDIT LN PRINT A
?9QPW)617 LN IF DEF PROC 5> 
FAST 57 SGN CALL EDIT LN PRINT A
?AT 271)Y17 LN IF DEF PROC 5> 
FAST 5D SGN CALL EDIT LN PRINT A
?<>QPW) AND 17 LN IF DEF PROC 5<
 FAST 5D SGN CALL EDIT LN PRINT
A?RAND 271)PLOT 17 LN IF
DEF PROC LN .CHAR ELET BREAK 76
LET BREAK GOSUB OFFNEXT BREAK B
GOSUB DELETE IF SEND PROC 54 
FAST 5A SGN 7GOSUB DO LET BREAK
6NEXT BREAK 5£ FAST 5; SGN CALL
EDIT LN PRINT A?WDELETE HHHHHH)Q
DELETE 1T LN IF DEF PROC 51 
FAST 5; SGN CALL EDIT LN PRINT A
?OFFDELETE  ENRG:)EXIT DELETE 1T
 LN IF DEF PROC 52 FAST 5; SGN
CALL EDIT LN PRINT A??DELETE  
  <)?DELETE 1T LN IF DEF PROC 57
 FAST 5; SGN CALL EDIT LN PRINT
A?;DELETE       )<DELETE 1T LN
IF DEF PROC ELET BREAK FAST 5; 
SGN CALL EDIT LN PRINT A?S
DELETE A    A)MDELETE 1T LN IF
DEF PROC 5D FAST 5; SGN CALL
EDIT LN PRINT A?NOT DELETE AAAAA
A)SGN DELETE 1T LN IF DEF PROC 5
S FAST 5; SGN CALL EDIT LN
PRINT A?PLOT DELETE H   TE)LIST
DELETE 1T LN IF DEF PROC 5" 
FAST 5; SGN CALL EDIT LN PRINT A
?+DO H   LP)?DO 1T LN IF
DEF PROC LN .CHAR ELET BREAK 76
LET BREAK GOSUB OFFNEXT BREAK B
GOSUB DELETE IF ADELETE 5? FAST
51 SGN CALL EDIT LN PRINT A?
CALL DO 6)PIDO 11 LN IF
DEF PROC 5( FAST 50 SGN CALL
EDIT LN PRINT A?READ DO Q W)
CURSOR DO 17 LN IF DEF PROC 5) 
FAST 50 SGN CALL EDIT LN PRINT A
??DO  H )?DO 17 LN IF DEF PROC 5
FAST 50 SGN CALL EDIT LN
PRINT A?*DO    )=DO 17 LN IF
DEF PROC LN .CHAR 5+ FAST 5  
SGN CALL EDIT LN PRINT A?PEEK
DO PRESS ENTER TO BEGIN GAME PLA
Y**)NDO 1LN IF DEF PROC 5  
FAST 5  SGN CALL EDIT LN PRINT A
?GOTO DO )GOTO DO 1  LN IF
DEF PROC LN .CHAR 54?LN =RNDLN
NOSTALGIC TRACE LN RNDTRACE LN
LINE TRACE LN NAUTO ?$LOOP )$
LOOP 1  LN LINE TRACE LN XAUTO
LN 2AUTO TAB 6LOOP ?SAVE DO 5+ 
FAST 5  SGN CALL EDIT LN PRINT A
?DELETE LOOP                    
             )MLOOP 1LN IF
DEF PROC 5  FAST 5  SGN CALL
EDIT LN PRINT A?DUP LOOP )DUP
LOOP 1  LN IF DEF PROC LN .CHAR
51 FAST 5) SGN CALL EDIT LN
PRINT A?FLOOP EKR)ELOOP 17 LN
IF DEF PROC LN .CHAR LN YBREAK 5
1 FAST 5) SGN CALL EDIT LN
PRINT A?GLOOP E 4)DLOOP 17 LN
IF DEF PROC 52 FAST 5) SGN CALL
EDIT LN PRINT A?COS LOOP EKR)
VAL LOOP 17 LN IF DEF PROC LN .
CHAR LN YBREAK 51 FAST 5" SGN 7
GOSUB DO LET BREAK 6NEXT BREAK E
LET BREAK FAST 52 SGN ;FAST 5) 
SGN CALL EDIT LN PRINT A? EXIT E
KR)CLEAR LOOP 17 LN IF DEF PROC
ELET BREAK FAST 51 SGN ;FAST 5) 
SGN CALL EDIT LN PRINT A?6EXIT E
 4)3EXIT 17 LN IF DEF PROC ELET
BREAK FAST 5) SGN CALL EDIT LN
PRINT A?YEXIT    )VEXIT 17 LN
IF DEF PROC LN .CHAR LN YBREAK E
LET BREAK 76LET BREAK GOSUB OFF
NEXT BREAK BGOSUB DELETE IF
SCROLL LOOP LN YBREAK LN YBREAK
5£ FAST 5) SGN CALL EDIT LN
PRINT A??EXIT    )?EXIT 17 LN
IF DEF PROC 5$ FAST 5) SGN CALL
EDIT LN PRINT A?<EXIT    )(EXIT
17 LN IF DEF PROC 5> FAST 51 
SGN CALL EDIT LN PRINT A?HEXIT K
)GEXIT 11 LN IF DEF PROC LN .
CHAR 5> 6PRINT BREAK 51 6RAND
BREAK 5  6CLEAR BREAK EPRINT
BREAK 61DPEEK ERAND BREAK 65
DPEEK 5  6DDPEEK 5  6$DPEEK LN A
RNDFAST 5**DSGN LN CLEAR
DEF PROC FAST 5A SGN ;6)DPEEK
LN ARNDFAST 5COPY ?SGN LN CLEAR
DEF PROC FAST 5: SGN ;6GOSUB
BREAK EPRINT BREAK FAST ERAND
BREAK SGN CALL EDIT LN PRINT A?0
UNTIL K).UNTIL 11 LN IF
DEF PROC LN .CHAR E1DPEEK FAST E
PRINT BREAK SGN BGOSUB DELETE
ASN DO UNTIL E1DPEEK FAST E5
DPEEK SGN CALL EDIT LN PRINT A?
CHAR UNTIL  )ERROR UNTIL 11 LN
IF DEF PROC LN .CHAR E5DPEEK
FAST ERAND BREAK SGN BGOSUB
DELETE ASN E5DPEEK SGN CALL
EDIT LN PRINT A??UNTIL  )?UNTIL
11 LN IF DEF PROC LN .CHAR E
PRINT BREAK 61DPEEK ERAND BREAK
65DPEEK LN YBREAK 5+DPEEK LN
SAVE CHAR LN NOSTALGIC TRACE LN
RNDTRACE LN LINE TRACE 5+DPEEK
LN ?TRACE LN NOSTALGIC TRACE 5+
DPEEK LN SAVE CHAR 5+DPEEK LN H
CHAR LN LINE TRACE LN NAUTO ?V
UNTIL A)UUNTIL 11 LN LINE TRACE
LN XAUTO LN 2AUTO TAB >=UNTIL E
PRINT BREAK FAST 51 SGN BFOR
GOSUB DELETE 6PRINT BREAK LN
NOSTALGIC TRACE 5+DPEEK LN SAVE
CHAR 5+DPEEK LN HCHAR LN LINE
TRACE LN NAUTO ?PRINT UNTIL Z)
POKE UNTIL 11 LN LINE TRACE LN X
AUTO LN 2AUTO TAB <WHILE EPRINT
BREAK FAST 51 SGN ;6PRINT BREAK
LN NOSTALGIC TRACE 5+DPEEK LN
SAVE CHAR 5+DPEEK LN HCHAR LN
LINE TRACE LN NAUTO ?GWHILE N)F
WHILE 11 LN LINE TRACE LN XAUTO
LN 2AUTO TAB EDIT WHILE ERAND
BREAK FAST 51 SGN BFOR GOSUB
DELETE 6RAND BREAK LN NOSTALGIC
TRACE 5+DPEEK LN SAVE CHAR 5+
DPEEK LN HCHAR LN LINE TRACE LN
NAUTO ?DPEEK WHILE M)BREAK
WHILE 11 LN LINE TRACE LN XAUTO
LN 2AUTO TAB RWHILE ERAND BREAK
FAST 51 SGN ;6RAND BREAK LN
NOSTALGIC TRACE 5+DPEEK LN SAVE
CHAR 5+DPEEK LN HCHAR LN LINE
TRACE LN NAUTO ?1WHILE E)0WHILE
11 LN LINE TRACE LN XAUTO LN 2
AUTO TAB SWHILE 5>=£LN PUSH
DRAW 6;DPEEK EPRINT BREAK FAST E
RAND BREAK SGN CALL EDIT LN
PRINT A5:RND 1FAST 5?RND)TRACE
SGN ;DPEEK E1DPEEK FAST 5  SGN B
GOSUB DELETE TAB PLOT WHILE ?
CLR STACK WHEN E1DPEEK FAST 5K 
SGN BGOSUB DELETE TAB EWHEN ?
CLR STACK WHEN E1DPEEK FAST 5* 
SGN BGOSUB DELETE TAB /WHEN ?
CLR STACK WHEN E1DPEEK FAST E5
END PROC FAST ?8WHEN P)7WHEN 11 
LN LINE TRACE SGN LN >DRAW SGN B
GOSUB DELETE TAB VWHEN LN
ERR MSGS OFFE1DPEEK FAST E5
END PROC FAST ?CHAR WHEN H)
ERROR WHEN 11 LN LINE TRACE SGN
LN >DRAW SGN BGOSUB DELETE TAB
RESTORE WHEN LN SREAD E1DPEEK 6
PRINT BREAK E5DPEEK 6RAND BREAK
E1DPEEK FAST E5END PROC FAST ?
22709 WHEN 11 LN LINE TRACE SGN
LN >DRAW SGN BGOSUB DELETE ASN ;
WHEN EDIM BREAK FAST 51 SGN B
FOR GOSUB DELETE 6DIM BREAK 52 
FAST 5. SGN CALL EDIT LN PRINT A
EDIM BREAK LN INPUT DEF PROC E
DIM BREAK FAST 5HOME  SGN B
GOSUB DELETE ASN ASN WHEN IF
ASN WHEN ?AT WHEN  )""WHEN 11 
LN IF DEF PROC EPRINT BREAK
FAST E)DPEEK FAST 51 SGN BFOR
GOSUB DELETE SGN BGOSUB DELETE
TAB SAVE WHEN ERAND BREAK FAST E
GOSUB BREAK FAST 51 SGN ;SGN B
GOSUB DELETE TAB SAVE WHEN ?D
INDENT EDDPEEK FAST 52 SGN B
GOSUB DELETE ASN DINDENT ?C
INDENT E)DPEEK FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?0
INDENT SAS);INDENT 17 LN IF
DEF PROC LN .CHAR EPRINT BREAK
FAST E)DPEEK SGN BGOSUB DELETE
TAB WHEN INDENT ERAND BREAK
FAST 5/ SGN BGOSUB DELETE TAB
WHEN INDENT EDDPEEK FAST 5  SGN
BGOSUB DELETE TAB WHEN INDENT 51
 6DDPEEK ERAND BREAK FAST E
GOSUB BREAK SGN BGOSUB DELETE
TAB HINDENT EPRINT BREAK FAST 5=
 SGN BGOSUB DELETE TAB HINDENT E
DDPEEK FAST 51 SGN BGOSUB
DELETE TAB HINDENT 52 6DDPEEK E
DIM BREAK FAST 5  SGN BGOSUB
DELETE TAB 5RESEQ EPRINT BREAK
FAST ERAND BREAK SGN CALL EDIT
LN PRINT A?BINDENT -)AINDENT 11 
LN IF DEF PROC 5+ FAST 5  SGN
CALL EDIT LN PRINT A? STEP
INDENT NO ENERGY...YOU DIED*****
*******)""INDENT 1LN IF
DEF PROC 5  FAST 5  SGN CALL
EDIT LN PRINT A?RAND INDENT )
RAND INDENT 1  LN IF DEF PROC
LN .CHAR EDIM BREAK FAST 5  SGN
BGOSUB DELETE TAB 0RESEQ 5>=£LN
PUSH DRAW 6;DPEEK ECLEAR BREAK
FAST 5  SGN BGOSUB DELETE PAUSE
HRESEQ LN ?READ LN ARNDFAST 5(
WHEN RESEQ 55 FAST 5< SGN CALL
EDIT LN PRINT A?PROTECT RESEQ *)
UNDRAW RESEQ 11 LN IF DEF PROC
LN .CHAR LN ARNDFAST 5(6RESEQ 5"
 FAST 5+ SGN CALL EDIT LN PRINT
A??RESEQ *)
23041 LN IF DEF PROC LN .CHAR LN
ARNDFAST 5(IRESEQ 5£ FAST 5E 
SGN CALL EDIT LN PRINT A?6RESEQ
*)5RESEQ 11 LN IF DEF PROC LN .
CHAR LN ARNDFAST 5( OR RESEQ 5( 
FAST 5£ SGN CALL EDIT LN PRINT A
?LN RESEQ *)ATN RESEQ 11 LN IF
DEF PROC LN .CHAR LN ARNDFAST 5(
4OFF5> FAST 5- SGN CALL EDIT LN
PRINT A?SAVE RESEQ *)RUN RESEQ 1
1 LN IF DEF PROC LN .CHAR E1
DPEEK FAST E5END PROC FAST ?(OFF
*)?OFF11 LN LINE TRACE SGN LN >
DRAW SGN BGOSUB DELETE TAB
INKEY$OFFEDIM BREAK FAST 5?7SGN
BGOSUB DELETE ASN INKEY$OFFIF
INKEY$OFFEDIM BREAK FAST 5S SGN
;6DIM BREAK ?"UNTIL LN ARNDFAST
5TRACE >SGN LN CLEAR DEF PROC 65
DPEEK 54 FAST 5A SGN 7GOSUB DO
LET BREAK 6NEXT BREAK ELET
BREAK FAST 54 SGN BGOSUB DELETE
PAUSE -OFFELET BREAK FAST 51 
SGN BFOR GOSUB DELETE FAST 51 
SGN CALL EDIT LN PRINT A?FOFF )G
OFF11 LN IF DEF PROC LN .CHAR E
LET BREAK FAST 51 SGN CALL EDIT
LN PRINT A?BOFFK)AOFF11 LN IF
DEF PROC LN .CHAR 51 69DPEEK E
LET BREAK 76LET BREAK GOSUB OFF
NEXT BREAK BGOSUB DELETE IF *OFF
E5DPEEK FAST 51 SGN BGOSUB
DELETE TAB ?CURSOR 5E FAST 5. 
SGN CALL EDIT LN PRINT A?DIM OFF
-)CONT OFF11 LN IF DEF PROC 5A 
FAST 5. SGN CALL EDIT LN PRINT A
?7CURSOR /)2CURSOR 11 LN IF
DEF PROC LN .CHAR E5DPEEK FAST 5
2 SGN BGOSUB DELETE TAB UCURSOR
5A FAST 5. SGN CALL EDIT LN
PRINT A?ICURSOR X)HCURSOR 11 LN
IF DEF PROC LN .CHAR E5DPEEK
FAST 57 SGN BGOSUB DELETE TAB
BREAK CURSOR 5A FAST 5. SGN
CALL EDIT LN PRINT A?INDENT
CURSOR 0)WHEN CURSOR 11 LN IF
DEF PROC LN .CHAR E5DPEEK FAST 5
4 SGN BGOSUB DELETE ASN ?CURSOR
IF ?CURSOR ?IF CURSOR E$DPEEK
FAST 5  SGN BGOSUB DELETE TAB 8
CURSOR 5A FAST 5. SGN CALL EDIT
LN PRINT A?/CURSOR Y)*CURSOR 11 
LN IF DEF PROC LN .CHAR E$DPEEK
FAST 51 SGN BGOSUB DELETE TAB
INT CURSOR 5A FAST 5. SGN CALL
EDIT LN PRINT A??CURSOR F)TAB
CURSOR 11 LN IF DEF PROC LN .
CHAR E$DPEEK FAST 52 SGN BGOSUB
DELETE TAB IF CURSOR 5A FAST 5. 
SGN CALL EDIT LN PRINT A?INPUT
CURSOR T)GOSUB CURSOR 11 LN IF
DEF PROC LN .CHAR EDIM BREAK
FAST 51 SGN BFOR GOSUB DELETE 6
DIM BREAK LN NOSTALGIC TRACE LN
RNDTRACE LN LINE TRACE LN NAUTO
?;DATA N)/DATA 11 LN LINE TRACE
LN XAUTO LN 2AUTO TAB LDATA 50 6
9DPEEK LN NOSTALGIC TRACE LN RND
TRACE LN LINE TRACE LN NAUTO ?
INKEY$DATA A)RNDDATA 11 LN LINE
TRACE LN XAUTO LN 2AUTO TAB
UNTIL DATA ?CRESTORE 52 FAST 5. 
SGN CALL EDIT LN PRINT AEDIM
BREAK LN INPUT DEF PROC EDIM
BREAK FAST 5HOME  SGN BGOSUB
DELETE ASN FDATA IF FDATA ?11 
LN IF DEF PROC LN .CHAR E9DPEEK
FAST 50 SGN BGOSUB DELETE TAB P
DATA 5A FAST 51 SGN CALL EDIT
LN PRINT A?DDATA  )CDATA 11 LN
IF DEF PROC LN .CHAR 5A FAST E9
DPEEK SGN CALL EDIT LN PRINT A?
LEN DATA K)VAL DATA 11 LN IF
DEF PROC LN .CHAR E9DPEEK FAST 5
SGN BGOSUB DELETE TAB 9
RESTORE E5DPEEK FAST 51 SGN B
GOSUB DELETE TAB 9RESTORE 5E 
FAST 5. SGN CALL EDIT LN PRINT A
?COPY DATA *)RETURN DATA 11 LN
IF DEF PROC 5A FAST 5. SGN CALL
EDIT LN PRINT A?;RESTORE T)/
RESTORE 11 LN IF DEF PROC LN .
CHAR ?IF CURSOR E5DPEEK FAST 51 
SGN BGOSUB DELETE TAB DRAW
RESTORE E9DPEEK FAST 50 SGN B
GOSUB DELETE TAB DRAW RESTORE 5R
76DIM BREAK E5DPEEK FAST 52 SGN
BGOSUB DELETE ASN OFFRESTORE ?R
RESTORE EDIM BREAK FAST 5ON SGN
BGOSUB DELETE PAUSE ELSE
RESTORE ??RESTORE 5  6DIM BREAK
?RRESTORE EDIM BREAK FAST 5HOME
 SGN BFOR GOSUB DELETE 6DIM
BREAK E5DPEEK FAST 57 SGN B
GOSUB DELETE TAB JRESTORE EDIM
BREAK FAST 5?7SGN BGOSUB DELETE
ASN JRESTORE IF JRESTORE EDIM
BREAK FAST 5= SGN ;6DIM BREAK 5E
 FAST 5. SGN CALL EDIT LN PRINT
A?TAB RESTORE    )ZRESTORE 17 
LN IF DEF PROC 5A FAST 5. SGN
CALL EDIT LN PRINT A? THEN
RESTORE    )<=RESTORE 17 LN IF
DEF PROC LN .CHAR E9DPEEK FAST 5
SGN BGOSUB DELETE TAB DREAD E5
DPEEK FAST 57 SGN BGOSUB DELETE
PAUSE DREAD ?NOSTALGIC *TAN E$
DPEEK FAST 57 SGN BGOSUB DELETE
TAB GREAD ECLEAR BREAK FAST 5  
SGN BGOSUB DELETE TAB GREAD 51 6
CLEAR BREAK E$DPEEK FAST 57 SGN
BGOSUB DELETE ASN YREAD IF Y
READ TAN 5S FAST 5, SGN CALL
EDIT LN PRINT A?DO READ E4TIH)
AUTO READ 15 LN IF DEF PROC 5" 
FAST 5, SGN CALL EDIT LN PRINT A
??READ 21MEH)ELSE READ 15 LN IF
DEF PROC LN .CHAR ECLEAR BREAK
FAST 51 SGN BGOSUB DELETE TAB C
READ 5S FAST 5. SGN CALL EDIT
LN PRINT A?0READ 5).READ 11 LN
IF DEF PROC LN .CHAR ECLEAR
BREAK FAST 51 SGN ;6CLEAR BREAK
ECLEAR BREAK FAST 55 SGN BGOSUB
DELETE TAB TO READ 5S FAST 5. 
SGN CALL EDIT LN PRINT A?PEEK
READ T)ABS READ 11 LN IF
DEF PROC LN .CHAR ECLEAR BREAK
FAST 5S SGN BGOSUB DELETE TAB S
NOSTALGIC 5S FAST 5. SGN CALL
EDIT LN PRINT A?RETURN READ 6)
CLEAR READ 11 LN IF DEF PROC LN
.CHAR ECLEAR BREAK FAST 5? SGN B
GOSUB DELETE TAB DEF PROC
NOSTALGIC 5S FAST 5. SGN CALL
EDIT LN PRINT A?DNOSTALGIC 4)C
NOSTALGIC 11 LN IF DEF PROC 5" 
FAST 5. SGN CALL EDIT LN PRINT A
?CALL NOSTALGIC 7)PINOSTALGIC 11
 LN IF DEF PROC LN .CHAR ECLEAR
BREAK FAST 5= SGN BGOSUB DELETE
TAB ?NOSTALGIC 5" FAST 5. SGN
CALL EDIT LN PRINT A??NOSTALGIC
Y)END WHEN NOSTALGIC 11 LN IF
DEF PROC LN .CHAR ECLEAR BREAK
FAST 5; SGN BGOSUB DELETE TAB 9
NOSTALGIC 5" FAST 5. SGN CALL
EDIT LN PRINT A?;NOSTALGIC 5)/
NOSTALGIC 11 LN IF DEF PROC LN .
CHAR ECLEAR BREAK FAST 52 SGN B
GOSUB DELETE TAB SGN NOSTALGIC 5
FAST 5, SGN CALL EDIT LN
PRINT A?VAL NOSTALGIC 81)?
NOSTALGIC 12 LN IF DEF PROC LN .
CHAR ECLEAR BREAK FAST 57 SGN B
GOSUB DELETE TAB UNPLOT
NOSTALGIC 5" FAST 5, SGN CALL
EDIT LN PRINT A?LIST NOSTALGIC T
)LOAD NOSTALGIC 11 LN IF
DEF PROC LN .CHAR ECLEAR BREAK
FAST 5C SGN BGOSUB DELETE TAB B
USER 5" FAST 5, SGN CALL EDIT
LN PRINT A?.USER 7),USER 11 LN
IF DEF PROC LN .CHAR ECLEAR
BREAK FAST 5H SGN BGOSUB DELETE
TAB ELSE USER 5" FAST 5, SGN
CALL EDIT LN PRINT A?ERROR USER
2)DPOKE USER 11 LN IF DEF PROC 5
S FAST 5, SGN CALL EDIT LN
PRINT A?NOSTALGIC USER 6)READ
USER 11 LN IF DEF PROC LN .CHAR
ECLEAR BREAK FAST 5M SGN BGOSUB
DELETE TAB *USER 5S FAST 5, SGN
CALL EDIT LN PRINT A?"USER Y)F
USER 11 LN IF DEF PROC LN .CHAR
ECLEAR BREAK FAST 5R SGN BGOSUB
DELETE TAB TAB USER 5S FAST 5, 
SGN CALL EDIT LN PRINT A?QUSER 8
)PUSER 11 LN IF DEF PROC LN .
CHAR ECLEAR BREAK FAST 5W SGN B
GOSUB DELETE TAB ?*5S FAST 5, 
SGN CALL EDIT LN PRINT A?FAST
USER 5H8TE) STEP USER 15 LN IF
DEF PROC 5" FAST 5, SGN CALL
EDIT LN PRINT A?7*8 5LP)RETURN
USER 15 LN IF DEF PROC LN .CHAR
ECLEAR BREAK FAST 5W SGN BGOSUB
DELETE TAB UNDRAW *EPRINT BREAK
FAST E)DPEEK FAST 51 SGN BFOR
GOSUB DELETE SGN BGOSUB DELETE
TAB UNDRAW *ERAND BREAK FAST E
GOSUB BREAK FAST 51 SGN ;SGN B
GOSUB DELETE TAB UNDRAW *?EDIT
ONECLEAR BREAK FAST 5W SGN B
GOSUB DELETE TAB READ *5  6
CLEAR BREAK TAN E$DPEEK FAST 57 
SGN BGOSUB DELETE ASN ?*IF ?*E$
DPEEK FAST 51 SGN ;6$DPEEK E$
DPEEK FAST 51 SGN BGOSUB DELETE
TAB TAB *5S FAST 5, SGN CALL
EDIT LN PRINT A?0*5).*11 LN IF
DEF PROC 5" FAST 5, SGN CALL
EDIT LN PRINT A?Q*8)P*11 LN IF
DEF PROC LN .CHAR E$DPEEK FAST 5
2 SGN BGOSUB DELETE TAB EON5S 
FAST 5. SGN CALL EDIT LN PRINT A
?LPRINT *H) STEP *11 LN IF
DEF PROC 5" FAST 5. SGN CALL
EDIT LN PRINT A?CLS * )IF *11 
LN IF DEF PROC LN .CHAR E$DPEEK
FAST 57 SGN BGOSUB DELETE TAB
PROTECT ON5S FAST 50 SGN CALL
EDIT LN PRINT A?AON8)9ON11 LN
IF DEF PROC 5" FAST 50 SGN CALL
EDIT LN PRINT A?RNDON5)ZON11 LN
IF DEF PROC LN .CHAR TAN 51 
FAST EGOSUB BREAK SGN CALL EDIT
LN PRINT A?NOSTALGIC ONE R)DATA
ON17 LN IF DEF PROC LN .CHAR LN
YBREAK 51 FAST EGOSUB BREAK SGN
CALL EDIT LN PRINT A?WONE 4)?ON1
7 LN IF DEF PROC 52 FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?2
ONE R).ON17 LN IF DEF PROC LN .
CHAR LN YBREAK 51 FAST E)DPEEK
FAST 57 SGN BFOR GOSUB DELETE
SGN 7GOSUB DO LET BREAK 6NEXT
BREAK ELET BREAK FAST 52 SGN ;
FAST EGOSUB BREAK SGN CALL EDIT
LN PRINT A?<>ONE)>=ON11 LN IF
DEF PROC ELET BREAK FAST 52 SGN
;FAST EGOSUB BREAK FAST 52 SGN ;
SGN CALL EDIT LN PRINT A?7HOME R
)2HOME 11 LN IF DEF PROC ELET
BREAK FAST 51 SGN ;FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?9
HOME E 4)6HOME 17 LN IF
DEF PROC ELET BREAK FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?
INKEY$HOME    )YHOME 17 LN IF
DEF PROC LN .CHAR LN YBREAK E
LET BREAK 76LET BREAK GOSUB OFF
NEXT BREAK BGOSUB DELETE IF LEN
ONE)DPEEK FAST 57 SGN BFOR
GOSUB DELETE 6LET BREAK 51 FAST
E)DPEEK FAST 57 SGN BFOR GOSUB
DELETE SGN 7GOSUB DO DDPEEK 6F
DPEEK ELET BREAK FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?0
HOME E 4);HOME 17 LN IF
DEF PROC ELET BREAK FAST 51 SGN
;FAST EGOSUB BREAK SGN CALL
EDIT LN PRINT A?YHOME EKR)VHOME
17 LN IF DEF PROC ELET BREAK
FAST 52 SGN ;FAST EGOSUB BREAK
SGN CALL EDIT LN PRINT A? STEP
HOME    )<>HOME 17 LN IF
DEF PROC LN .CHAR LN YBREAK E
LET BREAK FAST 51 SGN BFOR
GOSUB DELETE 6LET BREAK EDDPEEK
76DDPEEK GOSUB OFFFDPEEK BGOSUB
DELETE IF GHOME 51 FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?6
BREAK EKR)3BREAK 17 LN IF
DEF PROC 52 FAST EGOSUB BREAK
SGN CALL EDIT LN PRINT A?YBREAK
   )VBREAK 17 LN IF DEF PROC LN
.CHAR LN YBREAK 51 FAST EGOSUB
BREAK SGN CALL EDIT LN PRINT A?
NOSTALGIC BREAK    )DATA BREAK 1
7 LN IF DEF PROC LN .CHAR LN Y
BREAK 5+ FAST 5  SGN CALL EDIT
LN PRINT A?3BREAK YOU GOT E.T. H
OME...GAME OVER***)?BREAK 1LN
IF DEF PROC 5  FAST 5  SGN CALL
EDIT LN PRINT A5>=£LN PUSH DRAW
6;DPEEK 51 FAST 5CONT 7SGN 7
GOSUB DO HDPEEK 6JDPEEK EHDPEEK
76HDPEEK GOSUB OFFJDPEEK BGOSUB
DELETE IF EXP BREAK TAN TAN <   
                                
                                
              7WHEN  REM       M
CODER II         COPYRIGHT 1983 
  D C THRELFALL COMPILER AT 1730
0 PROG AT 20500
  10 REM **E.T.**SLR/1985-2012**
  20 LET L=USR 20500
  30 STOP
 100 SAVE "ETMC"
 110 RUN