10 REM > Clipping
   20 REM Test graphics actions clip to edge of window/screen
   30 :
   40 FOR M%=0 TO 15
   50   FOR clip%=0 TO 1
   60     MODE M%
   70     REPEAT:H%=VPOS+1:PRINT:UNTILVPOS+1=H%:PRINTCHR$8;:W%=POS+1:CLS
   80     gX%=W%*8:gY%=H%*(8-2*(M%=3 OR M%=6)):REPEAT:gX%=gX%*2:UNTILgX%>=&400:REPEAT:gY%=gY%*2:UNTILgY%>=&300
   90     :
  100     IF clip%:VDU 24,gX%*(1/16);gY%*(1/16);gX%*(15/16);gY%*(15/16);
  110     GCOL 0,7:MOVE 0,0:IF clip%:MOVE gX%*(1/16),gY%*(1/16)
  120     FOR A%=1 TO 7
  130       x%=VALMID$("1100101",A%,1)*(gX%-1):IF clip%:x%=(x%+1)*(14/16)+gX%*(1/16)
  140       y%=VALMID$("0110110",A%,1)*(gY%-1):IF clip%:y%=(y%+1)*(14/16)+gY%*(1/16)
  150       DRAW x%,y%
  160     NEXT A%
  170     FOR offX%=-1 TO 1
  180       FOR offY%=-1 TO 1
  190         MOVE gX%*((offX%*7+6 )/16),gY%*((offY%*7+6 )/16)
  200         DRAW gX%*((offX%*7+10)/16),gY%*((offY%*7+6 )/16)
  210         DRAW gX%*((offX%*7+8 )/16),gY%*((offY%*7+10)/16)
  220         DRAW gX%*((offX%*7+6 )/16),gY%*((offY%*7+6 )/16)
  230       NEXT
  240     NEXT
  250     PRINT TAB(W%DIV2-3,H%DIV2-3);"MODE ";M%
  260     IF clip%:PRINT TAB(W%DIV2-8,VPOS);"Graphics window"
  270     PRINT TAB(W%DIV2-9,VPOS);"In graphics MODEs"
  280     PRINT TAB(W%DIV2-10,VPOS);"there should be nine";CHR$8
  290     PRINT TAB(W%DIV2-9,VPOS);"triangles, clipped"
  300     PRINT TAB(W%DIV2-10,VPOS);"to the visible area."
  310     IF INKEY(500)=8:M%=M%-2
  320   NEXT clip%
  330 NEXT M%