ZX81 Listing for circles.p


ZX81 program listing for **CIRCLES**SLR/2022**

**CIRCLES**SLR/2022** (circles.p)

A fun little screen saver that prints a bunch circles.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 17184
VARS  : 17977
E-LINE: 17978
STKBOT: 17983
STKEND: 17983


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   1 REM /-**CIRCLES**SLR/2022**
52523 LN EXP PIöúVAL -?LN JPIX
LEN LIST MòCALL -RNDLN JPIXCHAR
-HLN JPIXDEF PROC -+LN JPIWLN
SCROLL RND5- LN ³PIAT (USR 5Gñ
LN ³PILN VPI?7RNDRLIST GOSUB
ERR MSGS TAN      5LLIST RND?7?M
NEW RNDJMSLOW RNDMFAST RNDEFAST
RNDULLIST RND´CHAR USTOP RNDµ
DEF PROC LN ?INKEY$LN óCALL E
FAST RNDULLIST RND=CHAR USTOP
RNDµDEF PROC LN ?INKEY$LN óCALL
EFAST RNDULLIST RND´CHAR USTOP
RND+DEF PROC LN ?INKEY$LN óCALL
EFAST RNDULLIST RND=CHAR USTOP
RND+DEF PROC LN ?INKEY$LN óCALL
EFAST RNDULLIST RNDµCHAR USTOP
RND´DEF PROC LN ?INKEY$LN óCALL
EFAST RNDULLIST RND+CHAR USTOP
RND´DEF PROC LN ?INKEY$LN óCALL
EFAST RNDULLIST RNDµCHAR USTOP
RND=DEF PROC LN ?INKEY$LN óCALL
EFAST RNDULLIST RND+CHAR USTOP
RND=DEF PROC LN ?INKEY$LN óCALL
EFAST RNDUSLOW RNDWµµCHAR MSLOW
RNDW==DEF PROC 5FAST RNDO?LN <>
RNDCHAR ?LN <>RNDSABS TINKEY$?M
SLOW RND5NEW RNDPEFAST RND?X**?
RUN RND ?ACS ?""CHR$ RNDLIST ?
ACS ?""CHR$ ILIST - ?ACS ZCHAR K
ò-ñ?ACS ZDEF PROC Kô?ACS INT
WHILE STR$ RND7?RC÷)5 ;X4
UNPLOT )  WHEN ;SGN UTAB INKEY$
ACS DEF PROC TAB YPI?RC(XC,XC8
INPUT ÷?TAN SIN ?TAN ACS ·?TAN
INT ?TAN ACS ??TAN NOT ?TAN ACS
*?TAN ?RC(XC,XC8INPUT ÷?TAN ·?
TAN ACS SIN ?TAN ??TAN ACS INT ?
TAN *?TAN ACS NOT ?TAN /SAVE   6
±PILN VòGC<HERR MSGS EDIT LN X÷
PILN LET PI?>=£E±PIF?P4>=TAN LN
VòG4IF TAN GOSUB READ ?NEW ?
LINE E£RND7J:/ö4?7(UNPLOT 7$4
PLOT TAN COPY ñLOAD ?GOSUB ?MLN
PINEW 4""YZGOSUB ?E£RNDö/7COPY
ACS W4POKE (PAUSE TAN ñLOAD ?
GOSUB ?NEW 4""JGOSUB ?YCOPY MLN
PITAN ùULN PINEW 4""UòCALL ACS
UNPLOT ?TAN
   2 RAND USR VAL "16514"