ZX81 Listing for cgfxdd.p


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

**CHUNKYGFX**SLR/2022* (cgfxdd.p)

My attempt at a chunky graphics routine for the ZX81 that allows three colors: white, gray and black. This program demonstrates its use.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 17338
VARS  : 18131
E-LINE: 18132
STKBOT: 18137
STKEND: 18137


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   1 REM /**CHUNKYGFX**SLR/2022*
30413 LN EúYñM?INKEY$ññ LN ?
INKEY$ñJ3LN ?INKEY$ñ*?Y$LN ATN
PIYòM?INKEY$ññ3LN ?INKEY$ñJ LN ?
INKEY$ñ*?YõLN ATN PIñ* )*3LN
CLEAR INKEY$ñó?)F?LN CLEAR
INKEY$YòM?INKEY$ñ*?LN ?INKEY$U?
INKEY$WRETURN ó4ñJM?INKEY$ñ*ó)*.
GOSUB ?ASN PIGOSUB ?SIN PIöôVAL
GOSUB ?ASN PIGOSUB ?SIN PILN
CLEAR INKEY$AóUACS PI´?UASN PI´?
GOSUB ?ASN PIACLEAR UCOS PI´?U
SIN PI´?GOSUB ?SIN PIAT (SGN öô
VAL GOSUB ?ASN PIGOSUB ?SIN PI
LN CLEAR INKEY$AóUACS PI´?UASN
PIACLEAR ´?GOSUB ?ASN PIUCOS PI´
?USIN PIAó´?GOSUB ?SIN PIAT (
INT 5;ùLN .??LIST RND VAL LN ?""
CHR$ 4LIST ?ACS ?""CHR$ KLIST
RND7?ACS JRC÷)5 ;X4UNPLOT - ?;úY
CóF(IF U?INKEY$???ABS YINKEY$4
²?LEN INKEY$4ACS 6ACS 6²?A ñ
SGN INKEY$ù³COPY ú!ºCOPY ó¹ R
LIST GOSUB ?TAN RASN FOR INKEY$
PAUSE GOSUB INKEY$JXTAN JTAN JW
TAN              5PAUSE INKEY$?7
?5POKE INKEY$?7?UNEXT INKEY$?U
PRINT INKEY$(MLIST INKEY$UPAUSE
INKEY$?UPOKE INKEY$(MLET INKEY$U
LIST INKEY$LN LPRINT INKEY$M
PLOT INKEY$ULET INKEY$LN LPRINT
INKEY$MRUN INKEY$ULIST INKEY$LN
LPRINT INKEY$MRAND INKEY$JMSAVE
INKEY$ULIST INKEY$LN >=INKEY$M
IF INKEY$?ULET INKEY$LN >=INKEY$
MCLS INKEY$SS3JMRAND INKEY$ULET
INKEY$LN LPRINT INKEY$MSAVE
INKEY$ULET INKEY$LN >=INKEY$MIF
INKEY$ULIST INKEY$LN >=INKEY$M
CLS INKEY$UIF INKEY$ACS ZM
UNPLOT INKEY$UIF INKEY$?VAL
GOSUB ?PAUSE INKEY$LN ?INKEY$5
UNPLOT INKEY$UCLS INKEY$¶?UIF
INKEY$?INKEY$UIF INKEY$?UPLOT
INKEY$¶?5PAUSE INKEY$URUN INKEY$
¶?/(5NEXT INKEY$URAND INKEY$¶?5
PAUSE INKEY$USAVE INKEY$¶?AT (T
TAN      5SIN PI?7?MACS PIJMTAN
PIMASN PIEASN PIUSIN PI´?UCOS PI
µ?LN ?INKEY$EASN PIUSIN PI=?U
COS PIµ?LN ?INKEY$EASN PIUSIN PI
´?UCOS PI+?LN ?INKEY$EASN PIU
SIN PI=?UCOS PI+?LN ?INKEY$EASN
PIUSIN PIµ?UCOS PI´?LN ?INKEY$E
ASN PIUSIN PI+?UCOS PI´?LN ?
INKEY$EASN PIUSIN PIµ?UCOS PI=?
LN ?INKEY$EASN PIUSIN PI+?UCOS
PI=?LN ?INKEY$EASN PIUTAN PIWµµ?
MTAN PIW==?5ASN PIO?LN >=INKEY$?
?LN >=INKEY$SABS ¶??MTAN PI5ACS
PIPEASN PI?X**?>=PI OR LN ??Kò
OR TAN INT COPY   6;?LN ??E;?F?
P4PAUSE TAN
   2 RAND USR VAL "16514"