ZX81 Listing for mbscgfx.p


ZX81 program listing for **MBS CGFX*SLR/2022**

**MBS CGFX*SLR/2022** (mbscgfx.p)

A modified version of my Mandelbrot Set programming using the three color (white/gray/black) chunky gfx mode.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18020
VARS  : 18813
E-LINE: 18814
STKBOT: 18819
STKEND: 18819


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   1 REM /M**MBS CGFX*SLR/2022**
30208                         LN
F?LN EúJ5  M.RND60RNDU.RNDE0RND:
?) RNDLN µ????YZ5  LN 5?M2RND63
RNDU.RNDE0RND:Z)  LN ??:?) ?LN ?
?M5RND66RNDY?5 SAVE M8RND69RNDö
RNDVAL ACS Cõ:JYòMXPILN YPIU5RND
?GOSUB ?6RNDU8RNDE9RNDLN µ?
PRINT U2RND?LET GOSUB ?3RNDLN ??
MERND6FRNDJ5  MBRND6CRNDAT :/
VAL LN 6?UBRND?GOSUB ?CRNDY?5 ?
LN ??PRINT U2RND?LET GOSUB ?3RND
LN ??MHRND6IRNDJ5  MKRND6LRNDMN
RND6ORNDö?VAL UKRNDELRND?GOSUB ?
LRNDLN ??PRINT FAST UNRNDEORND?
GOSUB ?ORNDLN ?????LPRINT LET
LN ?????UERNDEFRNDLN µ?FAST
PRINT UNRND?GOSUB ?ORNDUKRNDEL
RNDLN ??:RND)  LN ?????UHRNDEI
RNDLN µ?MNRND6ORNDLET LPRINT MK
RND6LRND?GOSUB ?LRNDLN ??PRINT
FAST UNRNDEORND?GOSUB ?ORNDLN ??
???LPRINT LET LN µ?:INKEY$)  LN
??AT AND JPIASN JPIY?ACS JSSôYñ
/òYòMXPI/!õTAB INKEY$JMXPIAT
VAL ACS CõY/)?LN YPIAT VAL ACS C
õY-±?LN YPIUBRNDECRND:Z)  LN µ?M
BRND6CRNDAT $TAB ?INKEY$VAL U8
RNDE9RND:RND)  LN ??M8RND69RND
AT VAL ACS Cõ:JY MXPILN YPIAT õõ
TAB :INKEY$5;;LN I?U.RNDE0RND:?)
 (LN µ?M.RND60RND:?) ?LN ?? AND
LEN RNDLN X??WRND VAL LN CODE PI
AT TAN ?ACS ?""CHR$ 4LIST ?ACS ?
""CHR$ KLIST E£RND7?ACS JRC÷)5 ;
X4UNPLOT - ?;úYCóF(IF UXPI???
ABS ô?Y£4²?£?Yó4ACS 6ACS 6²?A ñ*
?ù³COPY ú!ºCOPY ó¹  OR LN ??Kò
OR TAN INT COPY   6G?LN 6?EG?F?
P4PAUSE TAN E£RND7J:/ö4?7(
UNPLOT 7$4PLOT TAN ?NEW ?WIF ???
PRINT LN ??AT INPUT  COS INPUT  
COS ?ACS SNEW ?LEN :(KòJTAN ?
PLOT ?·TAN ?PZ""?NEW ?W?PAUSE ??
?N""?STAN ?NEW ?4ó?FOR TAN WIF
INKEY$??NEW ?ASN Z?WIF º??DIF <=
?LN G?C.SQR VAL LN ??ACS 4GOSUB
?SGN ?SQR NEW ?RETURN WACS 1SQR
7TAN ?NEW ?RETURN ACS 0ACS 1SQR
G""8""WTAN PLOT ?5  TAN LN G?CN
SQR VAL LN ??)?Y /?GOSUB ?SGN ?
SQR ?PKLCOS ?·PRINT ?XC>ACS 5
ACS (GOSUB ?ABS RAND ?ACS 5ñ  
GOSUB ?¸·?LET ?3TAN ?GOSUB ?4ó
NEW  TAN ñ  KCHR$ INPUT  ?J+?3=?
?/ASN DACS ñ*)COS KöGOSUB ?ACS ù
INKEY$FOR R3RETURN >**?TAN ?P4
IF LCRUN W·4NEXT ?N?4òSCOS FTAN
ñ  RACS ,ACS .ACS /ACS ;X4PRINT
TAN ??INPUT  ???µ?INPUT  ?µ???
NEW  C?NEW ?C?WIF PEEK ??NEW ??
COS WIF º??NEW ?±CHR$ ZKòJTAN
RETURN ?S÷?PLOT ?5  TAN CNEW ?C
PRINT ??FAST STR$ LN DIM ?JACS 8
FOR AT GOSUB ?EXP  AT ùEXP  3AT
?COS ZACS 0ACS 1WW·CABS 3XTAN ?
NEW ?COS WIF >=?JTAN ?P?""?NEW ?
4ôX??TAN WIF NEW ??TAN ?FOR TAN
?- ??·SN·SQ·ST·SW·SZ·SPI·S?·S??
NEW RETURN ·S?·S?·S?·S?·S?·S?·S?
ACS .**??TAN D?KòùºD?KòùºD?KòùºD
?KòùºD?KòùºD?KòùºD?Kòùº??NEW
RETURN D?KóùEXP  D?KóùEXP  D?Kóù
EXP  D?KóùEXP  D?KóùEXP  D?Kóù
EXP  D?KóùEXP  D?SúACS .?SQR ù
SQR 0""=TAN =ACS .?SQR ùSQR 0
TAN ?FOR YZ5  ?D·?*??NEW ?ASN O?
WIF ???NEW ?4ôX??TAN WIF Z?ACS T
?NEW ?LEN Z)KòJTAN RETURN ?S÷?
PLOT ?5  TAN R: GOSUB ?K£XCOS ;D
ACS )£GOSUB ?Kñ$VAL PRINT LN
CLS ?SGN AT ºPAUSE PLOT ?X??C
NEW ?CTAN J<?Y ,?3X??LN 3?ACS )
VAL LN 3?ACS )D?;¸LPRINT ??ñ  ?
GOSUB ?TAN LN 6?LN 9?LN C?ACS )D
?COS ;¸**GOSUB ?/TAN ?NEW ?CUW
IF Z?JTAN ?NCOS ?FOR TAN ?P?""?
NEW ?C9WIF NEXT ??TAN
   2 RAND USR VAL "16514"