10 REM > Palette
   20 REM Cycle through palette changes
   30 :
   40 FOR mode%=0 TO 15
   50   RESTORE
   60   MODE mode%
   70   VDU 23,23,2;0;0;0; 23,1,0;0;0;0;
   80   REPEAT:txH%=VPOS+1:PRINT:UNTILtxH%=VPOS+1:PRINTCHR$8;:txW%=POS+1:CLS
   90   gfW%=txW%*8:gfH%=txH%*(8-2*(mode%=3 OR mode%=6))
  100   REPEAT:gfW%=gfW%*2:UNTIL gfW%>=&400
  110   REPEAT:gfH%=gfH%*2:UNTIL gfH%>=&300
  120   wid%=gfW%DIV4:hgh%=gfH%DIV4
  130   col%=txW%DIV4:row%=txH%DIV4
  140   FOR gcol%=0 TO 15
  150     GCOL 0,gcol%
  160     FOR pix%=hgh%-4 TO 0 STEP -4
  170       MOVE    ((gcol% AND 3)+0)*wid%+0,((gcol% EOR 12) DIV 4)*hgh%+pix%
  180       DRAW    ((gcol% AND 3)+1)*wid%-1,((gcol% EOR 12) DIV 4)*hgh%+pix%
  190       PLOT 69,((gcol% AND 3)+0)*wid%+0,((gcol% EOR 12) DIV 4)*hgh%+pix%+2
  200     NEXT
  210   NEXT
  220   FOR logc%=0 TO 15
  230     RESTORE
  240     FOR num%=0 TO 15
  250       phyc%=(logc%-num%)AND15
  260       VDU 19,num%,phyc% AND 7,0,0,0
  270       COLOUR 128+phyc%
  280       COLOUR 15-phyc%
  290       READ C$
  300       PRINT TAB((phyc% AND 3)*col%+(col%-1)DIV2-1,(phyc% DIV 4)*row%+row%DIV4+1);" ";~phyc%;" ";
  310       PRINT TAB((phyc% AND 3)*col%+(col%-1)DIV2-1,(phyc% DIV 4)*row%+row%DIV4+2);C$;
  320     NEXT
  330     PRINTTAB(col%*2-3,0);"MODE ";mode%
  340     IF INKEY(200)>-1:logc%=16
  350   NEXT
  360 NEXT
  370 DATA BLK,RED,GRN,YEL,BLU,MAG,CYN,WHT
  380 DATA BLK,RED,GRN,YEL,BLU,MAG,CYN,WHT