Classy Front End Demo

Developer(s): Paul Bingham
Date: 198x
Type: Program
Platform(s): TS 2068

Program that demonstrates Paul Bingham’s Classy Front End, a set of routines for GUI programming on the 2068.

Related Articles

Program demonstrates printing with variable-width fonts using PLOT/DRAW.
In designing a machine code utility one faces the inevitable quandry of too many desires and not enough space. I wrote a wish list of features and then settled from that on a “short list” of must-haves. These fell into three categories (being BASIC compatible, being flexible and easy to use).
Patching a bug from the fourth article in the series.
Continues article from prior issue with window and porthole code.
Two kinds of windows options are described. The first are rectangular with shadows down two sides and the second are round windows for quick footnotes, status reports et cetera. Bingham calls the later “portholes”.

Gallery

Classy Front End Demo

Source Code

    1 REM     cfe/mc (+demo)                
    3 CLS : PRINT AT 9,4;"18 seconds to lift-off..."'''"The demo (lines 2000 thru 9999) is a dummy menu screen showing  some of cfe's potential.  To re-start GO TO 2000."
    4 LET code=45000
    5 LET print=code+13
    6 POKE 23728,(code-256*INT (code/256)): POKE 23729,INT (code/256)
    7 FOR t=code TO code+1501: READ o: POKE t,o: NEXT t
    8 REM         CFE CODE              
   10 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,213,197,229,245,217,8,213,197,229,245,237,91,176,92,24,13,0,0,0,0
   20 DATA 0,0,0,0,0,225,35,24,7,42,85,92,1,5,0,9,126,254,173,32,6,235,54,2,235,24,77,254,172,32,6,235,54,1,235,24,67
   30 DATA 254,34,32,6,229,33,26,1,25,233
   40 DATA 235,22,65,1,116,0,9,114,35,35,35,119,62,0,205,48,18,62,69,215,62,82,215,62,82,215,62,79,215,62,82,215,62,32,215,62,120,215,62,120,215
   50 DATA 205,9,32,56,251,241,225,193,209,8,217,241,225,193,209,201
   60 DATA 35,126,1,97,8,213,229,33,3,0,25,235,225,185,32,3,26,24,50,12,19,16,246,209,1,48,10,185,40,8,12,16,250,235,22,66,24,164
   70 DATA 213,198,208,79,35,26,254,1,40,4,30,59,24,2,30,44,126,187,121,40,11,6,9,129,16,253,79,62,208,134,129,35,209,1,118,92,2
   80 DATA 35,229,26,254,2,40,35,1,8,168,58,118,92,111,62,0,189,40,8,60,245,120,145,71,241,24,245,120,213,235,17,12,0,25,209,119,62,2,18,225,24,140
   90 DATA 58,118,92,1,8,8,103,62,0,203,68,40,1,129,203,33,203,44,16,245,213,235,17,11,0,25,209,119,225
  100 DATA 35,24,2,24,141,126,254,34,32,51,35,126,254,58,32,18,229,33,38,0,229,46,11,124,25,119,35,126,214,8,119,225,25,233,254,59,40,5
  110 DATA 33,126,0,24,233,35,126,254,13,32,5,33,126,0,25,233,43,229,33,38,0,25,233,254,39,32,14,35,126,254,39,32,4,62,34,24,8,43,126,24,4
  120 DATA 203,127,32,20,6,7,229,213,22,0,95,213,225,25,16,253,209,229,24,122,198,185,24,236,254,199,40,248,254,200,40,244,254,201,40,240
  130 DATA 24,5,235,22,67,24,137,254,197,40,77,254,195,40,114,254,172,40,120,254,204,40,18,254,203,40,104,254,198,40,102,254,205,40,100,254,226,40,98
  140 DATA 24,217,229,213,225,35,126,254,1,40,7,54,1,1,138,24,24,5,54,0,1,217,229,33,73,2,25,112,35,113,24,123,229,8,217,197,245,121,193,144
  150 DATA 193,79,120,198,248,71,8,24,101,229,33,45,2,25,126,254,56,40,4,54,56,24,2,54,48,24,88
  160 DATA 193,33,198,1,25,9,8,126,8,126,213,229,33,11,0,25,78,35,70,225,197,24,18
  170 DATA 24,68,24,162,24,160,24,158,24,156,229,33,11,0,25,53,24,47
  180 DATA 217,193,217,71,35,175,126,197,6,8,23,217,48,7,197,245,205,62,38,241,193,4,217,16,241,193,217,12,120,198,248,71,217,16,225
  190 DATA 209,33,11,0,25,229,217,225,113,35,112,217,33,26,1,25,233
  200 DATA 62,0,50,119,92,35,126,254,34,40,37,254,195,32,46,213,225,1,116,0,9,54,61,35,35,35,58,119,92,6,2,79,175,121,23,56,4,16,251,14,32,121,119,33,92,0,25,233
  210 DATA 33,37,0,25,58,119,92,119,33,126,0,25,233,203,127,40,21,1,199,2,185,40,13,12,16,250,254,172,32,183,58,119,92,61,24,174,198,185
  220 DATA 229,213,6,7,22,0,95,213,225,25,16,253,209,229,193,33,198,1,25,9,58,119,92,134,225,24,145
  980 REM CLASSY FONT TABLE DATA      
 1000 DATA 4,0,0,0,0,0,0,0.,3,0,94,94,0,0,0,0.,5,0,7,0,0,7,0,0.,6,34,255,34,34,255,34,0.,6,0,44,110,255,74,48,0
 1010 DATA 7,0,12,10,102,50,94,54.,5,0,40,124,214,84,0,0.,3,0,4,3,0,0,0,0.,4,0,60,126,129,0,0,0.,4,0,129,126,60,0,0,0
 1020 DATA 6,0,10,4,31,4,10,0.,6,0,16,16,124,16,16,0.,3,0,144,112,0,0,0,0.,5,0,24,24,24,24,0,0.,3,0,96,96,0,0,0,0
 1030 DATA 4,0,96,24,6,0,0,0.,6,0,60,126,82,74,60,0.,4,0,68,126,64,0,0,0.,5,0,100,98,82,76,0,0.,6,0,34,66,74,126,50,0
 1040 DATA 5,0,24,20,126,16,0,0.,5,0,46,78,74,50,0,0.,6,0,56,124,74,74,48,0.,5,0,2,114,26,14,0,0.,6,0,52,126,74,74,52,0
 1050 DATA 6,0,12,94,82,82,60,0.,3,0,40,40,0,0,0,0.,3,0,168,104,0,0,0,0.,5,0,24,60,102,129,0,0.,3,40,40,40,0,0,0,0
 1060 DATA 5,0,129,102,60,24,0,0.,6,0,4,2,82,94,12,0.,7,0,4,50,42,122,66,60.,6,0,124,126,18,18,124,0.,6,0,126,126,74,74,52,0
 1070 DATA 6,0,60,126,66,66,36,0.,6,0,126,126,66,66,60,0.,6,0,126,126,74,74,66,0.,6,0,126,126,10,10,2,0.,6,0,60,126,66,82,116,0
 1080 DATA 6,0,126,126,8,8,126,0.,5,0,66,126,126,66,0,0.,6,0,48,64,64,126,62,0.,6,0,126,126,24,36,66,0.,6,0,126,126,64,64,64,0
 1090 DATA 7,0,126,126,4,8,4,126.,7,0,126,126,12,48,126,126.,6,0,60,126,66,66,60,0.,6,0,126,126,18,18,12,0.,6,0,60,126,82,98,252,0
 1100 DATA 6,0,126,126,18,50,108,0.,6,0,44,110,74,74,48,0.,6,2,2,126,126,2,2,0.,6,0,62,126,64,64,62,0.,7,0,6,30,120,96,24,6
 1110 DATA 7,0,62,126,64,48,64,62.,7,0,66,102,60,24,36,66.,7,2,6,12,120,120,4,2.,6,0,98,114,90,78,70,0.,3,0,255,129,0,0,0,0
 1120 DATA 4,0,6,24,96,0,0,0.,3,0,129,255,0,0,0,0.,7,0,62,30,30,62,114,32.,6,128,128,128,128,128,128,0.,7,0,252,254,194,194,194,126
 1130 DATA 5,0,48,120,72,120,0,0.,5,0,126,72,120,48,0,0.,5,0,48,120,72,72,0,0.,5,0,48,120,72,126,0,0.,5,0,48,120,104,88,0,0
 1140 DATA 4,0,8,126,10,0,0,0.,5,0,176,248,200,248,0,0.,5,0,126,8,8,112,0,0.,4,0,72,122,64,0,0,0.,3,128,128,122,0,0,0,0
 1150 DATA 5,0,126,16,48,72,0,0.,4,0,66,126,64,0,0,0.,7,0,120,120,8,120,8,112.,5,0,120,120,8,112,0,0.,5,0,48,120,72,48,0,0
 1160 DATA 5,0,248,72,120,48,0,0.,5,0,48,120,72,248,0,0.,5,0,120,112,8,8,0,0.,5,0,80,88,120,40,0,0.,4,0,8,126,72,0,0,0
 1170 DATA 5,0,56,120,64,120,0,0.,5,0,24,48,96,24,0,0.,7,0,56,120,64,48,64,56.,5,0,72,48,48,72,0,0.,5,0,152,184,96,56,0,0
 1180 DATA 5,0,72,104,88,72,0,0.,6,1,1,1,1,1,1,0.,4,0,255,255,0,0,0,0.,6,170,170,170,170,170,170,0.,7,68,108,56,31,56,108,68
 1190 DATA 5,0,24,60,231,36,0,0
 1200 DATA 6,255,119,219,119,219,255,0.,3,0,24,24,0,0,0,0.,7,24,48,96,48,8,4,2
 2000 REM     DRAW MAIN SCREEN               
 2005 PAPER 5: BORDER 1: CLS : PAPER 7: FOR t=0 TO 7: PRINT "        ";: NEXT t: PLOT 2,2: DRAW 250,0: DRAW 0,166: DRAW -250,0: DRAW 0,-166: PLOT 2,159: DRAW 250,0: RANDOMIZE USR print
 2010 REM AT 0,1;">=  File  Edit OR  Demo^ OR  Windows  Options";AT 1,0;" BEEP `BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP  CLASSY FRONT END DEMO BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP "
 2020 PAPER 5: RANDOMIZE USR print
 2030 REM AT 2,2;">= New 2068 Medium character set:"
 2040 FOR t=1 TO 6: RANDOMIZE USR print
 2050 REM " !''#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO"
 2060 RANDOMIZE USR print
 2070 REM "AT  PQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyzAT AT ON ERRSTICKBEEP FREE "
 2080 RANDOMIZE USR print
 2090 REM " AT ©<=>=<>%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO"
 2100 NEXT t
 2500 REM      ARROW KEY LOOP                   
 2510 PAPER 7: GO SUB 8200
 2520 LET a=11: GO SUB 6020
 3000 IF INKEY$="6" THEN GO SUB 6000
 3010 IF CODE INKEY$=13 THEN STOP 
 3020 IF INKEY$="7" THEN GO SUB 6030
 3030 GO TO 3000
 5990 REM       MENU ICON           
 6000 PRINT AT a,6;"              ": GO SUB 7890+a*10
 6010 LET a=a+1: IF a=20 THEN LET a=11
 6020 PRINT AT a,6;"              ": GO SUB 7980+a*10: RETURN 
 6030 PRINT AT a,6;"              ": GO SUB 7890+a*10
 6040 LET a=a-1: IF a=10 THEN LET a=19
 6050 PRINT AT a,6;"              ": GO SUB 7980+a*10: RETURN 
 7990 REM      menu subroutines         
 8000 RANDOMIZE USR print
 8005 REM AT 11,6;">= AT AT ''Kerning'' function "
 8009 RETURN 
 8010 RANDOMIZE USR print
 8015 REM AT 12,6;">= AT OR  Inverse AT AT  printing  "
 8019 RETURN 
 8020 RANDOMIZE USR print
 8025 REM AT 13,6;">= AT TO  Vertical AT AT  printing "
 8029 RETURN 
 8030 RANDOMIZE USR print
 8035 REM AT 14,6;">= AT NOT AT AT Line AT AT length AT tester "
 8039 RETURN 
 8040 RANDOMIZE USR print
 8045 REM AT 15,6;">= AT AT STEP, AT AT AND,AT AT  THEN, AT AT STAT OP"
 8049 RETURN 
 8050 RANDOMIZE USR print
 8055 REM AT 16,6;">= AT ERROR  AT AT codes  A, B, C "
 8059 RETURN 
 8060 RANDOMIZE USR print
 8065 REM AT 17,6;">= AT Using color commands "
 8069 RETURN 
 8070 RANDOMIZE USR print
 8075 REM AT 18,6;">= AT Using OVER & ERASE  "
 8079 RETURN 
 8080 RANDOMIZE USR print
 8085 REM AT 19,6;">= AT QUIT  AT program  AT demos "
 8089 RETURN 
 8090 RANDOMIZE USR print
 8095 REM AT 11,6;" OR >= AT AT ''Kerning'' function OR "
 8099 RETURN 
 8100 RANDOMIZE USR print
 8105 REM AT 12,6;" OR >= AT OR  Inverse AT AT  printing  OR "
 8109 RETURN 
 8110 RANDOMIZE USR print
 8115 REM AT 13,6;" OR >= AT TO  Vertical AT AT  printing OR "
 8119 RETURN 
 8120 RANDOMIZE USR print
 8125 REM AT 14,6;" OR >= AT NOT AT Line AT AT length AT AT tester OR "
 8129 RETURN 
 8130 RANDOMIZE USR print
 8135 REM AT 15,6;" OR >= AT STEP, AT AT AND,AT AT  THEN, AT AT STAT OP OR "
 8139 RETURN 
 8140 RANDOMIZE USR print
 8145 REM AT 16,6;" OR >= AT ERROR  AT codes  A, B, C OR "
 8149 RETURN 
 8150 RANDOMIZE USR print
 8155 REM AT 17,6;" OR >= AT Using color commands AT AT AT  OR "
 8159 RETURN 
 8160 RANDOMIZE USR print
 8165 REM AT 18,6;" OR >= AT Using OVER & ERASE AT AT AT   OR "
 8169 RETURN 
 8170 RANDOMIZE USR print
 8175 REM AT 19,6;" OR >= AT QUIT  AT program  AT demos AT AT AT  OR "
 8179 RETURN 
 8190 REM       DRAW MENU BOX        
 8200 PAPER 7: FOR t=9 TO 20: PRINT AT t,6;"              ": NEXT t: PLOT 46,104: DRAW 0,-98: DRAW 113,0: DRAW 0,1: DRAW -112,0: DRAW 0,88: DRAW 112,0: PLOT 46,104: DRAW 114,0: DRAW 0,-97: PAPER 3: RANDOMIZE USR print
 8210 REM AT 9,6;"BEEP BEEP BEEP BEEP BEEP BEEP  MENU BEEP BEEP BEEP BEEP BEEP BEEP BEEP "
 8230 PAPER 7: FOR b=11 TO 19: GO SUB 7890+b*10: NEXT b
 8240 RETURN 
 9999 SAVE "cfe+demo" LINE 3: SAVE "cfe+demo" LINE 3
    1 REM     cfe/mc (+demo)                
    3 CLS : PRINT AT 9,4;"18 seconds to lift-off..."'''"The demo (lines 2000 thru 9999) is a dummy menu screen showing  some of cfe's potential.  To re-start GO TO 2000."
    4 LET code=45000
    5 LET print=code+13
    6 POKE 23728,(code-256*INT (code/256)): POKE 23729,INT (code/256)
    7 FOR t=code TO code+1501: READ o: POKE t,o: NEXT t
    8 REM         CFE CODE              
   10 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,213,197,229,245,217,8,213,197,229,245,237,91,176,92,24,13,0,0,0,0
   20 DATA 0,0,0,0,0,225,35,24,7,42,85,92,1,5,0,9,126,254,173,32,6,235,54,2,235,24,77,254,172,32,6,235,54,1,235,24,67
   30 DATA 254,34,32,6,229,33,26,1,25,233
   40 DATA 235,22,65,1,116,0,9,114,35,35,35,119,62,0,205,48,18,62,69,215,62,82,215,62,82,215,62,79,215,62,82,215,62,32,215,62,120,215,62,120,215
   50 DATA 205,9,32,56,251,241,225,193,209,8,217,241,225,193,209,201
   60 DATA 35,126,1,97,8,213,229,33,3,0,25,235,225,185,32,3,26,24,50,12,19,16,246,209,1,48,10,185,40,8,12,16,250,235,22,66,24,164
   70 DATA 213,198,208,79,35,26,254,1,40,4,30,59,24,2,30,44,126,187,121,40,11,6,9,129,16,253,79,62,208,134,129,35,209,1,118,92,2
   80 DATA 35,229,26,254,2,40,35,1,8,168,58,118,92,111,62,0,189,40,8,60,245,120,145,71,241,24,245,120,213,235,17,12,0,25,209,119,62,2,18,225,24,140
   90 DATA 58,118,92,1,8,8,103,62,0,203,68,40,1,129,203,33,203,44,16,245,213,235,17,11,0,25,209,119,225
  100 DATA 35,24,2,24,141,126,254,34,32,51,35,126,254,58,32,18,229,33,38,0,229,46,11,124,25,119,35,126,214,8,119,225,25,233,254,59,40,5
  110 DATA 33,126,0,24,233,35,126,254,13,32,5,33,126,0,25,233,43,229,33,38,0,25,233,254,39,32,14,35,126,254,39,32,4,62,34,24,8,43,126,24,4
  120 DATA 203,127,32,20,6,7,229,213,22,0,95,213,225,25,16,253,209,229,24,122,198,185,24,236,254,199,40,248,254,200,40,244,254,201,40,240
  130 DATA 24,5,235,22,67,24,137,254,197,40,77,254,195,40,114,254,172,40,120,254,204,40,18,254,203,40,104,254,198,40,102,254,205,40,100,254,226,40,98
  140 DATA 24,217,229,213,225,35,126,254,1,40,7,54,1,1,138,24,24,5,54,0,1,217,229,33,73,2,25,112,35,113,24,123,229,8,217,197,245,121,193,144
  150 DATA 193,79,120,198,248,71,8,24,101,229,33,45,2,25,126,254,56,40,4,54,56,24,2,54,48,24,88
  160 DATA 193,33,198,1,25,9,8,126,8,126,213,229,33,11,0,25,78,35,70,225,197,24,18
  170 DATA 24,68,24,162,24,160,24,158,24,156,229,33,11,0,25,53,24,47
  180 DATA 217,193,217,71,35,175,126,197,6,8,23,217,48,7,197,245,205,62,38,241,193,4,217,16,241,193,217,12,120,198,248,71,217,16,225
  190 DATA 209,33,11,0,25,229,217,225,113,35,112,217,33,26,1,25,233
  200 DATA 62,0,50,119,92,35,126,254,34,40,37,254,195,32,46,213,225,1,116,0,9,54,61,35,35,35,58,119,92,6,2,79,175,121,23,56,4,16,251,14,32,121,119,33,92,0,25,233
  210 DATA 33,37,0,25,58,119,92,119,33,126,0,25,233,203,127,40,21,1,199,2,185,40,13,12,16,250,254,172,32,183,58,119,92,61,24,174,198,185
  220 DATA 229,213,6,7,22,0,95,213,225,25,16,253,209,229,193,33,198,1,25,9,58,119,92,134,225,24,145
  980 REM CLASSY FONT TABLE DATA      
 1000 DATA 4,0,0,0,0,0,0,0.,3,0,94,94,0,0,0,0.,5,0,7,0,0,7,0,0.,6,34,255,34,34,255,34,0.,6,0,44,110,255,74,48,0
 1010 DATA 7,0,12,10,102,50,94,54.,5,0,40,124,214,84,0,0.,3,0,4,3,0,0,0,0.,4,0,60,126,129,0,0,0.,4,0,129,126,60,0,0,0
 1020 DATA 6,0,10,4,31,4,10,0.,6,0,16,16,124,16,16,0.,3,0,144,112,0,0,0,0.,5,0,24,24,24,24,0,0.,3,0,96,96,0,0,0,0
 1030 DATA 4,0,96,24,6,0,0,0.,6,0,60,126,82,74,60,0.,4,0,68,126,64,0,0,0.,5,0,100,98,82,76,0,0.,6,0,34,66,74,126,50,0
 1040 DATA 5,0,24,20,126,16,0,0.,5,0,46,78,74,50,0,0.,6,0,56,124,74,74,48,0.,5,0,2,114,26,14,0,0.,6,0,52,126,74,74,52,0
 1050 DATA 6,0,12,94,82,82,60,0.,3,0,40,40,0,0,0,0.,3,0,168,104,0,0,0,0.,5,0,24,60,102,129,0,0.,3,40,40,40,0,0,0,0
 1060 DATA 5,0,129,102,60,24,0,0.,6,0,4,2,82,94,12,0.,7,0,4,50,42,122,66,60.,6,0,124,126,18,18,124,0.,6,0,126,126,74,74,52,0
 1070 DATA 6,0,60,126,66,66,36,0.,6,0,126,126,66,66,60,0.,6,0,126,126,74,74,66,0.,6,0,126,126,10,10,2,0.,6,0,60,126,66,82,116,0
 1080 DATA 6,0,126,126,8,8,126,0.,5,0,66,126,126,66,0,0.,6,0,48,64,64,126,62,0.,6,0,126,126,24,36,66,0.,6,0,126,126,64,64,64,0
 1090 DATA 7,0,126,126,4,8,4,126.,7,0,126,126,12,48,126,126.,6,0,60,126,66,66,60,0.,6,0,126,126,18,18,12,0.,6,0,60,126,82,98,252,0
 1100 DATA 6,0,126,126,18,50,108,0.,6,0,44,110,74,74,48,0.,6,2,2,126,126,2,2,0.,6,0,62,126,64,64,62,0.,7,0,6,30,120,96,24,6
 1110 DATA 7,0,62,126,64,48,64,62.,7,0,66,102,60,24,36,66.,7,2,6,12,120,120,4,2.,6,0,98,114,90,78,70,0.,3,0,255,129,0,0,0,0
 1120 DATA 4,0,6,24,96,0,0,0.,3,0,129,255,0,0,0,0.,7,0,62,30,30,62,114,32.,6,128,128,128,128,128,128,0.,7,0,252,254,194,194,194,126
 1130 DATA 5,0,48,120,72,120,0,0.,5,0,126,72,120,48,0,0.,5,0,48,120,72,72,0,0.,5,0,48,120,72,126,0,0.,5,0,48,120,104,88,0,0
 1140 DATA 4,0,8,126,10,0,0,0.,5,0,176,248,200,248,0,0.,5,0,126,8,8,112,0,0.,4,0,72,122,64,0,0,0.,3,128,128,122,0,0,0,0
 1150 DATA 5,0,126,16,48,72,0,0.,4,0,66,126,64,0,0,0.,7,0,120,120,8,120,8,112.,5,0,120,120,8,112,0,0.,5,0,48,120,72,48,0,0
 1160 DATA 5,0,248,72,120,48,0,0.,5,0,48,120,72,248,0,0.,5,0,120,112,8,8,0,0.,5,0,80,88,120,40,0,0.,4,0,8,126,72,0,0,0
 1170 DATA 5,0,56,120,64,120,0,0.,5,0,24,48,96,24,0,0.,7,0,56,120,64,48,64,56.,5,0,72,48,48,72,0,0.,5,0,152,184,96,56,0,0
 1180 DATA 5,0,72,104,88,72,0,0.,6,1,1,1,1,1,1,0.,4,0,255,255,0,0,0,0.,6,170,170,170,170,170,170,0.,7,68,108,56,31,56,108,68
 1190 DATA 5,0,24,60,231,36,0,0
 1200 DATA 6,255,119,219,119,219,255,0.,3,0,24,24,0,0,0,0.,7,24,48,96,48,8,4,2
 2000 REM     DRAW MAIN SCREEN               
 2005 PAPER 5: BORDER 1: CLS : PAPER 7: FOR t=0 TO 7: PRINT "        ";: NEXT t: PLOT 2,2: DRAW 250,0: DRAW 0,166: DRAW -250,0: DRAW 0,-166: PLOT 2,159: DRAW 250,0: RANDOMIZE USR print
 2010 REM AT 0,1;">=  File  Edit OR  Demo^ OR  Windows  Options";AT 1,0;" BEEP `BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP  CLASSY FRONT END DEMO BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP "
 2020 PAPER 5: RANDOMIZE USR print
 2030 REM AT 2,2;">= New 2068 Medium character set:"
 2040 FOR t=1 TO 6: RANDOMIZE USR print
 2050 REM " !''#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO"
 2060 RANDOMIZE USR print
 2070 REM "AT  PQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyzAT AT ON ERRSTICKBEEP FREE "
 2080 RANDOMIZE USR print
 2090 REM " AT ©<=>=<>%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO"
 2100 NEXT t
 2500 REM      ARROW KEY LOOP                   
 2510 PAPER 7: GO SUB 8200
 2520 LET a=11: GO SUB 6020
 3000 IF INKEY$="6" THEN GO SUB 6000
 3010 IF CODE INKEY$=13 THEN STOP 
 3020 IF INKEY$="7" THEN GO SUB 6030
 3030 GO TO 3000
 5990 REM       MENU ICON           
 6000 PRINT AT a,6;"              ": GO SUB 7890+a*10
 6010 LET a=a+1: IF a=20 THEN LET a=11
 6020 PRINT AT a,6;"              ": GO SUB 7980+a*10: RETURN 
 6030 PRINT AT a,6;"              ": GO SUB 7890+a*10
 6040 LET a=a-1: IF a=10 THEN LET a=19
 6050 PRINT AT a,6;"              ": GO SUB 7980+a*10: RETURN 
 7990 REM      menu subroutines         
 8000 RANDOMIZE USR print
 8005 REM AT 11,6;">= AT AT ''Kerning'' function "
 8009 RETURN 
 8010 RANDOMIZE USR print
 8015 REM AT 12,6;">= AT OR  Inverse AT AT  printing  "
 8019 RETURN 
 8020 RANDOMIZE USR print
 8025 REM AT 13,6;">= AT TO  Vertical AT AT  printing "
 8029 RETURN 
 8030 RANDOMIZE USR print
 8035 REM AT 14,6;">= AT NOT AT AT Line AT AT length AT tester "
 8039 RETURN 
 8040 RANDOMIZE USR print
 8045 REM AT 15,6;">= AT AT STEP, AT AT AND,AT AT  THEN, AT AT STAT OP"
 8049 RETURN 
 8050 RANDOMIZE USR print
 8055 REM AT 16,6;">= AT ERROR  AT AT codes  A, B, C "
 8059 RETURN 
 8060 RANDOMIZE USR print
 8065 REM AT 17,6;">= AT Using color commands "
 8069 RETURN 
 8070 RANDOMIZE USR print
 8075 REM AT 18,6;">= AT Using OVER & ERASE  "
 8079 RETURN 
 8080 RANDOMIZE USR print
 8085 REM AT 19,6;">= AT QUIT  AT program  AT demos "
 8089 RETURN 
 8090 RANDOMIZE USR print
 8095 REM AT 11,6;" OR >= AT AT ''Kerning'' function OR "
 8099 RETURN 
 8100 RANDOMIZE USR print
 8105 REM AT 12,6;" OR >= AT OR  Inverse AT AT  printing  OR "
 8109 RETURN 
 8110 RANDOMIZE USR print
 8115 REM AT 13,6;" OR >= AT TO  Vertical AT AT  printing OR "
 8119 RETURN 
 8120 RANDOMIZE USR print
 8125 REM AT 14,6;" OR >= AT NOT AT Line AT AT length AT AT tester OR "
 8129 RETURN 
 8130 RANDOMIZE USR print
 8135 REM AT 15,6;" OR >= AT STEP, AT AT AND,AT AT  THEN, AT AT STAT OP OR "
 8139 RETURN 
 8140 RANDOMIZE USR print
 8145 REM AT 16,6;" OR >= AT ERROR  AT codes  A, B, C OR "
 8149 RETURN 
 8150 RANDOMIZE USR print
 8155 REM AT 17,6;" OR >= AT Using color commands AT AT AT  OR "
 8159 RETURN 
 8160 RANDOMIZE USR print
 8165 REM AT 18,6;" OR >= AT Using OVER & ERASE AT AT AT   OR "
 8169 RETURN 
 8170 RANDOMIZE USR print
 8175 REM AT 19,6;" OR >= AT QUIT  AT program  AT demos AT AT AT  OR "
 8179 RETURN 
 8190 REM       DRAW MENU BOX        
 8200 PAPER 7: FOR t=9 TO 20: PRINT AT t,6;"              ": NEXT t: PLOT 46,104: DRAW 0,-98: DRAW 113,0: DRAW 0,1: DRAW -112,0: DRAW 0,88: DRAW 112,0: PLOT 46,104: DRAW 114,0: DRAW 0,-97: PAPER 3: RANDOMIZE USR print
 8210 REM AT 9,6;"BEEP BEEP BEEP BEEP BEEP BEEP  MENU BEEP BEEP BEEP BEEP BEEP BEEP BEEP "
 8230 PAPER 7: FOR b=11 TO 19: GO SUB 7890+b*10: NEXT b
 8240 RETURN 
 9999 SAVE "cfe+demo" LINE 3: SAVE "cfe+demo" LINE 3
Scroll to Top