LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)( APPLESEED$ by) SHARON WEBB, -COPYRIGHT 1983-  :::::::% <>"/basic/"=".d1":100:ۺ100 I=120)WAIT.SUBR ZN+!-WORDWRAP.SUBR ]+!%SEG.T j,Ÿ/ %SEG.G v .+SCR.PRT.INV.!+!+SOUND.DEMOERX!X,SOUND.FX.DOC H+!+*SUBCAT.DOC.DOC K7+!gSUBR.DEMOERX!XSUBRkX!X.TEXT.FILE.UTILL h+!g*MENU.MAKER },>)MUSIC.DOC A +!X*MUSIC.SEED 5+!r/PRINTBASIC.UTIL e+!WRUN.DISK.MAKER y  SCROLLTYPE.SUBR X+!gSOUNDs+!gFORTYCOL.DOC ?+!WHARD.COPYI""%HELLO +y8LOAD.FOTO.UTIL jX!+/MAKE.IMAGE.UTIL a+!5 /MAKERUNNER.UTIL +!X-COLOR.GR.SEED g!+.COLOR.HGR.SEED -+!+/COLOR.TEXT.SEED 2k+!n.DIAG.TYPE.SUBR U+!IDISKNAME.DAT yy$DOCS z z"FLASH.SUBR W(+!L++BORDER.SUBR R+!+CAPTURE.DOC 8! +!+CAPTURE_z+!*CAT.RUNNER yCAT1!CAT2!III.BSB.140945Bu' +,ABSTRACT.PIC!@X!ACTIONEDGE.SUBR M+!h/ACTIONTYPE.SUBR O+!h+B.W.GR.SEED %h+!g,B.W.HGR.SEED )m+!g)BGRAF.INV >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L`"* ";SLOW=150 SLOWI(d15:---SCROLLTYPE.SUBR i15n36)" APPLE /// "x15}15 =12:=37" APPLESEED " 3000 ::::  F(# GRAPHICS SEED PROGRAM FOR UNRESTRICTED COLOR MODE 3 (140 BY 192)>-# CURSOR BEGINS AT X=0,Y=0 AT LOWER LEFT CORNER OF SCREEN=2# PROGRAM MUST BE RUN WITH/ON DISC WITH PRGM "BGRAF.INV".7# ENTER DESIRED COLORS IN LINES 9075-9085<#A##1,".gSUBR" 3500:"DOCUMENTATION:":a$="The APPLESEED disk is fully documented. In addition to the REMarks found in all of the programs, there are five programs with the suffix. DOC. These programs may be RUN. Most include demonstrations.":4000 s use.":4000:3000;:"Subroutines are listed in the Catalog like this:":G25)"ACTIONEDGE.SUBR":25)"ACTIONTYPE.SUBR":25)"BORDER.SUBR"E25)"DIAG.TYPE.SUBR":25)"FLASH.SUBR":25)"SCROLLTYPE.SUBR"+25)"WAIT.SUBR":25)"WORDWRAP. this disk may be RUN. EXEC 'Subr.Demo' and they will run consecutively. Many of the subroutines will be found in the subcatalog 'SUBR' and these are ready to EXEC into your program." 4000Q:a$="Each subroutine contains REMarks to fully explain itstricted color graphics....................COLOR.GR.SEED"Bl"Music............................................MUSIC.SEED"Gv"40-column color text.............................COLOR.TEXT.SEED" 3500::"SUBROUTINES:"ה::a$="The subroutines one listed in the Catalog like this:?DD"High-res black and white graphics................B.W.HGR.SEED"CN"Black and white graphics.........................B.W.GR.SEED"FX"High-res color graphics..........................COLOR.HGR.SEED"Eb"Non-rewritten into them. All"H"you have to do is read the REM statements and follow the formula "P"described for entering data. This way you can begin drawing your picture"&"or composing your song at once." &w=4:30000:8:"Seed programs arw=4:3500#:::"SEED PROGRAMS (CONT.):"L"Seed programs are time-savers. When you wish to try simple graphics "L"or when you want to add music to your programs, the seed programs are"M"ready to use. All SOS calls have already been isted. When listed, "K"you will see that directions are given in REM statements. The most "L"pertinent REM statements will appear at the end of the listing. This"Q"way they will stay on the screen for reference while you begin to program." n "r30)"4. Utilities " |w=4:3000:"SEED PROGRAMS: "M:"Six seed programs are included on this disk---one for each graphics "="mode, one for music, and one for 40-column color text."K:"Seed programs are designed to be loaded and l@"The APPLESEED disk is designed to help you program quickly and easily in "SJ"Business Basic. Programs on this disk can be divided into four categories: "OT30)"1. Seed programs "^30)"2. Subroutines "%h30)"3. Program documentatio148:11);:::"CAT.RUNNER"J::::"Do you want a printer copy of APPLESEED disk documentation?"""(Answer YES or NO) ";ANSWER$ANSWER$,1)="Y"2000ANSWER$,1)="y"2000":/,25)"APPLESEED DISK DOCUMENTATION ":30006P 10000 10000;::::20)"FOR DISK DOCUMENTATION..........PRESS 1"7::20)"FOR DISK CONTENTS...............PRESS 2" ::: 10000 10000A:A=2240A=1250:235,7)::"PRESS 1 OR 2............":230-1);:I=rafix"F#".d1/bgraf.inv"K#MODE=3:BUFFER=1P#grafixmode(%MODE,%BUFFER)"U# INITIALIZE COLOR VARIABLES'Z#black=0:magenta=1:dkblue=2:purple=3*_#dkgreen=4:greyone=5:medblue=6:ltblue=7'd#brown=8:orange=9:greytwo=10:pink=11'i#green=12:yellow=13:aqua)``.`5`=`C`E` `BGRAF (C) APPLE 1980j @@@@ @``` kLK``9(89:9g:h:h L89:mm95:6:6hg gh h 99 O S   L `ee m`iɂ`0`hIhJh\h] wh]h^ w\\ ]] ]L ]L\A \A JHIH`i8\i]i\`\]`K`M %b&*L+ 16>:)    kL !"#GA3/1.01/LINr GRAFIXMO b 9700j':gosub 9700j'P RIGHT--X=139:Y=192FL' BOTTOM LEFT--X=0:Y=0 BOTTOM RIGHT--X=139:Y=0'Q' CENTER--X=70 :Y=96V'B['--SAMPLE LINE TO DRAW A DIAGONAL LINE FROM L.LEFT TO U.RIGHT:`'9e' 9200 x=139:y=192:gosu$' @)'--LINES & CURSOR MOVES NEED X=#: Y=# DOTS NEED X%=#: Y%=#.'%3'--TO DRAW A LINE, USE GOSUB 9700$8'--TO DRAW A DOT, USE GOSUB 98005='--TO MOVE CURSOR WITHOUT DRAWING, USE GOSUB 9900B'EG'--COORDINATES: TOP LEFT--X=0:Y=192 TOa dotR&dotat(%X%,%Y%)\&& subroutine to move cursor&moveto(%x,%y)&-' COLOR.GR.SEED INSTRUCTIONS'>' START PROGRAMMING YOUR PICTURE COORDINATES ON LINE 9200=' ENTER X AND Y COORDINATES. FOLLOW WITH GOSUB COMMAND.=14:white=15 n#grafixon$s#fillcolor=medblue:pencolor=whitex#fillcolor(%medblue)}#pencolor(%white) #fillport%I=16000:I"%::RELEASE:RELEASE:RELEASE%:% subroutine to draw a line%lineto(%x,%y)%H& subroutine to plot .GRAFIX jj# \\JHFD=;9210-,+*)!   v Q     `OLIHEDCB?<;8541.+*x  `"hhhhhhhh    HH`XVTRPN#ITCHK WBUFLEN DUFLEN SOSWRITEGSWRITERWBUF ?:72-(SYSFONT SYSFONT RETADDR njDRAWIMAG DRAWIMAGINITCHK ITCHK WBUFLEN RETADDR INITCHK ITCHK RANGECHKECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  NEWFONT NEWFONT INITCHK =+SOSWRITE@.!RWBUF  83& INITCHK uITCHK GRAFIXON GRAFIXONWBUFLEN UFLEN SOSWRITESWRITERWBUF zBUF GPGSREQDLGRAFIXMO GRAFIXMORBUFLEN 9RANGECHKwWBUFLEN ASOSWRITERWBUF \SOSREAD GBASADR TSOSSMARK$INITCHK ITCHK INITGRAF INITGRAFWBUFLEN RETADDR ISOSDSTATGSCB kSOSOPEN INITCHK READPARM5CREFNUM DWBUFADR ?BMOVCHK RBUFADR 7WRITEPAR=SREFNUM FRREFNUM 6WREFNUM >INITFLG KSOSCLOSEhhhhhh HHHH`&$<D^Z FpHx  )) y xHHHJJiH 詏 鮀 `}wqnkjba_\[ZYXWVURQ$hhhhhh HH H)HHH`20+*)Hhhhhhh HHHH`&$< 詏 )x `a^]NMJGF>=<10/.+* )) y xHHHJJiH 詏 鮀hhhh  HH`420.,*)&#"! Rhhhhhh    HH`DB@><:983.+('&$h J)` `!0 nljhfdcbQNMLJFEDCBA<;6hhhhhh  HH`420.,*)&#"! Rhhhhhh    HH`DB@><:983.+('&$hhh-&#  P  `"hhhhhh  HH`420.,*)&#"! Rhhhhhh  B B HH`yyP`GB HH`)r` @A>~|zxvtslgbWTSRPMED=hhhh   HH`420.-&#  Phhhh   HH`420.h   HH`420.-&#  Phhhhhhhhhh  HH`DB@><:86421.+*)'jhhhhhhhh    X XLJFE>987410/-   `+(%" Bhhh h h h hh hhhhhh  HH`ZXVTRPNLJHFDB@<;85431hhhUFLEN SOSWRITESWRITERWBUF ~zvrRETADDR $ INITCHK ITCHK XFROPTIO XFROPTIORANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  RETADDR PLINITCHK sITCHK VIEWPORT VIEWPORTWBUFLEN }UFLEN SOSWRITESWRITERWBUF  xplhd`\X6V' 5['--SAMPLE LINE TO DRAW A DOT AT CENTER OF SCREEN:#`' 250 X%=140:Y%=96:GOSUB 3000e''A DOT, USE GOSUB 30005='--TO MOVE CURSOR WITHOUT DRAWING, USE GOSUB 4000B'EG'--COORDINATES: TOP LEFT--X=0:Y=192 TOP RIGHT--X=280:Y=192FL' BOTTOM LEFT--X=0:Y=0 BOTTOM RIGHT--X=280:Y=0'Q' CENTER--X=140:Y=9ONS'=' START PROGRAMMING YOUR PICTURE COORDINATES ON LINE 250=' ENTER X AND Y COORDINATES. FOLLOW WITH GOSUB COMMAND.$'@)'--LINES & CURSOR MOVES NEED X=#: Y=# DOTS NEED X%=#: Y%=#.'%3'--TO DRAW A LINE, USE GOSUB 2000$8'--TO DRAW $&'I=16000:I"V::RELEASE:RELEASE:RELEASE`: subroutine to draw a linelineto(%x,%y) subroutine to plot a dot dotat(%X%,%Y%)  subroutine to move cursormoveto(%x,%y)+' GR.B.W.UTIL INSTRUCTIfB2: GRAPHICS SEED PROGRAM FOR BLACK & WHITE MODE 0 (280 BY 192)><: CURSOR BEGINS AT X=0,Y=0 AT LOWER LEFT CORNER OF SCREENINITCHK UITCHK MOVETO MOVETO  WBUFLEN _UFLEN SOSWRITEbSWRITERETADDR INITCHK ITCHK RANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  INITCHK ITCHK FILLPORT FILLPORT RETADDR tpINITCHK ITCHK PENCOLOR PENCOLOR RANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF |x FILLCOLO FILLCOLO TRETADDR  SETCTAB SETCTAB  INITCHK ITCHK RANGECHKHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  'kA2: GRAPHICS SEED PROGRAM FOR BLACK & WHITE MODE 2(560 BY 192)><: CURSOR BEGINS AT X=0,Y=0 AT LOWER LEFT CORNER OF SCREENCF: PROGRAM MUST BE RUN ON/WITH DISC WITH "BGRAF.INV" PRGM ON ITd#1,".grafix"i".D1/BGRAF.INV"nmode=2:buffer=1x @)'--LINES & CURSOR MOVES NEED X=#: Y=# DOTS NEED X%=#: Y%=#.'%3'--TO DRAW A LINE, USE GOSUB 9700$8'--TO DRAW A DOT, USE GOSUB 98005='--TO MOVE CURSOR WITHOUT DRAWING, USE GOSUB 9900B'EG'--COORDINATES: TOP LEFT--X=0:Y=192 TOP RIGR&dotat(%X%,%Y%)\&& subroutine to move cursor&moveto(%x,%y)&/' COLOR.HGR.SEED INSTRUCTIONS'>' START PROGRAMMING YOUR PICTURE COORDINATES ON LINE 9200=' ENTER X AND Y COORDINATES. FOLLOW WITH GOSUB COMMAND.$'14:white=15 n#grafixon!s#fillcolor=pink:pencolor=brownx#fillcolor(%pink)}#pencolor(%brown) #fillport%I=16000:I"%::RELEASE:RELEASE:RELEASE%:% subroutine to draw a line%lineto(%x,%y)%H& subroutine to plot a dot,./0afix"F#".d1/bgraf.inv"K#MODE=1:BUFFER=1P#grafixmode(%MODE,%BUFFER)"U# INITIALIZE COLOR VARIABLES'Z#black=0:magenta=1:dkblue=2:purple=3*_#dkgreen=4:greyone=5:medblue=6:ltblue=7'd#brown=8:orange=9:greytwo=10:pink=11'i#green=12:yellow=13:aqua=E(# GRAPHICS SEED PROGRAM FOR RESTRICTED COLOR MODE 1 (280 BY 192)>-# CURSOR BEGINS AT X=0,Y=0 AT LOWER LEFT CORNER OF SCREEN=2# PROGRAM MUST BE RUN WITH/ON DISC WITH PRGM "BGRAF.INV".7# ENTER DESIRED COLORS IN LINES 9075-9085<#A##1,".grQ'@V'--SAMPLE LINE TO DRAW A VERTICAL LINE FROM L.LEFT TO U.LEFT [' 250 X=0:Y=192:GOSUB 2000`'SU, USE GOSUB 300058'--TO MOVE CURSOR WITHOUT DRAWING, USE GOSUB 4000='--EB'--COORDINATES: TOP LEFT--X=0:Y=192 TOP RIGHT--X=560:Y=192FG' BOTTOM LEFT--X=0:Y=0 BOTTOM RIGHT--X=560:Y=0(L' CENTER--X=280:Y=96 eto(%x,%y),' HGR.B.W.UTIL INSTRUCTIONS'=' START PROGRAMMING YOUR PICTURE COORDINATES ON LINE 250'@$'--LINES & CURSOR MOVES NEED X=#: Y=# DOTS NEED X%=#: Y%=#)'%.'--TO DRAW A LINE, USE GOSUB 2000$3'--TO DRAW A DOT(*+grafixmode(%mode,%buffer) fillport grafixonI=16000:I"V::RELEASE:RELEASE:RELEASE`: subroutine to draw a linelineto(%x,%y) subroutine to plot a dot dotat(%X%,%Y%)  subroutine to move cursormovHT--X=280:Y=192FL' BOTTOM LEFT--X=0:Y=0 BOTTOM RIGHT--X=280:Y=0'Q' CENTER--X=140:Y=96V'B['--SAMPLE LINE TO DRAW A DIAGONAL LINE FROM L.LEFT TO U.RIGHT:`'4e' 9200 X=280:Y=192:GOSUB 9700 j' (:::92"..............CAPTURE DOCUMENTATION..............." <::::0F"THE PROGRAM 'CAPTURE' HAS TWO FUNCTIONS: 6K:"1. IT CREATES TEXT FILES FROM BASIC PROGRAMS."KP"2. IT ALLOWS YOU TO MERGE OR APPEND TEXT FILES TO YOUR MAIN PROGRARE REQUIRED PER NOTE (PG.131)7 SAMPLE LINE (MIDDLE C): 5100 DATA 128,50,1946,606 1ST #:MODE% (128) 2ND #:VOL% (0 TO 63)8 3RD #:COUNT% (SEE CHART) 4TH #:TIME% (0 TO 300)46B-----------------MUSIC SEED PROGRAM--------------------------7 TO COMPOSE MUSIC, ENTER DATA BEGINNING LINE 5100H ENTER DATA AS FOLLOWS: USE CHART ON PG. 133 DEVICE DRIVERS MANUAL ENTER ONE NOTE PER LINE1 FOUR VALUES A#1,".AUDIO"MODE%,VOL%,COUNT%,TIME% œ5050#1;MODE%);VOL%);5#1;COUNT%-256*COUNT%/256));COUNT%/256));2#1;TIME%-256*TIME%/256));TIME%/256)); 5010:::---CHANGE 'END' TO 'RETURN' IF USED AS SUBROUTINEE: TEXTB TO RETURN FROM GRAPHICS DISPLAY AND RETAIN COLOR TEXT MODE TYPE: PRINT CHR$(15)13:aqua=14:white=15setfore=19/ CHANGE COLOR TO CHOICE IN LINES 200,220setfore);brown)setback=20setback);yellow)4 LINE 225 FILLS SCREEN WITH BACKGROUND COLOR3 TO RETURN TO DEFAULT TEXT MODE, TYPidi SET COLOR TEXTnsettext=16:mode=1xsettext);mode)}" INITIALIZE COLOR VARIABLES'black=0:magenta=1:dkblue=2:purple=3)dkgreen=4:grey1=5:medblue=6:lgtblue=7%brown=8:orange=9:grey2=10:pink=11'green=12:yellow=13M."R::::WAIT=13000:WAIT( 40-col black & white text mode ::::("40-COLUMN BLACK & WHITE TEXT MODE"K:"To change the default 80-column text mode to 40-column, type this:":10)"PRINT CHR$(16); 0"(::2"To see a 40-column display, type in thACK INTO BASIC." ::::::M"IF YOU USE A WORD-PROCESSOR SUCH AS 'APPLE WRITER ///' YOU MAY WISH TO"O"EDIT YOUR PROGRAMS WITH THE PROCESSOR. 'CAPTURE' CAN CREATE A TEXT FILE"M"WHICH YOUR WORD-PROCESSOR CAN HANDLE. AFTER EDITING, YOUR PROGRAM CAN"#"BE 'EXEC'D' BMBER.' IN SOME INSTANCES YOU WILL FIND 'RENUMBER' TO BE THE"Ll"PROGRAM OF CHOICE. IN OTHER CASES, ESPECIALLY WHEN YOU HAVE EXISTING"Lv"TEXT FILES ON HAND, YOU WILL FIND IT QUICKER TO 'EXEC' THEM INTO YOUR""PROGRAM."WAIT=13000:WAIT G PROGRAM MAY BE SAVED TO DISK WITH A NEW" "NAME."&WAIT=12000:WAIT::40"PRESS ANY KEY TO CONTINUE..............":KEY$ :::D"ADDITIONAL NOTES:"N:HX"PROGRAMS MAY ALSO BE MERGED USING THE BUSINESS BASIC DISK PROGRAM"Hb"'RENU"THE MERGE/APPEND ASPECT OF 'CAPTURE' WORKS, DO THE FOLLOWING::8" TYPE: LOAD COLOR.TEXT.SEED"8" TYPE: EXEC SUBR/MUSIC.5000"(" TYPE: LIST"M::"IF YOU WISH, THE RESULTIN1500:WAIT6:"PRESS ANY KEY TO CONTINUE..............":KEY$ :::"MERGE/APPEND EXAMPLE:"M::"THE PROGRAM 'MUSIC.SEED' HAS BEEN CONVERTED TO A TEXT FILE ON THIS"F"DISK. AS A TEXT FILE IT HAS THE NAME 'MUSIC.5000.' TO SEE HOW"COUTINE IS NOW ADDED TO YOUR MAIN PROGRAM IN MEMORY."|WAIT=16000:WAITI::"IMPORTANT NOTE: WHEN MERGING A TEXT FILE, ITS PROGRAM NUMBERS"F"MUST BE DIFFERENT FROM YOUR MAIN PROGRAM OR THE RESULTS WILL BE""HIGHLY DISTRESSING."WAIT=1GE.SUBR' TO YOUR "QT"MAIN PROGRAM. TO DO THIS, FIRST CREATE A TEXT FILE FROM 'ACTIONEDGE.SUBR'"M^"USING THE DIRECTIONS JUST GIVEN. NAME THE NEW FILE 'ACTIONEDGE.TEXT.'"Bh"THEN LOAD YOUR MAIN PROGRAM AND TYPE: EXEC ACTIONEDGE.TEXT."Br"THE SUBRED A TEXT FILE, IT CAN BE MERGED WITH, OR"$""APPENDED TO, ANOTHER PROGRAM."M,::"THIS ALLOWS YOU TO ADD SUBROUTINES AND SEED PROGRAMS TO YOUR MAIN "6"PROGRAM."@::WAIT=14000:WAITMJ"SUPPOSE THAT YOU WANT TO ADD THE SUBROUTINE 'ACTIONED" EXEC CAPTURE"" LIST"2" CHANGE 'XXX' TO DESIRED FILE NAME"" RUN 20000"WAIT=12500:WAIT8::"PRESS ANY KEY TO CONTINUE..............":KEY$::"MERGE OR APPEND:"G::"ONCE YOU HAVE CREATILE WILL NOW BE CREATED AND CAN BE PRINTED"-" BY USING THE PROGRAM---TEXT.FILE.UTIL":WAIT=19000:WAITD"EXAMPLE---TO CREATE A TEXT FILE FROM A FILE NAMED 'GOOD.FILE'""" DO THE FOLLOWING:"" LOAD GOOD.FILE" TYPE: LIST. THE BASIC FILE WILL NOW HAVE NEW LINES"C" ADDED BEGINNING AT LINE 20000. CHANGE 'XXX' IN THESE LINES"E" TO THE NEW TEXT FILE NAME THAT YOU WANT THE BASIC FILE TO BE.")" THEN TYPE AS FOLLOWS: RUN 20000."@" THE NEW TEXT Fe above line."X7:"At first, the screen will be unreadable, because all present characters will be"J<"transformed. Type RUN and screen will clear to a normal display.":4A"To return to an 80-column display, type: TEXT" d"n MUSIC.SEED DOCUMENTATIONx$31)"MUSIC.SEED DOCUMENTATION"$31)"________________________" ::910>" Here is a sample song done with the MUSIC.SEED program"910:5000::L" To add music to your programs, load SOUND.EFFECTS.DOC15 I=12000::'25)"SOUND EFFECTS DOCUMENTATION"R"BASIC sound effect programs are listed in the catalog SOUND with the suffix"0#".FX. Each BASIC sound effect may be RUN."%10O(:"To make it4,20T 128,50,1946,45Y 128,0,1946,20^ 128,50,1733,40h 128,50,1157,20r 128,50,1298,40| 128,50,1457,20 128,50,1544,40 128,40,1733,10 128,40,1946,20 128,50,1733,90127,30x 128,50,1031,10 128,40,1298,20 128,50,1157,80 128,0,1157,45 128,50,867,20  128,60,867,40 128,50,867,20 128,50,973,40" 128,50,1157,20, 128,50,1157,456 128,40,1298,10@ 128,40,1457,10J 128,50,1540 128,30,1733,20 128,40,1157,40  128,30,1157,10  128,30,1157,20 128,40,1544,30( 128,30,1457,102 128,25,1544,20 < 128,30,1733,90F 128,50,1157,40P 128,40,973,20Z 128,50,867,50d 128,40,973,20n 128,40,115#1,".AUDIO"MODE%,VOL%,COUNT%,TIME% œ5050#1;MODE%);VOL%);5#1;COUNT%-256*COUNT%/256));COUNT%/256));2#1;TIME%-256*TIME%/256));TIME%/256)); 5010 SCARBOROUGH FAIR 128,30,1733,4 in 5012. (EXAMPLE: COUNT%=COUNT%/4:TIME%=TIME%/4)":R:" [Use Cursor Command Mode to make your changes.]"\:-f" 5012 COUNT%=COUNT%*4: TIME%=TIME%/2"p" 5050 END"z" RUN 5000"WAIT=1900:WAITWAIT=13000:WAITne, press RETURN. Then using the right arrow, "L " continue to pass the cursor over the next two lines. Follow each "*" pass with RETURN.] "4K>" After you have heard this version, try some of your own by varying "JH" the values givenN. "D" [To validate, enter Cursor Command Mode by pressing ESCAPE."M" Then press the up arrow until cursor is next to 5012. Press escape"Q " again, then press right arrow so that cursor passes over line. "E" At end of liME% (speed) of a tune can easily be varied."M" To hear a different version of the sample tune, validate the program "K" lines given at the bottom of the screen by passing the cursor over ";" each line. At the end of each line, press RETURtine, line 5050 in MUSIC.SEED must be changed"" to read: RETURN "T::"(NOTE: MUSIC.SEED will be found as a text file in the subcatalog SUBR.)": :930322)". . . .PRESS ANY KEY TO CONTINUE. . . ."IN$H" COUNT% (pitch) and TI@BCDEF and list MUSIC.SEED, then follow"3" the directions given in the REM statements." ::930L" Line numbers of MUSIC.SEED begin at 5000. This allows space for the"+" program to be used as a subroutine." ::930J" When used as a subrou easy for you to add sound effects to your program, each is "O-"included in text-file form. Text-file sound effects may be EXEC'd into "2"your programs."410Q7:"EXAMPLE: The file 'SLOW.TWINKLE.FX' is stored on the disk in a text-file"E<"vGINP50:" -----------A":5550:"A ":55 50:58:" -----------C":55 50:58:"C ":55 !50:58:" -----------T":55 "50:58:"T ":55 #50:58:" -----------I":55 $50:58:"I ":55 %50: ACTIONTYPE SUBROUTINE> Letters and symbols may be substituted in lines 28-480 Position may be changed lines 50 and 58& Timing may be changed line 558 To use as subroutine, change line 49 to RETURN WIDE=111@"[-";:J=1100AJ B=-1C"-]";:J=1100DJ E=-1 FWIDEGWIDE=<1163:72Hd Main Programin s=10:=29x63}=11%:29)"ACTION-EDGE SUBROUTINE"=14=2963 (100: Go to Main Program*- ACTION EDGE SUBROUTINE297 Border figures may be changed in lines 64 and 67J< To retain action, figures must be mirror images. [Ex:(),<>,}{,\/]*= "WIDE" determines width of border>?ur convenience in EXECing them into your programs.", 'BORDER.SUBR' is loaded and may then be run."x>"When printing hard copy of a text file in a subcatalog,"#"full path-name must be used."M"All routines in the subcatalogs contain their starting line numbers in"L"the pathname for yoJLll path-name must be given ie.: SOUND/MUSIC.5000"FDP"All text files must be called with the command EXEC (not RUN)"EZ"thus to call up the file 'BORDER.10000' for example, you would"$d"type: EXEC SUBR/BORDER.10000"iFn"When this is done5 ::" "SUBCATALOG DOCUMENTATION":="There are two subcatalogs on this disk: SUBR and SOUND">"To call up a subcatalog, type: CAT SUBR or CAT SOUND"(G2"To call a file for execution or printing from text.file catalog,":<"fuo read RETURN." K10:10@P:"To see how EXECing a sound effect works, type this now:"$U:10)"EXEC SOUND/HFX.13200":-Z"Then when the sound effect loads, type:_:10)"RUN"ersion called 'SFX.#' The number following the suffix is the"N>"starting line number. All text-file versions have high line numbers so"PA"that they may easily be used as subroutines. If used as a subr. the last"3F"line (END) should be changed t58:" -----------O":55 &50:58:"O ":55 '50:58:" -----------N":55 (50:58:"N ":55 )50:58:" -----------T":55 *50:58:"T ":55 +50:58:" -----------Y":55 ,50:58:"Y ":55 -50: vp=10:hp=22( FLASH SUBROUTINE5* number of flashes may be altered in line 524, speed of flashes may be altered in line 547. position of flashes may be altered in line 5830 print statement may be altered in line 6011WAIT=13000:WAIT:! FOR FUN, ADD THESE LINES:! 107 PRINT CHR$(16);MODE=0 135 TEXT:HOME D THEN CHANGE HPOS NUMBERS IN LINE 110 TO 6, IN LINE 120 TO 22";TVR FARTHER TO THE RIGHT. I=180U"+ ";SLOW=130 SLOWI d22iPAUSE=1500:PAUSEn=6:=12:" DIAGONAL TYPE "x=18:=55:" SUBROUTINE " DIAGONALTYPE SUBROUTINE ::::::: 100E PRINT SYMBOL MAY BE CHANGED IN LINE 24. FOR DIAGONAL EFFECT,G 2ND QUOTE MARK MUST FALL BELOW THE 'N' IN 'PRINT.' WHEN PROGRAMA IS SAVED TO DISK, QUOTE WILL APPEA;mode%);vol%);5B'#1;count%-256*count%/256));count%/256));2L'#1;time%-256*time%/256));time%/256));)V'mode%=128:vol%=30:count%=1946:time%=1`'Ij'QSEX: '*-') THEN ;' NUMBER IN LINE 10000 MUST BE ADJUSTED ACCORDINGLY ' :' TONE MAY BE ALTERED IN 'COUNT% = ____' LINE 10070B' (FOR VALUES, USE CHART ON PG. 133, DEVICE DRIVERS MANUAL)''#1,".audio" $'I=180 .'"+";8'#1d::::::: n10000 x:31)"BORDER SUBROUTINE "WAIT=1250:WAIT 10000$' SUBROUTINE TO PRINT BORDER '6' BORDER DESIGN MAY BE CHANGED IN LINE 10030 'C' IF DESIGN IS CHANGED TO 2 OR MORE SYMBOLS (58:" -----------P":55 .50:58:"P ":55 /50:58:" -----------E":55 050:58:"E ":5512=12:=30:7PAUSE=1150:PAUSE:(:=12:=+1:=+COUNT:COUNT=COUNT+1: set vp,hp in main prgm., then call subr24flash=1206slow=1208flash/2=flash/2):۴ :=vp:=hp+<" THIS PROGRAM CAUSES PRINT TO FLASH " >slow @flashB::::::::100U SCROLLTYPE.SUBRCW To scroll type, call subr, then print statement, then subr.AZ For separation between print statements, call subr twice. [i=120`\"* 20000 CREATE "XXX",TEXT 20001 OPEN# 1 AS OUTPUT,"XXX" 20002 OUTPUT# 1 20003 LIST 1 TO 19999: PRINT 20004 CLOSE:END r programs easily without breaks in words at the end of lines. Instead of counting spaces and figuring tab settings, just store your print statements in the variable a$.":30 s::::ta20nextseg>=(space+70)nextseg<=(space+79)522"4a$,space+1,(nextseg-space))6a$,nextseg+1)8 :x=:<a$,space+1) >x=:@d=7*i5;"--- WORDWRAP SUBROUTINE ---"::na$="This subroutine will allow you to format you\^with GOSUB 30.-- -Limit a$ to no more than three lines.-a$)<=79a$: I=1a$)"space=a$," ",I)$space>=70space<=7940&(a$,space)$*a$)-a$,space))<=space60,I=spacea$).nextseg=a$," ",I)  75 C :1009 -------------- WORDWRAP SUBROUTINE -------------G -To format print statements with wordwrap to avoid breaks in theF middle of words, store the value of the print statement in a$. / Then call the subroutine urate timing loops"7"but screen will scroll when SYN is used.":w=4:39Y[ delay of approximately 2 seconds.":39Wx:"Timing can be altered by storing the desired number of seconds in the variable">"'w' within your program followed by a GOSUB 39.":w=4:39W:"The SYN function--CHR$(22)--may be used to build in more accL :100% ------ WAIT.SUBR ------E& - Set 'w'to seconds desired in prg (default=2), then GOSUB 39 -"'w=w+2*(w=0):I=1(w*1000)::( -----------------------1d:::::28)"--- WAIT SUBROUTINE ---":39Jn:::"A GOSUB 39 results in a ";]SLOW=150 ^SLOW_I`d85i85n33)" SCROLLING TYPE "x85}85 =12:=37" TITLE "WAIT=12500::( 2 1/,80c750;"IMAGE MAKER"B<50;"(Creates a program using IMAGE to your specifications)"F:%P"Documentation..........press D"+U"Image Maker............press I":a$:Z(a$="D")(a$="d")600_"IMAGE MAKER:"::d"Left F:=5 P 70c"U80;"TEXT FILE UTILITY":::W.Z PRINTS TEXT FILES OR CREATES TEXT FILES[I\"To print text file to printer or console, input file name at first"H]"prompt and .printer (or .silentype) or .console at second prompt."(b$,3)="CAT")130:#1"LOAD ";b$#1"OPEN#1 AS OUTPUT,";p$#1"OUTPUT#1"8(b$,3)="cat")(b$,3)="CAT")#1;b$:#1"LIST"#1"CLOSE#1"#1"OPEN#1 AS OUTPUT,";c$e$="hard.copy" e$:dfb$)=02008<:"Are you using a Silentype printer? (Y or N) ";p$AF(p$,1)="Y")(p$,1)="y")p$=".SILENTYPE":p$=".PRINTER"%d:"Turn on your printer now....".n:::::"Press any key to continue...."sk$:c$=".CONSOLE"9x(b$,3)="cat") :::) : List Basic program to printer#1,"HARD.COPY"  80c22;"HARD COPY PRINTER":9"At prompt, enter name of Basic file to be printed."7#"(CAT for Catalog, CAT FILE.NAME for Subcatalog) "%:"File Name: ";b$(. As"K"many files may be entered as you like. To end, press return without")"entering a file name.":I=15000:#::"EXAMPLE: -RUN MYPROGRAM"I=14000:::"First you will see the disk catalog. The prompt - will follow."::::"Press :::"MAKERUNNER.UTIL"N :"This program will create a file called RUNNER which may be input with"O "program names for sequential running of files. At the prompt -, type in"L "the command RUN followed by a program name and then press returnresult;"a,";result;"r"H@" 30 REM Call this way: PRINT USING 20; ''1st item'',''2nd item''"J;" 20 IMAGE ";x;"x,";result;"a,";result;"c,";result;"r"T" 30 REM Call this way: PRINT USING 20;''1st item'',''2nd item'',''3rd item''"X"DOCe: IMAGE must be the only statement on a line.) :: " NEW"!" 10 REM -FORMAT IMAGER-" z=2300 z=3400#" 20 IMAGE ";x;"x,";result;"c"A" 30 REM Call this way: PRINT USING 20;''print statement''"/," 20 IMAGE ";x;"x,";`b margin desired? ";xn"Right margin desired? ";y+x"Number of columns desired? (1-3) ";zresult=(80-(x+y))/z)H::"Validate all the lines below by passing the cursor over each."4"Then press [RETURN] and LIST the new program.";:"(Not^B_"To write to a new text file, input .console at first prompt"H`"and new file name at second prompt. Then type in text at keybrd."Ia:"(When writing to new file, end program with Control-C or RESET.)"bd:'x:" INPUT FILE PATHNgiNT LEFT$(a$,space) 42 IF LEN(a$)-LEN(LEFT$(a$,space))<=space THEN 60 44 FOR I=space TO LEN(a$) 46 nextseg=INSTR(a$," ",I) 48 IF nextseg>=(space+70) THEN IF nextseg<=(space+79) THEN 52 50 NEXT 52 PRINT MID$(a$,space+1,(nextseg-space)moine with GOSUB 30.- 25 REM 26 REM -Limit a$ to no more than three lines.- 27 REM 30 IF LEN(a$)<=79 THEN PRINT a$:RETURN 32 FOR I=1 TO LEN(a$) 34 space=INSTR(a$," ",I) 36 IF space>=70 THEN IF space<=79 THEN 40 38 NEXT 40 PRI 20 REM -------------- WORDWRAP SUBROUTINE ------------- 21 REM 22 REM -To format print statements with wordwrap to avoid breaks in the 23 REM middle of words, store the value of the print statement in a$. 24 REM Then call the subrout 16 REM ------ WAIT.SUBR ------ 17 REM - Set 'w'to seconds desired in prg (default=2), then GOSUB 18 - 18 w=w+2*(w=0):FOR I=1 TO(w*1000):NEXT:RETURN 9ggk/ACTIONTYPE.6000HggkWORDWRAPqggkACTIONEDGE.58ggk*MUSIC.5000ggkACTIONTYPEFggk,BORDER.10000ggkSUBRvX'  'WAIT.16lggk+WORDWRAP.20nqggkFLASH.47pggkACTIONEDGE.58qggkSCROLLTYPE.85{ggkDIAG.TYPE.11014 *** FOTO LOADER ***0::::::"What foto file to run? ";name$ œ"BGRAF.INV"initgrafix: nbackground%=0:mode%=3:buf%=1xgrafixmode(%mode%,%buf%)grafixon:fillportgload.name$i=19000::::AME? ";A$ #1,A$(:" OUTPUT FILE PATHNAME? ";A$ OPEN NEW OUTPUT FILE #2,A$ž#1" DONE"::#1;A$:#2;A$:180) 54 PRINT MID$(a$,nextseg+1) 56 REM 58 x= FRE:RETURN 60 PRINT MID$(a$,space+1) 62 x= FRE:RETURN 47 REM FLASH SUBROUTINE 48 REM number of flashes may be altered in line 51, speed in 52 49 REM set value of vp, hp in main prgm. 50 REM store print statement in a$, then call subr. 51 FOR flash=1 TO 20 52 FOR slow=1 TO NEXT repeat 13022 NEXT gliss 13024 END:REM---------CHANGE THIS LINE TO "RETURN" IF USED AS SUBROUTINE uw5, or 1 to 7 etc. 13012 COUNT%=COUNT%+50 13014 PRINT#1;CHR$(MODE%);CHR$(VOL%); 13016 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13018 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13020 13000 OPEN#1 AS OUTPUT,".AUDIO":REM 'DESCENDING ARPEGGIO.FX' 13002 COUNT%=258 13004 MODE%=128:VOL%=35:TIME%=1 13006 FOR gliss=1 TO 5 13008 COUNT%=COUNT%-200:VOL%=VOL%+5:TIME%=TIME%+1 13010 FOR repeat=1 TO 6:REM---To vary, try 1 to TX!sTWINKLE.FX 5X!sCOPTER.FX X!sHIBOUNCE.FX X!XsLOWBOUNCE.FX >X!XsBOUNCE.FX ;X!XssARPEGGIO.FX X!sCLIMAX.FX 5X!sCRESCENDO.FX SX!sFANFARE.FX X!sHURRY.FX rX!sSLOW.FX CX!sSLOW.TWINKLE.FX +!gs)STX.13300+!gsTFX.13350+!gs)CPX.134000+!gsHBX.13450X!gsLFX.13500X!gsBFX.13550X!gstSOUNDv+' ')AFX.13000vq+!gsCFX.13050x+!gsCRX.13100y+!gs)FFX.13150{J+!gs)HFX.13200~ +!gsSFX.13250USTED ACCORDINGLY 10006 REM 10007 REM TONE MAY BE ALTERED IN 'COUNT% = ____' LINE 10070 10008 REM (FOR VALUES, USE CHART ON PG. 133, DEVICE DRIVERS MANUAL) 10009 REM 10010 OPEN#1 AS OUTPUT,".audio" 10020 FOR I=1 TO 80 10030 P 10000 REM SUBROUTINE TO PRINT BORDER 10001 REM 10002 REM BORDER DESIGN MAY BE CHANGED IN LINE 10030 10003 REM 10004 REM IF DESIGN IS CHANGED TO 2 OR MORE SYMBOLS (EX: '*-') THEN 10005 REM NUMBER IN LINE 10000 MUST BE ADJ1 64 PRINT"[-";:FOR J=1 TO 100 65 NEXT J 66 HPOS= HPOS-1 67 PRINT"-]";:FOR J=1 TO 100 68 NEXT J 69 HPOS= HPOS-1 70 NEXT WIDE 71 IF WIDE=<11 THEN 63:ELSE 72 72 RETURN 58 REM ACTION EDGE SUBROUTINE 59 REM Border figures may be changed in lines 64 and 67 60 REM To retain action, figures must be mirror images. [Ex:(),<>,}{,\/] 61 REM "WIDE" determines width of border 62 REM 63 FOR WIDE=1 TO 120 53 IF flash/2=INT(flash/2) THEN INVERSE:ELSE NORMAL 54 VPOS=vp:HPOS=hp 55 PRINT a$ 56 NEXT slow 57 NEXT flash:NORMAL:RETURN 13050 OPEN#1 AS OUTPUT,".AUDIO":REM 'CLIMAX.FX' 13052 COUNT%=486 13054 MODE%=128:VOL%=50:TIME%=3 13056 FOR gliss=1 TO 5 13058 COUNT%=COUNT%-200 13060 FOR repeat=1 TO 3 13062 COUNT%=COUNT%+50 13064 PRINT#1;CHR$(MODE%)"RETURN" IF USED AS SUBROUTINE });CHR$(VOL%); 13216 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13218 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13220 NEXT repeat 13222 NEXT gliss 13224 END:REM--------CHANGE THIS LINE TO 13200 OPEN#1 AS OUTPUT,".AUDIO":REM 'HURRY.FX' 13202 COUNT%=1946 13204 MODE%=128:VOL%=50:TIME%=1 13206 FOR gliss=1 TO 8 13208 COUNT%=COUNT%+800 13210 FOR repeat=1 TO 4 13212 COUNT%=COUNT%-150 13214 PRINT#1;CHR$(MODE% DATA 128,0,486,5 13176 DATA 128,50,578,5 13178 DATA 128,60,486,20 z|ME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13162 GOTO 13805 13164 RESTORE:END:REM---CHANGE 'END' TO 'RETURN' IF USED AS SUBROUTINE 13166 DATA 128,50,973,5 13168 DATA 128,50,729,5 13170 DATA 128,50,578,5 13172 DATA 128,60,486,5 13174 13150 OPEN#1 AS OUTPUT,".AUDIO":REM 'FANFARE.FX' 13152 READ MODE%,VOL%,COUNT%,TIME% 13154 ON ERR GOTO 13835 13156 PRINT#1;CHR$(MODE%);CHR$(VOL%); 13158 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13160 PRINT#1;CHR$(TI3114 PRINT#1;CHR$(MODE%);CHR$(VOL%); 13116 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13118 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13120 NEXT repeat 13122 NEXT gliss 13124 END 13100 OPEN#1 AS OUTPUT,".AUDIO":REM 'CRESCENDO.FX' 13102 COUNT%=7782 13104 MODE%=128:VOL%=20:TIME%=3 13106 FOR gliss=1 TO 8 13108 COUNT%=COUNT%-900:VOL%=VOL%+5:TIME%=TIME%+1 13110 FOR repeat=1 TO 2 13112 COUNT%=COUNT%+225 1;CHR$(VOL%); 13066 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13068 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13070 NEXT repeat 13072 NEXT gliss 13074 END 13250 OPEN#1 AS OUTPUT,".AUDIO":REM 'SLOW.FX' 13252 COUNT%=3891 13254 MODE%=128:VOL%=50:TIME%=4 13256 FOR gliss=1 TO 8 13258 COUNT%=COUNT%+800:TIME%=TIME%+1 13260 FOR repeat=1 TO 2 13262 COUNT%=COUNT%-150 13264 PRINGE THIS LINE TO "RETURN" IF USED AS SUBROUTINE NT#1;CHR$(MODE%);CHR$(VOL%); 13416 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13418 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13420 NEXT repeat 13422 NEXT gliss 13424 END:REM---------CHAN 13400 OPEN#1 AS OUTPUT,".AUDIO":REM 'COPTER.FX' 13402 COUNT%=10000 13404 MODE%=128:VOL%=5:TIME%=1 13406 FOR gliss=1 TO 30 13408 COUNT%=COUNT%-200:VOL%=VOL%+2 13410 FOR repeat=1 TO 4 13412 COUNT%=COUNT%+100 13414 PRI);CHR$(VOL%); 13366 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13368 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13370 NEXT repeat 13372 NEXT gliss 13374 END 13350 OPEN#1 AS OUTPUT,".AUDIO":REM 'TWINKLE.FX' 13352 COUNT%=486 13354 MODE%=128:VOL%=50:TIME%=1 13356 FOR gliss=1 TO 8 13358 COUNT%=COUNT%-200 13360 FOR repeat=1 TO 4 13362 COUNT%=COUNT%+50 13364 PRINT#1;CHR$(MODE% 13314 PRINT#1;CHR$(MODE%);CHR$(VOL%); 13316 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13318 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13320 NEXT repeat 13322 NEXT gliss 13324 END 13300 OPEN#1 AS OUTPUT,".AUDIO":REM 'SLOW.TWINKLE.FX' 13302 COUNT%=258 13304 MODE%=128:VOL%=25:TIME%=1 13306 FOR gliss=1 TO 5 13308 COUNT%=COUNT%-200:VOL%=VOL%+5:TIME%=TIME%+1 13310 FOR repeat=1 TO 4 13312 COUNT%=COUNT%+50 T#1;CHR$(MODE%);CHR$(VOL%); 13266 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13268 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13270 NEXT repeat 13272 NEXT gliss 13274 END RUN ACTIONEDGE.SUBR RUN ACTIONTYPE.SUBR RUN BORDER.SUBR RUN DIAG.TYPE.SUBR RUN FLASH.SUBR RUN SCROLLTYPE.SUBR RUN WAIT.SUBR RUN WORDWRAP.SUBR 1X4#1,".AUDIO": 'DESCENDING ARPEGGIO.FX']4COUNT%=258b4MODE%=128:VOL%=35:TIME%=1g4gliss=15/l4COUNT%=COUNT%-200:VOL%=VOL%+5:TIME%=TIME%+19q4repeat=16:---To vary, try 1 to 5, or 1 to 7 etc. v4COUNT%=COUNT%+50{4#1;MODE%);VOL%)DE%);CHR$(VOL%); 13466 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13468 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13470 NEXT repeat 13472 NEXT gliss 13474 END 13450 OPEN#1 AS OUTPUT,".AUDIO":REM BOUNCE.SOUND 13452 COUNT%=400 13454 MODE%=128:VOL%=25:TIME%=.5 13456 FOR gliss=1 TO 1 13458 COUNT%=COUNT%+800 13460 FOR repeat=1 TO 2 13462 COUNT%=COUNT%+150 13464 PRINT#1;CHR$(MOODE%);CHR$(VOL%); 13566 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13568 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13570 NEXT repeat 13572 NEXT gliss 13574 END 13550 OPEN#1 AS OUTPUT,".AUDIO":REM BOUNCE.SOUND 13552 COUNT%=4122 13554 MODE%=128:VOL%=25:TIME%=.5 13556 FOR gliss=1 TO 1 13558 COUNT%=COUNT%+800 13560 FOR repeat=1 TO 2 13562 COUNT%=COUNT%+150 13564 PRINT#1;CHR$(M$(MODE%);CHR$(VOL%); 13516 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 13518 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));CHR$(INT(TIME%/256)); 13520 NEXT repeat 13522 NEXT gliss 13524 END 13500 OPEN#1 AS OUTPUT,".AUDIO":REM LOWBOUNCE.SOUND 13502 COUNT%=6933 13504 MODE%=128:VOL%=25:TIME%=.5 13506 FOR gliss=1 TO 1 13508 COUNT%=COUNT%+800 13510 FOR repeat=1 TO 2 13512 COUNT%=COUNT%+150 13514 PRINT#1;CHRand right margin set to 30:": 7x,16a,16c,16r0730;"COLUMN #1","COLUMN #2","COLUMN #3":i=13000:G".....Press [ESC] to end. Any other key for IMAGE MAKER.....":a$a$=27)780 :95 :i=16500:L"Here is an example of a 3-column IMAGE with both margins set to 10:": 10x,20a,20c,20r0690;"COLUMN #1","COLUMN #2","COLUMN #3":i=13000:B"Here is an example of a 3-column IMAGE with left margin set")"to 7 sts the IMAGE"J"command to your specifications. By using CAPTURE, this program may"Q"be saved as a text file and EXECed into your main program as a subroutine."H"IMAGE MAKER will prompt for margin settings and for the number of""columns."UMENTATION:":Ib"The IMAGE command will enable you to center or right justify text."Al"It will also allow you to place columns of text or figures"-v"anywhere horizontally on the screen.":I"IMAGE MAKER creates a program that automatically adjuRUN SOUND/ARPEGGIO.FX RUN SOUND/CLIMAX.FX RUN SOUND/CRESCENDO.FX RUN SOUND/FANFARE.FX RUN SOUND/HURRY.FX RUN SOUND/SLOW.FX RUN SOUND/SLOW.TWINKLE.FX RUN SOUND/TWINKLE.FX RUN SOUND/COPTER.FX RUN SOUND/HIBOUNCE.FX RUN SOUND/LOWBOUNCE.FX RUN SOUND/BOUNCE.FX ;54#1;COUNT%-256*COUNT%/256));COUNT%/256));24#1;TIME%-256*TIME%/256));TIME%/256)); 4repeat 4glissB4:---------CHANGE THIS LINE TO "RETURN" IF USED AS SUBROUTINE 6000 REM ACTIONTYPE SUBROUTINE 6022 REM Letters and symbols may be substituted in lines 6029-6048 6024 REM Position may be changed lines 6050 and 6058 6025 REM Timing may be changed line 6055 6028 HOME 6029 GOSUB 6050:PRINT" 5%,3#1,".AUDIO": 'TWINKLE.FX'13COUNT%=48663MODE%=128:VOL%=50:TIME%=1;3gliss=18@3COUNT%=COUNT%-200E3repeat=14J3COUNT%=COUNT%+50O3#1;MODE%);VOL%);5T3#1;COUNT%-256*COUNT%/256));COUNT%/256));2Y3#1;TIME%-256*TIM256));2M5#1;TIME%-256*TIME%/256));TIME%/256)); R5repeat W5gliss\5T* 5#1,".AUDIO": 'SLOW.TWINKLE.FX'%5COUNT%=258*5MODE%=128:VOL%=25:TIME%=1/5gliss=15/45COUNT%=COUNT%-200:VOL%=VOL%+5:TIME%=TIME%+195repeat=14>5COUNT%=COUNT%+50C5#1;MODE%);VOL%);5H5#1;COUNT%-256*COUNT%/256));COUNT%/IME%-256*TIME%/256));TIME%/256)); &4repeat +4gliss04C#3#1,".AUDIO": 'SLOW.FX'3COUNT%=38913MODE%=128:VOL%=50:TIME%=44gliss=18#4COUNT%=COUNT%+800:TIME%=TIME%+1 4repeat=124COUNT%=COUNT%-1504#1;MODE%);VOL%);54#1;COUNT%-256*COUNT%/256));COUNT%/256));2!4#1;TME%/256));TIME%/256)); 2repeat 2glissA3:--------CHANGE THIS LINE TO "RETURN" IF USED AS SUBROUTINEr$2#1,".AUDIO": 'HURRY.FX'2COUNT%=19462MODE%=128:VOL%=50:TIME%=12gliss=182COUNT%=COUNT%+8002repeat=142COUNT%=COUNT%-1502#1;MODE%);VOL%);52#1;COUNT%-256*COUNT%/256));COUNT%/256));22#1;TIME%-256*TIED AS SUBROUTINE6 128,50,973,56 128,50,729,56 128,50,578,56 128,60,486,5$6 128,0,486,5)6 128,50,578,5.6 128,60,486,20#5#1,".AUDIO": 'FANFARE.FX'5MODE%,VOL%,COUNT%,TIME% 5œ138355#1;MODE%);VOL%);55#1;COUNT%-256*COUNT%/256));COUNT%/256));26#1;TIME%-256*TIME%/256));TIME%/256)); 613805: 6::---CHANGE 'END' TO 'RETURN' IF US56));24#1;TIME%-256*TIME%/256));TIME%/256)); 4repeat 4gliss4S'4#1,".AUDIO": 'CRESCENDO.FX'4COUNT%=77824MODE%=128:VOL%=20:TIME%=34gliss=18/4COUNT%=COUNT%-900:VOL%=VOL%+5:TIME%=TIME%+14repeat=124COUNT%=COUNT%+2254#1;MODE%);VOL%);54#1;COUNT%-256*COUNT%/256));COUNT%/2E%/256));TIME%/256)); 3repeat 3gliss35%3#1,".AUDIO": 'CLIMAX.FX'3COUNT%=4863MODE%=128:VOL%=50:TIME%=33gliss=153COUNT%=COUNT%-2003repeat=133COUNT%=COUNT%+503#1;MODE%);VOL%);53#1;COUNT%-256*COUNT%/256));COUNT%/256));23#1;TIME%-256*TIM-----------A":GOSUB 6055 6030 GOSUB 6050:PRINT"A ":GOSUB 6055 6031 GOSUB 6050:GOSUB 6058:PRINT" -----------C":GOSUB 6055 6032 GOSUB 6050:GOSUB 6058:PRINT"C ":GOSUB 6055 6033 GOSUB 6050:GOSUB 6058:PRINT" -----------T":GOSUBE%/256));TIME%/256)); ^3repeat c3glissh3%5#1,".AUDIO": 'COPTER.FX'5COUNT%=100005MODE%=128:VOL%=5:TIME%=15gliss=130!5COUNT%=COUNT%-200:VOL%=VOL%+25repeat=145COUNT%=COUNT%+1005#1;MODE%);VOL%);55#1;COUNT%-256*COUNT%/256));COUNT%/256));25#1; Qpk" $E3)$7?f`"fC{t[l)L6XcDLU Phigh%) DO"ArIrJ`Xrk!l'JUJ0wxULXf;t'l\ c 7Dp3@PUo(%0,%yh@@$0R" sD]OV1bv="{tj'D Iv aU@v "UaX#yYUb#Ufill%=@|@]"U)$]ceD oUztS7nwLc ;@ 5oP"D`XY`fxf2+1@ @  H]"$qL$4V 8Nver}D" @y\@*XvULP}U&t"As'La=cL0@_ UU`ebar,thep@FRHw d"E)*@xf}_gt *"l;@ @0Xv $0 m? &t"UW'64=Lg&U`@UinitgrpB@FDj)**)Hr"J:`3Iu!0l@&EDt |U@3 T;t#(n0 w 0Le@d '  p"DLfJ" '@)VD)8 fTu" 3, ED*@@X#D3  ;t"8U$X?XDsd @(X# Spk@1 @"P3Jw?"UL"fC{tn@7PO@LU' P("DDBDD"*r $`Nrk!"D'JP3*2#  Zf;t']U 3Xc aLT @yPX% <TIME%/256));TIME%/256)); 2repeat 2gliss3>59&2#1,".AUDIO": BOUNCE.SOUND2COUNT%=41222MODE%=128:VOL%=25:TIME%=.52gliss=112COUNT%=COUNT%+8002repeat=122COUNT%=COUNT%+1502#1;MODE%);VOL%);52#1;COUNT%-256*COUNT%/256));COUNT%/256));22#1;TIME%-256*6*TIME%/256));TIME%/256)); 2repeat 2gliss3>5<)2#1,".AUDIO": LOWBOUNCE.SOUND2COUNT%=69332MODE%=128:VOL%=25:TIME%=.52gliss=112COUNT%=COUNT%+8002repeat=122COUNT%=COUNT%+1502#1;MODE%);VOL%);52#1;COUNT%-256*COUNT%/256));COUNT%/256));22#1;TIME%-25TIME%/256));TIME%/256)); 2repeat 2gliss3 N"SOUND/BFX",!N#1,"SOUND/BFX""N#1#N119999:$N:>5}&2#1,".AUDIO": BOUNCE.SOUND2COUNT%=4002MODE%=128:VOL%=25:TIME%=.52gliss=112COUNT%=COUNT%+8002repeat=122COUNT%=COUNT%+1502#1;MODE%);VOL%);52#1;COUNT%-256*COUNT%/256));COUNT%/256));22#1;TIME%-256*TIME%-256*TIME%/256));TIME%/256)); 5repeat 5glissB5:---------CHANGE THIS LINE TO "RETURN" IF USED AS SUBROUTINEp"D&J*Hw1$)6`8Ku" @l@\*7XGfd3 }T;t#(50P6XDeD|@1000p@!'0j***"'$"J:8oTu} "3, "LDL ]bU@I;t"8U$Mc #L@'T @F.INV @+d J)""w )W$) cf Zver}I"r1@'@D*@ 7e "eI&t"Ds' v `13 DgfLUU`* * * p@*-Urf1E4eN3Y_gt *"l;@@@3 cDU0:0m &t"\W'X6LFT8 I255);:DQt$8`rk)H p $L@UL@;t]LDXc @'0U1980 App@D"D;*J$'\E)$}r"l@U@*@]#8P3LT;t+xD\@ t6L D|Y@h(  d@UJ*cCVA3NvY%zt*rlp*3X7@D @ToP"\bX3 ?V 3TffOPp*H@;f@U$`OXD }RztSH;E'D0 6XaD$`P": 8$v=ffDL8H\p@f@D "\w-d\J~V`8@U@ eI&t"Lq'0 c=cLBgf tU`6*p@*.Rw@"&L$bS1 h[Rgt*wn $@aP7;Yv&t"LmX?tLs~yV@U0p"D1Df)*$rHr E)J)sWr@"0,$T3Pbx@fF3 };t"(5)@66L@'@@@?>"6**p$s)*D "r&E$)XY`o000DODD!G 8`pk)p p L@*LX~@fL @;tHQl@ 6X#1p0ByZ%>D=BDDb*)J'HW$8|r""nT  ]7?PU1LX;t+D\Lc 4@@s=>@@(3"I@\$`x@UA3 v}%zt*"nD3 c @DV 3To"\IX6Mf_U3NUpfd @|1rJU@* @]OL`}RztSE'@Xc]DdL5vPd"JMNo[fnff 7 p@)O*)T"HHE1$)~UMf!3LUB U S I @|)1@"@"PUJ]~D3oUztSVwL7X#@@L5oP "J6f fiffI=20p",@s)J* H"HJ\$bsWu"3,J wx;@UF3  ;t"x1@XCD1LBDL pD)L& )"'\") L)JBXU`oi'wZU)F;B3LDD 0 x<%K>-Aq`L3L3LUF4"^3U%Dd;D%*HU,,+D H(T@F"JH`AL O<DZF0&pf`O>H * high%) MTU@*;nRL2f%n?+D_7diD](TFw+&f(~Jx<Dl@P`~?0`.*o(%0,%yh @v'L3% %d9R&H%pA^J@62 `nq*f!3*SiDn* F{G"2L3(@\fill%= "X"9TP"Dn92bR0p^ n7`H F;| 32DJ3 ySKD#*`)l!b L |3L(<2+1/Ai$D `LUH;FJ"{~*_iEiYj;Rh?F *{3<ebar,the@"~@" $d9dRiAO`] L "U& D> 3fD7SiDoXb"l1F!f3\initgr@h5@7)UDPcYfD o[UztS^2Fw L6 68T@vP"D_X65 3f`ffΐpk;w )3*17 e 8fC{t]nS 6@@PB fP8  _p@DJ U"J"V\$ YV }_gu} *wp;@E0P7 @Td0 m? &t"EW'v}`XD@s~yg3PTf@@((@" \ 1U)* e3Nv?"{t*"D L7XaP8@f&$"E-X6=#gyU 8KU}p@0* **% " f$$Y3`vTu" . P$*@]7oTG8  ;t"8s$ v6L0 yg @@D=Lf @*Jr@E)J4eY8Nver}D" @U@ 7x8e@ PU&t"KU'@XDL@_g 0UU`)["DS Hr\J`Nrk" o p$3D*b {Te1"v;t']\ 3P?XDT 1fPX%L?LD Dj*)$r"HD)4`}r!F@ P1DL`]~e@"vT;t+xF$Xc DP'dg= @h(wTU*)#UD f[UztJ2Du @aPc8D@TvP"D cV Lof훑0 pk*R@1"1 Dcx8e 3vA{t]1FD3XcP& `@P8 fY  p@fD* Hr]d)L)Je =_eu} *wp1@Pv]D$e= &t"EU'cXX3DygTNtRf %`@@@,pT\r UDX~eY3c"{t*rn ELC]#PM@f&$"E-`3LfgU3LUUp"D+L& (D)RI"HdE)JT`sWu" <. 3@*]#?fF  ;t"x1ALc=`D@p~ @Lpxs*)"w"H\$@eY8`}r}@"p;P3PvxxP  PU&t"[U'66 LL'_g fe̱"D="DD!'J Nrk"\ p@)1Jt]GVb;t]UJ0 vP@@@i0~YUhDD"nDbDr"$Jb}r" F$$LccP@"T;t+x$\6X#D1Ps@Yw@h$ C iXU$D9 I b" /J%DbTl;|\ &H`D~ O<DZGFbf O3@p$T [ ` e  @)D%*.HRDK3A^7di=D]bT;np 2 (~*x<D0~l#f9O*p:* D" b"9Ip)]HSfnq+ b3*_iBo kf1F""*fx3< N. ."  BSUTRN9NRGJT8X8 bTU h;xLfA{*SiDN*V`o&*f @\ a8Eb8dLb* H FC*J_/>iWQ9"]J j1l 2A6x<$j>1ls3jDf*M33L33333i D@@92L* Un@,3 q4M>iDQ;#=&l"Jr {$<RpfxM3LK3L`.Y2`UT*@;nE, %H*lAp{$N]8 U`F2Lf^ O<D+n{F0 f9rO?,Dg  Đ f D2(9R,+p~ji'd]*Rn1B*Rq(M*x<,+1l;@L?|?*gh*"P`SLU"U@9N$I %+DmLD6Ib"n?2 f@@yS+D6fhl&(3(l(\]-\-  "L@%T$)dN%I9R ,Ag1^D`w. R&nqw*l J= D.&11"f*|?`*<O-Q-P""~$Dp)iD]%fT"D2 bA0{ *_iEE *fl1B"(L3<9 = @"@"%T RDNH%pJTxX8HbU;|,fASiDEeV1F@"J`x3@\-jEv dL3(*%n2Lp_/>iWQ9v].TB;F(@6*x<$8F1* M3L-`,- E`9 L(*T"Fq*+ Ag0M>iDQ9"=Tf1F J {<"*A~7LK3L3/W/l//LD*DSL+R2,Aq{$D]78 R l;(t~ O<D*ZF01"O,`**Tf$D;H2"HR |**f~jiD l;F J (M*x<, Gzf"|s, :*D"]D8T3%URNdRI2lL`vL.U:F~2 D@zS)D6bF{@ b,(@(\""333333 f3PU@dDR%T,1^N`vNfUf lqJDl z= D*ll &f"| ` *<"""pyi@DNRbU h;2JfD{ *_iEE +`h' &(`~<) "D!BU%In %pJTdf]8S*"G*3DSiDE-vl1Fp" 3H>\Q_doEbD@9H39HRF(,qM/riWQv .&l)@2 *x<$8l;fO_3pA**L3 (eʅE d*%@qK* A0M>i$9"=f  0H<%*2pM7L2O3L `,z3X@"n2I8&HU2*Dg{%D^7. T FB( H`~ O<D Z`?lA&L"HO3@  (**UfN@*n$ *%FJ2A^7ji=Dhl  p(_*x<d {0lf3sO*@.*`,)0Dv"H5TURNd %5lL@cbU&na( D@*SiD6*&1&f"~OA(@\ad "L"D9d +RRK4^ NbNLbR`nq 3=D@l z=KD+RF{Ab`3"?OL`L*<"^Apyi@D]dN I(R(Lb{l*_iEE *1Ff(f 3<ddx"zD" TdRipJ@]S(%;FqJ*SiDE`bhl& H"`O\`Eb@)9D3*%F(JgM+jiOQ6nHf1n @j *x<$8C0L?3*Df @3 (S(`(:ED`N2*HR@03A0l>i'bH`0h1" @ 0 x<% Ag~3L3H=L3'0L'D"|LUPT%D;N2,HUI+AmLD#`  "1FG* J{ yS+D6.I9l1 32 `L(L(\ 5+ Xf3U%DD;2) %ThJAq1JDw2*R&;lpLAL J= D F{Fp L *OLf,.x.H`@% DHDb9Rq+jP{$N8*R`0l*fLJO<D+lh;f3sO3** +U')N2b+"I;J2pl{ji'd]` R lB, 2jl*x<,+C0@H?,f:)0028RINT"+"; 10040 PRINT#1;CHR$(mode%);CHR$(vol%); 10050 PRINT#1;CHR$(count%-256*INT(count%/256));CHR$(INT(count%/256)); 10060 PRINT#1;CHR$(time%-256*INT(time%/256));CHR$(INT(time%/256)); 10070 mode%=128:vol%=30:count%=1946:time%=1 10080 r^B_"To write to a new text file, input .console at first prompt"H`"and new file name at second prompt. Then type in text at keybrd."Ia:"(When writing to new file, end program with Control-C or RESET.)"bd: xA$="CAT1" #1,A$d nC=C+1%xC/2=C/2)A$="CAT2":A$="CAT1" #1,A$#2,".CONSOLE"6ž#1KEY$:KEY$=27):".D1/MENU.MAKER":ۮ:110#1;A$:#2;A$:280e name at first"H]"prompt and .printer (or .silentype) or .console at second prompt."E@9D *UT; *q4~>iWQw("l "2H0 x<T+>3p&3L33L3LKOR^i D^`H$ f" :Dg,bD4~*_iEi[j;RFlp  L`*{ <Fl "&`U`$D L2bHRh?2lG7dN];HU&1l2`p(lJx<DG1L"|sL*@fK*F`ߩc$N2 .% qp, Am{jiO9.`(%`0l,jJx<d9l@fsS*D&*0DbTNUUU)n9nH%*I%#2p_dv`3Uh1D*RADJ3 ySKD*`o@ fxl(< Q%Qʑ"X'L@"@@nE."D,7+NYb T;l!L`L O= D(Z1l!lc `9O~$ JJ`&"hD"Q9D"tAOH I  T&n*D3_iDoXb n!l 2>\ : ; "@D"XB3T%d9NbRpAGJ@x 8nL !3*SiDnbf1F& s@\.ϭ+. E6E*" 0|3 g ~>iWQ#XRn1F "*HA@6x<T+lNJDq){L3O3L3Ȣi@D DS f T n?* D4__iEq;k= l1n"* ``*3L <p3LLhIiH!`U`@*n;L$. %Hh3lG3$N;RfFq3LJx<D9~1lf"|sO**`8T'DD f U* Dl{jiO9n]`R`)F1BJj~Jx<d9l;F0d9O7 fi*0 -`D "3U%d;NSbRt2qAmLnc`2 TU@;"3 AJ3 ySKD".1FF f2"3OjL(<%) "XIUU  N9HRbHU FJAp7+NXc*H"n'*DL O= DZl@'"jO @ )O- "z"XDN!DOH@ f enqA33)_iDo]v Fo23&O3<&.&.L"Db LUUD9N)I%AGJT`f8*U D1G* 3*SiDn.V `l1` L"r@\h EW8n2L. R0F+ ^/>iWQ;"XNR"*H@6x<TkC1l?3q*xL3RL3L-058)i@D$^d3* %nDL 4__iDQ;9= F!F"*a 3 <A^3LL3H NEXT I 10090 RETURN RN 6058 VPOS=12:HPOS= HPOS+1:HPOS= HPOS+COUNT:COUNT=COUNT+1:RETURN :GOSUB 6058:PRINT"P ":GOSUB 6055 6047 GOSUB 6050:GOSUB 6058:PRINT" -----------E":GOSUB 6055 6048 GOSUB 6050:GOSUB 6058:PRINT"E ":GOSUB 6055 6049 RETURN 6050 VPOS=12:HPOS=30:RETURN 6055 FOR PAUSE=1 TO 150:NEXT PAUSE:RETUSUB 6050:GOSUB 6058:PRINT"T ":GOSUB 6055 6043 GOSUB 6050:GOSUB 6058:PRINT" -----------Y":GOSUB 6055 6044 GOSUB 6050:GOSUB 6058:PRINT"Y ":GOSUB 6055 6045 GOSUB 6050:GOSUB 6058:PRINT" -----------P":GOSUB 6055 6046 GOSUB 6050RUN ACTIONTYPE.SUBR RUN BORDER.SUBR RUN DIAG.TYPE.SUBR RUN FLASH.SUBR RUN SCROLLTYPE.SUBR RUN WAIT.SUBR RUN WORDWRAP.SUBR CAT SOUND EXEC SOUND.DEMO CAT SUBR EXEC SUBR.DEMOTO RUN, PRESS [ESC], THEN VALIDATE LINE WITH CURSOR AND PRESS RETURN ANY OTHER KEY TO SEE NEXT PAGE.... RUN MAKE.IMAGE.UTIL RUN MAKERUNNER.UTIL RUN PRINTBASIC.UTIL RUN TEXT.FILE.UTIL RUN LOAD.FOTO.UTIL RUN ACTIONEDGE.SUBR OAD COLOR.TEXT.SEED LOAD MUSIC.SEED RUN CAPTURE.DOC RUN FORTYCOL.DOC RUN MUSIC.DOC RUN SOUND.FX.DOC RUN SUBCAT.DOC EXEC CAPTURE INVOKE BGRAF.INV APPLESEED TO RUN, PRESS [ESC], THEN VALIDATE LINE WITH CURSOR AND PRESS RETURN ANY OTHER KEY TO SEE NEXT PAGE.... RUN HELLO LOAD COLOR.GR.SEED LOAD B.W.GR.SEED LOAD B.W.HGR.SEED LOAD COLOR.HGR.SEED LOPEN#1 AS OUTPUT,.PRINTER OUTPUT#1 cat CLOSE#1 OPEN#1 AS OUTPUT,.CONSOLE 038 GOSUB 6050:GOSUB 6058:PRINT"O ":GOSUB 6055 6039 GOSUB 6050:GOSUB 6058:PRINT" -----------N":GOSUB 6055 6040 GOSUB 6050:GOSUB 6058:PRINT"N ":GOSUB 6055 6041 GOSUB 6050:GOSUB 6058:PRINT" -----------T":GOSUB 6055 6042 GO 6055 6034 GOSUB 6050:GOSUB 6058:PRINT"T ":GOSUB 6055 6035 GOSUB 6050:GOSUB 6058:PRINT" -----------I":GOSUB 6055 6036 GOSUB 6050:GOSUB 6058:PRINT"I ":GOSUB 6055 6037 GOSUB 6050:GOSUB 6058:PRINT" -----------O":GOSUB 6055 6 5000 OPEN#1 AS OUTPUT,".AUDIO" 5010 READ MODE%,VOL%,COUNT%,TIME% 5015 ON ERR GOTO 5050 5020 PRINT#1;CHR$(MODE%);CHR$(VOL%); 5030 PRINT#1;CHR$(COUNT%-256*INT(COUNT%/256));CHR$(INT(COUNT%/256)); 5040 PRINT#1;CHR$(TIME%-256*INT(TIME%/256));kSCRLLTYPE.85{ggkVOLUME NAME (/DISKNAME) OR DEVICE NAME (.Dx)"P12);::"80C";a$;:Zb$="CHANGING DISKS"$d=23:=0::"80C";b$;::12).n=12:=20:"MAKE A NEW MENU FOR DISK: ";N$xN$)<2110=N$ :210 I=1L(A$(I),A$))200B$0 WAP /// SIG MENU.MAKER PROGRAM (v. 6.2) =".D1"210: Coldstart (320: Warmstart &*X=11000: TEXT SLOW-DOWN LOOP ,X.1 CHANGE DISK SUBROUTINE23œ202:2200<RFa$=" YOU MAY SELECT YOUR DISK BY TA 128,50,1946,60 5091 REM 5092 REM 1ST #:MODE% (128) 2ND #:VOL% (0 TO 63) 5094 REM 3RD #:COUNT% (SEE CHART) 4TH #:TIME% (0 TO 300) 5096 REM NNING LINE 5100 5082 REM 5084 REM ENTER DATA AS FOLLOWS: USE CHART ON PG. 133 DEVICE DRIVERS MANUAL 5086 REM ENTER ONE NOTE PER LINE 5088 REM FOUR VALUES ARE REQUIRED PER NOTE (PG.131) 5089 REM 5090 REM SAMPLE LINE (MIDDLE C): 5100 DA any key to continue....":a$&#1,"RUNNER":---OPEN TEXT FILE "-";S$(S$)=070(2#1;S$:---WRITE LINE INTO TEXT FILE<30:---GET ANOTHER LINEFPcCHR$(INT(TIME%/256)); 5045 GOTO 5010 5050 RESTORE:END:REM---CHANGE 'END' TO 'RETURN' IF USED AS SUBROUTINE 5055 REM 5060 REM-----------------MUSIC SEED PROGRAM-------------------------- 5070 REM 5080 REM TO COMPOSE MUSIC, ENTER DATA BEGI(J)=A$(I),1,31)!J/2<>J/2)=4:=+1:ۙ=44B$(J);:J=J+1I:1,180,22:2,280,21:2,2380,23:8A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0UCA=128:LCA=UCA+32CT=15 IF PREFIX$= PREFIX$+MID$(B$(I),1600 =Q:WW=0A=:A=21A=9&oldprefix$=40A=31410: Control C "aborts" program to Basic(:A=13770: Return Selects a file *DA=27:50: Escape to change disks/FA=324000: back out one directory level 3GA=(80+UCA)A=(80+L"BASIC 0":150A$="TEXT 0":150A$="CAT 0":150A$="FONT 0":150A$="FOTO 0":150A$(L),"BLOCKS")510*=27:=19:"FREE MEMORY AVAILABLE: ";=7:=20:"80C";A$(L);$:=5:THPOS=4:I=1:IBOTM=J-1:620Q=:=26:=21:sic; +Q Quits."r12);::"80C";a$;:+w#9,"DISKNAME.DAT":#9;DISKNAME$:#9|d$=DISKNAME$$=23:=0::"80C";d$;::12)201M=3:=14:"This /// SIG Disk is \^ 19";Р,2)", Washington Apple `, Ltd."=4:B$(1)="":B$(2)=""A$=YLOC  SDSTATGSCB  INITCHK  ITCHK XLOC XLOC RETADDR     SOSDSTAT SDSTATGSCB   INITCHK  ITCHK YLOC  ASADR SOSSMARK SSMARKRETADDR  z v INITCHK  ITCHK XYCOLOR XYCOLOR RWBUF  F SOSREAD  SREAD RETADDR  SOSDSTATGPGSREQD GSREQDSOSCLOSE SCLOSEGRAFIXMO AFIXMOGLOAD GLOAD RBUFLEN  N RWBUF    SOSREAD  EAD GBASADR GBASADR ( ASADR SOSDSTAT~ SDSTATGSCB  INITCHK { ITCHK CREFNUM  EFNUM RBUFADR  ADR SREFNUM  EFNUM RREFNUM  M WBUFADR   ADR GSAVE GSAVE WREFNUM F  M GPGSREQD5 GSREQDSOSCLOSE> SCLOSEWBUFLEN 8  LEN SOSWRITE; SWRITERWBUF C F INITCHK  ITCHK BMOVCHK  OVCHK INITFLG  ITFLG RWBUF  F SOSDSTAT" SDSTATGSCB % CB INITCHK  ITCHK CREFNUM  EFNUM  T P SOSDSTATj SDSTATGSCB LINEREL LINEREL INITCHK g ITCHK WBUFLEN  UFLEN SOSWRITE SWRITERWBUF } d ` \ X RELEASE RELEASE  RETADDR % ! INITCHK  ITCHK LINETO LINETO WBUFLEN  UFLEN SOSWRITE SWRITERWBUF     CALCABS x q ABS RETADDR 16,B) THEN 240 #1, d$="":=10:"80C";d$ ž#1300I=0"I=I+1:#1;A$(I):290,#1 6L=I-1@j=1:same=0 J:SEG=0 Tœ2030^CT<1CT=1cCT>13000Zha$="{,|,~,}; selects; to new disk; 11540bA-7640,660,690,720l:=THPOS:B$(I);v:520: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/2)I=I+1I2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:APPLESEEDS  Run Side ONE Program #"TURN THIS DISK OVER, PLEASE."6"I WILL WAIT A FEW MOMENTS FOR YOU TO DO THAT..."(X=150002X<F!P"OK RUNNING SIDE ONE NOW..."ZX=11000dXn".D1/MENU.MAKER"x 2. Subroutines 3. Program documentation 4. Utilities SEED PROGRAMS: Six seed programs are included on this disk---one for each graphics mode, one for music, and on APPLESEED DISK DOCUMENTATION The APPLESEED disk is designed to help you program quickly and easily in Business Basic. Programs on this disk can be divided into four categories: 1. Seed programs el; G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 lev 1600 &:WW=1:0 :SEG=1;".D1/S EG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T READ PASCAL TEXT FILES."04=10:"M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$П,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=211660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$="JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750T 0")2070H540R\A$="RUNNING "+B$(I),16,B)f"79C";A$;:=0pB$(I),16,B) z::SEG=1".D1/SEG.T"t=+B$(I),16,B) yCT=CT+1~240:=24:=0:"@ ..... "DATE.TIME.LINE" ....JM=Ҡ,4,2))BTM1630,1640,1650,0=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1 œ2120B=B$(I),16)," ")-1 B$(I),"BASIC 0")850B$(I),"TEXT 0")890 B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXe for 40-column color text. Seed programs are designed to be loaded and listed. When listed, you will see that directions are given in REM statements. The most pertinent REM statements will appear at the end of the listing. This way they will stay on3000H::"Documentation programs are listed in the Catalog like this:":f 25)"CAPTURE.DOC":25)"FORTYCOL.DOC":25)"MUSIC.DOC":25)"SOUND.FX.DOC":25)"SUBCAT.DOC"::::3500 ::"UTILITIES:": %3000*"There are five progrTINUE.............. FINAL NOTES: Miscellaneous programs on this disk include the Business Basic BGRAF.INV for use with graphics, a FOTO file for demonstrating the LOAD.FOTO.UTIL, and a program called SOUND.DEMO. SOUND.DEMO may be EXECed. It will run ilities are listed like this: MAKE.IMAGE.UTIL MAKERUNNER.UTIL PRINTBASIC.UTIL TEXT.FILE.UTIL LOAD.FOTO.UTIL PRESS ANY KEY TO CON. TEXT.FILE.UTIL will print text files to either the screen or your printer. You can also use this program to create text files from the keyboard. LOAD.FOTO.UTIL will load a FOTO file. PRESS ANY KEY TO CONTINUE.............. UTILITIES (CONT.): The UtIMAGE.UTIL will help you format your screens by creating a customized IMAGE for print-using statements. MAKERUNNER.UTIL creates a file that will automatically run programs in sequence. PRINTBASIC.UTIL provides a quick way to print programs and catalogs SOUND.FX.DOC SUBCAT.DOC PRESS ANY KEY TO CONTINUE.............. UTILITIES: There are five programming utilities on this disk. Each may be RUN or LOADed and LISTed. Each carries explanatory REMarks. MAKE.ith the suffix. DOC. These programs may be RUN. Most include demonstrations. Documentation programs are listed in the Catalog like this: CAPTURE.DOC FORTYCOL.DOC MUSIC.DOC R WAIT.SUBR WORDWRAP.SUBR PRESS ANY KEY TO CONTINUE.............. DOCUMENTATION: The APPLESEED disk is fully documented. In addition to the REMarks found in all of the programs, there are five programs w in the Catalog like this: ACTIONEDGE.SUBR ACTIONTYPE.SUBR BORDER.SUBR DIAG.TYPE.SUBR FLASH.SUBR SCROLLTYPE.SUB be RUN. EXEC 'Subr.Demo' and they will run consecutively. Many of the subroutines will be found in the subcatalog 'SUBR' and these are ready to EXEC into your program. Each subroutine contains REMarks to fully explain its use. Subroutines are listedraphics....................COLOR.GR.SEED Music............................................MUSIC.SEED 40-column color text.............................COLOR.TEXT.SEED PRESS ANY KEY TO CONTINUE.............. SUBROUTINES: The subroutines on this disk mayprograms are listed in the Catalog like this: High-res black and white graphics................B.W.HGR.SEED Black and white graphics.........................B.W.GR.SEED High-res color graphics..........................COLOR.HGR.SEED Non-restricted color gs are ready to use. All SOS calls have already been written into them. All you have to do is read the REM statements and follow the formula described for entering data. This way you can begin drawing your picture or composing your song at once. Seed the screen for reference while you begin to program. PRESS ANY KEY TO CONTINUE.............. SEED PROGRAMS (CONT.): Seed programs are time-savers. When you wish to try simple graphics or when you want to add music to your programs, the seed programamming utilities on this disk. Each may be RUN or":"LOADed and LISTed. Each carries explanatory REMarks." /:30004:a$="MAKE.IMAGE.UTIL will help you format your screens by creating a customized IMAGE for print-using statements.":4000: 93000_>a$="MAKERUNNER.UTIL creates a file that will automatically run programs in sequence.":4000 C3000:YHa$="PRINTBASIC.UTIL provides a quick way to print programs and catalogs.":4000:3000[R:a$="TEXT.FILE.UTIL will print text files to either the s MENU.MAKER TEXT MODULESEG=0"MENU.MAKER"890&*X=11000: TEXT SLOW-DOWN LOOP ,X.1,180,22:2,280,21:2,2380,23:z:A$="LISTING "+B$(I),16,B)$=01:=0::"80C";A$;::12)>=23:=0::"a$,1)="/"5060:s=s-1 5030=a$240 MENU.MAKER 6.2 * Thanks to C.M.Davidson for his help!a sequence of sound effects which may be used as subroutines in your programs. These sound effects may be found in the subcatalog SOUND. RUN the file CAT.RUNNER to see the contents of this disk.... nextseg>=(space+70)nextseg<=(space+79)4038"a$,space+1,(nextseg-space))a$,nextseg+1) x=:a$,space+1) x=: 'I=180 '"_";$'SLOW=110 .'SLOW8'IB' -------------- WORDWRAP SUBROUTINE -------------a$)<=79a$:x=:I=1a$)space=a$," ",I) space>=70space<=794026a$,space)&a$)-a$,space))<=space4046I=spacea$)nextseg=a$," ",I)4g operation, press......ESCAPE" CHOICE$*CHOICE$="P"25004CHOICE$="S"2600 #1,".PRINTER" #1 ( #1,".SILENTYPE"2 #1< " w=w+2*(w=0):i=1(w*1000)::: ::"PRESS ANY KEY TO CONTINUE..............":KEY$:930003::::"PRESS ANY KEY TO CONTINUE.....":KEY$S::"If your printer is configured to run on the PRINTER driver, press......P"R::"If your printer is configured to run on the SILENTYPE driver press....S" 30009::"To abort printinnd effects may be found in the subcatalog SOUND.":4000:3000S:a$="RUN the file CAT.RUNNER to see the contents of this disk....":4000:3000 ::::".D1/MENU.MAKER" PRINT HARD COPY2:::::"PLEASE TURN ON YOUR PRINTER......" for use with graphics, a FOTO file for demonstrating the LOAD.FOTO.UTIL, and a program called SOUND.DEMO.":4000:3000Ƕ:a$="SOUND.DEMO may be EXECed. It will run a sequence of sound effects which may be used as subroutines in your programs. These souhis:"{:25)"MAKE.IMAGE.UTIL":25)"MAKERUNNER.UTIL":25)"PRINTBASIC.UTIL":25)"TEXT.FILE.UTIL":25)"LOAD.FOTO.UTIL":::::3500:"FINAL NOTES:":Ǭa$="Miscellaneous programs on this disk include the Business Basic BGRAF.INV creen or your printer.":4000Z\a$="You can also use this program to create text files from the keyboard.":4000:30001842:::Z=1980*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"10B$="y"=10:=44:"YES ":CNDS=CNDS+57:480bB$="N"B$="n"=10:=44:"NO ":CNDS=CNDS+17:4805=12:"Include the name? ('Y', 'N', or 'ESCAPE')"B$|B$="Y""CENTERED ":430 B$)=27"MENU.MAKER",2205=10:"Rotate picture? ('Y', 'N', or 'ESCAPE')"B$ B$)=27"MENU.MAKER,220"bB$="Y"B$ԐB$="L"B$="l"CNDS=128:=8:=60:"LEFT ":430B$="C"B$="c"CNDS=0:=8:=60:":80"A$="2"330,A$="3"Z=1:330/6A$="4"::RELEASE:".D1/MENU.MAKER",220@270J^=0:=0::"79C";D$;:*h=23:=0::"79C";"PRINT GRAPHICS": rœ200E|=8:"Picture at left margin or centered? ('C','L', or 'Escape')"ENU.MAKER GRAPHICS":1=8:=20:"PRESS '1' TO SEE THE GRAPHIC ONLY"7=10:=20:"PRESS '2' TO SEE AND PRINT THE GRAPHIC"@=12:=20:"PRESS '3' TO SEE AND PRINT THE GRAPHIC INVERSED"2=14:=20:"PRESS '4' TO RETURN TO MENU.MAKER"A$A$="1CC>0160d=10:=40:"" nGLOAD.D$xXFROPTION(%6)MOVETO(%1,%190):#5D$8MOVETO(%1,%180):#5"ANY KEY QUITS TO GRAPHICS MENU" FILLPORT GRAFIXON C=C+1B$ :::=0:=0::"79C";D$;:/=23:=0::"79C";"M1 MENU.MAKER GRAPHICS MODULE (COLOR SUPPORT) SEG=0"MENU.MAKER"2".D1/BGRAF.INV",".D1/SCR.PRT.INV":INITGRAFIX#5,".GRAFIX"#CC=0(D$=B$(I),16,B)2name$=34)+D$+34)<C=1:N=0:Z=0:BD=0F200P INVERSE THE GRAPHICZC>1EAD PASCAL TEXT FILES."04=10:"78C";"ANY KEY RETURNS TO THE MENU."!>G$:::".D1/MENU.MAKER",320R",220(204::"79A";""; 2D=1:F=1 <#4;a$ FD=D+1 P#5;a$ZD=60#5;12)dD=60D=1nF=F+1::d$;::Y=1100:Y x13402  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T R".D1/MENU.MAKER",220 d$="" A$="PRINTING "+B$(I),16,B)=01:=0::"80C";A$;:#3,B$(I),16,B)Z=1#3;b$:"78A";b$Z=Z+1:Z=18:1290 1260 #4,B$(I),16,B)#5,".PRINTER"+ž#4#5;12):::".D1/MENU.MAKE30C$="N"C$="n"1160;:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": $1020.202 8::Z=1B::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1170*C$="N"C$="n"B$="y"=12:=44:"YES ":N=1:530{B$="N"B$="n"=12:=44:"NO ":N=0:530 B$)=27"MENU.MAKER",2202=14:"Add a border? ('Y', 'N', or 'ESCAPE')"B$&B$="Y"B$="y"=14:=44:"YES ":BD=1:hhh hHHHHHL %&Ly)+/* "#~)L,P,P ,P `,0p@ A"# ,0LLLyGA3/1.01:7SY PSCREEN M$="04"M$="Yellow"M$="05"M$="Orange"M$="06"M$="Green") MENU.MAKER GRAPHICS MODULE (v 6.0) =12:=40:""4  CHANGE COLOR (Epson compatable Color Printers)4COLOR$=27)+"r"+N$>#8,".PRINTER"H#8;COLOR$\  COLORS M$="0"+N$M$="00"M$="Black"M$="01"M$="Red"M$="02"M$="Blue"M$="03"M$="Violet"MOVETO(%0,%0):LINETO(%0,%191):LINETO(%559,%191):LINETO(%559,%0):LINETO(%0,%0):BD=0!N=1MOVETO(%1,%190):#5;D$ GRAFIXONPSCREEN(%CNDS)X=12000:X N$="0"800#8;12):#8:CC=CC+1:40XFROPTION(%6) FILLPORTGreen) "YN$ZN$>"6"600[900]=16:=70:M$" "gN$="0"620 i800:#8lX=1600: vGLOAD.D$Z=1720bBD=16000B$="N"B$="n"=14:=44:"NO ":600 :B$)=27"MENU.MAKER",220MX=16:"Color? (0=Black;1=Red;2=Blue;3=Violet;4=Yellow;5=Orange;6=  "#`J)mJJJj0i(m``,PJ ,P H e,P%hL,P H e,Ph,p1 ,0 p  p,0I)M``,  K,i"i# " O.J ní ,PJ(L\L "  L04"# O 0JH*h0,pHPNAME PSCREEN PSCREEN PRNAME PRNAME PNAME  E  xwvumlkhgda^[XURQNIH80!}|hc_ hhh5h66 )5HH`@HLy,0׌ ` .PRINTER /0.,)&#!    ~{ywpWPOJB<3+*$  }y h,pei,PJ( "Ј L2 "#/*$hhh` "',PO""#',P)  ʱ)  ʈ Ly,0"#