( {c} 1987 PPC Paris et l'Auteur ) ( crÅe une structure matrice-graphique ) : GRAPH ( GRAPH name) CREATE 264 * NALLOT DOES> SWAP 264 * + ; 16 GRAPH TABLE ( TABLE en est justement une ! ) ( efface la matrice-Åcran ) : CLEAR ( -- ) 0 TABLE 2112 0 FILL ; IMMEDIATE FVARIABLE XRA FVARIABLE YRA FVARIABLE ORIX FVARIABLE ORY ( xra [resp. yra], valeur d'un point x'ox ) ( [resp. y'oy] ) ( orix [resp. ory], origine des x [resp. y] ) ( trace des axes en fonction des paramÁtres du ) ( repÉre ) : AXIS ( -- ) ORY RCL 0. X<=Y? RDN 128. X>Y? AND IF RDN FTOI 8 /MOD TABLE SWAP 2. ITOF Y^X 132 FTOI FILL THEN ORIX RCL 0. X<=Y? RDN 132. X>Y? AND IF 255 RDN FTOI 2* 16 0 DO 2DUP I TABLE + C! LOOP 2DROP THEN ; ( dÅfinit l'Åtendue des valeurs en fonction de ) ( donnÅes fournies par Basic ) : RANGE ( -- ) " A" BASICF XRA STO " -X1" BASICF F* ORIX STO " B" BASICF YRA STO " Y2" BASICF F* ORY STO ; ( gÉre la fenÁtre-Åcran. ) ( 128=16*8 pixels, le pas de dÅplacement Åtant ) ( de 4 pixels, on a 32 Åcrans possibles, ) ( soit 0 <= n <= 31. ) : COMPOSE ( n -- ) 2 /MOD SWAP 0= IF TABLE ELSE DUP 1+ TABLE SWAP TABLE MIX THEN 264 ; ( Allume un pixel Åtant donnÅ ses coordonnÅes ) ( rÅelles. ) ( fonctionne avec des valeurs Basic, X et Y. ) : PLOT ( -- ) ORIX RCL " X" BASICF XRA RCL F* F+ FTOI DUP 131 > OVER 0< OR IF DROP ELSE ORY RCL " Y" BASICF YRA RCL F* F- FTOI DUP 127 > OVER 0< OR IF 2DROP ELSE 8 /MOD TABLE ROT 2* + SWAP 2. ITOF Y^X FTOI OVER C@ OR SWAP C! THEN THEN ;