--- title: "The Fame & The Glory" type: "article" slug: "the-fame-the-glory" url: "http://localhost/article/the-fame-the-glory/" markdown_url: "http://localhost/article/the-fame-the-glory.md" published_at: "2022-06-06T00:31:37+00:00" modified_at: "2026-06-21T23:23:13+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "And now, here are a few more words about the last contest. First, we would like to thank all of the contributors who donated prizes for this contest. A&J Micro Drive, 1050 E. Duane Ave., Suite I Sunnyvale, CA 94086, (408) 732 9292, graciously donated one complete Micro Drive System, our 2068 first prize, which…" category: - name: "SyncWare News" slug: "syncware-news" taxonomy: "category" url: "http://localhost/category/periodicals/syncware-news/" post_tag: - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" indiv: - name: "Alfred DeGennaro" slug: "alfred-degennaro" taxonomy: "indiv" url: "http://localhost/indiv/alfred-degennaro/" - name: "Bernard Souchek" slug: "bernard-souchek" taxonomy: "indiv" url: "http://localhost/indiv/bernard-souchek/" - name: "Bob Dinardo" slug: "bob-dinardo" taxonomy: "indiv" url: "http://localhost/indiv/bob-dinardo/" - name: "Carlos Lytle" slug: "carlos-lytle" taxonomy: "indiv" url: "http://localhost/indiv/carlos-lytle/" - name: "Charles Peterson" slug: "charles-peterson" taxonomy: "indiv" url: "http://localhost/indiv/charles-peterson/" - name: "Chia-Chi Chao" slug: "chia-chi-chao" taxonomy: "indiv" url: "http://localhost/indiv/chia-chi-chao/" - name: "Christopher Nystrom" slug: "christopher-nystrom" taxonomy: "indiv" url: "http://localhost/indiv/christopher-nystrom/" - name: "Coyt Hackett" slug: "coyt-hackett" taxonomy: "indiv" url: "http://localhost/indiv/coyt-hackett/" - name: "David Ellis" slug: "david-ellis" taxonomy: "indiv" url: "http://localhost/indiv/david-ellis/" - name: "Don Dailey" slug: "don-dailey" taxonomy: "indiv" url: "http://localhost/indiv/don-dailey/" - name: "Dorothea Bundy" slug: "dorothea-bundy" taxonomy: "indiv" url: "http://localhost/indiv/dorothea-bundy/" - name: "Edward Pardo" slug: "edward-pardo" taxonomy: "indiv" url: "http://localhost/indiv/edward-pardo/" - name: "Eugene Dorrierre" slug: "eugene-dorrierre" taxonomy: "indiv" url: "http://localhost/indiv/eugene-dorrierre/" - name: "Gary Cormonde" slug: "gary-cormonde" taxonomy: "indiv" url: "http://localhost/indiv/gary-cormonde/" - name: "Gary Mueller" slug: "gary-mueller" taxonomy: "indiv" url: "http://localhost/indiv/gary-mueller/" - name: "Gerald W. Goegelein" slug: "gerald-w-goegelein" taxonomy: "indiv" url: "http://localhost/indiv/gerald-w-goegelein/" - name: "Gregory Harder" slug: "gregory-harder" taxonomy: "indiv" url: "http://localhost/indiv/gregory-harder/" - name: "Harry D. Peters" slug: "harry-d-peters" taxonomy: "indiv" url: "http://localhost/indiv/harry-d-peters/" - name: "Herbert Moulds" slug: "herbert-moulds" taxonomy: "indiv" url: "http://localhost/indiv/herbert-moulds/" - name: "James Hill" slug: "james-hill" taxonomy: "indiv" url: "http://localhost/indiv/james-hill/" - name: "Jean-Claude Touzin" slug: "jean-claude-touzin" taxonomy: "indiv" url: "http://localhost/indiv/jean-claude-touzin/" - name: "John (Basil) Wentworth" slug: "john-basil-wentworth" taxonomy: "indiv" url: "http://localhost/indiv/john-basil-wentworth/" - name: "John Byrne" slug: "john-byrne" taxonomy: "indiv" url: "http://localhost/indiv/john-byrne/" - name: "John Headley" slug: "john-headly" taxonomy: "indiv" url: "http://localhost/indiv/john-headly/" - name: "John Mathias" slug: "john-mathias" taxonomy: "indiv" url: "http://localhost/indiv/john-mathias/" - name: "John McMichael" slug: "john-mcmichael" taxonomy: "indiv" url: "http://localhost/indiv/john-mcmichael/" - name: "John T. Nguyen" slug: "john-t-nguyen" taxonomy: "indiv" url: "http://localhost/indiv/john-t-nguyen/" - name: "Ken Frankel" slug: "ken-frankel" taxonomy: "indiv" url: "http://localhost/indiv/ken-frankel/" - name: "Ken Hatch" slug: "ken-hatch" taxonomy: "indiv" url: "http://localhost/indiv/ken-hatch/" - name: "Kenneth Majors" slug: "kenneth-majors" taxonomy: "indiv" url: "http://localhost/indiv/kenneth-majors/" - name: "Leroy Keith Watson" slug: "keith-watson" taxonomy: "indiv" url: "http://localhost/indiv/keith-watson/" - name: "Mark Stueber" slug: "mark-stueber" taxonomy: "indiv" url: "http://localhost/indiv/mark-stueber/" - name: "Mel E. LaVerne" slug: "m-e-laverne" taxonomy: "indiv" url: "http://localhost/indiv/m-e-laverne/" - name: "Michael Kudelka" slug: "michael-kudelka" taxonomy: "indiv" url: "http://localhost/indiv/michael-kudelka/" - name: "Mike Finn" slug: "mike-finn" taxonomy: "indiv" url: "http://localhost/indiv/mike-finn/" - name: "Owen Christianson" slug: "owen-christianson" taxonomy: "indiv" url: "http://localhost/indiv/owen-christianson/" - name: "Paul Allain" slug: "allain-paul" taxonomy: "indiv" url: "http://localhost/indiv/allain-paul/" - name: "Paul Edwards" slug: "paul-edwards" taxonomy: "indiv" url: "http://localhost/indiv/paul-edwards/" - name: "Peter McMullin" slug: "peter-mcmullin" taxonomy: "indiv" url: "http://localhost/indiv/peter-mcmullin/" - name: "Ralph Vasko" slug: "ralph-vasko" taxonomy: "indiv" url: "http://localhost/indiv/ralph-vasko/" - name: "Randy Moulder" slug: "randy-moulder" taxonomy: "indiv" url: "http://localhost/indiv/randy-moulder/" - name: "Randy Smith" slug: "randy-smith" taxonomy: "indiv" url: "http://localhost/indiv/randy-smith/" - name: "Richard Bredhoff" slug: "richard-bredhoff" taxonomy: "indiv" url: "http://localhost/indiv/richard-bredhoff/" - name: "Richard Gold" slug: "richard-gold" taxonomy: "indiv" url: "http://localhost/indiv/richard-gold/" - name: "Robert Fischer" slug: "robert-fischer" taxonomy: "indiv" url: "http://localhost/indiv/robert-fischer/" - name: "Robert Schubel" slug: "robert-schubel" taxonomy: "indiv" url: "http://localhost/indiv/robert-schubel/" - name: "Robert W. Annis" slug: "robert-annis" taxonomy: "indiv" url: "http://localhost/indiv/robert-annis/" - name: "Russell Parker (W9CQD)" slug: "russell-parker" taxonomy: "indiv" url: "http://localhost/indiv/russell-parker/" - name: "Stan Lemke" slug: "stan-lemke" taxonomy: "indiv" url: "http://localhost/indiv/stan-lemke/" - name: "Stephen Jonke" slug: "stephen-jonke" taxonomy: "indiv" url: "http://localhost/indiv/stephen-jonke/" - name: "Thomas Arbster" slug: "thomas-arbster" taxonomy: "indiv" url: "http://localhost/indiv/thomas-arbster/" - name: "Wes Brzozowski" slug: "wes-brzozowski" taxonomy: "indiv" url: "http://localhost/indiv/wes-brzozowski/" - name: "William Pollock" slug: "william-pollock" taxonomy: "indiv" url: "http://localhost/indiv/william-pollock/" publication: "SyncWare News" publication_r: id: 10245 title: "SyncWare News" type: "periodical" url: "http://localhost/periodical/syncware-news/" volume: "3" issue: "4" issues_articles: - id: 38953 title: "SyncWare News v3 n4" type: "issue" url: "http://localhost/issue/syncware-news-v3-n4/" pages: "17" pubdate: "Mar-Apr 1986" related_articles: - id: 37737 title: "2068 Window" type: "article" url: "http://localhost/article/2068-window/" - id: 38982 title: "64 Column BASIC" type: "article" url: "http://localhost/article/2068-64-column-basic/" archive_link: false volumeissue: "v3n4" article_media: - id: 51102 title: "Perimipics" type: "computer_media" url: "http://localhost/computer_media/perimipics/" - id: 51104 title: "Majesti-Calc" type: "computer_media" url: "http://localhost/computer_media/majesti-calc/" - id: 51107 title: "PCB Aid" type: "computer_media" url: "http://localhost/computer_media/pcb-aid/" - id: 51108 title: "64 Column Utility" type: "computer_media" url: "http://localhost/computer_media/64-column-utility/" - id: 51179 title: "ExFont 1.1" type: "computer_media" url: "http://localhost/computer_media/exfont-1-1/" - id: 51185 title: "2068 Window" type: "computer_media" url: "http://localhost/computer_media/window/" - id: 49718 title: "64 Column BASIC" type: "computer_media" url: "http://localhost/computer_media/64-column-basic/" - id: 54960 title: "Flash" type: "computer_media" url: "http://localhost/computer_media/flash/" - id: 56676 title: "DemoPeek" type: "computer_media" url: "http://localhost/computer_media/demopeek/" - id: 56679 title: "GET_GMC" type: "computer_media" url: "http://localhost/computer_media/get_gmc/" - id: 56711 title: "Scroller" type: "computer_media" url: "http://localhost/computer_media/scroller/" - id: 64704 title: "Animation" type: "computer_media" url: "http://localhost/computer_media/animation/" - id: 64712 title: "Lottery" type: "computer_media" url: "http://localhost/computer_media/lottery/" - id: 64785 title: "Simulated Underline Cursor" type: "computer_media" url: "http://localhost/computer_media/simulated-underline-cursor/" --- # The Fame & The Glory And now, here are a few more words about the last contest. First, we would like to thank all of the contributors who donated prizes for this contest. - [A&J Micro Drive](http://localhost/company/a-j-micro-drive/), 1050 E. Duane Ave., Suite I Sunnyvale, CA 94086, (408) 732 9292, graciously donated one complete Micro Drive System, our 2068 first prize, which has been awarded to [John Nguyen](http://localhost/indiv/john-t-nguyen/). - [G. Russell Electronics](http://localhost/company/g-russell-electronics/), RD1 Box 539, Centre Hall, РА 16828, (814) 364 1325, supplied 2 ROMswitches and a Winky Board 2000 signal conditioner as prizes. - [Byte-Back](http://localhost/company/byte-back-co/), RT 4 Box 54, Leesville, SC 29070, (803) 532 5812, donated а UM-64 Ram pack to be given as а prize. - [John Oliger](http://localhost/company/john-oliger-co/), 11601 Whidbey Dr., Cumberland, IN 16229, supplied a video upgrade kit (see SWN 2/1 & 2/2) and expansion board to be our 1000 first prize (which I rather enjoyed building), that was sent on to [Gregory Harder](http://localhost/indiv/gregory-harder/), along with a premodified 1000 board. I’m sure that all of you will agree that this is indeed a formidable list of prizes for a TS based contest and we would like to thank those suppliers for their help. There are a few other people who rightly deserve a lot of recognition for their behind the scenes work. We cannot forget the judges! Our thanks go out to Dan Pinko and the Vancouver User group; Bob Heil and the Central PA User group; and Mark Fisher and the Capitol Area User group. Diligent group members toiled for hours trying to narrow down the field to the finalists, In reviewing each user group Scoresheet, Г was very impressed at the attention to detail and completeness of examination that each program went through. All of this effort made the job of picking the winners conceivable. It was still necessary for each of us to review 22 programs, bicker and quibble, tear our hair out and pick the winners, I might add (without the specifics) that only ONE program was picked unanimously. This was the 64 column Basic by Wes Brzozowski which was a second place winner. The other winners were 2/1 splits. Suffice it to say that contest judging, albeit fun, is NOT easy! Meanwhile, we’ve been scratching our heads to come up with ideas for the next GIANT CONTEST. Ideally, the topic would be less general than the last contest; judging such a broad range of programs was very difficult, at best. Oh yes! We have not forgotten the most important group, all of the contestants. There were many fine programs submitted. We will print as many of them as we can and as soon as we can. For all of the non-winners, fear not! SWN does indeed compensate for submitted original articles as they are published. However, please show the virtue of patience. We can only work up just so many at a time, just so you don’t forget who you are, here are all of you! - [Mark Stueber](http://localhost/indiv/mark-stueber/), Mechanicsville, VA 23111 - [Harry D. Peters](http://localhost/indiv/harry-d-peters/), Saxton, PA 16678 - [Michael Finn](http://localhost/indiv/mike-finn/), Philadelphia, PA 19137 - [Richard Gold](http://localhost/indiv/richard-gold/), Indian Head, MD 20640 - [Wes Brzozowski](http://localhost/indiv/wes-brzozowski/), Endicott, NY 13760 - [Robert Schubel](http://localhost/indiv/robert-schubel/), Rahway, NJ 07065 - [Richard Bredhoff](http://localhost/indiv/richard-bredhoff/), Brooklyn, NY 11236 - [John Headley](http://localhost/indiv/john-headley/), Tunkhannock, PA 18657 - [Ed Pardo](http://localhost/indiv/edward-pardo/), Hopatcong, NJ 07843 - [Ken Frankel](http://localhost/indiv/ken-frankel/), Hopatcong, NJ 07843 - [Stephen Jonke](http://localhost/indiv/stephen-jonke/), Glen Arm, MD 21057 - [Ralph Vasko](http://localhost/indiv/ralph-vasko/), Donora, PA 15033 - [M. E. LaVerne](http://localhost/indiv/m-e-laverne/), Oakridge, TN 37830 - [John Nguyen](http://localhost/indiv/john-t-nguyen/), Louisville, KY 40213 - [Robert Fischer](http://localhost/indiv/robert-fischer/), Summerville, GA 30747 - [Gary Mueller](http://localhost/indiv/gary-mueller/), Watuga, TX 76148 - [Eugene Dorrierre](http://localhost/indiv/eugene-dorrierre/), St. Louis, MO 63130 - [Basil Wentworth](http://localhost/indiv/john-basil-wentworth/), Bloomington, IN 47401 - [Michael Kudelka](http://localhost/indiv/michael-kudelka/), St. Louis, MO 63115 - [John Byrne](http://localhost/indiv/john-byrne/), Cookeville, TN 38501 - [Paul Allain](http://localhost/indiv/allain-paul/), Gardinez, MA 01440 - [Bob Dinardo](http://localhost/indiv/bob-dinardo/), Kendall Park, NJ 08824 - [Randy Moulder](http://localhost/indiv/randy-moulder/), Vienna, VA 22180 - [Owen Christianson](http://localhost/indiv/owen-christianson/), Buffalo, NY 14222 - [Russell Parker](http://localhost/indiv/russell-parker/), Skokie, IL 60076 - [Robert Annis](http://localhost/indiv/robert-annis/), Oakley, KS 67748 - [Thomas Arbster](http://localhost/indiv/thomas-arbster/), Bethany, OK 73008 - [Stanley Lemke](http://localhost/indiv/stan-lemke/), Wichita, KS 67207 - [Coyt Hackett](http://localhost/indiv/coyt-hackett/), Mariposa, CA 95338 - [Herbert Moulds](http://localhost/indiv/herbert-moulds/), Detroit, MI 48219 - [Ken Majors](http://localhost/indiv/kenneth-majors/), NAS, Meridian, MS 39305 - [Chuck Peterson](http://localhost/indiv/charles-peterson/), Alcester, SD 57001 - [Dottie Bundy](http://localhost/indiv/dorothea-bundy/), Ventura, CA 93003 - [Jean Claude Touzin](http://localhost/indiv/jean-claude-touzin/), La Sarre, P.Q. Canada J9Z 2X4 - [Randy Smith](http://localhost/indiv/randy-smith/), Fresno, CA 93703 - [Paul Edwards](http://localhost/indiv/paul-edwards/), Pelican Bay, TX 76020 - [Ken Hatch](http://localhost/indiv/ken-hatch/), Aloha, OR 97007 - [Don Dailey](http://localhost/indiv/don-dailey/), Great Falls, MT 59405 - [Bernard Souchek](http://localhost/indiv/bernard-souchek/), Deweese, NE 68934 - [Peter McMullin](http://localhost/indiv/peter-mcmullin/), Toronto, Ontario, Canada M4E 1G9 - [Leroy Watson](http://localhost/indiv/keith-watson/), Mt. Clemens, MI 48044 - [Carlos Lytle](http://localhost/indiv/carlos-lytle/), Worthington, OH 43085 - [John Mathias](http://localhost/indiv/john-mathias/), North Riverside, IL 60546 - [James Hill](http://localhost/indiv/james-hill/), Helena, MT 59601 - [Chia-Chi Chao](http://localhost/indiv/chia-chi-chao/), Moraga, CA 94556 - [William Pollock](http://localhost/indiv/william-pollock/), Jefferson City, MO 65101 - [Gregory Harder](http://localhost/indiv/gregory-harder/), Denver, CO 80206 - [John McMichael](http://localhost/indiv/john-mcmichael/), Bozeman, MT 59715 - [G. W. Goegelin](http://localhost/indiv/gerald-w-goegelein/), Phoenix, AZ 85032 - [Chris Nystrom](http://localhost/indiv/christopher-nystrom/), Austin, TX 78758 - [Gary Cormonde](http://localhost/indiv/gary-cormonde/), Leavenworth, KS 66048 - [Alfred DeGennaro](http://localhost/indiv/alfred-degennaro/), Parma, OH 44134 - [David Ellis](http://localhost/indiv/david-ellis/), Austin, TX 78753 ## Source Code: Perimipics ``` 1 REM ![hq#> GO SUB x+ THEN RESET 6+ THEN G 6+ THEN O 6+ THEN W 6+ THEN _USR 6<> 10 LET A$=" " 15 LET A$=A$+A$+A$+A$+A$+A$+A$+A$+A$ 17 LET A$=A$+A$ 20 LET SC=0: LET X=26715 25 PRINT AT 2,11;"PERIMIPICS";AT 5,3;"Construct your picture withinthe boundary of the green borderusing either keyboard (unshiftedcursor control keys 5-8) or rt. joystick to move the ""*"" cursor.";'';" Press the ""1"" key or joystick""fire"" button to lay an ink tile(i.e. expanded pixel).";'';" Press the ""0"" key to remove atile.";'';" Press the ""s"" key when the picture is completed.";'';" Press ANY key to continue." 30 PAUSE 4E4: CLS 40 INK 4: PLOT 0,0: DRAW 192,0: DRAW 0,175: INK 0 55 PRINT AT 0,0;"*" 60 IF INKEY$<>"" THEN GO TO 69 61 RANDOMIZE USR 26720 62 LET SC=SC+PEEK X+24*PEEK (X+2)-PEEK (X+1)-24*PEEK (X+3): LET W=PEEK (X+4) 63 GO TO 90 69 LET W=0 70 LET P=PEEK 23560 80 LET SC=SC+(P=56)+24*(P=54)-(P=53)-24*(P=55) 90 IF SC<0 THEN LET SC=0 100 IF SC>527 THEN LET SC=527 110 LET V=INT (SC/24) 120 LET H=SC-24*V 130 LET Z$="*" 140 PAUSE 3: PRINT AT V,H;Z$ 150 PAUSE 3: PRINT AT V,H;A$(SC+1) 160 IF W=1 OR INKEY$="1" THEN LET A$(SC+1)="\::" 170 IF INKEY$="0" THEN LET A$(SC+1)=" " 190 IF INKEY$<>"s" THEN GO TO 60 191 CLS : PRINT FLASH 1;AT 5,12;"STAND BY"; FLASH 0;AT 8,7;"Graphic characters";AT 9,6;"are being generated.";AT 15,5;"The computer will BEEP when";';"finished - your picture will be stored in graphic characters A-I" 200 LET N=1 205 FOR O=65368 TO 65416 STEP 24 210 FOR C=0 TO 7 220 FOR R=0 TO 2 230 LET B=0 240 FOR H=7 TO 0 STEP -1 250 LET M=(A$(N)="\::") 260 LET B=B+M*2^H 270 LET N=N+1 280 NEXT H 290 POKE (O+R*8+C),B 300 NEXT R: NEXT C: NEXT O 302 BEEP .25,12: BEEP 1,12 310 CLS 312 PRINT AT 2,4;"You may now:";'';TAB 6;"*Use the ""NEW"" command -";';TAB 7;"the graphic characters";';TAB 7;"will be preserved.";'';TAB 6;"*Use the ""DELETE ,313""";';TAB 7;"command to remove the";';TAB 7;"utility program - the";';TAB 7;"border subroutine and";';TAB 7;"graphic characters are";';TAB 7;"available to ""MERGE""";';TAB 7;"with your own program.";'';TAB 6;"*Use the ""GOSUB 9987"" com-";';TAB 7;"mand to display your";';TAB 7;"PERIMIPICS to the screen.";'';TAB 6;"*Use the ""RUN"" command";';TAB 7;"to start over." 313 STOP 9986 REM *PERIMIPICS subroutine* 9987 CLS 9988 FOR C=0 TO 29 STEP 29 9989 FOR R=0 TO 18 STEP 3 9990 GO SUB 9999 9991 NEXT R: NEXT C 9992 LET M=3: LET N=12 9993 FOR R=0 TO 18 STEP 18 9994 FOR C=M TO N STEP 3 9995 GO SUB 9999 9996 NEXT C: NEXT R 9997 IF M=17 THEN RETURN 9998 LET M=17: LET N=26: GO TO 9993 9999 PRINT AT R,C;"\a\b\c";AT R+1,C;"\d\e\f";AT R+2,C;"\g\h\i": RETURN ``` ## Source Code: Majesti-Calc ``` 10 GO TO 40 20 CLEAR 64715 30 LOAD ""CODE 40 RANDOMIZE USR 64719 100 LET W=0 105 LET Q=0 110 DIM D$(300,5) 115 DIM I$(300,20) 120 DIM C$(300,1) 122 DIM b$(300,20) 125 DIM C(300) 130 DIM E$(200,5) 135 DIM J$(200,20) 140 DIM F$(200,1) 142 DIM a$(200,20) 145 DIM D(40) 150 BORDER 5: PAPER 7: INK 0 1000 REM MENU 1002 CLS 1005 PRINT ,,"1-SEE BILLS" 1007 PRINT ,," 2-SORT BILLS" 1010 PRINT ,,"3-SEE INCOME" 1012 PRINT ,," 4-SORT INCOME" 1015 PRINT ,,"5-INPUT BILLS" 1020 PRINT ,,"6-INPUT INCOME" 1025 PRINT ,,"7-SAVE BILLS" 1030 PRINT ,,"8-SAVE INCOME" 1033 PRINT ,,"9-LOAD BILLS" 1038 PRINT ,,"0-LOAD INCOME" 1039 PRINT ,,"C-CHANGE DATA" 1040 INPUT M$ 1050 IF M$="1" THEN GO TO 2000 1055 IF M$="2" THEN GO TO 2300 1060 IF M$="3" THEN GO TO 2500 1065 IF M$="4" THEN GO TO 2800 1070 IF M$="5" THEN GO TO 3000 1075 IF M$="6" THEN GO TO 3500 1080 IF M$="7" THEN GO TO 1300 1085 IF M$="8" THEN GO TO 1400 1086 IF M$="9" THEN GO TO 1600 1088 IF M$="0" THEN GO TO 1800 1089 IF M$="C" THEN GO TO 3600 1090 GO TO 1040 1300 REM SAVE BILLS 1305 CLS 1310 PRINT ,,"Position Tape In Correct Place": PRINT ,,"And Press ENTER" 1320 INPUT K$ 1330 SAVE "BILLS" DATA D$() 1335 SAVE "BILL" DATA I$() 1340 SAVE "BIL" DATA C$() 1342 SAVE "billsa" DATA b$() 1345 SAVE "BI" DATA C() 1350 GO TO 1000 1400 REM SAVE INCOME 1405 CLS 1410 PRINT ,,"Position Tape In Correct Place": PRINT ,,"And Press ENTER" 1420 INPUT k$ 1430 SAVE "INCOME" DATA E$() 1435 SAVE "INCOM" DATA J$() 1440 SAVE "INCO" DATA F$() 1442 SAVE "incomea" DATA a$() 1445 SAVE "INC" DATA D() 1450 GO TO 1000 1600 REM LOAD BILLS 1605 CLS 1610 PRINT ,,"Position Tape In Correct Place": PRINT ,,"And Press ENTER " 1620 INPUT k$ 1630 LOAD "BILLS" DATA D$() 1635 LOAD "BILL" DATA I$() 1640 LOAD "BIL" DATA C$() 1642 LOAD "billsa" DATA b$() 1645 LOAD "BI" DATA C() 1650 PRINT ,,"Stop Tape Recorder": PAUSE 100 1655 FOR I=1 TO 500 1660 IF C(I)=0 THEN GO TO 1670 1665 NEXT I 1670 LET W=I-1 1675 GO TO 1000 1800 REM LOAD INCOME 1805 CLS 1810 PRINT ,,"Position Tape In Correct Place": PRINT ,,"And Press ENTER" 1820 INPUT K$ 1830 LOAD "INCOME" DATA E$() 1835 LOAD "INCOM" DATA J$() 1840 LOAD "INCO" DATA F$() 1842 LOAD "incomea" DATA a$() 1845 LOAD "INC" DATA D() 1850 PRINT ,,"Stop Tape Recorder": PAUSE 100 1855 FOR I=1 TO 500 1860 IF D(I)=0 THEN GO TO 1870 1865 NEXT I 1870 LET Q=I-1 1875 GO TO 1000 2000 REM SEE BILLS 2005 CLS 2010 PRINT "1-Print Copy & On Screen": PRINT ,,"2-Print Just On Screen" 2015 INPUT N$: CLS 2020 PRINT TAB 10;"TOTAL BILLS" 2022 PRINT TAB 10;"-----------" 2025 IF N$="1" THEN LPRINT TAB 30;"TOTAL BILLS" 2027 IF N$="1" THEN LPRINT TAB 30;"-----------" 2030 PRINT : IF N$="1" THEN LPRINT 2035 PRINT "DATE";TAB 5;"CODE";TAB 11;"DESCRIPTION";TAB 23;"COST": PRINT 2040 IF N$="1" THEN LPRINT "DATE";TAB 7;"CODE";TAB 20;"TO";TAB 40;"DESCRIPTION";TAB 60;"COST": 2042 IF N$="1" THEN LPRINT "---------------------------------------------------------------------" 2045 LET L=0 2050 FOR J=1 TO 150 2055 IF C(J)=0 THEN GO TO 2080 2060 PRINT D$(J);TAB 5;"\::";C$(J);"-";I$(J);" \::";b$(J);TAB 23;"\::";C(J) 2063 PRINT 2065 IF N$="1" THEN LPRINT D$(J);TAB 9;C$(J);TAB 16;b$(J);TAB 39;I$(J);TAB 61;C(J) 2070 LET L=L+C(J) 2075 NEXT J 2080 PRINT : IF N$="1" THEN LPRINT 2085 PRINT TAB 10;"TOTAL=$";L 2090 IF N$="1" THEN LPRINT TAB 50;"TOTAL=$";L 2095 PRINT : IF N$="1" THEN LPRINT 2100 PRINT "1-Return To Main Menu": PRINT "2-Sort Bills" 2105 INPUT m$ 2110 IF m$="1" THEN GO TO 1000 2113 IF m$="2" THEN GO TO 2300 2115 GO TO 2105 2300 REM SORT BILLS 2305 CLS : LET L=0 2310 PRINT "1-Print Copy & On Screen": PRINT ,,"2-Print Just On Screen" 2315 INPUT N$: PRINT 2320 PRINT "Input Code To Sort By": INPUT Z$: PRINT Z$: CLS 2321 PRINT "DATE";TAB 5;"CODE";TAB 11;"DESCRIPTION";TAB 23;"COST": PRINT 2323 IF N$="1" THEN LPRINT "DATE";TAB 7;"CODE";TAB 20;"TO";TAB 40;"DESCRIPTION";TAB 60;"COST": 2324 IF N$="1" THEN LPRINT "---------------------------------------------------------------------" 2325 FOR B=1 TO 200 2330 IF C(B)=0 THEN GO TO 2370 2335 IF C$(B)=Z$ THEN GO TO 2345 2340 NEXT B 2345 PRINT D$(B);TAB 5;"\::";C$(B);"-";I$(B);" \::";b$(J);TAB 23;"\::";C(B) 2348 PRINT 2350 IF N$="1" THEN LPRINT D$(B);TAB 9;C$(B);TAB 16;b$(B);TAB 39;I$(B);TAB 61;C(B) 2355 LET L=L+C(B) 2360 NEXT B 2370 PRINT : PRINT TAB 10;"TOTAL=$";L 2375 IF N$="1" THEN LPRINT : LPRINT TAB 50;"TOTAL=$";L: 2380 PRINT : PRINT "Press Any Key To Continue": INPUT a$ 2385 GO TO 1000 2500 REM SEE INCOME 2505 CLS : LET Y=0 2510 PRINT "1-Print Copy & On Screen": PRINT ,,"2-Print Just On Screen" 2515 INPUT N$: CLS 2520 PRINT TAB 10;"TOTAL INCOME": PRINT 2525 IF N$="1" THEN LPRINT TAB 30;"TOTAL INCOME": LPRINT TAB 30;"------------" 2530 PRINT "DATE";TAB 6;"CODE";TAB 13;"DESCRIPTION";TAB 25;"AMOUNT": LPRINT 2535 IF N$="1" THEN LPRINT "DATE";TAB 7;"CODE";TAB 20;"TO";TAB 40;"DESCRIPTION";TAB 61;"AMOUNT": 2537 IF N$="1" THEN LPRINT "---------------------------------------------------------------------" 2540 LET Y=0 2545 FOR J=1 TO 200 2550 IF D(J)=0 THEN GO TO 2580 2555 PRINT E$(J);TAB 5;"\::";F$(J);"-";J$(J);" \:: ";a$(J);TAB 23;"\::";D(J) 2558 PRINT 2560 IF N$="1" THEN LPRINT E$(J);TAB 9;F$(J);TAB 16;a$(J);TAB 39;J$(J);TAB 61;D(J) 2565 LET Y=Y+D(J) 2570 NEXT J 2580 PRINT : PRINT TAB 10;"TOTAL=$";Y 2585 IF N$="1" THEN LPRINT : LPRINT TAB 50;"TOTAL=$";Y 2590 PRINT : IF N$="1" THEN LPRINT 2595 PRINT "1-Return To Main Menu": PRINT "2-Sort Income" 2600 INPUT m$ 2605 IF m$="1" THEN GO TO 1000 2608 IF m$="2" THEN GO TO 2800 2610 GO TO 2600 2800 REM SORT INCOME 2805 CLS : LET Y=0 2810 PRINT "1-Print Copy & On Screen": PRINT ,,"2-Print Just On Screen" 2815 INPUT N$: PRINT 2820 PRINT "Input Code To Sort By": INPUT Z$: CLS 2822 PRINT "DATE";TAB 5;"CODE";TAB 11;"DESCRIPTION";TAB 23;"COST": PRINT 2824 IF N$="1" THEN LPRINT "DATE";TAB 7;"CODE";TAB 20;"TO";TAB 40;"DESCRIPTION";TAB 60;"COST": 2825 IF N$="1" THEN LPRINT "---------------------------------------------------------------------" 2827 FOR B=1 TO 200 2830 IF D(B)=0 THEN GO TO 2870 2835 IF F$(B)=Z$ THEN GO TO 2845 2840 NEXT B 2845 PRINT E$(B);TAB 5;"\::";F$(B);"-";J$(B);" \:: ";a$(B);TAB 23;"\::";D(B) 2848 PRINT 2850 IF N$="1" THEN LPRINT E$(B);TAB 9;F$(B);TAB 16;a$(B);TAB 39;J$(B);TAB 61;D(B) 2855 LET Y=Y+D(B) 2860 NEXT B 2870 PRINT : PRINT TAB 10;"TOTAL=$";Y: PRINT 2875 IF N$="1" THEN LPRINT : LPRINT TAB 50;"TOTAL=$";Y: LPRINT 2880 PRINT ,,"Press Any Key To Continue": INPUT a$ 2885 GO TO 1000 3000 REM INPUT BILLS 3005 LET W=W+1 3007 CLS 3010 PRINT ,,"Input Date" 3015 INPUT D$(W): PRINT D$(W) 3020 PRINT ,,"Input Code" 3025 INPUT C$(W): PRINT C$(W) 3027 PRINT ,,"Input Who To " 3028 INPUT b$(W): PRINT b$(W) 3030 PRINT ,,"Input Description" 3035 INPUT I$(W): PRINT I$(W) 3040 PRINT ,,"Input Cost" 3045 INPUT C(W): PRINT C(W) 3050 PRINT : PRINT "Information Correct ?": INPUT M$ 3055 IF M$="n" OR M$="no" THEN GO TO 3007 3065 PRINT ,,"1-Input More Bills": PRINT "2-Return To Main Menu": 3068 INPUT m$ 3070 IF m$="1" THEN GO TO 3000 3075 IF m$="2" THEN GO TO 1000 3080 GO TO 3068 3500 REM INPUT INCOME 3502 LET Q=Q+1 3505 CLS 3510 PRINT ,,"Input Date" 3515 INPUT E$(Q): PRINT E$(Q) 3520 PRINT ,,"Input Code" 3525 INPUT F$(Q): PRINT F$(Q) 3527 PRINT ,,"Input Who To" 3528 INPUT a$(Q): PRINT a$(Q) 3530 PRINT ,,"Input Description" 3535 INPUT J$(Q): PRINT J$(Q) 3540 PRINT ,,"Input Amount" 3545 INPUT D(Q): PRINT D(Q) 3550 PRINT : PRINT "Information Correct ?": INPUT M$ 3555 IF M$="n" OR M$="no" THEN GO TO 3505 3565 PRINT : PRINT "1-Input More Income": PRINT "2-Return To Main Menu": 3568 INPUT m$ 3570 IF m$="1" THEN GO TO 3500 3575 IF m$="2" THEN GO TO 1000 3580 GO TO 3568 3600 REM CHANGE DATA 3605 CLS 3610 PRINT "Do You Want To Change The": PRINT "Bills Or Income ? (B or I)": PRINT 3615 INPUT u$ 3620 PRINT ,,"Input Line Number": PRINT "You Want To Change": PRINT 3625 INPUT q 3630 PRINT "Input New Date" 3635 INPUT q$: PRINT q$: PRINT 3640 PRINT "Input New Code" 3645 INPUT w$: PRINT w$: PRINT 3650 PRINT "Input New " 3655 INPUT p$: PRINT p$: PRINT 3660 PRINT "Input New Description" 3665 INPUT r$: PRINT r$: PRINT 3670 PRINT "Input New Cost" 3675 INPUT t: PRINT t: PRINT 3680 PRINT ,,"Is This Correct ?" 3685 INPUT y$ 3690 IF y$="n" OR y$="no" THEN GO TO 3600 3695 IF u$="B" THEN LET D$(q)=q$ 3697 IF u$="B" THEN LET C$(q)=w$ 3700 IF u$="B" THEN LET b$(q)=p$ 3702 IF u$="B" THEN LET I$(q)=r$ 3705 IF u$="B" THEN LET c(q)=t 3710 IF u$="I" THEN LET E$(q)=q$ 3712 IF u$="I" THEN LET F$(q)=w$ 3715 IF u$="I" THEN LET a$(q)=p$ 3717 IF u$="I" THEN LET J$(q)=r$ 3720 IF u$="I" THEN LET D(q)=t 3730 GO TO 1000 ``` ## Source Code: PCB Aid ``` 5 CLS : PLOT 40,20: DRAW 110,0: DRAW 60,140: DRAW -110,0: DRAW -60,-140: DRAW 0,-4: DRAW 110,0: PLOT 150,20: DRAW 0,-4: DRAW 60,140: DRAW 0,-4: PLOT 65,20: DRAW 3,10: DRAW 4,0: DRAW -3,-10: PLOT 180,20: DRAW 60,140: PLOT 178,25: DRAW 2,-5: DRAW 5,2: PLOT 235,158: DRAW 5,2: DRAW 2,-5 7 PRINT AT 7,14;"PRINTED";AT 9,13;"CIRCUIT";AT 11,12;"BOARD";AT 17,7;"slot";AT 9,24; FLASH 1;"LENGTH?"; FLASH 0 10 LET x=144 20 FOR n=0 TO 7 30 READ r: IF r=256 THEN GO TO 140 40 POKE USR CHR$ x+n,r 50 NEXT n 60 LET x=x+1: GO TO 20 100 DATA 60,60,60,60,60,60,60,60 110 DATA 63,63,63,63,63,63,63,63 120 DATA 252,252,252,252,252,252,252,252 130 DATA 36,0,36,0,36,0,36,0 132 DATA 0,60,0,0,0,0,60,0 135 DATA 256 140 LET t$="\a\a\a\a\a\d\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a" 150 LET b$=t$ 160 LET b$(7 TO 8)="\b\c" 165 LET e$="\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e" 170 INPUT "LENGTH OF P.C. BOARD IN INCHES?"'l 175 CLS : PRINT AT 8,6;"TURN PRINTER ON AND";AT 11,3;"PRESS ANY KEY TO CONTINUE" 176 PAUSE 4E4: CLS 180 LET lt=16*l-4 190 LPRINT b$: LPRINT b$ 200 FOR n=1 TO lt 205 LPRINT 210 IF n=l*8-2 THEN LPRINT e$ 220 NEXT n 230 LPRINT t$: LPRINT t$ 240 STOP 300 LPRINT e$: GO TO 220 5 CLS : PLOT 40,20: DRAW 110,0: DRAW 60,140: DRAW -110,0: DRAW -60,-140: DRAW 0,-4: DRAW 110,0: PLOT 150,20: DRAW 0,-4: DRAW 60,140: DRAW 0,-4: PLOT 65,20: DRAW 3,10: DRAW 4,0: DRAW -3,-10: PLOT 180,20: DRAW 60,140: PLOT 178,25: DRAW 2,-5: DRAW 5,2: PLOT 235,158: DRAW 5,2: DRAW 2,-5 7 PRINT AT 7,14;"PRINTED";AT 9,13;"CIRCUIT";AT 11,12;"BOARD";AT 17,7;"slot";AT 9,24; FLASH 1;"LENGTH?"; FLASH 0 10 LET x=144 20 FOR n=0 TO 7 30 READ r: IF r=256 THEN GO TO 140 40 POKE USR CHR$ x+n,r 50 NEXT n 60 LET x=x+1: GO TO 20 100 DATA 60,60,60,60,60,60,60,60 110 DATA 63,63,63,63,63,63,63,63 120 DATA 252,252,252,252,252,252,252,252 130 DATA 36,0,36,0,36,0,36,0 132 DATA 0,60,0,0,0,0,60,0 135 DATA 256 140 LET t$="\a\a\a\a\a\d\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a" 150 LET b$=t$ 160 LET b$(7 TO 8)="\b\c" 165 LET e$="\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e" 170 INPUT "LENGTH OF P.C. BOARD IN INCHES?"'l 175 CLS : PRINT AT 8,6;"TURN PRINTER ON AND";AT 11,3;"PRESS ANY KEY TO CONTINUE" 176 PAUSE 4E4: CLS 180 LET lt=16*l-4 190 LPRINT b$: LPRINT b$ 200 FOR n=1 TO lt 205 LPRINT 210 IF n=l*8-2 THEN LPRINT e$ 220 NEXT n 230 LPRINT t$: LPRINT t$ 240 STOP 300 LPRINT e$: GO TO 220 ``` ## Source Code: 64 Column Utility ``` 1 REM *********************** 2 REM 64 Column Print Utility 3 REM RESET by S D Lemke 4 REM 2144 White Oak 5 REM Wichita, Ks 67207 6 REM *********************** 10 REM Display File 20 FOR i=c1 TO c2 STEP 2: POKE 57039,(CODE a$(i)+1): POKE 57041,CODE a$(i+1): RANDOMIZE USR 57077: NEXT i: RETURN 30 REM Type 40 POKE 57039,CODE b$+1: RANDOMIZE USR 57090: RETURN 50 POKE 57039,CODE b$+1: RANDOMIZE USR 57104: RETURN 60 POKE VAL "57043",VAL "0": POKE VAL "57044",VAL "64": RETURN 70 CLS : RANDOMIZE USR VAL "57131": RETURN 90 PRINT #0;AT 0,0;" ": RETURN 100 PRINT #0;AT 1,10;"TYPE INPUT" 110 PAUSE 0: LET b$=INKEY$: GO SUB 40: LET i=i+1: LET a$(c1+i)=b$ 120 PAUSE 0: LET b$=INKEY$: GO SUB 50: LET i=i+1: LET a$(c1+i)=b$: IF i<=1408 THEN GO TO 110 130 PRINT #0;AT 0,0;"Press N for Next Page, S to Save C to Copy, D to Display File": FOR k=1 TO 20: NEXT k: PAUSE 0: LET b$=INKEY$: GO SUB VAL "90" 135 IF b$="S" OR b$="s" THEN SAVE "64c"CODE j,i+1: GO TO VAL "130" 140 IF b$="C" OR b$="c" THEN PRINT #0;AT 0,0;TAB 31;" ";';TAB 31;" ": RANDOMIZE USR VAL "58000": GO TO VAL "130" 145 IF b$="D" OR b$="d" THEN GO SUB VAL "60": CLS : RANDOMIZE USR VAL "57131": GO TO VAL "300" 150 GO SUB VAL "70": LET c1=1408+c1 160 GO SUB VAL "60": GO TO VAL "100" 300 LET c1=VAL "1": LET c2=VAL "1408": GO SUB VAL "60": GO SUB VAL "70" 305 GO SUB VAL "20": PRINT #0;AT 0,8;"Press any key.": PRINT #0;AT 1,7;"Press C to Copy": PAUSE 0: IF INKEY$="C" OR INKEY$="c" THEN GO SUB VAL "90": RANDOMIZE USR VAL "58000" 310 GO SUB VAL "70": LET c1=c1+1408: LET c2=c1+1407: GO SUB VAL "60": GO TO VAL "305" 9000 DIM a$(20000): LOAD ""CODE : PAPER VAL "1": BORDER VAL "1": INK VAL "7": CLS 9005 LET i=VAL "0": LET c1=VAL "0": GO SUB VAL "60": LET a$(1)=a$(1): POKE VAL "56998",PEEK VAL "23629": POKE VAL "56999",PEEK VAL "23630": LET j=VAL "256"*PEEK VAL "56999"+PEEK VAL "56998" 9010 CLS : PRINT AT VAL "2",VAL "4";"64 Column Print Utility": PRINT AT VAL "10",VAL "0";"Press 1 to type a page";';" 2 to load & display a file Pleae press 2 to load an explanation of this utility and the demo program." 9020 PAUSE VAL "0": LET b$=INKEY$: IF b$="1" OR b$="2" THEN GO TO VAL "9030" 9025 GO TO VAL "9020" 9030 IF b$="2" THEN PRINT AT 14,10;"START TAPE";AT 18,0;" ": LOAD ""CODE j 9040 RANDOMIZE USR VAL "57000": OUT 255,54: CLS : RANDOMIZE USR VAL "57131" 9050 IF b$="1" THEN GO TO VAL "100" 9060 GO TO VAL "300" 9999 CLEAR : SAVE "64c" LINE 9000: SAVE "64c"CODE 57000,2671 1 REM *********************** 2 REM 64 Column Print Utility 3 REM RESET by S D Lemke 4 REM 2144 White Oak 5 REM Wichita, Ks 67207 6 REM *********************** 10 REM Display File 20 FOR i=c1 TO c2 STEP 2: POKE 57039,(CODE a$(i)+1): POKE 57041,CODE a$(i+1): RANDOMIZE USR 57077: NEXT i: RETURN 30 REM Type 40 POKE 57039,CODE b$+1: RANDOMIZE USR 57090: RETURN 50 POKE 57039,CODE b$+1: RANDOMIZE USR 57104: RETURN 60 POKE VAL "57043",VAL "0": POKE VAL "57044",VAL "64": RETURN 70 CLS : RANDOMIZE USR VAL "57131": RETURN 90 PRINT #0;AT 0,0;" ": RETURN 100 PRINT #0;AT 1,10;"TYPE INPUT" 110 PAUSE 0: LET b$=INKEY$: GO SUB 40: LET i=i+1: LET a$(c1+i)=b$ 120 PAUSE 0: LET b$=INKEY$: GO SUB 50: LET i=i+1: LET a$(c1+i)=b$: IF i<=1408 THEN GO TO 110 130 PRINT #0;AT 0,0;"Press N for Next Page, S to Save C to Copy, D to Display File": FOR k=1 TO 20: NEXT k: PAUSE 0: LET b$=INKEY$: GO SUB VAL "90" 135 IF b$="S" OR b$="s" THEN SAVE "64c"CODE j,i+1: GO TO VAL "130" 140 IF b$="C" OR b$="c" THEN PRINT #0;AT 0,0;TAB 31;" ";';TAB 31;" ": RANDOMIZE USR VAL "58000": GO TO VAL "130" 145 IF b$="D" OR b$="d" THEN GO SUB VAL "60": CLS : RANDOMIZE USR VAL "57131": GO TO VAL "300" 150 GO SUB VAL "70": LET c1=1408+c1 160 GO SUB VAL "60": GO TO VAL "100" 300 LET c1=VAL "1": LET c2=VAL "1408": GO SUB VAL "60": GO SUB VAL "70" 305 GO SUB VAL "20": PRINT #0;AT 0,8;"Press any key.": PRINT #0;AT 1,7;"Press C to Copy": PAUSE 0: IF INKEY$="C" OR INKEY$="c" THEN GO SUB VAL "90": RANDOMIZE USR VAL "58000" 310 GO SUB VAL "70": LET c1=c1+1408: LET c2=c1+1407: GO SUB VAL "60": GO TO VAL "305" 9000 DIM a$(20000): LOAD ""CODE : PAPER VAL "1": BORDER VAL "1": INK VAL "7": CLS 9005 LET i=VAL "0": LET c1=VAL "0": GO SUB VAL "60": LET a$(1)=a$(1): POKE VAL "56998",PEEK VAL "23629": POKE VAL "56999",PEEK VAL "23630": LET j=VAL "256"*PEEK VAL "56999"+PEEK VAL "56998" 9010 CLS : PRINT AT VAL "2",VAL "4";"64 Column Print Utility": PRINT AT VAL "10",VAL "0";"Press 1 to type a page";';" 2 to load & display a file Pleae press 2 to load an explanation of this utility and the demo program." 9020 PAUSE VAL "0": LET b$=INKEY$: IF b$="1" OR b$="2" THEN GO TO VAL "9030" 9025 GO TO VAL "9020" 9030 IF b$="2" THEN PRINT AT 14,10;"START TAPE";AT 18,0;" ": LOAD ""CODE j 9040 RANDOMIZE USR VAL "57000": OUT 255,54: CLS : RANDOMIZE USR VAL "57131" 9050 IF b$="1" THEN GO TO VAL "100" 9060 GO TO VAL "300" 9999 CLEAR : SAVE "64c" LINE 9000: SAVE "64c"CODE 57000,2671 1 REM *********************** 2 REM 64 Column Print Utility 3 REM RESET by S D Lemke 4 REM 2144 White Oak 5 REM Wichita, Ks 67207 6 REM *********************** 10 REM Display File 20 FOR i=c1 TO c2 STEP 2: POKE 57039,(CODE a$(i)+1): POKE 57041,CODE a$(i+1): RANDOMIZE USR 57077: NEXT i: RETURN 30 REM Type 40 POKE 57039,CODE b$+1: RANDOMIZE USR 57090: RETURN 50 POKE 57039,CODE b$+1: RANDOMIZE USR 57104: RETURN 60 POKE VAL "57043",VAL "0": POKE VAL "57044",VAL "64": RETURN 70 CLS : RANDOMIZE USR VAL "57131": RETURN 90 PRINT #0;AT 0,0;" ": RETURN 100 PRINT #0;AT 1,10;"TYPE INPUT" 110 PAUSE 0: LET b$=INKEY$: GO SUB 40: LET i=i+1: LET a$(c1+i)=b$ 120 PAUSE 0: LET b$=INKEY$: GO SUB 50: LET i=i+1: LET a$(c1+i)=b$: IF i<=1408 THEN GO TO 110 130 PRINT #0;AT 0,0;"Press N for Next Page, S to Save C to Copy, D to Display File": FOR k=1 TO 20: NEXT k: PAUSE 0: LET b$=INKEY$: GO SUB VAL "90" 135 IF b$="S" OR b$="s" THEN SAVE "64c"CODE j,i+1: GO TO VAL "130" 140 IF b$="C" OR b$="c" THEN PRINT #0;AT 0,0;TAB 31;" ";';TAB 31;" ": RANDOMIZE USR VAL "58000": GO TO VAL "130" 145 IF b$="D" OR b$="d" THEN GO SUB VAL "60": CLS : RANDOMIZE USR VAL "57131": GO TO VAL "300" 150 GO SUB VAL "70": LET c1=1408+c1 160 GO SUB VAL "60": GO TO VAL "100" 300 LET c1=VAL "1": LET c2=VAL "1408": GO SUB VAL "60": GO SUB VAL "70" 305 GO SUB VAL "20": PRINT #0;AT 0,8;"Press any key.": PRINT #0;AT 1,7;"Press C to Copy": PAUSE 0: IF INKEY$="C" OR INKEY$="c" THEN GO SUB VAL "90": RANDOMIZE USR VAL "58000" 310 GO SUB VAL "70": LET c1=c1+1408: LET c2=c1+1407: GO SUB VAL "60": GO TO VAL "305" 9000 DIM a$(20000): LOAD ""CODE : PAPER VAL "1": BORDER VAL "1": INK VAL "7": CLS 9005 LET i=VAL "0": LET c1=VAL "0": GO SUB VAL "60": LET a$(1)=a$(1): POKE VAL "56998",PEEK VAL "23629": POKE VAL "56999",PEEK VAL "23630": LET j=VAL "256"*PEEK VAL "56999"+PEEK VAL "56998" 9010 CLS : PRINT AT VAL "2",VAL "4";"64 Column Print Utility": PRINT AT VAL "10",VAL "0";"Press 1 to type a page";';" 2 to load & display a file Pleae press 2 to load an explanation of this utility and the demo program." 9020 PAUSE VAL "0": LET b$=INKEY$: IF b$="1" OR b$="2" THEN GO TO VAL "9030" 9025 GO TO VAL "9020" 9030 IF b$="2" THEN PRINT AT 14,10;"START TAPE";AT 18,0;" ": LOAD ""CODE j 9040 RANDOMIZE USR VAL "57000": OUT 255,54: CLS : RANDOMIZE USR VAL "57131" 9050 IF b$="1" THEN GO TO VAL "100" 9060 GO TO VAL "300" 9999 CLEAR : SAVE "64c" LINE 9000: SAVE "64c"CODE 57000,2671 ``` ## Source Code: ExFont 1.1 ``` 1 REM \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b existo:ray software 85 \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b 2 REM ExFont 1.1 3 REM R. L. Moulder 4 REM 206 Yeonas Dr. SW 5 REM Vienna, Va 22180 100 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c bin->dec 108 FOR x=1 TO 8 109 LET B$=N$(x) 110 LET n(2,x)=0 120 FOR p=1 TO 8 122 IF B$(p)="\::" THEN LET B$(p)="1" 123 IF B$(p)="\a" THEN LET B$(p)="0" 130 LET n(2,x)=n(2,x)*2+(CODE (B$(p))-48) 140 NEXT p 145 POKE n(1,x),n(2,x) 150 NEXT x 190 RETURN 200 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c dec->bin 210 DIM B$(8) 220 LET p=8 230 LET B$="\a\a\a\a\a\a\a\a" 240 LET d=n(2,x) 250 LET n=INT (d/2) 260 IF d-2*n=1 THEN LET B$(p)="\::" 280 LET d=n 290 LET p=p-1 300 IF d>0 THEN GO TO 250 390 LET N$(x)=B$ 400 RETURN 1000 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c set CHR$ and loop 1010 CLS 1020 PRINT AT 3,0;" Enter code # of FIRST and LAST characters to be re-designed." 1030 INK 3: PRINT AT 5,0;Z$: INK 5 1040 PRINT AT 6,0;" Main Character Set 32 \g\h 127 User Graphics 144 \g\h 164" 1045 PRINT AT 10,0;" NOTE: Program skips code #'s 128 thru 143, 124 & 126 automatically" 1050 PRINT AT 13,0;" To change one character only use its code # for both inputs." 1060 INK 3: PRINT AT 15,0;Z$ 1200 GO SUB 9100: INPUT "Enter First Code # ";c1 1205 IF c1<32 OR c1>164 THEN GO TO 1200 1210 INK 5: PRINT AT 17,1;"CODE ";c1;" (";CHR$ c1;")";" thru "; 1220 GO SUB 9100: INPUT "Enter Second Code # ";c2 1225 IF c2<32 OR c2>164 OR c2127 AND c<144 THEN LET c=144 1520 IF c>=144 THEN LET add=64472+((c-32)*8) 1525 IF c<=127 THEN LET add=64600+((c-32)*8) 1528 INK 6: PRINT AT 1,3;"CHR$ CODE #": PRINT AT 1,14;c: INK 6: PAPER 1: PRINT AT 1,18;CHR$ c: INK 3: PAPER 0 1530 FOR x=1 TO 8 1535 LET n(1,x)=add+x-1: LET n(2,x)=PEEK (add+x-1) 1540 PRINT AT 2+x,1;n(1,x);TAB 8;n(2,x); 1550 GO SUB 200 1555 PRINT TAB 15;N$(x) 1560 NEXT x 1570 GO SUB 3000 1605 CLS 1610 NEXT c 1620 GO TO 8100 3000 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c change CHR$ ? 3005 GO SUB 9100 3010 INK 5: PRINT AT 15,0;"Change character? (y/n or ENTER)": INK 3 3020 LET K$=INKEY$ 3030 IF K$="y" THEN GO TO 3200 3040 IF K$="n" THEN RETURN 3045 IF CODE K$=13 THEN RETURN 3050 GO TO 3020 3200 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c Redesign CHR$ 3205 INK 6: PRINT AT 15,0;" " 3210 PRINT AT 13,0;"Use STICK to";AT 14,0;"move cursor." 3211 PRINT AT 16,0;"Press FIRE";AT 17,0;"button to";AT 18,0;"flip bits." 3212 PRINT AT 20,0;"Press ENTER";AT 21,0;"to quit." 3215 INK 3: PRINT AT 13,15;"76543210": INK 5 3220 FOR x=1 TO 8 3230 INK 3: PRINT AT 13+x,14;x-1: INK 5: PRINT AT 13+x,15;N$(x) 3240 NEXT x 3250 LET x=14: LET y=15: FLASH 1: PRINT AT x,y;"\d": FLASH 0 3260 LET st= STICK (1,1) 3270 LET bt= STICK (2,1) 3280 IF CODE INKEY$=13 THEN GO TO 5000 3290 IF bt=1 AND N$(x-13,y-14)="\a" THEN GO TO 3500 3300 IF bt=1 AND N$(x-13,y-14)="\::" THEN GO TO 3400 3310 IF st=1 THEN GO TO 3600 3320 IF st=2 THEN GO TO 3700 3330 IF st=4 THEN GO TO 3800 3340 IF st=8 THEN GO TO 3900 3390 GO TO 3260 3400 LET N$(x-13,y-14)="\a" 3410 FLASH 1: PRINT AT x,y;"\d": FLASH 0 3420 IF STICK (2,1)>0 THEN GO TO 3420 3430 GO TO 3260 3500 LET N$(x-13,y-14)="\::" 3510 FLASH 1: PRINT AT x,y;"\d": FLASH 0 3520 IF STICK (2,1)>0 THEN GO TO 3520 3530 GO TO 3260 3600 PRINT AT x,y;N$(x-13,y-14) 3610 LET x=x-1 3620 IF x<14 THEN LET x=21 3640 FLASH 1: PRINT AT x,y;"\d": FLASH 0 3650 GO TO 3260 3700 PRINT AT x,y;N$(x-13,y-14) 3710 LET x=x+1 3720 IF x>21 THEN LET x=14 3740 FLASH 1: PRINT AT x,y;"\d": FLASH 0 3750 GO TO 3260 3800 PRINT AT x,y;N$(x-13,y-14) 3810 LET y=y-1 3820 IF y<15 THEN LET y=22 3840 FLASH 1: PRINT AT x,y;"\d": FLASH 0 3850 GO TO 3260 3900 PRINT AT x,y;N$(x-13,y-14) 3910 LET y=y+1 3920 IF y>22 THEN LET y=15 3940 FLASH 1: PRINT AT x,y;"\d": FLASH 0 3950 GO TO 3260 5002 FOR x=12 TO 21 5004 PRINT AT x,0;" " 5006 NEXT x 5008 GO SUB 100 5020 FOR x=1 TO 8 5030 PRINT AT 13+x,1;n(1,x);" ";n(2,x) 5040 NEXT x 5045 PAUSE 45 5050 RETURN 8000 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c initialize variables 8005 BORDER 0: PAPER 0: INK 5 8010 CLEAR 64599 8015 LOAD "cd"CODE 64600 8020 LET Z$="\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b" 8030 DIM N$(8,8) 8040 DIM n(2,8) 8050 POKE 23606,88: POKE 23607,251 8090 GO SUB 8500 8100 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c print menu 8105 CLS 8110 PRINT AT 4,0;"existo:ray software 1 9 8 5" 8115 INK 3: PRINT AT 3,0;Z$: INK 5 8117 PRINT AT 2,0;"ExFont 1.1 2 0 6 8" 8120 INK 3: PRINT AT 7,2;"1.": INK 5: PRINT AT 7,4;" Design Main Character Set CHR$ 32 thru 127" 8130 PRINT AT 9,5;"Or User Graphics CHR$ 144 thru 164" 8140 INK 3: PRINT AT 11,2;"2.": INK 5: PRINT AT 11,4;" Print Definable Characters" 8150 INK 3: PRINT AT 12,2;"3.": INK 5: PRINT AT 12,4;" SAVE Program and Code" 8160 INK 3: PRINT AT 13,2;"4.": INK 5: PRINT AT 13,4;" SAVE Code Only (64600,936)" 8170 INK 3: PRINT AT 14,2;"5.": INK 5: PRINT AT 14,4;" Toggle Character Sets" 8200 FLASH 1: INK 3: PRINT AT 17,2;"\g\h": FLASH 0: INK 5: PRINT AT 17,5;"Enter # 1 thru 5" 8210 GO SUB 9100 8215 IF CODE INKEY$>5 OR CODE INKEY$<1 THEN GO TO 8220 8220 IF INKEY$="1" THEN GO TO 1000 8230 IF INKEY$="2" THEN GO TO 9200 8240 IF INKEY$="3" THEN GO TO 8400 8250 IF INKEY$="4" THEN GO TO 8420 8260 IF INKEY$="5" THEN GO TO 9000 8300 GO TO 8220 8400 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c SAVE 8405 PRINT AT 17,0;" ": FLASH 1: PRINT AT 17,7;"SAVING": FLASH 0 8410 SAVE "ef" LINE 8000 8420 SAVE "cd"CODE 64600,936 8430 CLS : GO TO 8100 8500 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c NOTES 8505 CLS 8510 PRINT AT 4,0;"existo:ray software 1 9 8 5" 8520 PRINT AT 2,0;"ExFont 1.1 2 0 6 8" 8530 INK 3: PRINT AT 3,0;Z$ 8540 PRINT AT 0,0;" notes notes notes notes notes": INK 5 8550 PRINT AT 7,2;"Use to restart." 8560 PRINT AT 9,2;"To use a new character set in other programs: CLEAR 64599 LOAD \fcd\fCODE 64600 POKE 23606,88 POKE 23607,251" 8570 PRINT AT 16,2;"To return to TS characters: POKE 23606,0 POKE 23607,60" 8600 PRINT AT 20,0;" to copy any other key to continue" 8610 LET I$=INKEY$ 8620 IF I$="c" THEN COPY 8630 IF I$="" THEN GO TO 8610 8640 RETURN 9000 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c POKE CHARS 9010 LET p=PEEK 23606+256*PEEK 23607 9020 IF p=64344 THEN GO TO 9040 9030 IF p=15360 THEN GO TO 9060 9040 POKE 23606,0: POKE 23607,60 9050 CLS : GO TO 8100 9060 POKE 23606,88: POKE 23607,251 9070 CLS : GO TO 8100 9100 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c INPUT PROMPT BEEP 9105 BEEP .01,2 9110 BEEP .01,5 9115 BEEP .01,7 9120 BEEP .01,10 9125 BEEP .01,12 9130 BEEP .01,15 9135 BEEP .01,17 9140 BEEP .01,20 9150 RETURN 9200 REM \c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c\c PRINT character set 9201 CLS 9210 PRINT "MAIN CHARACTER SET": PRINT "\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e" 9220 FOR x=32 TO 127 9222 IF x=124 THEN LET x=125 9223 IF x=126 THEN LET x=127 9225 POKE 23606,0: POKE 23607,60 9230 PRINT CHR$ x; 9240 POKE 23606,88: POKE 23607,251 9250 PRINT CHR$ x;" "; 9260 NEXT x 9265 PRINT : PRINT : PRINT "USER GRAPHICS": PRINT "\e\e\e\e\e\e\e\e\e\e\e\e\e" 9270 FOR x=144 TO 164 9272 POKE 23606,0: POKE 23607,60 9273 PRINT CHR$ (x-79); 9275 POKE 23606,88: POKE 23607,251 9280 PRINT CHR$ x;" "; 9290 NEXT x 9295 GO SUB 9100 9300 PRINT : PRINT : PRINT "to COPY any other key to ret" 9400 LET I$=INKEY$ 9410 IF I$="c" THEN COPY 9420 IF I$="" THEN GO TO 9400 9450 CLS : GO TO 8100 ``` ## Source Code: 2068 Window ``` 1 REM *********************** 2 REM 3 REM TS-2068 Utility 4 REM 5 REM WINDOW 6 REM 7 REM \* 1985 by David Ellis 8 REM 9 REM *********************** 10 REM Initialization 11 BORDER 1: PAPER 0: INK 7: CLEAR 65000: PRINT AT 8,9;"Initializing"''TAB 9;"Please wait" 12 FOR i=144 TO 149: FOR j=0 TO 7: READ n: POKE USR CHR$ i+j,n: NEXT j: NEXT i 13 DATA 0,0,4,2,255,2,4,0: DATA 0,0,32,64,255,64,32,0 14 DATA 8,28,42,8,8,8,8,8: DATA 8,8,8,8,8,42,28,8 16 DATA 255,129,129,129,129,129,129,255: DATA 0,0,24,60,60,36,0,0 17 LET n=65028: LET d=65036: LET r=65096: LET c=65097: LET l=65098: LET a=65099 18 POKE r,0: POKE c,0: POKE l,32: POKE a,48 19 GO SUB 9000 20 REM main program 21 CLS 25 PRINT AT 1,5;"TS-2068 Screen Utility"'TAB 12;"\:'\''\''\''\''\''\''\':"'TAB 12;"\: WINDOW\ :"'TAB 12;"\:.\..\..\..\..\..\..\.:"'TAB 5;"\* 1985 by David Ellis"'''" \aIntroduction"'" \aProgram details"'" \aDemonstrations"'" \aModifications";AT 19,0;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\'' Use \c & \d to change selection, and ENTER to engage it. " 30 POKE r,8: POKE c,3: POKE l,16: POKE a,40 31 LET x=USR d 35 FOR i=1 TO 25: NEXT i 40 IF INKEY$="" THEN GO TO 40 45 LET o=CODE INKEY$ 50 IF o=10 AND x<11 THEN RANDOMIZE USR n: POKE r,x+1: LET x=USR d: GO TO 35 55 IF o=11 AND x>8 THEN RANDOMIZE USR n: POKE r,x-1: LET x=USR d: GO TO 35 60 IF o=13 THEN GO TO (x-7)*1000 65 GO TO 40 1000 REM Introduction 1010 CLS : PRINT TAB 11;"INTRODUCTION"'' 1020 PRINT " Window is a screen utility written in machine code and stored above ramtop. It enables the user to change the attributes behind a section of screen, with the original attributes being saved for future recall." 1030 PRINT " The user pokes the row, column, length, and attribute information to certain addresses and then ";"""turns on""";" the routine with a USR 65036. The Basic command USR 65028 will return the screen area to its original condition, assuming that none of the parameters have been changed." 1035 PRINT AT 20,0;"Press ENTER to return to menu." 1040 IF INKEY$="" THEN GO TO 1040 1050 GO TO 20 1999 STOP 2000 REM Program details 2010 CLS : PRINT 'TAB 8; PAPER 1;"Program details": PAUSE 120 2020 CLS : PRINT AT 1,1;"Machine code USR calls:"''" USR 65036(display)-Loads a user-defined section of the display with new attributes. The attributes previously stored there are stored elsewhere for safekeeping. Row, column, length, & attribute information must already be stored in the appropriate registers." 2025 PRINT " The routine returns with the present row # if o.k. or with the length if the requested area would run off the screen." 2027 PRINT AT 20,0;"Press ENTER to continue." 2030 IF INKEY$="" THEN GO TO 2030 2032 LET o=CODE INKEY$ 2034 IF o=13 THEN GO TO 2040 2036 GO TO 2030 2040 CLS : PRINT AT 2,1;"USR 65028(normalize)-Returns the displayed area to its original attributes. If any of the registers (except attributes) has been changed, then the routine will load back to the new area." 2045 PRINT " As with the display routine the normalize routine will return with the current row # or length depending on whether or not the area fits on the screen." 2047 PRINT AT 20,0;"Press Enter to continue or \c to back up a screen" 2050 IF INKEY$="" THEN GO TO 2050 2052 LET o=CODE INKEY$ 2054 IF o=11 THEN GO TO 2020 2056 IF o=13 THEN GO TO 2060 2058 GO TO 2050 2060 CLS : PRINT AT 1,0;"Register Name Range": PLOT 0,159: DRAW 255,0: 2069 PRINT AT 3,0;"65028-"'TAB 7;"Program"'"65095-" 2070 PRINT "65096 row 0-21" 2071 PRINT "65097 column 0-255" 2072 PRINT "65098 length 1-255" 2073 PRINT "65099 attr 0-255" 2074 PRINT "65100-"'TAB 7;"Unused"'"65110-" 2075 PRINT "65111-"'TAB 7;"Holds original attributes65367-" 2076 PRINT AT 20,0;"Press ENTER to continue or \c to back up a screen" 2080 PLOT 47,131: DRAW 0,16: PLOT 47,75: DRAW 0,16: PLOT 47,51: DRAW 0,16: PLOT 48,59: DRAW 6,0: PLOT 48,83: DRAW 6,0: PLOT 48,139: DRAW 6,0 2085 IF INKEY$="" THEN GO TO 2085 2090 IF o=13 THEN GO TO 2110 2095 IF o=11 THEN GO TO 2040 2100 GO TO 2085 2110 CLS : PRINT AT 1,1;"Register 65099(attributes) must be loaded in the format the computer uses."''TAB 4;" 7 6 5 4 3 2 1 0 "''TAB 12;"paper";TAB 22;"ink" 2111 PRINT TAB 9;"bright"'TAB 6;"flash" 2115 PLOT 32,136: DRAW 192,0: PLOT 32,127: DRAW 192,0 2116 FOR i=32 TO 224 STEP 24: PLOT i,135: DRAW 0,-7: NEXT i 2117 PLOT 153,125: DRAW 0,-3: DRAW 70,0: DRAW 0,3 2118 PLOT 151,125: DRAW 0,-3: DRAW -70,0: DRAW 0,3 2119 PLOT 115,121: DRAW 0,-2: PLOT 187,121: DRAW 0,-2: PLOT 67,125: DRAW 0,-17: DRAW 4,0: PLOT 43,125: DRAW 0,-25: DRAW 4,0 2120 PLOT 33,142: DRAW 0,-4: DRAW 2,0: DRAW 0,2: DRAW -2,0: PLOT 38,142: PLOT 38,140: DRAW 0,-2: PLOT 42,141: DRAW 0,-3: PLOT 41,140: DRAW 2,0 2125 PRINT '"The line: POKE 65099,paper*8+ink with: paper(0-7)"'" ink(0-7)" 2126 PRINT "will do the trick."'"Add 64 for BRIGHT "'" & 128 for FLASH " 2130 PRINT AT 20,0;"Press ENTER to continue or \c to back up" 2135 IF INKEY$="" THEN GO TO 2135 2140 LET o=CODE INKEY$ 2145 IF o=13 THEN GO TO 2160 2150 IF o=11 THEN GO TO 2060 2155 GO TO 2135 2160 CLS : PRINT TAB 5;"MACHINE CODE LISTING \c\d"''"LOC HEX CODE LABEL MNEMONICS"'': PLOT 0,151: DRAW 255,0 2170 PRINT "FE04 CD20FE NORM CALL FIND" 2171 PRINT "FE07 EB EX HL,DE" 2172 PRINT "FE08 EDB0 LDIR" 2173 PRINT "FE0A 4F LD C,A" 2174 PRINT "FE0B C9 RET" 2175 PRINT "FE0C CD20FE DISP CALL FIND" 2176 PRINT "FE0F C5 PUCH BC" 2177 PRINT "FE10 EDB0 LDIR" 2178 PRINT "FE12 C1 POP BC" 2179 PRINT "FE13 A7 AND A" 2180 PRINT "FE14 ED42 SBC HL,BC" 2181 PRINT "FE16 41 LD B,C" 2182 PRINT "FE17 4F LD C,A" 2183 PRINT "FE18 3A4BFE LD A,(ATTR)" 2184 PRINT "FE1B 77 LD (HL),A" 2185 PRINT "FE1C 23 INC HL" 2186 PRINT "FE1D 10FC DJNZ, FE1B" 2187 PRINT "FE1F C9 RET" 2190 IF INKEY$="" THEN GO TO 2190 2200 LET O=CODE INKEY$ 2210 IF O=11 THEN GO TO 2110 2215 IF O=10 THEN GO TO 2230 2220 GO TO 2190 2230 CLS : PRINT TAB 5;"MACHINE CODE LISTING cont\c\d"''"LOC HEX CODE LABEL MNEMONICS"'': PLOT 0,151: DRAW 255,0 2240 PRINT "FE20 ED5B48FE FIND LD DE,(ROW)" 2241 PRINT "FE24 7B LD A,E" 2242 PRINT "FE25 2616 LD H,16h" 2243 PRINT "FE27 87 ADD A,A" 2244 PRINT "FE28 87 ADD A,A" 2245 PRINT "FE29 87 ADD A,A" 2246 PRINT "FE2A 6F LD L,A" 2247 PRINT "FE2B 29 ADD HL,HL" 2248 PRINT "FE2C 29 ADD HL,HL" 2249 PRINT "FE2D 4A LD C,D" 2250 PRINT "FE2E 0600 LD B,00h" 2251 PRINT "FE30 09 ADD HL,BC" 2252 PRINT "FE31 E5 PUSH HL" 2253 PRINT "FE32 3A4AFE LD A,(LEN)" 2254 PRINT "FE35 4F LD C,A" 2255 PRINT "FE36 09 ADD HL,BC" 2256 PRINT "FE37 01C15A LD BC,5AC1h" 2257 PRINT "FE3A A7 AND A" 2260 IF INKEY$="" THEN GO TO 2260 2265 LET O=CODE INKEY$ 2270 IF O=11 THEN GO TO 2160 2275 IF O=10 THEN GO TO 2290 2280 GO TO 2260 2290 CLS : PRINT TAB 5;"MACHINE CODE LISTING cont\c\d"''"LOC HEX CODE LABEL MNEMONICS"'': PLOT 0,151: DRAW 255,0 2300 PRINT "FE3B ED42 SBC HL,BC" 2301 PRINT "FE3D E1 POP HL" 2302 PRINT "FE3E 0600 LD B,00h" 2303 PRINT "FE40 4F LD C,A" 2304 PRINT "FE41 7B LD A,E" 2305 PRINT "FE42 1157FE LD DE,FE57h" 2306 PRINT "FE45 D8 RET C" 2307 PRINT "FE46 E1 POP HL" 2308 PRINT "FE47 C9 RET" 2309 PRINT AT 20,0;"Press ENTER to return to main menu or \c to back up" 2310 IF INKEY$="" THEN GO TO 2310 2315 LET O=CODE INKEY$ 2320 IF O=11 THEN GO TO 2230 2325 IF o=13 THEN GO TO 20 2330 GO TO 2310 2999 STOP 3000 REM Demonstrations 3001 CLS : ON ERR GO TO 3041: POKE 23659,0 3005 PRINT AT 11,11;"TIMEX 2068" 3010 FOR j=0 TO 10: POKE a,8*(j+(-8 AND j>7)) 3015 POKE c,j: POKE l,32-2*j 3020 FOR i=j TO 22-j: POKE r,i 3025 RANDOMIZE USR d: NEXT i: NEXT j 3030 PRINT AT 11,16;"\ :": POKE r,11: POKE c,11: POKE l,6: POKE a,135: RANDOMIZE USR d 3035 POKE c,17: POKE l,4: POKE a,184: RANDOMIZE USR d 3040 FOR I=1 TO 400: NEXT I: POKE 23659,2 3041 POKE 23659,2: ON ERR RESET 3045 CLS : FOR I=32 TO 164: PRINT CHR$ I;" ";: NEXT I 3050 PRINT AT 14,11;"EXAMPLES";'"Press ENTER for next example or \d to continue with the program";AT 19,0;" ROW:"," INK:","COLUMN:","PAPER:","LENGTH:","ATTRIBUTES:" 3051 LET c$="Black Blue Red MagentaGreen Cyan Yellow White " 3055 RANDOMIZE 0 3060 POKE r,INT (RND*9) 3061 POKE c,INT (RND*32) 3062 POKE l,INT (RND*255+1) 3063 LET ink=INT (RND*8): LET i$="-"+c$(ink*7+1 TO ink*7+7) 3064 LET paper=INT (RND*8): IF paper=ink THEN GO TO 3064 3065 LET p$="-"+c$(paper*7+1 TO paper*7+7) 3066 POKE a,paper*8+ink 3070 LET x=USR d 3075 PRINT AT 19,8;PEEK r;AT 19,23;ink;i$;AT 20,8;PEEK c;" ";;AT 20,23;paper;p$;AT 21,8;PEEK l;" ";AT 21,28;PEEK a;" " 3090 IF INKEY$="" THEN GO TO 3090 3095 LET o=CODE INKEY$ 3100 IF o=13 THEN LET x=USR n: GO TO 3060 3105 IF o=10 THEN LET x=USR n: GO TO 3145 3110 GO TO 3090 3145 CLS : LET i$="\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d": INK 0: FOR i=1 TO 21: PRINT i$;: NEXT i: PRINT "********************************": INK 7: PRINT AT 10,11;"BOMBS AWAY" 3150 POKE a,7: POKE l,1: POKE c,0: POKE r,0: RANDOMIZE USR d 3153 FOR j=0 TO 31: POKE c,j 3155 FOR i=0 TO 21: RANDOMIZE USR n: POKE r,i: RANDOMIZE USR d: NEXT i: NEXT j: PAUSE 120 3160 CLS : RANDOMIZE : INK 0: FOR i=1 TO 20: PRINT "\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e\e";: NEXT i: PRINT AT INT (RND*20),INT (RND*32); OVER 1;"\f";AT 20,0; INK 7;"Seek out the goblin-Use \a\b\c\d to move window, ENTER to stop": INK 7 3165 POKE a,7: POKE r,0: POKE c,0: POKE l,1: LET x=USR d 3170 IF INKEY$="" THEN GO TO 3170 3175 LET o=CODE INKEY$ 3180 IF o=8 AND PEEK c>0 THEN RANDOMIZE USR n: POKE c,PEEK c-1: RANDOMIZE USR d: GO TO 3170 3182 IF o=9 AND PEEK c<31 THEN RANDOMIZE USR n: POKE c,PEEK c+1: RANDOMIZE USR d: GO TO 3170 3184 IF o=10 AND PEEK r<19 THEN RANDOMIZE USR n: POKE r,PEEK r+1: RANDOMIZE USR d: GO TO 3170 3186 IF o=11 AND PEEK r>0 THEN RANDOMIZE USR n: POKE r,PEEK r-1: RANDOMIZE USR d: GO TO 3170 3188 IF o=13 THEN GO TO 20 3190 GO TO 3170 3999 STOP 4000 REM Modifications 4010 CLS : PRINT TAB 10;"MODIFICATIONS"''" Short machine code routines to speed up scrolling can be written in just ahead of the main program. Such routines could replace the BASIC sequence: RANDOMIZE USR 65028: POKE 65096,PEEK 65096+/-1: RANDOMIZE USR 65036." 4015 PRINT " If you have any questions I can be reached at:"''" David Ellis"'" 8532 N. Lamar Blvd."'" Apt. #E239"'" Austin, Tx 78753"'"Ph:(512) 835-9416" 4020 PRINT AT 20,0;"Press ENTER to return to menu." 4030 IF INKEY$="" THEN GO TO 4030 4040 GO TO 20 4999 STOP 8999 STOP 9000 REM Window loader 9001 LET j=65028: READ a$: FOR i=1 TO LEN a$ STEP 3: POKE j,(CODE a$(i)-48-7*(a$(i)>"@"))*16+CODE a$(i+1)-48-7*(a$(i+1)>"@"): LET j=j+1: NEXT i: LET a$="": RETURN 9002 DATA "CD-20-FE EB ED-B0 4F C9 CD-20-FE C5 ED-B0 C1 A7 ED-42 41 4F 3A-4B-FE 77 23 10-FC C9 ED-5B-48-FE 7B 26-16 87 87 87 6F 29 29 4A 06-00 09 E5 3A-4A-FE 4F 09 01-01-5B A7 ED-42 E1 06-00 4F 7B 11-57-FE D8 E1 C9 " ``` ## Source Code: 64 Column BASIC ``` 10 CLEAR 59999 20 LOAD ""CODE 30 PAPER 2: CLS 40 PRINT AT 10,8;"64 Column BASIC" 50 PRINT AT 12,7;"By Wes Brzozowski" 70 PRINT #1;" Press N for NEW or D for a little demonstration" 80 IF INKEY$="n" OR INKEY$="N" THEN NEW 90 IF INKEY$="d" OR INKEY$="D" THEN GO TO 1000 100 GO TO 80 1000 PAPER 7: CLS : RANDOMIZE USR 60000 1010 PRINT BRIGHT 0;"This is an example of 64 column printing!!!!!!!!!!!!!!!!!!!!!!!!" 1020 PRINT : PRINT BRIGHT 1;"...........And Here's a darker version"; BRIGHT 0 1030 PRINT : PRINT "You can use either one, depending on the clarity of your TV set" 1040 PRINT : PRINT "...Or, you can use "; BRIGHT 1;"both"; BRIGHT 0;" in order to highlight "; BRIGHT 1;"some important point"; BRIGHT 0 1050 PRINT : PRINT "You can use the graphic characters...\:.\.:\..\:'\: \: \.'\. \::" 1060 PRINT : PRINT INVERSE 1;"...Or inverted characters"; INVERSE 0 1070 PRINT : PRINT "And you do it all with BASIC commands!!!!!!!!!!!!!!!!!!!!!!!!!!!" 1080 PRINT : PRINT "AT and TAB still work, but now you can extend them to 64 columns" 1090 PRINT : PRINT "The user defined graphics work too, but not too clearly." 1100 PRINT : PRINT "If you have a TS2040 printer, turn it on. In any case, press a key to continue" 1110 PAUSE 4e4: PAPER 1 1120 FLASH 1: PRINT "If you're trying to figure out what just happened, the printer first printed the left hand side of the screen, and then the right side. The alternative, (printing sideways) could just as easily have been done, but it uses up 1/3 more paper. Using scissors and glue is a bit bothersome, but not overly much. I hope you'll agree." 1130 PRINT BRIGHT 1;AT 8,9;"The 64 column mode is limited by the hardware" 1140 PRINT AT 9,9;"to only 8 combinations of ink/paper, and only" 1150 PRINT AT 10,9;"a couple of those are readable. Press a key" 1160 PRINT AT 11,9;"to see all eight combinations............" 1170 PAUSE 4e4 1180 FOR j=1 TO 8: INK (8-j): PAUSE 60: NEXT j 1190 PRINT : PRINT "And now, if you'll press another key, I'll return you to the 32 column mode. Go ahead..list the program and look at the almost-normal BASIC commands used. Now change it around, and see what happens. Re-enter with GOTO 40." 1200 PRINT : PRINT " ***** HAVE FUN!!!!!!! *****" 1210 PAUSE 4e4 1220 BRIGHT 0: FLASH 1: STOP 9000 STOP 9999 SAVE CHR$ 18+CHR$ 1+"64cols"+CHR$ 18+CHR$ 0 LINE 10: BEEP .1,1: SAVE CHR$ 18+CHR$ 1+"code!!"+CHR$ 18+CHR$ 1CODE 60000,800 ``` ## Source Code: Flash ``` 1 REM \2A\0C\40\01\19\03\7E\FE\76\CA\91\40\EE\80\77\23\0B\3E\00\B8\C2\88\40\B9\C2\88\40\C9\25\1C\1D\1E\1F\20\21\22\23\24\25\1C\1D\1E\1F\20\21\22\23\24\25\1C 2 PRINT AT VAL "8",VAL "0";"% % % % % % % % % % % % % % " 3 PRINT "% % % % % % % % % " 4 PRINT "% % % % % % % % " 5 PRINT "% % % % % % % % % % % % % % % % " 6 PRINT "% % % % % % % % % % % " 7 PRINT "% % % % % % % % " 8 PRINT "% % % % % % % % % % % % % % % " 9 PRINT AT VAL "18",VAL "9";"BY K.E. MAJORS" 20 RAND USR VAL "16514" 60 GOTO VAL "20" ``` ## Source Code: DemoPeek ``` 9967 STOP 9968 PRINT AT 7,4;"PEEK PROGRAM RJV 4/25/85" 9969 PRINT ,,"A TO INPUT NEW ADDRESS" 9970 PRINT "B TO RETURN TO BASIC" 9971 PRINT "M TO PAUSE " 9972 PRINT "P TO RETURN MAIN PROGRAM MENU" 9973 PRINT "S TO SAVE " 9974 PRINT ,,"AFTER PAUSE PRESS ANY KEY EXCEPT A/B/M/P OR S TO CONT " 9975 SLOW 9976 PRINT AT 18,0;" INPUT START ADDRESS " 9977 PRINT AT 20,0;"ADDRESS DEC","CHR$ " 9978 INPUT P 9979 IF P>65535 THEN GOTO 9978 9980 PRINT P;TAB 9;PEEK P,CHR$ PEEK P 9981 SCROLL 9982 LET P=P+1 9983 IF INKEY$="A" THEN GOTO 9978 9984 IF INKEY$="B" THEN GOTO 9989 9985 IF INKEY$="M" THEN PAUSE 4E4 9986 IF INKEY$="P" THEN GOTO MENU 9987 IF INKEY$="S" THEN GOTO 9992 9988 GOTO 9980 9989 CLS 9990 LIST 9967 9991 STOP 9992 CLS 9993 PRINT TAB 9;"START RECORDER"," INPUT FILE NAME",TAB 15;" OR ","ENTER TO SAVE PEEK" 9994 INPUT S$ 9995 IF S$="" THEN LET S$="PEEK" 9996 SAVE S$ 9997 PRINT USR 8297;" BYTES OF MEMORY LEFT" 9998 IF S$="PEE%K" THEN GOTO 9968 9999 GOTO MENU ``` ## Source Code: GET_GMC ``` 1 REM 257A925002A10403E80BEC83E4CBE2824CB6E2818CB7E28ECB762851112018823CB7E28FB11601918DB235E2356231918D3235E2356E519227B40E12322824021002284403E0328640218740360212140CBC62A84401110192284403073A86403C3286402AE403A8440CB772043601823680CDBB2444D5D212140CB462871C20CDCB8618C91C28C6CDBD77EFE7720232187403E0BE28B1352AE403602B3E76BE2012B22E402A82402B3602282401896FE762072AE4036018575F2A2940232346523232310218E4567BBA281D2310218DA3E16BE2863E1ABEC018E62310218CA7EBB38E77ABB30E3218740342AE407323F53E76BE2012322E402A8240F173232282402BED4B7B40AFED42209C602187404EC9 2 REM %G%E%T BY SHAWN BYRNE 1983 3 LET GET=16520 4 LET A$="ENTER %C%O%N%T TO CONTINUE, %S%T%O%P TO STOP " 90 GOTO 1000 100 PRINT AT 20,0;A$ 110 LET G$=" " 120 PRINT AT 21,12; 130 LET N$=G$( TO USR GET) 140 REM C,N,O,P,S,T 150 IF N$="" THEN GOTO 110 160 IF N$="STOP" THEN STOP 170 IF N$<>"CONT" THEN GOTO 110 180 CLS 190 RETURN 1000 SLOW 1010 PRINT "*** :%G%E%T: *** BY SHAWN BYRNE 1983" 1020 PRINT 1030 PRINT " :%G%E%T: IS A MACHINE LANGUAGE SUB- ROUTINE, 289 BYTES LONG, WHICH CAN BE USED TO %G%E%T A USER INPUT.",, 1040 PRINT "LINE 1 OF THE BASIC PROGRAM MUSTBE A REM STATEMENT CONTAINING 6 BYTES USED AS VARIABLES.THE SUB-ROUTINE ITSELF IS RELOCATABLE AND CAN RESIDE ABOVE RAMTOP,IN AREM STATEMENT OR BETWEEN A BASICPROGRAM AND THE DISPLAY FILE." 1050 PRINT 1060 PRINT "IF %G%E%T IS USED IN A 1 REM STATE-MENT, POKE 16419,2 SO THE BASIC (STARTING AT LINE 2) CAN BE DIS-PLAYED. DO NOT LIST;USE LIST 2." 1070 GOSUB 100 1080 PRINT "BEFORE :%G%E%T: IS CALLED FROM WITH-IN A BASIC PROGRAM,IT£S STARTINGLOCATION MUST BE DEFINED:" 1090 PRINT 1100 PRINT "EXAMPLE: 10 LET GET=16520" 1110 GOSUB 100 1120 PRINT "THE FUNCTION ""USR GET"" WILL RE- TURN THE LENGTH OF THE RESPONSE.THE STRING G$ MUST BE DEFINED (A STRING OF SPACES) BEFORE %G%E%T IS CALLED AND THE LENGTH OF THE RESPONSE IS LIMITED BY THE" 1130 PRINT "LENGTH OF G$. THE RESPONSE IS RETURNED IN G$." 1140 PRINT 1150 PRINT "THE RESPONSE IS INPUT ON THE SCREEN WHEREVER THE PRINT" 1160 PRINT "POSITION IS LOCATED. THE DELETE KEY WILL WORK. EXIT FROM %G%E%T IS PERFORMED WHEN ENTER IS PRESSED OR THE LENGTH OF THE INPUT = G$." 1170 GOSUB 100 1180 PRINT "IF THE RESPONSE IS NOT NEEDED ONTHE SCREEN, THE PRINT POSITION CAN BE MOVED OFFSCREEN BY:" 1190 PRINT 1200 PRINT TAB 8;"POKE 16399,0" 1210 PRINT 1220 PRINT "OTHERWISE, THE RESPONSE CAN BE POSITIONED ON THE SCREEN BY:" 1230 PRINT 1240 PRINT TAB 5;"PRINT AT (LINE),(COL.);" 1250 PRINT 1260 PRINT "BEFORE THE ROUTINE IS CALLED." 1270 GOSUB 100 1280 PRINT "IMMEDIATELY FOLLOWING THE LINE NUMBER IN WHICH %G%E%T IS CALLED," 1290 PRINT "THERE MUST BE A REM LINE WHICH SPECIFIES THE CHARACTER(S) WHICHARE TO BE USED IN THE RESPONSE. CHARACTERS MUST BE SEPARATED BY A COMMA OR A HYPHEN." 1300 PRINT 1310 PRINT "EXAMPLE 1: REM 0-9" 1320 PRINT 1330 PRINT "WILL GIVE A RESPONSE TO ALL THE NUMBERS FROM 0 THROUGH 9." 1340 PRINT 1350 PRINT "EXAMPLE 2: REM 2,7,C,R" 1360 PRINT 1370 PRINT "WILL GIVE A RESPONSE ONLY TO THOSE CHARACTERS." 1380 GOSUB 100 1390 PRINT "EXAMPLE 3: REM A-F" 1400 PRINT 1410 PRINT "WILL GIVE A RESPONSE ONLY TO THELETTERS A THROUGH F." 1420 PRINT 1430 PRINT "EXAMPLE 4: REM 0-Z" 1440 PRINT 1450 PRINT "WILL GIVE A RESPONSE TO ALL THE NUMBERS (0 THROUGH 9) AND TO ALLTHE LETTERS (A THROUGH Z)." 1460 GOSUB 100 1470 PRINT "%G%E%T HAS A COUNTER WHICH CAN BE USED AS A TIMER. AFTER %G%E%T HAS EXECUTED, THIS COUNTER VALUE CANBE FOUND BY:" 1480 PRINT 1490 PRINT "PEEK 16516+256*PEEK 16517+65536 *PEEK 16518" 1500 PRINT 1510 PRINT "A %G%E%T EXECUTION TIME OF 1 MINUTEWILL RESULT IN A COUNT OF ABOUT 26,770." 1520 PRINT 1530 PRINT "THE EXACT COUNT WILL VARY WITH EACH COMPUTER AND WILL HAVE TO BE DETERMINED BY EXPERIMENTING." 1540 GOSUB 100 1550 PRINT "EXAMPLE OF %G%E%T COUNTER:" 1560 PRINT 1570 PRINT "PLEASE PRESS THE ""Q"" KEY." 1580 LET G$=" " 1590 PRINT AT 5,15; 1600 RAND USR GET 1610 REM Q 1620 PRINT 1630 LET N=INT ((PEEK 16516+256*PEEK 16517+65536*PEEK 16518)/446.1667) 1640 PRINT 1650 PRINT TAB 6;"YOUR RESPONSE TIME WAS " 1660 PRINT 1670 PRINT TAB 10;N;" SECONDS." 1680 GOSUB 100 1690 POKE GET+113,CODE "S" 1700 PRINT "THE FLASHING CURSER USED ON THE SCREEN CAN BE ANY CHARACTER. FOR EXAMPLE, FOR A FLASHING ""S"":" 1710 PRINT 1720 PRINT "POKE GET+113,CODE ""S""" 1730 PRINT 1740 PRINT "TO RETURN TO THE FLASHING SPACE:" 1750 PRINT 1760 PRINT "POKE GET+113,0" 1770 GOSUB 100 1780 POKE GET+113,0 1790 PRINT "%G%E%T WILL NOT ACCEPT A CHARACTER UNTIL AFTER IT HAS RECIEVED THE SIGNAL THAT NO KEY IS BEING PRESSED,SO UPON ENTERING %G%E%T,IF A KEY IS BEING PRESSED, IT WILL NOT BE ACCEPTED UNTIL THE FINGERIS LIFTED AND A KEY PRESSED AGAIN." 1800 PRINT "THIS PREVENTS A CHARACTER FROM BEING REPEATED RAPIDLY." 1810 PRINT "TO ALLOW A CHARACTER TO BE AC- CEPTED ON ENTERING %G%E%T WHEN IT IS ALREADY BEING PRESSED:" 1820 PRINT 1830 PRINT TAB 4;"POKE GET+129,24" 1840 PRINT 1850 PRINT "TO RETURN TO NORMAL:" 1860 PRINT 1870 PRINT TAB 4;"POKE GET+129,40" 1880 GOSUB 100 1890 PRINT "AN EXAMPLE OF A BASIC LISTING TOUSE %G%E%T IS:" 1900 PRINT 1910 PRINT "10 LET GET=16520" 1920 PRINT "100 LET G$="" """ 1930 PRINT "110 PRINT AT 10,15;" 1940 PRINT "120 LET N$=G$( TO USR GET)" 1950 PRINT "130 REM N,Y" 1960 PRINT "140 IF N$="""" THEN GOTO 100" 1970 PRINT "150 IF N$=""N"" THEN GOTO 1000" 1980 PRINT "160 IF N$=""Y"" THEN GOSUB 60" 1990 PRINT 2000 PRINT "LINE 140 PREVENTS A RESPONSE TO ENTER." 2010 PRINT "LINES 150 AND 160 DETERMINE THE RESPONSE ACTION." 2020 GOSUB 100 2030 PRINT "%G%E%T CAN BE USED AS MANY TIMES INA BASIC PROGRAM AS NEEDED. EACH TIME IT IS USED THE LENGTH OF THE RESPONSE AND THE CHARACTERS CAN BE REDEFINED IN BASIC." 2040 PRINT 2050 PRINT AT 10,10;"SHAWN A. BYRNE" 2060 PRINT TAB 10;"RT. 3 BOX 342" 2070 PRINT TAB 10;"COOKEVILLE, TN." 2080 PRINT TAB 20;"38501" 2090 PRINT 2100 PRINT TAB 10;"615/526-7914" 2110 GOSUB 100 2120 RUN 9997 STOP 9998 SAVE "GE%T" 9999 RUN ``` ## Source Code: Scroller ``` 1 REM \21\21\40\3E\18\77\11\00\60\21\00\50\C3\93\40\35\E1\01\20\00\ED\B0\3E\76\12\1C\06\00\0E\20\09\E5\21\21\40\3E\00\BE\C2\91\40\E1\01\18\03\2A\0C\40\2C\E5\D1\21\00\60\ED\B0\C9\1B\1B\1B 10 FAST 15 LET N=20480 20 LET A=8 25 FOR Z=1 TO 2 30 FOR X=1 TO 24 35 FOR Y=1 TO 64 38 IF Y>32 THEN LET A=10-A 40 POKE N,A 45 LET N=N+1 48 IF Y>32 THEN LET A=10-A 50 NEXT Y 55 NEXT X 65 LET A=3 85 NEXT Z 90 SLOW 95 LET N=20480 100 POKE 16524,256*(N/256-INT (N/256)) 105 POKE 16525,INT N/256 110 RAND USR 16514 115 LET A=0 120 LET K$=INKEY$ 125 IF CODE K$<33 OR CODE K$>36 THEN GOTO 120 130 IF K$="5" THEN LET K=-1 135 IF K$="8" THEN LET K=1 140 IF K$="6" THEN LET K=64 145 IF K$="7" THEN LET K=-64 149 IF (K=1 OR K=-1) AND (K+A<0 OR K+A>32) THEN GOTO 120 150 IF N+K<20480 OR N+K>22015 THEN GOTO 120 155 LET N=N+K 157 IF K=1 OR K=-1 THEN LET A=A+K 160 GOSUB 200 165 GOTO 120 200 POKE 16524,256*(N/256-INT (N/256)) 210 POKE 16525,INT N/256 220 RAND USR 16514 230 RETURN 300 FOR N=16514 TO 16570 310 LPRINT N;TAB 10;PEEK N;TAB 15;CHR$ PEEK N 320 NEXT N ``` ## Source Code: Animation ``` 1 BORDER 0: PAPER 5: CLS 2 FOR i=0 TO 22 3 IF i<=14 THEN PRINT PAPER 5;" " 4 IF i>15 THEN PRINT PAPER 4;" " 5 NEXT i 7 GO SUB 8000 10 FOR i=144 TO 152 20 FOR j=0 TO 7 30 READ x 40 POKE USR (CHR$ i)+j,x 50 NEXT j 60 NEXT i 65 INK 5 70 PRINT AT 19,0;"\a";"\d";"\g" 72 PRINT AT 0,29;"\a";"\d";"\g" 73 PRINT AT 3,26;"\a";"\d";"\g" 74 PRINT AT 2,8;"\a";"\d";"\g" 76 PRINT AT 4,5;"\a";"\d";"\g" 80 PRINT AT 20,0;"\b";"\e";"\h" 81 PRINT AT 5,5;"\b";"\e";"\h" 82 PRINT AT 1,29;"\b";"\e";"\h" 83 PRINT AT 4,26;"\b";"\e";"\h" 84 PRINT AT 3,8;"\b";"\e";"\h" 90 PRINT AT 21,0;"\c";"\f";"\i" 91 PRINT AT 6,5;"\c";"\f";"\i" 92 PRINT AT 2,29;"\c";"\f";"\i" 93 PRINT AT 5,26;"\c";"\f";"\i" 94 PRINT AT 4,8;"\c";"\f";"\i" 95 GO SUB 2000 100 DATA 24,36,66,130,130,130,130,130,130,132,132,68,36,21,11,7,31,123,113,99,71,206,60,32 110 DATA 0,0,0,3,12,30,38,35,35,113,185,156,78,199,242,236,224,193,190,64,32,16,8,7 120 DATA 0,0,4,248,200,232,120,56,56,136,232,112,96,192,0,0,0,252,2,1,1,2,4,248 200 FOR i=153 TO 159 210 FOR j=0 TO 7 220 READ x 230 POKE USR (CHR$ i)+j,x 240 NEXT j 250 NEXT i 260 PRINT AT 19,0;" ";"\l";" " 262 PRINT AT 9,29;" ";"\l";" " 270 PRINT AT 20,0;"\j";"\m";"\o" 272 PRINT AT 10,29;"\j";"\m";"\o" 280 PRINT AT 21,0;"\k";"\n";"\p" 282 PRINT AT 11,29;"\k";"\n";"\p" 285 GO SUB 4000 290 DATA 0,7,9,17,33,66,130,130,132,132,132,136,80,32,0,0 300 DATA 36,24,36,102,231,231,102,60,126,255,255,126,60,66,255,255,129,255,255,66,126,126,36,60 310 DATA 0,224,144,136,132,66,65,65,33,33,33,17,10,4,0,0 315 GO SUB 4500 316 GO SUB 7000 320 BEEP 1,9 325 SOUND 0,16;1,13;8,13;7,62 399 INK 9 400 PLOT 248,168: PLOT 248,160: PLOT 248,152 405 PLOT 240,168: PLOT 240,160: PLOT 240,152 410 PLOT 232,168: PLOT 232,160: PLOT 232,152 415 INK 5 420 PLOT 248,168: PLOT 248,160: PLOT 248,152 430 PLOT 240,168: PLOT 240,160: PLOT 240,152 440 PLOT 232,168: PLOT 232,160: PLOT 232,152 450 INK 9 460 PLOT 231,151: PLOT 231,143: PLOT 231,135 470 PLOT 223,151: PLOT 223,143: PLOT 223,135 480 PLOT 215,151: PLOT 215,143: PLOT 215,135 485 INK 5 490 PLOT 231,151: PLOT 231,143: PLOT 231,135 495 PLOT 223,151: PLOT 223,143: PLOT 223,135 500 PLOT 215,151: PLOT 215,143: PLOT 215,135 510 FOR i=0 TO 25 515 INK 9 520 PLOT 191,135: PLOT 191,127: PLOT 191,119 525 PLOT 199,135: PLOT 199,127: PLOT 199,119 530 PLOT 207,135: PLOT 207,127: PLOT 207,119 535 INK 5 540 PLOT 191,135: PLOT 191,127: PLOT 191,119 545 PLOT 199,135: PLOT 199,127: PLOT 199,119 550 PLOT 207,135: PLOT 207,127: PLOT 207,119 555 INK 9 560 PLOT 167,135: PLOT 167,127: PLOT 167,119 565 PLOT 175,135: PLOT 175,127: PLOT 175,119 570 PLOT 183,135: PLOT 183,127: PLOT 183,119 575 INK 5 580 PLOT 167,135: PLOT 167,127: PLOT 167,119 585 PLOT 175,135: PLOT 175,127: PLOT 175,119 590 PLOT 183,135: PLOT 183,127: PLOT 183,119 595 INK 9 600 PLOT 143,143: PLOT 143,135: PLOT 143,127 605 PLOT 151,143: PLOT 151,135: PLOT 151,127 610 PLOT 159,143: PLOT 159,135: PLOT 159,127 615 INK 5 620 PLOT 143,143: PLOT 143,135: PLOT 143,127 625 PLOT 151,143: PLOT 151,135: PLOT 151,127 630 PLOT 159,143: PLOT 159,135: PLOT 159,127 635 INK 9 640 PLOT 119,159: PLOT 119,151: PLOT 119,143 645 PLOT 127,159: PLOT 127,151: PLOT 127,143 650 PLOT 135,159: PLOT 135,151: PLOT 135,143 655 INK 5 660 PLOT 119,159: PLOT 119,151: PLOT 119,143 665 PLOT 127,159: PLOT 127,151: PLOT 127,143 670 PLOT 135,159: PLOT 135,151: PLOT 135,143 675 INK 9 680 PLOT 95,159: PLOT 95,167: PLOT 95,151 685 PLOT 103,159: PLOT 103,167: PLOT 103,151 690 PLOT 111,159: PLOT 111,167: PLOT 111,151 695 INK 5 700 PLOT 95,159: PLOT 95,167: PLOT 95,151 705 PLOT 103,159: PLOT 103,167: PLOT 103,151 710 PLOT 111,159: PLOT 111,167: PLOT 111,151 715 INK 9 720 PLOT 87,159: PLOT 87,151: PLOT 87,143 725 PLOT 79,159: PLOT 79,151: PLOT 79,143 730 PLOT 71,159: PLOT 71,151: PLOT 71,143 735 INK 5 740 PLOT 87,159: PLOT 87,151: PLOT 87,143 745 PLOT 79,159: PLOT 79,151: PLOT 79,143 750 PLOT 71,159: PLOT 71,151: PLOT 71,143 752 IF i=25 THEN GO TO 1200 755 INK 9 760 PLOT 87,135: PLOT 87,127 765 PLOT 79,135: PLOT 79,127: PLOT 79,119 770 PLOT 71,135: PLOT 71,127: PLOT 71,119 775 INK 5 780 PLOT 87,135: PLOT 87,127 785 PLOT 79,135: PLOT 79,127: PLOT 79,119 790 PLOT 71,135: PLOT 71,127: PLOT 71,119 795 INK 9 800 PLOT 87,119: PLOT 87,111: PLOT 87,103 805 PLOT 95,119: PLOT 95,111: PLOT 95,103 810 PLOT 103,119: PLOT 103,111: PLOT 103,103 815 INK 5 820 PLOT 87,119: PLOT 87,111: PLOT 87,103 825 PLOT 95,119: PLOT 95,111: PLOT 95,103 830 PLOT 103,119: PLOT 103,111: PLOT 103,103 835 INK 9 840 PLOT 111,111: PLOT 111,103: PLOT 111,95 845 PLOT 119,111: PLOT 119,103: PLOT 119,95 850 PLOT 127,111: PLOT 127,103: PLOT 127,95 855 INK 5 860 PLOT 111,111: PLOT 111,103: PLOT 111,95 865 PLOT 119,111: PLOT 119,103: PLOT 119,95 870 PLOT 127,111: PLOT 127,103: PLOT 127,95 875 INK 9 880 PLOT 135,111: PLOT 135,103: PLOT 135,95 885 PLOT 143,111: PLOT 143,103: PLOT 143,95 890 PLOT 151,111: PLOT 151,103: PLOT 151,95 895 INK 5 900 PLOT 135,111: PLOT 135,103: PLOT 135,95 902 PLOT 143,111: PLOT 143,103: PLOT 143,95 904 PLOT 151,111: PLOT 151,103: PLOT 151,95 906 INK 9 910 PLOT 159,111: PLOT 159,103: PLOT 159,95 915 PLOT 167,111: PLOT 167,103: PLOT 167,95 920 PLOT 175,111: PLOT 175,103: PLOT 175,95 925 INK 5 930 PLOT 159,111: PLOT 159,103: PLOT 159,95 935 PLOT 167,111: PLOT 167,103: PLOT 167,95 940 PLOT 175,111: PLOT 175,103 944 IF i=20 THEN FOR j=1 TO 10 945 INK 9 950 PLOT 175,95: PLOT 175,87: PLOT 175,79 955 PLOT 183,95: PLOT 183,87: PLOT 183,79 960 PLOT 191,95: PLOT 191,87: PLOT 191,79 965 INK 5 970 PLOT 175,95: PLOT 175,87: PLOT 175,79 975 PLOT 183,95: PLOT 183,87: PLOT 183,79 980 PLOT 191,95: PLOT 191,87: PLOT 191,79 981 IF i=20 THEN NEXT j 985 INK 9 990 PLOT 199,79: PLOT 199,71: PLOT 199,63 995 PLOT 207,79: PLOT 207,71: PLOT 207,63 1000 PLOT 215,79: PLOT 215,71: PLOT 215,63 1005 INK 5 1010 PLOT 199,79: PLOT 199,71: PLOT 199,63 1015 PLOT 207,79: PLOT 207,71: PLOT 207,63 1020 PLOT 215,79: PLOT 215,71: PLOT 215,63 1025 INK 9 1030 PLOT 223,79: PLOT 223,71: PLOT 223,63 1035 PLOT 231,79: PLOT 231,71: PLOT 231,63 1040 PLOT 239,79: PLOT 239,71: PLOT 239,63 1045 INK 5 1050 PLOT 223,79: PLOT 223,71: PLOT 223,63 1055 PLOT 231,79: PLOT 231,71: PLOT 231,63 1060 PLOT 239,79: PLOT 239,71: PLOT 239,63 1065 INK 9 1070 PLOT 255,103: PLOT 255,95: PLOT 255,87 1075 PLOT 247,103: PLOT 247,95: PLOT 247,87 1080 PLOT 239,103: PLOT 239,95: PLOT 239,87 1085 INK 5 1090 PLOT 255,103: PLOT 255,95: PLOT 255,87 1095 PLOT 247,103: PLOT 247,95: PLOT 247,87 1100 PLOT 239,103: PLOT 239,95: PLOT 239,87 1105 INK 9 1110 PLOT 239,111: PLOT 239,119: PLOT 239,127 1115 PLOT 247,111: PLOT 247,119: PLOT 247,127 1120 PLOT 255,111: PLOT 255,119: PLOT 255,127 1125 INK 5 1130 PLOT 239,111: PLOT 239,119: PLOT 239,127 1135 PLOT 247,111: PLOT 247,119: PLOT 247,127 1140 PLOT 255,111: PLOT 255,119: PLOT 255,127 1145 INK 9 1150 PLOT 231,127: PLOT 231,119: PLOT 231,111 1155 PLOT 223,127: PLOT 223,119: PLOT 223,111 1160 PLOT 215,127: PLOT 215,119: PLOT 215,111 1165 INK 5 1170 PLOT 231,127: PLOT 231,119: PLOT 231,111 1175 PLOT 223,127: PLOT 223,119: PLOT 223,111 1180 PLOT 215,127: PLOT 215,119: PLOT 215,111 1185 NEXT i 1200 INK 9 1210 PLOT 63,143: PLOT 63,135: PLOT 63,127 1220 PLOT 55,143: PLOT 55,135: PLOT 55,127 1230 PLOT 47,143: PLOT 47,135: PLOT 47,127 1235 INK 5 1240 PLOT 63,143: PLOT 63,135: PLOT 63,127 1245 PLOT 55,143: PLOT 55,135: PLOT 55,127 1250 PLOT 47,143: PLOT 47,135: PLOT 47,127 1255 FOR j=1 TO 6 1260 INK 9 1265 PLOT 39,135: PLOT 39,127: PLOT 39,119 1270 PLOT 31,135: PLOT 31,127: PLOT 31,119 1275 PLOT 23,127: PLOT 23,119 1280 INK 5 1285 PLOT 39,135: PLOT 39,127: PLOT 39,119 1290 PLOT 31,135: PLOT 31,127: PLOT 31,119 1295 PLOT 23,127: PLOT 23,119 1296 NEXT j 1300 INK 9 1310 PLOT 23,135: PLOT 23,143: PLOT 23,151 1315 PLOT 15,135: PLOT 15,143: PLOT 15,151 1320 PLOT 7,135: PLOT 7,143: PLOT 7,151 1325 INK 5 1330 PLOT 23,135: PLOT 23,143: PLOT 23,151 1335 PLOT 15,135: PLOT 15,143: PLOT 15,151 1340 PLOT 7,135: PLOT 7,143: PLOT 7,151 1400 BRIGHT 0 1410 INK 9 1999 STOP 2000 REM head lower left corner 2010 FOR j=0 TO 23 2020 FOR i=0 TO 23 2030 IF POINT (i,j) THEN GO SUB 2200 2040 NEXT i 2050 NEXT j 2060 RETURN 2200 PLOT 103-i,96+j 2210 PLOT 191-i,72+j 2220 PLOT 112+i,159-j 2230 PLOT 136+i,143-j 2240 PLOT 232+i,127-j 2250 PLOT i,151-j 2260 PLOT 239-i,79-j 2270 RETURN 4000 REM head at top 4010 FOR i=0 TO 23 4020 FOR j=0 TO 23 4030 IF POINT (i,j) THEN GO SUB 4200 4040 NEXT j 4050 NEXT i 4060 RETURN 4200 PLOT 231-j,i+104 4210 PLOT 207-j,112+i 4220 PLOT 183-j,112+i 4230 PLOT 111-j,144+i 4240 PLOT 39-j,112+i 4250 PLOT 104+j,111-i 4260 PLOT 128+j,111-i 4270 PLOT 152+j,111-i 4280 PLOT 192+j,79-i 4290 PLOT 87-i,135-j 4300 RETURN 4500 REM background 4510 FOR i=144 TO 152 4520 FOR j=0 TO 7 4530 READ x 4540 POKE USR (CHR$ i)+j,x 4560 NEXT j 4570 NEXT i 4575 REM grasstops,bugs,snails,etc 4580 DATA 72,52,176,168,170,106,108,255,34,81,149,165,133,171,203,255,24,24,144,210,246,22,92,48 4585 DATA 2,28,44,84,84,68,88,224,102,24,102,102,24,255,60,255,60,66,255,129,255,129,66,60 4590 DATA 112,248,140,172,236,121,254,0,56,124,134,182,148,117,254,0,99,119,54,8,54,119,99,0 4600 PRINT AT 15,0; PAPER 5; INK 4;"\a\b\a\a \b\b\a\a\b\a\b \b\b\b \b\a\a\b\b\a\a\a\a\a"; INK 1;"\h " 4610 PRINT AT 16,10; INK 7; PAPER 4;"\i \i\i\i\i\i\i\i \i\i\i" 4620 PRINT AT 17,8; INK 7; PAPER 4;"\i \i\i\i\i \i\i\i \i\i" 4630 PRINT AT 18,7; INK 7; PAPER 4;"\i\i\i\i\i\i \i\i \i\i\i \i\i \i\i\i\i" 4640 PRINT AT 19,7; INK 7; PAPER 4;"\i\i \i\i\i \i\i \i\i\i \i\i \i\i\i\i" 4645 PRINT AT 20,10; PAPER 4; INK 7;"\i\i\i\i\i\i\i \i\i \i \i\i \i\i\i\i" 4650 PRINT AT 18,4; PAPER 4; INK 0;"\e": PRINT AT 19,4; FLASH 1; INK 6;; PAPER 4;"\f": FLASH 0 5000 REM background 5010 FOR i=144 TO 152 5020 FOR j=0 TO 7 5030 READ x 5040 POKE USR (CHR$ i)+j,x 5050 NEXT j 5060 NEXT i 5065 REM flower 5070 DATA 224,192,128,0,0,0,0,128,127,63,33,7,1,7,33,63,128,0,0,128,128,192,192,241 5075 DATA 128,193,227,247,247,239,239,255,195,129,0,0,0,0,129,195,255,239,231,227,195,193,128,0 5080 DATA 63,7,3,1,0,0,1,3,7,15,31,127,63,31,7,3,1,0,0,0,0,1,7,207 5090 PRINT AT 13,21; PAPER 3; INK 5;"\a"; PAPER 5; INK 3;"\d"; PAPER 3; INK 5;"\g" 5095 PRINT AT 14,21; PAPER 5; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 5;"\h" 5100 PRINT AT 15,21; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5110 PRINT AT 16,23; PAPER 3; INK 4;"\a"; PAPER 4; INK 3;"\d"; PAPER 3; INK 4;"\g" 5115 PRINT AT 17,23; PAPER 4; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 4;"\h" 5120 PRINT AT 18,23; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5125 PRINT AT 19,21; PAPER 3; INK 4;"\a"; PAPER 4; INK 3;"\d"; PAPER 3; INK 4;"\g" 5130 PRINT AT 20,21; PAPER 4; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 4;"\h" 5135 PRINT AT 21,21; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5140 PRINT AT 19,25; PAPER 3; INK 4;"\a"; PAPER 4; INK 3;"\d"; PAPER 3; INK 4;"\g" 5145 PRINT AT 20,25; PAPER 4; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 4;"\h" 5150 PRINT AT 21,25; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5160 PRINT AT 19,0; PAPER 3; INK 4;"\a"; PAPER 4; INK 3;"\d"; PAPER 3; INK 4;"\g" 5165 PRINT AT 20,0; PAPER 4; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 4;"\h" 5170 PRINT AT 21,0; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5175 PRINT AT 15,26; PAPER 3; INK 4;"\a"; PAPER 4; INK 3;"\d"; PAPER 3; INK 4;"\g" 5180 PRINT AT 16,26; PAPER 4; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 4;"\h" 5185 PRINT AT 17,26; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5190 PRINT AT 18,28; PAPER 3; INK 4;"\a"; PAPER 4; INK 3;"\d"; PAPER 3; INK 4;"\g" 5195 PRINT AT 19,28; PAPER 4; INK 3;"\b"; PAPER 6; INK 3;"\e"; PAPER 3; INK 4;"\h" 5200 PRINT AT 20,28; PAPER 3; INK 4;"\c"; PAPER 4; INK 3;"\f"; PAPER 3; INK 4;"\i" 5300 RETURN 7000 REM mushroom 7010 FOR i=144 TO 152 7020 FOR j=0 TO 7 7030 READ x 7040 POKE USR (CHR$ i)+j,x 7050 NEXT j 7060 NEXT i 7070 DATA 0,1,2,6,14,16,16,16,0,248,7,48,120,123,51,7,0,0,0,192,112,112,240,224 7075 DATA 22,31,31,22,17,19,23,31,15,63,113,224,192,192,224,224,224,192,128,128,128,64,64,32 7080 DATA 31,63,28,0,6,15,31,6,208,16,16,8,8,8,136,0,16,8,4,2,2,2,0,0 7090 PRINT AT 15,4;; INK 1;"\g\h\i" 7095 PRINT AT 14,4; INK 1;"\d\e\f" 7100 PRINT AT 13,4; INK 2;"\a\b"; INK 1;"\c" 7200 RETURN 8000 REM clouds 8010 INK 7 8020 PLOT 144,151: DRAW 50,0 8025 PLOT 175,155: DRAW 40,0 8030 PLOT 160,152: DRAW 30,0 8035 PLOT 168,153: DRAW 30,0 8040 PLOT 165,154: DRAW 30,0 9000 RETURN ``` ## Source Code: Lottery ``` 5 REM RESET 1984 Rights Reserved Program by Michael J. Kudelka 10 REM PROGRAM "lottery" 20 PRINT AT 0,0;"The computer selects lotterynumbers 1-44 at random for you." 30 PRINT AT 3,0;"Each game consists of 6 numbers.One set of 10 games A-J islisted on the screen with anoption to copy on the printer." 40 PRINT AT 8,0;" " 50 FLASH 1: PRINT AT 8,13;"OPTIONS": FLASH 0 60 PRINT AT 10,0;"At the bottom of the screenafter the 10 games are listedyou will be given two options." 70 PRINT AT 14,0;"Option 1. Copy? (y)es or (n)o.": PRINT AT 15,0;"_________" 80 PRINT AT 17,0;"Option 2. Stop? (y)es or (n)o.": PRINT AT 18,0;"_________" 90 PRINT AT 20,0;"████ ████" 91 PRINT AT 21,0;" " 95 FLASH 1: PRINT AT 20,5;"PRESS ANY KEY TO START": FLASH 0 100 IF INKEY$="" THEN GO TO 100 105 CLS 115 LET L=0 120 PRINT AT 0,2;"LOTTERY NUMBERS FOR TEN GAMES" 125 DIM G$(10,1) 130 LET G$(1)="A" 135 LET G$(2)="B" 140 LET G$(3)="C" 145 LET G$(4)="D" 150 LET G$(5)="E" 155 LET G$(6)="F" 160 LET G$(7)="G" 165 LET G$(8)="H" 170 LET G$(9)="I" 175 LET G$(10)="J" 180 FOR K=1 TO 10 185 LET L=L+2 190 GO SUB 1000 195 LET A=X 200 GO SUB 1000 205 IF X=A THEN GO TO 200 210 LET B=X 215 IF XA AND XA AND XA AND XA AND XA AND XB AND XB AND XA AND XA AND XA AND XA AND XB AND XB AND XB AND XC AND XC AND XA AND XA AND XA AND XA AND XA AND XB AND XB AND XB AND XB AND XC AND XC AND XC AND XD AND XD AND X=10 THEN PRINT AT L,10;A 540 IF B<=9 THEN PRINT AT L,15;B 545 IF B>=10 THEN PRINT AT L,14;B 550 IF C<=9 THEN PRINT AT L,19;C 555 IF C>=10 THEN PRINT AT L,18;C 560 IF D<=9 THEN PRINT AT L,23;D 565 IF D>=10 THEN PRINT AT L,22;D 570 IF E<=9 THEN PRINT AT L,27;E 575 IF E>=10 THEN PRINT AT L,26;E 580 IF F<=9 THEN PRINT AT L,31;F 585 IF F>=10 THEN PRINT AT L,30;F 590 NEXT K 595 IF L=20 THEN GO TO 610 600 GO TO 125 610 FLASH 1: PRINT AT 21,0;"COPY?": FLASH 0: PRINT AT 21,6;"Press (y) or (n) and ENTER" 615 INPUT P$ 620 IF p$="y" THEN GO TO 630 625 IF P$="n" THEN GO TO 655 630 PRINT AT 21,0;" " 635 COPY 640 LPRINT "--------------------------------" 650 LPRINT 655 FLASH 1: PRINT AT 21,0;"STOP?": FLASH 0: PRINT AT 21,6;"Press (y) or (n) and ENTER" 660 INPUT S$ 665 IF S$="y" THEN GO TO 675 670 IF S$="n" THEN GO TO 105 675 PRINT AT 21,0;"█████████████ █████████████": FLASH 1: PRINT AT 21,14;"STOP": FLASH 0 680 PAUSE 200 690 FLASH 1: PRINT AT 21,0;"QUIT?": FLASH 0: PRINT AT 21,5;" Press (y) or (n) and ENTER" 700 INPUT T$ 705 IF T$="y" THEN GO TO 1020 710 IF T$="n" THEN CLS : GO TO 20 1000 LET x=INT (RND*44)+1 1005 RETURN 1010 SAVE "lottery" LINE 1 1015 GO TO 20 1020 CLS 1025 PRINT AT 2,0;"You have now destroyed this";AT 4,0;"program. If you wish to";AT 6,0;"continue, you must reload." 1030 PAUSE 1000 1035 NEW ``` ## Source Code: Simulated Underline Cursor ``` 1 REM Simulated Underlining Cursor Routine 2 REM RESET 1985 Richard Bredhoff 962 E 107 St Brooklyn, NY 11236 3 REM SYNCWARE NEWS 2068 Screen Utility Competition Entry 9 BORDER 1: PAPER 1: CLS : INK 6 10 LET g$="This is a demontration of the simulated 'underline' cursor routine." 11 LET g$=g$+CHR$ 13+"It can be used to print any instructions for games, or util-ities and effect of a screen full of printing appearing suddenly is avoided." 12 LET g$=g$+CHR$ 13+"The string to be printed can be of any length, have any legal 'name' and may include any of the control characters, simply by concatenating the new charac-ters to the existing string." 13 LET g$=g$+CHR$ 13+"Of course, the BEEP can be made longer or shorter or eliminated entirely, as can the two PAUSES in line 30. " 14 LET g$=g$+CHR$ 13+"If the text is longer than one screen, any additional screens may be displayed on demand, to allow for variations in reading speed and comprehension, as shown." 15 LET g$=g$+CHR$ 13+"The variabe 'pager' is initiallyset to 0, turned on when the first page is nearly full (PRINTLEN g$) and turned off by the subroutine." 19 LET pager=0 20 FOR t=1 TO LEN g$ 22 IF t>520 AND t<522 THEN LET pager=1 24 IF pager=1 THEN GO SUB 1010 30 PRINT "_";: BEEP .001,20: PRINT CHR$ 8;" ";: PAUSE 1: PRINT CHR$ 8;g$(t);: PAUSE 1 40 NEXT t 45 PRINT AT 21,0;"Press any key to reread Page 1..": PAUSE 0: CLS : GO TO 20 50 STOP 1010 PRINT AT 21,0;"Press any key to continue...": PAUSE 0 1020 LET pager=0: CLS : RETURN 9990 STOP 9995 CLEAR : SAVE "A WINNER !" LINE 1 ```