10 REM > MODEs
   20 REPEATINPUT"Mode: "m%
   30   ON m%+1 GOSUB 110,140,160,180,230,260,290,320 ELSE GOSUB 320
   40   REPEATy%=VPOS:PRINT:UNTILVPOS=y%:VDU8:x%=POS+1:y%=y%+1:CLS
   50   PRINTTAB(x%DIV6,y%-5);"MODE ";m%;"/";FNfx(135,0)DIV256
   60   PRINTSPC(x%DIV6+1);x%;"x";y%
   70   PRINTSPC(x%DIV6);x%*dx%;"x";y%*32;"px"
   80   MOVE 32,32:DRAW 32,255-32:DRAW 383-32,255-32:DRAW 383-32,32:DRAW 32,32
   90 VDU30:UNTIL0
  100 :
  110 MODE0:VDU28;31,23,22,12, 24,0;0;383;319;     :REM MODE 0
  120 COLOUR0:COLOUR255:GCOL0,0:CLS:dx%=16:RETURN
  130 :
  140 CLS:RETURN                                   :REM MODE 1
  150 :
  160 MODE4:VDU28;31,15,22,12, 24,0;0;383;319;     :REM MODE 2
  161 COLOUR0:COLOUR255:GCOL0,0:CLS:dx%=32:RETURN
  170 :
  180 MODE3:VDU23;4,38;0;0;0, 23;7,30;0;0;0, 23;9,7;0;0;0  :REM MODE 3
  190 IF HIMEM=&3000:?&361=7
  200 VDU28;24,23,17,12 :REM , 24,0;0;383;255;
  210 COLOUR0:COLOUR255:GCOL0,0:CLS:dx%=16:RETURN
  220 :
  230 MODE4:VDU28;31,11,22,12, 24,0;0;383;319;     :REM MODE 4
  240 COLOUR0:COLOUR255:GCOL0,0:CLS:dx%=32:RETURN
  250 :
  260 MODE4:VDU28;31,15,24,12, 24,0;0;383;319;     :REM MODE 5
  270 COLOUR0:COLOUR255:GCOL0,0:CLS:dx%=32:RETURN
  280 :
  290 MODE4:VDU28;31,11,24,12, 24,0;0;383;255;     :REM MODE 6
  300 COLOUR0:COLOUR255:GCOL0,0:CLS:dx%=32:RETURN
  310 :
  320 CLS:RETURN                                   :REM MODE 7
  330 :
  340 :
  350 DEFFNbyte(A%,X%,Y%)=((USR&FFF4)AND&FF00)DIV256
  360 DEFFNfx(A%,X%):LOCAL Y%:Y%=X%DIV256:=((USR&FFF4)AND&FFFF00)DIV256