LmSOS BOOT 2.2 by B.C. (c) 1985 by ON THREE. SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUNDINVALID KERNEL FILExةw,@  4  J  С Сȱ⩤i8# /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-03DISKNAME.DAT!FLASHNAME.DATGw -READ.ME.FIRST4P2 b %RETRV -Vbb*SOS.DRIVER 48Z-RUN.RETRIEVER bb%SEG.T 0j8Ÿ/ *SOS.INTERP J4keb#! *SOS.KERNEL ~,Vb#!aIII.DAD.031123Au' *HELLO.TEXTP0HELLO  / *MENU.MAKER }8>*QUICK.NOTEb$!*+REQUEST.INV b )RETRV.INV) D) 8Lm#im#iЛ#L⡠ȱ С С.6L憦  СLmm l y` @8(Je稽6ʈ00 WELCOME! WAP /// SIG Public Domain Library Disk Category/Number : DA Datasystems/3DAD-03 Disk Format: Self-booting Business Basic (SIDE 1 ONLY) This disk is one of a 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), HVOLUME 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 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: FLASnt it with Menu.Maker. The WAP /// SIG thanks Daryl for placing his tremendous series of programs into the public domain for all to enjoy! series to contain the programs of Daryl Anderson, of D.A. Datasystems. On side one you will find The Retriever, a Business Basic program that will retrieve deleted files. Side two contains the User Manual. You can read it on the screen or priCA)"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:B$(I);v:520: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/2)I=I+1I2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:>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"""""""> >>>xr !"#$%&'()*+,-.GA7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"CUSTOM.3 )((8*,;((*,((+)((9/(p((>3  =9 :9 .(~|L|LNqooGoDDDcc0ccpc]]c"QM"|@@pAATT**|el; G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 lev 1600 &:WW=1:0 :SEG=1;".D1/S EG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T READ PASCAL TEXT FILES."04=10:"M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$П,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=211660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$="JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750T 0")2070H540R\A$="RUNNING "+B$(I),16,B)f"79C";A$;:=0pB$(I),16,B) z::SEG=1".D1/SEG.T"t=+B$(I),16,B) yCT=CT+1~240:=24:=0:"@ ..... "DATE.TIME.LINE" ....JM=Ҡ,4,2))BTM1630,1640,1650,0=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1 œ2120B=B$(I),16)," ")-1 B$(I),"BASIC 0")850B$(I),"TEXT 0")890 B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXDL8H\0`(d  $,($  ,BSerial Printer Driver -- Copyright (C) 1983 by Apple Computer Inc..PRINTER A")Copyright (C) 1983 by Apple Computer Inc. HH` (# (KXT .")"#)  #`,.$ ()-'( / .`% (.L,/0x ('( `,.0L& (,.0L7 Đ`ʥ逅8n13}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̰BTVSPLH   5"ʘ HH` (# (=  0`)aI>8?>p<<AAA@@8A@q==C)CB)B Crx 0, )ߍ:) J)*PR,T,V( : `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< B h A`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  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ՐϭPh0 йPL)`)L` L``  `L` H , 8 V ТΕLϦI ] +)J* g I V 8fxL@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)`  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::"    ) . 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 ~ /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ئȢΆѽϽ`/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ԭ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/12es. Side One RUN.RETRIEVER :(From Menu.Maker) runs the Retriever program. Side Two USER.MANUAL :Complete documentation about The Retriever. TRIEVER may not be able to recover all or part of a file if it is not used immediately after the file is deleted. Since this cannot always be the case, THE RETRIEVER has facilities to assist you in recovering partial files under many circumstancIf you delete a file and then alter or save other files on that disk, it is possible that parts of the disk which previously contained data from your deleted file will be over-written by the new data, and thus permanently lost. THE RE356K ID#: 3DAD-03 BOOTABLE?: Bootable THE RETRIEVER will recover inadvertently deleted files on your Apple /// floppy diskettes or hard drives. In most cases the lost data is fully and reliably restored. /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-0300 WAP /// SIG PUBLIC DOMAIN LIBRARY PDS NAME: The Retriever DISEAD 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" HH` (# (ALS`,S$ ( M iR)QKL % "_TUkVW S`% (SLn Zx R)(KL `,S0LrEąĩEŅq,k0stH 8fqhq:,V0-,X0x R) X)(LW h,TULarȥȑ`,S0LoEąĩEŅ o`n L#` L``  `L` H , 8 V ТΕLϦI ] +)J* g I V 8fxLL) L8``Lթ`~L8L)  =H 'HH N M))Mhh0 ϭPh0 йPL)`)LL }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  &`LL) @ 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL  }LO}~~Șݻ~`}}~L< vЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mwwxixÈ``,t0L4 HH`L  d!  `ɖ" ( dÈ  ``,t0L4 d0Cս30. , V  @„ȄL5`ʝ`))ժu/((((PPPP @``` @@@@`xp<@ @ :H9H` (# ( -l..PcJt`,t$ ( t`tL4`,t0L4 HH`! (`ɖ" ( """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww(C) 1980 Apple Computer147:=@CWZadkn9Copyright (C) 1983 Apple Computer, Inc. Graphics Driver..GRAFIX b """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwwwDINS^bkmoqy!$'*-036<?FKUn|  $)036=BEJQX]`ejorw "'.\pqnp aLm bLm cZ ) ` ) `x,X0R p)(`KO} #9<CHKjoz $*-fYuqgQ,V0L@VEPf>i\]M,j,qg$[HX ))hq mm0 stqs[L,j,XLl)`Z5L,lLp,VP VeLE,WWVfLEZZLpnl,Y0g,dP\,]0X]eLERl`)  __ ` ) (`^" ( Ù^ `ÍTȱÍU`n064e0[x R X([ `R )l) )g mmL)` mmL ),d-eYL 8fqn,S0L lHkH`! (rs`^" (x^ÈȌm(`TȭU` n  q `ȩ`,S0L HH`Lfh,V W ,W0x_)_ qnZ[oprsXY\]m@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ` m j`Hآ Hӭԭ h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭeٍeڍ808$(/4:?IXad#ˆ̭U)? VW @ ?ddxtB˩Eʍ@Xx ,P Eʍ(itiBX`,A0Lp HH`! (```,A0Lp HH`L%&S```lBcguwy{} vHuH` (# (jjA`,A$ (BC x) @( A`% (ALpx)`(BC `,A0Lp& (,A0Lp9 æĬSɀ֙TȌS 9S`YX`X-,    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{(Z.AUDIO C(C) 1980 by Apple Computer Inc.D  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~    ) . 6 = J P S X [ \x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}%(-47=FMUX\_jmz'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruz/47=G`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJJ) ܭL FܪJJJJ)`$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0p Q%Q̑`pPIE1pΦ#$01ʐ1 ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ! LP \LD$7߭&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/(L%τ`ϩE҅0Ȅ(fL%)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #iϤҐ мφi`Jf`<,ӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥeepɀjff&ݥeepɀjffݠ %٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ ,$0F y a$,1)="/"5060:s=s-1 5030=a$240 MENU.MAKER 6.2 * Thanks to C.M.Davidson for his help! 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 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[IKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|ŭ᭭򭭪𭭠򠭠頭퀠Šӳ頠𠠀𠠠堠젭ӠΠSOS NTRPRHeLZĠР쁭堠堠ՠP򠭠έ魭^_ ꂅ__hg^`8 悕`gHhHhH5?6@6@*5g5666gҦhhhhhhhhg:e:;e; ;m;`@c@c?be^@e@ _m__^ \Lx] i6g55``BY BSAMHH H]fHhH_HcH uhch_hhhfhi0hhhB B A` ֥'( )&񦕤LNKM$Lb ě $m wl "m6X6+5 56ɀ56H $mhɀ(Z)& mL k~ wlL ͝dL Nsd# wl^`=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, 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 = 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$ 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  QpU65m5l5k5n 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 y56y^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Ȫnihoi8傐IL|`7 z!L|iD8$n yiLyn)FjjjLyiɠ %}nnI*imLyjklm` s e-o+ smo..IE)2s S -+fh r$h8fL}fg s$gPf8ef B{f &{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 %}ei0h656H |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@ @@h5H ?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 |Ģ {gggegȱgehh Ľ ,L<^  8` ^LQ ŠhhL6 $P 訽5 ͎56ۥ 8ee L:^?be^@ce@c __^_ \__^;<<6  $Phihi^Ȋ^6gȑgʆ5a g5ȑgȥg <^^^__ɂ逅____<;إy6 hlhm^Ȋ^LL:^ȥ5^H^h ͎el5emȆ6п  ͎e^e__ iLZe *& eecJcm J_mm嚍J_AgBhBh \^A_B_B` ^"( zM jF566 x}z{6{LҜ #z{{"} GLsL<^ jHHH i dj ٥z{{ j}hhh ;в| |膆  RRRRH 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^J 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|H,;' L Pu  pLLwl`|H}HzH{HHH ɶ# xhH s  ~q s,; Ls  ~q$ hxrL iLpnH ~hɀ8(*iR.-:/ RRhhh{hzh}h| Pu p 0|8pJ LUL-LG -$p0`pog $mkڥrok8o,koLdjAaCcoJ mko 5 $mkk mLw L L HG56H6LExh  (`|||}z,A[ :808Ш`,ޞ@`y Gy`LHq ,`HȘe`{ai|a|h kLF  a h ; ` s 欦op б G je б ɩ ̬ 穰t d sd 7L=LVdʆ `! `Ȣ`  婐 ɩ`$ L2u u`I Il8)id`  z Q> "] a a$% iLg֢   sLj$%`8f  a e ; ` s ɩ` YLILcopL7 z0xH ׫$0_ ;h8fH`aai shH2 h zJJJJf Ik ɩ` ̬ t os YLA ևLLק jWXX` ׫$`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;ee?eJeKeLje֩ u>e?eՍ,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?e5>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*`)ȥ+8ۍې  ,ѺLTΠ"LΠ5 խ ɐ /ݐE`C8`)@ ϰa)ۥ,8ېu+J,\ ȱLJΠ) ϰ'#,J(] { ΰ ƑȥǑ.8` { ΰ,JѲ ƳL΅ƱƳ ΰҥ,J+jѲ84ƳJJ 2ΐ3泑ƳLTΩ潑ƽ`ƱƳ ΰ( {Π۵*+)e`8`)` J J + ΰ" 0 ΰ 🱼ѼL8`ǩ Ϡ` ϰ ƑȥǑ` ѺDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰ泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰۈ)ۅƭۅ 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 -ѥ ݰL`5`i 祻(8`2ޝ51©ޅéąŅƍ >ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H h=`Insert volume: Τ in device: 蠠ɠ then press the ALPHA LOCK key twicex)_ @,P,R,T,V) )) `)8( ߠ',@ ߠ0  'Ȉ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žѥ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`]PU]]UPPX0 0 PPXPP  į󠠩ҙ̙ɠΠɊՐӠӢ̢ՠҠŠԠҚРĠ鱃ԠȠࠠLQ  * WHHH>%H H @`)h8`  HШБˆeЅАb >_-%^%p_^^_ab"08^c_L8^c_L8^c_L8^c_ȑcc\] ab^_ ``aV R0M bba dda0h8蘠fȊf` ab 1abo)abaݰb L9c`` a N0Ioa0H ha`pLopna n`  3ɠ/8 L %iLɠ8逨J Hh $` ܊HH`zxvtVSQPMED?<'%hhhhhhhhhhH)ihȑHH`^\ZXVTRPNLIHGE(&hhhh)HHL hhhh)i ꊈ눌 حHH`{rpnlIFEB?32-*&$L hhhh) JJJL:********** START READBL **********h,h-h6h7h4h5h'h(h.h/0.1,%0#%OX60'&ڎ6,&00H)ihȑ-H,H`~{zyxski`]\T75GA3/1.0OP2  READBL  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 keypaden 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` `$" 6hhhh LHH`.,*(BL"--- START OF GETDNUM ---5hhhhhhh5h66 H HHH`--- END OF GETDNUM ---kJH/-+) FYREADBL READBL BLOCK 6RETURN ,PARAM0 0PARAM1 1PARAM2 2DEVNUM .LENGTH 4DUMMY 'EXPBL EXPBL CMPBL CMPBL BLOCK fbK REQNUM BUF "CONTROL CONTROL RETURN RETADR GETPARMS TPARMSERROR ROR STATUS STATUS BLDSTRN ,BUF |F GETPARMSca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFB>;:9853/&" NL64Ch5h6h3lh4m 0/L6H5H`g8640'%76,V^dKA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`gca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFBhhHHHH l5m6m6  ЙW5X6X6 ` 5`MD32KA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`g##6 >?Bi{Ci|) |=! "LL{@?>8(O\ F9 >{i 5|i6) 6|8 L5{ hhhh0 hWhXXL `L5GA3/1.01:7SY CONTROL DUMMY Y RETRVST RETRVST RETRVFI RETRVFI RETURN ?; DUMMY 3($ GETDNUM GETDNUM  WRITEBL WRITEBL RETURN ^ZPARAM0 M0 PARAM1 RAM1 PARAM2 DEVNUM ~z LENGTH njTH DUMMY vrY RETURN =TPARMSERROR uROR BUFPNT BMOVESTR REQNUM UUM BLDSTRN DSTRN BUF pia RETURN RETADR  GETPARMSFERROR ?BUFPNT NT DEVINFO DEVINFO MOVESTR FILREAD FILREAD BUF :4 GETRFNM BUFPNT OJNT ERROR ROR DOARRAY eWORD(41)GETBLK%=BIT.MAP.PTR)I=0BLKS.ON.VOL/4096),"Reading BITMAP from BLOCK # ";GETBLK%5READBL(%DEVNUM%,@BITBLK%(0,I),%BLKLEN%,%GETBLK%)EXPBL(@BITBLK%(0,I))GETBLK%=GETBLK%+1I9 *************************************  ** ; ** R E A D I N B I T M A P B L O C K S **9 ***************************************************FUNNO=3:6200=GETBLK%=STARTBLK%:5100: READ BLK#2 FOR BITMAP LOC&COUNT1BIT.MAP.PTR=WORD(39):BLKS.ON.VOL= *************************************************** **, ** P A R S E F I L E N A M E **9 ***************************************************FUNNO=2:6200 20009 *********************************************** "+bmaperrmax:6300:delay=3000:11200:320-zW5IN$,6)="DATEST"TESTING$="YES":320|pathname$=w5in$W~I=2PATHNAME$):PATHNAME$,I,1))>96PATHNAME$,I)=PATHNAME$,I,1))-32).w6$=" Retrieving file : "+pathname$:60009"e.g. .D1/LOSTFILE not /MYDISK/LOSTFILE"::4T"Be sure to include all subdirectory levels.":'X"i.e. .PROFILE/PAYROLL/EXEMPT/MAY"^w6400: input at window #5}yw5in$,5)="EMAX="bmaperrmax=w5in$,6)):w5$="Block Fault maximum reset to **94 ***************************************************%650500: inits for each iteration;FUNNO=1:6200@:!J"Type in the FULL PATHNAME "2L" of the file you want to RETRIEVE.":.N"Use Device Names - not Volume names"::3RUPDATE...DELETE FLAG,FILE COUNT,BITMAP Z DONE[900\TESTING$="YES" _::bretrvfi(%0)c".D1/MENU.MAKER"d9, ***************************************************. **60 ** I N S T R U C T I O N S & I N P U T2œ64>i1=199::@ Fœ40000H100: COMMENCE!L300: INSTRUCTIONS AND INPUTN400: PARSE FILE NAME(P450: READ IN ALL BITMAP BLOCKS NOW R500: SEARCH FOR FILE ENTRY T600: GET FILE STORAGE TYPEV700: CHECK BITMAP1X800: *************************************************(ECODE<>09000* 0œ40000A2 ***********************************************************\7WORD(X)=BUFF%(X)+256*BUFF%(X+1):TSTBIT(X)=2*((X/2^BITVAL)/2)-X/2^BITVAL)/2)) < *F * 9/23/83 rev 12/02/83 v 1.2 *F * *F * (c) Copyright 1983 D A Datasystems *F ***************F ****************************************************************F * *F * R E T R I E V E R - R E T R V is part 2 *F * FILWRITE FILWRITEGETRFNM RTRFNM ERROR ^ROR DOARRAY OARRAY  ****************** **" ** SEARCH FOR FILE ENTRY **9 ***************************************************FUNNO=4:6200NEXTBLK%=STARTBLK%:RD=0LEV=1LEVELS%<NEXTBLK%=0THISENT=1ECODE=2:9000:LEV=LEVELS%:5753 GETBLK%=NEXTBLK%:5100:THISBLK%=GETBLK%:RD=RD+1)PREVBLK%=WORD(0):NEXTBLK%=WORD(2)ARD=1LEV<=LEVELS%ENTLEN=BUFF%(35):ENT.PER.BLOCK=BUFF%(36)$&LEVHEADER.PTR=ENTRY%(37)+ENTRY%(38)*256@GETBLK%=HEADER.PTR):51001BFILE.COUNT=WORD(37):2 UPDATE FILE ENTRY03 ***************************************** 4GETBLK%=HITBLK%:5100-6BUFF%(HITPOS)=FSTYPE*16+NAME$(LEVELS%))j7bmaperrcnt<>0x1=blocks.used-bmaperrcnt:buff%(hitpos+19)=x1-x1/256)*256:buff%(hitpos+20)=x1/256)8PUTBLK9  ***************************************************" **!$ ** U P D A T E A L L& **9( ****************************************************FUNNO=7:6200,BMAPERRCNT<>010100/1 *****************************************%(I)+256*TEMP%(I+256)):T1%K=K+1:GETBLK%=T1%:"Reading Index Block":5100:785 J=0255H BITNUM=BUFF%(J)+256*BUFF%(J+256):BITNUMK=K+1:5200:BITCLR7200! K=BLOCKS.USED-1J=255:I=255JI+w5$=sp70$:6300: clear residual clocksBITNUMJ=J+1:5200:BITCLR7200J=BLOCKS.USED-1I=255 I:790  TYPE=30BITNUM=KEYPTR%:5200:BITCLRECODE=09:9000"Reading Keyblock"1READBL(%DEVNUM%,@TEMP%(0),%BLKLEN%,%KEYPTR%)EXPBL(@TEMP%(0))K=0:I=0127^T1%=TEMPBITNUM=KEYPTR%:5200BITCLRECODE=11:90004clockfact=blocks.used-1:7500:FSTYPE$)=37600BITNUM=KEYPTR%:5200:BITCLRECODE=10:9000-GETBLK%=KEYPTR%:"Reading Keyblock":5100J=0:I=0255$BITNUM=BUFF%(I)+256*BUFF%(I+256)'ecode=8:90009 *************************************************** ** ** CHECK BITMAP **9 ***************************************************FUNNO=6:6200(FSTYPE$="D"7100:: SUBDIRECTORYFSTYPE$)>1730tory"FSTYPE$<>"3"695:BELL$:"Please Note : "'"File is ";file.eof;" bytes long "E"Retrieval could take up to ";file.eof*50/1000000);" minutes."i:"Any key to continue...":"Type Q to quit for now. ";any$:any$="Q"any$="q"*************************bFUNNO=5:6200JlFILE.EOF>131072FSTYPE$="3":ۻFILE.EOF>512FSTYPE$="2":FSTYPE$="1"vFSTYPE=FSTYPE$)8FILE.TYPE%=15FSTYPE$="D":FSTYPE=13: SUBDIRECTORYD"Storage Type is : ";:fstype$)<>0fstype$:"SubDirecLEV=LEVELS%520?LEVDTHISENT=1ECODE=1:90009N1400:1500: RETREIVE ENTRY() AND SET VALUES FROM ITS9X ***************************************************Z **"\ ** GET FILE STORAGE TYPE^ **9` **************************9 *************************************************** **  ** TERMINATION CLEANUP **9 ***************************************************FUNNO=10:6200:" Please Wait"DELAY=400:11200:9BELL$::"Do you wish to run THE RETRIEVER again ? "11300: FLUSH TYPEAHEAD."Type Y or N then press return : ";again$%again$="y"again$="Y":120009 *************************************************** ** ** SEARCH FOR NAME ********* **0 ** READ AND EXPAND DISK BLOCK INTO BUFF%() **9 ***************************************************("Reading in disk BLOCK # ";GETBLK%RDERRCNT=01 READBL(%DEVNUM%,@BUFF%(0),%BLKLEN%,%GETBLK%)PBUFF%(512)=05150:DUMMY LOOP P=SL+1:SL=PATHNAME$,"/",P)SL=0SL=P*5:I=108LEVELS%=LEVELS%+1:NAME$(LEVELS%)=PATHNAME$,P,SL-P)0NAME$(LEVELS%)=""NAME$(LEVELS%)="/"2280I:ECODE=6:9000 : DUMMY9 ********************************************THNAME$,"/"):SL=02280:DEVNAME$=PATHNAME$,1,SL-1) DEV$=DEVNAME$))+DEVNAME$7DEVNUM%=GETDNUM(@DEV$):DEVNUM%>256ECODE=5:9000Rdevname$=".D1"=".D1":<>NEWPFX$10400: disk switch message and restart LEVELS%=0I=110:I=1: ;9 *************************************************** ** ** PARSE PATH NAME **9 ***************************************************#LEVELS%=0:DEVNUM%=0:DEVNAME$="",PATHNAME$,1)="."2230:ECODE=4:9000BSL=PA******(HITPOS=ENTRY%(49):HITBLK%=ENTRY%(50).FILE.TYPE%=ENTRY%(16):FILE.TYPE=FILE.TYPE%%KEYPTR%=ENTRY%(17)+ENTRY%(18)*256*BLOCKS.USED%=ENTRY%(19)+ENTRY%(20)*256 BLOCKS.USED=BLOCKS.USED%7FILE.EOF=ENTRY%(21)+ENTRY%(22)*256+ENTRY%(23)*65536ecode=08:9000:ۻn$)=014602K5=N$):K1=050:ENTRY%(K1)=SAVENT%(K1,K5):9 *************************************************** **- ** SET UP FILE VALUES FROM ENTRY%() **9 *********************************************,k1):11100:deldate$=xdate$#=4:nam$;nam2$;:=20:crdate$;=29:deldate$;:=38:ftyp$K1:"Q to QUIT NOW"Rw5out$="Type FILE NUMBER TO RETRIEVE or Q then press : ":6400:n$=w5in$N$)>THISENT-114603n$="Q"n$="q"$=""OK3=SAVENT%(K2,K1):k3>32k3<97NAM2$=NAM2$+K3+32*(k3>64)):K2=K2+1:1442-K4=SAVENT%(16,K1):k4>15k4=16+k4/192)FTYP$=FILETYPE$(K4)date1=savent%(24,k1):date2=savent%(25,k1):11100:crdate$=xdate$:date1=savent%(33,k1):date2=savent%(34e TO RETRIEVE":6400:ans$=w5in$:ANS$="q"ANS$="Q"ecode=07:9000:n$="1":k1=1:1490 "Possible Matches are : ":;"# FILENAME Created Deleted Type ":K1=1THISENT-1<K1;:NAM$=NAME$(LEVELS%):K2=NAME$(LEVELS%))+1:NAM2*******************************z **3| ** QEURY USER VIZ AVAILABLE HITS & GET ENTRY ~ **9 ***************************************************/bell$::thisent>21420::"MATCH FOUND"Uw5out$="Type Q to QUIT NOW...anything els********************************* **0 ** HANDLE HIT(S) WITH LENGTH AMBIGUITY **9 *************************************************** 2K=050 7SAVENT%(K,THISENT)=ENTRY%(K)<KATHISENT=THISENT+1s9x ********************ITPOS2STOR.TYPE=ENTRY%(0)/16):FILE.TYPE=ENTRY%(16)LEV=LEVELS%1270FSTOR.TYPE<>13HIT$="NO":NEXTBLK%=ENTRY%(17)+ENTRY%(18)*256:I=I2 1290.STOR.TYPE=01300:ۻLENEQECODE=3:9000 I w5$=sp70$:63009 ******************J=0:LENEQ=01K=BUFF%(I+J):SRCHLEN=(K-16*K/16))LENEQ=1CHKLENLENEQ1290J=1<SEARCH%(J-1)<>BUFF%(I+J)1290:J=J+1:J<=SRCHLEN1245jHIT$="YES":HITPOS=I:J=1ENTLEN:ENTRY%(J-1)=BUFF%(HITPOS+J-1)::ENTRY%(50)=THISBLK%:ENTRY%(49)=H9 ***************************************************)HIT$="NO":HITPOS=0:SRCHLEN=SEARCH$)4I=0SRCHLEN-1:SEARCH%(I)=SEARCH$,I+1,1)):&I1=4:I2=ENTLEN*(512/ENTLEN)-1)+4CLOCK=I2/ENTLEN:CLOCKSTEP=1I=I1I2ENTLEN 6350BUFF%(512)=4610400: 0 IS OK READ 46 IS DISK SWITCH#buff%(512)=255ecode=99:9000HRDERRCNT=RDERRCNT+1:"ERROR READING BLOCK # ";GETBLK%;" WILL RETRY"RDERRCNTBLKS.ON.VOLECODE=20:9000JBYTNUM=BITNUM/8)+LDIM2=BYTNUM/512):DIM1=BYTNUM-512*Drror...n.b. do not allow error-46 (disk switch) nowJWRTERRCNT=WRTERRCNT+1:"ERROR WRITING BLOCK # ";PUTBLK%;" WILL RETRY"WRTERRCNTBLKS.ON.VOLECODE=13:9000BYTNUM=BITNUM/8)+DIM2=BYTNUM/512):DIM1=BYTNUM-512*DIM2BITVAL=BITNUM-8**********************&SVP=:SHP=:w4$=" ========>":6500':WW(5,1),WW(5,2)WW(5,3),WW(5,4) 21);01);CLEAR.VIEW$;w5out$;:" ";w5in$21);13);'#:WW(2,1),WW(2,2)WW(2,3),WW(2,4)&&=SVP:=SHP:w4$=" ":6500Zw5out$=" "_;c *****************************************************)d CLEAR WINDOW #4 AND WRITE W4$ TO IT;e *****************************************************fSVP=:SHP='i:WW(4,1),WW(4,2)WW(4,3),WW(4,4)n21);01);xCLEAR.VIEE=25EMSG$="UNEXPECTED PROGRAM ERROR # "+Ü)+" at LINE # "+Û):"Cannot Continue"#ECODE=99EMSG$="INVALID MASTER DISK IN USE...":::"The RETRIEVER DISK you are using is not a valid copy of the software":" only the Master Disk and the Supplied BaRecurring DISK ERROR during WRITE access":" FATAL ERROR ... program terminated"#ECODE=22EMSG$="BITMAP ERROR - ":"Bit to be cleared is already clear":"Bitmap pointers apparently out of sync":"Unable to continue FILE PARTIALLY RECOVERED"]#ECODMAP ERROR for SUBDIRECTORY FILE...":"CANNOT CONTINUE"O#ECODE=15EMSG$="SUBDIRECTORY Pointer Chain GARBLED...":"CANNOT CONTINUE"e#ECODE=20EMSG$="Recurring DISK ERROR during READ access":" FATAL ERROR ... program terminated"f#ECODE=21EMSG$="sed CANNOT CONTINUE"#ECODE=12EMSG$="BITMAP ERROR More than "+bmaperrmax+" bitmap faults encountered":"file is largely irretrievable...CANNOT CONTINUE"H#ECODE=13EMSG$="KEYBLOCK for file is scrambled":"CANNOT CONTINUE"O#ECODE=14EMSG$="BITs been reused":"file is largely irretrievable...CANNOT CONTINUE"K#ECODE=10EMSG$="BITMAP ERROR for File KEYBLOCK...":"CANNOT CONTINUE"#ECODE=11EMSG$="BITMAP ERROR For Storage Type 1...":"The Single Block allocated to this file":"has been re-u NOT FOUND...":FATAL$="NO"5#ECODE=6EMSG$="Invalid PATHNAME...":FATAL$="NO"0#ECODE=7EMSG$="ERROR 07":9595: not used/#ECODE=8EMSG$="Voluntary termination ..."#ECODE=9EMSG$="BITMAP ERROR for Storage Type 3...":" Index block of file haSG$="ERROR 01":9595: not used0#ECODE=2EMSG$="Name "+SEARCH$+" NOT FOUND";#ECODE=3EMSG$="A File by that name ALREADY EXISTS !!"M#ECODE=4EMSG$="Pathname must begin with a "+34)+"."+34):FATAL$="NO"B#ECODE=5EMSG$="Device "+devname$+"clock=clock+19(# ****************************************************# **-,# ** ERROR HANDLER...POP GOSUBS AND END.# **90# ***************************************************2#4#i1=110:7):7#fatal$="YES"#0#ECODE=1EMlock (=len of line) and clockstep (= decr val of len)5T ***********************************************Vclock=clockfact:clockstep=1>`clock>100clock=clock/10):clockstep=clockstep/10:75205jclock>50clock=clock/2):clockstep=clockstep/2tTBLK%=TOGET%:5100)PREVBLK%=WORD(0):NEXTBLK%=WORD(2))NEXTBLK%=07490.BITNUM=NEXTBLK%:73008TOGET%=NEXTBLK%:7440BG5L ***********************************************4N xlate clockfact via scale to 50 long clockline@P get c6350: clock itbmaperrcnt=05400:'bitnum<>bmaperrsav(bmapi)5400:buff%(i)=0:buff%(i+256)=0putblk%=getblk%:5300bmapi=bmapi+1$ update bitmap for subdirectoryBITNUM=KEYPTR%:7300TOGET%=KEYPTR%GEt)=bitnum*4bmaperrcnt>bmaperrmaxecode=12:9000Hbmaperrcnt=bmaperrcnt+1I conditionally update bitmap...check for prior bmap errors and resetH block ptr to zero if block has been re-used...rewrite block to set in new valuesNEXTBLK%=WORD(2)2PREVBLK%PREVBLK%<>LASTBLK%ECODE=15:9000NEXTBLK%=07190BITNUM=NEXTBLK%:5200BITCLRECODE=14:9000 LASTBLK%=GETBLK% TOGET%=NEXTBLK%:7140  " bitmap check fault$!*bmaperrsav(bmaperrcnW$;}"10A";W4$21);13);':WW(2,1),WW(2,2)WW(2,3),WW(2,4)=SVP:=SHP# CHECK BITMAP FOR SUBDIRECTORYBITNUM=KEYPTR%:5200BITCLRECODE=14:9000TOGET%=KEYPTR%GETBLK%=TOGET%:5100)PREVBLK%=WORD(0):ckup Disk are authorized"~#ecode=99:"Please contact D A Datasystems if there is any confusion or if you need a replacement at nominal cost.":95#W4$="ERROR "+ECODE):6500$w5$=EMSG$:6300""$FATAL$="YES"FATAL$="NO":90%(0%:::"Press ANY KEY to retry ":: D%any$N%w5$=sp70$:6300X%w4$=w5$:6500v%%{%12000: instructions and input9' ***************************************************' **&' ** MISCELLANEOUS MESSAGE STUFF' **9' ****************************E L L O is Part 1 *F * *F * 9/23/83 rev 04/03/84 v 1.2 *F * *F *  RETRIEVERSERIALNO$="WAP3SIG"VERSION$="1.21"TESTING$="NO "F ****************************************************************F * *F * R E T R I E V E R - H REJT<>25541000^TESTING$="YES"41000 rœ40000|( 2œ40000hecode=25:9000D INITS FOR EACH ITERATION"vbmaperrcnt=0:bmapi=0:THISENT=1Ůw6$=" ":6000ž10300: swap disks messageſY+mm=date1/32)+8*(date2/2<>date2/2)):mm<10xdate$,1)="0"+mm):۰xdate$,1)=mm)+ + delay+DLY=1delay:DLY+$, FLUSH TYPEAHEAD BUFFER .,ZRO$=0) 8,CONTROL(%5,@ZRO$)".CONSOLE"V,. RESTART VECTOR.60@ ON ERROR TO HE************************F\+ input date1,date2 packed return xdate$ mm/dd/yy see sos ref 1-90f+xdate$="00/00/00"@p+yy=date2/2):yy<10xdate$,7)="0"+yy):۰xdate$,7)=yy)Lz+dd=date1-32*(date1/32)):dd<10xdate$,4)="0"+dd):۰xdate$,4)=dd)fx$=(%( MESSAGE RE IMPROPER DISK SWITCH (BELL$:>("DISK SWITCHING NOT ALLOWED HERE...retry the retrieval":(("Press any key to continue : ";any$ (12000/* *****************************************+ more misc/ + *****************sh to retrieve is on a Profile or"9z("other external fixed drive then we're all set now."|(#("Type GO when ready ...")("...anything else quits now : ";ans$ (ans$="GO"ans$="go"10390(ecode=08:9000'(testing$<>"YES"=".d1":newpKETTE containing"Z("the deleted file(s)."d(" or"9n("IF you have a second floppy drive (.D2) you should"9p("INSERT THE DISKETTE containing the deleted file(s)"*r("in it now and close the drive door."t(" or":x("IF the file you wi MESSAGE RE swapping .D1@( K(:bell$;;M("IF your system has only a single built in disk drive";P("and the file to be retrieved is on a floppy disk you"8R("should NOW REMOVE THE RETRIEVER DISKETTE from the"8U("built-in drive and INSERT THE DIS to"7'"create a short Read/Write edit program and pass "'"the file through it."'7'"Type GO to continue with partial Retrieval")'"...anything else quits now : ";ans$ 'ans$="GO"ans$="go"10190'ecode=08:9000''<(>(used by other files"'C'bmaperrcnt" blocks out of ";blocks.used;" cannot be retrieved"'8'"If you decide to continue with Retrieval the file"4'"data will be partially Retrieved but the file"7'"structure will be unreliable and you may need***********************t' *v' MESSAGE RE CONTINUING IF BMAP ERRORSx'S~'w4$="** CAUTION":6500:w5$="File Damaged by Disk activity since Deletion":6300':bell$:9'"Some of the disk space originally allocated to the".'"file has since been (c) Copyright 1983 D A Datasystems *F **************************************************************** œ40000VERSION=VERSION$)(INVOKEDONE$="NO"A2 ***********************************************************dn61 135,034,034,035,032,032,035,034,034 4TOPBRK$=136)) 136,000,000,127,000,000,099,034,034BOTBRK$=137)) 137,034,034,099,000,000,127,000,000LCLOCK$=138)) 138,112,076,066,065,001,002,012,112)RCLOCK$=139):CLOCK$=LCLOCK$+TRITE$=131))z 131,034,034,035,032,032,063,000,000|LEFTRITE$=132))~ 132,034,034,034,034,034,034,034,034TOPBOT$=133)) 133,000,000,127,000,000,127,000,000LEFTBRK$=134)) 134,034,034,098,002,002,098,034,034RITEBRK$=135))1:CH:BUFF$=BUFF$+CH):I:CONTROL(%17,@BUFF$)".CONSOLE"hJj 8lTOPLEFT$=128))n 128,000,000,126,002,002,098,034,034pTOPRITE$=129))r 129,000,000,063,032,032,035,034,034tBOTLEFT$=130))v 130,034,034,098,002,002,126,000,000xBOw(window.count,4)āi1=1window.count āJ1=14Ćww(i1,j1)ĂJ1ĂI1 6 03,02,77,02 03,06,55,21 59,06,77,21 03,23,14,23 18,23,77,23 03,04,77,04?ſ` MAKE.FRAME.NEW dJ=12XfCC:BUFF$=CC):I=09*CC-UNT):I1=1FUNCCOUNT:FUNC$(I1): 108" "Get File Name","Parse File Name","Read in Bitmap"9' "Search for File","Get Storage Type","Check Bitmap";, "Update DEL flag","Update File COUNT","Update BITMAP"1 "Termainate pgm"%|Ćwindow.count:wAR.VIEW$=28):CLEAR.TO.END.VIEW$=29)spaceline$=" "sp70$=spaceline$,1,70)"inv.vid$=18):norm.vid$=17)>ĆFUNCCOUNT:FUNC$(FUNCCO "Screen Image" "BASIC Pgm" "BASIC DATA" "Word Proc" "SOS System" "SOS Rsrvd" "SOS Rsrvd" "SOS Rsrvd" "ProDOS Rsrvd"ÿ INIT MISC VARSHOM$=12)%SAVE.VIEW$=01):REST.VIEW$=04)BELL$=07).CLEERALS_ **9d ***************************************************iÆKnÁK1=0K:FILETYPE$(K1):s 16x "Typeless"} "Bad Blocks" "PASCAL/CODE" "PASCAL TEXT" "TEXT/ASCII" "PASCAL DATA" "Genl Binary" "Font" line number ";;'Z:"RETRIEVER TERMINATING"::48000ȯ+ EXUENT$INVOKEDONE$="YES"RETRVFI(%0)testing$="YES": h: dummy9P ***************************************************U **'Z ** INITIALLIZE FILE TYPE LIT continue ";:any$:@ ON ERROR TO HERE E=255TESTING$="YES"۷JO:clear.view$\T=25=32=37"VERIFY THAT DISKETTE IS INSERTED AND DRIVE DOOR IS CLOSED":30100:7:clear.view$A<:"Unexpected System ERROR number ";;" ater-"+VERSION$:"72C";TTL$;::WW(2,1),WW(2,2)WW(2,3),WW(2,4)' : dummySVP=:SHP=C"Re-Insert RETRIEVER Master Disk & Press Any Key";:=shp:=svp any$6" ",u:"Press Any key to:INVOKEDONE$="YES"60000: SET FRAME VALUES"TESTING$<>"YES"RETRVST(%1) "::60086: DRAW FRAME$WW(1,1),WW(1,2)WW(1,3),WW(1,4):TTL$=SP70$:TTL$,1)="sn-"+SERIALNO$:TTL$,22)="T H E R E T R I E V E R ":TTL$,65)="v512),SEARCH%(16),ENTRY%(50),NAME$(16),BITBLK%(512,16),TEMP%(512),SAVENT%(50,20),filetype$(17)BLKLEN%=512:STARTBLK%=2(rderrmax=3:wrterrmax=3:bmaperrmax=20#50000: GET FILE TYPE LITERALS50130: INIT MISC VARS0"REQUEST.INV","RETRV.INV"000:290x "RETRV" : DUMMYI *******************************************************************8 ** I N I T I A L L I Z E - called from 61000I *******************************************************************@BUFF%(RCLOCK$) 139,003,012,016,032,033,018,012,003 SET VARIABLES HEREUTOPLINE$=TOPLEFT$:I=177:TOPLINE$=TOPLINE$+TOPBOT$::TOPLINE$=TOPLINE$+TOPRITE$BBOTLINE$=TOPLINE$:BOTLINE$,1)=BOTLEFT$:BOTLINE$,79)=BOTRITE$BMIDLINE$=TOPLINE$:MIDLINE$,1)=LEFTBRK$:MIDLINE$,79)=RITEBRK$#CURSLEFT$=08):CURSDOWN$=10)LSIDE$=LEFTRITE$+CURSLEFT$+CURSDOWN$:I=124:SIDELINE$=SIDELINE$+SIDE$:`CLOCKLINE$=CLOCK$:I=15:CLOCKLINE$=CLOCKLINE$+CLOCKLINE$::CLOCKLINE$=" "+CLOCKLINE$,50)?VEUPDATE...DELETE FLAG,FILE COUNT,BITMAP Z DONE[900\TESTING$="YES" _::bretrvfi(%0)c".D1/MENU.MAKER"d9, ***************************************************. **60 ** I N S T R U C T I O N S & I N P U T2THE WAP OFFICE LIBRARY HAS A NUMBER OF APPLE /// BOOKS AND MAGAZINES. THE RETRIEVER BY DARYL ANDERSON  Run Side Two Program#"TURN THIS DISK OVER, PLEASE."6"I WILL WAIT A FEW MOMENTS FOR YOU TO DO THAT..."(X=150002X<F!P"OK RUNNING SIDE TWO NOW..."ZX=11000dXn".D1/MENU.MAKER"x ,<,<.>.>/?/?d0hp!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 \1+I*1,1+I80-I*1,23-I^Q=0I/2=I/2):۵`Q=1I/2=I/2):۴b:J=10002::dJ=12000:: z: DUMMY V E R";:61028tNI=17::::"45C";"D A Datasystems"::"45C";"Tools Times Three"::"45C";"(c) Copyright 1983";:61028PRQ=0:I=200-1:61020@TI=14:::"49C";"PLEASE WAIT FOR INITIALIZATION";:200VXI/2=I/2):۵ZTOPLINE$:=24:=0:BOTLINE$=3:=0:MIDLINE$=5:=0:MIDLINE$=22:=0:MIDLINE$=22:=16:VERT$=5:=57:LVERT$+21);13);: RESTORE WRAP,SCROLL,ETCH:JQ=1:I=0201:61020:LI=10:"56C";"T H E R E T R I ERT$=SIDE$+SIDE$+SIDE$:VERT$,1)=TOPBRK$:VERT$,9)=BOTBRK$CLVERT$=SIDELINE$,1,54):LVERT$,1)=TOPBRK$:LVERT$,54)=BOTBRK$ DRAW FRAME1,180,24%21);01);: WRAP & SCROLL OFF*=0:=0:SIDELINE$:=79:=0:SIDELINE$(=0:=0: **94 ***************************************************%650500: inits for each iteration;FUNNO=1:6200@:!J"Type in the FULL PATHNAME "2L" of the file you want to RETRIEVE.":.N"Use Device Names - not Volume names"::3R"e.g. .D1/LOSTFILE not /MYDISK/LOSTFILE"::4T"Be sure to include all subdirectory levels.":'X"i.e. .PROFILE/PAYROLL/EXEMPT/MAY"^w6400: input at window #5}yw5in$,5)="EMAX="bmaperrmax=w5in$,6)):w5$="Block Fault maximum reset to9  ***************************************************" **!$ ** U P D A T E A L L& **9( ****************************************************FUNNO=7:6200,BMAPERRCNT<>010100/1 *****************************************%(I)+256*TEMP%(I+256)):T1%K=K+1:GETBLK%=T1%:"Reading Index Block":5100:785 J=0255H BITNUM=BUFF%(J)+256*BUFF%(J+256):BITNUMK=K+1:5200:BITCLR7200! K=BLOCKS.USED-1J=255:I=255JI+w5$=sp70$:6300: clear residual clocksBITNUMJ=J+1:5200:BITCLR7200J=BLOCKS.USED-1I=255 I:790  TYPE=30BITNUM=KEYPTR%:5200:BITCLRECODE=09:9000"Reading Keyblock"1READBL(%DEVNUM%,@TEMP%(0),%BLKLEN%,%KEYPTR%)EXPBL(@TEMP%(0))K=0:I=0127^T1%=TEMPBITNUM=KEYPTR%:5200BITCLRECODE=11:90004clockfact=blocks.used-1:7500:FSTYPE$)=37600BITNUM=KEYPTR%:5200:BITCLRECODE=10:9000-GETBLK%=KEYPTR%:"Reading Keyblock":5100J=0:I=0255$BITNUM=BUFF%(I)+256*BUFF%(I+256)'ecode=8:90009 *************************************************** ** ** CHECK BITMAP **9 ***************************************************FUNNO=6:6200(FSTYPE$="D"7100:: SUBDIRECTORYFSTYPE$)>1730tory"FSTYPE$<>"3"695:BELL$:"Please Note : "'"File is ";file.eof;" bytes long "E"Retrieval could take up to ";file.eof*50/1000000);" minutes."i:"Any key to continue...":"Type Q to quit for now. ";any$:any$="Q"any$="q"*************************bFUNNO=5:6200JlFILE.EOF>131072FSTYPE$="3":ۻFILE.EOF>512FSTYPE$="2":FSTYPE$="1"vFSTYPE=FSTYPE$)8FILE.TYPE%=15FSTYPE$="D":FSTYPE=13: SUBDIRECTORYD"Storage Type is : ";:fstype$)<>0fstype$:"SubDirecLEV=LEVELS%520?LEVDTHISENT=1ECODE=1:90009N1400:1500: RETREIVE ENTRY() AND SET VALUES FROM ITS9X ***************************************************Z **"\ ** GET FILE STORAGE TYPE^ **9` **************************LK%=NEXTBLK%:5100:THISBLK%=GETBLK%:RD=RD+1)PREVBLK%=WORD(0):NEXTBLK%=WORD(2)ARD=1LEV<=LEVELS%ENTLEN=BUFF%(35):ENT.PER.BLOCK=BUFF%(36)$&LEV96PATHNAME$,I)=PATHNAME$,I,1))-32).w6$=" Retrieving file : "+pathname$:600092 UPDATE FILE ENTRY03 ***************************************** 4GETBLK%=HITBLK%:5100-6BUFF%(HITPOS)=FSTYPE*16+NAME$(LEVELS%))j7bmaperrcnt<>0x1=blocks.used-bmaperrcnt:buff%(hitpos+19)=x1-x1/256)*256:buff%(hitpos+20)=x1/256)8PUTBLK%=HITBLK%:5300/: *****************************************!; UPDATE FILE COUNT IN HEADER/< *****************************************=FUNNO=8:6200(>HEADER.PTR=ENTRY%(37)+ENTRY%(38)*256@GETBLK%=HEADER.PTR):51001BFILE.COUNT=WORD(37):,k1):11100:deldate$=xdate$#=4:nam$;nam2$;:=20:crdate$;=29:deldate$;:=38:ftyp$K1:"Q to QUIT NOW"Rw5out$="Type FILE NUMBER TO RETRIEVE or Q then press : ":6400:n$=w5in$N$)>THISENT-114603n$="Q"n$="q"$=""OK3=SAVENT%(K2,K1):k3>32k3<97NAM2$=NAM2$+K3+32*(k3>64)):K2=K2+1:1442-K4=SAVENT%(16,K1):k4>15k4=16+k4/192)FTYP$=FILETYPE$(K4)date1=savent%(24,k1):date2=savent%(25,k1):11100:crdate$=xdate$:date1=savent%(33,k1):date2=savent%(34e TO RETRIEVE":6400:ans$=w5in$:ANS$="q"ANS$="Q"ecode=07:9000:n$="1":k1=1:1490 "Possible Matches are : ":;"# FILENAME Created Deleted Type ":K1=1THISENT-1<K1;:NAM$=NAME$(LEVELS%):K2=NAME$(LEVELS%))+1:NAM2*******************************z **3| ** QEURY USER VIZ AVAILABLE HITS & GET ENTRY ~ **9 ***************************************************/bell$::thisent>21420::"MATCH FOUND"Uw5out$="Type Q to QUIT NOW...anything els********************************* **0 ** HANDLE HIT(S) WITH LENGTH AMBIGUITY **9 *************************************************** 2K=050 7SAVENT%(K,THISENT)=ENTRY%(K)<KATHISENT=THISENT+1s9x ********************ITPOS2STOR.TYPE=ENTRY%(0)/16):FILE.TYPE=ENTRY%(16)LEV=LEVELS%1270FSTOR.TYPE<>13HIT$="NO":NEXTBLK%=ENTRY%(17)+ENTRY%(18)*256:I=I2 1290.STOR.TYPE=01300:ۻLENEQECODE=3:9000 I w5$=sp70$:63009 ******************J=0:LENEQ=01K=BUFF%(I+J):SRCHLEN=(K-16*K/16))LENEQ=1CHKLENLENEQ1290J=1<SEARCH%(J-1)<>BUFF%(I+J)1290:J=J+1:J<=SRCHLEN1245jHIT$="YES":HITPOS=I:J=1ENTLEN:ENTRY%(J-1)=BUFF%(HITPOS+J-1)::ENTRY%(50)=THISBLK%:ENTRY%(49)=H9 ***************************************************)HIT$="NO":HITPOS=0:SRCHLEN=SEARCH$)4I=0SRCHLEN-1:SEARCH%(I)=SEARCH$,I+1,1)):&I1=4:I2=ENTLEN*(512/ENTLEN)-1)+4CLOCK=I2/ENTLEN:CLOCKSTEP=1I=I1I2ENTLEN 6350you wish to run THE RETRIEVER again ? "11300: FLUSH TYPEAHEAD."Type Y or N then press return : ";again$%again$="y"again$="Y":120009 *************************************************** ** ** SEARCH FOR NAME **9 *************************************************** **  ** TERMINATION CLEANUP **9 ***************************************************FUNNO=10:6200:" Please Wait"DELAY=400:11200:9BELL$::"Do F%(J)+256*BUFF%(J+256):BITNUMK=K+1:7300!sK=BLOCKS.USED-1J=255:I=255tJvIz5500: WRITE OUT BITMAP.|w5$=sp70$:6300: clear residual clockline[~bell$:w6$=inv.vid$+" The file named "+pathname$+" has been retrieved "+norm.vid$:600055 dI:890 f TYPE=3g"Reading Keyblock"1hREADBL(%DEVNUM%,@TEMP%(0),%BLKLEN%,%KEYPTR%)jEXPBL(@TEMP%(0))lK=0:I=0127^nT1%=TEMP%(I)+256*TEMP%(I+256)):T1%K=K+1:GETBLK%=T1%:"Reading Index Block":5100:886 pJ=02559rBITNUM=BUF="D"7400:890TBITNUM=KEYPTR%:5400!Vclockfact=blocks.used-1:7500WFSTYPE$)890,860,870 \ TYPE=21^GETBLK%=KEYPTR%:"Reading Keyblock":5100:j=0 `I=02559bBITNUM=BUFF%(I)+256*BUFF%(I+256):BITNUMJ=J+1:7300cJ=BLOCKS.USED-1I=2FILE.COUNT=FILE.COUNT+1=DBUFF%(37)=BUFF%(37)+1:BUFF%(37)=0BUFF%(38)=BUFF%(38)+1FPUTBLK%=GETBLK%:5300M/N *****************************************O UPDATE BITMAP/P *****************************************QFUNNO=9:6200Rfstype$ecode=08:9000:ۻn$)=014602K5=N$):K1=050:ENTRY%(K1)=SAVENT%(K1,K5):9 *************************************************** **- ** SET UP FILE VALUES FROM ENTRY%() **9 ***************************************************(HITPOS=ENTRY%(49):HITBLK%=ENTRY%(50).FILE.TYPE%=ENTRY%(16):FILE.TYPE=FILE.TYPE%%KEYPTR%=ENTRY%(17)+ENTRY%(18)*256*BLOCKS.USED%=ENTRY%(19)+ENTRY%(20)*256 BLOCKS.USED=BLOCKS.USED%7FILE.EOF=ENTRY%(21)+ENTRY%(22)*256+ENTRY%(23)*65536LK%(0,I))6WRITEBL(%DEVNUM%,@BITBLK%(0,I),%BLKLEN%,%PUTBLK%)PUTBLK%=PUTBLK%+1I4p **********************************************)q CLEAR WINDOW #6 AND WRITE W6$ TO IT;r *****************************************************'u:WW ** WRITE OUT BITMAP BLOCKS **9 ***************************************************$"WRITING OUT UPDATED BITMAP..." FLAG1=1PUTBLK%=BIT.MAP.PTR)I=0BLKS.ON.VOL/4096)*"Writing out BITMAP BLOCK # ";PUTBLK%CMPBL(@BITBIM2NBITVAL=BITNUM-8*BYTNUM(PBITVAL=7-BITVAL: MAP 0...7 TO 7...0"TQ=TSTBIT(BITBLK%(DIM1,DIM2))VQ5470:ECODE=22:90004^BITBLK%(DIM1,DIM2)=BITBLK%(DIM1,DIM2)-2^(BITVAL)w9| ***************************************************~ **" CLEAR BIT IN BITMAP TO ALLOCATE FOR FILE **' ** INPUT IS BITNUM FOR CLEARING **9  ***************************************************'@BITNUM>BLKS.ON.VOLECODE=20:9000JBYTNUM=BITNUM/8)+LDIM2=BYTNUM/512):DIM1=BYTNUM-512*Drror...n.b. do not allow error-46 (disk switch) nowJWRTERRCNT=WRTERRCNT+1:"ERROR WRITING BLOCK # ";PUTBLK%;" WILL RETRY"WRTERRCNTBLKS.ON.VOLECODE=13:9000BYTNUM=BITNUM/8)+DIM2=BYTNUM/512):DIM1=BYTNUM-512*DIM2BITVAL=BITNUM-8* VALSK9P ***************************************************Q **4R ** TEST BITMAP IN CORE FOR BLOCK FREE OR NOTS **#T ** INPUT IS BITNUM FOR TESTU **0V ** RETURNS BITSET (0/1) AND BITCLR (0/1)W **0X ** BIT MAP IS BUFF%(512)=4610400: 0 IS OK READ 46 IS DISK SWITCH#buff%(512)=255ecode=99:9000HRDERRCNT=RDERRCNT+1:"ERROR READING BLOCK # ";GETBLK%;" WILL RETRY"RDERRCNT256ECODE=5:9000Rdevname$=".D1"=".D1":<>NEWPFX$10400: disk switch message and restart LEVELS%=0I=110:I=1: ;9 *************************************************** ** ** PARSE PATH NAME **9 ***************************************************#LEVELS%=0:DEVNUM%=0:DEVNAME$="",PATHNAME$,1)="."2230:ECODE=4:9000BSL=PA(6,1),WW(6,2)WW(6,3),WW(6,4)z21);01);CLEAR.VIEW$;"77a";w6$21);13);':WW(2,1),WW(2,2)WW(2,3),WW(2,4)4 **********************************************) CLEAR WINDOW #1 AND WRITE W1$ TO IT; *****************************************************':WW(1,1),WW(1,2)WW(1,3),WW(1,4)21);01);CLEAR.VIEW$;"75C";W1$21);13);':WW(2,1),WW(2,2)WW(2,3),WW(2,4);7 *****************************************************98 UPDASG$="ERROR 01":9595: not used0#ECODE=2EMSG$="Name "+SEARCH$+" NOT FOUND";#ECODE=3EMSG$="A File by that name ALREADY EXISTS !!"M#ECODE=4EMSG$="Pathname must begin with a "+34)+"."+34):FATAL$="NO"B#ECODE=5EMSG$="Device "+devname$+"clock=clock+19(# ****************************************************# **-,# ** ERROR HANDLER...POP GOSUBS AND END.# **90# ***************************************************2#4#i1=110:7):7#fatal$="YES"#0#ECODE=1EMlock (=len of line) and clockstep (= decr val of len)5T ***********************************************Vclock=clockfact:clockstep=1>`clock>100clock=clock/10):clockstep=clockstep/10:75205jclock>50clock=clock/2):clockstep=clockstep/2tTBLK%=TOGET%:5100)PREVBLK%=WORD(0):NEXTBLK%=WORD(2))NEXTBLK%=07490.BITNUM=NEXTBLK%:73008TOGET%=NEXTBLK%:7440BG5L ***********************************************4N xlate clockfact via scale to 50 long clockline@P get c6350: clock itbmaperrcnt=05400:'bitnum<>bmaperrsav(bmapi)5400:buff%(i)=0:buff%(i+256)=0putblk%=getblk%:5300bmapi=bmapi+1$ update bitmap for subdirectoryBITNUM=KEYPTR%:7300TOGET%=KEYPTR%GEt)=bitnum*4bmaperrcnt>bmaperrmaxecode=12:9000Hbmaperrcnt=bmaperrcnt+1I conditionally update bitmap...check for prior bmap errors and resetH block ptr to zero if block has been re-used...rewrite block to set in new valuesNEXTBLK%=WORD(2)2PREVBLK%PREVBLK%<>LASTBLK%ECODE=15:9000NEXTBLK%=07190BITNUM=NEXTBLK%:5200BITCLRECODE=14:9000 LASTBLK%=GETBLK% TOGET%=NEXTBLK%:7140  " bitmap check fault$!*bmaperrsav(bmaperrcnW$;}"10A";W4$21);13);':WW(2,1),WW(2,2)WW(2,3),WW(2,4)=SVP:=SHP# CHECK BITMAP FOR SUBDIRECTORYBITNUM=KEYPTR%:5200BITCLRECODE=14:9000TOGET%=KEYPTR%GETBLK%=TOGET%:5100)PREVBLK%=WORD(0):ut$=" "_;c *****************************************************)d CLEAR WINDOW #4 AND WRITE W4$ TO IT;e *****************************************************fSVP=:SHP='i:WW(4,1),WW(4,2)WW(4,3),WW(4,4)n21);01);xCLEAR.VIE*********************&SVP=:SHP=:w4$=" ========>":6500':WW(5,1),WW(5,2)WW(5,3),WW(5,4) 21);01);CLEAR.VIEW$;w5out$;:" ";w5in$21);13);'#:WW(2,1),WW(2,2)WW(2,3),WW(2,4)&&=SVP:=SHP:w4$=" ":6500Zw5oDATE CLOCKLINE IN WINDOW #5CLOCK<16395#W5$=CLOCKLINE$,1,CLOCK):6300CLOCK=CLOCK-CLOCKSTEP; *****************************************************1 CLEAR WINDOW #5 AND input value w5in$ in it; ********************************W5$ TO IT; *****************************************************SVP=:SHP=':WW(5,1),WW(5,2)WW(5,3),WW(5,4)21);01);CLEAR.VIEW$;"75A";W5$21);13);':WW(2,1),WW(2,2)WW(2,3),WW(2,4)=SVP:=SHP# UP1=FUNNOQFUNC$(I1)SI1=FUNNO `:62907j=1:=FUNNO+3-1::FUNC$(FUNNO-1)::FUNC$(FUNNO):':WW(2,1),WW(2,2)WW(2,3),WW(2,4)=SVP:=SHP; *****************************************************) CLEAR WINDOW #5 AND WRITE TE WINDOW #3 WITH FUNCTION NUMBER FUNNO INVERSE;9 *****************************************************:SVP=:SHP='=:WW(3,1),WW(3,2)WW(3,3),WW(3,4))BFUNNO=FUNCCOUNTFUNNO=16215:6250G:"CURRENT FUNCTION"::LI1=1FUNCCOUNTNI NOT FOUND...":FATAL$="NO"5#ECODE=6EMSG$="Invalid PATHNAME...":FATAL$="NO"0#ECODE=7EMSG$="ERROR 07":9595: not used/#ECODE=8EMSG$="Voluntary termination ..."#ECODE=9EMSG$="BITMAP ERROR for Storage Type 3...":" Index block of file ha