--- title: "Classy Front End: Windows" type: "article" slug: "classy-front-end-windows-2" url: "http://localhost/article/classy-front-end-windows-2/" markdown_url: "http://localhost/article/classy-front-end-windows-2.md" published_at: "2020-10-27T17:10:36+00:00" modified_at: "2024-05-26T13:19:58+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "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\"." category: - name: "Time Designs Magazine" slug: "time-designs" taxonomy: "category" url: "http://localhost/category/periodicals/time-designs/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Paul Bingham" slug: "paul-bingham" taxonomy: "indiv" url: "http://localhost/indiv/paul-bingham/" publication: "Time Designs Magazine" publication_r: id: 10277 title: "Time Designs Magazine" type: "periodical" url: "http://localhost/periodical/time-designs-magazine/" authors: "Paul Bingham" volume: "4" issue: "3" issues_articles: - id: 26786 title: "Time Designs Magazine v4 n3" type: "issue" url: "http://localhost/issue/time-designs-magazine-v4-n3/" pages: "15-17" pubdate: "March/April 1988" related_articles: - id: 37697 title: "Classy Front End, Part I" type: "article" url: "http://localhost/article/classy-front-end-part-i/" - id: 15411 title: "Classy Front End, Part III" type: "article" url: "http://localhost/article/classy-front-end-part-iii/" - id: 15390 title: "Classy Front End, Update" type: "article" url: "http://localhost/article/classy-front-end-update/" - id: 15454 title: "Classy Front End: Windows" type: "article" url: "http://localhost/article/classy-front-end-windows/" download: "http://localhost/wp-content/uploads/2023/05/windows.tzx_.zip" product_reviews: - id: 25193 title: "Jazzofire" type: "product" url: "http://localhost/product/jazzofire/" archive_link: false volumeissue: "v4n3" article_media: - id: 56143 title: "Classy Front End Demo" type: "computer_media" url: "http://localhost/computer_media/classy-front-end-demo/" - id: 51907 title: "JazzoFire" type: "computer_media" url: "http://localhost/computer_media/jazzofire/" --- # Classy Front End: Windows 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”. ## Source Code: Classy Front End Demo ``` 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 ``` ## Source Code: JazzoFire ``` 1 REM _____UDG+_____ "ULTRA-EASY DESIGNER GRAPHICS" version 2.0 by p. bingham 2 REM (This program is nearly identical to "son of udg" from TDM N/D '86. It includes three alterations from TDM listing in lines 42, 350, and 9680.) 10 CLEAR 64597: GO SUB 800: FOR t=15616 TO 16384: POKE (t+48982),PEEK t: NEXT t: FOR t=65528 TO 65535: READ o: POKE t,o: NEXT t: FLASH 0: CLS : GO SUB 9015: GO SUB 9520: DATA 0,0,63,252,252,248,0,0 20 DIM k(257): DIM c(4): FOR t=1 TO 4: LET c(t)=32: NEXT t: DIM d(32): DIM u(20): LET cs=7: LET at=7: LET px=5: LET py=1: INPUT "Press ENTER to continue...";n$: GO TO 105 21 LET x=1: LET y=5: GO TO 400 22 LET x=1: LET y=13: GO TO 400 23 LET x=9: LET y=5: GO TO 400 24 LET x=9: LET y=13: GO TO 400 25 GO TO 350 26 PAPER 7: LET k=5+(8*INT (px/13)): FOR h=k TO k+7: PRINT AT py,h;CHR$ 128: NEXT h: RETURN 27 PAPER 0: LET k=5+(8*INT (px/13)): FOR h=k TO k+7: PRINT AT py,h;CHR$ 143: NEXT h: RETURN 28 INPUT "1)SAVE UDGs 2)LOAD UDGs ";t: IF t=1 THEN SAVE "UDG"CODE 64598,941: RETURN 29 LOAD "UDG"CODE 64598,941: GO SUB 9000: RETURN 30 LET s=1: LET x=1: LET y=4: LET q=1: GO TO 35 31 LET s=9: LET x=1: LET y=12: LET q=22: GO TO 35 32 LET s=17: LET x=9: LET y=4: LET q=1: GO TO 35 33 LET s=25: LET x=9: LET y=12: LET q=22: GO TO 35 34 FOR m=30 TO 33: GO SUB m: NEXT m: RETURN 35 GO SUB 300: RETURN 36 LET s=1: LET qx=0: GO TO 410 37 LET s=9: LET qx=1: GO TO 410 38 LET s=17: LET qx=0: GO TO 410 39 LET s=25: LET qx=1: GO TO 410 40 FOR m=36 TO 39: GO SUB m: LET f=1: NEXT m: RETURN 41 INPUT "1)COPY 2)DISPLAY ";t: IF t=1 THEN COPY : LPRINT : LPRINT : LPRINT : RETURN 42 INPUT "1st:";c(1);" 2nd:";c(2);" 3rd:";c(3);" 4th:";c(4): FOR t=1 TO 4: IF c(t)<32 OR c(t)>127 AND c(t)<144 OR c(t)>163 OR c(t)=124 OR c(t)=126 THEN GO TO 42: NEXT t 43 IF ci=9000 THEN GO SUB 350: GO SUB 600: PRINT AT 0,1;CHR$ c(1);CHR$ c(2);AT 1,1;CHR$ c(3);CHR$ c(4): GO SUB 610: FOR t=6 TO 18 STEP 4: PRINT AT 0,t;c(1+(t-6)/4): NEXT t: PAPER 1: RETURN 44 FOR t=1 TO 4: IF t<=2 THEN LET y1=1: LET x1=(INT (t*6/12))*8+4: GO TO 46 45 LET y1=9: LET x1=(INT (t*3/12))*8+4 46 IF c(t)>143 THEN LET h=(c(t)-144)*8+65368: GO TO 63 47 LET h=(c(t)-32)*8+64598 63 FOR m=h TO h+7: LET a1=PEEK m 64 FOR g=8 TO 1 STEP -1: LET a1=a1/2: IF INT a121 THEN LET cs=1 137 PAPER 7: PRINT AT cs,26;CHR$ 164 140 IF CODE INKEY$=52 THEN LET cs=cs-1: GO TO 160 150 GO TO 190 165 IF cs=9 THEN LET cs=8 170 IF cs=15 THEN LET cs=14 175 IF cs<1 THEN LET cs=21 180 PAPER 7: PRINT AT cs,26;CHR$ 164 190 IF CODE INKEY$=49 THEN GO SUB cs+750 200 IF CODE INKEY$=97 THEN GO SUB ci 210 GO TO 105 300 FOR h=x TO x+7: DIM a(8): LET b=1: LET c=0 310 FOR t=8 TO 1 STEP -1: LET a(t)=INT ((ATTR (h,y+t))/8) 320 IF a(t)<>7 THEN LET c=c+b 330 LET b=b*2: NEXT t: LET d(s)=c: LET s=s+1 340 PAPER 5: BRIGHT 1: PRINT AT h,q;" ": PRINT AT h,q;c: NEXT h: BRIGHT 0: RETURN 350 PAPER 7: IF ci=9000 THEN PRINT AT 0,1;" ";AT 0,6;" ";AT 0,10;" ";AT 0,14;" ";AT 0,18;" ";AT 1,1;" ";AT 21,16;" ": RETURN 360 FOR m=21 TO 24: GO SUB m: NEXT m: RETURN 400 PAPER 7: FOR h=x TO x+7: FOR t=y TO y+7: PRINT AT h,t;CHR$ 128: NEXT t: NEXT h: RETURN 410 INPUT "CHR$ Number(C#) as Storage:";vn: IF vn>31 AND vn<128 AND vn<>124 AND vn<>126 OR vn>143 AND vn<165 THEN LET e=vn: GO TO 420 415 INPUT "Illegal entry!--hit ENTER";v$: GO TO 410 420 IF e>127 THEN LET j=INT (s/8): LET w=e-143: LET i=65360+8*w: GO TO 430 425 LET j=INT (s/8): LET w=e-31: LET i=64590+8*w 430 LET ru=s: FOR t=i TO i+7: POKE t,d(ru): LET ru=ru+1: NEXT t 435 PAPER 7: IF ci=9000 THEN GO TO 530 500 LET ki=i: LET f=e: FOR h=18+j TO 21: GO SUB 600: PRINT AT h,11;CHR$ e;AT h,23;CHR$ f: GO SUB 610: PRINT AT h,13;ki;AT h,19;f;: PAPER 5: BRIGHT 1: PRINT " ";: PAPER 7: BRIGHT 0: LET ki=ki+8: LET f=f+1: NEXT h 505 IF CODE CHR$ e=124 OR CODE CHR$ e=126 THEN RETURN 510 GO SUB 600: FOR h=19 TO 21: PRINT AT h,j+1;CHR$ e: NEXT h 520 IF j<2 THEN PRINT AT 19,j+7;CHR$ e: GO SUB 610: RETURN 525 PRINT AT 20,j+5;CHR$ e: GO SUB 610: RETURN 530 IF e<50 THEN LET gx=2: LET gy=28: GO TO 560 535 IF e<70 THEN LET gx=6: LET gy=48: GO TO 560 540 IF e<90 THEN LET gx=10: LET gy=68: GO TO 560 545 IF e<110 THEN LET gx=14: LET gy=88: GO TO 560 550 IF e<128 THEN LET gx=19: LET gy=108: GO TO 560 555 LET gx=24: LET gy=143 560 PRINT AT 21,16;i;AT 0,6+INT (s/8)*4;" ";AT 0,6+INT (s/8)*4;e: GO SUB 600: PRINT AT qx,1+INT (s/17);CHR$ e;AT gy-e,gx;CHR$ e: GO SUB 610: RETURN 600 POKE 23606,86: POKE 23607,251: RETURN 610 POKE 23606,0: POKE 23607,60: RETURN 785 IF ci=9600 THEN GO SUB cs+20: RETURN 790 IF ci=9000 AND cs=5 OR cs=8 OR cs>15 THEN GO SUB cs+20: RETURN 795 RETURN 800 FLASH 1: PRINT AT 17,8;"jesemenet!": RETURN 8000 GO SUB 8100 8002 LET n=CODE INKEY$: IF n=53 THEN GO SUB 8100: LET px=px-1 8005 IF px<5 THEN LET px=20 8010 IF n=54 THEN GO SUB 8100: LET py=py+1 8015 IF py>16 THEN LET py=1 8020 IF n=55 THEN GO SUB 8100: LET py=py-1 8025 IF py<1 THEN LET py=16 8030 IF n=56 THEN GO SUB 8100: LET px=px+1 8035 IF px>20 THEN LET px=5 8040 IF n=48 THEN PAPER 7: PRINT AT py,px;CHR$ 128 8042 IF n=57 THEN PAPER 0: PRINT AT py,px;CHR$ 143: PAPER 7 8045 FOR t=103 TO 105: PLOT 104,t: PLOT t,104: NEXT t 8050 RETURN 8100 LET at=INT ((ATTR (py,px))/8) 8105 IF at=7 THEN PRINT AT py,px;CHR$ 134: PRINT AT py,px;CHR$ 137: PRINT AT py,px;CHR$ 128 8110 IF at=0 THEN PAPER 7: PRINT AT py,px;CHR$ 134: PRINT AT py,px;CHR$ 137: PAPER 0: PRINT AT py,px;CHR$ 143: PAPER 7 8980 RETURN 9000 GO SUB 9015: INPUT "Display previous work? ";n$: IF n$<>"n" THEN LET tx=5: LET ty=1: FOR t=1 TO 256: GO TO 9003 9001 RETURN 9003 IF k(t)=1 THEN PAPER 0: PRINT AT ty,tx;CHR$ 143: PAPER 7: GO TO 9010 9005 PRINT AT ty,tx;CHR$ 128 9010 LET tx=tx+1: IF tx>20 THEN LET tx=5: LET ty=ty+1 9011 NEXT t: GO SUB 34: RETURN 9015 LET ci=9600: BORDER 1: PAPER 5: BRIGHT 1: FOR t=0 TO 21: PRINT AT t,0;" ";: NEXT t 9060 BRIGHT 0: FOR t=4 TO 21: PRINT AT 0,t;" ";AT 17,t;" ": NEXT t 9070 FOR t=1 TO 16: PRINT AT t,4;" ";AT t,21;" ": NEXT t 9080 PRINT AT 0,4;"_";AT 0,21;"_";AT 8,4;"_";AT 8,21;"_" 9090 FOR t=32 TO 39: PLOT 39,t: PLOT 103,t: PLOT 168,t: PLOT 39,t+136: PLOT 103,t+136: PLOT 168,t+136: NEXT t 9092 PRINT AT 0,8;"-1-";AT 17,8;"-3-";AT 0,15;"-2-";AT 17,15;"-4-" 9093 PLOT 39,39: DRAW 0,129: DRAW 129,0: DRAW 0,-129: PLOT 32,39: DRAW 143,0 9130 BRIGHT 0: PAPER 7: FOR t=1 TO 16: PRINT AT t,5;" ": NEXT t 9200 INK 0: PAPER 5: BRIGHT 1 9215 PRINT AT 18,1;"ABCD" 9225 PAPER 7: BRIGHT 0 9250 RETURN 9500 PRINT AT j,a;"-1-";AT j+1,a;"-2-";AT j+2,a;"-3-";AT j+3,a;"-4-";AT j+4,a;"all": RETURN 9520 PAPER 1: BRIGHT 0: FOR t=0 TO 21: PRINT AT t,26;" ": NEXT t 9530 BRIGHT 1: FOR t=0 TO 21: PRINT AT t,27;" ": NEXT t 9540 BRIGHT 0: PRINT AT 0,27;"ERASE";AT 7,27;"SWATH";AT 8,27;"SAVE ";AT 9,27;"CODES";AT 15,27;"STORE";AT 21,27;"PRINT" 9550 BRIGHT 1: LET a=28: LET j=1: GO SUB 9500 9560 LET j=10: GO SUB 9500: LET j=16: GO SUB 9500 9570 PRINT AT 6,a;"row": PAPER 7: BRIGHT 0: RETURN 9600 INPUT "Returning to current work? ";n$: IF n$<>"n" THEN PAPER 7: GO SUB 800: LET tx=5: LET ty=1: FOR t=1 TO 256: GO TO 9602 9601 GO TO 9608 9602 IF INT (ATTR (ty,tx)/8)<>7 THEN LET k(t)=1: GO TO 9605 9603 LET k(t)=0 9605 LET tx=tx+1: IF tx>20 THEN LET tx=5: LET ty=ty+1 9606 NEXT t 9608 LET ci=9000: FLASH 0: BORDER 5: PAPER 5: BRIGHT 0: FOR t=0 TO 21: PRINT AT t,0;" ": NEXT t 9610 LET bb=0: LET xp=32: LET yp=49: LET wp=28: LET xt=0: GO SUB 9720 9620 LET xp=50: LET yp=69: LET wp=48: LET xt=4: GO SUB 9720 9630 LET xp=70: LET yp=89: LET wp=68: LET xt=8: GO SUB 9720 9640 LET xp=90: LET yp=99: LET wp=88: LET xt=12: GO SUB 9720 9650 LET xp=100: LET yp=109: LET xt=11: GO SUB 9720 9660 LET xp=110: LET yp=127: LET wp=108: LET xt=16: GO SUB 9720 9670 LET xp=144: LET yp=164: LET wp=143: LET xt=21: LET bb=1: GO SUB 9720 9680 PAPER 7: PRINT AT 0,6;" ": PAPER 5: PRINT AT 16,25;" ";AT 16,19;"- ";AT 18,19;"- ";AT 0,0;"1 2";AT 1,0;"3 4" 9690 PRINT AT 0,5;"1";AT 0,9;"2";AT 0,13;"3";AT 0,17;"4": BRIGHT 1: PRINT AT 3,0;"C#:";AT 0,21;"UDG:";AT 20,16;"addr:": PAPER 7: BRIGHT 0: PRINT AT 21,16;"63568";AT 0,1;" ";AT 1,1;" " 9700 BRIGHT 0: RETURN 9720 FOR z=xp TO yp: LET aa=z-wp: PAPER 5: BRIGHT bb: PRINT AT aa,xt;z; 9730 POKE 23606,86: POKE 23607,251: PAPER 7: BRIGHT 0: PRINT CHR$ z: POKE 23606,0: POKE 23607,60: NEXT z: RETURN 9999 SAVE "UDG+" LINE 10: SAVE "UDG+" LINE 10 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;" }`}}}}}}}} CLASSY FRONT END DEMO }}}}}}}}}" 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 { STICK } 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;"}}}}}} MENU }}}}}}}" 8230 PAPER 7: FOR b=11 TO 19: GO SUB 7890+b*10: NEXT b 8240 RETURN 9999 SAVE "cfe/mc" LINE 3: SAVE "cfe/mc" LINE 3 1 REM window & porthole demo 2 CLS : PRINT AT 10,8;"just a second...";AT 14,0;"(to go to next demo after port- holes just press ""2"")";AT 0,0; 5 FOR t=55000 TO 56163: READ o: POKE t,o: NEXT t: DATA 213,197,229,245,217,8,213,197,229,245,17,216,214,33,3,4 10 DATA 125,1,3,15,185,40,5,12,16,250,24,10,124,1,4,25,185,40,6,12,16,250,33,10,16,34,118,92 1360 DATA 1,8,168,62,0,189,40,8,60,245,120,145,71,241,24,245,120,217,71,217,65,62,0,203,68,40,1,129,203,33,203,44,16,245 1370 DATA 217,79,197,217,235,209,229,1,112,0,9,126,254,128,40,16,131,79,35,126,130,71,35,229,213,205,62,38,209,225,24,235,35,233 1380 DATA 237,24,238,24,239,25,20,24,21,24,19,25,18,26,17,27,16,27,230,16,231,16,231,17,231,18,27,16,26,17,26,18,25,19,24,20,24,21 1390 DATA 231,235,230,236,231,236,229,237,230,237,231,237,229,238,230,238,231,238,228,239,229,239,230,239,231,239,24,236,24,237,25,238,26,239 1400 DATA 239,228,237,229,238,229,239,229,236,230,237,230,238,230,239,230,234,231,235,231,236,231,237,231,238,231,239,231,16,229,16,230,17,230,17,231,18,231,18,231,128 1410 DATA 37,1,36,0,9,229,62,2,205,48,18,42,118,92,62,35,148,103,62,27,149,111,69,76,205,20,9,1,157,3,225,34,54,92,9,233 1420 DATA 0,0,0,0,0,0,0,0.,0,1,6,24,32,192,3,12.,63,192,0,0,31,224,0,0.,255,0,0,0,255,0,0,0.,128,112,12,3,0,224,28,3 1430 DATA 12,24,48,97,194,132,136,8.,16,96,128,0,0,0,0,0.,130,65,32,16,8,4,4,2.,7,6,14,12,28,24,56,56.,16,32,32,64,64,128,128,128 1440 DATA 1,1,0,0,0,0,0,0.,16,8,136,132,68,66,66,34.,49,113,113,97,226,226,226,226.,34,33,33,17,17,17,17,17.,226,226,226,226,226,225,241,241 1450 DATA 17,17,17,17,33,33,34,34.,248,120,120,124,60,62,30,31.,128,128,64,64,32,16,8,4.,0,0,0,0,1,1,2,2.,68,68,132,136,8,16,16,32.,132,194,225,240,248,252,255,127 1460 DATA 0,0,0,192,32,24,6,129.,0,0,0,0,0,1,6,24.,4,8,16,32,193,2,12,24.,224,248,252,255,127,31,7,0.,240,15,0,0,224,255,255,127 1465 DATA 1,254,0,0,0,255,255,254.,224,1,7,31,252,240,192,0 1470 DATA 1,6,24,32,96,224,224,224.,255,0,0,0,0,0,0,0.,224,224,224,224,224,224,224,224.,224,24,6,1,1,1,1,1.,1,1,1,1,1,1,1,1.,1,1,1,6,28,248,240,192.,224,224,224,248,254,127,31,7.,0,0,0,0,0,255,255,255 1475 DATA 63,32,239,232,232,232,232,232.,255,0,255,0,0,0,0,0.,232,232,232,232,232,232,232,232.,255,1,253,5,5,5,5,5.,5,5,5,5,5,5,5,5.,5,5,5,253,1,255,252,252.,232,232,232,239,224,255,255,255.,0,0,0,255,0,255,255,255 1480 DATA 1,6,8,16,49,98,228,228.,255,0,0,255,0,0,0,0.,228,228,228,228,228,228,228,228.,224,24,4,194,34,17,9,9.,9,9,9,9,9,9,9,9.,17,34,194,4,24,240,224,128.,226,241,240,120,126,63,31,7.,0,0,255,0,0,255,255,255 1485 DATA 0,0,7,12,20,52,212,212.,14,19,253,1,7,15,9,6.,212,212,212,212,212,212,212,212.,0,0,255,1,1,1,1,1.,1,1,1,1,1,1,1,1.,1,1,255,2,254,4,252,248.,212,212,215,208,223,192,255,255.,0,0,255,0,255,0,255,255 1490 DATA 0,63,42,250,230,254,225,255.,0,255,170,170,170,170,170,255.,225,255,225,255,225,255,225,255.,0,254,170,174,178,190,194,254.,130,254,130,254,130,254,130,254.,130,254,178,174,170,254,248,248.,225,255,230,250,234,255,255,255.,255,170,170,170,170,255,255,255 1495 DATA 123,196,192,202,192,235,66,202.,219,36,0,170,0,255,0,0.,194,234,66,202,226,74,194,202.,239,17,1,169,2,233,33,41.,33,41,34,41,33,42,33,41.,33,233,2,169,1,17,255,222.,194,235,64,202,192,196,255,247.,0,255,0,170,0,36,255,183 1500 DATA 7,62,82,209,209,255,126,12.,255,0,0,0,0,0,0,0.,14,28,15,30,4,14,28,28.,240,30,9,9,9,30,56,32.,16,48,64,32,16,16,32,32.,16,30,9,9,9,30,248,192.,14,62,82,209,209,254,127,15.,0,0,0,0,0,0,255,255 1510 DATA 62,33,215,62,34,215,62,35,215,62,36,215,42,136,92,37,62,5,133,111,229,193,205,20,9,62,37,215,62,38,215,6,3,62,32,215,16,251 1520 DATA 62,39,215,42,136,92,37,62,7,133,111,229,193,205,20,9,62,40,215,62,41,215,6,4,62,32,215,16,251,62,42,215,62,43,215,42,136,92,37 1530 DATA 62,8,133,111,229,193,205,20,9,62,44,215,6,6,62,32,215,16,251,62,45,215,42,136,92,37,62,8,133,111,229,193,205,20,9,62,46,215 1540 DATA 6,6,62,32,215,16,251,62,47,215,42,136,92,37,62,8,133,111,229,193,205,20,9,62,48,215,62,49,215,6,4,62,32,215,16,251,62,50,215 1550 DATA 62,51,215,42,136,92,37,62,7,133,111,229,193,205,20,9,62,52,215,62,53,215,62,32,215,62,32,215,62,54,215,62,55,215,42,136,92,37 1560 DATA 62,5,133,111,229,193,205,20,9,62,56,215,62,57,215,62,58,215,62,59,215,209,33,0,60,34,54,92 2000 DATA 241,225,193,209,8,217,241,225,193,209,201 3000 CLS : LET l=55000: FOR t=1 TO 44: PRINT "@@@@@@@@@@@@@@@@";: NEXT t 3010 LET x=RND*28: IF x<4 THEN GO TO 3010 3020 LET y=RND*17: IF y<3 THEN RANDOMIZE : GO TO 3010 3030 POKE l+14,y: POKE l+15,x: LET k=USR l 3040 PRINT AT y,x-2;INT (y+.5);",";INT (x+.5): IF INKEY$="2" THEN GO TO 4000 3050 GO TO 3010 4000 CLS 4005 LET x=0: LET y=0: LET chars=23606: GO SUB 4160 4010 FOR g=108 TO 60 STEP -8 4020 PRINT AT y,x;CHR$ g; 4030 FOR h=x+1 TO x+18: PRINT CHR$ (g+1);: NEXT h: PRINT CHR$ (g+3) 4040 FOR h=y+1 TO y+14: PRINT AT h,x;CHR$ (g+2);" ";CHR$ (g+4): NEXT h 4050 PRINT AT y+15,x;CHR$ (g+6);: FOR h=x+1 TO x+18: PRINT CHR$ (g+7);: NEXT h 4060 PRINT CHR$ (g+5) 4090 LET d=((g-60)/8+65): GO SUB 4150: PRINT AT y+4,x+6;"WINDOW ";CHR$ d;AT y+9,x+3;"Press any key": IF d<>65 THEN PRINT AT y+10,x+2;"for next window.": GO SUB 4160: GO TO 4110 4100 PRINT AT y+10,x+6;"to STOP.": GO SUB 4160 4110 IF INKEY$="1" THEN GO SUB 4150: GO TO 3000 4120 IF INKEY$="" THEN GO TO 4110 4130 LET x=x+2: LET y=y+1: NEXT g 4140 GO SUB 4150: STOP 4150 POKE chars,0: POKE chars+1,60: RETURN 4160 POKE chars,221: POKE chars+1,214: RETURN 9999 SAVE "w&p" LINE 2: SAVE "w&p" LINE 2 ```