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 (301)-984-030*SOS.DRIVER k6__*SOS.INTERP 4keY!! *SOS.KERNEL ?,VY!!a/VARIABLE.NOISES !READ.ME.FIRST O7mY!O6&MEDLEY Y$!Ʀ*MENU.MAKER Y"!MIDI^!^.MUSIC.ARTICLES _!#!-PIANO.PLINKER r-!+REQUEST.INV a !+III.BSB.16u' )BGRAF.INV(_ !L+DISKNAME.DATY"!_ FLASHNAME.DATFY"!_ %HELLO ha !)HELLO.PIC!@_$!_%*HELLO.TEXT >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L0 WELCOME! WAP /// SIG Public Domain Library Disk Category: Business Basic/3BSB-16 Disk Format: Self-booting This is our first disk contain CTERESOURCE UNAVAILABLDIRECTORY FULDUPLICATE VOLUM ERROR Please Press SPACE BAR IN PROGRAM INTERRUPTED%&'(%+.@C$DE FG!H"I'MN#PQRTW(X潭`: 808`:dd@՚H Z#IJJCSTRING 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 DISCONNECONV&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򠭠έ魭ond side of this disk too. And if you have any contributions for a second disk, we'd love to have them! ing nothing but music programs of one sort or another. Some are pretty simple, others more complex. There's even a MIDI invokable for those of you interested in more than just the basics. Be sure to check out the fun music game on the secABB 9::)ѭ [ I[ aυ婶ZeLLL^$%Lae LGidFddddddd.ddddddddd ɕdˏd`Ls  Apple Business BASIC v1.23 - Copyright Apple Computer, 1980-83 LPL(\)&P ěj9ȑ9ȑ99i=:i: >i>`Ɂ7XWWXjnXWi` ]?@@bgchch )^ ]b ]b^b^L\b8g+H__^8_ 9:: Ga.ghh 悅` A` \\ɾ,L<^hhZkKhLhhhe9e:: mLg jei `Ls j:,"hhhhLgɜEɝDɞLb Hɾɺдmhɾ Qp aj pi `p j` jLi j,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ȢЅ 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]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,^`=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 y^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 lkj |yjJkjlkmlmi in`emeymlexlkewkjevjLkyi&m&l&k&j8iIiii9fjfkflfmf`nIngjIjgIm lkj`L<^}i0vvvvvj`L656 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$v5ui`uei0,iiL0y{n`nI0hhL,yLy |i{ xi` |={{ {LZ{ zL{ |8ii zivjwk xlym* 蕁24(y&x&w&v0⨥ymyxlxwkwvjvL{@jjj)(L{L<^~jklmL y5665m5l5k5n j5i`d,]WXX566 |m5 ^|l5k5n %j5i5` |m l)m |m`znth` |ht`i  y my`i n*` |jkjI*mlinLyFn`nEz0ʢiH xH ?5^6_6_hhXhXhWLk ? % ?Џ`5566` xe5566ɂ66` s p `  zLseff z.!'$ iߪ$ 0 H8eAi\h$ P8 (Lt$ 0}5}} ,kk} , kklm Lٓ[ 80@ 6 2`  dkH) ojhJJJJ ojL 0:i`L<^ jHHHHHH s jhLyqhhh6h6h555_ȱ5VHHHH %L/5H6H6Ht $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{fp ;<<ccb? @c@ube.a{bb,\(eb cc`ebcA[8饰 a{8`8\e@@He? ]@@?hbbb0 ea ȑbc8L@ @@h5h656H |mHlHkHjHiHl5 8eeghh^__` HHH H bqh hhhn0iɐ1 }L yxL%}\i FHHHHH 6hhhHHlm ,҄ shh)>=>hgh<<;[a{ sL͙ɚʚ `pAƚЙϚŚњ˚ ̚8 悅DDF͚ Κ8 DiFEC CD)ӚDmӚDԚCBКLěŚAݚ⚠IȌ 8 ꂍ  8 ꂅJJ` !7Ri88 pi UŦLUUU HHHHL 2hh LW iL 2hlhkhn jhimhHɗ8 Ls`LIŚ1CUDVDVU Lŧ 0 7U L`L:^֩ ŚEĚ L| Qp QeeRee8 1 V` 痠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^Ȋ^6RRRRH uhA?B@7B@87F8f7877878L:^7 8*JA5gB6B68 悅h圍h?H@H@HI?J@J@ "]h@h@h?gAhBhBJJ8 悅J圍J7ߚ8BܚLs`䚌B L:^`Ib^JcJcm J_mm嚍J_AgBhBh \^A_B_B` ^"( zM jF566 x}z{6{LҜ #z{{"} GLsL<^ jHHH i dj ٥z{{ j}hhh ;в| |膆  pd8isŠt`dyoopd8ip`J uv`&&&8孪孪宐橈`! @ uA?B@B 悅@=g>h>h ]=i>j>k a=g8i>hj>h 悅ki=5j>6k6k;el)@7Me0u(> ƬƫHH ,hohp` ɩCe0R`ȹR`ee?e@e ue 5e T L=e;e`Lso`n}pm aa`dyo ɃɄ b`" lJJJJYe s ˰L8Ls LԫN l@u=ekPe tMe )llNesOet NeOetMeCOeNeȌ=e>e;e "] a a$% iLg֢   sLj$%`8f  a e ; ` s ɩ` YLILcopL7 z0xH ׫$0_ ;h8fH`aai shH2 h zJJJJf Ik ɩ` ̬ t os YLA ևLLק jWXX` ׫$` ,`HȘe`{ai|a|h kLF  a h ; ` s 欦op б G je б ɩ ̬ 穰t d sd 7L=LVdʆ `! `Ȣ`  婐 ɩ`$ L2u u`I Il8)id`  z Q>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi%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`$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Ս>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.>88  >!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"""""< >>>>> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>xrjlmnopqrstuvwxyz{|}~GA7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"CUSTOM.3 )((8*,;((*,((+)((9/(p((>3  =9 :9 .(~|L|LNqooGoDDDcc0ccpc]]c"QM"|@@pAATT**|  )* 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ٮ@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 } `,,i0L È`,g HH`LL! l      5  Hdcefh&+si  M0   h) `(" (  (È& 8  `)2ȱÍ3`)1`Ɂ" (cefd`Hc <Le Le ,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) `(,  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̰+;CNU\eh "*-036<BLORX_fj &+38;?DGLTot <?BGLQgjox',/25:BGKORY\aelpu !$(+.147<?BFILORUX]`finsw| !%*/369<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`  &xix 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL `ʝ`))ժuvЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mww 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  ,$0F y բӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥeepɀjff&ݥeepɀjffݠ %)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #im TITLE: Music, Maestro, Please MAGAZINE/NEWSLETTER: On Three AUTHOR: Jungst VOL: 3 ISSUE: 06 DAY: MONTH: June YEAR: 1986 PG(S): 5-11 NOTE: "Magic Melody-Making Program..." -: -: NOTE: THIS IS A GREAT PROGRAM AND INCLUDES DATA FOR MUSIC ON THE APPLE ///: ARTICLES SUBJECT: Audio TITLE: Sound Generation on the Apple MAGAZINE/NEWSLETTER: Interface Age AUTHOR: Clark VOL: 7 ISSUE: 2 DAY: MONTH: February YEAR: 1982 PG(S): 44-46 NOTE: -: -: -: SUBJECT: Basic Music Progra``lBcguwy{}$(/4:?IXad#ȌS 9S`YX`X-,ˆ̭U)? VW @ ?ddxtB˩Eʍ@Xx ,P Eʍ(itiBX`,A0Lp HH`! (```,A0Lp HH`L%&S`1980 by Apple Computer Inc.D vHuH` (# (jjA`,A$ (BC x) @( A`% (ALpx)`(BC `,A0Lp& (,A0Lp9 æĬSɀ֙T    ) . 6 = J P S X [    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{(Z.AUDIO C(C) %(-47=FMUX\_jmz  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~ /47=G\x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}J) ܭL FܪJJJJ)`'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruzp 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 $צ!ϤҐ мφi`Jf`<,&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/A NUMBER OF SONGS! -: SUBJECT: BB Programs 03 TITLE: Two Shorts - Fini! MAGAZINE/NEWSLETTER: On Three AUTHOR: Gauger VOL: 4 ISSUE: 8 DAY: MONTH: August YEAR: 1987 PG(S): 31 NOTE: Two programs: Audio.Demo and Patches (draws random s Title: Passport MIDI driver for the /// - Created by: SYSOP on: 01/24/1989 14:01:56 The following four files comprise the 6502 driver program to allow you to connect a Passport compatible MIDI device to your ///, two Business Basic programs to allowMIDIv^'  '+MIDI.DRIVER!x?^_)-MIDISTUFF.INV: ^^6 5 DAY: MONTH: June YEAR: 1981 PG(S): 15-24 NOTE: Good review that includes a .AUDIO Driver program to produce music -: on the ///. -: -: ISSUE: 1 DAY: MONTH: January YEAR: 1983 PG(S): 148-149 NOTE: Program that turns the /// into a one octave piano-type keyboard -: -: -: SUBJECT: Review TITLE: The Apple /// MAGAZINE/NEWSLETTER: Call A.P.P.L.E. AUTHOR: Huelsdonk VOL: 4 ISSUE:OL: 2 ISSUE: 2 DAY: MONTH: YEAR: 1984 PG(S): 17-21 NOTE: "Things That Go Gleep In the Night" -: (Making sound on the Apple ///.) -: -: SUBJECT: Music TITLE: Piano Plinkin' MAGAZINE/NEWSLETTER: InCider AUTHOR: Moore VOL: 1 : 1986 PG(S): 4-5 NOTE: #1: Getting color in EM mode on a Panasonic Monitor. -: #2: How to get "Hi-Fi" quality sound from your Apple /// (Apex BBS) -: -: SUBJECT: Max4: Audio TITLE: /// To the Max #4 MAGAZINE/NEWSLETTER: On Three AUTHOR: Evans VMONTH: YEAR: 1984 PG(S): 48 NOTE: Circle demo; Beatles music; Radiate graphics demo. -: -: -: SUBJECT: Hints TITLE: Apple /// Hints MAGAZINE/NEWSLETTER: ATUNC Newsletter AUTHOR: Whitten VOL: 3 ISSUE: 02 DAY: MONTH: February YEAR: 9 ISSUE: 12 DAY: MONTH: December YEAR: 1987 PG(S): 39--41 NOTE: A look back at the year. Music on the ///. -: -: -: SUBJECT: Graphics TITLE: Three Shorts-Fini! MAGAZINE/NEWSLETTER: On Three AUTHOR: Cohen VOL: 2 ISSUE: 1 DAY: c MIDI Driver; PD Di -: On Three Contest; Apple /// Tech Notes; New Books; Other Club New -: Tidbit on Claris's Purchase of StyleWare. -: SUBJECT: Column O12 TITLE: On The Trail Of the Apple /// MAGAZINE/NEWSLETTER: WAP Journal AUTHOR: Ottalini VOLquares). -: -: -: SUBJECT: Column O10 TITLE: On the Trail of the Apple /// MAGAZINE/NEWSLETTER: WAP Journal AUTHOR: Ottalini VOL: 10 ISSUE: 10 DAY: MONTH: October YEAR: 1988 PG(S): 22-23 NOTE: Apple /// News; Another Graphics Board; Musi you to "play" with your new toy, and an invokable module for the CHORD.RIFFS Basic program: NOTE: THESE ARE TEXT FILES ONLY. THE DRIVER AND INVOKABLE MODULES HAVE *NOT* BEEN ASSEMBLED UNDER PASCAL. YOU WILL NEED TO KNOW HOW TO DO THIS TO USde XCTLCODE .EQU 21 ;Invalid control/status code XCTLPARM .EQU 22 ;Invalid control/status param XNOTOPEN .EQU 23 ;Device not open XNOTAVIL .EQU 24 ;Device not available XNORESRC .EQU 25 AL DATA & SUBROUTINES ;----------------------------- SYSERR .EQU 1928 ;SOS error return ALLOC_SIR .EQU 1913 DEALC_SIR .EQU 1916 ;--------------- ;SOS ERROR CODES ;--------------- XREQCODE .EQU 20 ;Invalid request coDM .MACRO MOVB ;move byte LDA %1 STA %2 .ENDM ;----------------------------- ;BEGINNING OF DRIVER PROCEDURE ;----------------------------- .PROC MIDI ;----------------------------- ;SOS GLOB %1+1+1400 ;Increment X-byte $310 .ENDM .MACRO SET_1Mhz LDA E_REG ORA #BITON7 STA E_REG .ENDM .MACRO SET_2Mhz LDA E_REG AND #7F STA E_REG .ENENT 3-BYTE ADDRESS MACRO ;------------------------------ .MACRO INCADR INC %1 BNE $310 INC %1+1 BNE $310 ;Bank overflow? SEC ;Yes ROR %1+1 INC WORD MACRO ;-------------------- .MACRO INW INC %1 ;Increment low-order BNE $210 ;If 'Carry', INC %1+1 ; increment high-order $210 .ENDM ;------------------------------ ;INCREMress from table PHA ; and push onto Stack LDA %3,Y PHA .IF "%4" <> "*" ;If PARM4 is omitted, RTS ; exit to code .ENDC $110 .ENDM ;-------------------- ;INCREMENT ;If PARM2 is present, CMP #%2+1 ; perform bounds checking BCS $110 ; on switch index .ENDC ASL A ;Multiply by 2 for table index TAY LDA %3+1,Y ;Get switch add----------------- ;N-WAY SWITCH MACRO ;------------------- .MACRO SWITCH ;See SOS Reference .IF "%1" <> "" ;If PARM1 is present, LDA %1 ; load A with switch index .ENDC .IF "%2" <> ""=================================== DEVTYPE .EQU 65 ;I/O Char. Device SUBTYPE .EQU 01 ;Device Subtype MANID .EQU 00 ;Manufacturer ID - ??? RELEASE .EQU 112B ;Release number in BCD format ;-- SOS MIDI DRIVER" ;======================================================= ; Passport (tm) compatible MIDI interface driver ; (C) 1987-88 Erik Olbrys ; v1.00 July 30, 1987 ; v1.10 April 4, 1988 (interrupts & buffering) ; ;==================== Midistuff.inv invokable 4 Chord Progression Generator (SIDE TWO) (Both in TEXT and BASIC) Title: .MIDI driver Created by: SYSOP on: 01/24/1989 14:01:30 .nopatchlist .nomacrolist .TITLE " E THESE PROGRAMS. IF YOU *DON'T* KNOW HOW AND ARE STILL INTERESTED, CALL YOUR /// SIG FOR MORE INFORMATION. 1 .MIDI driver 2 Print MIDI data (SIDE TWO) (Both in TEXT and BASIC) 3 ;Resource not available XBADOP .EQU 26 ;Invalid operation for device ;--------------------- ;HARDWARE I/O ADDRESES ;--------------------- slot .equ 2 ;predefined for speed purposes baseaddr .equ 0C080+<16.*slot> CONTROL .equ baseaddr+8 STATUS .equ baseaddr+8 DATA .equ baseaddr+9 E_REG .equ 0FFDF B_REG .equ 0FFEF ;-------------------- ;6850 CONTROL EQUATES ;-------------------- ;Since the 6850 on the MIDI interface card(511),C$(20),name$(20):=10:=0nx=+B$(I),16,B)140 PREFIX$=.D1 #1, ž#1180I=0I=I+1:#1;A$(I):170#1 L=I-1j=1:same=0:/#9,".D1/DISKNAME.DAT":#9;DISKNAME$:#9Ta$="{,|,~,}; selects; J/2)=4:=+1:ۙ=44PB$(J);:J=J+1ZI:8dA$(1000),B$(1000),C%CNT .EQU 0E3 ;----------------------------- ; MIDI DRIVER MAIN ENTRY POINT ;----------------------------- ENTRY SWITCH REQCODE, 8, M_REQSW BADREQ LDA #XREQCODE ;Switch fell through - JSR SYSERR ;Invalid request _COUNT .EQU *-SIR_TABLE ICSMR_PTR .EQU 0E2 IBUF_CNT .byte 00 ;buffer size ISCSMR_PTR .byte 00 ;consumer pointer IPROD_PTR .byte 00 ;producer pointer ILOC_BUF .block 0100,00 ;256-byte input buffer RETPRIVATE VARIABLE STORAGE ;------------------------ OPENFLG .BYTE FALSE ;Device OPEN flag SIR_ADDR .WORD SIR_TABLE SIR_TABLE .BYTE slot+10, 00 ;table to allocate/deallocate the slot .WORD MIDI_MIH MIH_BANK .BYTE 00 SIRQCNT .EQU SOSINT+4 ;Requested count/byte count CTLSTAT .EQU SOSINT+2 ;Control/status code CSLIST .EQU SOSINT+3 ;Control/status list pointer RETPTR .EQU SOSINT+8 ;Returned count pointer ;------------------------ ; .ASCII "Ack! (C) 1987-88 Erik Olbrys" ;---------------------------- ;SOS DEVICE HANDLER INTERFACE ;---------------------------- SOSINT .EQU 0C0 REQCODE .EQU SOSINT+0 ;SOS request code BUFFER .EQU SOSINT+2 ;Buffer pointer RE .WORD MANID ;Manufacturer ID .WORD RELEASE ;Release number - BCD ;------------------------ ;DEVICE INFORMATION BLOCK ; - CONFIGURATION ;------------------------ CNFBLK .WORD 0000 ;Configuration block length slot ;Device slot .BYTE 00 ;Device unit .BYTE DEVTYPE ;Device type .BYTE SUBTYPE ;Device subtype .BYTE 00 ;Future use .WORD 0000 ;Block count - not used ;Link to next device handler .WORD ENTRY ;Entry point address .BYTE 05 ;Length of driver name .ASCII ".MIDI " ;Driver name (15 chars.) .BYTE true ;Device status .BYTE ------------------- ;DEVICE INFORMATION BLOCK ; - HEADER ;------------------------ .word 0FFFF ;comment follows... .word 002F .ascii "Slot-Specific!!! Don't change that slot number!" IDBLK .WORD 0000 --------------- ;GENERAL EQUATES ;--------------- TRUE .EQU 80 FALSE .EQU 00 BITON0 .EQU 01 BITON1 .EQU 02 BITON2 .EQU 04 BITON3 .EQU 08 BITON4 .EQU 10 BITON6 .EQU 40 BITON7 .EQU 80 ;----- is 1Mhz, the /// must ; run at 1Mhz when reading and writing -- sorry! RESET .EQU 03 ;resets 6850 ACIA INPINTS .EQU 91 ;enables input interupts, sets data format,etc DISINTS .EQU 11 ;disables interrupts ;APE> sets Prefix to .D1; aborts."12);::"80C";a$;:d$=DISKNAME$$=23:=0::"80C";d$;::12)1,180,22F=3:=14:"This /// SIG Disk is \^ 1991, Washington Apple `, Ltd."=4:B$(1)="":B$(2)="""A$="BASIC 0":40MUSIC, MUSIC, MUSIC PD DISK name$=34)+D$+34) GLOAD.D$16);1) GRAFIXONX=12000:X::RELEASE:#5302l ...... WAP /// SIG MENU.MAKER (VERSION 4.55)T1400 ^:WW=1:h |: CHANGE THE FONT".D1/download.inv"C$=B$(I),16,B)array$="C%"name$=34)+C$+34)getfont(@name$,@array$)loadfont(@array$)J=1:SAME=0:215#5,".GRAFIX"".D1/BGRAF.INV"D$=B$(I),16,B)EMBER":1550M$="DECEMBER":1550826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1580$"П,2))=0"12";џ,6);:ٟ;$,П,2))=>12" PM-":" AM-" 61630@WW=1390J=26:=21:1400 70,1480,1490,1500,1510,1520,1530,1540M$="JANUARY":1550M$="FEBRUARY":1550M$="MARCH":1550M$="APRIL":1550M$="MAY":1550M$="JUNE":1550M$="JULY":1550M$="AUGUST":1550M$="SEPTEMBER":1550M$="OCTOBER":1550M$="NOV";"CONTINUE...?":'(<>89<>121<>78<>11013202=78=11010<9F=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING":P2,280,2 Z1310dn"x ..... "DATE.TIME.LINE" ....M=Ҡ,4,2))BM1430,1440,1450,1460,144,B$(I),16,B)#5,".PRINTER" $ž#4120 .#4;a$ 8#5;a$ B1070LV:=24:=0::#w=w+.5*(w=0):I=1(w*1000):: Halt Subroutine::=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING.": 1300(=23:=0::"79C:=12:=0:120=+B$(I),16,B)1408A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0 :120>::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1010C$="N"C$="n"120#"C$<>"n"850\C$="N"C$="n"1000;f:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": p840z2,280,21K:=23:=0::"79C";"TO PRINT OR RETURN TO MENU, HIT THE SPACE BAR":C$:C$<>" "930:ۺ1000 :=".d1"=01:=0::"80C";A$;::12)E=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING"::2,280,21 840#2,B$(I),16,B) ž#2910*#2;A$:A$:12304810 >:120*H:=23:=0::"79C";"CONTINUE...?":0RC$:C$<>"Y"C$<>"y"C$<>"NSIC 0")700B$(I),"TEXT 0")740B$(I),"CAT 0")960B$(I),"FONT 0")1660B$(I),"FOTO 0")1730400A$="RUNNING "+B$(I),16,B)"79C";A$;:=0B$(I),16,B):A$="LISTING "+B$(I),16,B)$/2)I=I+1&I2=-1:I=I-2:NIBOTM<30XTHPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:0b=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1lvB=B$(I),16)," ")-1B$(I),"BAA=:A=21A=9oldprefix$=A=31110A=27:=".D1":980A=13630=THPOS:B$(I);A<8A>11400A-7500,520,550,580:=THPOS:B$(I);:380: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I,A$="TEXT 0":406A$="CAT 0":40@A$="FONT 0":40JA$="FOTO 0":40TA$(L),"BLOCKS")370*^=27:=19:"FREE MEMORY AVAILABLE: ";h=7:=20:"80C";A$(L);$r:=5:THPOS=4:I=1:IBOTM=J-1:480|Q=:=26:=21:1400 =Q:WW=0HAVE ANY MUSIC PROGRAMS OF YOUR OWN? SEND THEM IN FOR A NEW PD DISK! 3 p8`?p|f0`f|~|x|L yy|@~|3 !pF@9 |fL3fIf|||3 @xp|9`xfL3fIf|~?|~3`fL3fI~|3f@`f?||a|a~s`yHc|L 3fL6ly|L2dI3fL3fL2dY3fL3fL6lY?|x@~x@@|~L3fL6ly|L y@`y|?|~L3fL6ly|L`y@`Y?|p~x@~p|``~||L 8p|y`y|~||3 ff|~`~|L !pF@9 |3fL6ly|||L pA0 |3fL6ly|~?|~L 3fL6ly|Ly@`Y?|~p~p|~p`|3 fL3fIf|3f?f?|A000! C1 |~3fM6L3fL3fM&L3fL3fI~|L y@`y||~3fL3fI~|3 f@`f?|p1 ` a `C`0||3 `~|`ff|||L y`y|xpx`~|O CONTINUE.":G$-#2,".D1/FLASHNAME.DAT":#2;FLASH$:#2%FLASH=110: FLASHER SUBROUTINESLOW=110FLASH/2=FLASH/2):۴ =11:=07 FLASH$ SLOW FLASH:".d1/Menu.Maker" 60#1,".AUDIO"E WAP HELLO PROGRAM. SPECIAL UPDATE FOR MUSIC DISK, 10/31/90 DGO.".d1/bgraf.inv"(gload."HELLO.PIC" 2grafixon7500<:RELEASE:F#1,".D1/hello.text" Pž#1120 Z#1;ERIN$ dERIN$n90x#1/=23:=25:"PRESS ANY KEY T~3fL3fI~|3 f@`f|@|~L3fL6ly|3 @f@@ `f?||`p|~L 3fL6ly|Ly@`Y?||a?yLa~s`yHc|3 fL3fIf|3fM6L3fL3fM&L3fL3fIf?|||L ?p@p|y3~I`y|~xpO`~|~|L y@`y|@|3 ApA0 |fL3fIf|?||L 3fL6ly|~|]}};L 3fL6ly|3f@`w`f?||L 3fL6ly|?|` g?Las|~L3fL6ly|L @y@6`Y|p~x@~p|`x~||~3 $fL3fI~|3 f@@`f?||@001  @p||L px@~p|y?gsfGcy|0<`~|~|3 f@`f|@|L apF@6 |3fL6ly|||3 fL3fIf|~|=~?}L`3fL6ly|Ly@`w`Y?|~p~p|~p|3 fL3fIf|?|a g?yLas|~3@fL3fI~|3 f@>`f|p~|~L 3fL6ly|L`yp@`Y?||~p?~1?yLa~vp|3 px@~p|flf|@x~|~|L y@`y|@|3 apF@6 |fL3fIf|x||L 3fL6ly|~|?|=^|{3 fL3fI~|3f@`f?| a ` a ``|L 3fL6ly|L2dI3fL3fL2dY3fL3fL6ly?|`p|`|~L|3fL6ly|L`y@`y|@|~3`fL3fI~|L @@yp@`Y?||?x@x@~p`?xp|L Op|`p|y `y|~|~|3 f@pf|@|L apF@6 |3fL6ly|||L @xp|9`x3fL6ly|~|~x=~~3fL3fI~|3`f@6`f?|p|q|a|{XCx?y||~L`3fL6ly|L y@`Y?||?x@x@~p?x`|3 @fL3fIf|3|f@pf?|x@~x@@|3 dAxXp|0 `xfL3fIf|?|` ` a `|@@0`>p`<3xs?@0|O@Cx`8xp|?~~?lY3fL3@<3|&L3fLp<L3 |&L3fLpo||O|@O~F3|f0?~|0?@``|sAsfOO~?a@|O@ ?C~ 8|L3`|@|&L3fLpx~pfs~r`p(~&L3fL@o@|3O?|`?x@x|`?,;;@|&L3fLpo~OOp?|`x@|@@`x|O~s?@P<3@lC 8?|&L3fL|@~|x>xp||&L3fLxs?~CG>lY3fL3p<?3CxC~0?|f?sC?|&L3fLpo|~ O@p|`?|`?p@@8~|8~||&L3fLpxx@ap?|`p|&L3fLpo |O@OxC_|f0?|f?sC?100H LOAD SONG2R:"LOAD Song (MEDLEY is on this disk) : ";n$ \#2,n$ k#2;r px=0r-1 #2;r(x)x#2m=1100l<1l>300l=l:100100".D1/MENU.MAKER"ICE$3="C","C#","D","D#","E","F","F#","G","G#","A","A#","B","C":".D1/MENU.MAKER" SAVE SONG':"SAVE Name: ";n$:n$)>15730n$="PIANO"7):730 n$,=".d1/":#2,n$ #2;r t=0r-1 #2;r(t)t #24));r(x)/256));&#1;l-256*l/256));l/256));420j=012:r(x)=n(j)415jr(x)=0420 vol=vxm=0100 A,W,S,E,D,F,T,G,Y,H,U,J,KE 1946,1836,1733,1636,1544,1457,1376,1298,1226,1157,1092,1031,97=2997);:r=0::100,#1;128);v);/6#1;n(j)-256*n(j)/256));n(j)/256));&@#1;l-256*l/256));l/256));J"(";p$(j);") ";T100 hvol=v m14) rx=0r-1|r(x)=0vol=0#1;128);vol);/#1;r(x)-256*r(x)/2560a$="M"840Ba$="Z":"Speed (1=FAST, 20=NORMAL, 300=SLOW) ?";l:100a$="Q"1)::#1:2000j=012:a$=k$(j)280j!a$="1"a$="2"a$="3"100100( r(r)=0:r=r+1:r=2997);:r=0:100100,r(r)=n(j):r=r+1:rACE bar produces a rest."`1,580,24da$xa$="1"v>0v=v-1:100a$="2"v<60v=v+1:100#a$="B"r>0r=r-1:"X ";:100a$="3"v=60:100a$=" ""/ ";:265a$="P"360a$="C"r=0::100a$="X":100a$="N"72 M)load N)save X)home C)clear P)play X)delete Q)quit";["2) add one volume level 1) subtract 3) normal volume"D\"Notes: C C# D D# E F F# G G# A A# B C"D]"Keys : A W S E D F T G Y H U J K"!^"SPNV in drive 1 then press ":a$))".D1/REQUEST.INV":DEVICE$=".CONSOLE"-*BUFFER$=0):CONTROL(%4,@BUFFER$)DEVICE$12k$(12),p$(12),n(12),r(9000):r=0:v=60:m=0:l=1<j=012:k$(j):jFj=012:n(j):jPj=012:p$(j):jYBZ"Z)speedL `L5 STY RETCNT ;Zero return count STY RETCNT+1 LDA #0FF ;One's complement of request count EOR REQCNT STA REQCNT LDA #0FF EOR REQCNT+1 STA REQ;DRIVER READ REQUEST ;------------------- M_READ BIT OPENFLG ;open? BMI $1 ; Yes JMP NOTOPEN ; No -go do error $1 MOVB ISCSMR_PTR, ICSMR_PTR LDY #00 ;Prevent offset ; but it's not open! $1 MOVB #DISINTS, CONTROL ;2) disable interrupts on card LDA #SIRCOUNT LDX SIRADDR LDY SIRADDR+1 JSR DEALCSIR ;3) de-allocate it RTS ;------------------- OPENFLG ;3) set as open RTS $2 LDA #XNORESRC JSR SYSERR ;-------------------- ;DRIVER CLOSE REQUEST ;-------------------- M_CLOSE ASL OPENFLG ;1) close it BCS $1 JMP NOTOPEN STA MIH_BANK LDA #SIRCOUNT LDX SIRADDR LDY SIRADDR+1 JSR ALLOC_SIR ;1) allocate it BCS $2 JSR CNTL00 ;2) reset the card LDA #TRUE STA --------- ;DRIVER OPEN REQUEST ;------------------- M_OPEN BIT OPENFLG ;open? BPL $1 ; NO? - good LDA #XNOTAVIL ;Already open error JSR SYSERR $1 LDA B_REG AND #0F T-1 ;D_INIT ;--------------------- ;DRIVER D_INIT REQUEST ;--------------------- M_INIT LDA #FALSE STA OPENFLG ;Set device to NOT OPEN CLC ;Insure carry clear for caller RTS ;---------- ;D_STATUS .WORD M_CNTL-1 ;D_CONTROL .WORD BADREQ-1 ;not implemented .WORD BADREQ-1 ;not implemented .WORD M_OPEN-1 ;OPEN .WORD M_CLOSE-1 ;CLOSE .WORD M_INIcode error NOTOPEN LDA #XNOTOPEN ;Not open error JSR SYSERR M_REQSW .EQU * ;MIDI driver request switch table .WORD M_READ-1 ;D_READ .WORD M_WRITE-1 ;D_WRITE .WORD M_STAT-1 ca` 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 hWhXXCNT+1 $2 INC REQCNT ;Increment count - forms 2's complement BNE $3 ;Is count zero? INC REQCNT+1 BEQ $4 ;Yes? - terminate $3 LDA IBUF_CNT ;wait until a byte is ready BEQ $3 LDX ICSMR_PTR LDA ILOC_BUF,X STA @BUFFER,Y INCADR BUFFER ;Increment addr - user buffer pointer INC ICSMR_PTR DEC IBUF_CNT INW RETCNT OD_PTR RTS CNTL01 RTS ;1 -- Load device control parameters CNTL02 RTS ;2 -- Set NEWLINE Character CNTL03 RTS ;3 -- MIDI_MIH ;MIDI Master Interrupt Handler #RESET, CONTROL ;reset interface MOVB #INPINTS, CONTROL ;enable input interrupts SET_2Mhz LDA #00 ;initialize input buffer STA IBUF_CNT STA ISCSMR_PTR STA IPRPEN ; No - go do error $1 SWITCH CTLSTAT, 3, CNTLSW JMP BADCTL CNTLSW .WORD CNTL00-1 .WORD CNTL01-1 .WORD CNTL02-1 .WORD CNTL03-1 CNTL00 SET_1Mhz ;0 -- Reset device MOVB ;high byte (0) STA (CSLIST),Y INY RTS ;---------------------- ;DRIVER CONTROL REQUEST ;---------------------- M_CNTL BIT OPENFLG ;Is it open? BMI $1 ; Yes JMP NOTO #0FF ;Input buffer size JSR CNTOUT LDA IBUF_CNT ;Number of chars. in input buffer JSR CNTOUT RTS CNTOUT STA (CSLIST),Y ;place word onto param list INY LDA #00 RTS STAT03 LDY #00 ;3 -- Retrieve driver buffer info. LDA #01 ;Output buffer size JSR CNTOUT LDA #00 ;Number of chars. in output buffer JSR CNTOUT LDATAT00 RTS ;0 -- NOP STAT01 RTS ;1 -- Retrieve device control params STAT02 LDY #00 ;2 -- Get newline character LDA #00 STA @CSLIST,Y INY STA @CSLIST,Y NOTOPEN ; No - go do error $1 SWITCH CTLSTAT, 3, STATSW BADCTL LDA #XCTLCODE ;Invalid control code JSR SYSERR STATSW .WORD STAT00-1 .WORD STAT01-1 .WORD STAT02-1 .WORD STAT03-1 Seed up INCADR BUFFER ;Increment addr of user buffer JMP $2 ;--------------------- ;DRIVER STATUS REQUEST ;--------------------- M_STAT BIT OPENFLG ;Is it open? BMI $1 ; Yes JMP SET_1Mhz ;slow down $4 LDA STATUS ;wait until interface card is ready AND #BITON1 ; to accept a byte BEQ $4 STX DATA ;send it SET_2Mhz ;sp REQCNT ;Increment count - forms 2's complement BNE $3 ;Is count zero? INC REQCNT+1 BNE $3 ;No RTS $3 LDA @BUFFER,Y ;Get character from user buffer TAX NOTOPEN ; No - go do error $1 LDY #00 LDA #0FF ;One's complement of request count EOR REQCNT STA REQCNT LDA #0FF EOR REQCNT+1 STA REQCNT+1 $2 INC 1 INY STA @RETPTR,Y RTS ;Return to user ;-------------------- ;DRIVER WRITE REQUEST ;-------------------- M_WRITE BIT OPENFLG ;Is it open? BMI $1 ; Yes JMP ;increment returned byte count JMP $2 ;get next character $4 MOVB ICSMR_PTR, ISCSMR_PTR LDA RETCNT ;Get count of returned bytes STA @RETPTR,Y ;Send to user LDA RETCNT+ SET_1MHz ;slow down LDX DATA ;get byte SET_2MHz ;speed up CPX #0F8 ;is it a real-time message ($F8..$FF)? BEQ $1 ;br if clock-byte ;BCS $1 ; br if so -- ignore them TXA LDX IPROD_PTR STA ILOC_BUF,X INC IBUF_CNT INC IPROD_PTR $1 RTS .END Notes for .MIDI version 1.12b: My interface card is a PasshIhJh\h] wh]h^ w\\ ]] ]L ]L\A \A JHIH`i8\i]i\`\]`K`M %b&*L+ 16>:)    kL GA3/1.01/LINr GRAFIXMO , GO MIDI My setup: Casio CZ-5000 synthesizer, Casio RZ-1 drum machine, and Vesta Fire 4-track cassette recorder. pics. Stop by your local music store. Magazines: Electronic Musician, Keyboard, Music & Technology. Books: MIDI for musicians by Craig Anderton The MIDI book by Steve DeFuria (this guy has 3 or 4 books) Compuserve: GO MUSICFORUMoming in at 31K baud if it has to drag itself around in BASIC. I don't want to sound like a grouch, but please don't ask me any questions on MIDI hardware, MIDI spec 1.0, MIDI cables, music and such. There are lots of books and magazines on these tomments and/or suggestions will be appreciated. The only problems that I've encountered are moving the pitch wheel too quickly and timing-critical activities like sequencer and sound-patch transfers. The /// sometimes isn't fast enough to catch the bits c the BCS $1 What if the buffer is full when new characters come in? The head of the buffer gets over-written. I realize this is cruel, but there is no way to send an XOFF to a synthesizer. You can consider yourself a beta-site tester. Any coK of memory. To set the driver for another slot, change the value of "slot" located within the "Hardware I/O" section. To let the driver pass along real-time messages, comment-out the BCS $1 within the MIDI_MIH section; to ignore them, put back "LDY offset; LDA data,Y" -- 7 to 9 cycles (2) COMPATIBILITY: This may not apply to most /// applications, but Apple ][ programs expect the interface card to be in slot 2. This may not apply because most Apple ][ programs also expect at least 64e strain-relief on the MIDI cables make it a tight fit. My suggestion is to either get a cable with a right-angle connector or to make your own cables. This driver is set to slot #2 for two reasons: (1) SPEED: "LDA data" -- 4 clock cycles port (tm) compatible MIDI interface card made by SONUS for the Apple //e, ][+, and //gs. I purchased it for under $100 from Sam Ash in White Plains, NY. The 6" card will fit in the Apple /// with no problem, it's just that the connectors face inwards: Th kLK``9(89:9g:h:h L89:mm95:6:6hg gh h 99 O S   L `ee m`iɂ`0`)``.`5`=`C`E` `BGRAF (C) APPLE 1980j @@@@ @```    `OLIHEDCB?<;8541.+*x  `"hhhhhhhh    HH`XVTRPN ;(%channel, @note, @velocity) ;rts .end returns ; future additions: ;.proc MIDIFLUSH ;rts ;.proc NOTEON,3 ;(%channel, %note, %velocity) ;rts ;.proc NOTEOFF,2 ;(%channel, %note) ;rts ;.proc GETNOTE,3 , statlist bne oops push insize push return rts OOPS tax ;let BASIC handle any errors moveb #SERROR, DISPATCH+3 txa jsr DISPATCH ;never ;do we already have the devnum? bne $1 ; br if so SOS GET_DEV_NUM, mdnlist bne oops moveb devnum, statdn moveb #80, mdevflg ;set flag $1 SOS D_STATUSvnum .byte 00 ;device number returned here openflg .byte 00 mdevflg .byte 00 return .word 0000 begin POP return pla pla pla pla ;trash bias lda mdevflg statlist .byte 03 statdn .byte 00 .byte 03 ;retrieve buffer info .word buffer ;status list pointer mname .byte 05 .ascii ".MIDI " mdnlist .byte 02 ;get device number list .word mname depen before calling. buffer .word 0000 ;output buffer size .word 0000 ;number of chars in output buffer inmax .word 0000 ;input buffer size insize .word 0000 ;number of chars in input buffer 0CB GETDEVNUM .equ 84 DSTATUS .equ 82 DCONTROL .equ 83 DISPATCH .equ 0E4 SERROR .equ 15. OPEN .equ 0C8 .func MIDISIZE ;returns number of bytes in .MIDI input buffer. jmp begin ; Device must be o %1+1 PHA LDA %1 PHA .ENDM .MACRO SOS BRK .BYTE %1 .WORD %2 .ENDM .MACRO MOVEB LDA %1 STA %2 .ENDM READ .equ 0CA WRITE .equ Title: Midistuff.inv invokable Created by: SYSOP on: 01/24/1989 13:58:13 .nomacrolist .nopatchlist .MACRO POP PLA STA %1 PLA STA %1+1 .ENDM .MACRO PUSH LDA .GRAFIX jj# \\JHFD=;9210-,+*)!   v Q LJFE>987410/-   `+(%" Bhhh h h h hh hhhhhh  HH`ZXVTRPNLJHFDB@<;85431hhhh   HH`420.-&#  Phhhhhhhhhh  HH`DB@><:86421.+*)'jhhhhhhhh    X XSOSWRITESWRITERWBUF  RETADDR PLINITCHK sITCHK VIEWPORT VIEWPORTWBUFLEN }UFLEN SOSWRITESWRITERWBUF  xplhd`\XUFLEN SOSWRITESWRITERWBUF ~zvrRETADDR $ INITCHK ITCHK XFROPTIO XFROPTIORANGECHKNGECHKWBUFLEN UFLEN #ITCHK WBUFLEN DUFLEN SOSWRITEGSWRITERWBUF ?:72-(SYSFONT SYSFONT RETADDR njDRAWIMAG DRAWIMAGINITCHK ITCHK WBUFLEN RETADDR INITCHK ITCHK RANGECHKECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  NEWFONT NEWFONT INITCHK =+SOSWRITE@.!RWBUF  83& INITCHK uITCHK GRAFIXON GRAFIXONWBUFLEN UFLEN SOSWRITESWRITERWBUF zBUF GPGSREQDLGRAFIXMO GRAFIXMORBUFLEN 9RANGECHKwWBUFLEN ASOSWRITERWBUF \SOSREAD GBASADR TSOSSMARK$INITCHK ITCHK INITGRAF INITGRAFWBUFLEN RETADDR ISOSDSTATGSCB kSOSOPEN INITCHK READPARM5CREFNUM DWBUFADR ?BMOVCHK RBUFADR 7WRITEPAR=SREFNUM FRREFNUM 6WREFNUM >INITFLG KSOSCLOSEhhhhhh HHHH`&$<D^Z FpHx  )) y xHHHJJiH 詏 鮀 `}wqnkjba_\[ZYXWVURQ$hhhhhh HH H)HHH`20+*)Hhhhhhh HHHH`&$< 詏 )x `a^]NMJGF>=<10/.+* )) y xHHHJJiH 詏 鮀hhhh  HH`420.,*)&#"! Rhhhhhh    HH`DB@><:983.+('&$h J)` `!0 nljhfdcbQNMLJFEDCBA<;6hhhhhh  HH`420.,*)&#"! Rhhhhhh    HH`DB@><:983.+('&$hhh-&#  P  `"hhhhhh  HH`420.,*)&#"! Rhhhhhh  B B HH`yyP`GB HH`)r` @A>~|zxvtslgbWTSRPMED=hhhh   HH`420.-&#  Phhhh   HH`420.TRETADDR  SETCTAB SETCTAB  INITCHK ITCHK RANGECHKHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  'RETADDR tpINITCHK ITCHK PENCOLOR PENCOLOR RANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF |x FILLCOLO FILLCOLO YLOC  SDSTATGSCB  INITCHK  ITCHK XLOC XLOC RETADDR     SOSDSTAT SDSTATGSCB   INITCHK  ITCHK YLOC  ASADR SOSSMARK SSMARKRETADDR  z v INITCHK  ITCHK XYCOLOR XYCOLOR RWBUF  F SOSREAD  SREAD RETADDR  SOSDSTATGPGSREQD GSREQDSOSCLOSE SCLOSEGRAFIXMO AFIXMOGLOAD GLOAD RBUFLEN  N RWBUF    SOSREAD  EAD GBASADR GBASADR ( ASADR SOSDSTAT~ SDSTATGSCB  INITCHK { ITCHK CREFNUM  EFNUM RBUFADR  ADR SREFNUM  EFNUM RREFNUM  M WBUFADR   ADR GSAVE GSAVE WREFNUM F  M GPGSREQD5 GSREQDSOSCLOSE> SCLOSEWBUFLEN 8  LEN SOSWRITE; SWRITERWBUF C F INITCHK  ITCHK BMOVCHK  OVCHK INITFLG  ITFLG RWBUF  F SOSDSTAT" SDSTATGSCB % CB INITCHK  ITCHK CREFNUM  EFNUM  T P SOSDSTATj SDSTATGSCB LINEREL LINEREL INITCHK g ITCHK WBUFLEN  UFLEN SOSWRITE SWRITERWBUF } d ` \ X RELEASE RELEASE  RETADDR % ! INITCHK  ITCHK LINETO LINETO WBUFLEN  UFLEN SOSWRITE SWRITERWBUF     CALCABS x q ABS RETADDR CALCABS  ABS RETADDR  SOSDSTAT SDSTATGSCB INITCHK  ITCHK DOTREL DOTREL WBUFLEN  UFLEN SOSWRITE SWRITERWBUF SWRITERWBUF  RETADDR c _ < 8 INITCHK O ITCHK WBUFLEN Y UFLEN SOSWRITE\ SWRITERWBUF T L H D @ DOTAT DOTAT RWBUF ZRNJFCALCABS BRETADDR SOSDSTATSDSTATGSCB  MOVEREL MOVEREL INITCHK ITCHK WBUFLEN UFLEN SOSWRITEWBUFLEN !UFLEN SOSWRITE$SWRITERWBUF BUF RETADDR ieB>INITCHK UITCHK MOVETO MOVETO  WBUFLEN _UFLEN SOSWRITEbSWRITERETADDR INITCHK ITCHK RANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  INITCHK ITCHK FILLPORT FILLPORT  WAP /// SIG PUBLIC DOMAIN LIBRARY PDS NAME: Music, Music, Music DISK ID#: 3BSB-16 BOOTABLE?: Bootable A disk full of music, all with a decidedly Apple /// bent. MORE INFO ON SIDE TWO!pple /// bent. MORE INFO ON SIDE TWO!ount%/256));"#1;time%-256*time%/256));#1;time%/256)); 1000a%=11000count%=1)*c.val%)1"THE COUNT IS ";COUNT%:"THE TIME IS ";TIME%130500 =27#1:::"MENU.MAKER" 1000TO END DURING THE PROGRAM, PLEASE HIT THE KEY."F"HIT ANY KEY TO START."PG$d,ncount%=0::c.val%=18383:mode%=128:vol%=40x#1,".audio":499time%=1)*300)#1;mode%);vol%);$#1;count%-256*count%/256));#1;c 1 * It also now gives you a variable * 1 * time% * 2 * * 0 * *0 ******************************************2><"0 ******************************************0 * Bob's Noises - MODIFIED BY DGO *= * -------------- 12/9/90 * 2 * As modified, this program will now * 1 * print the count and time values. *FILWRITE FILWRITEGETRFNM RTRFNM ERROR ^ROR DOARRAY OARRAY  ERROR ?BUFPNT NT DEVINFO DEVINFO MOVESTR FILREAD FILREAD BUF :4 GETRFNM BUFPNT OJNT ERROR ROR DOARRAY e=TPARMSERROR uROR BUFPNT BMOVESTR REQNUM UUM BLDSTRN DSTRN BUF pia RETURN RETADR  GETPARMSFREQNUM BUF "CONTROL CONTROL RETURN RETADR GETPARMS TPARMSERROR ROR STATUS STATUS BLDSTRN ,BUF |F GETPARMS10,1636,205 1457,10,1298,10,1226,10,1457,20,1092,10,1092,10' 1226,10,1298,10,1457,10,1636,30 #1 VOL%=30 X=124&N,T0128);60);#:N-256*N/256));N/256));#DT-256*T/256));T/256));NX X#1:v= 1298,10,1636,20,1457,10,1298,10,1226,10,1457,20,1457,10= 1733,20,1636,10,1457,10,1298,10,1636,20,1298,