LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!) /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (30*SOS.KERNEL @,V!a*TAU.PD.CON -READ.ME.FIRSTz~4%SEG.T j0Ÿ/ )PRINT.ALL 0~/ *HELLO.TEXTv~4*MENU.MAKER |7(ON.3.BIBL*7*QUICK.NOTEl!**SOS.DRIVER o40Z*SOS.INTERP 4ke ! III.WAP.03.149Au' (ANDERSON8DISKNAME.DAT!FLASHNAME.DATK2)GSBASIC.10)GSBASIC.2. Y2HELLO >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L1)-984-0300 WELCOME! WAP /// SIG Public Domain Library Disk Category/Number: WAP Articles/3WAP-03 Disk Format: Self-booting Side One This CONV&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[  !"#$%&'()*+,-./0123456789:;<=>ŭ᭭򭭪𭭠򠭠頭퀠Šӳ頠𠠀𠠠堠젭ӠΠSOS NTRPRHeLZĠР쁭堠堠ՠP򠭠έ魭HER SUBROUTINEnSLOW=110xFLASH/2=FLASH/2):۴ =11:=07 FLASH$ SLOW FLASH:".d1/Menu.Maker"5 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: FLASne or "The TAU Journal." The /// SIG welcomes your contributions and suggestions for future /// SIG PD DISKS. is the third disk containing articles written by WAP /// SIG Co-Chairman Dave Ottalini. All the articles on this disk are from 1988. Most were published in the WAP Journal, but you will also find some that were originally seen in "On Three" MagaziCSTRING 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>6k6SOS KRNLb.D1/SOS.INTERPŠ̠Š.D1/SOS.DRIVERР頞 0 ) (lH'&3&'&#e'#%e'%'&"$"$#%'#%h`$eh`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` ׫$`ɥ%e,ȥ,*,- y,,,-,,,ȱ,,- yL+,ȑ,` 2"p-,-L(Ġ %>,i-i8, ȱ,%,W,pp ڠ %p`l  " ) i ?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij0 `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#"$% "$ #%%& '   ` {" & ɠ% %)  !( (" %(r(z(q( %y(a(0: %   "$%&e$'e% R % <`` LLɠ8`ΛLL渠`ǽ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ü 7)?۽۩ W٠Յ<ōōř ռV7 uM78 V榠=ü#)@5 ɐ /ݐE ) .) @L `lqhٯ޿=ϓTXIֲ̛̐~ؠIJK,-NOPQ0vt Ѷ"` ɰ Ȑ`E`Ɔ X̐8`>>5Ѷ Qܩ<`>`\ʊJJJJ ۍ۩  ˰Fȱ X̰6 0 Lɠ 0ۑۑ8ȱ`H8` ɹ $  8JJJJ8 ` ۪` H hQ)fʅ F jF jF jF &!  eװ*  ̰F湥 ƹ`Z8`@  ʰ泭ۑƳ ʐ` ʐ` ˰ ƹ Wː`ۘ . . .۪8*Jۦȱ ˦,+* ʈ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΅ƱƳ ΰҥ,J0`#$"0#`!qȱi 5H5Ƶ ǽ jh5`L2̩ƍv̥Ǎw̩ÎL%ϠƄǥLj̩۬L~̠HHh` ̐`*ѺG0?M`)J"u-- M8`۬` # ː`  = O̰)= I`JJJJѶQi Lˢ  0 ̐ `"L˦ `H8`8$$"$= O̰=`$0`#$"0`$Jۑĥ` İo!)N8`WپX0 ĥLä X0 ĥLà !"#$ Đ2@H AڰCŰrP` 3ڰ(` AڰѶ? İG8`Fە1 ռ İ ЩP߭)@N8`1@8` Aڰ񈱴ۈ)ۅƭۅ X̰ 3ڰLÍLT̥L㼠  ʰ` İK ХP8` LɐH80)N  հ)@LO ˰)0 ̐` M ­۠泭ۑƳѲƱƳ X̰ Rڰä,] Xx,f (I0јIFjFjFji```x@gŽPy+wLwԠ͠ŠԹ.D1 .D2 .D3 .D`HJJJJh)y` (2ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H hDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰ泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰ4 )ߍ) hjjjjۥ0CF = -$(L !LLL&L L-LJ٥eƦ ,L  # ` (L.L…ҥÅӭƅХDžѥL1LUȑ  i ߩLL )  札)  ҩLL` **éL0;` H ) abRcdTefVghXijSdfhj 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`Π'à̠ȈL` 8`څ  Lk%  Lk8Lu텚8嚅 L L Ld V ``  h` ک V `ۅץ  VLFx) ( :` H ) L  .P'pб0 &L:L5'8+8`0Fܢ` ř,Ř 0 8f)J DžŠƠŚ̮ÎȠ Ӡ̠Ӡ` LL#L/LL'Lgab `abBcd cdBrcadbho:ab.cݰdDcݰd8abҊ v+abcde0f`   cCȱcD C Ea  UV 1 ELUFVG FUUCVDեYCWZDXWXCUDV[ v`b0WXYZiUcȥVcWX eeYZ ggE` @SATRnpqrstuvwxyz{|}~GA7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"CUSTOM.3 )((8*,;((*,((+)((9/(p((>3  =9 :9 .(~|L|LNqooGoDDDcc0ccpc]]c"QM"|@@pAATT**| numbers, this program will permit a screen text printout whenever a keyboard input is allowed. Use the KEYPAD NUMBERS for this command. You will see a letter at the upper right screen position indicating your selection. Except for programs which have redefined the use of the keypadkmen to your printer. Use Control-1 to request screen text printout. Control-2 will toggle from normal to condensed size print. (if you have an Apple DMP) A QUICK NOTE: Included with your SOS.Driver file is the Attach.Driver. An explanation of how to use it follows: The "ATTACH" Driver will let you send a copy of what you see on the scre  )* 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 dda `Q8STRQ ST`c\ȱc]a  b 5DU e\^e]_ ^_ ^_LH8\^]_?Je\^e]_,78\^]_ ^ݰ_ ^_LH^_ $bL@A^_aoQ*@A RQL@A `T8`RLSJTKQHIQiHiIKNJ)M8逅OPOPHMIN'a MHNILHOIPaOHPI8JHFKIGFGaHMINNMʆSTL8HSITQQST>> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>xrL ==L: ,lCL <=L: <,n)LL8 L8 u:L8 ;)ߍ;j`; ;j`uBL8 uCL8 u)u;) u;L8    x) `(,  LuL-upp<`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̰BTVSPLH   5"ʘ HH` (# (=  0`)aI88  >!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>0# #0~$ <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>> <Le Le ,g0L HH`! ( 9EKQWbmz`(" ((è%È`2ȭ3`1`d`c`+È`&È` & IMk`4`5`6`7`8`9`<ȭ=` & @jI`:ȭpȭqé,i0L È`,g HH`LL! l      5  Hdcefh&+si  M0   h) `(" (  (È& 8  `)2ȱÍ3`)1`Ɂ" (cefd`Hc HH`! (`ɖ" (èÈ``,t0L4 HH`L  d!  `ɖ" ( dÈ  ``,t0L4 d0Cս30. , V  @„ȄL5/((((PPPP @``` @@@@`xp<@ @ :H9H` (# ( -l..PcJt`,t$ ( t`tL4`,t0L4www """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww(C) 1980 Apple Computer (+@EIR[ty} NQ9Copyright (C) 1983 Apple Computer, Inc. Graphics Driver..GRAFIX b """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwww     ! ( 0 7 I N S _  . G R Y f {    ! $ 4 9 F I P S V \ a h m p s x |     ' + < ? D G N U f k p x ?BEJMRUX]`h  2;AGMS[fot|              . 3 6 9 < ? B E H N S V \ _ b w  KORY\aelpu !$(+.147<?BFILORUX]`finsw| !%*/369<+;CNU\eh "*-036<BLORX_fj &+38;?DGLTot <?BGLQgjox',/25:BG̑ʈ0 Ցʭr̈A萠L: ֦ڱΑ0Б֤ h L  p,:0 JfiΥiώJe΅Хiю@ B $p̑бʑΈ0 Б̱ΑʈeمΐeمАA萿 :  `ʝ"`t  !#%')L: 8p,:Jf׮@$PA B $P@/A'ʤ˅΄ϥ̤ͅЄ B $̑бʑΈ0Ƞ h L: $)טɀIim>ٮ@8pذ `$0"8,:Jک@ׅפ؈۩MjL,:08*Ȅ B ,:J}΅н(I I $0;P̑бʑΈ,:JՐrx 0, )ߍ:) J)*PR,T,V( : `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< B h A$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 } `,`ʝ`))ժuvЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mwwxix 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL re. Despite suffering through reduced renewals and a change in editors (Lynn Denicola left and was replaced by Paula Sheppard) (and as we entered 1988, Sheppard left to be replaced by Olaf G. Wolff), On Three continued to offer its readersuter and the only company that still continued to sponsor major programming efforts on behalf of the ///. On Three also ported over its most successful product, the Desktop Manger to the //GS, a move that will accelerate with other products in the futu A 1987 Bibliography of On Three By David Ottalini 1987 was, in many ways, a benchmark year for On Three. It became the only monthly commercial magazine (in fact, the only commercial magazine period) devoted exclusively to the Apple /// compϤҐ мφi`Jf`<,&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/epɀjff&ݥeepɀjffݠ %)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #i,$0F y բӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥe륅eٍeڍ808٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ й` m j`Hآ Hӭԭ h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭ V 8fxL@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ϭPh0 йPL)`)L` L``  `L` H , 8 V ТΕLϦI ] +)J* g I`LL) @L) L8``Lթ`~L8L)  =H 'HH N M))Mhh0 }LO}~~Șݻ~`}}~L< L }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  & a wide range of articles by a number of authors. And, for the most part, the articles published in the magazine were excellent. The continuing series of columns by Richard and Lavona Rann remain my favorites. And their series for new Business Basic programmers was excellent as well. Al Bloom, Ed Gooding, Earl Brelje and many others, listed below, all made important contributions. I especially enjoyed those articles by some guy in Maryland named Ottalini... 1987's listing,8 Aug 17-19 Column R09 Ranntings Rann/Rann 9 Sep 17-19 Column R10 Ranntings Rann/Rann 10 Oct 17-19 Column R11 Ranntings olumn R06 Ranntings Rann/Rann 6 June 17-18 Column R07 Ranntings Rann/Rann 7 July 15-17 Column R08 Ranntings Rann/Rann Ranntings Rann/Rann 3 Mar 19-20 Column R04 Ranntings Rann/Rann 4 Apr 23-24 Column R05 Ranntings Rann/Rann 5 May 17-18 CSauce Denicola 4 Apr 3 Column R01 Ranntings Rann/Rann 1 Jan 15 Column R02 Ranntings Rann/Rann 2 Feb 31 Column R03 Denicola 1 Jan 3+ Column D02 Apple.Sauce Denicola 2 Feb 3+ Column D03 Apple.Sauce Denicola 3 Mar 3 Column D04 Apple. 1 Jan 4-6 Column CH01 Ask Doc Christenson Christenson 12 Dec 27-28 Column C01 Block_Write Consorti 2 Feb 4+ Column D01 Apple.Sauce 7-11+ Beginner Basics 08 The Beginning /// Rann/Rann 8 Aug 5-8 Beginner Basics 09 The Beginning /// Rann/Rann 9 Sep 5-8+ Bibliography An On Three Bibliography Ottalini asics 05 The Beginning /// Rann/Rann 5 May 5-10 Beginner Basics 06 The Beginning /// Rann/Rann 6 June 5-10 Beginner Basics 07 The Beginning /// Rann/Rann 7 JulyBeginning /// Rann/Rann 2 Feb 17-13 Beginner Basics 03 The Beginning /// Rann/Rann 3 Mar 11-15 Beginner Basics 04 The Beginning /// Rann/Rann 4 Apr 5-8+ Beginner B Gauger 8 Aug 31 BB Programs 04 Two Short - Fini! Ottalini 12 Dec 9-10 Beginner Basics 01 The Beginning /// Rann/Rann 1 Jan 13-14 Beginner Basics 02 The 2 Feb 14-15 BB Programs 01 Two Shorts - Fini! Barland 1 Jan 11+ BB Programs 02 Three Shorts - Fini! Puckett 2 Feb 18-19 BB Programs 03 Two Shorts - Fini! 11-13 Basic Program Recipe for a Menu Barton 7 July 23-26 Basic Word Processor Kidword /// Ottalini 11 Nov 9-10 BB Game Magic Smith --------- ------------------------ ------ -- ---- ----- Basic and Pascal From BASIC to Pascal Bloom 3 Mar 21-23 Basic Program Text File Manager Soling 4 Apr like previous listings, is sorted based on subject. This bibliography will be part of an update to my ThreeWorks disks expected later this year. SUBJECT TITLE AUTHOR IS MON PGS ------------Rann/Rann 11 Nov 17-19+ Column R12 Ranntings Rann/Rann 12 Dec 17-19 Column S01 Apple.Sauce Sheppard 5 May 3-4 Column S02 Apple.Sauce Sheppard 6 June 3 Column S03 Apple.Sauce Sheppard 7 July 3 Column S04 Apple.Sauce Sheppard 8 Aug 3 Column S04 9 Sep 24 News S05 Apple.Slices Sheppard 10 Oct 25 News S06 Apple.Slices Sheppard 11 Nov 31 Print Utility Epson Graphics Consor 29-31 News S01 Apple.Slices Sheppard 7 July 5 News S02 Apple.Slices Sheppard 8 Aug 23 News S03 Apple.Slices Sheppard One, Two, /// Forum Sheppard 10 Oct 27-31 Letters 11 One, Two, /// Forum Sheppard 11 Nov 27-29 Letters 12 One, Two, /// Forum Sheppard 12 Dec wo, /// Forum Sheppard 7 July 27-29 Letters 08 One, Two, /// Forum Sheppard 8 Aug 27-30 Letters 09 One, Two, /// Forum Sheppard 9 Sep 27-31 Letters 10 Denicola 4 Apr 27-31 Letters 05 One, Two, /// Forum Sheppard 5 May 29-30 Letters 06 One, Two, /// Forum Sheppard 6 June 29-31 Letters 07 One, T 1 Jan 26 Letters 02 One, Two, /// Forum Denicola 2 Feb 25-30 Letters 03 One, Two, /// Forum Denicola 3 Mar 25-32 Letters 04 One, Two, /// Forum 13 Glossary 02 Glossary of Terms Thompson 8 Aug 13-15 Glossary 03 Glossary of Terms Thompson 9 Sep 25+ Letters 01 One, Two, /// Forum Denicola Spreadsheets, Formulas Lomartire 9 Sep 21-24 Game Program Cross Smith 1 Jan 7-8 Glossary 01 Glossary of Terms Thompson 7 July ee E-Z Pieces Graham 10 Oct 5-8 EZP Tutorial 02 Three EZ Pieces Graham 11 Nov 5-7+ EZP Tutorial 03 Three E-Z Pieces Graham 12 Dec 5-8 Formulas Turner 2 Feb 5-6 Dvorak Dvorak Keyboard Fitzmaurice 5 May 15-16 Epson Upgrade Printer Upgrade Brelje 4 Apr 15 EZP Tutorial 01 Thr 11 Nov 21-22 DTM Module Warning Brelje 3 Mar 7-10 DTM Module PKASO/U Command Module Brelje 4 Apr 18-21 DTM Program Reload and Exit 21-25 Desktop Manager The Updated Desktop Brelje 9 Sep 9 Desktop Toolkit Toolkit Brelje 11 Nov 11-15 Drivers Driver Versions Ottalini S07 Apple.Sauce Sheppard 12 Dec 3 Copyright Copyright Protection Cortopassi 5 May 11-13 Data Bases 01 Data Base /// Fritz 12 Dec Apple.Sauce Sheppard 9 Sep 3+ Column S05 Apple.Sauce Sheppard 10 Oct 3-4 Column S06 Apple.Sauce Sheppard 11 Nov 3+ Column ti 6 June 25-28 Printer Utility DMP-Imagewriter Consorti 5 May 23-28 Programmers Q&A 01 Programmers' Paradise Consorti 10 Oct 21-22 Review The Unprotect Driver Ottalini 1 Jan 9 Review Copy /// Gooding 4 Apr 25-26 Review Think Tank Fritz 6 June 11-14 Review displayed properly by Menu.Maker.  I am not a hacker or heavy programmer type, but was able to write this program (called PD.CON) in only a few hours (off and on over a week's time or so). It is fairly straightforward and will automatically load pain to edit these pieces for use on the SIG's PD disks. The answer? Trusty old Word Processing Language (WPL) and AppleWriter. WPL gives me, as the editor, a quick and easy ability to load and format an ASCII text file automatically, so that it can becolumns and must have a character at the end (for a total of 78).  Since most folks typing articles, manuals, etc. DON'T care to hit the key after typing in each line (or keep track of how many columns are used), it becomes a real tor for the user to read. The fact that it does it using Business Basic is no surprise. But preparing the text files to begin with, so that Menu.Maker can read them properly can create big headaches. To work properly, each line can be no longer than 77 FORMATTING PUBLIC DOMAIN ASCII TEXT FILES By David Ottalini WAP /// SIG Co-Chairman The Washington Apple Pi /// SIG's Menu.Maker program (included on all of our PD disks) can, among other things read ASCII text files and send them to the moni 10 Oct 23-24 Program Version Update Ottalini 10 Oct 23-24 10 Oct 23-24 Tutorial Joystick /// Gooding 8 Aug 21-22 Versions Program Version Update Ottalini mmunications Hendricks 4 Apr 9-10 Tutorial 256K RAM Upgrade Gooding 7 July 19-21 Tutorial Joystick /// Gooding 8 Aug 21-22 Versions ooding 2 Feb 20-24 Sort Program An Improved Sort Teel 1 Jan 10+ Sun Systems Remarketing Interview with Bob Cook Ottalini 3 Mar 17-18 Telecommunications /// Teleco May 19-22 Review DC02 Data Capture /// Gooding 6 June 21-24 Review DTM01 The Desktop Manager Gooding 1 Jan 19-24 Review DTM02 The Desktop Manager Gview 01 TCM, XModem Unveiled Gooding 9 Sep 11-13 Review 02 TCM, XMODEM Matchup Gooding 10 Oct 9-14 Review DC01 Data Capture /// Gooding 5 MatchPoint McNeese 8 Aug 25-26 Review Super Desktop Brelje 8 Aug 9-12 Review Super Disk No. 2 Martin 12 Dec 11-15 Rea file, format it properly, print it to disk, then save it back to the original file before resetting the system. The program makes use of a RAM disk for speed, but could easily be used with any Apple /// drive. It also has a rather dangerous feature, allowing the user to strip all control characters first before formatting. This is useful in some cases for me, but you may want to delete it. The end result can be rather surprising if you are not careful!  I would also suggest you try this out oB$(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:CA)"PRINT.ALL": OA+P 3HA=(81+UCA)A=(81+LCA):::: OA+Q Quits 3IA=(83+LCA)A=(83+UCA)"PRINT.SHOW": OA+S 2JA=(68+LCA)A=(68+UCA)/Screen.Savers/HELLON=THPOS:B$(I);XA<8A>11540bA-7640,660,690,720l:=THPOS:ٺ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$=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; 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),VOLUME 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 ========================= PPR PD Format Conversion Program PPR================================================================== PPR P Create an empty file in RAM, to receive the formatted file. The program itself looks like this: PD.LOAD P PD.CON by Dave Ottalini; WAP /// SIG P UPDATED 5/22/88 PND P Load the Print/Program file. QCPD START1 PPR NY PPR=========================================n a copy of your file (at least at first), to see how things turn out (again, sometimes there are surprises if the Print/Program file isn't set up quite right at first). It's also a good way to compare the "Before" and "After" results PD.CON produces. 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),"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,is way: 1985 was a critical year for the /// and one when, at least early on there seemed to be few contact points for products and support. We tended to step into that gap and arrange with wavering developers and manufacturers to confimachine. His was one of only a small handful of companies that bothered to continue supporting the ///, and in fact bothered to ADD to the products being offered so that we could keep up with the "newer" machines. He describes his companies early days th The Legacy of Daryl Anderson and D.A. Datasystems By David Ottalini /// SIG Co-Chairman Apple /// users owe a lot to Daryl Anderson, a young man whose interest in our computer never wavered even though Apple discontinued making our wonderful JOIN OTHER WAP /// SIG MEMBERS ON THE TCS! INTERNET ACCESS AVAILABLE NOW! WASHINGTON APPLE PI PD DISK l; 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 leve 1600 &:WW=1:0 :SEG=1;".D1/SEG.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:"7M$="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":1750gure and offer their products to the /// market. Working with a few other small companies and supported by a word-of-mouth network, user groups, and the very timely /// Newsletter (which grew up to become the /// Magazine), we all made it thru '85 and expanded the locus of action enough to convince a handful of other better-capitalized companies into or back into the /// market. Some of the products included a unique way of hooking up an IBM co-processor to the /// usi QuikCalc Calculator. FontLoad Font switcher. Moduload Dynamic modula loader. QuikCrpt File encryptor/encoder. FileScan File viewer. FileDump File hex dumper. TypwTime display current system date & time at the touch of a key. AsciTbl shows a table of Ascii character values as well as current system font. Dialer Phone dialer. ry at any time. PrintMgr send complex 'setup' codes to your printer at any time. DiskMgr format floppy disks and copy files right in the middle of any other program. Shon by their program. QuikScrn print a copy of the current text screen on your printer or send it to a disk file. QuikCat list the directory of files on a disk or other subdirecto alter and view small "scratchpad" files at any time. QuikDial allows modem owners to dial a telephone directly from the keyboard or from a number displayed on the screed PWRKEYS.MODULES for details. POWERKEYS MODULES All are available as "background desktop utilities" at the touch of a key while running any Apple /// Program and they include (this is a partial list): NotePad edit, load, save,ut additional and useful functions at your fingertips while running any other program. These modules currently include NotePad, QuikDial, QuikCat, ShowTime, PrintMgr, AsciTbl, QuikScrn and DiskMgr. See the individual files in the subdirectory nameequently typed characters such as product names, programming keywords, or anything you waste half your day typing over and over and over and... In addition Power Keys DM+ itself can manage a growing collection of 'desktop utility' modules which pescriptions by the developer himself: POWER KEYS Power Keys DM+ is a program which runs in conjunction with ANY other Apple /// program and allows you to substitute single keystroke shorthand or 'macro' commands for more lengthy sequences of frmore than a year, including this one). That led to Daryl's decision last month to place all his software programs into the public domain. What are some of the products that will soon be going into the public domain? Here's a list, with edited din early 1987 (the last issue of The Three Magazine came out in February, 1987), Anderson was left without any major royalties (Pair continues selling its products even now despite numerous business problems but has NOT paid royalties to its developers in As family and other pressures mounted (including a decision to return to school), Daryl decided to sell many of his software products though Pair Software (Frank Moore) as well as through TAU, the Third Apple Users Group. But when Pair went bankrupt ware programs (see below) include Power Keys, and the Tools Times Three productivity tools. He even came up with a way to improve the Titan ///+// and //e Ram drives and was working on a way to let you enter the //e em mode from Selector or Catalyst. ng CP/M as the bridge. He became a distributor for the Omnis /// Data Base program and improved its technical help greatly, and he fixed the Legend "S" 1 MB card so that it would work in the Apple ///. Daryl is also a master programmer whose softeRite Printer/typewriter. LockOut Prevents computer use by non-authorized person. TOOLS TIMES THREE All these programs run under Business Basic! The Retriever deleted file recovery utility Power Cat disk and file librarian Power Print software printer buffer Basic GTO partial compiler and program accelerator Basic XRF program variable cross-referencer Basic Utiram used for PD development. DESCRIPTION: On Side Two: WAP.01JANUARY :New products discussed: SOS Driver Optimizer & Graphics crd. WAP.02FEBRUARY :New PD disks discussed; Future disks;WPL pgm "PD.CON". WAP.03MARCH :D.A. Datasystems puts programs irom 1988. One Side One: ANDERSON :The Legacy of Daryl Anderson (placed pgms into the PD) GSBASIC.1 :Taylor Pohlman on GS Basic GSBASIC.2 :Taylor Pohlman on GS Basic ON.3.BIB :Bibliography of On Three for 1987. TAU.PD.CON :Article detailing WPL prog WAP /// SIG PD LIBRARY PDS NAME: Best of Ottalini: Disk 03 DISK ID#: 3INF-14 BOOTABLE? Side One The third in a series of disks containing the articles of the WAP /// SIG Co-Chairman Dave Ottalini and other selected authors. Articles on this disk are f a desktop utility is and how much more productive it can make the ///. If you would like to write to Daryl, his address is: 3792 Windover Drive, Hamburg, NY 14075. 5. the Desktop Manager, a product similar to Power Keys. DTM is a more sophisticated program that has a more professional on-screen look than Power Keys. But for many /// users, it will be hard not to resist at least trying Power Keys to get a feel for what in seeing. If any of you have any of these programs and would like to donate a copy for the PD and our back-up program library, please also let me know. I'm not sure what impact this action will have on another /// vendor, On Three, which offers future from TAU, SUN Systems, Apple Users Group International and probably a few other groups as well. We will also offer some of the programs, but given the great number, will be more selective. Let me or Tom know which ones you would be most interested speedup via ramdisk Remote /// Control /// via remote dialup As I mentioned in the Trail article, these programs will be uploaded to MAUG on CompuServe using the XMODEM/Binary 2 protocol and will also be available in the Allows running PCPI CPM from Catalyst LEGEND++ Autoboot 1 meg ramdisk for Legend card TWO-N-FRO /// Run 3+2 emulation from Selector/Catalyst Kache+3 Disk cachingile examiner Anderson also plans to put many other programs into the Public Domain including: PC-COPY IBM/Apple file xfer (req. hardware) RAM+3 Enahnced Titan 3+2 Ramdisks PCPI++ ls system utilities in Basic Basic XT language extensions including QuikSort Source Window full-featured dis-assembler Disk Window disk block editor Data Window fnto the public domain. WAP.04APRIL :Has Frank Moore Returned?; More news from Lt. Sykora. WAP.05MAY :More Public Domain Disks; /// SIG's New Helper. WAP.06JUNE :ThreeWorks update; Apple /// News. WAP.07JULY :Sykora Software Update; On Three News; Sun Remarketing. WAP.08AUGUST :Menu.Maker Continued; Menu.Maker Take Two; New PD Disk. WAP.09SEPTEMBER :More On Three News; Sykora Software; July SIG Meeting. WAP.10OCTOBER :Apple /// News; Another Graphics Board; Music MIDI Driver. WAP.11Np Q%Q̑`pPIE1pΦ#$01ʐ1`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJ LP \LD$7߭$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0(L%τ`ϩE҅0Ȅ(fL% ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ!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 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!OVEMBER :Where Do I Find Parts For My Apple ///? WAP.12DECEMBER :History of the WAP /// SIG; /// SIG Christmas List. Music MIDI Driver. WAP.11NOVEMBER :Where Do I Find Parts For My Apple ///? WAP.12DECEMBER :History of the WAP /// SIG; /// SIG ChriJ) ܭL FܪJJJJ)`'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruz/47=G\x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}ple /// Business Basic programs over pretty much straight as they are through utilizing the full facilities of the system. There are no real limitations to the ToolKit and the tools that you can get to, in the GS. Everything from SoundManager to you nameith others given during Phase /// will soon be issued as a WAP /// SIG PD disk). We believe that GS BASIC is going to provide an environment to do any sort of software you want in a GS environment. Everything from converting your Applesoft and Ap APPLE'S TAYLOR POHLMAN ON GS BASIC: Part 1 Transcribed by John Lomartire Edited by Dave Ottalini (The following transcription is taken from a seminar given by Taylor Pohlman at the October, 1987 Phase /// Conference in Chicago. This seminar, along wT$=N$,E,1):T$=" "T$=","610XE=E+1:E>N$)610:590bD$=N$,S,E-S)l:v:E>S+1600:D$="": œ770P=3:"Looking for ";34);D$;34);" directory." #1,D$=P3:"Reading from ";34);D$;34);" directory." I>X200300S=1:D=1:B=1570D$=""500 Y=X:S=ED$(D)=D$:640 X=Y440D=D+1:S=E:440D=D-1:X=0F$(X):X=0 J=1D D$=D$(J)790&J0 :œ6303DE=S+1:N$,S,1)=" "N$,S,1)=","S=S+1:580%Nž#2390 ^1000c: h#2;a$ma$rY=1150:Y0wB=B+1: Count the number of lines printed xB=15B=30355yB=60#3;12)zB=60B=1 {#3;a$|360B<=20#3;13)::410#3;12):Z=11000:ZI I=3d: PRINTER V. 1.0 ::=2::"PRINT.ALL v. 1.0":3=4:"Directory Name(s) or return to quit: ";n$N$)=0::"MENU.MAKER"430 X>0260I=11000:I:200: ,I=1X 14000 6#2,F$(I)@#3,".PRINTER" J    ) . 6 = J P S X [    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{%(-47=FMUX\_jmz  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~ it, and new tools as they appear, are ready to interface. Let me give you a little background about GS BASIC. First, I left Apple for a while back in the Fall of 1982. I started a couple of companies and had a lot of fun. Then (Apple's) Dan Cochrane (came to me and) said Apple needed a manager of languages and utilities parts management. He told me about the new Apple //GS. Cocrane said there were a couple of guys who still remembered assembly language but everybody was really hot on along with me today, and for 50 dollars, you can actually have one of your very own. What Apple will exactly do in shipping this product, if it is ever actually shipped officially from Apple, I don't know. We are committed at least to do one more beta v." We cooked up a language specification...(and) we came up with, we think...an outstanding version of the language. I'm happy to say today that the beta-4 version of that is now in APDA's hands, they are shipping it. I brought some data sheetsds compatibility. We want Business Basic programs by and large to run unchanged and to tap all of that market and tap all of those people who have that kind of expertise, but on the other hand we want to let them at the machine so they can do applicationsnt. That's how David Ives became the sort of quasi product manager working for Cochrane on the project. We all sat down and said, "Now what kind of BASIC do we really want for the GS, given the fact that we want to be sure that we've got backwar and useful, it really wasn't what the machine wanted. I'm a firm believer that languages are only good if they let you at the machine. So we sat down and really started thinking. At that point we started working very heavily with Apple Product Managemewe did a port pretty quickly. We started in July and by September we were actually demonstrating Business Basic programs running on the GS with a little bit of extension like larger memory and so forth. But it was clear that although that was interestingo was Apple's old lawyer that did the patent trade mark stuff, fought the Franklin and Comb wars, and all that stuff. The three of us got together and went off to do it. It became pretty apparent when we got into it that we could do it. In fact of the early Business Basic stuff. I dragged John out of the garage and I told him we've got a chance from Cochrane to get the source to Business Basic and convert it. He liked the idea, so I put him together with my partner at the time, Dan Winslow, whohn Arkleys used to work for me at Apple. John was now doing some consulting, working with FORTH company. He had put out some wonderful prograns pretty much on his own in a garage behind his house. I managed to find John. John actually worked on a lotnd of in that second category. I sort of know how and have sort of done it but that's the last thing I'd do for a living, so I said, "I've got to get someone who knows what they're doing." Once upon a time, a long time ago (in 1979), a guy named J thing out the door. I thought that sounded like a pretty neat idea. How many people here have programmed in assembly language? OK. How many people didn't raise your hand because you really do know how but you're afraid someone might ask you to? I'm kidid. I said to Dan, "No way does that make any sense." So Dan said he'd work something out. (What he worked out was) he gave me the source code to Business Basic (to convert over) and said once I got it going, he'd help figure out how to get thejoined Apple and looked at Applesoft after having programmed on an HP and other kinds of mainframes, I refused to write code in that language until they fixed it. When Business Basic came out, I had a language I could write programs in, and that's what I C. There's not going to be a Pascal apparently for the machine. Nobody is going to do BASIC, except Applesoft would be put in ROM so that the old programs could go on. I said, "You're kidding!" Pardon me for offending anybody, but in 1979 when I first ersion through Apple which is going to make some internal changes as soon as it comes up. But the language as it stands right now is set. We know what it does and that's really what I want to spend some time with you about today. What is this new language and what kind of impact will it have on people who want to develop things for the GS, either quickly or spend a little bit of time doing something really fancy? And also, those of you that program in assembly language, I want to talk a little btures. You can now also have an EXEC startup as well as an HELLO startup. It's possible to start up an EXEC file at boot time which is pretty handy if you're doing serious business applications. There are a lot of commands and a lot of language fram file it will automatically launch the interpreter for you and boot the application. In fact, at this time we don't even have the standard HELLO-type program interface. But we revamped the Business Basic EXEC capabilities and a lot of these feathat make the command line interpreter in GS BASIC a very friendly way to work the operating system. Much nicer than standard ProDos usage. The language is also fully compatible with the FINDER so we can launch BASIC applications. By clicking on the progroDos at least. We built an interface up so it looks a lot more like SOS in ProDos from the standpoint of usage. We added a lot of new features in the command language, for example a COPY command, a built-in RENUMBER, a number of other utilities es (as well as the) INVOKE and PERFORM interface. We support .CONSOLE, .PRINTER, and all sorts of character-oriented IO devices so you can do the redirection you know and love. That way, you are able to go to printer or go to disk, within the limits of Psion at the Phase /// Conference (October, 1987) in Chicago.) GS BASICS We tried our best to be backwards compatible with Apple /// Business Basic. In that regard we support all the key features of that language including the data file structur APPLE'S TAYLOR POHLMAN AND GS BASIC: PART 2 Transcribed by John Lomartire Edited by Dave Ottalini (This is the second of two articles detailing GS Basic by one of its developers at Apple Computer, Taylor Pohlman. His comments were made during a sesive you more of an opportunity to do high quality invokables for the GS with this product. This product is even better. Next month: GS Basic Internals ls ble module interface, if you remember from the ///, presented product opportunities for assembly language programmers to fill routines that were useful to a large body of programmers. The way we've done the interface to assembly in this product will also g annotation of assembly language in GS BASIC and therefore we think it's the right place to turn this stuff loose in that system. If you want to do the easy part in BASIC, the hard part in assembly, it's an ideal environment. Besides, the invokait about how GS BASIC, for me, presents one of the finest platforms in assembly language development that's around. Those of you who did assembly on the Apple ///, let's say, using the invokable module will find an incredibly similar but far more powerfuleatures that parallel Business Basic. We continue to support 64 bit integer type, for instance, scale function and all the rest of the stuff for math. We've considerably enhanced the numerics environment by putting in a number of new data types. We support, for instance, a 32 bit integer type which enables you to deal with pointers directly and makes a much nicer interface to the rest of the system, not to mention the fact that a lot of arithmetic, integer arithmetic, now works. We also integra. PEEK and POKE are back in the language. Actually you can assassinate me for that. I had PEEKs and POKEs ripped out of Business BASIC on the theory that the first invokables that anyone would write would be PEEK and POKE invokables. Sure enoughenter into the memory. We have an extended PEEK which basically lets you (instead of PEEKing one byte at a time you can) PEEK a type or you can PEEK a structure. Your ability in BASIC itself begets you other kinds of data and manipulates them a lot nicer PUT in Microsoft BASIC, basically allows you to store any kind of structure including strings or numeric type into structured arrays in various spots. It gives you a general idea, like bit maps for instance, because you can declare a structured array to five line program which sucks an entire disk into memory and spits it out on another one. You can structure arrays. It's kind of cute. This is pretty fast too. The idea of the structured data type and a command called SET you have like the old GET and is we've removed some of the old Apple /// limits. Arrays can now be 4 megabytes in size. You can have as many of these as you have memory. That's handy because with block file access to the disk you can then have a COPY command. You can write about a, there's one other data type in the language you assembly guys will enjoy and actually almost anybody else, too, which is a concept called "structure" that is basically an unsigned byte array. One of the important things about arrays in GS BASIChis basically with all the same tools inside the GS. We also, internally at least, support the full 80 bit extended type. So you can store and restore that in expressions and do comparisons (but there's not an extended type in the language). In additionession evaluator. The other thing we've done is data types. I already said we implemented the different integer types. We implemented 32 bit floating point arithmetic. We have a 64 bit floating point type so you get the accuracy. You deal with twe have to. So any complex expression will be evaluated at the lowest common denominator or arithmetic until it's time to pump up. We actually started calling that degenerative arithmetic but it's sort of the opposite. Actually it's sort of a smart exprugh not a lot of people knew that because the system first converted the integer to floating point and then did the calculation and converted it back to an integer. In this expression evaluator we don't drop into 32 bit integer or in floating point until oops execute six times faster if they are integer than if they're floating point. That makes a significant difference compared to the performance on the /// in that mode. In fact, on the /// you paid a performance penalty for using integer, althonteger math pack in the GS. It's extremely quick. We also tokenize this function now at entry time, so constants don't have to slow the machine down. In fact, you get a real payoff in this machine for using the integer type. For/Next lone in a very clever way. In expression evaluation now, in the language, we maintain a concept called the "type of the expression". That means that if you're doing integer expression with just small numbers, say small scale constants, it's going in the ited the math in such a way that you don't have to worry about real-long integer types being compatible. Now complete mixed mode operations work. The MOD function works everywhere. We built the whole numerics environment on top of SANE. I think it was d that is what you did. The second thing was I really wanted to encourage --- the Apple /// and the GS like it --- are very complex machines. You kid yourself if you think you can PEEK something and expect that value to be worth anything, except maybe at zero page, for any length of time. In particular in GS BASIC implements, it's very comfortable within the memory management structure of GS. That means, for example, there's a program segment, several data segments, anything else it uses, memory segmentsnew concept we introduced in this language. TDF file, or ToolBox Definition File, enables BASIC to know what the structure of a CALLing mechanism is for Tools. And there are TDF files available for all the currently available tools. What that doeer spelled out or simply underlined. So if you want to write programs that actually look like you see them in the ToolBox reference, you can do that. We support parameter passing and there is a mechanism through something called the TDF file, which is a aware. We mentioned just a minute ago access to the ToolBox and ROM. Basically what we've done there is extended the concept of PERFORM which was the old way to get to results of the module, through a new service called CALL. And CALL can be eithtly. By building a sort of SOS-like character file interface on top of it, we've been able to convert programs a lot easier than you would if they had to say, "Oh my gosh, now I have to deal with ProDos" which is sort of a different animal, as we are all . In fact, this is one of the ways Taskmaster works. I'll talk about that in a minute when I get to access to the ROMs and tools. Basically we've taken Business BASIC and in the area of data type and access to memory and so forth, extended it significanto do with Business BASIC but couldn't. In fact, you can even call the interpreter, ask it to find a particular line number for you and execute that line and then go back to the assembly language routine. That's fairly good control back and forthhat you needed), GS BASIC has a complete set of entry points and a well documented zero page. You can call the floating point accumulator, call the math pack, you can do the kind of invokable, for example, from matrix arithmetic that people really wanted g string-like arrays if you want to do that construct and quickly convert back and forth. And for people who need access to the system (if you remember Business BASIC had a few short hooks that let you get out from assembly language and find some things t Anyway, I think you will enjoy the "Structure" type and it does give a nice interface to some of the other capabilities. We did not expand the string pool. It's still 64K, maximum number of strings available, but there are structures for storinhandle using a string parameter. To do that, we do all the fix-up between what the ROM knows about strings and what we know about strings and what BASIC knows about strings. There's quite a bit of work in there to make sure that all that, sort of fuses. uctures. In using the structure type we can basically map onto other kinds of string structures. That means you can CALL the ROMs like they ought to be CALLed using automatic interface. In fact, invokables now are truly string quantities, which you can t believe anything you hear. Particularly don't use any value more than a few microseconds at a time. Yea, there's PEEK and POKE in the language. Particularly there's also support for C strings, Pascal strings, and other kinds of string-based strwith the memory manager. That means that there's no way to predict where a particular program is going to be because it can get moved around. So we have this giant disclaimer in the thing that says, well you can do PEEKs and POKEs if you like it but don', as opposed to grabbing the machine like Business BASIC did. That means for example, when there's an ability to run multiple applications in memory, we can mix. In fact, it enables us to run multiple COPY's in GS BASIC. So we had to cooperate s is allow BASIC to know what the parameter list looks like, what the types are, so it can check your CALLs to the ToolBox and it can also fix up the parameters in such a way that the ToolBox gets the proper stuff it is expecting. And that interface, basically, allows us to support any tool as it comes out with proper tools and direct ROM. And we CALL the Tools Locator and do all the right stuff so we're compatible in that environment. We use that same mechanism in the capabilities of the H & W Assemblert be interested in, in that light. One is, ON-BREAK is the CONTROL-C disabler. You can build exceptions on BREAK and you can do BREAK-ON and BREAK-OFF. CONTROL-C now interrupts an input statement without you're having to press the carriage return and aldocument it in the BASIC manual. We just tell you that this stuff exists and go there to find out the definitions. All these things are available. In fact, notice another thing too. ON-BREAK/NO TRACE can go to shutdown. Couple of things you might information is in TDF. So once we do that you can begin to use those ToolBox CALLs as if they were just new parts of the BASIC syntax. The GS Tool Members Guide is an indispensable tool honestly in writing this kind of stuff, because we don't y of all these entry points. Once those entry points to tools are defined (notice the "Dispose All Desks", "Start Up Window", "Start Up and Refresh Desktop"), you use those names. The names are present in the TDF files, and how to CALL that tool, all thamand. That's our way of loading into memory the ToolBox Definition File. Libraries allow you generalized access to interface definitions for external tools. Once a library is loaded in, the TDF file by the way of APPEND continues to build a giant librar they're going to find that a lot more friendly. And because we do adverb, noun, and verb kind of checking, we know where things are out of sequence. You will catch a lot more syntax errors than were ever caught before. Notice the "Library" com Notice the little caret. We drop the err message down one line and we put a caret where the syntax scanner finds the problem. For those of you who are jocks that helps a little bit, but for people who use the language like students and so forth,h this I just hit RETURN and it accepts that line as entered. So you have complete add-line capability built into this. You can even do multiple edits, you can do auto-renumber, and you can enter lines like that. You edit back and the line is returned. rompt?" "I don't know. What do you think?" OK, something you'll like. We've got an edit line now that is actually three lines long, can edit three full BASIC lines, and guess what, all the insert stuff works, and when I decide what I want to do witmpt. For those of you who have been around we didn't change that. We thought you'd feel happy, besides we couldn't come up with anything we liked any better. Worst decision of a Product Manager or other to bring up is, "What shall we use for a command pdone the interface. Now we have a concept of nouns, verbs, and adverbs in terms of the way the syntax of the language is used. And if you screw up the language it will tell you how. (Going to the GS Now) I think this will work. OK, good old familiar pro doesn't care where you put tokens. [Tokens are the so-called "reserved words" in BASIC like PRINT, LOAD, LIST, etc. --- J.L.] You can just throw them anywhere. If you use the right word it doesn't matter what the order is. We've completely re are greatly reduced. The other thing that we've done to the language that will help people use it in more friendly ways is to really rebuild the syntax checking completely. I know those of you who have typed in a line noticed that GS BASIC really to extend INVOKE/PERFORM in such a way that PERFORM can now do the same type of thing (parameter type checking and so forth). So that, your odds as a programmer using somebody else's invokable incorrectly and not being able to figure out what's going on,l that other nonsense you never can remember to do. Notice it goes to shutdown. We implemented LABELS, that can be used anywhere a line number can be used, in any jump statement. In fact, you can write your program in such a way that no line number references are used at all. In fact, Tom Leonard of TML Systems, of whom you may have heard, has actually demonstrated a prototype compiler already. Now that this syntax is set we can think seriously about doing a compiler for this language.ng in a limited way, multi-line IF/THEN/ELSE. As long as a follow up line starts with a THEN or ELSE you can NEXT any logical level. It's explained fairly well in the manual. The old Business BASIC would let you NEXT IF/THEN/ELSE statemetured programming is implement DO/WHILE and UNTIL. So you have a full capability there to impact decisions. You can do DO, DO/WHILE, WHILE logic expressions and UNTIL logic expressions in relatively any combination of those. In addition we are supportiy environment. In fact they can return strings, for instance. They can return any data type. So there's a lot of stuff that enables structured programs from a procedure-oriented standpoint. The other thing we've done that really helps with struc In addition to procedures, we have multi-line FUNCTIONS with argument passing. An external function interface, the old EXFN interface in Business BASIC, has been beefed up significantly so that external functions can now be typed and used almost in an up very much. Well now you can do three reasonable kinds of procedures. These procedures can CALL functions and CALL other procedures in a recursive way. It can CALL itself too for that matter. So we do support recursions essentially at any level. am, so it's very easy to do argument passing, set values, and so forth. Multi-line procedures are very handy. Finally there's always been a classic problem with GOSUBs, or whatever. How to give people interesting things to use without them screwing themere's a real PROCEDURE capability. A PROC with multiple arguments, a multi-line procedure including multi-variables and you can use global variables, of course by not declaring them Local in the procedure. All arrays are global throughout the entire progrpecially, certain kinds of LABELS. In addition to implementing the CALL mechanism through the library, we still need to INVOKE and PERFORM as I said before. We have a couple of new mechanisms that make structured programming handy. First th So it makes it a little tough for people to figure out what's going on. It also makes it EXECUTE significantly faster. There's a token there for an absolute jump as opposed to a line number/label reference. We do a lot of pre-scanning too, on LABELS es, a run-time system will do two things. The first thing it will do is pack the program and replace all of the references, line number and LABEL references, with absolute addresses. Excuse me, I should have said relative addresses, anyway, offset. and merge a few more in from a file and so forth. A lot of thought has gone into this to make sure it would be reasonable to build a compiler. We made a run-time system as well. So we would be able to create programs and ship pre-labelled ones. In factt we've eliminated that would fit the immediate mode command but you could also do them in deferred mode, that will enable the compiler to make sense of what is going on. It's a little tough to tell a compiler to read a number of lines of code for itself portable. For example, there's more Delete Lines on the fly. It takes an immediate mode command. I argued with them back in 1979. That should have been taken out then. It's a pretty terrible idea. There's a number of other minor things like that tha And I think that's pretty neat too. The point is we built, in effect, LIST options that allow you to list out without line numbers then you can pass it by the compilers. We also eliminated a number of features from the language so the compiler could bents but after about 150 characters or so you sort of lost track of which was which and so forth. This will allow you to build things so they will look nice in the program. We've really tried to modernize the syntax of the language, bring it up to (the present). (Business BASIC at the time was one of the most advanced BASICs on any micro, I'd say. I liked it a lot better than Microsoft BASIC A for a number of reasons.) So we tried to do the same product response in 1987. What did this BASIC haveretty easy. This is a fun application even when just hacking around. In this particular example shipped with the disk so you can basically use that as a starting point for how to get this cranked up. It's simple enough so that all you have to do is elimact it's trivial to do that kind --- you just clear one of the windows, clear the port, and start printing stuff in the GRAPHICS. Of course the clipping boundaries and scrolling and so forth are easy to support too. We really tried to make it pfly in a position using the QuickDraw CALL. In all respects whatever QuickDraw condition CALL you gave it, in the right text, you can print number functions at that particular spot. It's really straightforward to do stuff in the GRAPHIC environment. In f statements to that file as you would use to do in the old .CONSOLE. In fact, you can also OPEN .CONSOLE and do the same thing but .CONSOLE is the text screen to play around the right text in the improved fonts, whatever, since you can switch fonts on the e like BASIC. On the other hand if you judiciously use the capabilities, it's really pretty straightforward. We've also implemented the idea of a GRAPH port in BASIC, what we call a Window File. You can OPEN a window as a file and do PRINT numberen dispatching again the appropriate Tool CALL. In that way we've enabled a very fast, clean interface to TaskMaster while leaving most of the tricky stuff in the interface behind. Otherwise there would be no way to really do it in an interpreted languag Let's say, for example, in the case I showed you, I have on one of the menus Windows #1, #2, #3, #4. Now there are routines that basically handle that message. So they bring to TOP --- the Window command can be issued by picking up the menu pick and th something for you that your program needs to deal with, it will appropriately jump to the right part of your BASIC program, makes it do a GOSUB or a CALL to do effectively a GOSUB to whatever routine you provide to link into that key development. your environment, then it manages the events for you and interrupts you only when certain things happen. Now what we've done is built an interface, GSMaster, that allows you to put BASIC line numbers or LABELS into an array. And so when TaskMaster hase of the most important parts of being able to give the kind of program I just showed you with reals and so forth is our interface to TaskMaster. And the way TaskMaster works, once you've set up your window definitions, your menu definitions and basicallyof judiciously save, chintzing is no serious problem. ToolBox interface looks pretty solid too. The only thing we can do for this is work with it. I think I mentioned in talking about the ToolBox and ROMs, structured programming and such, that ong ever so slightly with every beta version. In terms of beta release Apple has it now. It's pretty stable. We haven't really seen a major crash, bug, or anything like that in some time. And so, for development purposes, just as long as you sort tter than it was and it's really straightforward to implement. BASIC by the way, has grown. Those of you who are used to the old 25K assembler file --- interpreter file --- will now discover Business BASIC is right at 60K at this point and growin that wasn't there before? In a way it's pretty familiar. The old standard implementation. People who have used other BASICs will notice these things work kind of like you expect them to. IF and ELSE isn't quite as nice as it could be but it's a lot beinate some windows and not load the PICS and you can do anything else you want basically in the GS environment. It is pretty tricky to do ToolBox programming. Sequence of events, startups, dealing with all the pointers, building a window data structure, you still have to deal with all that stuff to initialize, but there's enough examples in here, I think, to get you going and if you're used to dealing with the ToolBox documentation this is going to be a pleasure compared probably to what you're going to bž#1740#1;A$:A$)<4710A$,3,4)="TEXT"X=X+1710 :X>YN=P::7);"There are no text files in the ";34);D$;34);" directory." ::I=P::7);"Unable to locate and open ";34);D$;34);" directory." ::Ig_e___I_n_t_e_r_v_a_l___d_e_s_i_g_n_a_t_i_o_n_s _a_r_e___s_e_t___t_h_e___s_a_m_e_._____T_o_p___a_n_d___b_o_t_t_o_m___m_a_r_g_i_n_s___a_r_e___s_e_t___t_o___1_._____T_h_i_s_le of how important WPL remains for us Apple /// users. I work with /// EZ Pieces a great deal, but find AppleWriter to still be my primary word processing program, one which WPL makes particularly useful! _t_e_d___L_i_n_e_s___a_n_d___P_a_d bottom margins are set to 1. This can obviousl be changed according to your own needs. Also note that with only a few changes, this WPL program will work just as easily with the Apple // version of Apple Writer. PD.CON is one more good examp As you can see, when the file is printed, it is sent to .RAM/FILE and is full justified. The printed line is set to 77 (the control character takes up the 78th column). The Printed Lines and Page Interval designations are set the same. Top ange Interval (PI) = 66 Line Interval (LI) = 0 Single Page (SP) = 0 Print Destination (PD) = .RAM/FILE Carriage Return (CR) = 1 Underline Token (UT) = \ Print Mode (LJ,FJ,CJ,RJ) = FJ Top Line (TL) : Bottom Line (BL) : ng and print information. It looks like this: Left Margin (LM) = 0 Paragraph Margin (PM) = 0 Right Margin (RM) = 77 Top Margin (TM) = 1 Bottom Margin (BM) = 1 Page Number (PN) = 1 Printed Lines (PL) = 66 PaTART2 The key to PD.CON is that it prints the file to disk, thus placing the proper control character at the end of each line. A special Print/Program file, called PD is automatically loaded when the program begins to provide the formati PCS/$C/Y/ PGO START PCS/$C/y/ PGO START1 PPR NY QCSYS PDO.D1/STARTUP PPR QUIT PQT STRIP PPR P STRIP those control characters, NOW! B F#%##A PGO SFILE in RAM. OE.RAM/FILE NEW P PPR PIN Another File?: =$C P If you want to convert another file, hit "Y" or "y" P Otherwise, reload the system "startup" values and quit. PCS/$C// PGO NEW t/Program file. B PNP NY L.RAM/FILE P Now, load the converted file back into memory, clean it up and save P it back to the proper location. B F///A S $a Y P Delete the STRIP PCS /$b/y/ PGO STRIP START2 PPR PPR Hold on now...I'm working as fast as I can! P This is the body of the program. It loads the file, then prints it P with the proper settings, as contained in the Prin S.RAM/FILE PIN Load which file?: =$a NY L $a PPR P You may wish to delete the following 5 lines and STRIP at the end! PIN Do you wish to strip control characters first?: =$b PCS /$b/Y/ PGO e doing in other environments. n other environments. #1,D$::"Processing directory ";34);D$;34);", please wait."; ž#1880*#1;A$:A$)<48104A$,3,4)<>"TEXT"810>X=X+1:".";HE=15:F$=A$,16,15)RF$,E,1)=" "E=E-1:850\F$(X)=D$+"/"+F$,E)f810p:  Pausep$ 900A$="PRINTING"+F$(I):$=01:=0::"80C";A$;::12)F=23:=0::"79C";"PRESS ANY KEY TO HALT PRINTING"::2,280,21 2000*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n" One, Two, /// Forum Sheppard 10 Oct 27-31 Letters 11 One, Two, /// Forum Sheppard 11 Nov 27-29 Letters 12 One, Two, /// Forum Sheppard 12 Dec FIS=12000:BFIS::RELEASE:#530lRELEASE:#530l#530lwo, /// Forum Sheppard 7 July 27-29 Letters 08 One, Two, /// Forum Sheppard 8 Aug 27-30 Letters 09 One, Two, /// Forum Sheppard 9 Sep 27-31 Letters 10 Denicola 4 Apr 27-31 Letters 05 One, Two, /// Forum Sheppard 5 May 29-30 Letters 06 One, Two, /// Forum Sheppard 6 June 29-31 Letters 07 One, T1 TEMP2 2  GETCH 5RETURN BG G DOJMP TEMP1 @TEMP2 AGETCH  RETURN GS GS DOJMP JMP TEMP1 RELOCST VAR VAR JMPADDR .RELOCST ]XCST JMPADDR DDR MOVE254 INIT INIT FINI FINI JMPADDR MOVE254 VE254 ZXWVUTS#"!  xtdȩ ȩtHsH`*** G ***qoShBhC 5 5 CHBH`Hʊe6he7 Hm:hJ`潠`*** GS ***NLKIHGEdhh 86H7iɂ8H:HLHMHH HH`9=i>i> ȥii8 LȩȩY98  HH``n#" B?L*** fini ***hsht9=i>i> ȱii8 L*** var *** ` a ɅL8A 8A 8Ae ) J Ɇ>e=e>ɂ`L*** init ***hhȱiȱi2010C$="N"C$="n"200;:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": 20002,280,21 DF$(I)=D$+"/DISKNAME.DAT"F$(I)=D$+"/FLASHNAME.DAT"410:ۺ310 PRINTER v 1.0 29-31 News S01 Apple.Slices Sheppard 7 July 5 News S02 Apple.Slices Sheppard 8 Aug 23 News S03 Apple.Slices Sheppard