LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!) œ100' =3:=28:"CLEAR TEXT FILE PROGRAM":=12:=12:"ENTER NAME OF FILE TO BE CLEARED } ";FILE$FILE$=""50 FILE$ (FILE$,12:=12:=28:"MORE FILES TO CLEAR? (Y/N)":G$$<G$="N"G$="n"".C2/MAIN.PRG"FG$="Y"G$="y"4ke8! *SOS.KERNEL g,V6 !a(STANDARDǪ: !y+)STRING.CK  0!*+UPSHIFT.INVcQ !%SEG.T jK0Ÿ/ -READ.ME.FIRSTtK9O7*MENU.MAKER K0;'QK.SORT R 0!+READCRT.INVB0!(RENUMBER  0!+REQUEST.INVK 0!*SOS.DRIVER !*SOS.INTERP 0!X +FILEHANDLER ̴7!/FILEHANDLER.INV*̴7!,FIND.REPLACE X 0!FLASHNAME.DATGǴ!Ǵ%HELLOELLO 6 !Ǵ;*HELLO.TEXTǴ7O9III.BSB.01IC.07u' 'CLEANER ,H0!,COMPARE.PRGS &Q0!Q +DESIGN.FONT 0!0!Ǫ DISKNAME.DAT"Ǵ!Ǵ,DOWNLOAD.INVF0!FILE.CLEAR  >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L5 P7):50Xd=30:=22:=3::FILE$;" DOES NOT EXIST. PRESS RETURN TO CONTINUE...."::G$:500n:=22:=3::"ERR # ";;" IN LINE # ";:: J ********************************************************************J * *J * Renumber Invokable Module Control Program *J * (C) Copyright Apple Computer 1981 *K * * J ********************************************************************6:"76c";"---- RENUMBER INVOKABLE MODULE ----**************Jb * *Jl * Renumber Invokable Module Documentation *Jv * *J * tart=start))M"Should I allow lines to be moved? ";a$:a$)="Y")a$)="y")530+renum(@i$,@o$,%low,%high,%start,%bump)20.reseqnce(@i$,@o$,%low,%high,%start,%bump)20JX ******************************************************start$)V"What increment between each line? (Default=10) ";bump$:bump$)=0bump=10:4808bump$)<48bump$)>57=-1:460:bump=bump$)H Map numbers larger than 32767 into standard two's complement form.3low=low)):high=high)):sDefault=63999) ";high$:high$)=0high=63999:4408high$)<48high$)>57=-1:420:high=high$)`"Starting value for the renumbered lines? (Default=10) ";start$:start$)=0start=10:460<start$)<48start$)>57=-1:440:start="Save with what file name? ";o$:o$)=0=-2:29);:380_"What line number should I start renumbering at? (Default=0) ";low$:low$)=0low=0:4204low$)<48low$)>57=-1:400:low=low$)d"What line number should I renumber up to? ( allow interleaving of program lines? ";a$$6a$)="Y")a$)="y")340@append(@i$,@i2$,@o$)J20Tmerge(@i$,@i2$,@o$)^20h --- RENUMBER#r::"76c";"-- RENUMBER --":9|"Name of Program to be Renumbered? ";i$:i$)=020A --- MERGE'::"76c";"-- APPEND/MERGE --":2"Name of the first Program? ";i$:i$)=020Q"Which Program should be merged with it? ";i2$:i2$)=0=-2:29);:2709""Output file name? ";o$:o$)=0=-3:29);:2708,"Should Iput to .CONSOLE) ";o$o$)=0o$=".console"R"Should unreferenced lines be displayed?";r$:r$)="y")r$)="Y")230xref(@i$,@o$)240xlist(@i$,@o$)(:::"END OF RUN. PRESS RETURN";:G$G$<>13)7);:240208);:"Which option? ":a$:x=a$)-48xx150,250,360,14018);"Please enter 1, 2, 3, or 4":=-2:110 ::1500 --- XREF::"76c";"-- XREF --":,"Name of Source File: ";i$:i$)=020B"Output file name? (Press RETURN for out******** œ1700 "renumber.inv" 1500#"76c";"---- RENUMBER ----"!2:8);"Your options are:": <26);"1 Line References"&F26);"2 Append/Merge Programs"#P26);"3 Renumber a Program"Z26);"4 Quit"d+n  *J * (C) Copyright Apple Computer 1981 *K * * J ************************************************************"|:" Before any Invokable Module can be used, it must be loaded into the":"system by the following Command Format:"q:")INVOKE RENUMBER.INV"::"where RENUMBER.INV can be the name of this or another Invokable Module."::7906:"76c";"---- RENUMBER INVOKABLE MODULE ----"):8);"Select documentation on: ":G20);"1 Line References":20);"2 Append/Merge Two Programs"520);"3 Renumber a Program":20);"4 Quit"48);:"Which option? ";a$:x=a$)-48:x<0xare:"::")PERFORM RENUM(@IN$,@OUT$,%BEGIN,%END,%START,%INC)":")PERFORM RESEQNCE(@IN$,@OUT$,%BEGIN,%END,%START,%INC)":V "where IN$ is a string containing the name of the Basic Program to be RENUMbered"T"or RESEQNCEd, OUT$ is a string containg the ntical to the RENUMBER Procedure except":"that RESEQNCE will allow the renumbering of a line, or group of lines, to move"3"those lines to another place in the program."790*:"76c";"-- RENUMBER/RESEQNCE --"::" The Command Formats w Line Number Increment":" If RENUMBERing a line, or group of lines, will move those lines to":"another place in the Program, the Procedure will return a RANGE ERROR.":"76c";"-- RESEQNCE --":" The RESEQNCE Procedure is idel or part of any Basic"P"Program and output the RENUMBERed version to a designated file name. The"i"Procedure requires values for:"::21);"Old Starting Line Number":21);"Old Ending Line Number"J21);"New Starting Line Number":21);"Neignated by the string OUT$."U`::" If both programs have a line with the same line number, a RANGE ERROR"j"will occur."t790::700~ --- RENUMBER:"76c";"-- RENUMBER --"T:" The RENUMBER procedure allows you to renumber alprogram.)":L" The Command Format is:"::")PERFORM MERGE(@FIRST$,@SECOND$,@OUT$)"::"where FIRST$ and SECOND$ are strings containing the names of the two Basic"rV"Programs to be combined. Once combined, the file is sent to the filename":"des"N$"them into a single output file. If the programs have line numbers that"O."overlap in range, the programs will be MERGEd together, putting the line"T8"numbers in numerical order. (Unless care is taken, this can result is a very"B"unusual es of the two Basic"r"Programs to be combined. Once combined, the file is sent to the filename":"designated by the string OUT$."790"76c";"-- MERGE --"T:" The MERGE Procedure also combines two Basic Programs together and putsd"S"to the other. (This can be arranged by first RENUMBERing both programs with" "suitable line numbers.)":" The Command Format is:"::")PERFORM APPEND(@FIRST$,@SECOND$,@OUT$)"::"where FIRST$ and SECOND$ are strings containing the nam-"U:" The APPEND Procedure combines two Basic Programs together and puts them"U"into a single output file. One of the Programs MUST have ALL its line numbers"V"higher (or lower) than the other, and the effect will be as if one was Appendestring containing the name of the Basic Program to be analyzed,":"and OUT$ is a string containing the name of the file where the output is to be"3"sent (i.e. a filename, or Character Device)."790::700 --- MERGE::"76c";"-- APPEND -ine numbers and any references to them."Of" XREF outputs a list of ONLY those Line numbers that have references"p"to them."cz:" The Command Formats are:"::")PERFORM XLIST(@IN$,@OUT$)":")PERFORM XREF(@IN$,@OUT$)":"where IN$ is a m lines referenced"O>"by other lines in a program. These Procedures are XLIST and XREF. Both"PH"require a specified Basic Program to be analyzed and a designated file to"&R"output the Reference List to.":P\" XLIST outputs a list of ALL L=0x800,930,1150,78018);"Please enter 1, 2, 3, or 4":=-2:750 15005=24:"76c";"Press any key to Continue.";:a$:  --- XREF(*::"76c";"-- LINE REFERENCES --"U4:" There are two similiar Procedures for locating Prograname of the file where the output"S"is to be directed, %BEGIN and %END are the beginning and ending line numbers"D("within the original program, %START is the value of the first">2"RENUMbered line, and %INC is the numbering increment.":Z<::" In both Procedures, every line number that references another line number,"XF"i.e. GOTO 1000, has the reference changed to the corresponding new line number.":P790::700":=3:=32:"RENUMBER PROGRAM"#=8:=30:"A) RENUMBER PROGRAM"*"YyNn",char$)810,810,940,9407);:915:L=32=30=22::"VOLUME/FILE NOT FOUND. PRESS RETURN"::char$:900*=22::"ERR # ";;" IN LINE # ";::& **** INITIALIZE VARIABLES ****null$="":zero%=0:one%=1:char$=null$:u.line$=16:=2:"Enter Output Device. ('RETURN'='.CONSOLE'): ";device$Ekdevice$=""device$=".CONSOLE":u.first$=first$:u.second$=second$4mline.ref=one%:caps(@u.first$):caps(@u.second$)p200:=12:=25 "MORE TEXT TO CHECK? (Y/N)" char$$on **** 1210&*:=3:=30:"STRING CHECK PROGRAM"+H=10:=27:"Enter Name of File: ";file$Mfile$=""900Ocaps(@file$)2R=12:=21:"Enter First String value: ";first$Wfirst$=""9004\=14:=20:"Enter Second String value: ";second$Dfe$=line$:caps(@u.line$),u.line$,u.first$)4051=21:=16:"5#";line.ref:line.ref=line.ref+one%*6ver.position%>=eighteen%150::235@J280 **** KBD check ****()=27:::110: 400$ **** Main Program Secti0ž#1:110:ver.position%=one%=21:"Reading Line #:";/=22:=1:"Searching ";file$;" for String";:second$=""" ";first$:"s ";first$;" and ";second$!:"Press 'ESCAPE' to End";:count%=one%eighteen%+"#1;line$:u.linr.position%=d:n=23:29);::"RUN COMPLETED. PRESS RETURN"::char$x:=23:29);::"Press any key to continue.."::char$* **** Search for Matching String ****#1,file$#2,device$file$<>".CONSOLE"37 40 ****=Fdevice$<>".CONSOLE"=12:=20:"Printing ";file$;"...."P=ver.position%%R#2;line$,80):line$)<=8094)T#2;line$,81,80):line$)<=16094*V#2;line$,161,80):line$)<=24094X#2;line$,241,20)^ve !"#$d string if not set at null$ ****01 **** If second set to null$ then skip ****2second$=null$70<u.line$,u.second$)KA **** Next, if first$ and second$ are found, print line$, 80 ****KB **** characters of line$ at a time. œ1000 21)1;="/basic.tools": **** Set to your volume PREFIX$ ****>"upshift.inv": **** Found on Compuserve, UPSHIF.INV ****800J%device$<>".CONSOLE":=12:=28:"LOAD PAPER. PRESS RETURN":char$:?( **** First, check for 2nROUTINES ***O=30=32=23::"VOLUME/FILE ";i$;" NOT FOUND. PRESS RETURN"::G$:20*=23::"ERR # ";;" IN LINE # ";::==12:=30:"B) RENUMBER DOCUMENTATION" =16:=30:"C) EXIT PROGRAM"*=23:=28:"Enter Letter of Choice..."G$G$="A"G$="a"20G$="B"G$="b"600"G$="C"G$="c"1600,7);:1540#@:=12:=33:"END OF PROGRAM": *** ERROR =null$:u.first$=null$:u.second$=null$:ver.position%=zero%:eighteen%=18:count%=zero%Pfile$=null$:line$=null$:first$=null$:second$=null$:device$=null$:char$=null$Ix {This is a handy little program that will search a BASIC Text file}I {(or PASCAL ascii file) for occurences of text strings within that}I {file. It uses the UPSHIF.INV invokable module (found on }I {Compuserve, and renamed in this program as "upshift.inv") so the }I {the text string search is done without regard,o$:#2,n$:ž#1810 Yž#2:860 ^210:260OS$=NS$3500 LINE NUMBERS SAME BUT LINES ARE DIFFERENT )OS$)=NS$)i$="CHANGED ":ۺ6000J$=OS$:310:i$="TO ":J$=NS$:320:3500X OLD LINE NUMBER LESS THAN NEW LINE NUMBER )b%'()*ILEos$="":#1;os$:& GETS STATEMENT FROM THE NEW FILEns$="":#2;ns$:, PRINTS A STATEMENTS6#3#@#3;i$;j$,1,70):j$)<713303BI=J$))):I$=" ",14+I),DX=71J$)66-I:#3;I$;J$,X,66-I):J T#1. COMPARE PROGRAMS FOR DIFFERENCES K { Written for the Apple ][ by G. Boody & David W. Walker }(K2 { Updated for the Apple /// by Frank W. Moore }< x2000& GETS STATEMENT FROM THE OLD F }00, 1210 AND 1220 INTO THEIR CORRECT LINE LENGTH. }I {THESE LINES MUST BE RECONNECTED TO THEIR CORRECT LENGTH, AS }I {COMPUSERVE DOES NOT ALLOW LINES LONGER THAN 80 CHARACTER }I {TO BE UPLOADED. -- FWM hed, edited with }I {your word processor, then EXECuted back into a program. }I { }I {NOTE!: FOR PROPER OPERATION, YOU WILL NEED TO EDIT LINES 37, 110,}I {150, 870, 10SINESS BASIC command mode, LOAD your program. }I^ {Type this line to save off your program: }Ih {OUTREC=0:OPEN#1,(some file name):OUTPUT#1:LIST:CLOSE }I {This will save you a text file that can be searcnted. }I6 { }I@ {Note: The best way to print out a BUSINESS BASIC program for }IJ {searching is as follows: }IT {From the BUing request, the program will search for the FIRST }I {text string occurences only. If you define both strings, the }I" {program will check for the FIRST string, then see if the SECOND }I, {string occurs, too. If not, the line is not priigured and named. }I { }I {You have a choice search for two strings at the same time. If }I {you enter a string in the FIRST string request, and none in the }I {SECOND strso be used for checking letter text to see how many }I {times you have repeated a phase (e.g., all the times you used }I {'Therefore' in your text). You may print the findings to the }I {.CONSOLE, or any printer or file properly conf for the case of the}I {alpha characters. I have found this program very use for }I {BUSINESS BASIC program converted to text files to search for }I {things like THEN GOTO's, variables and unreference line #'s. }I {It can alOS$)"N"G$<>"n"7);:920:="/basic.tools"f DIM gto.tables%(...):INVOKE"gto.runtime","readcrt.inv","download.inv","request.inv":PERFORM init/"readcrt.inv","download.inv","request.inv" 300: initialize :œ4000+=2:"78c";"Design Character Utility"=6::"Error #";;" in Line #";;:X=27:300 b600lD"+count1%))1:::"NOT A CLEANING DISK. PRESS 'RETURN'.":g$:130 "."; œ500 ,::6=18:=6:2);0@:"'RETURN' to repeat, 'ESCAPE' to exit";:Jg$:g$=13)10Tg$<>27)7);:330 ^::-:=23:=1:isk in drive .D";count1%:1"Press 'RETURN' to begin, 'ESCAPE' to end.";g$:g$=27)300g$<>13)7);:160: 600D"Cleaning drive .D";count1%;", 'ESCAPE' to abort. Please wait";count2%=110œ=32230:ۺ500(".d"Apple ///."::$iœ=254=57);:110:ۺ500n=15:=6:31);=o=15:=6:"Total number of drives to be cleaned: ";total%$ptotal%>4total%<17);:110 qœ500s6,2280,24xcount1%=1total%:5"Insert the cleaning d+-."G<"you will be cleaning (up to four) and insert the cleaner disk in"-F"the appropriate drive at the prompt.":EP"Keeping your drive heads clean is VERY important. Clean once a"EZ"month on a lightly used machine, once a week on a heavily used" **** CLEANER PROGRAM **** œ500 =13:=6:)::=1:=30:"DISK CLEANING PROGRAM"=6:=6:2);G("This program allows you to use one of the commercially available"H2"head cleaner disks with your Apple ///. Input how many drives you#3:XX$=N$:2200#3:XX$=DT$:2200:#3340#3;40-XX$)/2);XX$::"Enter the name of the NEW version? ";n$n$=""975 :"Enter todays date? ";dt$A*:"Enter output driver name (.printer is the default)? ";dr$4dr$=""dr$=".printer" >#3,dr$ \#3:#3fxx$="COMPARISON OF":2200p#3:XX$=O$:2200z To convert a program to a"5"text file, first LOAD the program and execute:"G" OUTREC=0:OPEN#1,/disk/textname/:OUTPUT#1:LIST 10,:CLOSE:END"" ( " then execute this program again."/ :"Enter the name of the OLD version? ";o$o$=""975/ INITIALIZATION ROUTINE :::3TI$=" PROGRAM COMPARER ":40-TI$)/2)::TI$ :::G" This program will compare two versions of a program and produce"*"a list of differences between them."C" Both programs must be text files."Select Option:"#&(10);"1. Load FONT --> tempset%"=-10);"2. Show character set (0..31 appear as 128..159)"5210);"3. Move characters: tempset% -> charset%")710);"4. Create/modify a character"+<10);"5. Disk save new character set/123456789:;<=>?@ter2 --------- Subroutines ----------------#=11: (start) get ascii number3);"--->"=20:30);="Enter for new; or Specify ASCII number: ";ascii$ascii$=""1::" -- computing array pattern --e+ascii$<>""2500: mark bits on frame2600: create/modify$2700: scan frame and read bitsB2800: convert bits to integer words --> new char. definition92900: present defining bytes and show new character3000: store new charac&!filread(%1,@array$,%1024,@count%)&#1 +œ40000> ------------- "Create/Modify" option (main) -----------52200: get ascii number: get specified character2ascii$<>""2300: convert integers --> bits2400: draw framtored in "+34)+dest$+34)r - - - - - - -?fontname$=34)+source$+34): (start) load font from disk œ1820:getfont(@fontname$,@array$): perhaps it's a FONTFILE :1835;:#1,source$: if not FONTFILE then try as Basic file optionE3);"--->"J=20:30);2O"Specify pathname for storage file: ";dest$9T#1,dest$:#1:dest$: safer to delete than overwriteYdest$,:#1,dest$^array$="charset%"cfilwrite(%1,@array$,%1024)h#19mmessage$="Character set slast$=""last$="127":" -- working -- ":;i=4*first$)4*last$)+3:charset%(i)=tempset%(i):i4message$="ASCII ("+first$))+".."+last$))'message$=message$+") ---> charset%"? - - - - - - -#@=12: (start) disk save  3#,2R,5Xw - - - - - - -/x=10: (start) "Move tempset% --> charset%"}3);"--->"=20:30);9"Specify first ASCII number (default = 0): ";first$first$=""first$="0":"Specify last ASCII number (default = 127): ";last$y)" :g$g$<>"1"g$<>"2"1g$="1"array$="tempset%":array$="charset%"loadfont(@array$) i=3247 j=07number=i+16*j,1290;number,number);: terminal ";"j,ig$array$="systemset%"loadfont(@array$)7 message$="Character set "+fontname$+" --> tempset%" - - - - - - -!: (start) "Show set" option=6:"Show: tempset% (1)?"" or charset% (2)?",:"any other key terminates 'Show set'"-" (blank screen indicates set emptdisk| - - - - - - -:: Quit option - - - - - - -*=8: (start) "Load FONT --> tempset%"3);"--->"=20:30);*"Specify source pathname: ";source$source$=""array$="tempset%"1800: load font from diskme.top$="+-+-+-+-+-+-+-+ +-+": gap must = 2 spaces%cframe.md1$="| | | | | | | | | |"%hbit.numbr$=" 0 1 2 3 4 5 6 7 "%mframe.md2$="+-+-+-+-+-+-+-+ +-+"%rframe.bot$="+-+-+-+-+-+-+-+ +-+"$ bit=815: bits scii$)+index)=char.def%(index) index= message$="Character stored as ASCII number "+ascii$)) Av ***********************************************************w 8x an alternate method of using character definition.-y see Standard Devic);" (yes/no)? "; g$ g$="y"g$="Y"3045" g$<>"n"g$<>"N"7):3015 "N":< "Store as what ASCII number? (RTN for none): ";ascii$0 ascii$=""message$="character discarded":# index=03: store in charset%0 charset%(4*aevise character? (y/n)" g$ g$="n"g$="N"# g$<>"y"g$<>"Y"7);:2975 :ascii$=""ascii$="31" :2010 - - - - - - -( :=10: (start) store new character ascii$=""3035C "New character ---> ASCII number ";ascii$)(w hexbyte$(i*2+1)=char.def%(i)),2)| i# i=07:hexbyte$(i);" ";:i:( :"New character's appearance: ";0 3200: load ("activate") new cha as ASCII 0, "Normal: ";128);" Inverse: "; :128):3 =20:"Do you want to rNew character definition:" ^ :5);"As 4 integers: ";%c i=03:char.def%(i);" ";:i:)h :5);"As 8 hexadecimal bytes: ";Hl change 4 integers to array of 8 hexadecimal bytes (2 char strings) m i=03&r hexbyte$(i*2)=char.def%(i)),2t binary to integer# real=real+temp.bits%(bit)*2^bit" bitA' word%=real)): convert to standard 2's complement integer, char.def%(wordnum)=word% 1 wordnum6 S - - - - - - -;T :=8: (start) display new character and defining info Y "integers/ bit=815: high byte first, then low byte. temp.bits%(bit)=byte.bit%(2*wordnum,bit-8) bit  bit=07. temp.bits%(bit)=byte.bit%(2*wordnum+1,bit) bit9 real=0: "real" numbers permit exponentiation in 2845* bit=015: convermodule& value%=32this.bit=0:this.bit=1" byte.bit%(row,column)=this.bit column =left+17 readc(@value%)6 value%=32byte.bit%(row,7)=0:byte.bit%(row,7)=1 row - - - - - - -> wordnum=03: (start) convert bits to char.def% ain menus g<>132600x  - - - - - - -4 =left-6:=23: (start) scan frame and read bits* :" -- scanning and computing -- ";: row=07 =top+2*row column=06 =left+2*column8 readc(@value%): reads screen with invokable 1=+2F g=11=-2K g=10=+2O wrap sides and skip gapP left+17=leftZ =left+14=left+17_ =left+15=left+12c wrap top and bottomd top+14=top$n g=27:: abort --> m=left+17" byte.bit%(row,7)=1marker$; row =left:=top ' - - - - - - --( 5);:g$:6);: (start) create/modify#- g$="x"g$="X"marker$;9);2 g$=" "" ";9); 7 g=g$); moving about on frame< g=8=-2A g=2"7";frame.md1$ 1);frame.bot$$ : restore full screen viewport =left:=top  - - - - - - -* row=07: (start) mark bits on frame =top+2*row column=06 =left+2*column' byte.bit%(row,column)=1marker$; column .e "; <'X'> places; clears"=j =24:" accepts; aborts";: note: terminal ";"!o left-2,top-2left+20,top+16t y 1);bit.numbr$~ 1);frame.top$ index=06 index;frame.md1$ 1);frame.md2$ index from high byte to row of byte.bit% array.) byte.bit%(2*wordnum,bit-8)=temp.bits%(bit). bit.3 bit=07: bits from low byte to next row.8 byte.bit%(2*wordnum+1,bit)=temp.bits%(bit)= bit B wordnumG _ - - - - - - -` : (start) draw framee Driver Manual p. 71>z and "REQUEST.DOC" program on Business Basic Disk.{ |  ctrlnum=17: control code #3 count=1: the number of characters being loaded; ctrlist$=count): this will be first byte of ctrlist$@ ascii.num=0: the (only) character will be placed as ASCII 0> ctrlist$=ctrlist$+ascii.num): add ascii.num as 2nd byte( i=07: add the 8 definition bytes, ctrlist$=ctrlist$+"00"+hexbyte$(i))) i "activate" character* control(%ctrlnum,@ctrlist$)".cohzh{ Qghhh5h66 HHH566 qyhhhpx{HzH`~EGHIGA3/1.01:7SY GETFONT READC READC  #.-2hhhhHH`$.CONSOLE24320/JACDGApple 1.1R READC nsole" @ ********************************************************** ERR Routines =2553=24:=1::"Err #";;" in Line# ";;::g$:20hhh5h66HH :~5~HHH|})   |}) @  hhh g5ȱg6ȱg@ ɀLDg eegghI8e556l6m`  lmL}\ZYc&h:h; (+65;H:H`,.CONSOLEg<:/.-+*(% CX`REQNUM BUF "CONTROL CONTROL RETURN RETADR GETPARMS TPARMSERROR ROR STATUS STATUS BLDSTRN ,BUF |F GETPARMSca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFB>;:9853/&" NL64Ch5h6h3lh4m 0/L6H5H`g8640'%76,V^dKA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`gca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFBhhHHHH l5m6m6  ЙW5X6X6 ` 5`MD32KA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`g##6 >?Bi{Ci|) |=! "LL{@?>8(O\ F9 >{i 5|i6) 6|8 L5{ hhhh0 hWhXXL `L5JLMNOPGA3/1.01:7SY CONTROL GETFONT GETFONT DOARRAY2QLOADFONT LOADFONTDOARRAY2ARRAY2 Y=TPARMSERROR uROR BUFPNT BMOVESTR REQNUM UUM BLDSTRN DSTRN BUF pia RETURN RETADR  GETPARMSFERROR ?BUFPNT NT DEVINFO DEVINFO MOVESTR FILREAD FILREAD BUF :4 GETRFNM BUFPNT OJNT ERROR ROR DOARRAY e) **** FIND/REPLACE TEXT PROGRAM ****# **** NOTES BEGIN AT 1100 ****" **** BY FRANK W. MOORE **** œ1000% **** MUST HAVE UPSHIFT.INV **** "upshift.inv"+:=28:"FIND/REPLACE TEXT PROGRAM"::=3:=6:2);H"This program THIS.PGM 2 C And printing ENTRY$(a%(1...4)) in sequence will print entriesG (3),(1),(4),(2), e.g. the correctly sorted full directory entries& 'nuff said original files and tags were ... HELLO 1 THIS.PGM 2 ANY.PGM 3 QWIKSORT 4* The sorted arrays will look like ... ANY.PGM 3 HELLO 1 QWIKSORT 4 CNT%)=CNT%:ENTRY$(CNT%)=LL$240,"6"------------SORTING NOW ..."@N=CNT%:404"----------- SORTED DIRECTORY FOLLOWS --------"I=1CNT%EENTRY$(A%(I)): SO THE TAG A%(I) INDEXES INTO THE SAVED ENTRY$() ----------- If the"TAGSORT SAMPLE...":("Original CATALOG for .D1 follows " A$(100),A%(100),ENTRY$(100)#1,".D1":CNT%=0 ž#1300##1;LL$:FILE$=LL$,16,15):LL$6LL$,10,5))=0240: --- SKIP HEADER & TRAILER=CNT%=CNT%+1:A$(CNT%)=FILE$:A%(de will read the directory of .D1 and produce a sortedE list of files on the .D1 catalog. We use the tags to allow usF to sort on a field internal to the full record and to speed up= by allowing sort on only the smaller file-name field.anged, theirJp associated tag numbers are re-arranged in the exact same wayHr so the element(s) indexed by the tag are still accessible.tIv ---------------- SAMPLE follows --------------------------------xE This cohe idea is to strip off the meaningful data to be sorted onJj into the A$() array and leave the rest in another array or a?l random disk file with index stored in A%() array.Hn ---- When the elements in the A$() array are re-arr+1)=A%(1):50::2I=L/4J=I+I:J>M55:ۻJA$(J)J=J+1.5B$N/2)):L=SS/21-1*B$=A$(L):B%=A%(L):50:,L=1:M=N-11-1=.B$=A$(M+1):B%=A%(M+1):A$(M+1)=A$(1):A%(M: QUIKSORT AND/OR TAGSORT FOR APPLE /// BUSINESS BASIC/ LOAD ARRAY A$() WITH STRINGS TO BE SORTED* LOAD ARRAY A%() WITH ASSOCIATED TAGS' LOAD N WITH STRING COUNTC Eliminate refs to A%() and B% for straight Qwiksort (no taFILWRITE FILWRITEGETRFNM RTRFNM ERROR ^ROR DOARRAY OARRAY  will find occurances of text strings within an ascii"A("text file, and replace those strings with new text strings"D2"designated by you, then save the corrected text file to a new"<"ascii text file.":DF"You may elect to search for text with WYZ[\]^_`aall of the }I {MY COMPANY references in the original text file, and substitute }I {MY COMPANY, INC. in their place. }I { }I {You may also e }I {For example, you could have a long manual stored in a file, and }I {you need to change all of the text references to MY COMPANY to }I {MY COMPANY, INC. The FIND/PLACE program will find ring defined by }I` {the operator, substitutes that text string with another text }Ij {string also defined by the operator, and then stores the }It {corrected text to another ascii file. }I~ { =27:vp%=22:hp%=1:330 900 **** ERROR ROUTINES ****-:=23:=1::"Error #";;" in Line #";; ::IL {This program is designed to read text strings from one ascii text}IV {file, search the strings for occurances a text st@case$)!"YN",case$)7);:690 case$="Y"case%=1:case%=0# **** CLEAR, PRINT LINES ****  =vp%:=hp%:31);:*=vp%:=hp%::line$;::4=vp%:=hp%:line$;:>=21:=1:29);:) **** CHECK KBD TO ABORT SEARCH ****INES **** X=11:=35b" ";find.file$lfind.file$="":330v =13:=28" ";replace.file$replace.file$="":330 =15:=35" ";find.string$ =17:=32" ";replace.string$ =19:=28" ";case$:caps(-find.length%)):left$="":440left$=find$,(located%-1));line.length%=(located%+find.length%-1)right$="":440>right$=find$,((line.length%-(located%+find.length%-1))))&find$=left$+replace.string$+right$)W **** CRITERIA DATA SUBROUT/N)":810%Tg$:caps(@g$):g$="Y"830:150^g$<>"N"7);:340 h:::* **** REPLACE TEXT IN STRING SUB ****line.length%=find$)located%>14207line.length%=find.length%left$="":right$="":440=right$=find$,(line.length%+line%); #1;find$string$=find$case%caps(@string$)$"located%=string$,find.string$)'located%400:275 ,#2;find$6@245I **** END OF PROGRAM ****$J:vp%=22:hp%=1:800:vp%=22:hp%=10Oline$="RUN COMPLETED. RUN AGAIN? (Yto Abort Search...":820vp%=23:hp%=1Hline$="Seaching File: "+find.file$+" for text string: "+find.string$820.vp%=24:hp%=1:line$="SCANNING LINE #:":810line=line+line% case%caps(@find.string$)line%=130000=24:=18:(lineECK FOR LEGIT FILES ****œ7);:600:#1,find.file$œ7);:640:#2,replace.file$ œ1000 ž#1330 900$ **** BEGIN SEARCH ROUTINE ****/line=0:line%=0:find.length%=find.string$)9vp%=22:hp%=1:line$="'ESCAPE' **** GOSUB DATA ****600:640:670:680:690 **** EDIT DATA ****Cvp%=21:hp%=6:line$="Enter # of Line to edit (1-5), or 'RETURN'" 810:g%g%>57);:160vp%=21:hp%=6:800g%180 g%600,640,670,680,690:160% **** CHor without regard as to"$P"upper or lower letter case.":d=11:=6:2);&n"1) Input File to be Searched:":x"2) Input Storage File:":&"3) Input Text to be Replaced:":#"4) Input Replacement Text:":"5) Ignore Case? (Y/N):":lect to replace text without regard for the case }I {of the letters. If you choose to ignore case, MY COMPANY, INC. }I {would replace, for example, MY COMPANY, My Company, My COMPANY, }  {etc.I { }I {This program is also useful for correcting long BASIC or PASCAL }I {programs converted to ascii files. You can quickly change all }I  {occurances of a variable from one name to another. }I { fhijklmnopqrstuvwxyz{|}~%e,ȥ,*,- y,,,-,,,ȱ,,- yL+,ȑ,` 2"p-,-L(Ġ %>,i-i8, ȱ,%,W,pp ڠ %p`l  " ) i SOS KRNLb.D1/SOS.INTERPŠ̠Š.D1/SOS.DRIVERР頞 0 ) (lH'&3&'&#e'#%e'%'&"$"$#%'#%h`$eCAPS CAPS  hhh5h6HH6 5{a 5(`:bdeA3/1.1B CAPS , you will get some }I< {MY COMPANY's and some MY COMPANY, INC. INC.'s in your output }IF {file! Plan your replacements carefully. --- FWM } }I {Remember a computer is very literal. If you have occurances, }I( {for example, of MY COMPANY and MY COMPANY, INC. within a file }I2 {that you are subing with MY COMPANY, INC."$% "$ #%%& '   ` {" & ɠ% %)  !( (" %(r(z(q( %y(a(0: %   "$%&e$'e% R % <`` LLɠ8`ΛLL渠`0 `8`HiHiH ihhȱh`86)IH)heuQɸ` ` W` ] %饚0` W` ߰4`)|E8LLLRLLLLL*LLLLLhh`LLL`SOS 1.3 01-NOV-82(C) 1980, 1982 BY APPLE COMPUTER INC. ) `G`î** }*`o^`on 8 JJAj@` *?($`ΠņɠŠ堠РѠ͠஠әƆH v?c,,,,h߈ߢ~))`3PLLP*%(i&`Ѕ񩏍E H pph`X٠ŠҠî!((ͽϠРРSOS NTRPSOS DRVR(.D1(YYYYMMDDWHHMMSSMMM̱忠ΠͽŠ堠Р͠Ю̠Ɔx߭J ʈc(()o/ e/''ʈ((''()(1i / e/''ʈ((''((''((''' ('`ŠDAY, DD-MON-YY HH:MMSUNMONTUEWEDTHUFRISATJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECé@L&I/O ERRORINTERPRETER FILE NOT FOUNDINVALID INTERPRETER FILEINCOMPATIBLE INTERPRETERDRIVER FILE NOT FOUNDINVALID DRIVER FILEDRIVER FILE TOO LARGEROM ERROR: PLEASE NOTIFY YOUR DEALERTOO MANY DEVICESTOO MANY BLOCK DEVICESEMPTY DRIVER FILE '(i%%%h}%%`8 ȥ!8 !)"qȥ#q#e$ȱe%L)%`@(((( % %`((((࠰$(ɠH(@(h((((@(`%z %% %~(A{(L%`.8(.Je.&ʈ.s(1 6$P8"ȥ#L1$8"ȥ#(ϸ`"##L]$"qȥ#q0,$p)@"q"ȩq"8`*$% $% 8% $L$* $8%8 $`8 &'$% 8&$'% 8$%%`H   q ȥ q Hi hi 1  % H H ȱ h h % $$ 0 e e H i hi âz %` 1 8`    # &ȱ ' # i" i# # #`8 ȥ H h `8 6$P`8"#%#%"$w"$#%"`荚ٍ荺 荚`荺``` D ( )  * ) 4* * h* ))` L% q ȥ q Hi hi  i" i# #% $ȱ %ȱ &ȱ '`<!((g %(r(z(q( %y(i(0z %"#$ %&' $"#$%&'   `%$%ɠ%* " ~#C #p $ %*0"#)#)i $"% * %*  L! {" j% %ƌ(X#ü 7)?۽۩ W٠Յ<ōōř ռV7 uM78 V榠=ü#)@5 ɐ /ݐE ) .) @L `lqhٯ޿=ϓTXIֲ̛̐~ؠIJK,-NOPQ0vt ` H hQ)fʅ F jF jF jF &!  eװ*  ̰F湥 ƹ`Z8`@  ʰ泭ۑƳ ʐ` ʐ` ˰ ƹ Wː`ۘ . . .۪8*JۦȱѶ"` ɰ Ȑ`E`Ɔ X̐8`>>5Ѷ Qܩ<`>`\ʊJJJJ ۍ۩  ˰Fȱ X̰6 0 Lɠ 0ۑۑ8ȱ`H8` ɹ $  8JJJJ8 ` ۠ǽi `< Ȱ+<#5 ې'` ɐ /ݐE`W8`R` 5&i ` Ȱ 0i `<8> ȐT eİF cȰB)Hh5 ˭)*ȑƑȥǑ'(ȑ`L)ɭ)Ѷ*e`M) `ۅH)Ѱ%}ʈh Qܐ'``hi ` p6۽ʹZ5 HȐ/i i `гW8`0( ɐ Ȱ ʮ6E`5 խ ɐ ޢ ȰLȍ۱Ǎ X̰% & !J8` *LĢ `8 iۥƍۥǍ`ۅ %  6 )Ѱ Ѱ` 𝭧e ǐ bǰL*ۈ5ȱ۠ƍȱǍ X̐ H h1  /ݐE`ۈۅ ۅ 8ƭ X̐`LLŠǠ  ݭv̅w̅ ðzv̍ŭw̍ŭƭ ­ōō T̰]ŅƮņ X̠8iȱiiȱi ṰŅǭŅ XLōۭ۩ۅ ȱ8D`F`8eYƍťǍŠ)͠ Wٍۭۅ5ۅƭۅ X̰ ìۈۑ T̰ۅƭۅ X̰ۙ%ۍ" T`K8`)` İ ۱ۈ` ưW/ۈęۈЍ۩@` 8 MƐ  5 Q8`LŅ ۅ ۩ۍۅ Lɰ ʰۅۄÍÍۙ'Ù ۍ*ۨ  Ѝ۹ۙ8v- ðJ ¥ ð, ðLO ʰƥLT`'  mې浰``8 8 nʰ0 ̰+泱Ƴ m° x̰ ̐8` m° x̰8 ۢ8 ˰y ` ¥ nʰ泱Ƴ T̰#泪 Ѳ *Ƴ ` L:Ϡ`泑Ƴ` LaĥH8`JȘ I8`  S`ۈۥۥ۩Íۭۍۭۍ հL¢H8`Jj Ȅ ۍۆeۅiۅ Lɰ ʰWۅۄ ¦J> ɩE` eĐL Ȑ 15WL QL5WW{5 ې'`,55 ې'` ݠ B1 ȩȑ Lɦ8`5  @ R㥶i ` İG8`F`X8``éۅĩ >` T֩xxMH]@ Kۅ5H ɐE$ eİ Ȱ h`h`8`W h8`hR`hLҿ i x +ۅ5ۅ6 ǰ `E8<W`­ `0XLۅ5` ռ``ߤeI`IiţO`Ȯʆ/ )󘑡`()0zq 滅ѺY Ueۅ5Ѻ Ѻ  Qܐ'`i ҩ *C8/y.i/ ȑ  © $ E7<3W`ȽLֽȄ @8`R ) [)_[AͰ")[)_[A:0/.ЩȑΘ8e * ȩ`Lo۬` # ː`  = O̰)= I`JJJJѶQi Lˢ  0 ̐ `"L˦ `H8`8$$"$= O̰=`$0`#$"0`$0`#$"0#`!qȱi 5H5Ƶ ǽ jh5`L2̩ƍv̥Ǎw̩ÎL%ϠƄǥLj̩۬L~̠HHh` ̐`*ѺG0?M`)J"u-- M8`ۈ)ۅƭۅ X̰ 3ڰLÍLT̥L㼠  ʰ` İK ХP8` LɐH80)N  հ)@LO ˰)0 ̐` M ­۠泭ۑƳѲƱƳ X̰ RڰäJۑĥ` İo!)N8`WپX0 ĥLä X0 ĥLà !"#$ Đ2@H AڰCŰrP` 3ڰ(` AڰѶ? İG8`Fە1 ռ İ ЩP߭)@N8`1@8` Aڰ񈱴 ˦,+* ʈJj =ؠ yiȩ`y4泱ƳHhz ʠiȱizLA`L;ؠ"  `1` Đ7@8V۩ Lɠ۪8ۊ۠X)JJJƄ X Ġȱ۠ ȍ۱۠ ۭ) ۍ ð*)#  O̰``)(`N8` ) xհۈ ̰آ*գ  Ͱ ݢգ LvL{ؠ;i ڥ(8` ְ( ȱ5 HȦ)`Lxץ: ש ְ⥺i ꥻ(8`Lx Lxש u )۠0)p խ.8`)@ ϰ) ϰۈۅƭۅǭۅ5 X̰ *ƭ۬͵̶L  ΐ` Wհ> H۪ȱHۑhƳh sϰq ` ʰiȱi `)5©éՅĩ5 }JJ+`.`8`ɂ )`@ ש ְO ֤FHۑۑh8`P) հ Wհҥ,J+j泭۪ƳۑȊ ) ~ fPL ͊.>.ʱ+,EP!.E.Lw+,,ӄ*- P*e (` հB հ5 Wհ0,J۪泭ۑƳ sϰ(` L Ͱ2 ~ P kҐ#L8 T 2ΠHHȑhhȑ`Ld )N8` xհ*eȱ+eȱ,i۠Ѻ۹ۑ񥤅- ť.Lcԥ.La Ͱ$)rJ Lɰ )# Ԑ) ͰU..++,,IJ/ ӥ-.?Цե,J+jѲ4Ƴǥ4聠 H hH kh8`8-ȥ.L 8*Ʊ )8 0*-`.G.ʱ*+,EP'.E.LұE0+,,ӄ*p-e  )LBѠٳ )8`i (` )N8`*eȱ+eȱ,i۠Ѻ*ȱ+L - ť.Lkҥ. ՅL ͐Ld ~ pа.J/)@߅4N8`) ))УJ8` ۑȭۑǠۑۑȭۑ($S8`O8` "` / 򑺠+* ͐H h8` ΰi `()  *ǵ յý5Ņ4gȩυɩč5 iψ }.8` iϙLIѠ ˢ L΢ ΰ LϠ ˢ ΰ1` Đ@ АP8`B8`ۑJJJJ -ѥ +jѲ84ƳJJ 2ΐ3泑ƳLTΩ潑ƽ`ƱƳ ΰ( {Π۵*+)e`8`)` J J + ΰ" 0 ΰ 🱼ѼL8`ǩ Ϡ` ϰ ƑȥǑ` Ѻе*`)ȥ+8ۍې  ,ѺLTΠ"LΠ5 խ ɐ /ݐE`C8`)@ ϰa)ۥ,8ېu+J,\ ȱLJΠ) ϰ'#,J(] { ΰ ƑȥǑ.8` { ΰ,JѲ ƳL΅ƱƳ ΰҥ,J泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰӭƅХDžѥL1LUȑ  i ߩLL )  札)  ҩLL` **éL0;` H ) 4 )ߍ) hjjjjۥ0CF = -$(L !LLL&L L-LJ٥eƦ ,L  # ` (L.L…ҥÅ,] Xx,f (I0јIFjFjFji```x@gŽPy+wLwԠ͠ŠԹ.D1 .D2 .D3 .D`HJJJJh)y` (2ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H h h` ک V `ۅץ  VLFx) ( :` H ) L  .P'pб0 &L:L5'8+8`0Fܢ` ř,Ř 0 8f)J ȈL` 8`څ  Lk%  Lk8Lu텚8嚅 L L Ld V `` ͝de0f`   cCȱcD C Ea  UV 1 ELUFVG FUUCVDեYCWZDXWXCUDV[ v`b0WXYZiUcȥVcWX eeYZ ggE` @SATRDžŠƠŚ̮ÎȠ Ӡ̠Ӡ` LL#L/LL'Lgab `abBcd cdBrcadbho:ab.cݰdDcݰd8abҊ v+abcabRcdTefVghXijSdfhj RR`^0U ` 0 ʠ0 8 `ůàՠԠàࠝӢӠ ȠDž̖͌͊頀ϐωŠŠӠҠȠγ`%!^0 ^)@`a R =` *^)ـooL]^)?i |TU QTU]qUoqTITsUsprRprqs]ToUXa` RL=Xa` R` *R`X`U T  *\AX[ @F\B9ɏ5\o*Ɂo)[[ @^`U V  *C?^0: ݳ ٢ ^)?i` *)@o `p^ XiH 1h `)X0 8~X 1`C X`)X0`C РǠ𠠐ŠŠӠҠȠƠŮƠҢâӠUAQY @?ZY 9ZYY^TU QZoȥɭ }`` ? }``  }`X0i 8~XX0H }h襯` ©Wéĭ }0W`F X0A */5BL. zF`LLz Lz`Y `Ơ堧 B k L( LO  %   }` ` ?!©UéĩU󥣍V }`` ?)) $p10LYeieLVȱ d0L`Hȱ hh` WɸSI I.ȩ8A 8ɸ4ɠ(H)h h8   `    i Ȣ d` $,)?P^ GL㢮 5L}P.)(Ơ L`ޠ LR  稱 I)0JJJJѤ  БĈ` H`)à`֩ нѽ>`]PU]]UPPX0 0 PPXPP  į󠠩ҙ̙ɠΠɊՐӠӢ̢ՠҠŠԠҚРĠ鱃ԠȠࠠLQ  * WHHH>%H H @`)h8`  HШБˆeЅА SYSTEM FAILURE = $hh8`hhhxآY_Z@tPRVT,p S JJJJ ) ʍL@ i0i6`îӉ͠堧ǥӥ``HhHy)(h`H` 0L?i `h` `` `x)( 8 `jjJJԥ)եӬɂ )Ӆ҅`  `H0Xh`Π'à̠oQ*@A RQL@A `T8`RLSJTKQHIQiHiIKNJ)M8逅OPOPHMIN'a MHNILHOIPaOHPI8JHFKIGFGaHMINNMʆSTL8HSITQQST `Q8STRQ ST`c\ȱc]a  b 5DU e\^e]_ ^_ ^_LH8\^]_?Je\^e]_,78\^]_ ^ݰ_ ^_LH^_ $bL@A^_a HH`Ln,/023x #) "# (```'+"'*CFMRZ_ '058FV[fjsuw;Console 4nʐ3x1eʍ1,/p/H h(eʅ8ʅİLa )`Y)D00L:1?24n21  % &$0) `/0) `,.0L tHsH`! (xy```,.0L HH` (# (KXT .")"#)  #`,.$ ()-'( / .`% (.L,/0x ('( `,.0L& (,.0L7 Đ`ʥ逅8n13DL8H\0`(d  $,($  ,BSerial Printer Driver -- Copyright (C) 1983 by Apple Computer Inc..PRINTER A")Copyright (C) 1983 by Apple Computer Inc.0,>!SHOLES 1!1!2@23#3#4$4$5%5%6^67&7&8*8*9(9(0)0)-_-=+=+\|QWERTYUI OP[{]}`~`~ASDFGHJ K L ;:;:'"'"ZXCVBNM ,<,<.>.>/?/?d0hp00000>" <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>8  8>> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>> 7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"STANDARD )((8*,;((*,((+)((9/(p((>3  =9 :9 .(+( 8#8# %3(8 ((,+)(%.4$)?((,(103  )* i LiHh`PQPQ>P Q,PQ"PɀQ@PAQ`8`nɀ<)nopoLpp` 0h8蘠fȊf` ab 1abo)abaݰb L9c`` a N0Ioa0H ha`pLopna n`  3ɠ/8 L %iLɠ8逨J Hh $`b >_-%^%p_^^_ab"08^c_L8^c_L8^c_L8^c_ȑcc\] ab^_ ``aV R0M bba ddaDriver -- Copyright (C) 1983 by Apple Computer Inc..CONSOLE aO  OO&+- ((((PPPPBTVSPLH   5"ʘ HH` (# (=  0`)aI ֦ڱΑ0Б֤ l L p,:0 JfiΥiώJe΅Хiю@ F $p̑бʑΈ0 Б̱ΑʈeمΐeمАA萿 > `ʝ"`t  !#%AL> 8p,:Jf׮@$PA F $P@/A'ʤ˅΄ϥ̤ͅЄ F $̑бʑΈ0Ƞ l L> $)טɀIim>ٮ@8pذ `$0"8,:Jک@ׅפ؈۩MjL,:08*Ȅ F ,:J}΅н(I I $0;P̑бʑΈ,:Jrx 00 )ߍ:) J,P,QJ,R,S,T,V( > `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< F l $g " x) (,`% (gL,}0, `gé ĩ `:) j:;jN;~j;O,:0'???>>8?>p<<AAA@@8A@q==C)CB)B C}0 x) `(`hh% ( ΍ ύ逅Ñ}`` " ( ĩ~Íĩϭ & &υΠÑΈ~ F ~ҰةeÅÐн},,P,`,g$ ( efh) `xÙ+(`xÙ&(`)4`)5`)6`)7`)8`)9`,i0!M:0p ȱq L`" (~)y ~JJ* I `x|x|,,}P-X~ F }~L } `,,i0LÈ`,g HH`LL! l      5  Hdcefh&+si M0  h) `(" ( (È& 8 `)2ȱÍ3`)1`Ɂ" (cefd`Hc <Li Li ,g0L HH`! ( 9EKQWbmz`(" ((è%È`2ȭ3`1`d`c`+È`&È` * IMk`4`5`6`7`8`9`<ȭ=` * @jI`:ȭpȭqéL ==L> ,lCL <=L> <,n)LL8 L8 u:L8 ;)ߍ;j`; ;j`uBL8 uCL8 u)u;) u;L8   x) `(, LuL1upp<`uqq=L> vuL L L #1:CY` 9C<m><=m@=>@?AL8 >m<>@m=@<=L8 <m>?=m@AL8 C9L8 ; ;k`;);k`,@`<,m p<L<`<p<`,ms<L=q=L> ,lXґȥӑ,10 h0  `,g0L ҅ӥĥŰ+,0p 4 Ls Ls i )"|tȌs|st HH` MjH,: <J h̰ <rh,oL`%CYgu9 Ln90$0%,7 ҥ L$0T,8OK50P;ҥ,8 L%\   8҅¥Ӆé҅L,5,6  * @jIH,5 p  He҅Ґhe…å逅h,23Lhʩd8,h)ec efeede`,5 H h 4 `5!   4(P 4 4 `,g0L,10kH0 ԥ f0)ĭ9)9҅xh(ĥŐL i,1HȊ©L,52,9-P" a{) b) )ab)a a,h0& &+%a0 +hcefd(c,@cfabdf`cnx  (,4h`dd,9P"<:J H) +̰ H) +ʭcP h̰')+;CNU\eh "*-036<BLORX_fj &+38;?DGLTot <?BGLQgjox',/25:BGKORY\aelpu !$(+.147<?BFILORUX]`finsw| !%*/36CONV&CONV$CONV%LEFT$RIGHT$MID$INSTR>=<^/*-+NEXT WITHOUT FOSYNTARETURN WITHOUT GOSUOUT OF DATILLEGAL QUANTITOVERFLOOUT OF MEMORUNDEF'D STATEMENBAD SUBSCRIPRANGINVOKSTACK OVERFLOREDIM'D ARRADIVISION BY ZERILLEGAL DIRECTYPE MISMATNDEELSCONLISCLEAGENETABTSPCUSINTHEAMOSTEANOEXTENSIODIAFNOAAAAAAAAAAAAAASGNINTABSATYPRECAAAAAAAAAAPDLBUTTONSQRRNDLOGEXPCOSSINTANATNAAAAAAAAAAAASTR$HEX$CHR$LENVALASCTENAACONVOERRLIERKBEOTIMEDATEPREFIXEXFNEXFN%OUTREINDENAAAAAAAPOHOMA SUB$OFTRACNOTRACNORMAINVERSSCALERESUMALEGOTIRESTORSWAGOSURETURRESTOOALOASAVDELETRURENAMLOCUNLOCCREATEXECHAIAAACATALOAADATIMAGCADEAPRIssssssssss\3!z~IssssssssssssIG%ӓ,ssևwn7}|tttUUZ{fzxxˆU膅[L<^ENFONEXINPUOUTPUDIREAWRITOPECLOSATEXABYAAAAAWINDOINVOKPERFORAAFRHPOVP̠Ώ h:gpOn[n٧s]ds3issssssss0b>&dsjs|T}|s[ŭ᭭򭭪𭭠򠭠頭퀠Šӳ頠𠠀𠠠堠젭ӠΠSOS NTRPRHeLZĠР쁭堠堠ՠP򠭠έ魭>>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< >> " )((8*,;((*,((+)((9/(p((>3  =9 :9 .(+( 8#8# %3(8 ((,+)(%.4$)?((,(103  7  3  5   ,/DIMV_x}  RU     ! ( 0 7 I N S _  . G R Y f {    ! $ 4 9 F I P S V \ a h m p s x |     + / @ C H K R Y j o t | 9<?BEJMRUX]`h  2;AGMS[fot|              . 3 6 9 < ? B E H N S V \ _ b w  CSTRING TOO LONFORMULA TOO COMPLECAN'T CONTINUUNDEF'D FUNCTIOVARIABLSOS CALFILES BUSNOT SOI/FILE TOO LARGWRITE PROTECDISK SWITCHEBAD PATFILE NOT FOUNPATH NOT FOUNVOLUME NOT FOUNDUPLICATE FILDISK FULFILE LOCKEFILE NOT OPEDEVICE DISCONNECTERESOURCE UNAVAILABLDIRECTORY FULDUPLICATE VOLUM ERROR Please Press SPACE BAR IN PROGRAM INTERRUPTED%&'(%+.@C$DE FG!H"I'MN#PQRTW(X潭`: 808`:dd@՚H Z#IJJ iLOPP$pX0S&ȱhȱKȱLe潥ɂ逅$L# $mKL x~ m khLgLsLc h5逢)&a TH THLgL6k8:9: STT`)ɀLK$Lb8gLOPPKLMNhhm Vf0 mLf) mWA 0 -a mL8fW;8<< 悕` 6kLU*i kXX 4XLy \\'_ch_chbi^g \ihh ] Qp aj ih `p b iq bqn %jjg56Ly { b bq | XHWHHHֺh$PLh wlȱȱ%$LWH mh x~  m#W", mȱ28eLeji`Lwl mȱ"Ɂɂ ȱ :, iTjj ȱiVjj8逪XW0 Vf0WHW$ 0X: h ,@dd )e dʙdH &eh(dL ddک,ddLd:e``eLeHELLO ue 5eLse6e:7ee8ee:e`EAd j @a(% -, bLs j {ghhL<^gHhHhH , - b j$% @ag5h6h6hhhhh8g5h6h 悅`6 "]La ud `L  d.CONSOLE[[ TdSdddddd0 ddddd`dd A 6 s e 9c()' 9cKHLI jLdj89弅:彬: 悅`H hɝɞɜ)`dd  6芅 e ()'` e'()HKIL 9cL>hL<^) i!Ls j @aLK$L% :: 悅 lc!)` +b` +b` sL :b#`L,H s h ऊL(,L8f` A KL jLdjOPPKLL h AKL` Ѽ   (`H shLs Aji!S)Lt`SSS`L` z :0.`9::hhgg.%g& $gegަhH逪hhʰ` ҥ [ aLT ҥIJJABB=>>;<<?@@T ě hhhHH  `89$ 0~!L`!sm?iٰcL`S )!a{)Qi ڐ߽S) -ai) -aɢ ɣɍж$HS -ahʥ0SSȩ5%"/װ&hԐɈf0ɔĐ 8,f 8f L_ʅSS=ȄL`ȱi8eiidHddhd) _ ƢLh _L>h jhP _S @a-Qggeg5hih 6i6 "]S" ]$%SSSg a aL^ S S`La8 SiUjjS):,$f 0$ p fHhH_HcH uhch_hhhfhi0hhhB B A` ֥'( )&񦕤LNKM$Lb ě $m wl "m6X6+5 56ɀ56H $mhɀ(Z)& mL k~ wlL ͝dL Nsd# wl^_ ꂅ__hg^`8 悕`gHhHhH5?6@6@*5g5666gҦhhhhhhhhg:e:;e; ;m;`@c@c?be^@e@ _m__^ \Lx] i6g55``BY BSAMHH H] LPL(\)&P ěj9ȑ9ȑ99i=:i: >i>`Ɂ7XWWXjnXWi` ]?@@bgchch )^ ]b ]b^b^L\b8g+H__^8_ABB 9::)ѭ [ I[ aυ婶ZeLLL^$%Lae LGidFddddddd.ddddddddd ɕdˏd`Ls  Apple Business BASIC v1.23 - Copyright Apple Computer, 1980-83 d wlOZL^L^-L(dPL<^OPMNKLhhLg` Ls ҥ?ieCiLa,  aFL s a iLg ]hhh5h689H: H:HLHKHH6H5HHH` ui` pi` Qp j pi `p i` j jK$L%8eȢ 9:: Ga.ghh 悅` A` \\ɾ,L<^hhZkKhLhhhe9e:: mLg jei `Ls j:,"hhhhLgɜEɝDɞLb Hɾɺдmhɾ Qp aj pi `p j` jLi j,656 wh H5Gh`lmm566 Lx5Hȱ5ȱ5 F665 w56h(` x("LH)&h`( '&'`lmm566LxĠLx znInEz{iLx y? zL||uu`8i$iznIii0ĨV y${Wiuu8Iem_B_B`)&N> ȱI8gJJ hhge ghh f feLH>H= x\L|F )XHABB8 __^hHI8e^ @1 @+?%GHHHIJJih BABGHh`$  ě u Дs IJJ^__Lveȱeȱe `LćHƽ Ƽh`$ lȱlLL{ɝɍLɎСL s HI s shmHmHlHHɦ# shmHmHlHH , hHLt  ,, shTTLui ui,L3$0 |Lu xijk6kxyy xxy6i L[ s r$PLsi,L3-hLs L*tɘcɭ_ TTLdd`jk8L|L3L3TL3,L3i LL r$PLLBLsș Ȅ ( qƚƚ` s s),;,=,#,(,,ѼLL<^L<^ llmm$P$?TUJ)TU  ' Lsi imLqLsh E0`H ty ))ELyq  8 $0!PizEn{dUeUi hLqLs `wLr !L2 {}$ 0`QɀX zLs.+"2mXm tL qXXW zzEn{i x }H$ ]kh8 )KLe9e:: }Lgi , p s$8$0p`PL<^Յ H s r ɀ ȱX Hih0 & ?<I?iE W Lq s )L<^ȱQȱȅR dj sLHoUVV$ LhU Lp$ LL<^opL^```?EXTRA IGNORED?REENTER $0pL,`LgXW ׫ k*iXX 4X \\L<^Xii7 { n k$ |WlXVVE$ P% eT{||Hd ̐h p IkLo00$0 L>o "m nV dj$D$ P 膼Lo$0",i [ kLoHSHhp< {}$ p0H 07h ]k ,LmUVV `p F sLn 2 ukLoF вLm jȪЖ LL<^~p l nhhLgOPP` Add# 6d s S SS@Ln A " r ,; s lLn#f  ;П ⭩,SLn "mʆ,S _S% nLh "mL_T ST#L(, U VV ׫$ 0  QpU= d hkddhe##5ddˏdd?Ll ,?#$04dHHd = d hkddˡddhhd`LsL#&F  ; s b 0` L+l$ Nsd#Lzm566ȱ5Ll H# wl m#͉LchL$m QRKLLsh$0LU$^`=8WW>X> 悅XXXL:^ g`L<^ l Jj bx bp,_;Ll  ~q$0P oՅ5R66R l ~ L%l $m0 =k $m#`$L#i)8#Ll  s s( L7bʊ# L-l m hxd5d$0H h`L^bLb$%/%5$ &5 &5e$$5e%%$&%$e$% Lk ׫ sHH ~qLPkHHh$0'ph | ZlWȥmW`L$|hXWXL-hm lmmLkl VYZZ{|| w ᐥlmmYZZ LxWXX ox ExYW# kXX 4=^W^0A,lkj |yjJkjlkmlmi in`emeymlexlkewkjevjLkyi&m&l&k&j8iIiii9fjfkflfmf`nIngjIjgIm lkj`L<^}i0vvvvvj`Ly^Vy dv88; 54541r |LiHi z xz U{y xy рz xh '~z zLz z~ zm zl zk zj zL{LyJ eyexew~ev~f~ffffJ`5665y5x5w5zEn{z t $mlmkljkij8ihn`L,$0DpA q enHi80 @Lyu \ % @u ćh `&m&l&k&j`2L0 և yxLT}$0pLI oբRLi `u LLi u Lui0 ܆ چ,,% п 擩lm0u 1eL5665`iɀ*iH i  @8 ei $ tutt tj ȡhn` t` 0RN0R 0R$n-RRR`i` p`5665i`$0BP?iH i hLbe55f5f6e}Lme6u5u }`6ʈ`v`jip` ? #  ue }~ %u $ چ 0 u}` L uu  ) }Li <i@L{i$i0 p $ 1`ui` LL Lbb `}i~ei^~0] e e^`}`566i5`_cf_cfi^eub` ?^qbep`L<^ ?8b^e` rp`I` ? ㄩp^|be #^b ebbu|beiee^^iL56^f" ऩ थ (! ( ऩ थ (" ( द!LGb8Lऩ@iu +-ELj) e | ^ .' "5 1 p) iIii i)Lm` ?i $0 ׄ $0 $0 ^`Hhth`^Qb ^^ 8` `H Jh(L悈`H逨h` Hh8 Hɀjhji` HihJi(`  ~q$L ɺ b$P i pi$ȱLdjɻƟ dj 柰ީ Lihh sLg  s ! b   s "!!!+|] {n LU{HLʁIڢIڢ-(h#5ᆥ](IڢʥnH BiHɁy U{y рhɁ xhLB` vy{| g|S}dpL}Qz}c0~~D:~L̑56gh6hegehh `iɇoȘ戅 aziȅ xdo`Abi$nFn) i  j g g ^ ܇.Laz͠Lć ^ ׄ& ć ׄ ć ͠L- x |z K{ | T}{ x xnH yxn0 I B xh B Lр |  ZuL.y +|z% T}uH }h{ ~|H !z az ~hJ inIn`L~8;)q4X>Vt~w/z*|cYX ~uƀ1rP aziP | |iɈ { T}i8Huiiu x BU 瀩{h z` |] az 뀩]Laz | i8fe.șR0șRmymlylkykjyj00ڊIi i/ȄȪ)Re.șRI)ЪR0.ȩ+f.8f-RER/8 i:RRRRRR`y`'d |Ģ { &{f o0`LB ` H$ge &{h 80 '~L}H |h |zEn{iLxf d$h0Ly ef q80fL}COt#t$JZ mLKjk8 | ~Lm ^|-$nșRnȩ0iL f~ azea~ } \~ } &{e B{e yx %}ei0nihoi8傐IL|`7 z!L|iD8$n yiLyn)FjjjLyiɠ %}nnI*imLyjklm` s e-o+ smo..IE)2s S -+fh r$h8fL}fg s$gPf8ef B{f65m5l5k5n j5i`d,]WXX566 |m5 ^|l5k5n %j5i5` |m l)m |m`znth` |ht`i  y my`i n*` |jkjI*mlinLyFn`nEz0ʢiH xv5ui`uei0,iiL0y{n`nI0hhL,yLy |i{ xi` |={{ {LZ{ zL{ |8ii zivjwk xlym* 蕁24(y&x&w&v0⨥ymyxlxwkwvjvL{@jjj)(L{L<^~jklmL y56}5}} ,kk} , kklm Lٓ[ 80@ 6 2`  dkH) ojhJJJJ ojL 0:i`L<^ jHHHHHH s jhLyqhhh6h6h555_ȱ5VHHHH %L/5H6H6HH ?5^6_6_hhXhXhWLk ? % ?Џ`5566` xe5566ɂ66` s p `  zLseff z.!'$ iߪ$ 0 H8eAi\h$ P8 (Lt$ 0V` 痠U` hh R LsL  z (L[ Rީ  @Y%(&:$LU s և ^|iHn %jHkHlHK s n ZlHmH5 s iH jHH楩e ) ,LsLR eՅ7V8U #   785U6VLΔU7e778ҥU^V_bcF_hcCgDhebbc \^__`U8傅UV` |UȱU` L<^ |UUƜ0ƛ ӗWqeWȱWqei W` |8UUWȥVUX`UeUUVUO / +'L U)łiV VL LI 8U 7ȱ7 UU ЯUVULU7V8 p L LZ U qUU qUH85h688V77U U 5qUWȥ6qUX7qWWȥ8qWW ٥IiV) V LVU?e8V je?e>e8U>e5V?e665e=e@eee8 hx57 xLCx8I77JJ8 88` H dhjL YYHH dYZZ oxhhe5566ɂ逅66 wZZY L YIL=m ) s  ʊHYImm shhhhYhZhZHHE` 3YZZ xLCxl5Ym6Z78ߠȘH yxy hL3 j kqHHHH s H , ,H s s ~qhh 1 lhhXhXhWWȱW7ȱW8 eLNLXZWX ` GGH HlHmHmH khmhmhlh hk8j7k8Lޒ e7788IjJkJk )lmm'&`UR{R||L̐: / cRRȹRRȥ Rл s `Lsh sh5lh6mh6mhxhyhy x x Qȱx7ȱx88 Ƃ 7e7888ł75 楽HHȱȱ6H6H5H s =к bqhhh Lshhhh` ~R/mZlmYZ PujHkki^^`H"h{||kjkȱ{ "ie{||  V{|56|6 w&5L<^i8e` ě u8A?pB@B@ )onL܇jkL| Nsdȩ8 NsdL2Lа,L<^ A s ׫ g iq s= sXHXHWHHHH ajL? b rLiq HHH s iqhhh5ȱ6ȱLI65 g5H6 2|Hgȑgʆ5a g5ȑgȥg <^^^__ɂ逅____<;إy6 hlhm^Ȋ^LL:^ȥ5^H^h ͎el5emȆ6п  ͎e^e__ iLZe *& eegggegȱgehh Ľ ,L<^  8` ^LQ ŠhhL6 $P 訽5 ͎56ۥ 8ee L:^?be^@ce@c __^_ \__^;<<6  $Phihi^Ȋ^6h656H |mHlHkHjHiHl5 8eeghh^__` HHH H bqh hhhn0iɐ1 }L yxL%}\i FHHHHH 6hhhHHlm ,҄ shh)>=>hgh<<;[a{p ;<<ccb? @c@ube.a{bb,\(eb cc`ebcA[8饰 a{8`8\e@@He? ]@@?hbbb0 ea ȑbc8L@ @@h57Ri88 pi UŦLUUU HHHHL 2hh LW iL 2hlhkhn jhimhHɗ8 Ls`LIŚ1CUDVDVU Lŧ 0 7U L`L:^֩ ŚEĚ L| Qp QeeRee8 1  sL͙ɚʚ `pAƚЙϚŚњ˚ ̚8 悅DDF͚ Κ8 DiFEC CD)ӚDmӚDԚCBКLěŚAݚ⚠IȌ 8 ꂍ  8 ꂅJJ` ! ɃɄ b`" lJJJJYe s ˰L8Ls LԫN l@u=ekPe tMe )llNesOet NeOetMeCOeNeȌ=e>e;e ƬƫHH ,hohp` ɩCe0R`ȹR`ee?e@e ue 5e T L=e;e`Lso`n}pm aa`dyopd8isŠt`dyoopd8ip`J uv`&&&8孪孪宐橈`! @ uA?B@B 悅@=g>h>h ]=i>j>k a=g8i>hj>h 悅ki=5j>6k65 WAP /// SIG HELLO PROGRAM. UPDATED 4/12/89 DGO :#1,".D1/hello.text" ž#170 (#1;ERIN$ 2ERIN$<40F#1/P=23:=25:"PRESS ANY KEY TO CONTINUE.":G$U-Z#2,".D1/FLASHNAME.DAT":#2;FLASH$:#2%dFLASH=110: FLASh`L)i   HH `TH..TH..TH..THATS ALL, FOLKS!R`RT RT`#RT RRRRR`0R`RR 㵩:RRL㵆  ~ RR`BLOCKS FREE: BLOCKS USED: TOTAL BLOCKS: sj]"]\AjiGa@aI[5x<^sě xCxEx5eҥV{}g}gkj̐kIk~^hT}27uejewsHH st\hh H PASCODPASTXTTEXT PASDTABINARYFONT FOTO BASIC DATA WPTEXTSYSTEMRESERVRESERVCAT RPSDATRPSIDXAFDISCASMOD AFRPT SCNLIBk;eo $'>ed?eehi?e ueL5e qrL,op ɩ`et?ek;e`hZ L<^hZL<^L=ee>e ?e`opqrst !e5ehe?eLje LjeR=89R>:>:iR:RiRRiRL`8(RR(`EeFe  s bq Vml0L dMeL` bՍe :RRRiRȐȰRe9Re: J 2IHJh*=>> 95:6:6R L1 1Lԫ`L:^  aFL^R, ue 5eLڭR7>e?e5e?eJeKeLje֩ u>e?eՍ "] a a$% iLg֢   sLj$%`8f  a e ; ` s ɩ` YLILcopL7 z0xH ׫$0_ ;h8fH`aai shH2 h zJJJJf Ik ɩ` ̬ t os YLA ևLLק jWXX` ׫$`HER SUBROUTINEnSLOW=110xFLASH/2=FLASH/2):۴ =11:=07 FLASH$ SLOW FLASH:".d1/Menu.Maker"a$="Use arrow keys to move; to select; to alter Prefix$ "'12);::"80C";a$;::same320910: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-030 <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>8  80,>!"*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>> >00000>"ile"d" 2 List a Directory"n" 3 Space on Disks"x" 4 Set Prefix Name" " 5 Create a Subdirectory"" 6 Rename a File"" 7 Delete a File"" 8 Lock a File"" 9 Unlock a File"" 0 Quit":15):savescreen:re "FILEHANDLER.INV" :14)%:0,080,6:::3,277,5:::;("74c";"Apple /// File Management Program Ver 1.2".2"74c";"(C) Apple Computer, 1981, 1982"<0,080,24:=8F"Your Options are:":P=24:2):Z" 1 Copy a FTHANKS FOR SUPPORTING YOUR /// SIG! CELEBRATING 8 YEARS OF SERVICE !!! BUSINESS BASIC 1.23 AND UTILITIES 0 WELCOME! WAP /// SIG Public Domain Library Disk Category: Business Basic/3BSB-01 Disk Format: Self-booting This is a disk for the ApI=1:I=2I>2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1: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 81+LCA):::: RebootN=THPOS:B$(I);XA<8A>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+1I13000Zha$="{,|,~,}; selects; to new disk; 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),1OLUME 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$(/ WAP /// SIG MENU.MAKER PROGRAM (v. 6.1) =".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 VBut best information on programming comes from our Basic series by Taylor Pohlman (3BSB-03 through 07). On side two are two Basic programs by Robert Boston. An Auto Basic Editor and a Treesort sorting program. Both include documentation. Enjoy!ple /// Business Basic Programmer. Along with the standard version 1.23 of Business Basic, we've included many invokables and utility programs that you will find useful as you attempt to program in Business Basic. Manuals are in the WAP office. B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXT 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,1660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$=ref$,i,1))<123newpref$,i,1))>96newpref$,i,1)=newpref$,i,1))-32)::ۂ:newpref$,1)="/"newpref$=newpref$,newpref$)-1)Bnewpref$,1)<>"."newpref$,1)<>"/"newpref$="/"+newpref$=newpref$2500:"73c";"- - Create EFIX Name: ";oldpref$'"Enter new PREFIX Name: ";newpref$newpref$)>1695.newpref$)=0"{Null}":newpref$="":720(newpref$="+"newpref$=:=-1:=248newpref$;:"";newpref1$:newpref$=newpref$+newpref1$ri=1newpref$):newp"------";11);"------";18);"----";10);"----";8);"-----" Xdisks b:250(l:"73c";"- - Set Prefix Name - -";q"73c";"(Use '+' to Append to the Current Prefix.)":vœ1670:730)oldpref$=:ȡ)<1oldpref$="{Null}"':"Current PR:540ci=1name$):name$,i,1))<123name$,i,1))>96name$,i,1)=name$,i,1))-32)::ۂ  name$&250%0:"73c";"- - Disk Space - -"::=52:"Block Count"CD"Device";11);"Volume";18);"Free";10);"Used";8);"Total"CNٺ450dest$=dest$,dest$)-1)dest$=dest$+source$,b)filecopy(@source$,@dest$)2502:"73c";"- - List a Directory - -"::2);œ1670:550"Which Device? ";name$name$)=0:200.name$="="name$=:=-1:=15:name$st$=""=-3:300ci=1dest$):dest$,i,1))<123dest$,i,1))>96dest$,i,1)=dest$,i,1))-32)::ۂdest$,1)<>"$"460a=0:aa=1:b=0'a=source$,"/",aa):aaa=a+1:410b=source$)-(aa-1)(dest$="$"dest$="="dest$="":E=J(source$,1)="="source$,1)="?")source$)=11600MTsource$,source$)-1,1)="/"source$,1)="?"source$,1)="="1600^name$=source$"h"Enter Destination Filename:"8r" ('$' for same Filename.)":=-2:=29:"";dest$:|de:in$::200,:"73c";"- - Copy a File - -"::2)"œ1670:4706,"Enter S O U R C E Filename: ";29);:"";source$6source$)=0:200h@i=1source$):source$,i,1))<123source$,i,1))>96source$,i,1)=source$,i,1))-32)storescreen:=213"Enter the number of your choice: ";::" ";:&a$:a=a$)-48:a<0a>9=1:2100a280,480,560,620,740,830,960,1080,1200,240 ::: --- Let's Continuex=:=0:>20::ۚ=224"76c";"Press a key to continue.";12405l=ơ):: Routine to back up one directory level.a$=С,l-1) s=a$)a$=a$,s-1)a$,1)="/"5060:s=s-1 5030=a$240( MENU.MAKER 6.10 * Thanks to C.M.Davidson for his help!NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 level; G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE ,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=21 1600 &:WW=1:0 :SEG=1;".D1/S EG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES "JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$a Subdirectory - -":œ1670:820-"Enter name for Subdirectory: ";subname$subname$)=0:200*subname$,4250/>:"73c";"- - Rename a File - -"::2);Hœ1670:950R"Rename what file? ";name$\name$)=0:200cai=1name$):name$,i,1))<123name$,i,1))>96name$,i,1)=name$,i,1))-32)::ۂpa=0:aa=1:b=0:path$=""%za=name$,"/",aa):aaa=a+1:890aa=aa-1:aa920path$=name$,aa)S"Enter NEW file name: ";path$;:"";newname$:newname$1540:1320|250$ --- Error Message Assignments 8 --- (These are not all OFFICIAL Basic Messages.) :7);"* * * ";=5"Illegal Filename."=25"I/O Error."/=27"Destination Disk Write Protected."%=29"Bad Path Spard Copy RoutinecJ"To what Destination? ":" (File will be copied with Original Name.)":=-2:=22:"";dupl$:Tdupl$)=0=-3:300#Ydupl$)=1dupl$="="dupl$=%^dupl$,1)<>"/"dupl$=dupl$+"/"hoption$="Copy "!rpathname$=source$:)=1pathname$=:pathname$,1)="?"pathname$)=1pathname$=:inq=1N"pathname$,1)="="pathname$)>1pathname$=pathname$,pathname$)-1)T,pathname$,1)="?"pathname$)>1pathname$=pathname$,pathname$)-1):inq=16@ --- Wildc";name$Coption$="Lock "a$,2,1)<>"*"name$:inq"Lock ";name$soption$="Copy "inq"Copy ";source$;" --> ";dest$:filecopy(@source$,@dest$):ەfilecopy(@source$,@dest$) :1370 inq=04pathname$,1)="="pathname$0:1520:ۻinq1510:"File LOCKED. ";option$;"it anyway? ";:verify$:verify$:verify$="Y"verify$="y"name$:"Cancelled"::15107option$="Delete "name$:inq"Delete ";name$Foption$="Unlock "a$,2,1)="*"name$:inq"Unlock rce$=pathname$+name$,name$)-1):dest$=dupl$+name$,name$)-1)name$=pathname$+name$Kinqoption$;name$;"? ";::" ";::=-1:in$:in$:in$=27):2001inqin$<>"Y"in$<>"y""Cancelled":1370inq::250œ<>35167sks2œ1670:1520<#5,Pathname$F:ž#515205Pi=13:#5;a$:: --- toss out first three lines,Z#5;a$:name$=a$,16,15):type$=a$,3,5)-dname$,1))<65name$,1))>901510#ni=115:name$,i,1)<>" "ixname$=a$,15,i)Isou1))>96pathname$,i,1)=pathname$,i,1))-32)::ۂ3pathname$,1)<>"="pathname$,1)<>"?"12801540:1320:1310œ1670:1310( :name$=pathname$:option$;pathname$pathname$2506( --- Lock, Unlock, Delete Routine for Whole Di Unlock a File - -"::2);option$="Unlock "N"(If entire Directory, use '?' for prompting or '=' for no prompting.)":%:"Unlock what file? ";pathname$pathname$)=0:200wi=1pathname$):pathname$,i,1))<123pathname$,i,ame$,i,1))<123pathname$,i,1))>96pathname$,i,1)=pathname$,i,1))-32)::ۂ3tpathname$,1)<>"="pathname$,1)<>"?"1160~1540:1320:1190œ1670:1190(:name$=pathname$:option$;pathname$pathname$250/:"73c";"- -$ $name$.250-8:"73c";"- - Lock a File - -"::2);Boption$="Lock "NL"(If entire Directory, use '?' for prompting or '=' for no prompting.)":#V:"Lock what file? ";pathname$`pathname$)=0:200wji=1pathname$):pathn32)::ۂ3pathname$,1)<>"="pathname$,1)<>"?"10401540:1320:1070œ<>351670:1070::"File LOCKED. DELETE it anyway? ";:verify$:verify$:verify$="Y"verify$="y"name$:"Cancelled":1070(:name$=pathname$:option$;pathnamee "N"(If entire Directory, use '?' for prompting or '=' for no prompting.)":%:"Delete what file? ";pathname$pathname$)=0:200wi=1pathname$):pathname$,i,1))<123pathname$,i,1))>96pathname$,i,1)=pathname$,i,1))-)=0=-2:29);:850newname$=path$+newname$ri=1newname$):newname$,i,1))<123newname$,i,1))>96newname$,i,1)=newname$,i,1))-32)::ۂname$,newname$250/:"73c";"- - Delete a File - -"::2);option$="Deletecification.".=30"File: ";name$,"- File Not Found."=31"Path Not Found."=32"Volume not found."'=33"Duplicate File Specified."5=34"Insufficient Space on Destination Disk."=35"File Locked." =38"Illegal Operation."=39"Directory Full."-=40"Duplicate Volume Names On Line."2=255"Illegal Character in Specification."& File Already Exists. Delete old one? 8OGS S hj hjhhGhDD` `sm**tm++*(+)HL3`HhL&L^ F L{  hi01hii(0( -@,? YyL uL3x ~ȅ⭁ʌLL3˔oL̚f̚ZSjTkUlVmd< hEhFh5h66 h5ih5h66 G5HFHEH\]()st*+GL3\(])i0,.(și//*6=*>+L2ș/ML38U\*V]+ G T)L<L3 gA3/1.16v$ FILECOPY DB.)  |xvtpgfd_]PLIHGFEC<;:98631.-+('&%$#"!  ` g|utL) OŁL/8  <  < ! < L` LP `  {`d` }؈H) 0hJJJJ) 0`0.`.`.`0LZHhh `k.CONSOLE  {No Directory} ADDRESS A;ESS DEVNUM2 QVNUM2 SAVESCRE SAVESCREADDRESS DEVNUM2 RESTORES RESTORES CONOPEN FNOPEN CDEVNUM IEVNUM FILECOPY FILECOPYWDEVNUM OEVNUM CRLF ]LF DISKS DISKS CONOPEN CDEVNUM gWDEVNUM |CRLF (C) Copyright Apple Computer, Inc., 1981, 1982=8 ~}{zxwsrmljaYXLLIFFQ./!,+`".CONSOLE.*('&!A=/L`)('$#!     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::"! -: Request.Inv, Download.Inv., Filehandler.Inv., Readcrt.Inv., Upshift.Inv. -: On Side Two are: -: Two excellent Basic utility programs by Robert Boston: -: AUTOBASIC: A line editor for text files of BASIC programs (< 3,000 -: lines). -: TREESORT: RENUMBER STRING.CK On SIDE TWO AUTO.BASIC AUTO.BASIC.INFO FILESORT QUICK.NOTE SORTER TREESORT TREETEXT TREETISE two are two Basic programs by Robert Boston. An Auto Basic Editor and a Treesort sorting program. Both include documentation. Enjoyl find useful as you attempt to program in Business Basic. See the Taylor Pohoman series on Business Basic Programming if you would like to learn more! On SIDE ONE: CLEANER COMPARE.PRGS DESIGN.FONT FILE.CLEAR FILEHANDLER FIND.REPLACE QK.SORT  BUSINESS BASIC 1.23 AND UTILITIES BOOTABLE : Both Sides This is a disk for the Apple /// Business Basic Programmer. Along with the standard version 1.23 of Business Basic, we've included many invokables and utility programs that you wil WAP /// SIG PUBLIC DOMAIN LIBRARY 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-0300 DISK : 3BSB-01 CATEGORY :EAD 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"79C";"PRESS ANY KEY TO HALT LISTING"::202 1020#2,B$(I),16,B)ž#242:::1160Z=1#2;A$:"78A";A$Z=Z+1:Z>1842:::Z=1980*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"10 A sorting utility.