IMD 1.17: 7/11/2012 17:47:13 turbodos single user 1.22 >o:~W!{> " OC > S>O31! >2|N#Fx2CN#FC$#^#V^#VS#~2#~2<2###~2#^#VSN#FCC*KB0KC:( [0!' #"* (,*#"+))[R%! !!Cy͏qput+[[R8 uty7?R#|(/ sr +utwwNFqpnf^:(#~W#:G)[7?K R0! !=NFx(ENF C$7?KnfB8C[0MD!'  |:o!=!NFnfB#>,(0W}_nfRut=RDM!C76! [36:G6!w0 ͘!4͘ !͙>O3F#Nů  SYS: Which .SYS file to load 0 = CPM 1 = OSLOAD ? SelectReadFile not found error: file 7+*r;&;) ^#V"9-*r;&;) q#p!r;4*8&))8  *9s#r*9͇7"8*8&))8 q#p:8<28O>}<:3>L ~ÒÃG3x(OxAG:RG~ > 2P:HO y~ 8 q!*T~(ͭ8͏ͷ:K2N>2>2SKc> 2P> :SG /_~(!: *E:N{  _!c(  :P= L{(({ZZ:HhZ:NhZ:RhZZ>2P ~ ( w:K2LF8 <2Ny2R:KW:D*GKIB(7:LGz?"V*G"I:KG2LxG![E2DG!> z:(8 XZd>w(>>w~Can't recognize density of disk in$Read$Write$Seek$ error on track $ sector $ side $ drive $ $:s;.¨ ͭ͂ڨ :y; ڟ !Ͱ ͭÌ ! :y;<2y;O!\ :s;w:s;0O> :s;02s;> :s;AO> :s;A 2s;>>!"z;ͭ͂. % *z;))))*s;& "z;( <ͭ *z;:s;AO>/ͭ2 O :s;A<<ͭ2 d :s;A<:s;Zo >Z<ͭ:s;XO>چ :s;<:s;]:s; HҀ :s;S¸ !96ͭ} :s;P !96 "9} :s;D !96 "9} :s;L "8} :s;M  0 ??̀;{#M|}! 5ʐM;  (MT;HO~͑TT; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; c{; xf; Y; GOgj-9;Z~+( ~; #++O@͍z;*3 $!O!w 6#;? 6 #6#!x 6 ;T@͔?( ̀??.(7;i:( ! @͔?ȷ@:w 7f;~x7:x A? <2w 8; (:.*(w#;x:w 76?#;% 7[u ;7=6; Oy% =;![u Su !͸0; O)) ) [;@#| #" ! ;&B͸8j8 ))))o@0b;;~# ?@=|];P@T} ]0:8;e 0 ??̀;{#M|}! 5ʐM;  (MT;HO~͑TT; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; cNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLNNNNNNNNNNNNNNNNNNNNNN> COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 12/06/82) 12L$!m%"!X!͹!!+!ͣ 8ͳ!: K=p %*Ks%w # B$##( Y 2Y sK n%: K N:K(>_%*#(# N#w"0D {K: K OSMASTERSYSOSLOAD COMDIR COMBOOT COMCOPY COMDATE COMDELETE COMDRIVE COMDUMP COMEDIT COMFMTWD8 COMGEN COMMONITOR COMSET COMSHOW COMTYPE COMVERIFY COMTRK0DSDDLDROSLOAD SYSTELPAC OBJMOVETEL COMINITINFOOVRTELPAC COMTELPAC OVRHELPINFOOVR MODEM COMLSWEEP COMMDM730 COM BUFFERS COMM7LIB COMMDMNUM COMMDMFNK COMMDMLNK HEXMDMLNK DOCMDMFNK DOCM7LIB DOCMDM730 MSGUSQ110 COMMDM730 UPDRAMDRIV DOCRAMDRIV AQMRAMLD ASMMODEM730COM DU-V78 DOCLU300 DOCLRUN20 COMOSMASTERCOMDSKPRAM COMMDM COM MFT45 COMRENAME COMCHANGE COMMASTER COMAUTOLOADCOMBACKUP COMBATCH COMDO COMERASEDIRCOMFIFO COMFIXMAP COMLABEL COMLOGOFF COMLOGON COMPAUSE COMPRINT COMPRINTER COMQUEUE COMRECEIVE COMSEND COMUSER COMFORHDC COMFMTWD5 COMSQSINGLECOMM80 COM -of-fil#, not enough memor#, bad memor;%!9u5t6AA?%e"2L~.ZfAAn/f0*2L;%%͟%"2Lu/t0u1t2At.Zu Z*2Ln5f66.n9f:|(An3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((ZA~/!&18I!}&7O ^#V|a>'?F?t?z?A?AA???q>66&;'''(m((W))A67AAt*A7**x+$,A*AA%7A>_,,AAAAAAA,W>AAC7M7W7AA#-:A>7AAAA_@A?w6&AA .(A+'(!A . A ~(AAA>Zn~@7O3AAA.w.A7A7vN++~˾AA~@i(6@z*w@A 8͹'b/X8u1t2868͗0͹'/A0/4w6A~? wk=41/ͷAA#~@ w#ɷA{0&868}w.}o6ͷA07Z9-((A\4P- 105 "ZVA 6/180S6h6Ď3r- Oy \4;) AA7>84 ". ,Ai+F)  .> A7661 74*A;)AA7>8m ". eAi+F) M2) .Ĥ- ;AA CAg1 :74A. -Ai+F)  .Ĥ- 2)A76w.*76AO3AA74~ >w##4<͒-(A͒-Ac*͖-A9-AP-A05AA7c* 6{0b/͗06/A6~wk*6/1c* ~w(x=(#?({0C/͗0Ak*/1NwFyX-py~w?(͙6/ww6r-~w?)A 7 09-AP-AAA#0# ˾0#/1r- ++8( .> 7A61A++A( .Ĥ-> AAAAg1Aw.7~hw7~gw7~fwO3A7i+7~wh#~+w#~#~G~#O>>~Ox ##y.>7Ai+7p##q=7~wf7~wg͒-AO3wfwgwh~@P- 0+r- w.("Zn(:~@(46@P- +0 ~ 7nˮA(+A7(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh7~^##Vg{怄O>G{GzGz_>7#q#p#wT3\48ͪ35~8# 5 s1r26A~w/~AT3nfA~w1~w2~w/~w0~A~1T>ͭA[4L42()~1AѷA52 }/o|/g"4L{ozg"4L{Oz(>g~1w6A<įͺ5A54>6#| 4C/70~@n(A# ~##7~͑68w###6ͬ.~/14(A###> w0A## #˿##7~(H4(>A5#/b/ͺ505 A 7͑68###w/17˾1/7n6k7~@A#͞0|+6Nk6k͂0/qk6ͥ0͂00(c#6)8:!"fL7! ͯ0+ͯ0#O͙6/ݦw_{(*fL|g}oR0+6͂0{0zb0͗068 0b0#6670~(9x(((( t0(~(T(Nt0(͙6/O =#˯~0.~k͞0|< 6ͨ0Y^( >wAwB~k?/O?^CVDy5<6( ~k?(#6sCrDnEfF!uEtF~O*fL )"fLYy5=3 4(>4>12FL~#T>O ?' +  )###4ͬ6 !+++2 ͬ6/OG(6"͠877~78=)))0Ͷ6(r+s3!aLeL~#T>2FL3!GLw#r#sZѯFL 2!bLRDM!x(6ͷAu't()3)s$r%w&7G)ͬ67ѳ_7N7͙6G7<8= A Ͷ6( ^(#Vz;7~1w#~#A(6~#͢7(< Æ%~#è<͝33͝3ˇ36+R6:bk##B8B0! <60{_G~  (w/16x7~ ##~Z~ =A#$~# V4 # yDIRDSKy5ͺ5695 6 #6#6#6#6#6#/1ͬ56L6595&565 8(6/1L65 6+ͪ3~=w> O65 (6/1^3460%0~( S6h63~86/1y5606/1>70~(07 660!0~ 7 /1606#>7ͬ5~6606~   N###~< =y >ɯ~#T>_!6L~#ͭA:4Lo:5L>7 ~/5ط 5L60#<_#{ x7NF >8= ɯwAwB<6L6R6+B0<6Rn&7)= 6#67! ^#Ͷ6(V#zO37~?(~ ?>#w#w0 ͬ6OͶ6y(7G7~=~ =nAfBy5!( ~k?(#6+uAtBnf!þA~1w=~=AAþA~1 ~@Z~(w@>A^1J7%G)ͷAs#r#wAAu7t8Au9t:Zv 9~1(Zn ,w@0ZZZZZ:hLw@:Aw=>A~1w[Oz<(!L@Oqn7f8|>A~?(=~=k A ~    A~nLfMuLtMnNfOuNtO^PVQsPrQ';!oL^#V+R( VA@$:jL(G72lL2kL08:jLo:kLgA!UO|A~1A~1T>OF2ͷ:}o|g"mLˀ!sLͷ:}o|;^#V!sLR(w####~ " ##q#~*8>)~>3<~˾)<~ͨ<͞;6ͯ<.<~w 6!:jLݾ06)<~͢7(< ;)<~#w# ut=<;Æ%@*sLsLRAZ~(1M>!>~w3>w.~A M>s#r^ V )>~0>Aw6~8==/>N F! ~=<8qpn f!A=^V~F~͢7=<(A~==%ut ~_!wL^#Vz %63> ~͢7( Æ%M>r+ss r   6~_!L~~#w^#V^ V _!L~Z:iLw[AA*Au1t2:LA7%A^#V#~#ͤ>W~ͤ>_* S7%G T7%2 Aq#p#z>w#{>w 0 !!!!6/Z~(w0!u1t2!AͷAMDAAAAs1r2q/p0A? 0 ( ( ( I?A~1O!L 0 ( 6~G p?4@?AN1@~1O<(<(<@ ͻ?ͻ??AA~#$I?AAͻ?A2@?KL?ͻ? AATͻ?:L?:LO(@?O:L:Lʆ%:L(:L ~YwYAYf(A ~;(=_!Lѯ~F#^#V!b@!LmAA|"L!L5@[L!LR(^#V#@##~r@*L#"L:L*L+"L|!L4SL!7$"L!7$"L6# x {L*L*LM*L~#<(= A ~# ~ xD##>)))))))'8A8Ad8A 8A R0y 0O@N#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#r͖AN@~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!ARv Bwo&@) s#r B/wG7!M{LM{uG( (B=(?uG!M~ 5:MuGOMBuG:MuGuG!M~OuG~#͐A !Mk@͇B!MͲ@s-M~(=(Q=;D=3E=iC> 20M;EͯCDxː& B(xB D :/M"D> 20M;EͯC::M@oFDxː& C( xC D :/M 4ͯCDxː& DC(xJC D :/M"DB> 20M;EͯC::M@oFD>& C( xC !/M"Dnf"4Mnf"2Mn f "8M2/MEoFIE~(n f  ^#VS6MK2M[4M[8M~(*6M|{(~<!/Mw x!0M~5oF< 5D@:0M3E E> 20M <;E 0 :+MX ͥE> nD(ODD E*;Mˮ~> D("_D(ODD y( { ^(yF!y("^#Vz w w !0M5(*;M~wJD##u t E>/:+M ͥE!b@ <;EF*;M~( n(88  ~(~ x:+M ͥE "DLI  DIR CMOSLOAD COM_ OSMASTERSYSy BOOT CM COPY CM#DATE CM DELETE CMDRIVE CM DUMP CMEDIT CM)FMTWD8 CM GEN CM,!"#MONITOR CM!$%&SET CM'(SHOW CM)TYPE CM*VERIFY CM+,TRK0DSDDLDR-.OSLOAD SYS_/01234TELPAC OBJ56789:;<TELPAC OBJ=>?@ABCDTELPAC OBJ/EFGMOVETEL CM%HIJINITINFOOVR#KLMTELPAC COMoNOPQRSTTELPAC OVRWUVWXYZHELPINFOOVR[\]^_`abHELPINFOOVR cMEX COMdefgLSWEEP CM}MDM730 CMhijklmnoBUFFERS CMMDM730 CMpqM7LIB CMrMDMNUM CM sMDMFNK CMtuMDMLNK HEXvwMDMLNK DOC xMDMFNK DOC yM7LIB DOCz{MDM730 MSG |}USQ110 CM~MDM730 UPDRAMDRIV DOCRAMDRIV ASMaRAMLD ASMMODEM730CMMODEM730CMMEX COMLU300 DOCLU300 DOCLU300 DOCLRUN20 CM OSMASTERCM|DSKPRAM CMMEX COM FONE PHN CPM SYSDMEX LIBASM COM@MFT45 CMRENAME CMCHANGE CMMASTER CMAUTOLOADCMBACKUP CM BATCH CMDO CM ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMOSPOOLR SYS  RM80 CM   M80 CMMEX LIBCPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELLSTETX RELLSTPAR RELLSTXON RELMDMUSR1 COMMDMUSR1 COMOSLOAD DO SQHDC MAC^SQHDC RELOSMASTR SYSy !"#%&'OSSLAVE SYSl()*+,./PATCH REL0RTCNUL REL1SQCON REL2SQDSK REL3MEX HLP;<=>?@MEX HLPSQHDC5 MAC^ABCDEFSQHDC5 RELGSQHDC5 RL HSQHDT503RELISQINT RELJSQLOADERGENKSQLOADERPARLSQPIO RELMSQRTC RELNSQSERIALREL OSQSGL8 PARPOSMASTEROBJy45689:Q|MEX HLPSQSIO RELSSTDLOADRREL{TUVWXYZ[STDSINGLREL\]^_`abc!91!::]/$?$-͔*!,:\=7͝_A2͑ͩͳ;;;ͳͳ>;g;ͳͳ!|!v :\=͝_O͑ͩ^#V">*^#V"}!!>2*"*#"^{:[:B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation. Skew table decimal values. DPH address = >>> DSKPRAM.COM - H E L P <<< DSKPRAM displays DPB and skew tables for a floppy drive. Information provided can be used as input for ESET.COM, allowing the AMPRO's "E:" drive to read and write non-AMPRO diskette formats not included in MULTIDSK.COM. SYNTAX A0>DSKPRAM --> DPB and SKEW table for default drive A0>DSKPRAM d: --> Tables for selected drive A0>DSKPRAM ? or / --> Displays this message NOTES 1. DSKPRAM must be run in the alien system, not the AMPRO system. It will not provide useful data when used in the AMPRO on a non-AMPRO format diskette. 2. DSKPRAM does not work in some CP/M 2.2 systems. STDSINGLREL!defSTDSPOOLRELghijklmnSTDSPOOLREL9opqrTELPAC7 COMostuvwxyTRK0SSDDLDRz{SQSINGLESYSuBACKUP DOC2}~COMPARE M VIEW COMSQSPOOLRGEN SQSPOOLRPAROSPOOLR SYS MEX LIB_MEX HLPINITINF7OVR#USQ CMLASM CM,MLOAD CMMEX HLP5SB110 CMSB110 CM^SYS OL GENT CM3MEXPAT22AQM%EDFILE CMVERASE DO MFT45 ASMSQSINGLEPARSQSINGLEGEN MFT45 ASMNCOMPARE MACcRAMDISK MACCOMPARE LBRqRAMDRIV AZM*  RAMDRIV DZC  RAMLD AZM RAMDISK MZCRAMDISK LBR[@ COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1g U͝(ʹG;(!O: :] :e !] 6?#>?2hJ2==G72"Sy2+|2<(: :< !_Tx2{2z2":\=&_!"""*g SRͧͧͧ ":S\ȇ_!~ʗ" !A^#:(V#z(#"!""*|(b"*[R<"̈́[ O~# *̈́ ^#VK r+s}*8""#"*[R *|(|+"*͋*R8e*[R()*͞]T+*͋* [s#r*͞[s#rS*K "KB8"g!ˎ_<<<ͥ *|"!"!ˆ[:!8 = R8!:G>(=2!N != KB8:O*+B0S*""":G!ͥ :G(ͥ ͧͥ *|*+"|  (ͥ::G*(*"^#Vr+s[R0=̈́#:G(ͥ^#V:G!:G>2( 3*+"##!ͥ !~(ͥ (H) ͥ ͦͥ *|<("/ͥ 2* D*+| ͥMͥ :\=Aͷͥ!]ͥ *Rͥ :G!20< ͥ*+:(*ͽͥ*&+T]{~#ͷͥ:ͽ  >*ͷ!Rʑ!|D)0)0>2x0ͷ͞~#fo͔K )) ))K ͫ~#ͷ!N  __a{ Lͥ to ContinueͥͥREMAININͥ DISK READ ONLͥ FILͥͥDISPLAYEͥ Insufficient memory JanFebMarAprMayJunJulAugSepOctNovDec? A ͥMͥ :\=Aͷͥ!]ͥ *Rͥ :G!20< ͥ*+:(*ͽͥ*&+T]{~#ͷͥ:ͽ  >*ͷ!Rʑ!|D)0)0>2x0ͷ͞~#fo͔K )) ))K ͫ~#ͷ!N  __a{ Lͥ to ContinueͥͥREMAININͥ DISK READ ONLͥ FILͥͥDISPLAYEͥ Insufficient memory JanFebMarAprMayJunJulAugSepOctNovDec? A ~(ͣͣͣ>Zn~@]ͣ˜ͣw.̣ͣvN++~˾ͣ£~@i(6@͈w@̓pXu1t2-ͥ/ʘ4̓ͅ~? wk=#?u̓#~@ w#ɷ˜͉4&}w.}ouZG6Øj^ 1 "ZVģ 6=8avĜ̀ Oy jۯIз Aͣ>84 "շ ,ͣwTз շ> ͣ6Dط 4ØIз˜ͣ>8m "շ eͣwTз M@շIJԷ ;ͣͣ Cͣuط :4շ -ͣwTз շIJԷ @ã6w.6Ø]ͣã4~ >w##4<͠(<ͅ87̓˾ͣ (շ ͣ #̓ #˾ͲԷ ãͣ>Ø͠ʘqͤʘGژ^˜˜ͣq ͉pͥݷ/ʘ~wy6=q ~w(x=(#?(͉Qͥ˜y=NwFyfpy~w?(ͧ/wẁ~w?̓  Gژ^˜ͣ̓## ˾0#=̀ 8( շ> 7ͣDØژ(շIJԷ> ͣͣ˜ͣuطʣw.~hw~gw~fw]ͣ7w >>ɯ> !~wɯ>v@````````````*}=2r)))T]))4"! p#p#6 #~#w#OGi`4s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# ```Õp#p#T]s#r#s#r#!*!*!"!o"!"!e"!""!@"">@!"@>>>>>!>! " !<"> >} > >} sS{O"U*Q͏*U{S  ʴͶƷ*##[vRym(Rn(T=(+('( (=( 2[3{(8:[o %<2[o(Qj I>@ă![6 >SWSY*O| sO"Q{O*Q6;Rm[nͺwY(ͺrͺrͺ`Yĺ:G2:(G:_:WLo&bl{O*Q&` %<(ͭ >2!" O2*v[MR!s>+r+s+w"2!"W"YYf M:_>@q*W|ʰ{O*Y|ʤ{S*U>'͐͐d͐ ͐ R0y 0_ (~( =(=(:SÄ Rea Writ Not read error, Drive:~AO~(D , Track:nf͕ , Sector:nf͕^Vz(  -͕ (Retry,~( Ignore, Abort)ͷ(,O:Sɑ:o=~ʰ:d<ð9Ko&rRA@:@ C#"!~('6( *#~#2Nz͏[ ͏ ʴ -+M: ʮ!~ 6C#6O#6M͏q͏<=!\6# 6 #6# (y<(M8\DM8lD+8y{< 0{=ր29:=2_͏0ôFô: :( :^@@! !6# 6 #!6 ͡?( ??.(7:( !͡?ȷ:7x7:A?<2(:.*(w#x:76?#[7[;7= O:7y[=[S 75*N#":7ȷ 2*" :w*"> @> _Ï Ï ÏÏ!~(# ^ ( ]Tq͇ô@|(*~;UN#:0O[yS!6(-O! 4 ####:w#qy(#*!2*#w !^#V+R*#~:Q!!Fˆ>N j  :Q/!ίqͷ!~1 ˎ2j (!,2*`)0!` ~#fo~=(}/_|/W :!~) 0Ws:<=_o͉!9u5t6``͜e"~.ZfG@n/f0*͉͜j"u/t0u1t2Nt.Zu Z*n5f66.n9f:|(`n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z`~/!18I!H7O ^#V|]#Bpvw|djm߾߶Q`8т"fq?ӽsӑC(``W|*g```BUS &.`b?}"``f(```BԿU`ַ(`(!`ַ @ ~(```>Zn~@ͱ`U`͝w.`͢`ͱvN++~˾``~@i(6@Ew@@̈́-Xu1t2ͪb̈́/U͎͞4B@~? wk=2@#~@ w#ɷUF͏}w.}oͪ2Ϳ͢ZU' 1Ϳ͚ "ZV` 68Ϳ3Y= Oy 'ݯҷ A`>84 "͝׷ ,`4ҷ ַ> `6ڷ 4UҷU`>8m "͝׷ e`4ҷ Mַoַ ;`` C`2ڷ :4`͝׷ -`4ҷ ַoַ `6w.6U``ͬ4~ >w##4<](U]U.aUUUͿ͚U`͙. ͏F-bͪ߷/U͏~w66. ~w(x=(#?(FbU6NwFy#py~w?(d/wwͪ=~w?@ ͙ ÿUU`@#Ϳ# ˾0#= 8( ַ> 7`UU(ַoַ> ``U`2ڷ`w.~hwͬ~gwͶ~fw`74~wh#~+w#~#~G~#O>>~Ox ##y͝>7`4ͬp##q=Ͷ~wfͬ~wg]Uܯwfwgwh~@ ͿͿ= w.("Zn(:~@(46@ +Ϳ ~ ͱnˮ`(Ϳ`ͱ(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh~^##Vg{怄O>G{GzGz_>#q#p#w'8u~8# ͤ s1r2ͱN~w/~UnfN~w1~w2~w/~w0~U~1P([42()~1`ѷU52 }/o|/g"{ozg"{Oz(>g~1w6`<īoNw6'8TUͅͱˮ`7`#-ط6w6y](D<6w?~w?(Odͅ@͚>͏#| 4طͱͿ~@n(@# ~##ͬ~\8w###6w~ٯ(`###> wͿ@## #˿##ͱ~(H(>@͚-طͅͿ͚ @ ͬ\8###wͱ˾ͱn6k͙~@@#i|+ͪNk6kM͞qk͖pM͎(c)8:!"1͙! z+z#Od/ݦw_{(*1|g}oR0+ͪMFz-b8 ͎-͙ͪ͵~(9x(((( ?(~(T(N?(d/O =#˯~0.~ki|< ͏sY^( >wAwB~k?ÞO?^CVDD( ~k?(sCrDnEfF!uEtF~O*1 )"1YD= (>>ͼڷͳ~#PO ?' +  )###4wߦ !+++͝ w/OG(6"͜ͱ~ͻ8x( ͱ+R0:<R#DMu~< #ͤ | >=)))0́(r+sJ!,0~#P2!w#r#sZѯ ͝!-RDM!x(62u't())s$r%w&G)wѳ_NͬdߦG<8= @ ́( ^(#Vz͉~1w#~#`(6~#m(< Q~#ähԽhˇԽͱ+R͏:bk##B8B0! <ͪͿ{_G~  (wêxͬ~ ##~Z~ =@#$~# ! # yDIRDSKD޷ͅ 6 #6#6#6#6#6#w66ͻ 8(6 ͱ+u~=w> O6ͻ (6^J0%͵~( 3J~86Dޯ͵6>7͵~(0͙ ͏0!͵~ ͙ ͪ͵6#>7w~͏͵ͪ~  N###~< =y >ɯ~#P_!~#(:o:>7 ~/ͻط ͵#<_#{ x7NF >8= ɯwAwB߷Rͱ+B0Rn&)= ͏#ê͙! ^#́(V#zͬ~?(~ ?>#w#wͿ wÓy(G7~=~ =nAfBD!( ~k?(+uAtBnf!9~1w=~=U@9~1 ~@Z~(w@>U^1JG)2s#r#wU@u7t8@u9t:Zv 9~1(Zn ,w@0ZZZZZ:3w@:w=>U~1w[Oz<(!gOqn7f8|>@~?(=~=k @ ~    @~nLfMuLtMnNfOuNtO^PVQsPrQ@5s1r2 :5=~=_sUw@V!"f3((*fRSf( *h"j6 *j4*h6#"h3*j~#"j([o&=)u t!͍^>V?sr8H*v+++R8r?~$w~%w~&w6ͫQͬdw.5@"h"j@!V!;5#!q^#V+R( :l(G72n2m,:lo:mgN!|U~1`~1POF2ͳ}o|g"oˀ!uͳ}o|^#V!uR(w####~ x /v A4~= /~((~ ͻ/p(h "ͻ <[oy(x=x(4@(x`` )!y ^#Vz(yͤ~ p+p! p̈́!u^#V!uR( ! ˶@`Q* &!u^#V!uRI(####N#Cw#~#> ##q#~*8>)~>/~˾%~͚ͤ6ͫ*~w 6!:lݾ06%~m(< %~#w# ut=QUw6~8=+N F! ~=8qpn f!͍^V~F?nf| )R0= =0:!R0nf NFq p utsrNF nfR0; ut͟ѷn f NF DM!Rutnf#~wnf^VR/~m=<(͍~=%ut ~_!y^#Vz %6/ ~m( QIr+ss r   6~_!~~#w^#V^ V _!~Z:4w[``*`u1t2:U@^#V#~#͠W~͠_* SG T2 @q#p#zw#{w 0 !!!!6/Z~(w0!u1t2!N2MD@G`Ns1r2q/p0Uͼ 0 ( ( ( EU~1O! 0 ( 6~G l4ͼUN1~1O<(<(< ͷͷͼU@~#$E@ÆͷU.Kͷ jUTͷ::O$O::Q:(: ~YwYáYf(z ~;(=_!ѯ~F#^#V!͞*5 "2#9[9*6(#6+>_~ (Cp(ͩ"*ͩ"ͨ> @|(h; C*|( * |! ("6!% "@ !wη!ͮ>U!4####Cp<*####a<*|(aZ*|Z"++++*|!^#V+R!""F#6#O(6 0(. (/(2(.0q#KxB"vs#r#@"|!r^#V!rR(U*|+F+N R(+V+^K| B(+V+^## DM*|+p+q*|+F+N+V+^ s#r#*|!r^#V!rR*vR +V+^##"v~#<(= ~# ~ xD##>)))))))'ͳͳdͳ ͳ R0y 0ON#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#rN˹~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!`R:U~12!U}(7jw'^=UU!U|(7ju.t0N^=K=)!ʹs#r#^=J+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p@)0 U.@6#vjwo&@) s#rj/wG7!{M{q( (B=(?q!~ 5:qOͮq:qq!~Oq~# n{( ( q!ͧ!s~(=(Q=ʯ=ʧ=> 2̯#xxː& 3(x9 ͌ :͖> 2̯#:@xxː& ( x ͌ : 4#xxː& (x ͌ :͖_> 2̯#:@x>& ( x !͖nf"nf"n f "28ͽ~(n f  ^#VSK[[~(*|{(~<!w x!~5< :ͧʁ> 2 <̯ 0 :X > >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 12/06/82) 12-m"X͹+ͣ8ͳ: ,=p*,sw B( Y2Ys,n: , N:,(>_*( Nw0D {,: , 4O:,y(=<8 c N*(wm7">>n! , :!\ ,~ (~ ( Copyright (C) 1982, Software 2000, Inc.w"́́""  *,.$*+R~/w/w(+"+*+| {*+|?</ 0y:͇!,6*+&R",=:, !=[,'!3:, ͖~/w/wdd#| R  ͣͶ!,68fo8`g",8Wo8Qg",ʹ*,Ͷ*,[,Ͷ*,Ͷ8+*+|(R8 [,*,8w #z E E78~!,5 6-, ,7!,[,Rɯ!,w#<2,2, ,< ,: ,=ZA! ,q~#!'͟͟d͟ ͟ R0y 0|ͽ} 80~#_OSMASTERSYS!U0",̓.!76# x 6;O.-[,",Fatal error loading O/S: to retry not founTestingK of memorno errorBad Memory @ loading from to, size, unexpected end-of-fil, not enough memor, bad memor;!9u5t6"" e"2-~.Zf""n/f0*2-;͟"2-u/t0u1t2"t.Zu Z*2-n5f66.n9f:|("n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z"~/!18I!}7O ^#V|a' F t z " "" q; m W """t " x $ " ""%"_ """"""" W"""""""" """"CMW""#"""""_!" w"" ("+(!"  " ~(""">Zn~@O"""w.""vN++~˾""~@i(6@z w@" ͹bXu1t2͗͹/"4w"~? wk=1ͷ""#~@ w#ɷ"{&}w.}oͷ"Z9( "\P 1 "ZV" 6/8ShĎr Oy \; A">84 " ,"i F  > "66 4 "; "">8m " e"i F M2 Ĥ ;"" C"g :4" -"i F  Ĥ 2 "6w. 6"O""4~ >w##4<͒("͒"c ͖"9"P"""c  {b͗/"~wk 6/c  ~w(x=(#?({C͗"k /NwFyXpy~w?(͙/wwr~w? "  9"P"""## ˾0#/r   8( > 7"6"  "( Ĥ> """"g"w.~hw~gw~fwO"7i ~wh#~+w#~#~G~#O>>~Ox ##y>7"i p##q=~wf~wg͒"Owfwgwh~@P  r w.("Zn(:~@(46@P + ~ nˮ"( "(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh~^##Vg{怄O>G{GzGz_>#q#p#wT\8ͪ~8#  s1r2"~w/~"Tnf"~w1~w2~w/~w0~"~1Tͭ"[4-42()~1"ѷ"52 }/o|/g"4-{ozg"4-{Oz(>g~1w6"<įo"Tͬ6\8͉"Oͺˮ"7"Xb16w6y͒(y<6w?~w?(O͙ͺ">#| 4C~@n("# ~##~͑8w###6ͬ~/("###> w"## #˿##~(H(>"#bͺ " ͑8###w/˾1n6k~@"#͞|+Nk6k͂qkͥ͂(c#)8:!"f-! ͯ+ͯ#O͙/ݦw_{(*f-|g}oR0+͂{zb͗8 b#~(9x(((( t(~(T(Nt(͙/O =#˯~0.~k͞|< ͨY^( >wAwB~k?O?^CVDy<( ~k?(#sCrDnEfF!uEtF~O*f- )"f-Yy= (>>F-~#TO ?' +  )###4ͬ !+++ ͬ/OG(6"͠~8=)))0Ͷ(r+s!a-e-~#T2F-!G-w#r#sZѯF- !b-RDM!x(6ͷ"u't())s$r%w&G)ͬѳ_N͙G<8= " Ͷ( ^(#Vz;~1w#~#"(6~#͢(< Æ~#è͝͝ˇ+R:bk##B8B0! <{_G~  (w/x~ ##~Z~ ="#$~# V # yDIRDSKyͺ9 6 #6#6#6#6#6#/ͬ6L9&6 8(6/L +ͪ~=w> O6 (6/^0%~( Sh~86/y6/>7~(0 0!~  /6#>7ͬ~~  N###~< =y >ɯ~#T_!6-~#ͭ":4-o:5->7 ~/ط L#<_#{ x7NF >8= ɯwAwB<LR+B0<Rn&)= #! ^#Ͷ(V#zO~?(~ ?>#w#w ͬOͶy(G7~=~ =nAfBy!( ~k?(#+uAtBnf!þ"~1w=~=""þ"~1 ~@Z~(w@>"^1J7G)ͷ"s#r#w""u7t8"u9t:Zv 9~1(Zn ,w@0ZZZZZ:h-w@:"w=>"~1w[Oz<(!-!Oqn7f8|>"~?(=~=k " ~    "~nLfMuLtMnNfOuNtO^PVQsPrQ'!o-^#V+R( V"@:j-(G72l-2k-0:j-o:k-g"!U0|"~1"~1TOF2ͷ}o|g"m-ˀ!s-ͷ}o|^#V!s-R(w####~ "x 3v A8~= 3~((͂ Ϳ3p(h "Ϳ @[m-yí"x=x(4@(x`` )!w- ^#Vz(yͨ~ p+p!6- p͹!s-^#V!s-R( ! ˶@`Æ. *!s-^#V!s-RM("####N#Gw#~#> ##q#~*8>)~>3~˾)~ͨ͞6ͯ.~w 6!:j-ݾ06)~͢(< )~#w# ut=Æ@V"!6!o-s"@V"!s-s"8k!8Ͳ! u+t,   @n+f,~#T*s-s-R"Z~(1M!~w3w.~" Ms#r^ V )~0>"w6~8=/N F! ~=8qpn f!"^V~F?nf| )R0= =4:!R0nf NFq p utsrNF nfR0; utͣѷn f NF DM!Rutnf#~wnf^VR3~͢=<("~=%ut ~_!w-^#Vz %63 ~͢( ÆMr+ss r   6~_!-~~#w^#V^ V _!-~Z:i-w[""*"u1t2:-"7"^#V#~#ͤW~ͤ_* S7G T72 "q#p#zw#{w 0 !!!!6/Z~(w0!u1t2!"ͷ"MD""""s1r2q/p0" 0 ( ( ( I "~1O!- 0 ( 6~G p 4! "N1!~1O<(<(<! ͻ ͻ ""~#$I ""ͻ "2! K- ͻ ""Tͻ :- :-O(! O:-:-ʆ:-(:- ~YwY"Yf(" ~;(=_!-ѯ~F#^#V!b!!-m""|"-!-5![-!-R(^#V#!##~r!*-#"-:-*-+"-|!-4S-!7"-!7"-6# x {-*-*-M*-~#<(= " ~# ~ xD##>)))))))'8"8"d8" 8" R0y 0O!N#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#r͖"N˹!~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!"Rv #wo&@) s#r #/wG7!.{-M{u(( (B=(?u(!.~ 5:.u(OM#u(:.u(u(!.~Ou(~#͐" !.k!͇#!.Ͳ!s-.~(=(Q=;%=3&=i$> 20.;&ͯ$%xː& #(x# % :/."%> 20.;&ͯ$::.@o'%xː& $( x$ % :/. 4ͯ$%xː& D$(xJ$ % :/."%#> 20.;&ͯ$::.@o'%>& $( x$ !/."%nf"4.nf"2.n f "8.2/.&o'I&~(n f  ^#VS6.K2.[4.[8.~(*6.|{(~<!/.w x!0.~5o'< 5%!:0.3& &> 20. <;& 0 :+.X ͥ&> n%(O%% &*;.ˮ~> %("_%(O%% y( { ^(y'!y("^#Vz w w !0.5(*;.~wJ%##u t &>/:+. ͥ&!b! <;&F*;.~( n(88  ~(~ x:+. ͥ& "% !&V"!%.ò!&Y!͔&!%.k!> 2:.~l'G:=.(ʹ&  :+. ͥ&h&B.~ xw";.~ ~~(˟w!"6.ʹ&() :+. ͥ&:,.21.ʹ&(!1.5((!b!>.:=.<(=o& w~2=.o&~ !{-.>ɉ'`'0M 'M'0MI('MI( '4'M' (M (M)(3M9(Y(MY(        >>̓(h&)))DM)) KF. ~̗){(=(7=5)=ʪ)=ʓ)=ʭ)=ʭ)ͭ*~ ݶ(N~  #^Vsrz(k!^VnfN~ ~ Zsr~w~(Ͳ!y~(=w!b!~ 4k!^q ~< w4~í)~{Jͪ)qnf~W{OzT*nT*~($˹":- ~ ww~w~w~(Ͳ!~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5Ͳ!""""Lz(=( "H."J. !*==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(͆++s-1.G( [H.ͻ){-Ms-1. s-1.>(!^+*[H.W*s-1.G([J.s-1. s-1.>(!^++[J.W*s-1.!L.~ >>ɯ> !+.~w@****""""""""""""*.}=2v()))T]))7"F.! /.p#/p#/6 #~#w#OGi`7s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# /"""*Y!p#p#T]s#r#s#r#!,0!,0!+"!s+"!+"!i+"!+""!D+"">!+" !+"> >} > >} (O ‰*ˮ~> #("_O(OOO y( { ^(!y("^#Vz w w !5(*~wþ##u t 8>/: !Þ <̯F*~( n(88  ~(~ x:  ͖ !!͕!ç> 2~G:((  : h&~ xw"~ ~~(˟w!"(() : :2((!5((!͞:<(=o& w~2o&~ !{>` 0M M-0M=M M4]Mm }M M3MM        !ͧ!~ʖ==D=5=~2G:???? ̀@5 w w ~G!d_u t :nf}|8n f "~2~2̀j>> U>*"!4#5 ү̀j>>0*"U>!4#5 ү~nf}|n f ~ G~>Py 5>د!A!A͕E!ç텼 `>>h&)))DM)) K ~̓{(=(7=1=ʦ=ʏ=ʩ=ʩͩ~ ݶ(N~  #^Vsrz(ͧ^VnfN~ ~ Zsr~w~(y~(=w!͞~ 4ͧ^q ~< w4~é~{Jͦqnf~W{OzPnP~($˹`: ~ ww~w~w~(~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5````Lz(=( "" !==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(͂s1G( [ͷ{Ms1 s1>(!Z[Ss1G([s1 s1>(!Z[Ss1!"!q!v(!~(˾:( >˶*!nuˮs1!~Gs_Ks=w)!K\x( 0< [^0<"2`s`!  sƯ`i ($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $SK <-- $Invalid command$Command not found$Insufficient memory$\}COLDSTRTAUTWARMSTRTAUTqquu0 hhrrs  ô37;@;7JEMRX^aôö %!YYYC\ C^PYS>Gs_Ks=w)!K\x( 0< [^0<"2`s`!  sƯ`i ($/$)$TurboDOS 1.22P, Copyright (C) 1982, S>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1wx(O:\ :] (G:l :m (?:] ( 8L 6]8C 2:m (  +v )!Ͷ ;ÚͲ-!\2E* RͶ!(S!l2`Ͷѷ!*+R0:\͊̀2* ":l͊͛>2=2>2! " V(C:!@)=KC"Kx(S *R!""ͶV*#"* [" *+"| !x Ͷ Operation successfuͶ Non-privileged userͶ No source drive or filename specifiedͶ No destination drive or filename specifiedͶ Can't find source fileͶ Can't read boot tracksͶ Can't write destination fileͶ Can't write boot tracksͶ Not enough memoryͶ Reading source file:Ͷ Writing destination file:Ͷ Reading boot tracks:Ͷ Writing boot tracks:ͼ~#_(S!l2`Ͷѷ!*+R0:\͊̀2* ":l͊͛>2=2>2! " V(C:!@)=KC"Kx(S *R!""ͶV*#"* [" *+"| !x Ͷ Operation successfuͶ Non-privileged userͶ No source drive or filename specifiedͶ No destination drive or filename specifiedͶ Can't find source fileͶ Can't read boot tracksͶ Can't write destination fileͶ Can't write boot tracksͶ Not enough memoryͶ Reading source file:Ͷ Writing destination file:Ͷ Reading boot tracks:Ͷ Writing boot tracks:ͼ~#_>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 10/28/82) 1} 225262829:] &:e :\ :m :u :l !3!~( : ͇ T(˞,(: ͇ T(˦: ͇ T(˶\(08 0 yOOy :3O:3W:4o Î | _U| Î !"*}SRͮͲͲ ":SX \ȇ_!~ʞ":4W(  ~ž!""*|(J"*[R<": [ O~# v*8""#"*[R *|(X+"*A  *R8A*[R()*Q ]T+*A * *Q [s#rSü!3é<<<*|"A ":3W(H:4 A" >2:: :;(:<͇ O: ͇ (: ͇ ( !4!4!": # 6#!m? *: # ~w#y 86#:\2:l2G:=~xO:=x +:5O:6 !! #  !\ Î :4G O O:3W(Hy !͌ !͘ >2:: :;(:<͇ O: ͇ (: ͇ ʽ:±] 2 !ͦ :_!~ X!~:4w¥G Oͽ >2:: :;(:<͇ O: ͇ : ͇ ʽ2 ý ý ! ý!,ý ! (>G½ ! n » :4W( !d µ R!:4gʽ!~ iG O€ !d>2:: :;(:<͇ O: ͇ (: ͇ ʽ> ! (>G ! >G, (  *+"|*#͋~#=A"~#"*%[R R0x Cͩ͢!3˞!"*"% ͸/ :3_ *#"[R8*"*|(% K / *+":3_( ¦ ¯ {  :4(ʁ W ( =(Š :4o% !~% ¦ w 1 ͠B  ( w -  !( =Š !3 { B Î w A"F :4(ʓ !4n( !n  | 7  ( | B   :4o  !3˞!" !:4oF Ó  Î | A" { 2!""X e2!""] NX !*#"| !4] "*#"| !4X ] dÎ ͅÎ ͜ ͭÎ ͜ Î Î Î >Î lÎ ͟X ] X ] _p_ps! (#˾[*"Q ~#foJ K ))) )K :5:6_  ѻ͟ \0͙  ͟ l0 Ͳ !3é!!6# 6 #6#!6  ?( # ??.(7:( ! ?ȷ:7x7:A?<2# (:.*(w#x:76?#:@7[=;7 OS=:@=2@ya8{0  *? !@~#"=:`  :\:l=a{ YNSDABCEX Invalid filename 1 Invalid filename 2 Ambiguous filename not permitted with option B Destination drive read only Ambiguous filename: confirm individual files (y/n)? copy to same filename Ok to copy  to  (y/n)? already exists,ok to delete? (y/n) not copiedread only FIFO file, not copiedFIFO file, not deleted  not copiednot delete copied to  Ok to delete source file? (y/n) File not found Insert next source disk in drive:  Enter when change complete Unable to lock out destination drive  Unable to free drive  Inset next destination disk in drive:  Unable to open source file Unable to create destination file Unable to read source file Unable to write destination file Unable to close source file Unable to close destination file Unable to set attributes on source file Unable to set attributes on destination file Insufficient memory for copy  Non-privileged user Insufficient memory~#" _AHle? (y/n) File not found Insert next source disk in drive:  Enter when change complete Unable to lock out destination drive  Unable to free drive  Inset next destination disk in drive:  Unable to open source file Unable to create destination file Unable to read source file Unable to write destination file Unable to close source file Unable to close destination file Unable to set attributes on source file Unable to set attributes on destination file Insufficient memory for copy  Non-privileged user Insufficient memory~=COPYRIGHT (C) 1982, SOFTWARE 2000 INC. (VERSION 10/03/82) 1=!~M͌k!N#*ͨ +͌ͨ  > ͱ "!k*͓s!2>ͱ(/!6#!N#!2s!:(rͣ:G ":O x2{2z2*:W:_:GS<͌k*͓s!2ͣ"ͣx2{2z2TR!w : "A!6T]u08Y ('!:0o:g2::8VA8-[0)!R8w#:0o:gd2:(, { !կ(V#( y2(*V: :2: :2:(a: x2`^*&:=0C:*&!_=(^#!:= 0;;!V:('G6 #*&+T]{6 #:G 6*#2{2z2ÓV:W:_:!Rʼ!|D)0)0>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1:] :e !!~( 2WW :X(:Y͟O:͟(:͟(ͭ!ˎ!ˆ!"^ͭ `*^͓! ~ P!~ M:G O :O(G>2WW :X(:Y͟O:͟(:͟(@ͭ!520ͭ `ͭ*^͓#G:\ < PZͿ(  *j+"j|*^#Ðg:\=lAͭ*^͓#͋ͭ͋~#ͪ~#foͣKZ ))) )K\ 8 \!7|!t!76# 6 #6#!86 (?( Q??.(7:( !@(?ȷ:77x7:8A?<27Q(:.*(w#x:776?#:7[;7 OS:=2ya8{0 ͭ * !~#"ͭ a{ YNͭ Destination drive read onlyͭ Ambiguous filename: confirm individual files (y/n)?ͭ Ok to delete (y/n)?ͭ read onlyͭ FIFO file, not deletedͭ notͭ deleteͭ File not foundͭ Invalid filenameͭ Insufficient memoryͳ~# _H20ͭ `ͭ*^͓#G:\ < PZͿ(  *j+"j|*^#Ðg:\=lAͭ*^͓#͋ͭ͋~#ͪ~#foͣKZ ))) )K\ 8 \!7|!t!76# 6 #6#!86 (?( Q??.(7:( >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1MyG;(! ˆ͍O:͍ 2 J2==G72" Sy2K"SC2<(: :< !_:\=_͗: AbP!PP * :_R!:G20<:!7j= 2:o&:)= 2P 9!@:)=2_*2ͅ*2ͫ*2P :(P ~#b+@B++'++d+ +}0bR0x :  >2x0bV~#bW! F __a{ LP Disk drive characteristics, driveP Maximum data capacity :PP Allocation block size :P Number of directory entries:P Physical sector size :P Physical sectors per track :P Physical tracks per disk :P Number of reserved tracks :P Media isPfixePremoveabl?  _͗: AbP!PP * :_R!:G20<:!7j= 2:o&:)= 2P 9!@:)=2_*2ͅ*2ͫ*2P :(P ~#b+@B++'++d+ +}0bR0x :  >2x0bV~#bW! F __a{ LP Disk drive characteristics, driveP Maximum data capacity :PP Allocation block size :P Number of directory entries:P Physical sector size :P Physical sectors per track :P Physical tracks per disk :P Number of reserved tracks :P Media isPfixePremoveabl? >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1W($G;((ͮO:ͮ !́\.͚} ́} ́4*}#"}|!4Í ( ( \́s0:8͚͇ ~͚~#_:G(a{ L͇Record͇File not found_a{ LP Disk drive characteristics, driveP Maximum data capacity :PP Allocation block size :P Number of directory entries:P Physical sector size :P Physical sectors per track :P Physical tracks per disk :P Number of reserved tracks :P Media isPfixePremoveabl? COPYRIGHT 1979 SD SYSTEMS*"=M 2BR""#6 R"6 R"6 R"'R"PR<<<R"1!P""%";"5"7[1R8  Ö!")"+!F66!N 6 \N!\ ͘ –I<( !F !FPk<!FV!v*"!6 (  Å !Fv( *#"! *"! *!! ~2? (C/#~ (, (I0 05`i))))o+?+{=!F#~ ( (0 8~- C/"!!v!F*/|(x' y'ګy'Ox'G:?˯A fF* N 85" (#*> #"͢ ^   3*%"^̀ͳ  B*[;FR(+++R(+~ ͔ ##"3͔ (F &*+}'o|'g0!"- K- (#^( V( !"+*;DgF* N *> # Ǹó [%RDM[(S%I * (#!+ͮ  +*' Àͣ*%[R[% ( *%+S%*'[S͢ N L DF(!0*+y'Ox'G#*+}'O|'GÎ3!+#~' +~'V K V^F*" N(ͳ z !+ͮ ͢  + ͔ F  S*F! !ګO#~ʫ ʫ#~( (##"!*#* "* 3 "͢ ̀ͳ ~ (( #~ ##<#HBC[Fy x ! !ګO#"9~ʫ ʫ#~ ʫ x2C#"~( (##"!x2AS*[9:CG7:A0(:AO :CO *%BDMS%%O*% :CO *%R#DM*%S%*:A(O*"3N [3RDM* —3n«v3"͢ Ềͳ E F ÅT ͎ ÅQ %5N "?f :B_P F! *!+ "!!͘  !\  #Ï <!F*!"!F !N(ͳ 95"͢ ~̈́!F~# v(Q J ͔ >̈́!F w(#y 8!y 0 6">  :Bw (s:(o ( (g+w ( ( (: +~=#w (:(9 ( (?w ( (0,(,. (w ( ( 2@!F*'a w#( a w*' ͣ!FÀ:@< !F2@!O ~K+ C+*+ "+#ͳ +o o o0W+z0ɧy'Ox'Gɧ}<'o>'g^~_$#*1*2+**+T]6 T]#Ny(,#6 #6 ~ ( ( 8 #y0 +~ 6 x ***WARNING: INPUT LINE TRUNCATED $***WARNING: UNPRINTABLE CHARACTER(S) IN LINE $ V#z   (+ :@=>2@# +:@G +ɯ[%R ,*!~ #"!:Eݾ~ +[%*R? *[5RR8A**%*"%~5wѷR DM[;SS%*+ ^V n *;"7"52D*1[7RR0 [7I<e >(5 x  (S%x2D( !PH*;"!F++~ +~  6 #6 #6"%2D!F*%N( 6##*5 [; *%[5RR0N [; x(C[5k< x !FN*%RDM*;B"5(^ :D(!POS%S7 Zz   SD SYSTEMS EDITOR V3.4 $***END OF EDITING $***END OF WINDOW. USE 'ADVANCE' TO SEE NEXT RECORD $***EOF $***DATA MODE $***NEW FILE $***TOF $***NOT ENOUGH MEMORY AVAILABLE$SYNTAX ERROR $5N "? V( ͂ *;"k<!FV +I<!R6B#6A#6KI<<!!6#!\#! <!FN!P";"%"!"+*[%R N5"*[%R N[;I<[;k<I<k<_!I6T]!\#~!0  Ö!\+~Hj##J !\#l!!\# !\#!$$$BAK )ë<(W(p***DATA ERROR$***INPUT FILE DOES NOT EXIST$***NO DIRECTORY SPACE AVAILABLE$***ERROR IN EXTENDING FILE$***END OF DISK DATA AREA$***READ PAST END OF FILE ERROR$***ERROR WHILE RENAMING FILES$***CANNOT CLOSE FILE - DATA IN THIS FILE IS LOST$<(W( p +Ö!5$  !>-l€"- !W+ ͅ"5$ Bo$ͅ"$G }o|g}o|g}o|gCC< +(- o$ͅ"o$-(ZR $.#(l&o$!6"* /o$"o$&$&$|(z $}!(0G $'/ 0o$"o$&$&$z $($| $y)$!+r86)( !0ڲ#:Ҳ#8!'(ͺ(H(!D( O(Q(B( : 2Gy(j $ŧj $Z $08!0A8٧o> $g6$ #( *)4' !eo͊((~ f(46l&$A}g R0||/g}/o#yO.!*.( w#>.6 !*!%f yo$V6>}4GR~}#tAMzfM4Znt=΋{=zDF{\?QX5A@Ԅ],zLt - OF FILE ERROR$***ERROR WHILE RENAMING FILES$***CANNOT CLOSE FILE - DATA IN THIS FILE IS LOST$<(W( p +Ö!5$  !>-l€"- !W+ ͅ"5$ Bo$ͅ"$G }o|g}o|g}o|gCC< +(- o$ͅ"o$-(ZR $.#(l&o$!6"* /o$"o$&$&$|(z $}!(0G $'/ 0o$"o$&$&$z $($| $y)$!+r86)( !0ڲ#:Ҳ#8!'(ͺ(H(!D( O(Q(B( : 2Gy(j $ŧj $Z $08!0A8٧o> $g6$ #( *)4' !eo͊((~ f(46l&$A}g R0||/g}/o#yO.!*.( w#>.6 !*!%f yo$V6>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/29/82) 1G wx:\=2 : O©:  Insert disk to be formatted in drive: A ͢ Enter to begin formatting ( >2 *6 Starting format pass *j " !" :f 2 2 %W>2 *( Forma4((  Format aborte! 4! 5 * #" * +" |  Successful format Starting verify pasi Insert disk to be verified in drive: A ͢ Enter to begin verifying (  ! " >2 *ʨ* " ))))))): =?)" t S *R|* " 2 !" " *( Verif4((  Verify aborte* #" * +" |  Successful verif Non-privileged user No format drive specified Unable to lockout format drive Format drive not ready j Insufficient memory to formatU Insufficient memory to verify: O +. Verify drive not ready : Ojé! ˆ : GOjéG;(! R V _pѷs V error, Drive:: A , Track:* ͬ (Retry, Ignore, Abort)͢(A7( R(I  'd  R0x  0  ~#  _a{ :e |(*!t *R>!t T]6:e (6N :G _:h 2 GO !H 8zw#p:g _!:e (!^#V#^#VSc t !H N#F#F#~#: : ~#*c ~!t " R" :e :g (2 : :i (2 R^2B( ( (  PN 2N N NPN 2N N "NPN 2N N BN2l 2m 2n 2p  :m ?!l } Enter density (Single/Double):l ( ͠ S( D(} S(!e 6:n :!l } Enter number of sides (1/2):l (1( 2(} 02f :p B!l } Enter format type (TurboDOS/Cpm):l ( ͠ T( C(} !g 6C(44:e (4!c :g _:e (+~2h !f :g (+~2i :l G} G;(͠ S D 2m 1 2 2n T C 2p 6*T:tq  :r :s ̓ ~#͏ _a{ M(  PN 2N N NPN 2N N "NPN 2N N BN2l 2m 2n 2p >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) !1h͙g H͞ d ͓ͣCopyright (C) 1982, Software 2000, Inc !:g(!!"H(([wDw!\~#~!E?E! !lV~ :#~!0!!u~!0!e~!8__!B#!SYSN!F;(9ͷO!:Oͷ(':Pͷ($:Qͷ(:Rͷ(:Sͷ( ͪͪ˞!(08 8  8 0))))o"!w#<2E2C@<E!}( ( ( 8#w}R}w#"z!C5 66,> !C[CR~ *|!}~#"z !}F#^~ 6 ͮ8:G!!O͝!F[R SRN~!!REL!F6# 6 #6#!G6  ?( 2??.(7:( !O ?ȷ:F7x7:GA?<2F2(:.*(w#x:F76?#:}7[z;7 OSz:}=2}y^, > a{ T>2Ͱ *R"T͡Ͳ͂ :78:27(("('(>(s  ʮ *2Á!B (!0ͽ Á?SYM? *8!zf[8Rҁ!zn[8s#rÁ*8"|Á*8"zÁ!B (3!B (E0o&~@(& 0O L"8P Á4& 0!L[?R& 8Á!& 8^#V*8RÁ2`!0>2Á?ORIG??UNIT?!F(Nˆˎ*| *8| :7= *p|(!>!zfDM6+6!pf  r+s= Á{h!^ ^[p*":W(###"B"p"f[r"r"h["x"n[tz(+$."t"j[v"v"l""L"*#""L[tz(R."t"j[R"x"n[rR"r"h[pR"p"f"B[vSR""z(!!"v"l":W(+++"!:[TST*[R"["[TR8*[R("DM bk6ÂÖy>2 *T"V͡Ͳ !"d>2c>2!zn6#6= ͂ :78:27(6(_(d({D ʀ ʚ ʣ g ʲʻ Tv:- :8w*d#"dLs#r*d##"dÀ*2À!B (!0} À?SYM? *8!zf[8RҀ!zn[8s#rÀ:W(& 02ͅ!0>2TDML|ʀv^#Vp+qTL*Vq#p#s#r#"VÀ*8"|À:7*82c"dÀ*8"zÀL|([z( ;>2"6 ͖ >!zfDM!pf  r+s= b\*| *f"*:_( ! W( [6#s#r*T[VR0^#V#N#F#v^#V r+s*T"V͞|:g(:N:N:N:N*[~N#z ͍ ͷ!,˞N$ *)'(=(:,G (s#r#s#:,O$ _ v")> 2, :,W( ˗2,!R:++(-!,:,O ,* ((( (08:ڡ ' " !,!,N(>=2+!!06#6 O!0~04^q* )( :1?(& !,!!0))))o* 08:8A8G0G*)F !,^ F !,N (w#")* >'2+ (=( ,(+(-2+!"C@<EF (;( a{ F !C5 66, !C[CR~(_ 8!,> ɯ27282920=2/!1> w# 2- 27 28` 2.( 27 "8H 2/808 27 "8:/(%0 20(O!1 w# :/:E(*R [TR?B !0F#!0[T ST*R͂ T]͂ 0͑ ܠ  [TR#  Nwy#:O͎:O͈͈6!0FN͈:Os !0F*8U:7o& ^" '"^`#:G͎Z͈͈q͈͈ ====== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ===͈:G !0F :G!ʹ U͈>!zfZ  !pfUU :Oc ͎͈͈ *R [TRs F~#^#V( !ffU#^"#|\}e 80_":@0 : Ͳ<ͣͲͷͷͷͷ÷: "2 " "2:<2^˻"~#(~#!~98 6 4^#!4!j}lg!E5 6!C5 66, !C[CR~wî![Rw!5 6}6V1 VJV;<:(NVE*P"N[RR*N[RR? "N!w#<2E2C@<E& 0! 0& ?8 7!?UND? ~#^#V( !ff!>B >!EB ><?PAGE??INIT?:7*8:c*d!pfn^#Vo&+)KB[Lͦ0[lR[K[ͦ8[BRa{ |} 80_^˻~#(ͣ  !4XMSLU Pass  Duplicate symbol: Pass  Undefined symbol: Writing output fil Processing parameter file:  Last Symbol is Undefined  Sorting symbol tabl MODULE-RELATIVE SYMBOL TABLE Symbols defined in module ABSOLUTE LOAD MAP MODULE PROG SEG DATA SEG PAGE SEG INIT SEG COMM SEG TOTA NAME BASE SIZE BASE SIZE BASE SIZE BASE SIZE BASE SIZE SIZ ABSOLUTE SYMBOL TABLEFile name missing from commanInvalid input file namSerial number violatioNot enough memorVacuous input file(sUnexpected EOF in input filDisk is fulCan't make output filNo input fileCan't open input filLoad address out-of-bound Multiple defined starting addres! GEN COM} PAR ?BEG? ?END?  BASE SIZE SIZ ABSOLUTE SYMBOL TABLEFile name missing from commanInvalid input file namSerial number violatioNot enough memorVacuous input file(sUnexpected EOF in input filDisk is fulCan't make output filNo input fileCan't open input filLoad address out-of-bound Multiple defined starting addres! GEN>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1ͫ !"<!B">͗*[R8.|("@++"<!B">͗0*@ͫInsufficient memorÜi:_ OHGHHog HC( = K< 7(HR H ͫChecksuÜ.'8R _'0ͫLinker controÜW*<}R|- H ͫByte coun]g.H$ioO}wݾ #ͫMemor3[@z(*>R0 *>~#">ѷͫInsufficient memorͫ error ^~#+ 092682233828; 1! =TurboDOS Moni;tor, Copyright (C) 19:;*82, Software 2000, In;?c!" I!" 1! = ;T *!MH͸A,;i_!v^#VPy;~'6n;$IL0Z;$$ORO;IO"~T@x}; ͍IO ~;HT=̀ # ( (+;I j8G~wݔ;Bq̀0#͆;*@#| != C t;?(C VAL1,VAL2 ;T ) Calculate sum;i/difference D (D A;~DDR1,ADDR2 ;) Dump memory E ;(E ADDR ; ) Examine memor;y F (F ADDR1,ADDR2;,VAL,REP ) Fill m;emory G (G [ADDR] ~; ) Go;&to address H (H G;; );P Help I (I PORT ;e ) ;zInput port L (L FI;LENAME [ADDR] ); Load file M (M H;ADDR1,ADDR2,ADDR3,REP; ) Move memory O x; (O PORT,VAL ; ) Output port A;  P (P ADDR J;" ) Put memo;7ry Q (Q !;L ) Quit ;a R (R ADDR1,ADDR2 (;v ) Ram test; S (S FILENAME [AD;DR1,ADDR2]) Save fi;le T (T ADDR1,ADDRd;2 ) Type =;memory V (V ADDR1,;ADDR2,ADDR3 ) V; erify memory W (W ;VAL1,VAL2,...,VALN ;3 ) Where Y (Y [;H );] Top of memor S;r#}T@=xÐT;B98M:x  :  (?w ; LH2 #| !;$" Ow ; +" ÐK=;Invalid file nameM;@=File not foundM;@~̀0#@͆;MY$̀ ((;0(w#͂ += ;E +Ḱ+" * ;Z#q̀0  * #y;oHĠ̀0   ͍M; G9$ڒ:x  : ; ʒw ; d#|(" #|(P;@" * ͐O* F;@K̀  ;$ 8  m6 (#6n; 8]D[ +̀#=;Unable to create outp;-ut fileDMw ;B=Unable to write 9;Woutput fileMw ͂;l=Unable to clos;e output fileM =IW;nvalid file name M;O@~( 0; >` x} ͍v; Ġx ͍@#eV;3:% GOgj-9;Z~+( ~; #++O@͍z;*3 $!O!w 6#;? 6 #6#!x 6 ;T@͔?( ̀??.(7;i:( ! @͔?ȷ@:w 7f;~x7:x A? <2w 8; (:.*(w#;x:w 76?#;% 7[u ;7=6; Oy% =;![u Su !͸0; O)) ) [;@#| #" ! ;&B͸8j8 ))))o@0b;;~# ?@=|];P@T} ]0:8;e 0 ??̀;{#M|}! 5ʐM;  (MT;HO~͑TT; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; c{; xf; Y; GOgj-9;Z~+( ~; #++O@͍z;*3 $!O!w 6#;? 6 #6#!x 6 ;T@͔?( ̀??.(7;i:( ! @͔?ȷ@:w 7f;~x7:x A? <2w 8; (:.*(w#;x:w 76?#;% 7[u ;7=6; Oy% =;![u Su !͸0; O)) ) [;@#| #" ! ;&B͸8j8 ))))o@0b;;~# ?@=|];P@T} ]0:8;e 0 ??̀;{#M|}! 5ʐM;  (MT;HO~͑TT; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; c>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1- :\ :] :e !!~( (2 :(:͖O:͖(:͖(!ˎ!ˆ!" H:G O D:_(=I>2 :(:͖O:͖(:͖(L H *́# (=(˾#:\ l(  *+"|*#Äsm*́#ee~#vA:\=͘~#fo͑K ))) )K \0͈ l0 ͟!!x!x6# 6 #6#!y6 #?( L??.(7:( !#?ȷ:x7x7:yA?<2xL(:.*(w#x:x76?#:/7[,;7 OS,:/=2/y͖=  *. !/~#", a{ YNFRGA Destination drive read only Drivenot already set toread/writread onl Ambiguous filename: confirm individual files (y/n)? Ok to set attributes (y/n)?se File not found Invalid filename Invalid status specifier Insufficient memory~# _0H͘~#fo͑K ))) )K \0͈ l0 ͟!!x!x6# 6 #6#!y6 #?( L??.(7:( !#?ȷ:x7x7:yA?<2xL(:.*(w#x:x76?#:/7[,;7 OS,:/=2/y͖=  *. !/~#", a{ YNFRGA Destination drive read only Drivenot already set toread/writread onl Ambiguous filename: confirm individual files (y/n)? Ok to set attributes (y/n)?se File not found Invalid filename Invalid status specifier Insufficient memory~# _0H>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1F:\ :] :e !R!~( "!""*|(J"*[R<"[ O~# v*8""#"*[R *|(X+"* *R8A*[R()*]T+** *[s#rSl8!Rz<<<:RO( nz_U| ͂͒*|ʡ"!R˖!] ~#?(L:S E͡>2 :(:O:S(:T(!Sˎ!Sˆ !"ͥ*# ~ #(+ ~(~(#~(#~(:SW /G O ':RW(  ((  (  *+"|*##*#~#(A(:\=~#foK ))) )K 8 \!V!Rz!6# 6 #6#!6 s?( ͜??.(7:( !s?ȷ:7x7:A?<2͜(:.*(w#x:76?#:X7[U;7 OSU:X=2Xy  *W !X~#"U a{ ~#1~#( !SV __YNL Invalid file name Drive isread/write read only  Ambiguous filename: confirm individual files (y/n)? has attributes: Enter to continue File not found Insufficient memoryYH  *+"|*##*#~#(A(:\=~#foK ))) )K 8>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 05/10/82) 1($G;((!mLO:XL \!2|U \!~#(l(h 0=(h (. (5 ( P!mF G:nOG> 8!n4.!n6!n48 ,(2( 2(  } Ì\Y  _:mG(a{ $L File not found $****""""""""""""*.}=2v()))T]))7"F.! /.p#/p#/6 #~#w#OGi`7s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# /"""*Y!p#p#T]s#r#s#r#!,0!,0!+"!s+"!+"!i+"!+""!D+"">!+" !+"> >} > >} >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/28/82) 1O wx,j:\=12_<2f2pѷ6s"m$n(:AQRE ( U'' >2!"ͷ;2*[SR"!O "*+|2!"!"v:AQ' 'K͒*O *RAͷʱ͒ͷ(o*[R*Kz( :O:(<=:o&+RP*Kx(+:(~+ngR(yFCs#:(r#"*#"[R,9( E ͗Z*#"*+"|ͫ*|Zc :d(:eO:&Z:% !"!o˾f fKK2rfKfK2!": !K*#"o&)))))<2 f #6#*~#:(~#"*+"|(*+""K*#"YNR' Insert disk to be verified in drive' Enter to begin verifying' Verifying blocks on drive:' Verify aborte' Verify completed -' bad blocks encountere' Mark bad blocks in directory (y/n) ?' Marking bad blocks in director' Non-privileged user' No verify drive specified' Unable to lockout verify drive' Verify drive not ready ' Insufficient memory for verify' Excessive bad blocks' Error marking bad blocks' Bad directory block-~#Q. _ BLOCKSBAD$ DIR verify drive' Verify drive not ready ' Insufficient memory for verify' Excessive bad blocks' Error marking bad blocks' Bad directory block-~#Q. _ BLOCKSBAD$ DIR>o:~W!{> " OC > S>O31! >2|N#Fx2CN#FC$#^#V^#VS#~2#~2<2###~2#^#VSN#FCC*KB0KC:( [0!' #"* (,*#"+))[R%! !!Cy͏qput+[[R8 uty7?R#|(/ sr +utwwNFqpnf^:(#~W#:G)[7?K R0! !=NFx(ENF C$7?KnfB8C[0MD!'  |:o!=!NFnfB#>,(0W}_nfRut=RDM!C76! [36:G6!w0 ͘!4͘ !͙>O3F#Nů  SYS: Which .SYS file to load 0 = CPM 1 = OSLOAD ? SelectReadFile not found error: file 7+*r;&;) ^#V"9-*r;&;) q#p!r;4*8&))8  *9s#r*9͇7"8*8&))8 q#p:8<28O>}<:3>L ~ÒÃG3x(OxAG:RG~ > 2P:HO y~ 8 q!*T~(ͭ8͏ͷ:K2N>2>2SKc> 2P> :SG /_~(!: *E:N{  _!c(  :P= L{(({ZZ:HhZ:NhZ:RhZZ>2P ~ ( w:K2LF8 <2Ny2R:KW:D*GKIB(7:LGz?"V*G"I:KG2LxG![E2DG!> z:(8 XZd>w(>>w~Can't recognize density of disk in$Read$Write$Seek$ error on track $ sector $ side $ drive $ $:s;.¨ ͭ͂ڨ :y; ڟ !Ͱ ͭÌ ! :y;<2y;O!\ :s;w:s;0O> :s;02s;> :s;AO> :s;A 2s;>>!"z;ͭ͂. % *z;))))*s;& "z;( <ͭ *z;:s;AO>/ͭ2 O :s;A<<ͭ2 d :s;A<:s;Zo >Z<ͭ:s;XO>چ :s;<:s;]:s; HҀ :s;S¸ !96ͭ} :s;P !96 "9} :s;D !96 "9} :s;L "8} :s;M q!*T~(ͭ8͏ͷ:K2N>2>2SKc> 2P> :SG /_~(!: *E:N{  _!c(  :P= L{(({ZZ:HhZ:NhZ:RhZZ>2P ~ ( w:K2LF8 <2Ny2R:KW:D*GKIB(7:LGz?"V*G"I:KG2LxG![E2DG!> z:(8 XZd>w(>>w~Can't recognize density of disk in$Read$> COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 12/06/82) 12L$!m%"!X!͹!!+!ͣ 8ͳ!: K=p %*Ks%w # B$##( Y 2Y sK n%: K N:K(>_%*#(# N#w"0D {K: K 4%O:Ky(= <8# c## N#*#(w"m$7"!>> n%!$ K :!\ K~ (~ (# Copyright (C) 1982, Software 2000, Inc.w%A#́##́##AA %# *K.$*JR~/w/w(+"J*J|# {$*J|?</ 0y#:#͇$!K6*J&R"K=":K !="[K'!3":K ͖$~/w/wd"d"#| #R # ͣ$Ͷ#!K6"8fo"8`g"K"8Wo"8Qg"Kʹ$*KͶ#$*K[KͶ#$*KͶ#8+*J|(R8 [K*K"8w #z E#$$ %E#7#8#~!K5 6-K% K%7!K[KRɯ!Kw#<2K2K K%< K%: K=Z#%A##! Kq##~#!#'͟#͟#d͟# ͟# R0y 0#|ͽ#}# 80##~###%_%OSMASTERSYS!UO"K̓M!7$6# x 6;OM-8[K"K#Fatal error loading O/S: to retry# not foun#Testing#K of memor#no error#Bad Memory @# loading from# to#, size#, unexpected end-of-fil#, not enough memor#, bad memor;%!9u5t6AA?%e"2L~.ZfAAn/f0*2L;%%͟%"2Lu/t0u1t2At.Zu Z*2Ln5f66.n9f:|(An3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((ZA~/!&18I!}&7O ^#V|a>'?F?t?z?A?AA???q>66&;'''(m((W))A67AAt*A7**x+$,A*AA%7A>_,,AAAAAAA,W>AAC7M7W7AA#-:A>7AAAA_@A?w6&AA .(A+'(!A . A ~(AAA>Zn~@7O3AAA.w.A7A7vN++~˾AA~@i(6@z*w@A 8͹'b/X8u1t2868͗0͹'/A0/4w6A~? wk=41/ͷAA#~@ w#ɷA{0&868}w.}o6ͷA07Z9-((A\4P- 105 "ZVA 6/180S6h6Ď3r- Oy \4;) AA7>84 ". ,Ai+F)  .> A7661 74*A;)AA7>8m ". eAi+F) M2) .Ĥ- ;AA CAg1 :74A. -Ai+F)  .Ĥ- 2)A76w.*76AO3AA74~ >w##4<͒-(A͒-Ac*͖-A9-AP-A05AA7c* 6{0b/͗06/A6~wk*6/1c* ~w(x=(#?({0C/͗0Ak*/1NwFyX-py~w?(͙6/ww6r-~w?)A 7 09-AP-AAA#0# ˾0#/1r- ++8( .> 7A61A++A( .Ĥ-> AAAAg1Aw.7~hw7~gw7~fwO3A7i+7~wh#~+w#~#~G~#O>>~Ox ##y.>7Ai+7p##q=7~wf7~wg͒-AO3wfwgwh~@P- 0+r- w.("Zn(:~@(46@P- +0 ~ 7nˮA(+A7(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh7~^##Vg{怄O>G{GzGz_>7#q#p#wT3\48ͪ35~8# 5 s1r26A~w/~AT3nfA~w1~w2~w/~w0~A~1T>ͭA[4L42()~1AѷA52 }/o|/g"4L{ozg"4L{Oz(>g~1w6A<įͺ5A54>6#| 4C/70~@n(A# ~##7~͑68w###6ͬ.~/14(A###> w0A## #˿##7~(H4(>A5#/b/ͺ505 A 7͑68###w/17˾1/7n6k7~@A#͞0|+6Nk6k͂0/qk6ͥ0͂00(c#6)8:!"fL7! ͯ0+ͯ0#O͙6/ݦw_{(*fL|g}oR0+6͂0{0zb0͗068 0b0#6670~(9x(((( t0(~(T(Nt0(͙6/O =#˯~0.~k͞0|< 6ͨ0Y^( >wAwB~k?/O?^CVDy5<6( ~k?(#6sCrDnEfF!uEtF~O*fL )"fLYy5=3 4(>4>12FL~#T>O ?' +  )###4ͬ6 !+++2 ͬ6/OG(6"͠877~78=)))0Ͷ6(r+s3!aLeL~#T>2FL3!GLw#r#sZѯFL 2!bLRDM!x(6ͷAu't()3)s$r%w&7G)ͬ67ѳ_7N7͙6G7<8= A Ͷ6( ^(#Vz;7~1w#~#A(6~#͢7(< Æ%~#è<͝33͝3ˇ36+R6:bk##B8B0! <60{_G~  (w/16x7~ ##~Z~ =A#$~# V4 # yDIRDSKy5ͺ5695 6 #6#6#6#6#6#/1ͬ56L6595&565 8(6/1L65 6+ͪ3~=w> O65 (6/1^3460%0~( S6h63~86/1y5606/1>70~(07 660!0~ 7 /1606#>7ͬ5~6606~  N###~< =y >ɯ~#T>_!6L~#ͭA:4Lo:5L>7 ~/5ط 5L60#<_#{ x7NF >8= ɯwAwB<6L6R6+B0<6Rn&7)= 6#67! ^#Ͷ6(V#zO37~?(~ ?>#w#w0 ͬ6OͶ6y(7G7~=~ =nAfBy5!( ~k?(#6+uAtBnf!þA~1w=~=AAþA~1 ~@Z~(w@>A^1J7%G)ͷAs#r#wAAu7t8Au9t:Zv 9~1(Zn ,w@0ZZZZZ:hLw@:Aw=>A~1w[Oz<(!L@Oqn7f8|>A~?(=~=k A ~    A~nLfMuLtMnNfOuNtO^PVQsPrQ';!oL^#V+R( VA@$:jL(G72lL2kL08:jLo:kLgA!UO|A~1A~1T>OF2ͷ:}o|g"mLˀ!sLͷ:}o|;^#V!sLR(w####~ " ##q#~*8>)~>3<~˾)<~ͨ<͞;6ͯ<.<~w 6!:jLݾ06)<~͢7(< ;)<~#w# ut=<;Æ%@*sLsLRAZ~(1M>!>~w3>w.~A M>s#r^ V )>~0>Aw6~8==/>N F! ~=<8qpn f!A=^V~F~͢7=<(A~==%ut ~_!wL^#Vz %63> ~͢7( Æ%M>r+ss r   6~_!L~~#w^#V^ V _!L~Z:iLw[AA*Au1t2:LA7%A^#V#~#ͤ>W~ͤ>_* S7%G T7%2 Aq#p#z>w#{>w 0 !!!!6/Z~(w0!u1t2!AͷAMDAAAAs1r2q/p0A? 0 ( ( ( I?A~1O!L 0 ( 6~G p?4@?AN1@~1O<(<(<@ ͻ?ͻ??AA~#$I?AAͻ?A2@?KL?ͻ? AATͻ?:L?:LO(@?O:L:Lʆ%:L(:L ~YwYAYf(A ~;(=_!Lѯ~F#^#V!b@!LmAA|"L!L5@[L!LR(^#V#@##~r@*L#"L:L*L+"L|!L4SL!7$"L!7$"L6# x {L*L*LM*L~#<(= A ~# ~ xD##>)))))))'8A8Ad8A 8A R0y 0O@N#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#r͖AN˹@~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!ARv Bwo&@) s#r B/wG7!M{LM{uG( (B=(?uG!M~ 5:MuGOMBuG:MuGuG!M~OuG~#͐A !Mk@͇B!MͲ@s-M~(=(Q=;D=3E=iC> 20M;EͯCDxː& B(xB D :/M"D> 20M;EͯC::M@oFDxː& C( xC D :/M 4ͯCDxː& DC(xJC D :/M"DB> 20M;EͯC::M@oFD>& C( xC !/M"Dnf"4Mnf"2Mn f "8M2/MEoFIE~(n f  ^#VS6MK2M[4M[8M~(*6M|{(~<!/Mw x!0M~5oF< 5D@:0M3E E> 20M <;E 0 :+MX ͥE> nD(ODD E*;Mˮ~> D("_D(ODD y( { ^(yF!y("^#Vz w w !0M5(*;M~wJD##u t E>/:+M ͥE!b@ <;EF*;M~( n(88  ~(~ x:+M ͥE "D !EVA!%Mò@EY@͔E!%Mk@> 2:M~lFG:=M(ʹE  :+M ͥEh&BM~ xw";M~ ~~(˟w!"6MʹE() :+M ͥE:,M21MʹE(!1M5((!b@>M:=M<(=o& w~2=Mo&~ !{-M>ɉF`F0M FMF0MIGFMIG F4FMF GM GM)G3M9GYGMYG        >>̓Gh&)))DM)) KFM ~̗H{(=(7=5H=ʪH=ʓH=ʭH=ʭHͭI~ ݶ(N~  #^Vsrz(k@^VnfN~ ~ Zsr~w~(Ͳ@y~(=w!b@~ 4k@^q ~< w4~íH~{JͪHqnf~W{OzTInTI~($˹A:L ~ ww~w~w~(Ͳ@~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5Ͳ@AAAALz(=( "HM"JM !I==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(͆JJsL1MG( [HMͻH{LMsL1M sL1M>(!^JI[HMWIsL1MG([JMsL1M sL1M>(!^JJ[JMWIsL1M!LM~ >>ɯ> !+M~w@IIIIAAAAAAAAAAAA*M}=2vG)))T]))7$"FM! NMp#Np#N6 #~#w#OGi`7$s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# NAAAIY@p#p#T]s#r#s#r#!,O!,O!J"!sJ"!J"!iJ"!J""!DJ"">!J" !J"> >} > >} x>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  ":D x=D yx>k`V7?^+kps 2 ͠ ͻ ͵ ͠ ͖ 8{ Ăy0 2͵ ͖ Gͻ ͋ ͖ 1ͻ ͯ 2ͯ ͖ (Ăy 2͵ ͋ ͖ ͖ Ăy0 ͖ 2ͯ 1 'd ! ^#V#*0}o|g*  "0p*҃~Y@+@@!W`t:(l!,`tçV!`t!:m@Wt>2#N #~,r@(_o@"̗`#:<2l@H@>>>]f>B2k!>`t(lͭBBk!/`t͆E!N`tX~ya:Z~ ʥ@͚C:Z~2Ճ@!``tÑ@!u`tX~ya:Z~ @!փlփ!Z~:Y~Gv!`tX~ya͙C!l!Z~:Y~GvC* ͆E!`tX~ya:Z~ ʘA:Ճ@I! `tX~ya:Z~ ʘA:Z~1uA lA_A!N`t:A:Ճ!x@ʊA =…A")>2,I:A!`t>25X~ya>25:Z~ BgdʘA:Ճ@!Wt!X~v>2ɃA!BSn:Ճ@!x=AA####:ɃB6Y6N>2ɃA!BSn!`tSn?B!`tSn>2Ƀ!"̃*̃iB!`tSn:Ƀ<2Ƀ ʇB#ʐB*̃"̃JB!"̃JB¦B!`tSn!s!s!"̃"B!`t>*̃CB*̃"̃B!s>!`t>!:ՃA%C C" l* :ՃGp#6=#փw# >C" ! > +FRC*  >GpCw+cCx2:Ճ@#"!# =ƒC*:}|:Z~AʰC ʳCãC>>ͭBBk!/`t͆EC(l! `tX~ya:Z~ ͭBt:Z~@!Wt#^#"̃6$*̃ ͭB!x"ͲgNge2!x"!{"!|"҃!m"D:n D:m@!# =´D2ogDD"~ DD:m@W>!xD 0s!'tu~E*~Zs͎su~E:*G~Zs͎su~Ex# E> Zs͎s> ͎s)e:Ƀ0@1@2Sn3nE4Sn5@Snt>s>sD> ZsSn!"ƃ!ԉ`t!ʹEvͽEGʹE EßE> > > >!`tNg:m E!N`t(l!9"̃:m02:n02:o:E:p02:q02: E: E: E: E:čF:zF:gF:TF(l:G> 2gFXF:G>2zFkF:G> 2͍F~F:W">su«F“F‘F!u¢F*̃(l>2X~!\]:m F!3`t>2Snh\F!O`t>2Snz!~zG-G\6GG!\`tCG"!z"(l>2(l͕fX~!\]:m kG͡f!3`tSnh\„G!O`tSn\G!~G͎s#ʄGuʞG!uGGÞGuG!uʞGGG͡f(l*ƃ~FH!ـv H!݀v> #~1!H! v)H!v> #~LH> #~TʂH!vÊHeHnHwH!vÀH!vÀH!vÀH!vÀH!v#####"ƃ!vtͭBBk!`t>I! `tX~ya:Z~ H:Z~1H HH!BSn!N`tèH!x")>2,IèH:Z~2+0*)!I~FI6F~I6H~I#:+0w#:+0vI~TqI6T~I6P~I:,~IW2؀!x>ʔI <ËI"'~FʶI-!ـv8!݀vI-!݀v8!ـv*'#"'~1IW! vb!vJW!vb! v*'#"'~=! Wt v<<4J!> v DJ)J*'#"'~TjJȅ! vӅ! vÀJȅ! vӅ! v!`t!`t:.~³J>2~:V~OMһJ>B2.~>Sh:] %R?RTRPTͭRJ̀Q2K~͇PͿP::~PPPJJ>SPJh2:~:.~K>2~mN#K>B2.~h:] %R)KOoPQ.R:.~=K:'~CK!`t:OK͑F::~kK>C2y:'~}K!ˋ`t}K>2y:'~}K!݋`t͝KڑKS̀Q>2y}K1ŚP͜Rh2K~:yS2L~:'~K!U`t*I~#Guu (kuuH)}:W~L2W~::~LwS L:'~K!j`t>C2:~>2yÝKwSsL͓LڠLLK7G:*~/L:'~2y:K~<2K~ ڡK:*~cL:'~iL͏uʝK͜R!u:*~ʁL:'~2T~h!wSsL͓LڠLw,>M::~ʀMQ2T~wSsL͓LڠL²M:H~G:I~MS!~5N*~\ v"~N>S7 !]~S:'~~uwSGNN#N>S:'~tQwSfN>uS:'~YN!`tPT>SN>S!\̀Z:'~ʀN!`tOڀN͒NʐN7!]wSҰN:'~ʭN!6`tNONw:'~~u>S#}NØN:'~tySwSO!\̀Z:'~N!`tONÓN>S?QwS7>2V~2~tO!"~O!\] _[O:f6O*~\ v"~!~46O!~5*O!"~:~A>@2~!~6!Y~N!Z~ 6 !Y~F#O~ ŒO#O~ ʗO"~+#O~ §O:~<2~#O~ ʹOçO6 *~~ O#O#~ O"~!p \ȇ!o ~#P#~+] v!e~w#~w\!\l v!u6B#6A#6Kl!l6\:l\S:'~ʬP!`t*I~Guu (kuuH)>S:I~S:I~/S>2T~h!~S,P2T~yS$izS{SqS/QG:'~ Qxtxu!`t:K~<2K~ :*~#Q:'~(Q͏u7!u:'~ Q!E`t Q:*~KQ:'~u!u1wSXQ>SwSeQ> S!Y`t>B2.~h*I~#"I~}6#}l&)>oQQ+|§Q!~Z!\ v:.~R\uYSnt\!`tSn\2M~y2P~!"N~íR*N~!v"N~:P~<2P~p:P~O\eS! :S2P~!"N~S!Puʹpʹp:lʂSxGȯ?Qͼpl!lʣSˆSˆS‚S7ͼpp2L~ʹphO:(~S:*~S:T~Sͪt:)~S:*~S:T~SͪthOͼpllS͸p:*~T:'~T!f`twSC-TUQT:'~:T!z`t2:~ͲgNg:m mUm>B2^TELEmU>C2^COMmU>D2^DEFmU>E2^UPDmU>F2^LSTmU>G2^CALmU>H2^WRTmU>I2^SENDmU>J2^SENNmU>K2^RECFmU>L2^RECNmU>M2^TERMmU>N2^HOSTmU>O2^RUNmU>P2^SHOWmU>Q2^HELPmU>R2^CMDmU>S2^TIMEmU>A2͆U:πʀU>A2Sn>2π>2ƀ>2̀2΀!"²Ut!`tÅV*ĀUU{VÅV:̀V:G!>% Vx# U# >%V V>% V!`tÅV# ʲUU>2̀#"ɀ:ƀ<2ƀ*Ā"Ā<?VòU!ے`tÅV*ɀpV##"ɀ!`tX~ya:Z~ ʅV*ɀ~%ʅV#6VBV~%t#pVt!`t>A2>!6#<V>!ǀ6#<V>M2:"~!"~W:] V>2"~/2YWQQ!"~>2"~>2Y2_X͝sSnBYW:"~W>2π?T>M2W!`tW*~%V!?`tGu!*`tGutW[W*~(̠WW"̗`aWW#"*#"̃+>2**`"*΃"~X*#>>2t͝s!`t(l#~@##"X:]WuʫX!uG:U~>2U~x™XSnVʇX WOWUYWʏXW'WvʫXsX™X:"~ʫX> u> u>:u>uX>2YëX>2~>2~>2U~ëX:~/2~ëX͸pG:~ʫXxuXͼpl!lWʹpWu:YXw#"~G X>:uXW:X!zX!@|=Y W>͸ppt2Ypt2Y͒QͤQ!͸p:p:p:~p!ԗ`t6ya:8 >2Sn:8AYBYC6Z:Y>2V~![~Z!l~Z͔Z:Z~ ʹYͤZͮZAZ!`t!Ɗ`t!u>uutAʝYRyZùY!N`tUY>2>2>2ͭB:}N Z!6Gv>2! `t!`t>256ya>25gd Z>2>2>2ͷZaZjZZsZIZ!/`tyZ!G`tyZ!a`t6# 6 #ƒZ6#ŒZ!w`tX~yatX~![][[!~ ZP[ ZuZ!u#Z:[E[!6##~,r@(_[!`t#~,7[]f"[("[)_7[:~<2~ ͼpl!le[ʹp̛[ͼpllQ[͸p:~–[ͼpl!lv[ʹp̛[uuͼpl!l›[ʹp›[[[!~ ZP[ "["\"\!`tX~ya:Z~B\S#\F6\R[*[#͙\#\+~ \\"[@\!>]͎s@\*\"[+@\~͎s~ f\ʒ\##ͺ\~\B\{\> ͎s>]͎s>>!`t"\[#"\[!|ڵ\ʫ\>}ڵ\>>*\|\\>}\>>X~!\]!]~Z:l2]:m ̇]ĕ]Ͱ]2]]v]͡]~f]~f]#I]vvu | :]<2]t]ʃ]]uNOT FOUNDt>? !]w#Ž]!m] v_!:]ʼ]@]A2]u DRIVE >X~!\]!]~Z:l2]:mr^#^#6 ͝^ͯ^ ^^ 0^ ͯ^ ^^ @^0^ ^^ ͝^ͯ^ ^^ ͯ^#^ ^6# > ͖^>͖^ > ͖^>͖^w#–^:­^_@w# . ^w#ï^~*^#^^^~*^#^^6?#^~ __#^>#_7#2h:_Z_>2_!\_ _:\2_!_\ _\Î_!_\ _\!_\ _\<7—_2_=Ɓo&_ _] _2h2|^~*^#^^^~~# x_#"̃+>2!"`ʔ`Y`$`\`:Ƀ͎s`ͼpl!lL`x@`(` yV`(`ʹp2Ƀ>>>"΃*#~)ʔ`:σڑ`x`Å`:΃҅`ʅ`Ñ`fd`k`>>>>͎s#~"`<`ͼ`Zs͎sà`> Zs͎s> ͎s#~>a#~RaU aFa+~a>#> #@###>#> 7V&.-a~# x -a*"k>2*"k!k""k͕t!9"1>A2>2"~/2Y!`too!x"ub(l"ԀAb ͘a^HELPb:ʤaͳw*aa*Ԁ## a a͎sw#aa÷a÷ax*Ԁ#w">2ͳw"*zb*>{b*>>:&b:>b*ր"Ҁ>2π?T*Ҁ`t*Ԁya##pl>T2k!`t(l _\(l!;~H~v>2_/2V~!"̃>2Ƀ«b!`t=n*̃b:Ƀ<2Ƀ b*̃"̃ëb!ֆ`t=n!s!`t =c b! `tX~ya:Z~>C2k!`t(ltub0pZ~^RECBcͅv:m dchtO:~_c2.~dc>B2.~Z~^TERMc>2^SENDc^SENNc^RECVc^RECNc^RECBcSn!,`t:~2&~*~WUYchÍJ2.~2V~J>2"~çV>M2!,`tçV>N2t@iͭBB:}Y dt:!N#6!`t!`t>25X~ya>25:Z~ \dgd d!X~v!}6Y!B(l!}6N!BSn!Z~~)e(̞dʛd"dʛd<e>e#xeld>#~(e)d"e#~"d(e)eed>#~> e"e(e)exed>>!`t~͎s>^HLPԆUls2Ƀ0ce1le2ze3ʅe4ʖe5ʢeUeõeuABORTEDeuOKeuCONNECTeuRINGeuNO CARRIEReuERROReuCONNECT 1200euMODEM STATUS ERRORe0p!'t>G2Ƀ2ʃͼpl!lf>e:Ƀ=2Ƀf>G:ʃ=2ʃ,f>G2Ƀeʹp͎s0/f)e,f>ls> ͎s> ͎s>!'t>sls͎s> ͎s> ͎s2Ƀ>ʊfͼpl!l„fʹp͎sff!\Ä(v!Ä\(vu FILE TOO LARGE FOR BUFFER $g.g$g*#"*̃:g=2gg.ggf:$g#f*>:<2>~>}o|g:Y~G-!Z~~ ʰg y2~#ʰg~ ag#m~ ʐg y2~#ʰgzg#"+#~ ʰg y2~ʰgÚg!-6 #÷g]2#~ g!$~ gOg2~gAg>2~6g#gy::~h:#~Ry:*~2'~:.~]h:'~6h!]vv!`t:\2~!\~Z:~2\!;~H~v:~JJ>2V~2"~/2Y:*~wh:'~}h!`t:%~hu ++Press RETURN to disconnect++  „hu ++Disconnected++ vu>C2:~>2W~(l!l\v2|2h!"wO*wyO}o|gi|g}!oi"whh*wT]*w|>!x"0p!'tls͎sls͎s:¥i!`tSn͝s!`t>2i>Q2'~(l:œi!!`t͝s1j!`t(l!8`tX~ya:Z~ i:Y~G!Z~v>2i>2>2>2'~*ky v*ky vj*ky v!˒`ttjk:kj>2^j!c`tX~ya:Y~GZ~!Tj#ejFj!w`t&j͝sj>2!`t(l;y:ʐj:ʊjtj͛ytj͛y:2ʧj1j5j͵j:ʐjtj j;y:j:jújjúj͛y2Ƀls:Ƀ1j5ktj:y3>3 k:y1>12y!B0pX~ya!ϑ`tX~ya:Z~0 k2!`tX~ya:Z~YZkyZkN6k2]k2͝sj>2!`t(l;y:ʐj:ʊjtj͛ytj͛y:2ʧj1j5j͵j:ʐjtj j;y:j:jújjúj1@!k"*k!n`t!`txl6 #=lh!A`tX~yatZ~^ Sn:m^RETұc>H2^WRTmw^DELKwt:ooZ~^?T^EXIT=n>D2^DEFҝH^TELEҀ@>S2^TIMEE>E2^UPDґ@>F2^LSTҶC>G2^CALD^DISCҔs>M2^TERM(c>N2^HOSTc>R2^CMDҼF:ooZ~^BELL5n^99CG>T2^UTILLb^ENDCMDCG^DIR]b>Q2^HLP?T^HELP?T>C2^COMc^MENU[n>P2^SHOWKG>O2^RUNon^XPR+n^RECB(c>J2^SENN(c>I2^SEND(c>L2^RECN(c>U2^RECV(c^PRMTc^BYE҅i!N`t(l:l/2l(l>͎s(lt**k":lln>A2k! `t(l(lt͕fX~!\]:m ’n͡f!3`tSnhe>C>O>M\¹n!O`tSn?R*R~^k{nZ{n_Ggn!i`tGu(l>2\on 2Z~*[~v:Y~G!Z~vX~!\]h!`t>2Ƀ! p\$v\›o!`tSn\o:Ƀo>2Ƀ*"!@!##~o*!~#"*+"|oʛo*o>2ͭBBTELPAC OVR*~FAp>2~Fp>2~>p>2~#~1_p> 2dp>2#~ʃpʋpʓpʛp!ֆ`t(l> 2Ѐãp>2Ѐãp>2Ѐãp>2Ѐãp:G:Ѐ2~ppppp~#"*+"|oʛo*o>2ͭBBTELPAC OVR*~FAp>2~Fp>2~>p>2~#~1_p> 2dp>2#~ʃpʋpʓpʛp!ֆ`t(l> 2Ѐãp>2Ѐãp>2Ѐãp>2Ѐãp:G:Ѐ2~ppppp~#"*+"|oʛo*o>2ͭBBTELPAC OVR*~FAp>2~Fp>2~>p>2~#~1_p> 2dp>2#~ʃpʋpʓpʛp!ֆ`t(l> 2Ѐãp>2Ѐãp>2Ѐãp>2Ѐãp:G:Ѐ2~ppppp~#"*+"|oʛo*o>2ͭBBTELPAC OVR*~FAp>2~Fp>2~>ͼpll[s͸pu„sͼpl!lmsʹp!uZs>t0p͡sSn͡s0p>s>+ZsZsZs>s!`tGO2:p2Ƀs s:Gs:Ƀ=2Ƀs:OGs >6#<s:"~&t! `t>2mw/2>2"~/2Y~G>2ɃLt<#2Ƀ~"ЃZs͎s:Ƀ*Ѓ.t> ͎s> ͎s=Yt"ր~ott#ct:l}t ͼpl!lʐt x}tʹp*k"u"-u"u$l t t t tt>(txu>)t:t_tOy> u> uO:3u*~#"a{_ Qu |Gu{0t|xu}xúu ڊu0u:.~˜u<ɯ2K~!@`t:ʰu!uùu!y`tlst>uRQu~ut#u `t:.~h>Q2'~UQ*:l~#v> vSnvͼpu!uCv #v7,wtRvvu Connection established - Select options: FX~!\]:]TvSʱvR¨v:.~ñv!`t÷v:m !Ґ`tX~yaÅv:m v>2Y>2"~>2"~u Enter New Baudrate: X~ya:Z~ u DEFAULT DRIVE: Au(lvu ++Disconnected++ Sn: SnQ>2"~/2Y!~ZSn:"~Sn: Sn*~͋QͤQQ>2"~/2Y!~Z:SnF#ʬw¢w7SRTEM͑xկ͡x ʂxww4xFxux wG#4+~#kxpxx#w#G~wx+xF6 $x"xw4w>x> x>xw>#x> x> x÷wG>#x> x> xxwx_xw>x5w> x> xw> x> xF##> w#šxxʤx!u:5xax{x_xu:x:x͛y.y>2:x u;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>7HELPINFOOVRHALFFULLEVEN MARK ODD  NONE 300 1200TOUCHTONEPULSE 1ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>7HELPINFOOVRHALFFULLEVEN M 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ * * * * * * * * * * * * * * * * * * TELPAC * * TELECOMMUNICATIONS PACKAGE * * VERSION 1.2 * * COPYRIGHT U. S. ROBOTICS 1983 * * * * * * * * * * * * * * * * * * PRESS RETURN TO CONTINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number SION 1.2 * U. S. ROBOTICS 1983 * * ** * * * * * * * * *  PRESS RETURNINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number SION * U. S. ROBOTICS 1983 INITINFOOVR 1 DUPLEX 2 BAUD 3 PARITY 4 DIAL 5 DEFAULT DISK ATV0 ATV0E0 ATV0X1 ATX1 ATE0 ATS0=0 ATD GOODBYE THANKS FOR CALLING COMMAND: INVALID COMMAND REENTER TELPAC - U.S. ROBOTICS (CP/M VERSION) PRESS RETURN OR ENTER Command: DEFAULT FILE MISSING DEFAULT INITIALIZATION ERROR OPTIONS ARE: ENTER NEW OPTIONS # OR : TERMINAL MODE PRESS TO END: FAILURE IN AUTO LOGON - GOING TO TERMINAL MODE  AUTO LOGON BEGINNING HELP FUNCTION NOT AVAILABLE CHECK TELPAC USER MANUAL PRESS "C" TO CONTINUE / TO END : PERMANENT READ ERROR TELEPHONE DIRECTORY ENTER LETTER: INVALID LETTER ENTER NAME (16 CHARS): ENTER NUMBER: ERROR IN LOADING LOGONS UNBALANCED COMMAND - ERROR = DEFAULTS WRITE ERROR  CLOSE DEFAULTS ERROR LOGON LOAD ERROR PLEASE TURN ON MODEM AND PRESS "R" TO RETURN TO MENU ENTER NUMBER OR DIRECTORY LETTER: DISCONNECTED CHANGE DEFAULT OPTIONS DUPX BAUD PRTY DIAL TERMINAL FILE OPEN - NOW CLOSING NO FILE NAME ENTERED ERROR ON FILE OPEN PROGRAM TOO LARGE FOR BUFFER MAXIMUM PROGRAM SIZE IN BYTES = FILE DOES NOT EXIST TYPE "R" TO RETURN TO TERMINAL MODE TYPE "N" TO RE-ENTER NAME: NO USER PROTOCOL EXISTS ENTER TRANSFER COMPLETED TRANSFER UNSUCESSFUL ROUTINE CANCELLED ENTER FILE NAME: ERROR IN TRANSFER PROMPT FILE OPEN, READY FOR TRANSFER CRC IN EFFECT CHECKSUM IN EFFECT WAITING FOR NAK CHECKSUM ERROR WAITING FOR FILE NAME TIMEOUT CHANGING TO CHECKSUM FRAMING ERROR OVERRUN ERROR PARITY ERROR CRC ERROR SEND NUMBER CANNOT OPEN FILE CANNOT CLOSE FILE CANNOT READ FILE CANNOT WRITE FILE ENTER LETTER TO DISPLAY AUTO LOGON / TO END: ERROR LIMIT REACHED ENTER "Q" TO QUIT, "R" TO RETRY: FOR THE HOST COMPUTER: B Page Backward F Page Forward S Start of Buffer R Return to Terminal FATAL ERROR - RESTART TELPAC FROM DISK END OF TERMINAL TEXT MAXIMUM BUFFER = CHARACTERS USED = WAITING FOR BLOCK CHANGING TO CHECKSUM ERROR DETECTION HEX CHARACTER NOT HEADER START MAXIMUM ERRORS - CANCELLING TIMEOUT  BAD BLOCK NUMBER IN HEADER HEX RECEIVED NO ACK MAXIMUM ERRORS IN SENDING - CANCELLING TIMEOUT ON ACK  ROUTINE CANCELLED  FILE EXISTS ENTER Y TO ERASE:  NO FILE NAME ENTERED  ERROR - UNABLE TO MAKE FILE DIRECTORY MAY BE FULL  FILE NOT FOUND  UNABLE TO OPEN FILE  FILE OPEN : UNABLE TO CLOSE FILE  FILE READ ERROR  FILE WRITE ERROR  WAITING FOR NAK CRC REQUESTED TRANSFERED TRANSFERS FINISHED BAD OPTION  RE-ENTER COMMAND AND FILE NAME:  ALREADY IN HOST COMPUTER MODE ENDING HOST COMPUTER MODE ENTER PASSWORD OR FOR NO PASSWORD: ENTER PASSWORD: INVALID PASSWORD WELCOME TO A COMPUTER RUNNING UNDER U.S. ROBOTICS TELPAC HOW MANY EXTRA SPACES: CAN YOU DISPLAY LOWER CASE (Y OR N): DEFAULT OTHER SETTING OPTION COMMAND FILE TOO LARGE FOR BUFFER FAILURE IN HOST COMPUTER PROMPT NOT IN HOST MODE PLEASE WAIT WAITING CALL +++ HELP FILE ERROR +++ NO HELP AVAILABLE EXIT - Exit to System UTIL - Utility Functions TELE - Telephone Directory Functions DEF - Define Default Options HELP - Help Information about TELPAC CMD - Execute Command File COMM - Communications Mode TERM - Terminal Mode (filename) SEND - Send File (filename[s]) SENN - Send No Protocol (filename) RECV - Receive File (filename[s]) RECN - Receive No Protocol (filename) RECB - Receive Batch Protocol PRMT - Set Prompt for File Transfer HOST - Host Computer DISC - Disconnect Telephone Line ENTER PROMPT STRING FOR FILE TRANSFER , = WAIT TWO SECONDS (string) = PROMPT STRING < > = SPECIAL CHARACTER ENTER TO END OR PROMPT: DIR - Display Disk Directory RUN - Run Program TIME - Initiate Time Delay SHOW - Display a File AUTO LOGON AFTER AUTO DIAL (prompt) "command" , delay character ENTER LOGON SEQUENCE / TO END LOGON: SUMMARY OF TERMINAL COMMANDS ^B CHANGE BAUD ^D DISCONNECT ^E RETURN TO MAIN MENU ^I HELP ^N CHANGE DUPLEX ^O DISPLAY SAVE BUFFER ^R TURN OFF SAVE ^S SHOW BUFFER SIZE ^T FILE TRANSFER ^Y TURN ON SAVE ^Z SEND BREAK TERMINAL MODE: SPECIFY FILE TRANSFER METHOD A - SEND FILE WITHOUT PROMPTS B - USE SYSTEM DEFAULTS C - USE STANDARD XON/XOFF ENTER LETTER / TO END: ve No Protocol (filename) RECB - Receive Batch Protocol PRMT - Set Prompt for File Transfer HOST - Host Computer DISC - Disc 1:2w !'͐!$  ~ !!-* L* M!S* L* M!x* L* M!* L* M!* L* M!* L* M!* L* M>* DM1̀`i" * " >2 e! FSPECIFY OUTPUT DRIVE: 2 2\@28FINSERT DISK INTO DRIVE :, HIT RETURN WHEN READY: ' H* DM1̀`i" * " >2 e! : 2\HFDONE:w 2!\ 2h2|!1"| \FCANNOT FIND -Ù!"x *| \ =^*x #"x *| "| :=FOUT OF MEMORYuͿ>2 :\Z͛& 2|!"h"j\ʝFOK TO ERASE -R&\\°͛&: * "!##~\|&: !* w#" * +" |>2 Ϳ\Ϳ:eO2e2h!\~@>:#y!ew>.FPERMANENT READ ERROR FPERMANENT WRITE ERROR FCANNOT OPEN FILE FOR WRITE ':& _@ɯ_> > ~##^#V!% 6+6P !% ^#6㯆#FF (Y/N)?: ':& _YNR*| " * *DM͈`i" !1* DM̀`i" !1* DM̀`i" !1* d~ұ* #N#F̀+q#p#ñO!1 ~37* H<* d<* AH<* Ad<7#######N#F`i|S^a}^^a>>|oz}}zz}>>ɯyOxGɯyOxG!' ͷڪ))))oÓ! 0? ?yyƐ'@'*1" *3" *5" *7" *9" *;" *=" *?" *A" ~#͢!\':& A! RE>G>2~ _! ^#V!=~q!l}!l҉!lҕ!lҡ!lҭ! l!':& 1ڭ:ҭ02 !R##^#V+" " DM#^#V̀`i" " " *CDM͈`i" ͱ! 2~ ^#V#z2^#V#N#F͈##^#V#N#F*CDM͈1̀PYa : w~# xa'͐BK^#V͈|^#V+:~ ʬ+~:>ʡ>w#q#>wÈq#pÈ:2:GOx8O>72yG2 xS x0Ogy Ox > >OxO>22 2 >@2 y2$ >72( >2- 25 28 >@2; >2@ >72E ::M >?2J >>72V p t x ê :2q :Gܤ ܤ @ܤ  ܤ ܤ yGyOxG x xG x2{ >2 >`2 >[ 2 , :2 >22 : GOxO>2 : pO>02 yG{ xĄ >W2x >J >@2< >2& xA2P >2Y 2^ >2e xL2j >2w 2~ >2 >2 > á å é :2 :GWzpOxWzG x x > >Ox2xWz` 22 >2 >͑ % ) - F :2& :GOxpC >72GĆ xČ :@ xWz`OxJ2x >~ >02p >72U >?2 > >72 é í ñ :2 >22 : GOxO>2 : pO>02 yG) x2 x > >2>2 xA2 >2 2 >2 xL2 >2% 2, >2/ >25 >͔ ` P A. 8251 c u B. 6850 % K C. Z80 SIO/CTC   D. 6551  / * E. 2651 % : F. Z80 SIO B c ? E2 >2% 2, >2/ >25 >͔ ` P A. 8251 c u B. 6850 COMOVRCTC   D. 6551  / * E. 2651 % : FTELPAC OBJ * * * * * * * * * * * * * * * * * * TELPAC * * U.S. ROBOTICS * * COPYRIGHT 1983 * * SETUP PROGRAM * * VERSION 1.1C * * * * * * * * * * * * * * * * * * PRESS RETURN TO CONTINUE SPECIFY UART TYPE: X y     ENTER LETTER: COMMAND: STATUS: DATA OUTPUT: DATA INPUT: SECONDARY COMMAND: BAUD RATE: IS THE UART MEMORY MAPPED SPECIFY THE FOLLOWING UART PORT ADDRESSES IN HEX WHICH SLOT IS THE CARD IN (1-7): IS THE ABOVE INFORMATION CORRECT ENTER THE CLOCK ADJUSTMENT (1-9): INSTALL 80 COLUMN PATCH USE CLEAR SCREEN + + + INPUT ERROR + + + FIRST INSTRUCTION TO CHANGE ADDR: LAST INSTRUCTION TO CHANGE ADDR: BOTTOM OF PROTECTED ADDRESSES: TOP OF PROTECTED ADDRESSES: LOAD MODULE LENGTH: LENGTH OF COM FILE: LENGTH OF OVR FILE: CURRENT VALUES ENTER TO CONTINUE     ENTER LETTER: COMMAND: STATUS: DATA OUTPUT: DATA INPUT: SECONDARY COMMAND: BAUD RATE: IS THE UART MEMORY MAPPED SPECIFY THE FOLLOWING UART PORT ADDRESSES IN HEX WHICH SLOT IS THE CARD IN (1-7): IS THE ABOVE INFORMATION CORRECT ENTER THE CLOCK ADJUSTMENT (1-9): INSTALL 80 COLUMN PATCH USA=SDCS RCP/M 549-3788B=CP/M EXCH 1-404-449-6588C=RCP/M 452-1869D=CLEV CNTY BBS 1-704-482-8012E=NOSC E-MAIL 223-2261F=LAB USYSTEMS 1-213-306-3530G=Z-NODE CA 1-415-489-9005H=Z-NODE TX 1-915-755-3342I= J= K= L= M=MIS 260-2555N=NEXUS 486-0735O=NITEOWL 1-414-563-9361P=MCI MAIL 268-1708Q=SABA-LINE 692-1961R=RENT METRIC-MA1-301-231-5122S= T= U= V= W= X= Y= Z= ,Dh $H1TN F1TN F1TN F1TN F1TN F1TY F1TN F1TN F1TN F1TN F1TN F1TN F1TN F1TY F1TN F1TY F1TY F1TN F1TY F1TN  F1TN F1TN F1TN F1TN H,,,"",(#),"lo","7",,"ca","950",(:),"maslin",(:),"issres",(19),"mime"   "",,"pentad" stamper 0,,"",,""(name:)"navsea"(word:)"ziyonege" "",(*),"SNSCPAC,26,BANK"  TURNINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number "",(*),"SNSCPAC,26,BANK" 7V&.w~# x Ów*"X>2*"G!F""V!9"Q1Q>A2>2/2ho!~ƊՅ!x"xÎ":ͧx wVuHELP|x:Q x*T]xTx*:## Fx Bxw#]xTxxxx*:#w"T>2Q"V*Rznx*V>{yx*V>>:Œx:~¤x*<"8>25ͥj*8Ɗ*:w##ph>T2Z!ƊÎ _EsÎ!n>2&v/2!"2>2/]y!!Ɗã*2]@y:/<2/ Iy*2"2y!<Ɗã!]Y!]Ɗ =ly Wy!qƊw:>C2Z!PƊÎix͖VuRECB5z:m yFe:Iy2y>B2VuTERMGz>2\VuSEND/zVuSENN)zVuRECV2 m>M2!Ɗ m>N2iæY~X:}Y†z]:!N#6!Ɗ!|Ɗ>2w>2: zzʆz!n!}6Y͇XÎ!}6N͇Xù!~)w{({{"*{{w{#xt{z>#~(w{)'{"w{#~"N{(w{)w{w{*{>#~>q{"w{(w{)w{xw{Q{>>!'Ɗ~>VuHLPk҉2/0{1{2{3{4{5|ʻ{|1ABORTED4|1OK4|1CONNECT4|1RING4|1NO CARRIER4|1ERROR4|1CONNECT 12004|1MODEM STATUS ERROR4|͖!_͍>G2/20"͇̈́ʀ|>G|:/=2/k|>G:0=20ʒ|>G2/G|0ʕ|͏{Ò|>҉> > >!u͍>,҉> > 2/>|"͇̈́|<|<|:/ >|!\)(n!)\(n1 FILE TOO LARGE FOR BUFFER ʊ}͔}ʊ}*z#"z*2:|ʂ}=2|ʂ}u}͔}u}E}:|ʊ}#c}*z>:|<2|>~<§}Iwʧ}ʪ}>>}o|g:G!~ ~ y2S~#~~ }#ӗ~ } y2T~#~}#"V+#~ ~ y2U~~~!6 #~]2 _~! W~OH~2LR~AR~>2L6,~#8~I:n~:RI:2:~:ʜ~!]nn!Ɗ:\2B!\p:B2\!n:C`da>22/2ho:~:~!Ɗ:91 ++Press RETURN to disconnect++  ~1 ++Disconnected++ ̀X>C2>2Î!l\n2|2h!"lO*lyO}o|g|g}!ok"lbb*lT]*l|>!x"͖!g͍҉҉: !]Ɗù!Ɗ>2e>Q2Î:!Ɗ1Ov! ƊÎ!Ɗw: 4:G!n>29>2>2>2*Xu n*Xl nv*Xu n!1Ɗڀ}:р>2~Ā!ɧƊw:G!º#ˀì!ݧƊÌv>2~!ƊÎ͡:$:#ڀڀ:'2 1J5J:$ڀ :͡:$C:#E C 2/҉:/1`5kڀ:y3>3s:y1>12y͇X͖w!5Ɗw:0 ҃2%!PƊw:YyNœ2&Á2&v>2~!ƊÎ͡:$:#ڀڀ:'2 1J5J:$ڀ :͡:$C:#E C 1fV!F"*V!ԜƊ!Ɗxu6 #=nF!Ɗw]Vu ҹ:ʅVuRETz>H2VuWRTӍVuDELұi:\ՅVuҥjVuEXITң>D2VuDEF_VuTELEV>S2VuTIME6\>E2VuUPDV>F2VuLSTZ>G2VuCALtZVuDISC>M2VuTERMҎy>N2VuHOSTUz>R2VuCMD"]:\ՅVuBELLқVu99ҩ]>T2VuUTILҲxVuENDCMDҩ]VuDIRx>Q2VuHLPҥjVuHELPҥj>C2VuCOM}yVuMENU>P2VuSHOWұ]>O2VuRUNՄVuXPRґVuRECBҎy>J2VuSENNҎy>I2VuSENDҎy>L2VuRECNҎy>U2VuRECVҎyVuPRMT`zVuBYE!ƊÎ:y/2yÎ>Îi*Q*X":y҄>A2Z!sƊÎÎi|!\^t:m }!ƊùFe>C>O>M\!Ɗùͥh*ā{1Z{:_ͭ}P!ϠƊͭÎ>2\\uX͢*"!!"!9"1B!*!"*Îʹ}:UG<2> 2*Vn:G!n!\^tF!"Ɗ>2/!o\$n\!MƊù\a:/7>2/*"!fV!##~@*!~#"*+"|a*@>2\Y~XTELPAC OVR*~Fʧ>2Oì>2O>&>2K#~1ņ> 2vʆ>2v#~!<ƊÎ> 26 >26 >26 >26 :vG:62K&*-037;?XGOx8UO>7yGĩxʇx0Ogy Ox > ʁ>OxO>>@y>7>>@>>7>?>,>7p!<ƊÎ> 26 >26 >26 >26 :vG:62K&*-03~#"*+"|a*@>2\Y~XTELPAC OVR*~Fʧ>2Oì>2O>&>2K#~1ņ> 2vʆ>2v#~!<ƊÎ> 26 >26 >26 >26 :vG:62K&*-03~#"*+"|a*@>2\Y~XTELPAC OVR*~Fʧ>2Oì>2O>"~́|"͇̈́Ӊ͇>8͖ù͖>,>+>,!ƊGO2:62/7 F:G7:/=2/X:OG7 >6#<_:ʌ!qƊ>2Ӎ/2>2/2ho~G>2/ʲ<#2/~"6:/*6Ô> > =ÿ"<~Պ8#Ɋ:w "͇̈́ x*X"""uÊ 8 8 8 )8>(8ދ>)8:N_YO~> j> jO:Qʙ*T~#"Ta{_ ڷ |ĭ{08|ދ}ދ 0j:<ɯ2!Ɗ:͇!ߣƊ҉]ͤRQ~>8#2 Ɗ:9>Q2ûg*Q:{~#n> ̀ù́"|ćʩ ‰7Ò]Ҹ̀1 Connection established - Select options: F]!\^t:]T,SR:!(Ɗ:m !8Ɗw:m ?>2ho>2>21 Enter New Baudrate: w: 1 DEFAULT DRIVE: AjÎ̀1 ++Disconnected++ ù:T ʹS4h>2/2ho!Spù:ʹ:T ʹ*@g h+h>2/2ho!Sp:ùF#7SRTEMկ ddʚʬێ 'G#4+~#юpx`#'#G~wڃ+xF6 ʊʈ'4'>`> `>`'>#`> `> `G>#`> `> `x'`Ŏ'>`5'> `> `'> `> `F##> w#2 ͇:-a.{._.|:[:#T͔>2#:$\já~y ӏ`O{>2$2#"͇̈́½>2$ȕ>2#:$:%>=܏:&Y{_>2':#$:$?2'8x2(5_͔:'ڀI1Invalid option ù;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>7HELPINFOOVRHALFFULLEVEN MARK ODD NONE 300 1200TOUCHTONEPULSE 1ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>7HELPINFOOVRHALFFULLEVEN M 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ * * * * * * * * * * * * * * * * * * TELPAC * * TELECOMMUNICATIONS PACKAGE * * VERSION 1.2 * * COPYRIGHT U. S. ROBOTICS 1983 * * * * * * * * * * * * * * * * * * PRESS RETURN TO CONTINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number SION 1.2 * U. S. ROBOTICS 1983 * * ** * * * * * * * * *  PRESS RETURNINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number SION * U. S. ROBOTICS 1983 INITINFOOVR 1 DUPLEX 2 BAUD 3 PARITY 4 DIAL 5 DEFAULT DISK ATV0 ATV0E0 ATV0X1 ATX1 ATE0 ATS0=0 ATD GOODBYE THANKS FOR CALLING COMMAND: INVALID COMMAND REENTER TELPAC - U.S. ROBOTICS (CP/M VERSION) PRESS RETURN OR ENTER Command: DEFAULT FILE MISSING DEFAULT INITIALIZATION ERROR OPTIONS ARE: ENTER NEW OPTIONS # OR : TERMINAL MODE PRESS TO END: FAILURE IN AUTO LOGON - GOING TO TERMINAL MODE  AUTO LOGON BEGINNING HELP FUNCTION NOT AVAILABLE CHECK TELPAC USER MANUAL PRESS "C" TO CONTINUE / TO END : PERMANENT READ ERROR TELEPHONE DIRECTORY ENTER LETTER: INVALID LETTER ENTER NAME (16 CHARS): ENTER NUMBER: ERROR IN LOADING LOGONS UNBALANCED COMMAND - ERROR = DEFAULTS WRITE ERROR CLOSE DEFAULTS ERROR LOGON LOAD ERROR PLEASE TURN ON MODEM AND PRESS "R" TO RETURN TO MENU ENTER NUMBER OR DIRECTORY LETTER: DISCONNECTED CHANGE DEFAULT OPTIONS DUPX BAUD PRTY DIAL TERMINAL FILE OPEN - NOW CLOSING NO FILE NAME ENTERED ERROR ON FILE OPEN PROGRAM TOO LARGE FOR BUFFER MAXIMUM PROGRAM SIZE IN BYTES = FILE DOES NOT EXIST TYPE "R" TO RETURN TO TERMINAL MODE TYPE "N" TO RE-ENTER NAME: NO USER PROTOCOL EXISTS ENTER TRANSFER COMPLETED TRANSFER UNSUCESSFUL ROUTINE CANCELLED ENTER FILE NAME: ERROR IN TRANSFER PROMPT FILE OPEN, READY FOR TRANSFER CRC IN EFFECT CHECKSUM IN EFFECT WAITING FOR NAK CHECKSUM ERROR WAITING FOR FILE NAME TIMEOUT CHANGING TO CHECKSUM FRAMING ERROR OVERRUN ERROR PARITY ERROR CRC ERROR SEND NUMBER CANNOT OPEN FILE CANNOT CLOSE FILE CANNOT READ FILE CANNOT WRITE FILE ENTER LETTER TO DISPLAY AUTO LOGON / TO END: ERROR LIMIT REACHED ENTER "Q" TO QUIT, "R" TO RETRY: FOR THE HOST COMPUTER: B Page Backward F Page Forward S Start of Buffer R Return to Terminal FATAL ERROR - RESTART TELPAC FROM DISK END OF TERMINAL TEXT MAXIMUM BUFFER = CHARACTERS USED = WAITING FOR BLOCK CHANGING TO CHECKSUM ERROR DETECTION HEX CHARACTER NOT HEADER START MAXIMUM ERRORS - CANCELLING TIMEOUT  BAD BLOCK NUMBER IN HEADER HEX RECEIVED NO ACK MAXIMUM ERRORS IN SENDING - CANCELLING TIMEOUT ON ACK  ROUTINE CANCELLED  FILE EXISTS ENTER Y TO ERASE:  NO FILE NAME ENTERED  ERROR - UNABLE TO MAKE FILE DIRECTORY MAY BE FULL  FILE NOT FOUND  UNABLE TO OPEN FILE  FILE OPEN : UNABLE TO CLOSE FILE  FILE READ ERROR  FILE WRITE ERROR  WAITING FOR NAK CRC REQUESTED TRANSFERED TRANSFERS FINISHED BAD OPTION  RE-ENTER COMMAND AND FILE NAME:  ALREADY IN HOST COMPUTER MOD E ENDING HOST COMPUTER MODE ENTER PASSWORD OR FOR NO PASSWORD: ENTER PASSWORD: INVALID PASSWORD WELCOME TO A COMPUTER RUNNING UNDER U.S. ROBOTICS TELPAC HOW MANY EXTRA SPACES: CAN YOU DISPLAY LOWER CASE (Y OR N): DEFAULT OTHER SETTING OPTION COMMAND FILE TOO LARGE FOR BUFFER FAILURE IN HOST COMPUTER PROMPT NOT IN HOST MODE PLEASE WAIT WAITING CALL +++ HELP FILE ERROR +++ NO HELP AVAILABLE EXIT - Exit to System UTIL - Utility Functions TELE - Telephone Directory Functions DEF - Define Default Options HELP - Help Information about TELPAC CMD - Execute Command File COMM - Communications Mode TERM - Terminal Mode (filename) SEND - Send File (filename[s]) SENN - Send No Protocol (filename) RECV - Receive File (filename[s]) RECN - Receive No Protocol (filename) RECB - Receive Batch Protocol PRMT - Set Prompt for File Transfer HOST - Host Computer DISC - Disconnect Telephone Line ENTER PROMPT STRING FOR FILE TRANSFER , = WAIT TWO SECONDS (string) = PROMPT STRING < > = SPECIAL CHARACTER ENTER TO END OR PROMPT: DIR - Display Disk Directory RUN - Run Program TIME - Initiate Time Delay SHOW - Display a File AUTO LOGON AFTER AUTO DIAL (prompt) "command" , delay character ENTER LOGON SEQUENCE / TO END LOGON: SUMMARY OF TERMINAL COMMANDS ^B CHANGE BAUD ^D DISCONNECT ^E RETURN TO MAIN MENU ^I HELP ^N CHANGE DUPLEX ^O DISPLAY SAVE BUFFER ^R TURN OFF SAVE ^S SHOW BUFFER SIZE ^T FILE TRANSFER ^Y TURN ON SAVE ^Z SEND BREAK TERMINAL MODE: SPECIFY FILE TRANSFER METHOD A - SEND FILE WITHOUT PROMPTS B - USE SYSTEM DEFAULTS C - USE STANDARD XON/XOFF ENTER LETTER / TO END: R METHOD A - SEND FILE WITHOUT PROMPTS ame) RECB - Receive Batch Protocol PRMT - Set Prompt for File Transfer HOST - Host Computer DISC - Disconnect Telephone Line^+͖*8~Y€V͑VʀV!Ɗ:Qʎ!Ɗ m!Ɗ!:ӗ@ͽ>2x#N #~,V(JvV"v#:x<2xVîV>>>|>B2Z!ƊÎY~XZ!Ɗ[!Ɗw: WZ:2;6W!ƞƊV!۞Ɗw: 6W!<h2g_àW!Ɗ>2w>2: pXzW:;@!ͽ!n>2/IX͇Xù:;@!x=^XTX####:/mX6Y6N>2/IX͇Xù!Ɗù]]¥X!IƊù>2/!"2*2]X!IƊù:/<2/ X#X*2"2ðX!"2ðX] Y!fƊù!]Y!]Y!"2"]9Y!Ɗ>*2]kYbY*2"29Y!]Y>!Ɗ>!:;AʋY …Y"qh*q:;Gp#6=#<w# ¤Y"s!] > +FʸY*q >GYw+Yx2 :;@#" !# =Y* : }|:AZ Z Z>>Y~XZ!Ɗ[6ZÎ!qƊw: Y]:@!ͽ#^#"26$*2 Y!x"~ʹ}5|ʢZ!Ɗw: ʃZù:ӗ Z[!ޟƊwӗ!n: ʹ:ӗ!XZ:ӗ!c[êZ>2 !x"!{" !|"8!ӗ"\[:ԗ Z:ӗ@!# =[2 ogʪZ"~ ʪZ:ӗ@W>!xO[ 0,!͍|[* ~|[: *G~|[x#†[> > ͏{:/0fV1fV2ʹ3[4ʹ5fVù]>,>,\[> ù!",!:Ɗ!\n#\L^\ *\\> > > >!Ɗʹ}:ӗ J\!ƊÎ!9"2:ӗ02X:ԗ02Y:՗:A\:֗02Z:ח02[:X A\:Y A\:Z A\:[ A\:[\:Z\:Y\:Xĺ\Î:XG> 2Y\¾\:YG>2Z\\:ZG> 2[\\:[W">,|]\\͇]*2Î>2Q!\^t:m F]!Ɗ>2QùF\d]!Ɗ>2Qùh!nzv]Ó]\œ]g]!¨Ɗé]"R!h"TÎ>2QÎ|!\^t:m ]}!ƊùF\]!Ɗù\F^!~F^#]|^͇0^F^^|0^͇^F^0^}Î*,~Fg^!?no^!Cn> #~1ʇ^!snÏ^!wn> #~Ͳ^> #~T^!n^^^^!hn^!Gn^!Rn^!]n^!{n#####",!niY~XZ!Ɗ>_!qƊw: F_:1U_ L_9_͇Xù!Ɗ_!x">2g__:20*‡_~Fʂ_6F_6H_#:0¢_~1ʝ_61_63_#:0_ͳ__~ʽ_<ÿ_>w#:0_~T_6T_6P_:_W2>!x>_ <_"~F`!?n!Cn2`!Cn!?n*#"~1X`!snț!wnn`!wnț!sn*#"~=!G ͽ n<<š`!G> n ʪ`Ï`*#"~T`.! n9!{ n`.!{ n9! n!yƊ!Ɗ:a>2C:e5d!a>B2>8jw~:] ʋhͥhͺhPkjiRag2f%g:Dg?gQg9a,a>8jQgRaw~2:~a>2Cd҉a>B2w~:] ʋhÏaUffRh͔h:£a:ʩa!Ɗ:ʵa\:a>C2a:a!1Ɗa>2a:a!CƊbaig>2aa͗ifiw~2:a8j2:7b!Ɗ*#ͭ1 (ы1H)}:kb2:kbisb:^b!ФƊ>C2>2abibbcZc7b7G:ʕb:ʢbx]ދ!ƊiҢb>2a:<2 b:b:bbi!E:b:ʢb!<Ɗ:ދ]âb:c7:c:ʢb1 :@+c!¢ƊPc: 2Y!ibbcw,¤c:cQ2ibbcd:G:/d<»gibbcc͛c:d:ʢb!Ɗb:&d:ʢb!nƊbfb:Bd!ZƊPj>8j!H5fd*D\ n"Dmd>8j7 !]~8j:~jiڭdƒd#ud>8j:]Qid>u8j:ʿd!nƊPj>8jnd>8j!\p:d!Ɗmeddd7!]ie:e!ƊOeke:ew:~j>8j#}Oed:]y8jike!\p:be!nƊmebed>8jͥgi7>22He!"D1f!\t^tsue:fœe*D\ n"D!H4Üe!I5e!"D:HA>@2H!I6!N! 6 !F#-f~ e#-f~ e"F+#-f~ f:I<2I#-f~ f f6 *Fv~ Ff#9f#~ Ff"F!up \ȇ!o ~‰f#~+] n!e~w#~w\!\l n!u6B#6A#6Kl!l6\:x\<éf>8j:g! Ɗ*ͭ1 (ы1H)>8j:8j:/8j>2Y!~8j,2g2y8j͊z8j{8jiڕgG:qgx]ދ!jƊ:<2 :ʉg:ʎg7!E:qg!Ɗqg:ʱg:|͇1QiҾg>8jig> 8j!Ɗ>B29*#"}6#}l&)>o4hS4h+| hS!Sp!\S n:ʂh\2y2!"i*!l":<2p:O\i!  i2!"8j!E:wixGȯͥg"͇̈́ jiii7"p2bO:0j:5j:5j:Nj:Sj:SjbO"~́Zj:yj:j!̦ƊiCʓjʻgj:ʠj!Ɗ2~ʹ}:ӗ kӗ>B2VuTELEk>C2VuCOMk>D2VuDEFk>E2VuUPDk>F2VuLSTk>G2VuCALk>H2VuWRTk>I2VuSENDk>J2VuSENNk>K2VuRECFk>L2VuRECNk>M2VuTERMk>N2VuHOSTk>O2VuRUNk>P2VuSHOWk>Q2VuHELPk>R2VuCMDk>S2VuTIMEk>A2k:5k>A2ù>25>2,>2324!"* l]!Ɗl** 9l9lll:3ʂl:G!>%qlx# bl# >%ylql>%ql!]Ɗl# lJl>23#"/:,<2,**"*<ʥll!AƊl*/l##"/!LƊw: l*/~%l#ʜlèl~%8#l]!yƊ>A2>!6#<l>!-6#<m>M2:!"@Xn:] 4m>2/2hoXnRh@hSS!"@>2>2ho2\nùͨoXn:ʄm>25ͥj>M2Xn!ƊXn*@% m!Ɗͭ!Ɗͭ]Xn9rXn*T~(n8n"vm8n#"z*T#"2+>2|*z*Tgv"T*4"@Ho*T#>>2Qi!ƊÎ#~@##"Tin:Qm| o͇G:>2xnʹ`mn lmʵm̻oXnnfmʍmEonn:o> j> j>:j>n>2hoo>2N>2N>2o:O/2OoG:Ooxj(o"͇̈́XnXnj:hodow#"@G Bo>:jHoXn:QXo!h[o!fV|=koXn>֊2io֊2jog h!ʢo:iow#jʢo:jow#j>:&:&:K&!:Ɗw: >2}ʹ:AGpBRpC̜p:}>p>2!rp!lpp: p qq§p!Ɗ!,Ɗ͇ͤj]ApRpp!Ɗûo>2~>2}>2~Y:}Nrp!Gn>2}!qƊ!|Ɗ>2w>2zrp>2}>2~>2}qpp&qpïp!Ɗp!Ɗp!ǡƊ6# 6 #p6#p!ݡƊw]!r^trr!~ QqͶq Wq|Qq͇#+q:~hqͫq!##~,V(Jvq!Ɗ#~,q|Èq(ˆq)JvÝq:P<2P "͇̈́qr"~́·q:Oq"͇̈́qrjj"͇̈́rr[r!~ QqͶq "7r"Cs"As!Ɗw:BfrSʉrFʜrR9r*7r#rʉr+~ nrnr"7rær!>]ær*As"7r+ær~~ rr## srèrr> >]>>!wƊ"As?r#"As?r!|ss>}s>>*Cs|}>!\^t!? !=tw#s!m=t n_!:!\^t! t>t > t>tw#t:u_@w# . uw#u~*9u#+uuNu6?#Nu~ougu#Xu>#iu7#2h:&vu>2&v!\'v ?v:\23v!'v\ ?v\u!3v\ ?v\!'v\ ?v\<7u2&v=Ɓo&4v ?v] ?v2h2|^~*9u#+u2|!"zgvvÿv͊vv:/gv"͇̈́ʲvxʦvÎv yʼvÎv2/>>>"4*z#~)v:5vvv:4vvv8}vv>>>>#~"0w<,"w> > #~>fw#~RiwUqwFww+~mw>#> #@###>#> 7V&.w~# x Ów*"X>2*"G!F""V!9"Q1Q>A2>2/2ho!~ƊՅ!x"xÎ":ͧx wVuHELP|x:Q x*T]xTx*:## Fx Bxw#]xTxxxx*:#w"T>2Q"V*Rznx*V>{yx*V>>:Œx:~¤x*<"8>25ͥj*8Ɗ*:w##ph>T2Z!ƊÎ _EsÎ!n>2&v/2!"2>2/]y!!Ɗã*2]@y:/<2/ Iy*2"2y!<Ɗã!]Y!]Ɗ =ly Wy!qƊw:>C2Z!PƊÎix͖VuRECB5z:m yFe:Iy2y>B2VuTERMGz>2\VuSEND/zVuSENN)zVuRECV2 m>M2!Ɗ m>N2iæY~X:}Y†z]:!N#6!Ɗ!|Ɗ>2w>2: zzʆz!n!}6Y͇XÎ!}6N͇Xù!~)w{({{"*{{w{#xt{z>#~(w{)'{"w{#~"N{(w{)w{w{*{>#~>q{"w{(w{)w{xw{Q{>>!'Ɗ~>VuHLPk҉2/0{1{2{3{4{5|ʻ{|1ABORTED4|1OK4|1CONNECT4|1RING4|1NO CARRIER4|1ERROR4|1CONNECT 12004|1MODEM STATUS ERROR4|͖!_͍>G2/20"͇̈́ʀ|>G|:/=2/k|>G:0=20ʒ|>G2/G|0ʕ|͏{Ò|>҉> > >!u͍>,҉> > 2/>|"͇̈́|<|<|:/ >|!\)(n!)\(n1 FILE TOO LARGE FOR BUFFER ʊ}͔}ʊ}*z#"z*2:|ʂ}=2|ʂ}u}͔}u}E}:|ʊ}#c}*z>:|<2|>~<§}Iwʧ}ʪ}>>}o|g:G!~ ~ y2S~#~~ }#ӗ~ } y2T~#~}#"V+#~ ~ y2U~~~!6 #~]2 _~! W~OH~2LR~AR~>2L6,~#8~I:n~:RI:2:~:ʜ~!]nn!Ɗ:\2B!\p:B2\!n:C`da>22/2ho:~:~!Ɗ:91 ++Press RETURN to disconnect++  ~1 ++Disconnected++ ̀X>C2>2Î!l\n2|2h!"lO*lyO}o|g|g}!ok"lbb*lT]*l|>!x"͖!g͍҉҉: !]Ɗù!Ɗ>2e>Q2Î:!Ɗ1Ov! ƊÎ!Ɗw: 4:G!n>29>2>2>2*Xu n*Xl nv*Xu n!1Ɗڀ}:р>2~Ā!ɧƊw:G!º#ˀì!ݧƊÌv>2~!ƊÎ͡:$:#ڀڀ:'2 1J5J:$ڀ :͡:$C:#E C 2/҉:/1`5kڀ:y3>3s:y1>12y͇X͖w!5Ɗw:0 ҃2%!PƊw:YyNœ2&Á2&2/҉:/1`5kڀ:y} y2T~#~}#"V+#~ ~ y2U~~~!6 #~]2 _~! W~OH~2LR~AR~>2L6,~#8~I:%A% TELPAC - U.S. ROBOTICS TELPAC is a telecommunications package designed to work with any U.S. Robotics modem or compatible types. TELPAC will establish a communications link through auto dialing functions and automatically logon to a host computer using commands defined by the operator. After establishing communications, the system may be used as a terminal to communicate with the host computer or files of any type may be sent from the local disk drive or received by the system. It is possible to save files onto disk. The method of saving files will depend on the type of computer which is the host. (continued) % TELPAC - U.S. ROBOTICS In addition to communicating to a host computer, TELPAC may be used to run a micro-computer remotely through the HOST computer mode. The HELP function may be used at any time to find out more information about TELPAC's functions and features.  HELP may be entered at any time EXCEPT WHILE IN TERMINAL MODE. While in terminal mode the command for HELP is ^I (press the letter I while holding down the control key). For further help type HELP HELP Good luck.... END %B% TELPAC - U.S. ROBOTICS (TELE) The TELE command displays the options for using the telephone directory and the automatic dialing and logon functions. The major functions include: LST List the telephone directory optionally a logon sequence may be examined. CAL Auto dial a telephone number and initiate auto logon if specified UPD Update telephone directory and associated entries. (continued) % TELPAC - U.S. ROBOTICS (LST) The following pages contain more information on each of these functions.   LST will display a list of the telephone directory entries. The format is: A=U.S. Robotics (312)733-0497 FULL 1200 EVEN TOUCH The items to the right of the number indicate the duplex, baud rate, parity and type of dialing. More information about those options will be found in the users manual. (continued) % TELPAC - U.S. ROBOTICS (CAL) The CAL command will initiate an auto dial sequence. This will consist of auto dialing the number and optionally executing an auto logon sequence if one has been specified. The setting for duplex, baud, parity and dial type will be those specified in the telephone directory. The format of the command is: CAL letter Letter is the directory entry or CAL number Number is the telephone number with special modem commands (continued) % TELPAC - U.S. ROBOTICS (UPD) The UPD command permits the user to update the telephone directory. After entering this command the user will be prompted for the various information necessary to update the telephone directory. The first item is: ENTER LETTER: When this appears, the letter (A-R) of the entry to be updated should be entered. After entering the letter, the next prompt will be: ENTER NAME (16 chars): At this point, the name associated with this entry should be entered into the computer. (continued) % TELPAC - U.S. ROBOTICS (UPD) The name may be any combination of numbers and letters. After entering the name, the computer will prompt for the telephone number. ENTER NUMBER: The telephone number should be entered just as it will be sent to the modem. This includes the special modem characters "," Delay 2 seconds "P" Pulse dial "T" Touch dial Any non-numeric character except these will be ignored. (continued) % TELPAC - U.S. ROBOTICS (UPD) After entering the telephone number, the system will prompt to see if you want to change the default settings for placing the call. The prompt will be: PRESS ANY LETTER TO SET OPTIONS/ TO END: Entering any letter followed by a carriage return will display a menu like the following page. Entering a carriage return will lead to the next prompt. (continued) % TELPAC - U.S. ROBOTICS (UPD) The defaults and other options are: Default Other Options DUPLEX FULL HALF BAUD RATE 1200 300 PARITY EVEN ODD MARK NONE DIAL TYPE TOUCHTONE PULSE %C% TELPAC - U.S. ROBOTICS (COMM) The COMM Command displays the menu of communications options available in TELPAC. Those options are: TERM Terminal Mode SEND Send File with protocol SENN Send File with no protocol RECV Receive File with protocol RECN Receive File with no protocol RECB Receive a group of files PRMT Set prompt for file transfer HOST Go into Host Mode DISC Disconnect communications link A full discussion of each of these functions may be obtained by typing HELP command name following the COMMAND: prompt. END %D% TELPAC - U.S. ROBOTICS (DEF) The DEF Command displays the program default communications settings. The defaults and other options are: Default Other Options DUPLEX FULL HALF BAUD RATE 1200 300 PARITY EVEN ODD MARK NONE DIAL TYPE TOUCHTONE PULSE (continued) % TELPAC - U.S. ROBOTICS (DEF) The default options are used when a telephone number is entered with the CAL command or a direct command is issued to the modem in the Terminal Mode. A discussion of the meaning of the terms will be found in the glossary section of the TELPAC manual. END %E% TELPAC - U.S. ROBOTICS (UPD) The UPD command permits the user to update the telephone directory. After entering this command the user will be prompted for the various information necessary to update the telephone directory. The first item is: ENTER LETTER: When this appears, the letter (A-R) of the entry to be updated should be entered. After entering the letter, the next prompt will be: ENTER NAME (16 chars): At this point, the name associated with this entry should be entered into the computer. % TELPAC - U.S. ROBOTICS (UPD) The name may be any combination of numbers and letters. After entering the name, the computer will prompt for the telephone number. ENTER NUMBER: The telephone number should be entered just as it will be sent to the modem. This includes the special modem characters "," Delay 2 seconds "P" Pulse dial "T" Touch dial Any non-numeric character except these will be ignored. (continued) % TELPAC - U.S. ROBOTICS (UPD) The defaults and other options are: Default Other Options DUPLEX FULL HALF BAUD RATE 1200 300 PARITY EVEN ODD MARK NONE DIAL TYPE TOUCHTONE PULSE END %F% TELPAC - U.S. ROBOTICS (LST) LST will display a list of the telephone directory entries. The format is: A=U.S. Robotics (312)733-0497 FULL 1200 EVEN TOUCH The items to the right of the number indicate the duplex, baud rate, parity and type of dialing. More information about those options will be found in the users manual. (continued) % TELPAC - U.S. ROBOTICS (LST) After displaying the Telephone Directory, TELPAC displays the prompt ENTER LETTER TO DISPLAY AUTO LOGON / TO END: To display the auto logon for any telephone directory entry, merely enter the letter and press carriage return. Entering a carriage return alone will return to the return the prompt COMMAND: (END) %G% TELPAC - U.S. ROBOTICS (CAL) The CAL command will initiate an auto dial sequence. This will consist of auto dialing the number and optionally executing an auto logon sequence if one has been specified. The setting for duplex, baud, parity and dial type will be those specified in the telephone directory, if a number is dialed using the directory. The format of the CAL Command is: CAL letter The letter must be a telephone directory entry. CAL number The number is any valid telephone number. (Continued) % TELPAC - U.S. ROBOTICS (CAL) If the call is made with a "number" entered the communications options will be the default program settings (see DEF Command). After the connection is made, TELPAC will automatically enter the Terminal Mode with no file being saved. More information about the Terminal Mode will be found under the Command TERM. END %H% TELPAC - U.S. ROBOTICS (WRT) The WRT Command is used to write the data currently being saved while in Terminal Mode to a permanent disk dataset. The WRT Command requires no parameters. After execution, the data received in Terminal Mode will no longer be saved. To continue saving data in the same file, do not use the WRT Command. Return to the Terminal Mode from the Command Mode with the RET (Return to Terminal) Command. The WRT Command closes the disk dataset saved. END %I% TELPAC - U.S. ROBOTICS (SEND) The SEND Command is used to transfer a disk dataset to remote system using TELPAC or programs with a similar protocol. The format of the Command is SEND filename(s ) The file names should be in the standard CP/M format and separated by spaces. A valid command is: SEND B:PIP.COM C:TESTPRG.ASM TELPAC will transmit data is blocks of 128 characters with error checking for each block. If an error is detected in any block, TELPAC will attempt to retransmit the block. If ten (continued) % TELPAC - U.S. ROBOTICS (SEND) (10) errors occur in any block, TELPAC will abort the transmission of the file. At the completion of the SEND function, TELPAC will return to the Command Mode. The Command SEND may be issued to a system running under TELPAC Host Computer Mode and the file will be sent. The receiving system should receive the file using the RECV Command. END %J% TELPAC - U.S. ROBOTICS (SENN) The SENN Command is used to Send Files without any protocol. The file specified is sent over the communications link from beginning to end with no stops or starts indicated. The format of the command is SENN filename Only one file name may be specified. The information transfer includes no error checking or retransmission. (END) %K% TELPAC - U.S. ROBOTICS (RECF) %L% TELPAC - U.S. ROBOTICS (RECN) The RECN command may be used to receive a file without any protocol. The format of the command is: RECN d:filename.ext Telpac will save all incoming data in the specified file. NO error checking will occur. END %M% TELPAC - U.S. ROBOTICS (TERM) The TERM Command is used to begin the Terminal Mode. The Terminal Mode is used to communicate with a host computer system. The format of the TERM Command is: TERM filename The filename is an optional parameter which is specified when the data sent or received over the communications link is to be saved into a disk file. When a file is being saved the ":" (colon) character will appear at the beginning of each line saved. The save may be turned on and off. (continued) % TELPAC - U.S. ROBOTICS (TERM) While in Terminal Mode, commands to TELPAC are issued as one letter commands with the letter entered while the control key is pressed. The Commands are: ^B Change Baud Rate ^D Disconnect ^E Exit terminal mode ^I Show Help Information ^N Change Duplex ^O Scroll through Save file ^R Turn Off Save File ^S Show Buffer Size/Use ^T Transfer File ^Y Turn On Save File ^Z Send Break More information will be found in the TELPAC manual. (END) %N% TELPAC - U.S. ROBOTICS (HOST) The Host Computer Mode provides the capability to access the micro computer with a remote terminal. After entering the Host Mode, the micro-computer running the TELPAC program may be accessed over the telephone lines as if the user were sitting at the local keyboard. After entering Host Mode, the computer will prompt for a password. ENTER PASSWORD: If no password is entered, then the computer will not request anyone calling in to enter a password. (continued) % TELPAC - U.S. ROBOTICS (HOST) No commands to the computer can be issued over the local keyboard. Any character typed on the keyboard, however, will be sent over the communications lines to the remote terminal. To exit the Host Mode the character ^X (control X) may be entered. This will disconnect any remote user and place the local computer back into Command Mode. END %O% TELPAC - U.S. ROBOTICS (RUN) The RUN Command provides the capability to run programs while still using the TELPAC program. This function may be useful to copy data sets or perform other minor functions. The format of the commmand is RUN program-name parameters Program should be the standard name of a program; parameters are any parameters normally entered. For example to copy file TEST1 on drive A to TEST2 on drive B using PIP the format of the command would be RUN PIP B:TEST2=A:TEST1 (continued) % TELPAC - U.S. ROBOTICS (RUN) The RUN Command should be used with care. Some programs will make changes to the CP/M operating system. They may not work properly with the run command. If a problem occurs, merely restart the TELPAC program. END %P% TELPAC - U.S. ROBOTICS (SHOW) The SHOW Command permits the listing of a file to examine its contents. The format of the SHOW Command is: SHOW filename Filename is the standard specification of a file including drive and extentions if appropriate. To end the listing of a file type ^X and TELPAC will return to the Command Mode. To stop the listing type ^S, another ^S will start the listing again. END %Q% TELPAC - U.S. ROBOTICS (HELP) The HELP Command is used to provide information about the operation of TELPAC. Any time information is to be entered into TELPAC, the Command HELP may be typed and information about the current operation will be displayed. Further, information about any command may be obtained by entering the Command HELP followed by desired command name. HELP TERM For example, the above command would provide information about the Terminal function. (END) %R% TELPAC - U.S. ROBOTICS (CMD) TELPAC provides the capability for unattended operation through the use of the CMD Command. The format of the Command is CMD filename The filename may be any valid CP/M file which contains a set of valid TELPAC commands. The file of commands should be created outside of TELPAC using a word processing or text editing program. For communications functions, TELPAC uses the following command structure. (continued) % TELPAC - U.S. ROBOTICS (CMD) TELPAC Commands - Typed exactly as they are entered to TELPAC with one command per line. (string) - Prompt string, information sent form the Host system for which TELPAC must search. "string" - Strings which should be sent to the Host system as commands. - Control characters, in brackets if contained in an incoming string or in quotation marks if in an out going string. See TELPAC users guide for more information on the CMD Command. (END) %S% TELPAC - U.S. ROBOTICS (TIME) The TIME Command provides a count down timer for use with the CMD Command for Command files. The format of the Command is TIME hh:mm When this command is entered TELPAC will start to count down to zero. When zero is reached, TELPAC will execute the next command in the Command file. A countdown may be terminated with a ^X (control x). All digits must be present as a zero if no time is entered. Thus thirty minutes would be represented as TIME 00:30 (END) %%% tion sent form the Host system for which TELPAC must search. "string" - Strings which should be sent to the Host system as commands. - Control characters, in brackets if contained in an incoming string or in quotation marks if in an out going string. See TELPAC users guide for more information on the CMD Command. (END) %S% TELPAC - U.S. ROBOTICS (TIME) The TIME Command provides a count down timer for use with the CMD Command for Command files. The format of the Command is TIME hh:mm When this command is entered TELPAC will  ë!T( ã _$(Ãçqãww@WË!$$  :>ʳ>? >>@>N>7>2!~$G# ATX1M1S0=0S7=30V1 $xD9r}>Lr>Lm>2 2 2:dͧ>3t>62>027NN7ͧͧ ̧ͧͧ  U. S. Robotics S-100 Autodial Version 1.3 $No$ carrier present $Y$+$G8$GD$G4$G6$G0$> > _ >2 ژt͚ͧ[ͧ ͧ>2 SET COMMAND ERROR $BAUPARIT/SPKғWAIDIAN͏!^#V#zͷ žL`ͧͧ ͧͧͧͧ ç THE FOLLOWING ARE VALID SET COMMANDS:$ SET BAUD <300> or <600> or <1200> SET PARITY or or SET SPKR or or SET WAIT <30> or <60> or <90> SET DIAL or $ NOTE: SET BAUD defaults to NO parity. $ @$@Ø:͟Baud rate: :  ͧ  >2͚@:G<2Ø͟Parity: :0y0p͟NONE͟EVEN͟ODDNON EVE8OD͚@2 Ø͟Speaker: : 12͟OFF͟ON until connect͟ON alwaysOF0O1DEBU2A͚@2>02Ø͟Wait: ::͟ seconds for carrier336699͚@2Ø͟Dial: :T|͟Pulse͟Touch ToneTOUCTPULSP  *   w#" ! " 6 #6:2 !  + < v  o  d >  o >[ 5 >͏ x ڊ } 3 CBNE7 !  !  +++ATH  ~#G ATDT 268-1708  Not Implemented l ~360}IIo3;>((ABDEKLQRSTVX77  7 JSTRUC012oIsIxI4 ?RRSRTEL:%:% ABDEKLQRSTVX~/Z!xSO #*op6ͬ!>~#__AJW=ͬ*NxmH͒R>xd\x>f<2_͒ڂʂnP]l&l DM}o|gڝɵ7i2q' * ~Í !*:CØçÄÅzÁÄÄù&5}ÄÄDMV!*\!`oҗ$^#V*^͢G:x7?7?:O ͘¿>͢͢@K:>0b>@7;>E6 :wN =[Term: use Funct + ? for help] : < HELоBRIGH MSLOWEWRAYNN S ڎ TSET command error. Use TSET ? for help  Type TSET then: Command To set/reset --------------------------- MSG . . . . T-mode signon message LOWER . . . tlower case text BRIGHT . . bright text only WRAP . . . terminal wrap at EOL and follow the command with: ON . . . . to turn the option on OFF . . . . to turn the option off !f!!!^#V# N  O~NEN FF  ڎշ>Nb>Yw*wDisplay T-mode message :$Display lower case text :$xDisplay bright text only :$yTerminal wraps at EOL :$ !f!!!*"""K͊͝**~"8*~"!"*`~W!`"oV>*\w*^w*|͍Terminal: ! ~#s Terminal module: v1.18!6 #6##6##6##6#6##6* F>*<F*>Fx@G*@Fx G*BFxGx> >2*F,*F,*F,>*DFD*FFD>~>!<"o~#V*o}| "oVD*~Ͳ*:fͲ:O:*G:ʺGʺ ͭé*G*0* *:f!"4Ͳ*:fͲ* Ͳ*"Ͳ*(Ͳ:xY**Ͳ*Ͳ**4"6 Ͳ*6GͲ"4* *8:C~":B!o!*:f|eo*Lͭ**Mí0ͭ*|ͱ*0ͭ*}/ ͭ:OíͲO:2yͲ*<Ͳ*>Ͳ*@Ͳ*BͲ*$Ͳ*&Ͳ*4."4*:fͲ*:fͲ*:fͲ*DͲ*F**|2:Y*0~#Oͭ *4 ) 0o,:=x:yY.ox.x.:O:b:b:g.G:g.GG$:=xgx-x:=o"4O:Yʊy͏Oͭa{_  ͭ í0-|-/\\/+||--o*#  #'(78Liberty Freedom 110 PRBNNYYN*=YTRG2G0G4G0G8G0G0G0  @ A B C D E F G H I =J4ùJ(I6IFJÃJ\sÍ Ò Ö bIUIûQQîRÙWéQcS^VAÜWaJtQò8CpZpS$ÐoÍoðoïJnÉoSmþL rþIFYÏj4=ákÓooÚ dj=y*y *u *w ! 6#Ÿ :Zʵ ZF#ú !` A 1&^# # <: T >&>ç,>/0Ð 2Hû ̓̓̓Modified for Kaypro 4 and USR Modem Kaypro 4/US Robotics modem >>>>h͒>>>>>>D>>>>>2>G>̓Input Baud Rate (300, 600, 1200, 9600): ͉͆300Ҽ͉600͉1200͉9600̓++ Incorrect entry ++ >>*>*>*>*21}2:0 BAUDRATE+$d (   :, Enter new Baudrate: !e6 ͓+ {+[00:0w͝+#0::[Ia:Im:ZI:I 2IZ::IZ::w2I2I!"I!I~6Ow#!I0!OH"͛,HB"͛,H C>$bH O, Enter library code or phone number, Hit RET to abort this function now or CTL-X quits while dialing or ringing: I>/!I~ʜ2O ͯڙ:O i!I~A+ 0 + q!"{@~q 6"Ip͛,:Ģ!I^#~͝+#ʙ.uX:Ģ!I^#~q͈+ʪ͓+ª:ʙͤ, ” ͤ,> ͝+Ù#u, - try #*I#"Iͽ+> ͝+: ͤ,͌>]ͻ >]Z ү&:I‰:N B, Busy(, No answer, Redial? (Y)es, (N)o, (C)ontinuous, (Q)uiet continuous: ͪ+{+N2YʉCʄQ`>2I:˜2ͻ Ýͻ , :I2I:IW, CONNECTED - hit any key to stop the bellͻ ͈+͓+~ ͻ >͝+͝+R{P Gx,+0:0+> O:¤,:(WT9TA>ZTN>ZT[ I>Zû , ++ Bad library number called ++ &{+2I͌ңh2:->Z2 , ++ NO DIAL TONE ++ &7::Tx<! >! ~$Gͤ,#͈+͓+ʙ> ͝+:<Z] ͻ ͻ !ͻͻ > ͝+!ͻ(W:!ͻͻ 2:!ͻͻ 2ATM0 $ATM1 $+++$ATH $:2!ͻ͌ҮATDT $J~$~4͝+#û8͈+͓+ ͤ,Ü>GBB 01ʵCʵ3B NB 4,E,5ʵ  ͈+< ͓+<  ͤ,Ü͌ 2N ͌E :‰ :I2I=2I# ڷ ͻ Tͽ 2ͻ ʹS, ++ No ringback for autodial modem ++Ü{+x >?]Zͻ T͈+ ͓+ 7+:͏, Additional Subcommands for PMMI Modems Modem control: A - Answer tone for send or receive O - Originate tone for send or receive Parity option: 1 - Set and check for odd parity 0 - Set and check for even parity Both ends must be capable of these options which are available only in R and S modes. The parity checking will be part of the file transfer protocol. Speed Options: After entering your primary and secondary options, you can set the modem speed by placing a "." after the options followed by the speed e.g., 300, 600. EXAMPLE: SBO.600 will set the modem for 600 baud ͌ҽ ¼ {+ }0_.!~w+ *.xxxxxxx,,,,,,xxxxxxxx,,$xxxxxxx,,,,,,xxxxxxxx,,$A=CHULA VISTA BBS#1.......691-8367B=CHULA VISTA BBS#2.......278-9114C=COMPUTER MERCHANT BBS...582-9557D=DATEL AFTER HOURS.......443-6616E=DATEL SYSTEMS INC.......271-8613F=ESCONDIDO BBS...........746-0667G=GREATER APPLE BBS.......578-3743H=HEATH SIG RCPM..........461-5117I=IBM SIG RCPM............268-0437J=INVESTMENT PROGRAM BBS..483-5477K=JIMS TREE BBS...........562-9759L=KAYPRO RCPM.............481-3942M=KIDS MESSAGE SYSTEM.....578-2646N=LAKESIDE PDMS #1 BBS....561-7271O=LAKESIDE PDMS #2 BBS....561-7277P=FLOPPY HOUSE BBS........579-7036Q=TEEN-LINE BBS...........755-5006R=RADIO SHACK POWAY.......271-9123S=SABA-HOM-LINE...........692-1961T=SAN DIEGO ATARI BBS.....447-8143U=SAN DIEGO C/S RCPM......452-1869V=SAN DIEGO CP.M XCHGE....273-4354W=SAN SIEGO STATE ED-TECH.265-3428X=SAN MARCOS BBS..........727-7500Y=BBS TRS Eighty..........271-9123Z=Online CDC..............450-66360=RCP/M Silicon V...1-408-732-91901=RCP/M dBASE.......1-408-378-87332=RCP/M Saratoga....1-408-354-59343=P. Harbor Cambr...1-617-494-19854=P. Lodge....N.Y...1-914-634-12685=Tampa Bay Bandit..1-813-937-36086=Thousand Oaks.....1-805-492-54727=Pirates Place.CA..1-714-644-79428=Spare.............x-xxx-xxx-xxxx9=Spare.............x-xxx-xxx-xxxx^DIR DIR *.* $U0AD XMODEM S XMODEM R BYE RBBS (vacant)(vacant)(vacant) Nice chatting, see you again soon... !9"K1K!pʹ,".J!'ʹ,"0J, MDM730 - (type M for Menu) }]2͏ʹ:I!21Kͫ:3:B:ICb:O3+:ID+M3RSTk2I2IõEz2I2IõL‰2I2Iõ~?2*"+"+"+!"J ͟A2;J̀ k:2h> @2i3>^2h32i3]2I  !OI OG>xA>2I6#~?2:XI2UI:IDEMLTG:9:=xC:IHæ2xSXR’:PI:m ,++ Enter primary option plus file name ++ 2, ++ Bad option ++ 8>ë:PI>B2PIx?2I:I:] 2I2IͲ&!>J͐!!\>J ͛,>J>J!O"I>2I :I ͈+͓+G::::IQx0^:^ù:^2I2I:I>2I::'Õ:'Ž>2I:́:!+:%ʪ:ʴ:"T::#:I/2I{+{+͉{+: ʮ ::)n:$ :&:I 2I2Iͫ:PIt,Ready to send in batch mode t>2 ͝+|>B2PI><)):] <'ͪ'Ϳ'h)F&'ڴͧ&>2zIF&%Q%:In%r%́%ژÇ><)́%ڴ):2It:PI>2B2PI):] <'#> ͝+͏!"{+͙"Ͳ&]':PI5&,File open, ready to receive :IT&,CRC in effect >Cn&,Checksum in effect >,Waiting.....<)ͫ"ژ:r(ͧ&ͤÃ͌(ͤ')><)!_J͐!!l͐!, File name to send? (CR to abort): I>/:I ~I!_J,_J::,Want to include time delays? (Y/N): ͪ+N:2I{+I_Jq=ʧ?,++ DISK READ ERROR ++$ʧH, (in Terminal-mode now) Jͫ, [Transfer completed]~, ++ FILE NAME ERROR ++ ö!IF~ ͈+͓+# :͝+:đA͝+4 :  L<:O: O:I_ W!:~!:I~:I~!ʹ,:đ{ƒ8>̠8®>͈+ʠ͓+ :PIU&>2zI, Multiple errors encountered. Type Q to quit, R to retry: ͓+{+ʹ+Rʫ"QU&:UI!]26J p# 1:UI*xI#, Received # ͽ+, : ,(+,H) :6J<26J ʃ~ ĝ+~ >.͝+|(͝+ҏ&,Awaiting name NAK ͅ)ͤ!5J5*9J\ ͛,"9J><)7( !]~<)(0#><)Q(   a> a> a>u<), ++ ERROR sending name ++ ͅ)ͤ><)!\͒!&,Awaiting file name Q͕ʓ7>2,J!](>2+J(2+J&,Time out receiving filename Iͤw#}à2,JyQ<)(I  !\͒!&, ** Checksum error ** 2,JQÖ2,J(2,JF&><)(WU&>2I25Jͦ!!"9J!!\J,,0ڱ:fŒ*9J\ ͛,"9J!5J4Ì!8J5€!"9J:5JA>@25J, ** Memory buffer :I,open ** ;,closed ** , ** Memory buffer available ** {+͕æ2*HK*NQAyJ*`]J~4m#]͌܌Ý+͈+͓+G>/,Printer buffer is :Iʯ,ON ,OFF !#½]2Iͤ,:I:Ix͝+U> :I: 8>G:,x ,x͝+U:I@ͤ,> :IJ ,:I*Ip#"I> p> ͝+́!|!yJ>4!N>2I*I !ON w͝+G ́!#¢"IJ>4͌ w#:I*Ip#"I:7JJ>4!Nz24J:4JW!8 N w͝+GU ́!# "I!"IJ>4s ^#"I:7J s !"I"I*I*I|}::ʌ 27J!?ʹ,DM8¦ > xš 7: :I]ͻ :I]̀*I6}l&)>oO :IN!͆!>J͆!ѷ!+| <)'?,++ DISK FULL, SAVING PARTIAL FILE ++$'',++ Nothing to save, erasing file ++ ÷*>;Ý+6# 6 #•!6#ž!!8J6!IN!I 6 !IF#!~ ¾!#!~ !")J+#!~ !:8J<28J#!~ !!6 *)JJ~ "#"#~ "")J!Jp \. ~N"#~+] ͛,!e~w#~w\!\l ͛,!u6B#6A#6Kl!l6\:\2zI (ڥ#O7>2-J2+J{y"(G"G2-Jx2+J$z":-Jʥ#:UI #{+x+,H received not SOH - $F&:I>:#:I>:#>C<):zI<2zI ڰ": U&ý1K'', ++ RECEIVED FILE CANCELLED ++ ++ UNFINISHED FILE DELETED ++ ÷*:UI#, ++ Timeout $# #:zI:I:I/2I2&,** Switching to Checksum mode **  >2I(ڥ#W(ڥ#/J$:UI #, ++ Bad record # in header #z2wI>2I!"I!(ڥ#w,^$2I:I”$Q(ڥ#$:wIG:xI$%,(+,H) ><):xI<):xI/<)>2I!"I!~<),a%2Iy<)*I|<)}<)>2-J2+J(GҘ%2-J2+Jxʰ%ƒ%:-J%&:I%:UI%,++ x%+,H%,NAK, received not ACK - $2I:zI<2zI ?, ++ SEND-FILE CANCELLED ++$, ++ TIMEOUT - no ACK - $%:UI͈+͓+1K(X&><)(e&> <)>B2PI2I2I:IRS#, ++ FILE CANCELLED ++ ÷**xI#"xI}!\ #~?'·&:PI'\<,File exists - erase? (Y/N): ͪ+Y2{+\,++ NO WILDCARDS ALLOWED FOR TEXT FILES ++ 2,++ NO FILE SPECIFIED ++ 2\2|Iy2I!O"}I'*}I!͙,"}I:I<2IO(:IOO\!! •(2I!O"}I:Iy(y: ͫ!+J^*0J(*.J8(z((F&7> ).)!,J^(͈2O:VI1):XI6):I6)F+F&:WIR):XIW):IW)F+͈2OA^)4,Waiting ready signal {+F&(U&Cʣ))…)U&&,CRC request received >2I:PI&,Got checksum request &,Name NAK received :PI—*:UIj* !I*>w#* !]I*>6*~ ,*#xD**~ D*>.*, , Transferred :\22J!\͐!:2J2\!iIwI͛,Jͫ:> h:e:eæ2!l\͛,2|2h n+ n+ n+ _+n+>(n++>)n+_> ͝+> ͝+O͓+ʹ+͝+a{_ + |Ľ+{0n+|+}++ ,0n+,CTL-@͝+,~$,n+#,~8,:UI~n+#', :,>͝+{+>2I:PI*U&:;J_͡A xl,͉,:IcG:*K É,~#›,Jx4I!\,:=º,5-#^#6 ^-p- !- , p- !- -, ^-p- !- p-#̈́- ̈́-6# > W-W- > W-W-w#W-:n-_@w# . p-w#p-~*ʔ-#†-×-ͩ-~*ʥ-#™-ͩ-6?#©-ͦAA2/25/- I!\,!_J͐!:l2_J:m ...: 28J_J<.,++ FILE NOT FOUND ++u..#5.00, . _J? !`Jw#.!m`J 0=ƀo&:_J/=_@2/25/,Drive : k bytes free on drive : $0կ͓+ʹ+ /ʉ/ʉ/ʿ//G#4+~#/px/ ԝ+#L/#G~wڨ/+xF6 ʯ/ʭ/L/4L/>͝+> ͝+>͝+L/>#͝+{+B/G>#͝+{+xL/͝+/L/>͝+5L/{+L/{+F##> w# 0~(0!0#0#"07#2h:Iy0>2I!\J 0:\2J!J\ 0\í0!J\ 0\!J\ 0\<7¶02I=Ɓo&J 0] 02h2|><0~# x0,File open: *Iͽ+: 1, (+,H), records Send time: :_!1^#V*I&2i`ͽ+, mins, !1:_~:2E2E2E2E2&ͽ+, secs at 1&,To cancel: use CTL-X  0`@J0(  !1:__ , bps 110$300$450$600$710$1200$2400$4800$9600$19200${/_z/W12 !<=?2}o|g>o*I|>!L!yg)x2>g>!ol2r$s%# b2*IO!L ~W$^"I:I2, ** File still open, use DEL, DIR, WRT, E, L or T ** 22I!iIwI͛,!\IOI ͛,2I2+J2,J2I=bH, Single Letter Commands ? - Display current settings ^ - Function key intercept character, then (0-9) M - Display the menu E - Terminal mode with echo L - Terminal mode with local echo T - Terminal mode For copying text to disk use T (E or L) FILENAME.TYP Start or Stop toggles described on subsequent screen. R - Receive CP/M file using Christensen Protocol S - Send CP/M file using Christensen Protocol COMMAND: R (or S) FILENAME.TYP R and S can use the following subcommands: B - Bulk transfer using wildcards (e.g., *.*) D - Disconnect when done Q - Quiet mode (no messages to console) V - View or bytes on console X - When done, disconnect, go to CP/M The single letter commands may also be used on the command line when the program is initially executed. ͏, Three Letter Commands CPM - Exit from this program to CP/M DIR - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive/user no. (specify drive/user) and reset disks. e.g. LOG A0: or LOG B: (user # unchanged) SPD - Set file output speed in terminal mode vDb8,TIM - Select Baud rate for "time-to-send" msg. :ʘ8,TCC - Toggle CRC/Checksum mode on receive :8,TLC - Toggle local command immediate or after :', :"9,TLF - Toggle LF after CR in "L" or "T" mode for a disk file :Z9,TRB - Toggle rubout to backspace conversion :ʝ9,TXO - Toggle XOFF testing in terminal mode file output :9:9,NUM - List remote systems : 9,SET - Set modem baud rate ,BYE - Disconnect, then return to CP/M :)::@:,CAL - Dial number ,DSC - Disconnect from the phone line The following are terminal text buffer commands: ,DEL - Delete memory buffer and file WRT - Write memory buffer to disk file 2H, Local Commands while in Terminal Mode : , - Send a break tone for 300 ms. :;:), - Change baud rate >, - Exit to command mode :;:", - Send log-on message :!, - Disconnect from the phone line :<:#, - Toggle printer > ͝+:&, - Start copy into buffer :$, - Stop copy into buffer Start & Stop may be toggled as often as desired. A ";" at start of line indicates buffer is copying. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. :%, - Transfer ASCII file to remote ::'=, - Send local control character to remote =, - Next character will be used for local control z{+:I'>7I, Bytes of buffer free A͝+͟A>>&oͽ+>>͝+>>͝+,COMMAND: 2II>/:I'>^ʛ??zH >:I:#CI0CPMZ,{+0LOGA0DIRҤ@0ERAһ@0SPDB0TIM]C0TCC҄D0TRBD0TLCE0TLFnE0TXOE: ?: ?0NUMҕG: ?0SETF0WRTDG0DELG0BYEM@0DSC+:Q?:c?0CALc?> 2Io?:I!HI&Hx?ͫ,~?=,++ Invalid command ++ :bH, SPECIAL FUNCTION KEY TABLE ?,CTL-@͝+, current function key intercept character ! #~0͝+> ͝+#~@@ :@,$@͝+$@{+@{+=:h:{@h, << Exit to CP/M >> Z,ͻ !ͻͻ > ͝+!@ͻ(Җ@ATZ $23Jͱ-:3J_=I!\,3+:] x?\<@,++ File not found ++ =\,File erased =:I«A:I )AͦAAAx?23J͟AG:IdApA:IdArAA :3J_:=J_͡A= lA:IA͕AOxGxx?2=JI>/:I 0 x? ,++ Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ =,Delay between chars. (0-9): ͈+(B͓+͝+C0 x?2,Delay at end of line (0-9): ͈+aB͓+͝+C0 x?2 , Char. delay (terminal file mode) is: :Gxo&ͽ+,0 ms. per character Line delay (terminal file mode) is: : Go&ͽ+,00 ms. per character =, :IAx?_:I =0LC:I0XC&x?_͡A=>LCvDx?,Use 0-8 to give baud rate for 'S' mode time-to-send message, where 0=110, 1=300, 2=450, 3=600, 4=710, 5=1200, 6=2400, 7=4800 8=9600 and 9=19200 Baud. Enter value: ͉A x?2 D=vD`D,Rate for the S mode time-to-send message is set to sD,Modem speed is 1: G:::x?:/2͘D=,Mode: :ʳD,CRC ,CHECKSUM :x?:/2D=:D,Rub is backspace ,Rub is rub :x?:/2E=,Use ::'GE, before local command , to send local command to remote :x?:/2͂E=,LF :˜E,NOT ,sent after CR in "L" or "T" for a disk file :x?,Use XOFF testing? (Y/N): MFE2jF, Use XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion of buffer is 7I, bytes E͂EjFͶFzB{+{+{+=*I믓o|gͽ+SRTELMABDJLOQRSVX01ABDJLOQRSVX01OOO4se XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion o!9"120\!Wd2wl!{d2!X~ =ï!|~ X{ ͶͶͶͶ!Bͣ €"~¬~Ͷ#¬_> Ͷ> Ͷ !6#6#  4!6` ))))0 o4͞## 6 #3>204 ʔ͞23x##p:3Ͷ>=Ͷ6:5ʔ ^6Gw#†:S70ڰ:_Aڰ[7*,|g}Ɛ'@'Ͷ:+A"!)*,".> Ͷ{{<*b7! "({Q{ï***(|b}i-{ï>2x>27:0ʲ_YN—ò* M7LIB program for changing MDM7xx phone library - 02/20/84$  M7LIB lets the user change the MDM7xx phone number library. EXAMPLES: M7LIB MDM7.COM (1) M7LIB MDM7.COM MDM77.COM (2) (1) changes the original file (named MDM7.COM) (2) changes the 2nd file, leaving original intact $ ++ UNABLE TO OPEN SOURCE FILE ++$ ++ OUTPUT FILE ALREADY EXISTS ++$ ++ NO DIRECTORY SPACE ++$ loading file...$ [Exiting program] $ ++ PHONE LIBRARY NOT FOUND ++$ PHONE LIBRARY LOCATED AT: $ DOES LIBRARY LOOK RIGHT? $ CTL-C abort, hange, elete,

rint lib, ead, rite : $ ABORTING...NO CHANGES MADE$ DESC..............1-XXX-XXX-XXXX27:0ʲ_YN—ò* M7LIB program for changing MDM7xx phone library - 02/20/84$ 1x:] &222>2!"!\:m 3?8!l~#8C\> *"\‚:<2\\:=2:¡!"2>2!"*"2:=2G    AAAwAf  ^^^ too loong, retype ^^^$ FILE NOT FOUND$ NO DESTINATION FILE OR ILLEGAL NAME$ ERROR EXTENDING FILE OR DISK FULL$ Wrong program$ Searching.... $ MDM703CL by Pavel Breder (02/07/83) X>MDM703CL OLDFILE.COM [NEWFILE.COM] This program will change the telephone numbers in the MODEM program. To change the number, enter the NAME and NUMBER when at letter A-Z. If you do not want to change the number, press RETURN with out characters. $\\:=2:¡!"2>2!"*"2:=2G    AAAwAf  ^^^ too loong, retype ^^^$ FILE NOT FOUND$ NO DESTINATION FILE OR ILLEGAL NAME$ ERROR EXTENDING FILE OR DISK FULL$ Wrong program$ Searching.... $ MDM703CL by Pavel Breder (02/07/83) X>MDM703CL OLDFILE.COM [NEWFILE.COM] This program will change the telephone numbers in the MODEM program. To change the number, enter the NAME and NUMBER when at letter A-Z. If you do not want to change the number, press RETURN with o!9"1/ ͼ MDMFNK v1.00 (c) ESKAY 02-17-84 MDM7 installation program for function keys. NOTE: the version of MDM7 must be 24 or higher! ͼ Please enter the file name (and optional DU:) of the file to be installed/inspected : >ͳ/PY  BK ]w!2͟?:<2 w# 5$!~A°#I"#r*ͼ You can now change the INTERCEPT CHARACTER (key prefix), any of the ten function keys, or you can exit to CP/M. A - INT CHAR: ~#w ͼ B - FNK 0 : Sͼ C - FNK 1 : Sͼ D - FNK 2 : Sͼ E - FNK 3 : Sͼ F - FNK 4 : Sͼ G - FNK 5 : Sͼ H - FNK 6 : Sͼ I - FNK 7 : Sͼ J - FNK 8 : Sͼ K - FNK 9 : S*$ }2# ͼ characters free. Q - abort program S - save and quit YOUR CHOICE? >ͳ~QʪS&ABVLV==Gͼ > ͳ_ͼ Keep trailing ? ͤ _Y…6 #6*~#~# ʳy=‘*w#©V~# ´~#Ýͼ ERROR - new string won't fit!Vͼ Type the new INTERCEPT CHARACTER > ͤ *wVH]!~# 5ͩK:=22͏ê#~ dm͵ Sͼ #j #ͼ ERROR - key definition table not found - aborting. ͼ ERROR - NUMLIB not found at 0E00H - might not be a valid MDM7 file (MDM724 or higher). Aborting... ͼ ERROR - drive/user spec invalid Öͼ DISK WRITE ERROR - FILE TRASHED ͼ ERROR - file not found. Please restart. ͼ *** END OF EXECUTION *** *>2!2"$կ<~#:X,ʳ!ڳD~( AqAl<2!#~:ʴ?‰2"#~:ʴiG~#:ʧ0i iOxGËx i2"ô~:»#~,! >?:!G:"O>~.##* >? ###> ~( !F=_.:;,<>ɾw 3  p>q p pj ʜ   2  !~#o|g6: ʳ !~ʳ ( w#æ !: ~# w    y yG>GO> ͵  2> * >2> d?  ? 0͵ I A y^ :> ^ > ͵ ɯ2> y0͵ > ͵ > ͵ ҵ ʵ ʵ ʵ ʵ ʵ >^͵ @͵ *.  O*.  x2 y2 : _ : _ Y X   OGa{_H< W] HR W] r# x] } H ͆ H͆ |ڦ — }ڦ ~# x— ~+ x¬ á {ozg 7}o|g }o|g}o}|g}o}o|g |g}o }o|g}o|g}o|g/ #}/o|/gկ2 !"}  e *} }o|g"} d >2 I *} : !"} | — }  *} "} }o|gں "} }oû ™ !ÿ v('MDMLNK.HEX   oy QA"qU WF)ːYIAtK<KLjEd=j.UJӶHj]:VqeϬx/4ˣ_v_tjx \!ڷ)ȗ*n* M̔jVV,~-+ZiիRv:#.C^mMp{`YQ*nxٍ-\2{){b2b'fy Y 2n71^1ŒS/Zߐ,~M>&ucr}:W3_ץNG i,~A":סS~.C﫚._0.SiG$wJ>SKUeS[/#(/,S&됟סp_COg]ՙWSCL<"խL $K[b]^t:#.COgiG_$[EC[[ѴhVW4T]tNe!\iG_:HmJZ]JtGz]~o%iG_TLu Hː$ _n e|Vfr]_ ,k+6LS*n~=|[v7 U mDֱJVf]Aw7[u(-r2 t ø)RH#=~E`ѷn)!o#!޷0[vs\iG\$MZ0j[Tmzmm4ˣo v麇{Hܕfyw#iG:H̖fyAƤ~G8>~,W8]mmYopk7n}Bfy;H.{/a_Zؾ[Ƒ%p;fy7n3}cɾɾN<{ Gi{;Ataޮ׷n{w4ˣ>Co qu{W=\|}?\|}.> ߣI[cmfy}cYbD'kA11nlSJ<^k# {SOkC#=T~ qcqhcd6p{iGԆSut Nbkxpbܘ/iG߻>H4z?1mmd)h $Ur= WiGwPL`;kx;`aL ߏ@WJHܕfyw#iG:H̖fyAƤ~G8>~,W8]mmYopk7n}Bfy;H.{/a_Zؾ[Ƒ%p;fy7n3}cɾɾN<{ Gi{;Ataޮ׷n{w4ˣ>Co qu{W=\|}?\|}.> ߣI[cmfy}cYbD'kA11DOC FOR MDMLNK v1.00 as of 03-26-84 MDMLNK is a utility for MDM7xx. It allows linking in the assembled overlay file without the use of DDT. This may be a bit more foolproof than the usuall DDT method. MDMLNK is self-prompting and will ignore all command line parameters. Upon entry, MDMLNK will ask for the INPUT file name. Enter the name of the uninstalled MDM7xx.COM file and be sure to specify the full file name. Next, you are asked for the HEX file name. Enter the full name of the assembled overlay file and be sure to include the .HEX suffix. Last, you will be asked for the OUTPUT filename. Enter the name of the installed MDM7xx file. Again, be sure to specify the full file name. MDMLNK will now first read the INPUT file, overlay it with the hex file, then write a temporary file which is finally renamed to the output file name. The temporary file is used so that the input file can be the same as the output file, yet a disk error will not wipe out the original. Errors will be reported for full directory, unable to write (disk full), file not found, and in case the hex file is corrupt. All errors will abort to CP/M, possibly leaving a file MDMLNK.$$$. MDMLNK not only works on any MDM7 file of any size (within reason), but it can also (BONUS!!!) be used with XMODEM or any other file which will be overlaid by a HEX file which does not change its size. -Sigi rlay file and be sure to include the .HEX suffix. Last, you will be asked for the OUTPUT filename. Enter the name of the installed MDM7xx file. Again, be sure to specify the full file name. MDMLNK will now first read the INPUT file, overlay it with the hex file, then write a temporary file which is finally renamed to the output file name. The temporary file is used so that the input file can be the same as the output file, yet a disk error will not wipe out the original. Errors will be reported fDocumentation for MDMFNK.COM MDMFNK.COM is a program used to alter the function key assignments for MDM724 and later versions. MDMFNK takes no arguments on the command line. You will be prompted for the full file name to be installed. Drive/user spec is ok. Next, the intercept character, the function key assignments and free memory are displayed. Command options are prefixed with a character (A..K, Q and S). Enter an "A" to change the intercept character. It can be set to almost anything, but should be a rarely used control character (such as ^A). Enter a "B", "C", etc to change the respective key definition. The key can be as long as free memory allows. After entering the key definition you have a chance to retain or delete the trailing RETURN, and then the key will be inserted into the table, provided it fits. To totally blank a key, enter a null string and answer "N" to the trailing CR question. When you are finished, you can use the "S" comamnd to save the file back to disk. As an alternative, you can also abort without update. NOTE: a ^C aborts to CP/M anywhere except when entering a new INTERCEPT CHARACTER. NOTE: This program depends on NUMLIB being at 0E00H! ec is ok. Next, the intercept character, the function key assignments and free memory are displayed. Command options are prefixed with a character (A..K, Q and S). Enter an "A" to change the intercept character. It can be set to almost anything, but should be a rarely used control character (such as ^A). Enter a "B", "C", etc to change the respective key definition. The key can be as long as free memory allows. After entering the key definition you have a chance to retain or delete the trailing RETURN, and then the key will be inserted into the table, provided it fits. To totally blank a key, enter a null string and answer "N" to the trailing CR question. When you are finished, you can use the "S" comamnd to save the file back to disTOPIC : M7LIB program for changing MDM7xx phone numbers FROM : IRV HOFF W6FFC DATE : 20 FEB 84 M7LIB permits the user to quickly and very easily change the telephone numbers in the MDM7xx phone library. It automatically finds the phone library in MDM7xx.COM, lists the library and then (after asking it if looks normal) displays a command line: CTL-C abort, hange, elete,

rint lib, ead, rite : To change or alter any line (such as the "F" line), you would then type: CTL-C abort, hange, elete,

rint lib, ead, rite : CF The "C" would select "Change" and the "F" selects the line you wish to change. This same technique would be used to delete any line that is no longer needed. Using "DH" for example leaves the "D=" but clears the rest of the line. Whenever you change any line, you must go completely to the last column prior to the < at which time the new line is then added automatically and the new listing displayed. This sets a flag so if you hit CTL-C to abort it will ask if you want to update the file or abort with no changes. You can also use "W" to write the file to disk when finished with any changes. USING THE PROGRAM: ----------------- This program works directly with the MDM7xx.COM file. It does not use or need the .ASM file at all. EXAMPLES: A>M7LIB MDM7.COM (1) A>M7LIB B:MDM7.COM (2) B>A:M7LIB MDM7.COM (3) A>M7LIB MDM7.COM ABC.COM (4) B>A:M7LIB B:MDM7.COM C:ABC.COM (5) 1) works only with the original file, altering it 2) the file can be on any selected disk 3) similar to (2) but M7LIB.COM is on another disk 4) if a 2nd file is named, it receives the changes 5) any of the files can be on any selected disk NOTE: Using M7LIB.COM to alter the telephone number library is surprisingly simple and fast. It does not however allow setting or resetting codes for SPRINT, MCI, etc. To do that you would need to use M7NM-x.ASM. This program is a highly modified version of CHGLIB written several years ago by Tony Ribeiro for MODEM7. - Irv Hoff  USING THE PROGRAM: ----------------- This program works directly with the MDM7xx.COM file. It does not use or need the .ASM file at all. EXAMPLES: A>M7LIB MDM7.COM (1) A>M7LIB B:MDM7.COM (2) B>A:M7LIB MDM7.COM (3) A>M7LIB MDM7.COM ABC.COM (4) B>A:M7LIB B:MDM7.COM C:ABC.COM (5) 1) works only with the original file, altering it 2) the file can be on any selected disk 3) similar to (2) but M7LIB.COM is on another disk 4) if a 2nd file is named, it receives the changes 5) any of the files can be on any selected disk NOTE: Using M7LIB.COM to alter the telephone number library is surprisingly simple and fast. It does not however allow setting or resetting coTOPIC: MDM730.ASM MODEM PROGRAM DATE : 22 MAR 84 NOTE: This program when assembled is 73 sectors long. Use this figure when merging the appropriate overlay file for your computer via DDT, etc. (Most of the overlays were written when MDM7xx.COM was only 66 sectors and the example included in each says to store 66 sectors.) For MDM730 use: B>SAVE 73 MDM730.COM NOTE: Use M7FNK.COM to easily and quickly change any of the 10 function key assignments. You can read the M7FNK.DOC file for additional information. (by Sigi Kluger.) The log-on key (CTL-L can be changed in the overlay. NOTE: M7LIB.COM is a rapid and surprisingly easy way to quickly change any entries in the phone number library. See M7LIB.DOC if instructions are needed. M7NM-6.ASM is necessary for setting or altering numbers for 'SPRINT', 'MCI', etc. It would also be better if making a lot of changes such as adding or deleting '1-' required for long distance dialing in some areas. NOTE: If using the phone number overlay to change the phone library numbers, be sure to use: M7NM-6.ASM The phone number library contains 36 numbers (A-Z plus 0-9) Most users will not need the lengthy (158k) source code at all. Just get MDM730.COM and then check one of the associated over- lay programs to obtain the overlay for your particular computer. Merge that with MDM730.COM according to the instructions near the start of the overlay file, using DDT.COM, etc. (See above note relative to saving 73 sectors. STAT.COM would then show 146 records for 20k.) The following bytes can be changed easily with DDT, then SAVE 73 0DFEH - HEXSHOW 00 = do not show hex record count FF = show both hex and decimal count 0DFFH - SAVSIZ 20 = 4k file transfer buffer size (see table below for other options) 0E00H - NUMBLIB (start of telephone number library) To change the file transfer buffer size via DDT, change byte 0DFFH: 20 (hex) = 32 records = 4k 40 (hex) = 64 records = 8K 60 (hex) = 96 records = 12k 80 (hex) = 128 records = 16k (Use the largest value that does not give errors during file tranfers when the disk activates. You have about 10 seconds before a timeout error would occur. 8" systems can easily handle 16k per transfer in 3-4-5 seconds. 5-1/4" systems are usually much slower. In that case try 8k or 12k. Default is set for 4k as that is known to work satisfactorily on all disk systems.) - Irv Hoff RECENT CHANGES: -------------- MDM730 - After a file transfer, now automatically returns to the last terminal mode used (E, L or T). This makes it extremely easy to use modem-to-modem communications in addition to normal file transfers. Added a 'J' option in the event a return to command mode is desired. Example: COMMAND: RJ FILENAME.Ext Changed max. timing delays to optimize use with satellite al- ternate dialing systems. (Submitted by Bob Plouffe.) MDM728 - changed RCVRECD routine to move the test for EOT outside the SOH loop. MDM727 - function key character shown in menu. Typing that character on command line shows all function key definitions. MDM726 - 'T' no longer needed to return to terminal mode after a file transfer, i.e., 'RT' or 'ST' no longer used, just 'R' or 'S'. MDM724 - added 10 function keys for auto-typing preselected messages MDM722 - phone number library now has 36 entries rather than 26 (has A-Z as usual plus 0-9). MDM716 - Robust addition to minimize problems due to intermittent noise. Gives added protection against timeouts on mainframes. Batch mode transfer improved. CREDITS: ------- MDM730 - Irv Hoff MDM728 - Bob Plouffe MDM727 - Irv Hoff MDM726 - Irv Hoff MDM724 - Sigi Kluger MDM722 - Bill Brehm with routines developed by Fred Viles MDM716 - Bob Plouffe !9"1P *."   USQ Version 1.19 Dave Rand 07/28/19832 2:  Use: USQ afn [afn afn ...] [destination drive:]>2  *!6x :ʗ2_!6~#a{_:> : _!l2 <2m]"!"!X =:Q P  Output drive = :P2@ :_͋"*"*~ #pwb"*}š No file(s) found.*""* |g}o|g}o%| Out of memory. Use more specific filenames.*" $$.""* "!X  6 !Gxwgʯ#Ò!"=!PD :2D!PQ6D< No directory space. Aborting."K Files has illegal decode size. Aborting.P "|rs#r#s#r#*+N!‰_iu*͆D<µ Close failed...g  ERROR - Checksum error in file 1P :—1~#_|}~# **,~#"*""X* 5"*>O**}q#"͆yi**D¼*ڒ*" Disk full. Aborting.go  Premature EOF on file... aborted.g:!=2:C>C4>==2:2:O:\O>=2yO!P k##^#VzJy2z>ʈ{/:Pʞ_P<º: _=!_#:P ~#P<ºì: G: < x@>:!~ # >.!%~ 5# *!P*Y@G:a:  ~# xiu*͆D<µ Close failed...g  ERROR - Checksum error in file 1P :—1~#_ TOPIC : MDM730 RECENT CHANGES FROM : IRV HOFF W6FFC DATE : 22 MAR 84 COPYRIGHTED 1984 BY IRVIN M. HOFF This program may be used freely for any non-commercial purpose, provided that the user does not remove or alter this notice or the copyright statement. It is not covered by a warranty either express or implied. No changes or alterations are authorized. If desirious of modifying the program for national release, it may be used for such purposes only if the name is changed and credit given where appropriate. *********************************************************************** NOTE: ALTHOUGH THIS PROGRAM IS BEING PLACED IN THE PUBLIC DOMAIN, IT IS NOW IN A FINAL VERSION THAT HAS BEEN THOROUGHLY TESTED ON A WIDE VARIETY OF SYSTEMS. NO FURTHER CHANGES OR UPDATES ARE EITHER ANTICIPATED OR AUTHORIZED. IF ANY ALTERATIONS ARE MADE, A DIFFERENT NAME SHOULD BE SELECTED AND A NEW SERIES COMMENCED. THIS PROGRAM HAS RECEIVED A NEW UPDATE AN AVERAGE OF EVERY TWO WEEKS SINCE IT WAS STARTED. IT MUST BE ALLOWED TO STABILIZE. THE NAME MDM7xx IS COPYRIGHTED, SO PLEASE OB- SERVE THE REQUEST TO SELECT A DIFFERENT NAME IF CHANGES ARE MADE. (SYSOPs ARE BEING ADVISED TO NOT ACCEPT ANY FURTHER MDM7xx VERSIONS WITHOUT MY APPROVAL. IT IS ONLY WITH THIS AGREEMENT THAT I AM RELEASING THE SOURCE CODE.) THIS ALSO ALLOWS THE PROGRAM TO BE MADE GENERALLY AVAILABLE THROUGH SIG/M; ALSO OTHER SOURCES. - Irv Hoff W6FFC *********************************************************************** 03/22/84 1. Automatically returns to "E", "L" or "T" mode after a MDM730 file transfer, whichever one was last used. This now makes modem-to-modem use really convenient as either end can immediately type to the other after a file transfer, where one is using "E" and the other using "T" mode. It also adapts particularly well to new verions of XMODEM. 2. 'J' option added. Allows return to command mode with 'RJ' or 'RS'. The normal user will never need this fea- ture, but was requested for some unusual applications. 3. RETRY in place of ACKNAK. If YES, after 10 errors, asks if you want to reset the error counter and try again. if NO, aborts after 10 consecutive errors. RCPM systems using XMODEM and other modem-to-modem transfers have al- ready aborted, but can be used on mainframes where busy conditions are more prevelant than poor tranmsissions. (Set no if only using RCPM or modem-to-modem, YES for file transfer on TYM-SHAR mainframes such as Arpanet.) 4. Maximum wait for control responses increased (10 places) to properly handle delayed transmission times resulting from satellite alternate dialing systems. (Submitted by Bob Plouffe.) 5. If Xon-Xoff selected, no longer asks if you want delays. 6. Maximum time to wait for an echo character now 200 ms. 7. Trap rubout (delete) chars. received in terminal mode. 8. Numerous other changes. Read MDM730.DOC for assistance. 01/01/83 First version. Can be assembled with ASM.COM. (Previously MDM700 it was necessary to have the MODEM7.LIB file and use MAC.COM to assemble the program.) Selected MDM700 as a new program to allow me to make changes that I felt might be beneficial. This would not hinder others from updating existing programs to their own satisfaction. The name was also selected so it would fit on databanks limiting file names to 6 characters. - Irv Hoff *********************************************************************** le delayed transmission times resulting from satellite alternate dialing systems. (Submitted by Bob Plouffe.) 5. If Xon-Xoff selected, no longer asks if you want delays. 6. Maximum time to wait for an echo character now 200 ms. 7. Trap rubout (delete) chars. received in terminal mode. 8. Numerous other changes. Read MDM730.DOC for assistance. 01TYPE RAMDRIV.DOC :::::::::: RAMDRIV.DOC :::::::::: DOCUMENTATION FOR FILES RAMDRIV.ASM AND RAMLD.ASM by Herb Shore Dec. 27, 1982 These programs are used to make extra memory beyond the usual 64K function as though it were a very fast disk drive. The extra drive (drive C: in my system) can be used in the same way as all the other drives, though of course all data on this drive is lost when the power is turned off. The way I use the system is to PIP over my working files to drive C: after activating the RAMDRIV, working on the files while logged onto C:, and then PIPing them back to my floppy before shutting down the computer. For repetitive operations such as assembling, compiling, using a word-processor with overlay files, etc. the increase in speed is fantastic. The system is especially easy to use if you have replaced the standard CCP with ZCPR. With ZCPR, the standard utility files (PIP, STAT, MAC, etc.) can remain on drive A:, since these files are not accessed after they have been loaded. ZCPR will automatically search A: for these files if they are not present on C:. Only those files which are repeatedly accessed have to be on the fast drive. To implement the system, prepare file RAMDRIV.COM using the information on files RAMDRIV.ASM and RAMLD.ASM. Then the RAM drive is activated by executing RAMDRIV.COM. This program will ask if you wish to clear the directory area of C:. If the computer has just been turned on, answer YES, since the directory area contains garbage. However, if your system has crashed due to a program runaway, it is very likely that extended memory is still OK. In that case you can do a cold boot, run RAMDRIV, and answer NO when asked if the directory should be cleared. SOFTWARE REQUIREMENTS: The RAMDRIV system requires 1K of global RAM above the BIOS. This may mean you have to reduce the size of your CP/M system (I use a 63K CP/M). Other than providing this space, there are no special requirements for the size of the CP/M system or the location of the BIOS; this is determined by the program. HARDWARE REQUIREMENTS: At least 1K of global RAM must be provided. Global RAM is memory that responds to the standard 16 bit address bus independently of the setting of the 8 bit extended address bus. If your global RAM is larger than 1K, the system will still work, but the memory available for the extra disk is reduced. The system must provide a way of setting the extended address bits by outputting the extended address to an output port. If your present system does not have this capability, it can be easily implemented. Turning 1K of RAM into global RAM is also not difficult. One way is as follows: connect a 6-input AND gate to monitor address lines A10-A15. When all six lines are high, the upper 1K of memory is being addressed. When this happens, tri-state the circuit (output port) driving the extended address bus and force  all 8 bits of this bus to be low. Thus, the RAM at extended address 00H will become global for the upper 1K of the 64K address space. A word of caution: If your system uses DMA devices, these devices may also attempt to drive the extended address bus. Make sure that any extra circuitry you add is disabled during DMA operations in order to avoid bus conflicts. [OPSYS] 00:20>͹ *9M}ʣ! ͹û! ! ##|! !"!ͲÄ`iv! s#rzP*)H! ~#fo")H*:M}! a way of setting the extended address bits by outputting the extended address to an output port. If your present system does not have this capability, it can be easily implemented. Turning 1K of RAM into global RAM is also not difficult. One way is as follows: connect a 6-input AND gate to monitor address lines A10-A15. When all six lines are high, the upper 1K of memory is being addressed. When this happens, tri-state the circuit (output port) driving the extended address bus and force TYPE RAMDRIV.AQM :::::::::: RAMDRIV.AQM :::::::::: TITLE 'RAMDRIV 12/27/82' ; ;********************************************************** ; ; RAMDRIV - A program that permits extended ; memory to function as a fast disk drive. This ; program does not require modification of the ; existing BIOS. ; ; Copyright 1982, by ; Herbert B. Shore ; Department of Physics ; San Diego State University ; San Diego, CA 92182 ; (619) 265-6159 ; ; Released to the public domain for ; non-commercial use. ; ;********************************************************** ; ; The code and tables in this file will reside in high ; memory, above the existing BIOS. A separate loader ; program, RAMLD.ASM is combined with this program to ; produce the executable file, RAMDRIV.COM. The ; procedure for combining the two programs is described ; in the loader program. ; FALSE EQU 0 TRUE EQU NOT FALSE ; ; The following equates are system dependent. ; ; PANEL: If you have an (IMSAI-type) front panel, set ; PANEL=TRUE. The lights will display the extended ; address, simulating the LED on the door of the disk ; drive. Flipping switch D0 up will "write-protect" ; the RAM drive. ; ; RAMDRIV: Set to memory location above BIOS. A little ; less than 1K of GLOBAL memory is required at this ; location; i.e. the same block of memory must be ; accessible independent of the setting of the extended ; address bus. ; ; PRAM: The extended address of regular program RAM. ; Usually this is 00H. ; ; DRAM: The extended address of the first extra segment ; of RAM to be used as a simulated disk drive. Each ; segment can be up to 63K long (the upper 1K is not ; accessible, since it is occupied by the global RAM). ; The extended addresses of the extra segments should be ; sequential; the program will automatically determine ; how many extra segments there are. ; ; XPORT: The output port that sets the extended address ; bus. ; ; DNAME: The alphabetic designation of the RAM drive. ; ; LIGHTS: The output port for front panel lights. ; ; SWITCH: The input port for front panel switches. ; ; AVL: The number of available kilobytes in each extra ; segment of RAM. This memory must all be NON-global. ; If, for example, the upper 16K of your memory is global, ; set AVL to 48K. ; ; DIRECT: The number of directory entries permitted on the ; RAM drive. Must be a multiple of 32. I used 32 to leave ; the maximum space for program files. ; PANEL EQU FALSE ;IMSAI FRONT PANEL RAMDRIV EQU 0FC00H ;START OF PROGRAM. PRAM EQU 00H ;EXTENDED ADDR. OF MAIN RAM DRAM EQU 01H ;EXT. ADDR. OF RAMDRIV. XPORT EQU 0FDH ;PORT TO SET EXT. ADDR. DNAME EQU 'C' ;DRIVE NAME OF RAMDRIV. IF PANEL LIGHTS EQU 0FFH  ;FRONT PANEL LIGHTS. SWITCH EQU 0FFH ;FRONT PANEL SWITCHES. ENDIF AVL EQU 63 ;AVAILABLE KBYTES/BOARD. DIRECT EQU 32 ;NO. OF DIRECTORY ENTRIES. ; ; THESE EQUATES WILL NORMALLY NOT BE CHANGED. ; BDOS EQU 5 DELCHR EQU 0E5H ;DELETED DIRECTORY ENTRY. DNUMB EQU DNAME - 'A' ;RAMDRIV DRIVE NUMBER ; MACLIB Z80 $*MACRO ORG RAMDRIV ; ; ORIGINAL JUMP TABLE FROM BIOS ; WBOOT1: DS 48 WCK: ;END OF BIOS TABLE. ; CSV: DS DIRECT/4 ALV: DS 72 DIRBUF: DS 128 RAMBUF: DS 128 ENDTBL: ;END OF DATA TABLES. ; ; The following code is executed once to set up the ; RAMDRIV system. In order to conserve space it ; will be overwritten by data buffers during actual ; access to the RAM-drive. ; ORG RAMDRIV ;BACK TO BEGINNING. ; SETUP: ; ; DETERMINE NUMBER OF MEMORY BANKS ;  MVI B,0 ;B = # OF BANKS BCHEK: MOV A,B CPI 10 ;# BANKS < 10 JNC BADRM ;ERROR. ADI DRAM ;GET EXTENDED ADDRESS. OUT XPORT INR B ;FOR NEXT LOOP. LXI H,1234H ;SAMPLE ADDRESS MOV A,M ;GET A SAMPLE MOV C,A ;SAVE IT CMA ;COMPLEMENT SAMPLE MOV M,A ;TRY TO PUT INTO MEM. MOV A,M ;SEE IF IT STUCK. MOV M,C ;RESTORE ORIGINAL. XRA C ;SHOULD GIVE 0FFH. INR A ;SHOULD GIVE 0 JZ BCHEK ;LOOP TO NEXT BANK. MVI A,PRAM OUT XPORT ;RESTORE CP/M BANK. DCR B JNZ RAMOK ;AT LEAST ONE BANK? BADRM: LXI D,NORAM ;NO RAM AT ALL. MVI C,9 CALL BDOS JMP QUIT ; NORAM: DB 'Cannot activate RAMDRIV. No available RAM.$' BMSG: DB 'There are ' NBANKS: DB '0 ', AVL/10 + '0', AVL MOD 10 + '0' DB 'k banks available for RAMDRIV.' DB 0DH,0AH,'$' ; RAMOK: MOV C,B ;SAVE # OF BANKS. LXI H,0 LXI D,AVL ;KBYTES/BANK. MULT: DAD D DCR B JNZ MULT ;AVL*BANKS DCX H ;MAX BLOCK NO. SHLD DSM MOV A,C ADI '0' ;CONVERT TO ASCII. STA NBANKS LXI D,BMSG MVI C,9 CALL BDOS ;PRINT NO. OF BANKS. ; ; MODIFY BIOS JUMP TABLES ; IF $ < WCK ;MAKE SURE THAT WBOOT1 TABLE JMP BJUMP ;WILL NOT OVERWRITE ENDIF ;BJUMP ROUTINE. IF $ < WCK DS WCK - $ ENDIF ; BJUMP: LHLD 1 ;GET ADDRESS OF WARM BOOT LXI D,WBOOT1 ;TRANSFER TABLE FROM BIOS UP HERE LXI B,48 ;48 BYTES LDIR LXI H,WBOOT2 ;TRANSFER OUR TABLE TO BIOS LDED 1 LXI B,48 LDIR ; ; PRINT MESSAGE AND ASK QUESTION ; LXI D,QUEST MVI C,9 ;PRINT STRING CALL BDOS MVI C,1 ;GET CHARACTER CALL BDOS RES 5,A ;CONVERT TO UPPER CASE. CPI 'Y' JNZ QUIT ; ; CLEAR DIRECTORY OF RAMDRIV ; MVI A,DRAM ;EXT. ADDRESS OF RAMDRIV OUT XPORT IF PANEL CMA OUT LIGHTS ;TO IMSAI FRONT PANEL ENDIF LXI H,0 ;LOCATION 0000 LXI D,32 ;EVERY 32 BYTES MVI B,DIRECT ;NO. OF ENTRIES. CLEAR: MVI M,DELCHR DAD D DCR B JNZ CLEAR MVI A,PRAM ;RESET EXT. ADDR. OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF QUIT: LXI D,CRLF MVI C,9 CALL BDOS JMP 0 ;BACK TO CP/M. ; QUEST: DB 'RAMDRIV active on drive ', DNAME, ':' DB 0DH, 0AH DB 'Should directory of drive ', DNAME DB ': be cleared (Y/N)? : $' CRLF: DB 0DH, 0AH, '$' ; ; NEW TABLE COPIED INTO BIOS ; WBOOT2: JMP WBOOT JMP WBOOT1+3 JMP WBOOT1+6 JMP WBOOT1+9 JMP WBOOT1+12 JMP WBOOT1+15 JMP WBOOT1+18 JMP HOME ;21 JMP SELDSK ;24 JMP SETTRK ;27 JMP SETSEC ;30 JMP SETDMA ;33 JMP READ ;36 JMP WRITE ;39 JMP WBOOT1+42 JMP SECTRN ;45 ; ; IMPLEMENT BIOS FUNCTIONS ; IF $ < ENDTBL ;MAKE SURE THAT BIOS DS ENDTBL - $ ; FUNCTIONS BEGIN ENDIF ; AFTER TABLES. ; WBOOT: LXI H,80H ;SET INITIAL DMA ADDR. SHLD DMAADR JMP WBOOT1 ;BACK TO BIOS ; ; HOME: LDA DISK ;CHECK DISK NUMBER. CPI DNUMB ;IS IT THE RAMDRIV? JNZ WBOOT1+21 ;IF NOT, LET BIOS HANDLE IT. MVI A,DRAM ;SET "TRACK" TO 0 STA XTRAK RET ; ; SELDSK: MOV A,C ;CHECK REQUESTED DISK, STA DISK CPI DNUMB JNZ WBOOT1+24 LXI H,DPH ;RETURN DISK PAR. HEADER. RET ; ; DISK PARAMETER HEADER FOR RAMDRIV ; DPH: DW 0 ;NO SECTOR TRANSLATION DW 0,0,0 ;SCRATCH DW DIRBUF ;LOC. OF SCRATCHPAD AREA. DW DPB ;DISK PARAMETER BLOCK DW CSV ;DIR. CHECK AREA DW ALV ;ALLOC. VECTOR. ; ; DISK PARAMETER BLOCK ; DPB: DW AVL*(1024/128) ;SECTORS PER TRACK DB 3 ;BSH DB 7 ;BLM DB 0 ;EXM DSM: DW 62 ;MAX BLOCK NO. DW DIRECT-1 ;HIGHEST DIRECT. NO. ; AL0 EQU LOW (0FFH SHL (8-DIRECT/32)) AL1 EQU 0 ; DB AL0,AL1 ;DIRECTORY BLOCKS. ; CKS EQU 0 ;CHECK DIRECT. ENTRIES. ; DW CKS DW 0 ;NO SKIPPED TRACKS. ; ; SETTRK: LDA DISK CPI DNUMB JNZ WBOOT1+27 MOV A,C ;TRACK NO. ADI DRAM ;CONVERT TO EXT. ADDR. STA XTRAK RET ; ; SETSEC: LDA DISK CPI DNUMB JNZ WBOOT1+30 MVI L,0 ;SECT. NO. IN BC. MOV H,C ;MULTIPLY BY 128. RARR B ;RESULT IS IN HL. RARR H RARR L SHLD SECTOR ;SAVE IT. RET ; ; SETDMA: SBCD DMAADR ;SAVE DMA ADDR. BOTH HERE JMP WBOOT1+33 ;AND IN BIOS. ; ; READ: LDA DISK CPI DNUMB JNZ WBOOT1+36 LDA XTRAK ;SET EXTENDED ADDRESS. OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF LHLD SECTOR ;DO BLOCK MOVE TO LXI D,RAMBUF ;TEMPORARY BUFFER. LXI B,128 ;SECTOR=128 BYTES. LDIR MVI A,PRAM ;RESET ADDR. OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF LXI H,RAMBUF ;MOVE FROM BUFFER LDED DMAADR ;BACK TO MAIN RAM. LXI B,128 LDIR XRA A  ;NO ERRORS. RET ; ; WRITE: LDA DISK CPI DNUMB JNZ WBOOT1+39 IF PANEL IN SWITCH ;CHECK D0 OF FRONT PANEL ANI 1 RNZ ;RETURN IF WRITE PROTECT. ENDIF LHLD DMAADR ;DMA --> BUFFER LXI D,RAMBUF LXI B,128 LDIR LDA XTRAK OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF LXI H,RAMBUF ;BUFFER --> RAMDRIV. LDED SECTOR LXI B,128 LDIR MVI A,PRAM OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF XRA A RET ; ; SECTRN: LDA DISK CPI DNUMB JNZ WBOOT1+45 MOV H,B MOV L,C RET ; ; DATA STORAGE AREA ; DISK: DB 0 XTRAK: DB DRAM DMAADR: DW X0H SECTOR: DW  0 ; END [OPSYS] 00:24>NTER PASSWORD OR FOR NO PASSWORD: ENTER PASSWORD: INVALID PASSWORD WELCOMEANEL IN SWITCH ;CHECK D0 OF FRONT PANEL ANI 1 RNZ ;RETURN IF WRITE PROTECT. ENDIF LHLD DMAADR ;DMA --> BUFFER LXI D,RAMBUF LXI B,128 LDIR LDA XTRAK OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF LXI H,RAMBUF ;BUFFER --> RAMDRIV. LDED SECTOR LXI B,128 LDIR MVI A,PRAM OUT XPORT IF PANEL CMA OUT LIGHTS ENDIF XRA A RET ; ; SECTRN: LDA DISK CPI DNUMB JNZ WBOOT1+45 MOV H,B MOV L,C RET ; ; DATA STORAGE AREA ; DISK: DB 0 XTRAK: DB DRAM DMAADR: DW X0H SECTOR: DW TYPE RAMLD.ASM :::::::::: RAMLD.ASM :::::::::: TITLE 'LOADER FOR RAMDRIV 12/27/82' ; ;*********************************************************** ; ; RAMLD - Loader program for RAMDRIV, a program ; that allows extended memory to function ; as a disk drive ; ; COPYRIGHT 1982, by ; Herbert B. Shore ; Dept. of Physics ; San Diego State University ; San Diego, CA 92182 ; (619) 265-6159 ; ; Released to the public domain for ; non-commercial use. ; ;*********************************************************** ; ; This file and file RAMDRIV.ASM are required to produce ; the absolute file RAMDRIV.COM. I assembled them using ; the Digital Research MAC assembler with the Z80 macro ; library. The following steps should produce a working ; RAMDRIV.COM : ; ; (1) Modify EQU's in RAMDRIV.ASM following instructions ; in that program. ; (2) Set RAMDRIV (in this file) equal to starting ; address of main program. ; (3) Assemble both programs. ; (4) Look at file RAMLD.PRN and note the value of ; ROFFST. If you haven't modified this program it ; will be 058DH. ; (5) Using DDT, load file RAMLD.HEX with no offset. ; (6) Then load RAMDRIV.HEX with an offset of ROFFST. ; (7) Exit DDT and do: SAVE 4 RAMDRIV.COM. ; ; $*MACRO MACLIB Z80 RSIZE EQU 4*256 ;SIZE OF RAMDRIV PROG RAMDRIV EQU 0FC00H BDOS EQU 5 ; ORG 100H LXI D,SIGNON ;PRINT SIGNON MESSAGE MVI C,9 CALL BDOS LHLD 1 ;HAS BIOS BEEN MODIFIED YET? INX H ;ADDRESS IN BIOS JUMP VECTOR. MOV E,M INX H MOV D,M XCHG ;WBOOT ADDR. --> HL LXI D,RAMDRIV ANA A ;CLEAR CARRY DSBC DE  ;WBOOT - RAMDRIV JC CONTIN ;IF CARRY, THEN WE ARE OK. LXI D,NOWAY ;PRINT ERROR MESSAGE MVI C,9 CALL BDOS JMP 0 ; SIGNON: DB 'RAMDRIV loader. Dec. 27, 1982' DB 0DH,0AH, '$' NOWAY: DB 'Cannot load RAMDRIV.', 0DH,0AH DB 'Cold boot system and try again.' DB 0DH,0AH, '$' ; CONTIN: LXI H,START ;SOURCE ADDR. LXI D,RAMDRIV ;DESTINATION LXI B,RSIZE LDIR JMP RAMDRIV ; START: ROFFST EQU START-RAMDRIV END [OPSYS] 00:25> EQU FALSE ;IMSAI FRONT PANEL RAMDRIV EQU 0FC00H ;START OF PROGRAM. PRAM EQU 00H ;ADDRESS IN BIOS JUMP VECTOR. MOV E,M INX H MOV D,M XCHG ;WBOOT ADDR. --> HL LXI D,RAMDRIV ANA A ;CLEAR CARRY DSBC DE T(>&'(mç,>/0Ð 2Hû ̓Y̓̓Version for ADVANCED DIGITAL - Modem port 02H This is an ADVANCED DIGITAL Computer, CR,LF,0>>>>h͒>>̓++ Please use manual baud rate setup ++ '@  4>_m>]2I!L-v%v:IZy2:e :I:e:Ie! ʡ0:0DM)) )o${h¡|/W}/_! =xy2I?,++ INVALID BAUDRATE ++$d (   :, Enter new Baudrate: !e6 ͓+ {+[00:0w͝+#0::[Ia:Im:ZI:I 2IZ::IZIZy2:e :I:e:Ie! ʡ0:0DM)) )o${h¡|/W}/_! =xy2I?,++ INVALID BAUDRATE ++$d ::w2I2I!"I!I~6Ow#!I0!OH"͛,HB"͛,H C>$bH O, Enter library code or phone number, Hit RET to abort this function now or CTL-X quits while dialing or ringing: I>/!I~ʜ2O ͯڙ:O i!I~A+ 0 + q!"{@~q 6"Ip͛,:Ģ!I^#~͝+#ʙ.uX:Ģ!I^#~q͈+ʪ͓+ª:ʙͤ, ” ͤ,> ͝+Ù#u, - try #*I#"Iͽ+> ͝+: ͤ,͌>]ͻ >]Z ү&:I‰:N B, Busy(, No answer, Redial? (Y)es, (N)o, (C)ontinuous, (Q)uiet continuous: ͪ+{+N2YʉCʄQ`>2I:˜2ͻ Ýͻ , :I2I:IW, CONNECTED - hit any key to stop the bellͻ ͈+͓+~ ͻ >͝+͝+R{P Gx,+0:0+> O:¤,:(WT9TA>ZTN>ZT[ I>Zû , ++ Bad library number called ++ &{+2I͌ңh2:->Z2 , ++ NO DIAL TONE ++ &7::Tx<! >! ~$Gͤ,#͈+͓+ʙ> ͝+:<Z] ͻ ͻ !ͻͻ > ͝+!ͻ(W:!ͻͻ 2:!ͻͻ 2ATM0 $ATM1 $+++$ATH $:2!ͻ͌ҮATDT $J~$~4͝+#û8͈+͓+ ͤ,Ü>GBB 01ʵCʵ3B NB 4,E,5ʵ  ͈+< ͓+<  ͤ,Ü͌ 2N ͌E :‰ :I2I=2I# ڷ ͻ Tͽ 2ͻ ʹS, ++ No ringback for autodial modem ++Ü{+x >?]Zͻ T͈+ ͓+ 7+:͏, Additional Subcommands for PMMI Modems Modem control: A - Answer tone for send or receive O - Originate tone for send or receive Parity option: 1 - Set and check for odd parity 0 - Set and check for even parity Both ends must be capable of these options which are available only in R and S modes. The parity checking will be part of the file transfer protocol. Speed Options: After entering your primary and secondary options, you can set the modem speed by placing a "." after the options followed by the speed e.g., 300, 600. EXAMPLE: SBO.600 will set the modem for 600 baud ͌ҽ ¼ {+ }0_.!~w+ *.ptions, you can set the modem speed by placing a "." after the options followed by the speed e.g., 300, 600. EXAMPLE: SBO.600 will set the modem for 600 baud ͌ҽ ¼ {+xxxxxxx,,,,,,xxxxxxxx,,$xxxxxxx,,,,,,xxxxxxxx,,$ A= B= C= D= E= F=FINANCIAL...............260-2555G= H= I= J= K= L= M= N= O= P= Q= R=RCP/M...................452-1869S= T= U= V= W=  X= Y= Z= 0= 1= 2= 3= 4= 5= 6= 7= 8=Spare.............1-xxx-xxx-xxxx9=Spare.............1-xxx-xxx-xxxx^DIR DIR *.* $U0AD XMODEM S XMODEM R BYE RBBS (vacant)(vacant)(vacant) Nice chatting, see you again soon... ks.....1-805-492-54727=Bill Wood.........1-619-256-39148=Spare.............1-xxx-xxx-xxxx9=Spare.............1-xxx-xxx-xxxx^!9"K1K!pʹ,".J!'ʹ,"0J, MDM730 - (type M for Menu) }]2͏ʹ:I!21Kͫ:3:B:ICb:O3+:ID+M3RSTk2I2IõEz2I2IõL‰2I2Iõ~?2*"+"+"+!"J ͟A2;J̀ k:2h> @2i3>^2h32i3]2I  !OI OG>xA>2I6#~?2:XI2UI:IDEMLTG:9:=xC:IHæ2xSXR’:PI:m ,++ Enter primary option plus file name ++ 2, ++ Bad option ++ 8>ë:PI>B2PIx?2I:I:] 2I2IͲ&!>J͐!!\>J ͛,>J>J!O"I>2I :I ͈+͓+G::::IQx0^:^ù:^2I2I:I>2I::'Õ:'Ž>2I:́:!+:%ʪ:ʴ:"T::#:I/2I{+{+͉{+: ʮ ::)n:$ :&:I 2I2Iͫ:PIt,Ready to send in batch mode t>2 ͝+|>B2PI><)):] <'ͪ'Ϳ'xh)F&'ڴͧ&>2zIF&%Q%:In%r%́%ژÇ><)́%ڴ):2It:PI>2B2PI):] <'#> ͝+͏!"{+͙"Ͳ&]':PI5&,File open, ready to receive :IT&,CRC in effect >Cn&,Checksum in effect >,Waiting.....<)ͫ"ژ:r(ͧ&ͤÃ͌(ͤ')><)!_J͐!!l͐!, File name to send? (CR to abort): I>/:I ~I!_J,_J::,Want to include time delays? (Y/N): ͪ+N:2I{+I_Jq=ʧ?,++ DISK READ ERROR ++$ʧH, (in Terminal-mode now) Jͫ, [Transfer completed]~, ++ FILE NAME ERROR ++ ö!IF~ ͈+͓+# :͝+:đA͝+4 :  L<:O: O:I_ W!:~!:I~:I~!ʹ,:đ{ƒ8>̠8®>͈+ʠ͓+ :PIU&>2zI, Multiple errors encountered. Type Q to quit, R to retry: ͓+{+ʹ+Rʫ"QU&:UI!]26J p# 1:UI*xI#, Received # ͽ+, : ,(+,H) :6J<26J ʃ~ ĝ+~ >.͝+|(͝+ҏ&,Awaiting name NAK xͅ)ͤ!5J5*9J\ ͛,"9J><)7( !]~<)(0#><)Q(   a> a> a>u<), ++ ERROR sending name ++ xͅ)ͤ><)!\͒!&,Awaiting file name Q͕ʓ7>2,J!](>2+J(2+J&,Time out receiving filename Iͤw#}à2,JyQ<)(I  !\͒!&, ** Checksum error ** 2,JQÖ2,J2,JF&><)(WU&>2I25Jͦ!!"9J!!\J,,0ڱ:fŒ*9J\ ͛,"9J!5J4Ì!8J5€!"9J:5JA>@25J, ** Memory buffer :I,open ** ;,closed ** , ** Memory buffer available ** {+͕æ2*HK*NQyAJ*`]J~4m#]͌܌Ý+͈+͓+G>/,Printer buffer is :Iʯ,ON ,OFF !#½]2Iͤ,:I:Ix͝+U> :I: 8>G:,x ,x͝+U:I@ͤ,> :IJ ,:I*Ip#"I> p> ͝+́!|!yJ>4!N>2I*I !ON w͝+G ́!#¢"IJ>4͌ w#:I*Ip#"I:7JJ>4!Nz24J:4JW!8 N w͝+GU ́!# "I!"IJ>4s ^#"I:7J s !"I"I*I*I|}::ʌ 27J!?ʹ,DM8¦ > xš 7: :I]ͻ :I]̀*I6}l&)>oO :IN!͆!>J͆!ѷ!+| <)'?,++ DISK FULL, SAVING PARTIAL FILE ++$'',++ Nothing to save, erasing file ++ ÷*>;Ý+6# 6 #•!6#ž!!8J6!IN!I 6 !IF#!~ ¾!#!~ !")J+#!~ !:8J<28J#!~ !!6 *)JJ~ "#"#~ "")J!Jp \. ~N"#~+] ͛,!e~w#~w\!\l ͛,!u6B#6A#6Kl!l6\:\2zI (ڥ#O7>2-J2+J{y"(G"G2-Jx2+J$z":-Jʥ#:UI #{+x+,H received not SOH - $F&:I>:#:I>:#>C<):zI<2zI ڰ": U&ý1K'', ++ RECEIVED FILE CANCELLED ++ ++ UNFINISHED FILE DELETED ++ ÷*:UI#, ++ Timeout $# #:zI:I:I/2I2&,** Switching to Checksum mode **  >2I(ڥ#W(ڥ#/J$:UI #, ++ Bad record # in header #z2wI>2I!"I!(ڥ#w,^$2I:I”$Q(ڥ#$:wIG:xI$%,(+,H) ><):xI<):xI/<)>2I!"I!~<),a%2Iy<)*I|<)}<)>2-J2+J(GҘ%2-J2+Jxʰ%ƒ%:-J%&:I%:UI%,++ x%+,H%,NAK, received not ACK - $2I:zI<2zI ?, ++ SEND-FILE CANCELLED ++$, ++ TIMEOUT - no ACK - $%:UI͈+͓+1K(X&><)(e&> <)>B2PI2I2I:IRS#, ++ FILE CANCELLED ++ ÷**xI#"xI}!\ #~?'·&:PI'\<,File exists - erase? (Y/N): ͪ+Y2{+\,++ NO WILDCARDS ALLOWED FOR TEXT FILES ++ 2,++ NO FILE SPECIFIED ++ 2\2|Iy2I!O"}I'*}I!͙,"}I:I<2IO(:IOO\!! •(2I!O"}I:Iy(y: ͫ!+J^*0J(*.J8(z((F&7> ).)!,J^(͈2O:VI1):XI6):I6)F+F&:WIR):XIW):IW)F+͈2OA^)4,Waiting ready signal {+F&(U&Cʣ))…)U&&,CRC request received >2I:PI&,Got checksum request &,Name NAK received :PI—*:UIj* !I*>w#* !]I*>6*~ ,*#xD**~ D*>.*, W):IW), Transferred :\22J!\͐!:2J2\!iIwI͛,Jͫ:> h:e:eæ2!l\͛,2|2h n+ n+ n+ _+n+>(n++>)n+_> ͝+> ͝+O͓+ʹ+͝+a{_ + |Ľ+{0n+|+}++ ,0n+,CTL-@͝+,~$,n+#,~8,:UI~n+#', :,>͝+{+>2I:PI*U&:;J_͡A xl,͉,:IcG:*K É,~#›,Jx4I!\,:=º,5-#^#6 ^-p- !- , p- !- -, ^-p- !- p-#̈́- ̈́-6# > W-W- > W-W-w#W-:n-_@w# . p-w#p-~*ʔ-#†-×-ͩ-~*ʥ-#™-ͩ-6?#©-ͦAA2/25/- I!\,!_J͐!:l2_J:m ...: 28J_J<.,++ FILE NOT FOUND ++u..#5.00, . _J? !`Jw#.!m`J 0=ƀo&:_J/=_@2/25/,Drive : k bytes free on drive : $ .0կ͓+ʹ+ /ʉ/ʉ/ʿ//G#4+~#/px/ ԝ+#L/#G~wڨ/+xF6 ʯ/ʭ/L/4L/>͝+> ͝+>͝+L/>#͝+{+B/G>#͝+{+xL/͝+/L/>͝+5L/{+L/{+F##> w# 0~(0!0#0#"07#2h:Iy0>2I!\J 0:\2J!J\ 0\í0!J\ 0\!J\ 0\<7¶02I=Ɓo&J 0] 02h2|><0~# x0,File open: *Iͽ+: 1, (+,H), records Send time: :_!1^#V*I&2i`ͽ+, mins, !1:_~:2E2E2E2E2&ͽ+, secs at 1&,To cancel: use CTL-X  0`@J0(  !1:__ , bps 110$300$450$600$710$1200$2400$4800$9600$19200${/_z/W12 !<=?2}o|g>o*I|>!L!yg)x2>g>!ol2r$s%# b2*IO!L ~W$^"I:I2, ** File still open, use DEL, DIR, WRT, E, L or T ** 22I!iIwI͛,!\IOI ͛,2I2+J2,J2I=bH, Single Letter Commands ? - Display current settings ^ - Function key intercept character, then (0-9) M - Display the menu E - Terminal mode with echo L - Terminal mode with local echo T - Terminal mode For copying text to disk use T (E or L) FILENAME.TYP Start or Stop toggles described on subsequent screen. R - Receive CP/M file using Christensen Protocol S - Send CP/M file using Christensen Protocol COMMAND: R (or S) FILENAME.TYP R and S can use the following subcommands: B - Bulk transfer using wildcards (e.g., *.*) D - Disconnect when done Q - Quiet mode (no messages to console) V - View or bytes on console X - When done, disconnect, go to CP/M The single letter commands may also be used on the command line when the program is initially executed. ͏, Three Letter Commands CPM - Exit from this program to CP/M DIR - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive/user no. (specify drive/user) and reset disks. e.g. LOG A0: or LOG B: (user # unchanged) SPD - Set file output speed in terminal mode vDb8,TIM - Select Baud rate for "time-to-send" msg. :ʘ8,TCC - Toggle CRC/Checksum mode on receive :8,TLC - Toggle local command immediate or after :', :"9,TLF - Toggle LF after CR in "L" or "T" mode for a disk file :Z9,TRB - Toggle rubout to backspace conversion :ʝ9,TXO - Toggle XOFF testing in terminal mode file output :9:9,NUM - List remote systems : 9,SET - Set modem baud rate ,BYE - Disconnect, then return to CP/M :)::@:,CAL - Dial number ,DSC - Disconnect from the phone line The following are terminal text buffer commands: ,DEL - Delete memory buffer and file WRT - Write memory buffer to disk file 2H, Local Commands while in Terminal Mode : , - Send a break tone for 300 ms. :;:), - Change baud rate >, - Exit to command mode :;:", - Send log-on message :!, - Disconnect from the phone line :<:#, - Toggle printer > ͝+:&, - Start copy into buffer :$, - Stop copy into buffer Start & Stop may be toggled as often as desired. A ";" at start of line indicates buffer is copying. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. :%, - Transfer ASCII file to remote ::'=, - Send local control character to remote =, - Next character will be used for local control z{+:I'>7I, Bytes of buffer free A͝+͟A>>&oͽ+>>͝+>>͝+,COMMAND: 2II>/:I'>^ʛ??zH >:I:#CI0CPMZ,{+0LOGA0DIRҤ@0ERAһ@0SPDB0TIM]C0TCC҄D0TRBD0TLCE0TLFnE0TXOE: ?: ?0NUMҕG: ?0SETF0WRTDG0DELG0BYEM@0DSC+:Q?:c?0CALc?> 2Io?:I!HI&Hx?ͫ,~?=,++ Invalid command ++ :bH, SPECIAL FUNCTION KEY TABLE ?,CTL-@͝+, current function key intercept character ! #~0͝+> ͝+#~@@ :@,$@͝+$@{+@{+=:h:{@h, << Exit to CP/M >> Z,ͻ !ͻͻ > ͝+!@ͻ(Җ@ATZ $23Jͱ-:3J_=I!\,3+:] x?\<@,++ File not found ++ =\,File erased =:I«A:I )AͦAAAx?23J͟AG:IdApA:IdArAA :3J_:=J_͡A= lA:IA͕AOxGxx?2=JI>/:I 0 x? ,++ Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ =,Delay between chars. (0-9): ͈+(B͓+͝+C0 x?2,Delay at end of line (0-9): ͈+aB͓+͝+C0 x?2 , Char. delay (terminal file mode) is: :Gxo&ͽ+,0 ms. per character Line delay (terminal file mode) is: : Go&ͽ+,00 ms. per character =, :IAx?_:I =0LC:I0XC&x?_͡A=>LCvDx?,Use 0-8 to give baud rate for 'S' mode time-to-send message, where 0=110, 1=300, 2=450, 3=600, 4=710, 5=1200, 6=2400, 7=4800 8=9600 and 9=19200 Baud. Enter value: ͉A x?2 D=vD`D,Rate for the S mode time-to-send message is set to sD,Modem speed is 1: G:::x?:/2͘D=,Mode: :ʳD,CRC ,CHECKSUM :x?:/2D=:D,Rub is backspace ,Rub is rub :x?:/2E=,Use ::'GE, before local command , to send local command to remote :x?:/2͂E=,LF :˜E,NOT ,sent after CR in "L" or "T" for a disk file :x?,Use XOFF testing? (Y/N): MFE2jF, Use XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion of buffer is 7I, bytes E͂EjFͶFzB{+{+{+=*I믓o|gͽ+SRTELMABDJLOQRSVX01ABDJLOQRSVX01OOO4se XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion oEXI.MEXABDEKLQRSTVXINI.MEX~MEX.HLPREAD -MENU: C!: Q!: _!!: m!Tq+q un-installed + q!ã!q + Modem v!ͪ8>-!9"4:2.&14(2 2 ! (@K232-&:i3!* "!!g"F A14D3H$0&4M-!-&~6"!g"~"#_[+!"ͥ$: 2"!4!^#[+!T3~G"#G>-;$G"]$t$f"ͣw!g"^#[+2"-2" clone mex.com 6162 8/navsea/votozeta :#2#8Ͷx!#IA#yx#5AS#R#y2###8Ͷx! IA:828 ý#:S3įJZz2 2 :f3R!*]#S!*c#>A2 ! 6B!(QTEx#2 L72 :{ ʌ#2 ! ]5A2f3 5A  !!¸#6Ü###¬#Ò-MKYͶx#y!#IAڍ-y2#qProtocol:#!#)A~\sq =Disconnecting... :b _e!];$DM x/$$$:T]=A$!>   A*)&*)&Ͳ$q =++ Exit to system ++ :3_K+K:ZġX %h:.&%*4:4 !!ü$:t !!> 2)!*! A>_!$![+>2 tG!crLA\sbq>>\s\s*+&?͚ *R ;$" Ͳ@%;$" G:T 怰2T ! (@! (@ 8͚ Hk͑pp")&6#6p"+&UMV+IFhͰp4=RjPl% :; *)&##~*©%y:828*8C4ڹ%!%7"8:828* |%>2 : *U : *Y ! ~6%3K* |" !" ր>͇'G!q__ __ >͇'q(o\ /o) A͇'qV =͇'qNightOwl >͇'qSoftware !͒'ͭ''G!'>Ͳ'ͭ' 'q Copyright (C) 1985>Ͳ' 'q NightOwl Software, Inc.>Ͳ' 'q All Rights Reserved>Ͳ' ͭ'! ͒'(t(t: *g3|b'qClone level hq(tq(for aid, type HELP or "?") }: -{As͇'| #> '} (t'>Rsʽ'=ò' (t͇' q !"d '(tq MEX+ (Modem EXecutive) V1.64 :i3(()!(l ())(;EACCEPԒ:ALԷPBELFCOLFCA+CAL+CL(FCP]$CLONGDATADE0XDIA+DIfDJ4DO]$DSFYERXGERASXGEXI]$GLOBABHEL0+IDKBY*KEُjKEYӏjKFI*KGE*KLO*KPU*LOA#+LO>CPHON4=PREFI%jPROT#QUI]$REA,4RENAMGREGSAV(+SENDOUmhSE8DSKIPIGDSLEEйHSSEFSTA"ZSTOFSTOR:SUFFI.jSYSTE]$TER QTERMQTIMATRANSMIԬATSE$TYP5+VALUDVIE׼nWAIԮ0WRԞX( (J.ABORTME%ADDANĜDBOp/COMb2CSEDOWγ*DRAק.DUP3FELS:ENĸ.ENDI1:ENDГ9EXE{FLUShnGOSUj9GOT8HLINŸ/Iư9INPU.INSTAL̩|LABEd:LIA+OҧDOVRINI=FMEqPAUSTFPEEˊFPOKZFPOнDPRINGFPROc:PUSDRESTORń:SAe.STARԾ.SCREEFSUDTRA Uи*VE'VLINŪ/WI!/XCHDXOҲDú*=+UPDOWN*****N!* |*:#_!* |M7KEYM+=+DIAL*+=+LS7+=+HT |ͶxN+t}2 * &hqɯi+z44,4C>2I.W$x A> 2H.8%2n3H$+K:I.ʢ+!9"F.W$.!3,,@+J.yͶx,!C +:+ ,=+!:,+(͇z,8* ͇z ,8!|,͎%,",>7~|=2 v@:H.: +#F,;,7 r-,,,O-A-,,, , , , - -"-^-3-l-x--Unknown CommandArgumentSyntaxNo filenameString too longREAD parameterNot enough memoryFile % not founREAD line too longAborteIllegal filenameHelp file formatIllegal direcStack overfloStack underfloGOTO not founFile format% formatError >->->->->->->->-> -> -> -> -> ->->->->*F.%ѷ73,*F..,!P,F# .###- .eq#~#fo~.~#.!..%7.\s!@. r=.*3͡r erro4F0u0ڍ-U\͏0Ͷx0͇zڤ.Ͷx"~.:~.thqÛ.$B<~#)A6 rͶxy,e.ͶxÒ-;tڍ-\s !.!.F0͇zڒ-REBRITBLIN!ULINT..!"d $>ͣw#F#*8/t"8!8NpAͶx-4/!Oo+B/y]/P/]/v/$,o-00*/*/DMs/00*/*0/*/*//*/͙/*0:/͏0Ͳ.Ú/F0/2/Ú/F0/=o͏0@|/xͲ./yò.u0U\ڍ-x͙0y;tʍ-F0u0ڍ-\Uu0\Uyʍ-xʍ-)0zPG!/y50BKz<0##s#r###q#p: q= Error: Requires terminal overlay |0}lgͶxtط7tc-,/:- SA0͇zڒ-TIM0DAT1SILENCy1QUIEy1STRIN1N1ڴ0 ͣI1q=WAIT Aborted ͪ8͒ 0@|0B1N1ڴ0 ͣI0͒ &1@|&1AͣI0zBͶx1vط7@:/,y1v@,yc!"d Ͷx: Œ1> oڔ1tͷ1MF1JҨ1 ˜12z—1"d :B3g.))2!2V6#1`l"d Ͷxڍ-͜@: 1;t1> 2C3͸2ͷ1z2:B3:C3OJG2F1 22!2313~# *2p#!2~1#G{_zW͋2Y2 ;2i&"d 2͸2{-2!2€2#G͋2!‡2#"d Oʪ2:2<°2y5AO~5A°2#Ž2!2B<>)AͶxһ2:22>22GaR!]3 w#J312345678[MEX] \JY1JY9KKK OKJY JY \K K KK\KJ\3DG.,]"dA82B84z"8"8!9"8M4:B8=4:>8=4S6M4>M428x2{8’4Ͷxڍ--i4yx2z8͖8!8:{8MҌ4:8‰4-7"~8͟8}m"|8"r8_7*~884 ·4> 4 ʢ44 4 ʢ47â4{ʢ4{xmÜ4{4xm78"t8op738͢72q8"x8:{8=5X57ͶxW5 x{65y}yI5I5765xxm!q845!9"v8{7z7!4@DMͧ7ͭm!q848 A2A8*58"C8!B84!e8wE:62E814!"?828ͣI!^3~65t:>85qREADqaborted ?6S$F##Ͷ6?6!R3~6¨5!e8~=6E:~68e:͇zڨ5:9 26t>[\szr>]\s(tg+Ҩ5-è5:=8O6*C8"58è5S6"616*98*78op͵738͵78_8W!4@DMͺ7*6x28*58:A86872A8:A87=2A88"6:8/28>"!8456! 7{ 7:>8=>{7͗76"58 8::7R;N#~#fo ʋ7~#͗7.7͜@ګ-!48t7O*;8 `7vm+_@M7vmO+ ʋ7vm+͗7f7 8:«- 8}6͗7}7 8}Œ76:8ں-O x7è7O x8û7*|8|7+"|8xm+:>8=8q Out of memory! *8*~8|8ð-:A8ʫ-=2A8vm+:>8*~8͜O!"~8ɯ2=8=MEX !88å8!88 A:B8?6:B88: :B887x2828"8:8G*8:{8,x;tG:[;R;#^#Vxͣw6 #~w5AA?y;%ZtxJ;;J;E;͇z;Ͷxy;Ͷx ;Ò-:R;#;wG#~#fo AT!#; B >  ʦ-> > !=B<~#=~:i3+=p=+=* " x 6 #!=:8 !?@: 2n3ͶxH=: =?Ͷxx==?h=!< ~6͖>wq not found7x=?ڭ=Ͷxڧ=?=!>:?w! !?2 A.?:?#ʍ-͜@ҍ-ͯx!]?@?ڏ?!? A?=͐=>>2?Ͷxzڒ-2?* :8 O͓I1> =(tx(t: 7q[phone library empty] ~ >: ‰>x|>:< >U>>f\qPhone Number Library>~\(t:< ‰>x>(tÕ>q|  zrq = 2zr: ¶>:< ʿ>Rs~5t#?ɯ2?:8 O* !? > V@>>:?>?Nwy#>+?0x =?ʍ-y ?Í-!?26 #1??!?* :8 O V@>?)A H?7 q =++ Phone library full ++ 7696-6162 F##?~#fo##?F## @@ _~&@y<#DM^#V`i@R@^#V###"T@DM*T@v@/@>%?^@#V@Nwy#e@: O~ʗ@5AG5A@#z@#‘@7#0:?0>Ͳ@=¨@ɷ|g}o>2_3ɯ2_3{/_z/W@ !<=@@@}o|@}o|gA||76# 6 # A6#A~# AɅo$}$.a{_~# x>A5AF# OA7o& )^A^#V#F#w#oA##~#foNs#Fr#yx`iNs#Fr##q#p^#V#N#F{z ##q#pW$!\)yZz:] ʒ-3K<ʵ-!:A:3S>AAU!B8:9 /A(tA(tA"d zB: :Q32 . xBB}o͕Bi͕B"xBj͞B ͚BA=BP͚BqM z=G!B)Azr ͚B͞Bq,hq(t2 *xB:qNo CLOCK module 7͞B:{\s&} ҭB.hqhqJanFebMarAprMayJunJulAugSepOctNovDecͶx0C? CB͇zBB<ڒ-.8REAT30C\͚x!> \͜#qGlobals:!!>  A~\s##C!!>  A A!Z:B8CbK! ~aC6* bK! ~tC6ObK bKͶxڮC3yڗC:ʗC …C6:#6 y283ͿCҮC_bKM-W$!\)y:[C_ bK:\=_bK7q=++ Can't LOG:~!DC!D rq file open ++ TERREA:- ʈ-* N#$B2R3x7eD?x7?!|D>!xD.\s#¶F(tͪ8q READ terminated. qzڒ-2 *W dj=\͚x!e~ G6C#6O#6MͯOWP*g3#"g3>2i3=q.Aͦ@DM!\JJ"g3TG r7͐PW$!\)yZz:] ʒ-3K<ʵ-q Erasing: >[f:3V±Gq Ok? ͍IYʱGq NOT ùG(t3KqErased *8++!H)y!3~#-!H[~!H>A!H[HH~<-w~#HH~-w~3K<ʵ-HbK<ʈH:B8€Hq File exists, erase? (y/n) 6I5AYzHNVH\sq NOT erased\s(tHbK!Hm >A3K·I(I6I2^3ɯI:B82JU!q[ANY KEY]6II>I2Jq$q *[ * >2J:J<2J*JFJ7JzJ J7̓Jѷ*NQ:Q XJaJ͠JXJ*HK:Q XJ7?>!J͌{XJlJ7:Q >aJ͠J>!J͛{*J|=J¨JFJ̓JïJͨJx4!J͌{*JyԇͳKbKJ>)A xJq ++ DISK full: saving partial file ++ ͓P7bK\bKy!"#$9K³K"3K"323=|KgoKͳK:3yʙKªK<ʪKL<K*3KyK"  ͳKͳKgo\ͳK] ͳKK bKbKq=++ File:*3͡rq not found ++ 7;p+KͲL: RLLZL;LsL,YCreating:bKdP,YExtending:>2]3#bK!!N#F p+q!bKGn Lɯ! w! w+~#7~ 3M AIM> xO2O>\!>2O\;LNp" 6 #62 : MM-* ͇z>-N#F#^#V!9Oq#p#6"O+K>2 O>2 O: O7?MM_<2 O!~*O|7+"OO!bK-!9O4M#4MEX.LIB: * _MO8! OF#8͚x8;LN+KͷNNN* +"O: N*+"O* !iN*O|ZN>2 +"OͷNN!~~N> )AiNKN*O@N#~#~ ʤN ”N> )A AObKѷ7ObK2 >7> 7: g.ò@sMEX.LIBMEX LIB_ : O¥M:OxO]O_<2O!~:OxO! ~:O7ʘObK\bKʘO7>2O\: OʩOObK\bk #~?P O ¸Oy 0PͲ8P3KqFile exists. Erase? (Y/N): ̈́IY7(tbKq=++ Illegal file name ++ 7:\s\͚x*[dAZ :! QYA"Zp"Zɯ2 y>)Q2 ! ~6Bʒ-:] :ZtQġXͩn![Y Aկ2]3: IJO7L>2Z:` 2Z: :{ !9"YE:ZĉV7Rͺ@-%> %oW ØQ % R3%@*Y(IQIGͮRBRFJ̓JG:2 Q:Q: G͟RaR*Zp#"Zx͗qRs!Z4~ R:ZG>4As7R3R~# (R>.~&R\sR(t!Z"Z2Z͹J! : ͋W>  ! :BR:kRx:|Rx͐R|R ͋W: ͹J>  |R  * |:+ iY* R½Rɯ2YRR:R!Y~6: R7?67ɸSv@7x͍k?#> %+i7x5AGEQ?DSͩT~S#~S##~S#~T#~T#~TBvjq Keystrings: ͡kq Terminal Control Sequences: : <™SqALTÝS=ͽqq + E: Exit terminal mode ?: Print help msg ͩT+TxS~^#V+ͮq#S̀#éQ:!Z~/w(tVT!Z45#TV2Z͉V9TNT_TuTTTSend BREAK to remoteDisconnect modemToggle printer on/offMemory-save onTransmit fileMemory-save off@NPSTU: !T! !\A!lAq File name? (RET quits): W$ͣw#~ʃU#G8\͚x3K<ʉU!:4UqWant time delays? (Y/N): ̈́IN4UAUE*YØQ2d3(t+KbK3KfU͏UfUJUq [Transfer Completed] ͨJïJLT!U~ͬUͣI7#”U ¾U:¾U\s:8V=J¾U\s4 :GV:d3 UU:U: O:d3V U!:%V!: %V: %V!;$:8V{*VFJ̓JGVFJUV̓JͣIGVÃUq =[Term:: ͽqq + "?" for help] q ASCII capture:ZVqON G!>:O* v@qOFF q --> NoVq -->qTerm-File Active qPrinter buffer:ZWqON qOFF :Zxn> ?W> \sͫV:SWW͜W;Yhn:Q kWJ|kW VWW:!Z~#bI!Z͛{OUIxʙW: xts$WWW:aJoW*ZͲ@*Z}|ҦWGWW:Z!Zx͌{>W>:W7ͨJ4* ;$DMFJX̓J xW7* ;$DMXJ'X> xX7ͶxXGY:]3Xq Delete APPEND file (y/n) ?̈́I(tYXqNOT deleted )YErasing: YbK2Z2ZðnY͸n¼XqFile empty; 9X)YClosing: nXhn͔XYbK<7?q++ TERM file close errorTYPE LU300.DQC :::::::::: LU300.DQC :::::::::: Documentation for LU.COM and LRUN.COM | This document applies to version 3.00 of LU.COM and version 2.0 of LRUN.COM. Copyright (c) 1982, 1983 by Gary P. Novosielski All rights reserved. Permission is hereby granted to copy and distribute this document for any non-commercial purpose. Any use of this material for commercial advantage without prior written consent of the author is prohibited. INTRODUCTION Library Utility (LU) is a program to allow combining of multilple files into one larger file. It requires CP/M version 2.0 or higher to run. | Version 3.00 replaces version 2.11. The major revisions are | the addition of the -b, and -n operators, and the addition | of CRC calculation and checking to improve reliability. | Error reporting has also been improved. Major revisions are | marked with a vertical bar (|) in the left margin. The directory information in an LU style library is contained in the same file as the data files, or members. The amount of space to be allocated to the directory must be specified by the user when a new library is created, but can be changed when the file is reorganized. The size of each directory entry is 32 bytes, which means each four directory entries take up one sector of the library file. Currently | only 18 bytes of each entry are used, with 14 bytes being reserved for use with possible future enhancements. The directory itself uses one entry for control information, so the number of directory sectors needed for a library of m members is (m + 1) / 4, rounded up to the next whole number. The user need not be concerned with this discussion, as directory size is calculated by the program. All directory sizes are input and output in terms of entries, each entry being a potential member file. The program adjusts directory size to an integral number of sectors. LRUN.COM is a small program which allows running a .COM (object code) file member directly from any library, without having to extract it to a separate disk file. Page 1 of 14 83-08-16 Documentation for LU.COM and LRUN.COM WHY USE LIBRARIES? First, a library file usually takes up less space than the total of the individual member files which went into it. The reason for this is that CP/M allocates disk space in fixed blocks or groups, typically 2k bytes each. Any space after the last sector of a file up to the next 2k block boundary is wasted. The same files in a library use only the number of sectors they actually need, and though the library itself may have a partially wasted block at the end, and requires some space for directory information at the beginning, the net effect is usually a saving of total space. The best results are seen when many small files are combined into one library. Second, a library file makes most efficient use of the CP/M disk directory, since it is treated as only one file by CP/M regardless of how many members it contains. Third, libraries can aid in transferring packages of software from one system to another using XMODEM. Only one file is transferred, eliminating the need to run the XMODEM transfer program several times, the chance of overlooking a needed file, and the problems of naming conflicts, (such as READ.ME files) among unrelated packages. WHY NOT USE LIBRARIES? There are some very good reasons for not using libraries. For one thing, files within a library are not available to most "normal" programs. If a frequently accessed file is placed in a library, it will have to be extracted from the library to its free-standing counterpart before it can be used by most programs. (.COM files are a notable exception to this, because of the availability of the LRUN command, covered later.) Libraries can actually waste disk space. When a disk file is erased, CP/M returns the space formerly used by the file to the free space pool for use by new files. When a member file is deleted from a library however, the space previously occupied by the file is not useable. The library must be reorganized to make this space available to CP/M. While this is easy to do with the LU program, it is not automatic, and if the situation is ignored, large areas of disk can be tied up as unproductive "dead space". Page 2 of 14 83-08-16 Documentation for LU.COM and LRUN.COM HOW TO USE THE LIBRARY UTILITY LU has two main methods of operation: interactive, and parameter driven. In parameter driven mode, the program takes its command inputs from the command line when it is first invoked, and when the entire line has been processed, execution ends. In interactive mode, the program takes its command inputs from one or more input lines from the standard input device (typically the console). When all the command inputs have been processed, the program reads another line. This process can be repeated as long as necessary. Input from disk files, C program "pipes", and the XSUB facility are also supported for more advanced applications. Interactive mode is probably the best way to get to know the program, because the effect of each action can be immediatley seen. To start an interactive library maintenance session, just type LU on the command line with no parameters after it. All the methods make use of similar syntax: Each input line, regardless of its source, is scanned left to right. All alphabetic characters are converted to upper case. If the line contains any blanks it is separated into multiple individual input strings. These input strings are divided into two classes: operators (sometimes called tags, or options) and operands. An operator is defined as any two character string where the first character is a minus sign. Operators tell the program what to do. Valid operators are -a, -b, -c, -d, -e, -l -n, -o, -r, -u and -x. Anything else with the same form is an operator too, but an invalid one. Operands are any other input string. | The most common operand strings are names of files | which are to be acted upon by the previous operator, for | instance, added to or extracted from a library file. These | are called filespec operands, and have the following general | form: [u/][d:][filename][.[ext]] where u is an optional user area prefix. It is a decimal number from 0 to 31, and if present, must be followed by a slash (/) character. User areas greater than 15 should be used with care, as they cannot be accessed by any of the resident CCP (Console Command Processor) commands of CP/M, such as USER, TYPE or ERA. d is an optional drive designator. It is a single character in the range of A to P, and if present, must be followed by a colon (:). filename is a string of 0 to 8 characters, following the standard CP/M conventions for filenames ext is a string of 0 to 3 characters, Page 3 of 14 83-08-16 Documentation for LU.COM and LRUN.COM following the standard CP/M naming conventions for filetype extensions. The period (.) after filename is manditory if ext is specified, and optional otherwise. The names "xyz" and "xyz." are equivalent. Ambiguous operands are those which contain the characters "*" or "?" in the filename or extension fields. Examples of | valid filespec operands are: foo.bar 3/b:test.fil 3/test.fil b:test.* test.fil test. test z -z. comm?nd 0/ b: 5/a: Note in the example "-z." the period, though not required by the syntax of a filename, is essential to prevent the operand from being mistaken as the invalid operator "-z". What action is taken upon the operand depends upon which operator most recently preceded it. If no operator was entered, or an invalid one, or one that expects no operands, the operand will draw an error message, but will otherwise be ignored. When running interactively, LU prompts for the operators and operands. You can type as many inputs as will fit on the line, separating them with spaces. The end of an input line has no special significance. The most recent operator remains in effect, and the next line can begin with additional operands for it. The prompt displayed for each input line has this form: -m u/d:> where m is the current operator in effect u is the current user number in effect d is the current default drive For example the prompt might be "-E 0/A:>". This indicates that the -e operator is in still in effect; if an operand is entered it will be interpreted as the name of a member file to be Extracted from the library. It also shows that the current user number is 0, and the current drive is A:. Any operands which are entered without an explicit user or drive will use these defaults. The defaults can be changed at any time with the -u operator, discussed below. Page 4 of 14 83-08-16 Documentation for LU.COM and LRUN.COM When the program first starts up, the prompt begins with "-?", which means no operator is currently in effect. In this case, the only valid input is an operator. Any operand will be rejected. Page 5 of 14 83-08-16 Documentation for LU.COM and LRUN.COM SUMMARY OF OPERATORS In this discussion, the "open library" refers to the library name specified as the current library by using the -o operator discussed below. The default name LIBRARY.LBR is used whenever an operator needs an open library, but none is currently open. -a add files to library. -a causes subsequent operands to be treated as the names of files to be added to the open library. Ambiguous operands match all disk files which qualify according to normal CP/M wild-card conventions, except those with a filetype of .LBR. Explicit user or drive specification on an operand causes that area to be searched for the file(s) instead of the defaults. | -b Buffer size set. -b reads the subsequent operator | as the size (in sectors) to allocate for a disk I/O buffer. | Normally, this operator need never be used, since a 64 | sector buffer is assumed if not specified. A full discussion | of buffer size considerations, and their relation to disk | access speed is beyond the scope of this document. | Generally, a larger buffer will increase the speed of | adding, extracting and reorganizing, but this widely | variable with different hardware. | Bear in mind that a large I/O buffer will decrease the | size of the largest library directory which can be processed | by the program, since the directory buffer competes for | system memory with the I/O buffer. Conversely, setting the | buffer to a value less than 64 will increase the maximum | directory size. This operator can only be used at program | startup, before the first library is open. Its operands are | not filespec operands, but simple integer numbers in the | range 1...255. -c close the open library. If a library has been opened with the -o operator, or if the default library LIBRARY.LBR has been opened by some other operator, -c causes it to be closed. Otherwise, it has no effect. Normally this operator need never be entered, since any open library is automatically closed at the end of the session or when another one is opened. It is provided for situations where it is desired to change disk volumes without ending the LU program. Before removing the disk containing the library file, it must be closed. After mounting a new volume, the -U operator (see below) should be used. The -c operator expects no operands. -d delete files from library. -d causes subsequent operands to be treated as the names of members to be deleted from the open library. Ambiguous names match all members which qualify. User and drive specifications on operands are ignored, since the library members are obviously in whichever area contains the open library. -e extract files from library. -e causes subsequent operands to be treated as the names of members in the open Page 6 of 14 83-08-16 Documentation for LU.COM and LRUN.COM library to be extracted to normal free-standing CP/M files. The original copy is not deleted, and remains in the library. Ambiguous operands extract all members which qualify. User or drive specifications on member names cause the output file(s) to be placed in the specified area rather than the  default. Any existing file with the same name will be overwritten unless it is protected by having its Read/Only attribute set on. -l list current library map. -l causes the directory of the open library to be listed on the console. The member names are displayed, along with their index (starting record within the library) their size in sectors, and the | internally calculated CRC value. Also, information is displayed about the number of sectors in the library, and how much space is used and unused (wasted). The number of active entries (members) in the directory is also displayed, as well the number deleted, free for future use, and the total number. This helps determine whether the library needs to be re-organized to free unused space and deleted entries. The operator -l expects no operands, so the next input should be another operator. | -n Name a member. -n causes each subsequent operand | to be treated as a request to change the name of a member in | the open library. Since both the new and old names of the | member must be given, a special double operand format is | used. It is essentially two filespec operands "glued | together" with an equals sign. For example: | newname.typ=oldname.typ | would cause the member OLDNAME.TYP to have its name changed | to NEWNAME.TYP. If the old name is not found in the open | library, or if the new name is that of an existing member, | no rename takes place, and an appropriate message is | displayed. Operands which do not conform to the special | = syntax will also draw an error message. -o open a library. -o causes the following operand to be treated as the name of a library file to be opened for use with subsequent operators. If there is already an open library, it is first closed, and the new one opened. If the new library does not exist, it is created with no members. Ambiguous names are not allowed. User and drive specification can be used to override the current area. The file type may be specified, but if not entered, defaults to .LBR which is strongly suggested as the file type for all library files. You will recall that files of type .LBR are ignored by the wildcard matching of the -a (add) operator. This prevents libraries from being accidentally added to other libraries, or to themselves; a situation not unlike trying to drive a truck up its own Page 7 of 14 83-08-16 Documentation for LU.COM and LRUN.COM tailpipe. If for some reason you want to add one library to another, be my guest, but you will have to specify the name without * or ? characters when adding it. -r reorganize library. -r causes the currently open library to be reorganized. First, the directory is sorted into alphabetical order, and then all active members are copied to a work library which is opened on the default user/drive. The size of the directory may be changed at this point by specifying a greater or smaller number of entries than were present the old library. The directory will always be made large enough to contain all the active members of the old library, so it is safe to enter a size of "1" to make the directory as small as possible. (See Specifying Directory Sizes below.) When reorganization is complete, the old library is deleted from its user/drive area, and the work library in the default area is renamed to the name of the old library. No backup copy is retained. The newly reorganized library remains open for use with subsequent operations. | Note that although the newly reorganized library always | ends up in the default area, the default area can be changed | with the -u operator. (Do this first, before using -o.) | Also, the old library can be opened in any area, by using | explicit user/drive specifications. The net result is that | it is possible to reorganize a library from any desired area | to any other area. Reorganizing a library to a different | drive is usually a much faster operation, and is manditory | if the current disk does not contain enough free space for | the old and work libraries at the same time. -u Use new default area. The -u can be used to change the default value for user number or drive. It causes the user prefix and drive spec of the following operand to be used as the new default area. If the following operand has no user prefix, or no drive spec, the corresponding default is not changed. (The filename and ext sections of the operand must be absent.) If a change is made, any open library is first closed, and the disk system is reset. Thus feature allows newly mounted disk volumes to be accessed for writing; CP/M causes new volumes to be Read Only until the program performs a disk system reset. The -u operator also affects which area will be used for the work library during reorganization. See the -r operator above. Note: If directed I/O is active (See advanced features below) the -u operator is treated as invalid. Due to some unfortunate assumptions in the C run-time package, the default drive cannot be safely changed while directed I/O files are open, and the BDOS gets confused by the disk reset under these conditions. -x eXit program. -x causes the interactive mode to be turned off, which means that the input line containing it will be the last line scanned by the program. It does not Page 8 of 14 83-08-16 Documentation for LU.COM and LRUN.COM cause immediate program termination, and if any more operators follow it on the same line, they will be processed normally. The program terminates only after the current line is fully processed. Any open library is then closed, and the user number and default drive are reset to the values they had when the program was originally invoked. To preserve compatability with earlier versions, the program will also end if an empty input line (carriage return alone) is typed. SPECIFYING DIRESies, 5 free. This means that 5 more members may be added before the directory becomes full. When the directory is full, -a becomes an invalid operator, and the library must be reorganized to add any more members. When a library is created for the first time, the user is prompted like this: New library COMMAND.LBR. Allow how many entries?_ Any number from 1 to 65535 is valid. The actual maximum is determined by the amount of free memory available on the system in use. Directory size will be rounded up to the next whole sector necessary to contain the number of entries requested. This number will remain in effect until the library is reorganized. Since the directory itself counts as an entry, one entry is added to your response before the size is calculated. Therefore just enter the maximum number of member files you want the library to be capable of holding. The maximum number of member files is also constrained by the amount of available disk space. If the disk space runs out during an add, the name is not added to the directory. If a multiple add is in progress, due to an ambiguous operand, the remaining qualifying files are still added if possible. If any of them is small enough to fit in the remaining disk space, it will be added. If any sectors were written by a failed add attempt, and then never utilized, they remain as unused sectors, and the library should be reorganized. PARAMETER DRIVEN METHOD All of the information needed for a maintenance run may be specified on the command line. The operators and operands are entered, separated by spaces, after the LU command, and the operations will take place without console intervention, except in the case where the directory size for a new library is requested. The syntax is: Page 9 of 14 83-08-16 Documentation for LU.COM and LRUN.COM LU [ [ ...]] [ [ ...]... where square brackets indicate optional parameters, and: is any operator. is any operand. ... indicates that the preceding parameter may occur multiple times. Any names occurring prior to the first operator, or following an operator which does not expect operands, are ignored. |  CRC CHECKING | | Whenever a new member is added to a library, a value | called the CRC (Cyclic Redundancy Check) word is calculated | and stored in the member's directory entry. When the member | is extracted from the library, the calculation is done | again, and compared with the saved value. If the two values | do not match, it is an indication that the member was | damaged in some way while it was in the library. The extract | will still be performed, but a message warning that the | extracted copy is questionable will be displayed. | This feature is especially valuable for libraries which | have been created on another system and transmitted by phone | (possibly several times) before you receive them. It helps | insure that the extracted files are faithful reproductions | of the files originally inserted before transmission. | Members added by LU versions prior to 2.20 do not have CRC | words. The CRC check will be bypassed when one of these is | extracted. | The CRC word of the directory itself is checked when | the library is opened. A message warning of a CRC error will | be displayed at that time. Libraries modified by LU versions | prior to 2.20 have no directory CRC word, and the CRC check | will usually be bypassed. If a warning does occur, it will | not adversely affect operation. | When a library is reorganized, CRC words will be added | to all members, if not present. CRC errors which occur | during reorganization will cause the program to abort. The | damaged member must be deleted before the library can be | reorganized. | Libraries created by this version of LU can be read by | all previous versions. The CRC values inserted will simply | be ignored by early versions of the program. Page 10 of 14 83-08-16 Documentation for LU.COM and LRUN.COM  ADVANCED FEATURES Input from BDS C "pipes" or ordinary sequential files is also possible. The filename is specified on the command line preceded by a "<" character and no intervening blank. Example: LU ". This applies to parameter driven as well as interactive (including "piped") input. Examples: LU -O 3/SPECIAL -A B:ZOT.COM >20/C:LOGFILE.OUT would add the file zot.com from drive b, current user area, to the library special.lbr, in user area 3 on the default drive. Console output would be written to a file called logfile.out in user area 20 on drive c. The placement of the output name on the line does not matter and except for turning on redirected output, it is ignored by all operators. LU B:RECORD.DOC would take interactive commands from the file batch.in and write console output to a file called record.doc on drive B. Normally, console file output is also echoed on the real console, except when input is also redirected, as in the last example. To force visible console output when both an input and output file are used, the ">" character preceding the output file name may be changed to a "+" like this: LU +RECORD.DOC prompt returns, do not hit RETURN. Instead, abort the program with Control-C. This will cancel the program without updating the directory, and the original members will still be present. Here is another caution. Since the entire directory must fit in memory for a library to be successfully opened, it is possible that a huge directory created on a your system will be too large to fit in memory if read on another system will less memory. This should not be a problem with a library of under a hundred entries. To give you an idea of how much elbowroom you have to work with, LU displays the highest memory location used each | time it terminates. This will vary depending on the size of | the disk I/O buffer, as well as the largest directory used | during operation, and will be slightly higher if interactive operation was used, since a console buffer must be allocated. It does not include the stack, which grows down from high memory, and is allowed about a thousand bytes of space for subroutine parameters and temporary work areas. Page 12 of 14 83-08-16 Documentation for LU.COM and LRUN.COM THE LRUN COMMAND The LRUN command was created for those of us who have lots of command files we like to keep on line all the time. We all have some favorite little .COM files are very small programs, but having a lot of them on disk eats up file space at an alarming rate due to the fixed CP/M block size. Put them all into a library called COMMAND.LBR using LU. You can then run any .COM file directly from the library by saying: LRUN The full syntax of LRUN is: LRUN [-] [] Where: is the library to be searched. The square brackets around - indicate it is optional. The - character tells LRUN that what follows is a library name. It is not an actual part of the name. Don't leave a space after the -. If the first parameter doesn't begin with - then the default library COMMAND.LBR is used. If a drive spec is given, such as B:, then only that drive is searched for the library. If no drive spec is given, the current area is searched first, and if no library of that name is found, the default area is searched before giving up. The default area is set to 0/A: in the distribution object code, but this can be changed to something more appropriate for your system by changing two equates in the source program and reassembling. LRUN does not otherwise support user numbers, and will not recognize the "u/" syntax on its parameters. If a name, but no type is entered, .LBR is assumed. is the name of the command to be run. No drive spec is used here. The type defaults to .COM and need not be entered. is a the normal (possibly empty) list of parameters which the .COM file expects to find on the command line when it is run. This list is parsed to the required file control blocks and command line area before execution begins, so the program will not be aware that anything cute is going on. (Thanks to Ron Fowler for supplying the code which makes this possible.) LRUN EXAMPLES LRUN ED FOO.BAR the file ED.COM is searched for in COMMAND.LBR on the current drive, or the A: drive. If found, ED.COM is loaded from the library, and FOO.BAR is passed to it as a parameter. Page 13 of 14 83-08-16 Documentation for LU.COM and LRUN.COM LRUN -C:SPECIAL LU -O COMMAND -A A:*.COM the file LU.COM is searched for in SPECIAL.LBR on the C drive. If found, LU.COM is loaded, and the strings -O, COMMAND, -A, and *.COM are passed to it as parameters. LRUN - -ZIP the file -ZIP.COM is searched for in COMMAND.LBR on the current drive, or the A: drive. If found, -ZIP.COM is loaded and executed with a blank parameter list. Since -ZIP.COM begins with a -, the extra - followed by a space was needed to act as a place-holder for the library name. Compare with: LRUN -ZIP the library -ZIP.LBR is looked for, but nothing else happens, because no command was specified. LRUN with no parameters at all, causes a screen of help information to be displayed as a memory refresher. Please report any problems or suggestions for enhancement to me via CompuServe CP-MIG or EMAIL, user number 70160,120; or by phone at (201) 935-4087, voice,  evenings (eastern time) or weekends. Gary P. Novosielski Page 14 of 14 83-08-16 [UTILITY] 00:13>he original M is searched for in COMMAND.LBR on the current drive, or the A: drive. If found, -ZIP.COM is loaded and executed with a blank parameter list. Since -ZIP.COM begins with a -, the extra - followed by a space was needed to act as a place-holder for the library name. Compare with: LRUN -ZIP the library -ZIP.LBR is looked for, but nothing else happens, because no command was specified. LRUN with no parameters at all, causes a screen of help information to be displayed as a memory refresher. Please report any problems or suggestions for enhancement to me via CompuServe CP-MIG or EMAIL, user number 70160,120; or by phone at (201) 935-4087, voice, <LRUN Ver 2.0 Copyright (c) 1982 Gary P. Novosielski $!9" ͗*| Wfx ~#[![bxʓ {†~#o}oҏu33o!j"   2͕ ![ ![ ![< !~6 ,!~, > #,,*|,*+Y|N+,!Jo E ^^#V"#^#V" z/W{/_{ll!^#6#~ ʭ-#^{^~#x2!N[!\^l^ * Correct syntax is: LRUN [-] Where is the optional library name (Note the preceding "-". ) If omitted, the default command library is used. is the name and parameters of the command being run from the library, just as if a separate .COM file were being run. $ !{\#Ql͓͆ͣ6# 6 #s6#|;ȷ#Æ#~+:~@##ͽ~.#yʷ íͽ#* ½>? #~.,; :=<>ȷͭCan't run under CP/M 1.4$ͭLibrary not found$ͭName after "-" isn't a library$ͭCommand not in directory$ͭNo program in memory$ͭProgram too large to load$COMCOMMAND LBR:_    ...ABORTED.$ $; :=<>ȷͭCa*>og)))))))͍!,҂*"2!"*}ʃ+"*T] "!_*#",>2!m"Ã!" :_  BAD LOAD$$$$ SUB  ...ABO D  * Correct syntax is: LRUN [-] Where is the optional library name (Note the preceding "-". ) If omitted, the default command library is used. is the name and parameters of the command being run from the library, just as if a separate .COM file were being run. $ !{\#Ql͓͆ͣ6# 6 #s6#|;ȷ#Æ#~+:~@##ͽ~.#yʷ íͽ#* ½>? #~.,; :=<>ȷͭCa'=!5Q\4 :o&##w"w!! "* # q+ #12wͣͣͣͣͣlXͣ͢E<`ͣͣͣͣͣͣɯG^!$s#r#> >>ɯ> !~wɯ>vɯ>v@*}=2S)))T]))w"!p#p#6 #~#w#OGi`ws#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# ͣͣͣp#p#T]s#r#s#r#!4!4!"!P"!"!F"!o""!!"">@!"@>>>>>!>!" !"> >} > >} s4{0"6*2*6{4 \ ķ**##[WRWym(Rn(T=(+('( (=( 2<3{(8:@!<6 >S8S:*0| s0"2{0*26;m*n*ͺw*͜(ͺ͵ͺ͵ͺ͜ĺ:G2:(G:_:WL*o*iVb*l*{0*2iͣ h<(* *>2!" *̇*O2**W[.RW!>+r+s+w"2!"8":Yf M**:_*>@ô*8|{0*:|{4*6>'d  R0y 0_*Nk~( =(=(:NReaNWrit NNot readN error, Drive:~AO\~(DN, Track:nfN, Sector:nf^Vz( N -N (Retry,~( NIgnore,NAbort)(obO:Ǒ:=~:<|͎o&͵͕A̓:̓O C#"!~('6C( *#~#2Nz[ O apna͐ : !~ 6C#6O#6Mq<=E!\6# 6 #6# (y<(a͐8\͇͐8l͇nK8yb{< K0{=ր2|:=2_K0Ql͉: :( :<͕^̓̓! !6# 6 #!6 ?( ??.(7:( !?ȷ:7x7:A?<2(:.*(w#x:796?#[7[;7= O:79yb[=[SO75*N#":7ȷO2*"O:w*"> ̓> _  !~(#  ( ]Tq̓|(*~˜N#:0O[yS!63C?(-O! w ####:w#qy(#*!12*#wO!^#V+R*#~:͔!!Fˆ>N ͭ ? :͔/!ί*q*̷!~1 ˎ2ͭ ?(!,2*)0! ~#fo~=k}/_|/W :!~) 0Ws*:<=_o*!9u5t6ͣͣe"~.Zf͊̓n/f0*ͭ"u/t0u1t2͑t.Zu Z*n5f66.n9f:|(ͣn3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Zͣ~/!)18I!7O ^#V|fIΔΣ%{eЩд ޶ц2k3ޚmӪTӖ8CNV^iq0IQ[eޣ;1[&k EͅØͣշ(ͣ9(!ͣշ ̓ ~(ͣͣͣ>Zn~@]ͣ˜ͣw.̣ͣvN++~˾ͣ£~@i(6@͈w@̓pXu1t2-ͥ/ʘ4̓ͅ~? wk=#?u̓#~@ w#ɷ˜͉4&}w.}ouZG6Øj^ 1 "ZVģ 6=8avĜ̀ Oy jۯIз Aͣ>84 "շ ,ͣwTз շ> ͣ6Dط 4ØIз˜ͣ>8m "շ eͣwTз M@շIJԷ ;ͣͣ Cͣuط :4շ -ͣwTз շIJԷ @ã6w.6Ø]ͣã4~ >w##4<͠(<ͅ87̓˾ͣ (շ ͣ #̓ #˾ͲԷ ãͣ>Ø͠ʘqͤʘGژ^˜˜ͣq ͉pͥݷ/ʘ~wy6=q ~w(x=(#?(͉Qͥ˜y=NwFyfpy~w?(ͧ/wẁ~w?̓  Gژ^˜ͣ̓## ˾0#=̀ 8( շ> 7ͣDØژ(շIJԷ> ͣͣ˜ͣuطʣw.~hw~gw~fw]ͣ7w~wh#~+w#~#~G~#O>>~Ox ##y>7ͣwp##q=~wf~wg͠ʘ]گwfwgwh~@^ ̀ w.("Zn(:~@(46@^ + ~ nˮͣ(ͣ(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh~^##Vg{怄O>G{GzGz_>#q#p#wbj8͸ ~8# s1r2͑~w/~Øbnf͑~w1~w2~w/~w0~Ø~1͓k[42()~1ͣѷ˜52 }/o|/g"{ozg"{Oz(>g~1w6ͣ̓,>#| 4Qַ~@n(̓# ~##~͟8w###6ͺ~=د#(ͣ###> w̓## #˿##~(H#(>̓1pַ ̓ ͟8###w=˾?n6k~@̓#ͬ|+Nk6k͐qkͳ͐(c1)8:!"! ͽ+ͽ#Oͧ/ݦw_{(*|g}oR0+͉͐zpͥ'8 p1~(9x(((( ͂(~(T(N͂(ͧ/O =#˯~0.~kͬ|< ͶY^( >wAwB~k?O?^CVD͇J( ~k?(1sCrDnEfF!uEtF~O* )"Y͇=, #(>>ط~#͓O ?' +  )###4ͺݦ !+++ ͺ/OG(6"~޾8=)))0(r+s͍! ~#͓2!w#r#sZѯ !RDM!x(6uu't())s$r%w& G)ͺߦѳ_NͧݦG <8= ̓ ( ^(#Vz~1w#~#ͣ(6~#Ͱ޷(< Ô~#ͫͫˇ+R:bk##B8B0! <{_G~  (w=x~ ##~Z~ =̓#$~# d # yDIRDSK͇ܷG 6 #6#6#6#6#6#=ͺ6Z G46 8(6=Z +͸~=w> O6 (6=^͍'0%~( avč~86=͇ܯ6=>7~(0 '0!~  =6#>7ͺ~~  N###~< =y >ɯ~#͓_!~#k:o:>7 ~/ط Z#<_#{ x7NF >8= ɯwAwBJZݷR+B0JRn& )= #! ^#(V#z]~?(~ ?>#w#w ͺOy( G7~=~ =nAfB͇!( ~k?(1+uAtBnf!|~1w=~=Ø̓|~1 ~@Z~(w@>Ø^1JEG)us#r#wØ̓u7t8̓u9t:Zv 9~1(Zn ,w@0ZZZZZ:w@:w=>Ø~1w[Oz<(!ͪOqn7f8|>̓~?(=~=k ̓ ~    ̓~nLfMuLtMnNfOuNtO^PVQsPrQ̓s1r2 :=X~=_sE_˜w̓7!"GFv((*GRSG( *I"K6 *K4*I6#"IFv8*K~#"K([o& =)u t!^>V?sr8H*W+++R8r?~$w~%w~&w6”Rͧw.RE̓"I"Ka̓!7!Ef!R^#V+R( :M(G72O2No:Mo:Ng͑!|Ø~1ͣ~1͓OF2}o|g"Pˀ!V}o|F^#V!VR(w####~ ax rv Aw~=O r~(( Wrp(1h " [PykWx1=x(4@(x`` )!Z ^#Vz(y~ p+p! p!V^#V!VR( ! ˶@`Ôm i!V^#V!VR͌(a####N#͆w#~#> ##q#~*8>)~>r~˾h~6m~w 6!:Mݾ06h~Ͱ޷(< (h~#w# ut=W1Ô!6!R1!V1ww1 u+t,   n+f,~#Ó*VVR̓Z~(1͌`~wrw.~̓ ͌s#r^ V h~0>Øw6~8#=nN F! ~=8qpn f!^V~F_~ (͆ͳ("*"> ̓|(h C*|( O*OͿ!Z ("6!%Z "̓ !wE̷d>Ø!1w####͆ͳ*####ͤ*|(ͤ͝*|ĝ"++++E*|!^#V+R!""F#6#DO(6 0(. (/(2(.0q#*A͑*?u1t2:>w0!>4~<6#4~<6#4~6[A!RSA!I+̓|"G!E5[I!IR(^#V# ##~*C#"C:E*G+"G|!E4SM!w"O!w"Q6# x {O*Q*MM*O̓w͑Ø"[R0S[!"_#"]!S^#V!SR('+V+^*[##R(58*_R8S_"]*]|( ![_R0 +r+s[[!*W[[R>KYB"Ws#r#̓"]!S^#V!SR(U*]+F+N R(+V+^K] B(+V+^## DM*]+p+q*]+F+N+V+^ s#r#*]+!S^#V!SR*WR +V+^##"W~#<(= ~# ~ xD##>)))))))'d  R0y 0O\N#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#rTN˹\~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!R:Ø~12!UE}(7j'^=UEØ!UE|(7ju.t0Ñ^=KE=)!s#r#^=JE+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p̓)0 UEq̓6#vͭwo&@) s#rͭ/wG7!{aMR( (B=(?R!~ 5:ROR:RR!~OR~#N !{(  : y2!!T!1s~(=(Q===6> 2|xː& (x :> 2|:@ 2|:@<>& [( xc !nf"nf"n f "2͑<~(n f  ^#VSK[[~(*|{(~<!w x!~5<< \:> 2 < 0 :X r> ;(OXX *ˮ~> |("_(O y( { ^(F!y("^#Vz w w !5(*~w##u t ͑>/: r! <F*~( n(88  ~(~ x: r  !]!1]a!> 2~9G:(́  : rh&~ xw"~ ~~(˟w!"́() : r:2́(!5((!:<(=o& w~2o&~ !{>V`f0M vM0MM 4M M M3M&M&        !R!1~="=ʝ=ʎ=U~ҋG:???? j@͎ w w ~G!_u t :nf}|Ñn f "~2~2>> ͮ>*"!4#5 ү>>0*"ͮ>!4#5 ү~nf}|n f ~ G~>Py >د!!1͞!논 `!!1~w=ʪ=%==~G:???? a@ w w ~G!E_u t :nf}|n f "~2~2aK>> 6>*"!4#5 үaK>>0*"6>!4#5 ү~nf}|n f ~ G~>Py >د!"!1"&!L`2>>`h&)))DM)) K ~t{(=(7==ʇ=p=ʊ=ʊ͊~ ݶ(N~  #^Vsrz(^VnfN~ ~ Zsr~w~(1y~(=w!~ 4^q ~< w4~Ê~{J͇qnf~W{Oz1n1~($˹ͣ: ~ ww~w~w~(1~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 51ͣͣͣͣLz(=( "" !==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(cͣsa1G( [͘{aMsa1 sa1>(!;[4sa1G([sa1 sa1>(!;[4sa1!"!q!v(!~(˾:( >˶*1!nʸˮsa1!~GͶ_KͶ=w)!K=x( 0< [?0<"b2dAͶA!  öį`i *($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $ͮø$ DSK <-- $Invalid command$Command not found$Insufficient memory$\}COLDSTRTAUTWARMSTRTAUTRRVVBBBB@0  ++ 7:Zq=++ No File Open ++ Y rbkͅrq..!Y:Z#:Zq [TERM file open] :+ xʁYʀYʆYɯ2Y7:Y>~Y:°Y;Y!Q ~͸Y6v@w7͸Yv@7!Y|H XYJAYCIS3ZR: 2n3tͶx6]!(t]͇zbZ!]>^#V#N#F#͇z^Z=CZÒ-Ͷx>Ͷxڒ-%^͇z҅ZuZÒ-qzڒ-6\6|ڢZqzڒ-x[^#V#F#N#fiZ$%¾Z,-Z45"]Z/Z/!ZZ!ZG! rONOF:[*8w@NONE4[c@|’-: [>:[q No terminal support <ڒ-[~#foG[w~G!\[qNon~[͗q>H\sRs s[ͽq~[kͽqkږ[;tG! ~ڍ-x[^#V#Fڤ[##o&x@G!hqzr:],\~|,\7Dn|j(t9!zrq buffer: Size"\>AsqUsed:@"\>$AsqFree:G!hq: <\9!~# O\ |Y\\[\> \sA\RsAsG!> > q\RsRs> \> (t> f\qMis~\!];r> \!%^;r> \!^;r> ]!*_;r(t(tf\qSwitche~\t f\qCharacter ~\tf\qValue~\qSet to read-onl: :n3C]2n3>_]>o]>]2n3\!|_Z>"Ì]\!cZ>Ì] ]!Td[ >%7?ڪ]y¥](tê]>(As]>2]7>2]] 7]͓I]7?)A ‘]%^Z^Z*_[\BUFFE[BUFFER[DISjZTERBSWITC_]CHAo]VA]BA$bBELFbCAPTUR|_CAS4cCHECKSU͞_CI&`CR_DEBUǬbDECIMAH`EXCLUDVcEXITFILaEXTEN_FILTEҊbIzaHE،`INITFILžaLXaLISaPRECH`QUEUxcRUbSILEN`SOAbSODELA`SMDISbSPLIhbTAœaTSTAMcWTECH6aXLINŮ`XOj`CANCEcCOMMENdDIA5dEScSEйcTRIGGEҚcALERdCLOC2eIDeREPLTdRETRٞdRTIMydPAGeSEARC|eWCHAWeWECHdWLI eWLINše\CAPTURE. save-in-memory.....ZZ\CHECKSUM error check mode...\EXTEND.. READ cmd extender..; \CRC..... error check mode...\SILENT.. READ cmd silencer..9 \CIS..... Compuserve protocol+ , \DECIMAL. input radix........ \XON..... T-file xon/xoff tst\HEX..... input radix........ \XLINE... T-file EOL XON wt..\PRECHO.. echo modem to list.Z\SODELAY. SENDOUT time delay._ \LIST.... printer device.....\WTECHO.. wait-for-echo......( \LF...... T-file linefd apnd.\ID...... MEX ID in error msg. \TAB..... console TAB expand.a \INITFILE (startup READ file)4 |EXITFILE (exit READ file)...t \RUB..... bs-to-rub conversn.\BAK..... backup file create.\BELL.... console bell....... |SPLIT... phonelib split.....< \FILTER.. contrl char trap...\DEBUG... T-mode hex display.2 |SOAK.... T-mode buffer flushS3\SMDISC.. Smart modem hangup.b |TSTAMP.. Time stamp func....Q3|CASE.... Strg mtch case conv2\EXCLUDE. (ignore SYS files).3 \QUEUE... T-mode queued I/O..Q \TRIGGER. char for SENDOUT... \SEP..... Cmd line separator. \CANCEL.. char for SENDOUT... \ESC..... T-mode escape char. |COMMENT. Phone number delim. |DIAL.... Smartmodm dial char\REPLY... wait-time, SENDOUT.  sec\RTIME... Rcv file wait timr.5 ; sec\RETRY... SENDOUT retry-cnt..  \ALERT... Bell count.........:  \WECHO... SENDOUT echo-wait..  sec|WLIM.... wait-str char limitB3?Kchr\CLOCK... Speed of CPU....... \WCHAR... T-trn chr wt delay. ms \SEARCH.. Mode...............=  \WLINE... T-trn lin wt delay. d ms \PAGE.... Lines per screen...  |IDD..... Inter dialing delay  ms : 2n3bK23Ͷx-*fy\͚x~=f:32Dh:Dh> kf>@2EhLA2h2+h!]:e ‘f 6?#Šf+K!"Bh:Eh2Ahçf3K<"gͥg͓I:3 f! ~¥f#/hgg!/hzr:Dhfqf!7h r*Bh#"Bh!Ah5(t g:Ehwåf Rsåf~# g*Bh"d |L:' ͱgbK##~2@h#~2?h##^#V"=hbK*=h#egW+}vgz`g\gi`:@hʆg)=g*Bh"d hqq Files:hqhor=ƀo&(t bK}0bK_.bK!~w+g g*Æg:\g=_bK@2h2+hqDrive A, User:[Keq(tk free on drive A $FONE .PHN _:i3:% eh"Mj6:& eh"Oj6#6 _p!"d ! ~6> %͇hwS$#B<: <2Qj̓J! 45ʨhh*Mj+ihS$#+ih*Oj+ih: q =** Reply: ** Gi?GaR: hʬi!Qj5i͜i: 4͜i> 4: OJho\s͌i}hÚhN # 7?͜i~4G:( xXi:_ -i2d3U-i niy=7?͌\sbi-i: GJ}i>7\sG:2~ʔix5AG~5A>-i7ͣI7aJ=Jœiq =+++ SENDOUT aborted +++ 7!"d q =++ SEND failed ++ 77J(I6Iiq ++ Reply aborted ++ 7:% *Mj4j:& *Ojʒ-ͶxGjk(tOB<ɥ~~:i3*) "lpmj*) "l*l"l"l6*l~*) *lDM!j[ KEY: 2n3Ͷxңj: ʡkyFjx=>Fjy͜@jjx=>jy͜@jj02lGSjqIllegal key name7x*l|k.M*l#B<6x:l]k͍k;k*l#]kykN+:lwPk:l*lw#N +"lAq*l}o|g"l:l͍kT] *l "l"l͇k͇kG͇k}kpk~#*l457#N+ Òk*l~¹kq ~#͜@k>F\sk>1\s0\s>=\sk(tùkkF#k~kk>"\s^l \s>^\s@\s\s\s[[2l)A~#fo:l>l$888=-qk/--w[+llqzcrr5thqqyxtxzxzJFJ=JIJy (I ʣw orʱl=ʧl=bK{\s6I \s{\s<ʣI<(I6I!(#x|A=vA=ʘAHB2|p*zpp~#"zp!p~<w5n*p#"p*tp@:p7?Mn!dn[*zp*tp@DM*xp@ CAPAY*p|DM*xp=Y8pJ!"p*xp"zpڤn:pG*xp A"zp͔X7*xp"zpɯ2p2|p:|pAYn: 2n3*zp*xp@n~#\s n͓Inq Buffer empt+* DM@*tp@"o"tp"o"tp_ohn_o"p*zp"p"p"p2pgo"p:o]o*p "pҰ-ɯ2o:# o&)))Mn* ͦ@@@}2o*pw#~#*po"p*p#"p*p@7?*p*p|DM!\8p!"p"pA!"p*p|o+"p*p*pA"p:p7GO*pbK3K2p&p!*p@p`i"p*p"p+KoJ2p2p*p"poFp*p!͖o^pQRPlk* :i3žp"Zq*:.&ʬp"\q:/ : !@'p6#" !$#" p*\q@"\qp*Zq"^q"Zqq@*ZqDM*\q@*q"Zq"\q*qPY!&q[m MEMqDM*\q*Zqxy>*^q*^q@"^q*Zq@"ZqR[Ko& rq |hq{ͩq|͗q}͗q͠q کq0\sͽqq: r(t qqqNuqqEsqCTL@\s>2q r2q r>2`3 r~\r:`3!r: Mr~=:\s#Ͳr~ >.\s~# \s²r> @2@sr~ rst#(t:@sG ^#V@ sr(t:@sG ~$s~#s## s~# \ss##sRs s͓I2s =! RsIs> \s> : ssG͋Ws:_3aJ ss! O £s:a > ʣssssy´s: ysO:T =syOy* v@ s s54 464~sRs~s!n3~t5t: w y* v@I> : )t>#\s> \s> \s u+Tu-t/uʭuiu<u/uu>2uʚu~u='u>/uʭu<2uuÇu,y7?yͶxyyuHu@tyu`utu@ttupuu@ttu@ttu@putu@ʼupuv*u/7?yvuBKwuyvvDMvuͶx(9vyt)’-yͶxЯAv#evyx͜@x͜@+vyDM)) ))AIv$•vyx5A>wx5A>w+vy)))))Axv͜@ڥv: Ivxv'vͱv+vyy'_y'S_y'7?%vv͇zvyyst^#V+vVALUd STACf !>=))w w>25w:5w=25w)6w@w w;w))#͜@AG?7@+-*/) A[?>2wyʆwxʅwyw͊w҆w:w<2w#nw7:wŷ ʞw7ʞw#ʍwF#6#4xڼw:xw5AG!x6͍kwyw2x#"xîw! w>2xîw ʋxKxKxqxqx ڮwG~#4*xZs5îwpx\s#'x:x6I=2x*x#~"x#~'x+6 ̀x'x#~tx#6 7#Fʧẁxvx͆xRs>\s6 (tA͂yͶxڒ-Ͷxڍ-:87*8~ 7?yöx:87*8~x͜@ڒ-x5Ayڒ-ͶxҒ->=Gx’-y5A!8~75*8~#"8*8!\23>)A##"8:828͂yx23 :8dy͔y>gy͂yx23Ͷx}yy5A23͔yͮyxOyy6# 6 #›y6#¤yͶx8>z¶y:y88yAy@y:yy:0OxGyz.yz zz>z*.z?%z z7z>? 0z>z7zyFz., :=ȷ!lZ A2|2hs{͇z}%{͇z| ҾzG¾z^#V@7G;zһzÜzh&"#{Ͷx8z87Gy { {xzxzLw {:#{{~#foѷx{ {*#{8z11304560711202404809601920 3840 5760 11520 OFNOYE7͢{җ{7wɷ͢{~N#F#^#V#{~#º{~º{7+4#{4###{~#7+~w#{5#~#fo#}{|{!s#r ɯ2~|(|2~|(||"|(|MJ~~iMJ~~iMJ~}^#V#"Q~^#V#~2S~#~2T~8F#:S~8Z~i|\͚x*~"F}*~{||*F}Dmڰ-|:S~8>2~!~~ A"~*F}"~+"~ >|2T~!M"Q~AY|q Term file openG~|-*F}/mڰ-| "O~/}~*H}*O~!"O~" ~" ~*Q~B}ڵ-!D}/}!D}:T~~ʈ->-T}-w# x/}}!! ~~6: ~}n}}}ʔ}}}GO*O~ |2 ~>2 ~}}Ҥ};}T}Ҳ}};}T}}T}7}G}}}}}ɯ}}O! ~5~6 ~-2 ~! ~~wy*M~, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, w<e!`xtRX), K%BQI`lRX<),! K %BIaRXx),?$ K%’Ib\RX),]0 K%’ƑIc`RX),u< K%’ `XA, K% a XNA,* K %db aX~A,B "K%d bPXA,Z .K%db cIXA,r :K%d d YA, FK@% A h0;63h63h*&9AFAFhڪ{@+Aq@YLTidNG#{ɒͽ`,͡,6! AͷBLp_0B CePi<ū% HTl@TTbPֱE2)9`^l;x! xF=koζhf4 (Kq e] f4 $3ΪSIt4 LFu7 &89[T0#U@AvhڧѕT8٠ir73Ak p\.P;՚l4Zc4NJl*!@,`F$3Ak9]2 b1,@=kjm(9[TeT6hF4 ie p\. o"HFހ]`K4 fѠ&IC$@ $A)6@@!A*f0MA!C$Dn0"@sњXF5N*q@ҁi:DC  p\0!F/#XR ]`K4 YQ b+8&JLO'1@@yNSp@M0bA8n2!H HS2vPUzRH=H|ՀzQ8kXk0F9AFhm['+T#rvhڶ`MfKEç ͥ lڪͱl۞ͤ=|%RyQG@%I(HBI9]@Ȥe(Hd+RW+ٵ`ͪ@4 )r p@fFmdH `ͪ@4 (MC(h0p@>3l`#62[UT ڰf @s &Aa9p\0F-jl5mS+|f@Gͪ@4 (LCI  p@!kv6mRph$7ͫ?mXl3j 9H`h0p\.P ͣ@L&rA6h_ᖕhA6hV0QtgrOmͶT6hP0fSi=Dr>3m!Lj5fѠ&Kl8Y.Vmj\4 >-Ϯ E^A iWCn8٠iHn3DSp.Vm?=C}i/VmQsկcT@b5m!Ff7Pq@h(v0M %ȥAm6MC g3)@P0'CȀv24r5qe!@| %̧A4d2%2$ >FqyC)u6YtS@1!@3 p\ 9 3Ie9 #-1 3Xy8AYtN@O' !, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9e``t<:X), K%!I``RX6),K %¡IahRXf),<K%bIbPRX),Z.K%baIcHRX),r:K%bI` X A, K%DR `XHA,' K H%2 aXxA,? !KH%IJ bqDXA,W -KH%2 c1XA,o 9KH%Dz cYA, EK#H%Au eQ*2Y*ū*Ѐ9B'6`5 aj(@i@> eQY TUAUHP'5_, i@8AUx @6mFNheQEUAhT@ͺ/:v!@f $f6H??*N#?? *N:/XvU'W$2÷`XF/7[?*,ےڣ@.VUJY p2zY nʠ`!6m#Vph8 Epk5 8v)p@P 4UA `8Wl M6݀,`( 8 A</LA@'(@¨4 0@G|f# 5nʴ#5n̶# d' 4t5:qVQduxA ~Kh*oOV@ &5 &ml3n0#@| 8`k$C\T ʹmmWdB%9Z"(4aT sMƳqn&(y8@vKhEʪ@( uL&ufcx%A8 %K'Q-Y'ŨݒT |*: b\wꣂ *?f/G`XW(ꣂ *@U ^_ * !@' EdKpA9AX@C6fQr7X4B%3~ʢ ށ+`yTH6x 8".k8٠il2 Is# ?y8R: `L_ő| fDS4* ٠jq@V $ S9 3MQm2bh(\ 4 㩰 3MSqe `PfPpX"\3@n?`l4V+JE"yHt M :3t2 Ɠa@+sABXI)c:'cI 8NGCI 3MQV  7d* .%b *A[WUBOv ErX ~PpV  d +7eRpP 3@Љp 3@ջ*DdKpA-/U#dh2@TZ C'X$8 :3t2 Ɠa@+sABXI)c:'cI 8NGCI\X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<د2 ه!߶2:2a{_:߷ʖ:߷>Ľʖ:=2–!B!6#5ʖ:߷Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!_u\mf]Osihr+Օ8%ڳ x>[O=nr+`F|\9(rV.ͺ^IMnXRɥ䥮4gʅ#+tz\Huz]Eaӧl}7&/g#cu}.yi}(UN,u=N41̩u=}d]ezfu}7&/%/Ӿ$P樶N,Bu=}JV_uKU6Dl}rml_o׬De_uK/ 9mc]Os%/{c]=>~:6}b _{kvilYto? I/Tu_Uy$fd $%Iʋտ[DZp2?dexOټ;9 }Ўr=4_{,wW}3>ulW@lwמ|v}W}b4rjq ڀпb8EX}qX]_Uu \袄X .6%.V_D"X.22^lVםrz  n0^ /V ~v2H$.V+' ] y.7/V~PT\bX,|@Ke2`x @X:,e2pc X,n8$e0`HlX6X., e!al6Xl,8 eablP6X,d 3eǰcl6X, @"eAdlh6Y>, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6ea`0RX), K%bIaRXN),*K %bIa RX),N(K%šIb褱RX),f4K%!IcRX),~K% `aY K@tpB ESTUS,aU sAEy@m:΂@i7 DRi%x#+v2+|g7@9ZU| 8`h9OJ 0h4 Upa2K9Z,W36HA< ֠me\@Lbh`| UTGYT sWuUͰMͱ`L۪ڽ +ü@ HͺM¸dâ =eQ@m'dn+adY# =YT|DT=@mY UUAh? * =Gmxh%: <^+j?  pŒ>3h@dKxA+xd,X15l@3JL ²N2C#ʪn͡L9@6 H@ Po; @C7N) \ .e^'zVV쑻%}{$unj+vzH0dB0,aP6K4 aQp6hH@Yk%K%8_ͨ c;4* A6h+ƓatrKmmpl4@n7cyd `Pݒ# 2hT@o* %oٷ0 c@V!n´lڠ~ñlbڠ~ͧ@: ~@m@ ٴ n?dV!X_6UXWXFV!]\հg+6_6U3TaPG+6\󸍛]~#[p03kk+ ¨ V!r«`zO[j C6+,ۈ7dB݀*Bh,Ͳ `F <,XU1U`|Ub84++Ufi\@" 5` 4 l3l#$uVN6$|f00f1WKpM4 !ͦөc0 &q@F0MS@1*" COPYRIGHT(C) 1978, DIGITAL RESEARCH á 4êü /L9ASMPRNHEX!4w_#~ ʸ A:4~~# ¼ > \ ?ʻ w# !ͼ ? !ͼ !)ͼ !ͼ :5͡ :6:6͡ :7͡ :\ ʻ 24!dͮ 25ͮ 27ͮ 26!8 ( ʃ !Y 1  :7ʞ !z 8  !"2D2X2#! 8 !ͼ z{* ! !"!8 w#  +6# *#"~!ͼ G:6QxJQS*!w#"! 1 !"!Y~~# …¡z!ͼ wʹ* ! w#" ! 8 !" ! zz_O4:  :6y:! G~#x=2> > ! >x6 #='G! ~ p( O*}O>4?:7w:#ĸ*"!͸* }w>ͪg( ʆ1 Y :7ʗ8 z !<ͼ CP/M ASSEMBLER - VER 2.0 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES END OF ASSEMBLY G:7xʘ!#~ʄl͸Ä**!O {zʊ͸*"!!#^4!$wͯͯWƐ'@'ê>:ͪ!#^Ww*!{͚|͚}͚͚{!$~#͚͚> ͪ> ͪ@2 0 0:x0_<2! wI2 2> 2 >2ɯ22 !~@_6^4#: w~$w: 0 q: A: A͋q: a{_2  2 - !ɯ2I:  ;*:  ͭͷ ͭ͋>9q>9: '!2 >9 7:! 6 >2>2: 2 Qͭ:Ğ! :lj<͖<j<|<: OʊQ>ÖH >2 2 û: B­>ôD> ¸!52 !"!N#~#A07O! ~*!) " :  '<ͭ'<>V$>O$:Ğà\ÞØ`rÍÖ![w#w#b!"!F#v2[G*##~w*##~<*}q!~ڬ6![^![^#fk"͎͘!G#*####*^#Vû!^*"*{zA"*![N![ N#Fr+sq#p/>G=#w#w3#w#w!JSYMBOL TABLE OVERFLOW G*##~w*##~͎*_###s#r^#V`à 4 Wm ()*+,-/ABCDEHLMDBDIDSDWEIIFINORSPACIADCADDADIANAANDANICMACMCCMPCPIDAADADDCRDCXENDEQUHLTINRINXJMPLDALXIMODMOVMVINOPNOTORAORGORIOUTPOPPSWRALRARRETRLCRRCRSTSBBSBISETSHLSHRSTASTCSUBSUIXORXRAXRICALLENDMLDAXLHLDPCHLPUSHSHLDSPHLSTAXXCHGXTHLENDIFMACROTITLE  PF FP! ( 2/?'  v:P@< !  PP27 ( *"  NZZ NCC POPEP M x_BH!œ#¶ ¦{KÈCÈ<:JCR:  !6 s!#  ɯ<:O=_Z!F!V#fjQ̓E!^#Vo&)~#FxGyѯ<àn8!~ڢͅ6~44O! s#r!~ ڿ6ͅ^4!mw!wp!~ͅ!55N! N#fio&)^#fkz'{ͅ>ɯo>g"k!m6ů{_zW5>)D*kOxGd !m?FDM!xGyOڂÃ)sn55)=â|g}o=î--#zg{ozg{ozg{oÓ:: ;,!ɯ22=2l!"]!~H5_!m~0:ą:  *":  :‰:̅ԅ!^#=ʅVq”*qͦ1& O:lµ̅>2ly:_!w~!s!m~ùy !~=w_!m~ ͅͰ>2lyPLnR>UX:l̅2l͓*>E2C!" """ :ʼ:*1 |R|ͦ0FIL: R  R* } *" :¿::¿üX!C^#fk[@ :Œ:=ʌG!ʆF#H vÛc*| EH ͺ,^1 ͦ *""1 EH DH ͺ,1 ͦ :  1:  " > 2 :|: |Ë  |*" ͩ !6="1 :  1}1:n:>BʋSSͦSSxS 1:  1"" ͦ 1 |R >O U!" 1 1!|_!^#fk $8AP`ixH ñññ81Ľ y0îH ñGîG  ñH ñ(Ľ yîH ñîîĽ y0îîH ñG 1: :,; c*| } 8OĽ y0G G t :):,.>C :|: Jü;r :R: ʼʋ!ʼR!ʼʋ>SR{ozg!~4ʧͦ !6 ! **̈́**̈́\iͩ !w#H USE FACTOR !* "z{*"* "I !" :1 R O*UR X* G:xl :  *̩ : l x͖ *#"EH DH 0:~ ! ^4! w͆ Æ *! 6z͖ {͖ 4>R>V>D >P >L >N-Ny 0#$Y ZAB%8&B4xH@t@ "Nfl6Sa2 &#ye2 m`Vm!dABo03yl2  8Y,. #$"\ 4x7 3aeNG#y@+A@%K`p_ͨ ±XR)Ci9LgCy #MVB%3~ʤ + yTH608"_C6&(x4·1pr0̣PY#YfHs0x  hT@dl05al?m1}(2Y +qdk'%T`9bX,|@Ke2`x @X:,e2pc X,n8$e0`l\6X<, Ceal6Xp,9 e! blT6X,f 4edl6Y, F&CeAe l6YT, V+Ceel6Yd, Z-Cepel6Yt, ^/Cefl6Y, b1e̐fXl46Y, i4eI``|#9B7YLxB+ug!DL4@9b1q," FUfװ D:@ mAɌTUDΐXECFCNe$UD(GETDERRAMDRIV AQMaRAMLD ASMMODEM730CMMODEM730CMDU-V78 DOCcLU300 DOCLU300 DOCLU300 DOCLRUN20 CM OSMASTERCM|DSKPRAM CMMDM CMMDM CMCPM SYSDD CMASM COM@ExNh4kY4Z&92JdkZ|8DqҲV].cݟE(Bۏ0fExuϊPcghkyCC('rtQ/#.sx>Ȅ^RXF&ԏg"av]&MGE(vD+6|*vDρ Ti"?}>OcˈKGʉ#diX9~Wg" .XLIST .XCREF ; ; ASCII EQUIVALENCES ; ANUL EQU 00H ;NULL ASOH EQU 01H ;SOH ASTX EQU 02H ;STX AETX EQU 03H ;ETX AEOT EQU 04H ;EOT AENQ EQU 05H ;ENQ AACK EQU 06H ;ACK ABEL EQU 07H ;BELL ABS EQU 08H ;BS AHT EQU 09H ;HT ALF EQU 0AH ;LF AVT EQU 0BH ;VT AFF EQU 0CH ;FF ACR EQU 0DH ;CR ASO EQU 0EH ;SO ASI EQU 0FH ;SI ADLE EQU 10H ;DLE ADC1 EQU 11H ;DC1 ADC2 EQU 12H ;DC2 ADC3 EQU 13H ;DC3 ADC4 EQU 14H ;DC4 ANAK EQU 15H ;NAK ASYN EQU 16H ;SYN AETB EQU 17H ;ETB ACAN EQU 18H ;CAN AEM EQU 19H ;EM ASUB EQU 1AH ;SUB AESC EQU 1BH ;ESC AFS EQU 1CH ;FS AGS EQU 1DH ;GS ARS EQU 1EH ;RS AUS EQU 1FH ;US ASP EQU 20H ;SPACE ARUB EQU 7FH ;RUBOUT (DEL) ; WBOOT EQU 0000H ;WARM START ENTRYPOINT IOBYTE EQU 0003H ;I/O CONFIGURATION BYTE CURDRV EQU 0004H ;CURRENT DEFAULT DRIVE OPSYS EQU 0005H ;OPERATING SYSTEM ENTRYPOINT TFCB EQU 005CH ;DEFAULT FILE CONTROL BLOCK TBUF EQU 0080H ;DEFAULT DISK BUFFER ADDRESS TPA EQU 0100H ;TRANSIENT PROGRAM AREA BASE ; ; DISK COMMAND PACKET OFFSETS ; PDRDP EQU 0 ;PD REQUEST DESCRIPTOR PACKET PDRFCN EQU 0 ;PD REQUEST FUNCTION NUMBER PDRDRV EQU 1 ;PD REQUEST DRIVE NUMBER PDRTRK EQU 2 ;PD REQUEST TRACK NUMBER PDRSEC EQU 4 ;PD REQUEST SECTOR NUMBER PDRSC EQU 6 ;PD REQUEST SECTOR COUNT PDRTC EQU 8 ;PD REQUEST TRANSFER COUNT PDRDMA EQU 10 ;PD REQUEST DMA ADDRESS PDRDST EQU 12 ;PD REQUEST DRIVE SPEC TABLE ADDR PDRLEN EQU 14 ;PD REQUEST DESCRIPTOR PACKET LENGTH ; DSKNFO EQU 14 ;DISK TYPE INFORMATION BLKSIZ EQU 14 ;BLOCK SIZE NMBLKS EQU 15 ;NUMBER OF BLOCKS NMBDIR EQU 17 ;NUMBER OF DIRECTORY BLOCKS SECSIZ EQU 18 ;PHYSICAL SECTOR SIZE (2^N*128) SECTRK EQU 19 ;PHYSICAL SECTORS PER TRACK TRKDSK EQU 21 ;PHYSICAL TRACKS PER DISK RESTRK EQU 23 ;NUMBER OF RESERVED TRACKS DNFOL EQU 11 ;DISK INFO LENGTH ; ; .CREF .LIST  005CH ;DEFAULT FILE CONTROL BLOCK TBUF EQU 0080H ;DEFAULT DISK BUFFER ADDRESS TPA EQU 0100H ;TRANSIENT PROGRAM AREA BASE Sb`%9%PHDWNITA)*h4f 3@h4f ij)1 "ij)qP Ȋii)10 Ȋii)q *@ ɪ*  Ji*p (ʪjJ HsEMNAMES DBFITRAVLDBFDBF TIMECK ZPRGENSYSM1DO TMASTER CM zSSRTC RELOSSSOM RELVTRK0DSDDLDR\SCFR CM>KLMNOPSHIPS DBF8COL A gSSMPINITMAC HRECEIVE HP *ORDER TM!9"1 >=#6Copyright 1983 by T. Enright=%6Bring LaserJet on line,=&6Press RETURN to continue>!,!6 =54Enter number of choice : 1OU =52*** Input out of range ***=62Press RETURN to continue=5(T T=6(T Áy11>2B!,=*OON =+OOFFÁ2V>2C!,=+OON =*OOFFÁ3s>2D!,=,OONÁ4>2E!,=-OONÁ5­>2F!,=.OONÁ6! ,=/MMARGINS CLEARÁC!,*T!r,Á_~# 㯆#_~#,=$9HP LaserJet Printer=&6Feature Selections=(9Your choices are :=*61. Portrait (default) =+62. Landscape (lengthwise) =,63. Top Margin = 1 inch =-64. Left Margin = 1 inch =.65. Right margin = 1 inch =/66. Clear Margins =26C. Return to CP/M =36T. Print Test Page THIS PAGE PRINT WILL CLEAR OLD SETTINGS AND INSTALL NEW END OF TEST E &l0O &l1O &l6E &a9L &a74M 9 > NEW SETTINGS MADE to CP/M =36T. Print Test Page THIS PAGE PRINT WILL =6(T Áy11>2B!,=*OON =+OOFFÁ2V>2C!,=+OON =*OOFFÁ3s>2D!,=,OONÁ4>2E!,=-OONÁ5­>2F!,=.OONÁ6! ,=/MMARGINS CLEARÁC!,*T!r,Á_~# 㯆#_~#,=$9HP LaserJet Printer=&6Feature Selections=(9Your choices are :=*61. Portrait (default) =+62. Landscape (lengthwise) =,63. Top Margin = 1 inch =-64. Left Margin = 1 inch =.65. Right margin = 1 inch =/66. Clear Margins =26C. Return to CP/M =36T. Print Test Page THIS PAGE PRINT WILL CLEAR OLD SETTINGS AND INSTALL NEW END OF TEST E &l0O &l1O &l6E &T5E4%( QMLSTDR@MD%cq_q@L0:PД QM:#" MI%2pRESET M.LABELS CDOOPS RLOG HL hMILESTONPOMILESTONPOJTRIAL FRM/EVENT FMT OCOPY HPKopqDIRDUMP HL  SUM200 FRMARCSKED DBFDU dUETQaMFETXFFQVd5DE$ A\%`9q@:@ Yٵ63jw`\l@f֐;j6 j2XPV64X, 8LX -Lx,##G2*b*tx",)@@**¢t&)") FW2*J dQVd5DE$ A\%`9q@:@ YٵLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTWDFAULTCPRENAME HP%,-GENSYSM4DO MAINDICTCPMAINDICTCPMAINDICTCPMAINDICTCPMAINDICTCP?TEMP DBFSQCON MACOSLOAD COMbVERIFY COMTd5DE$ @xԤ\ @,K@Q f  q  `ȀɊjHp )*AUTOLOADCMBACKUP CM BATCH CMDO CM ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELMMENU CMD SCMT CM>QRSTUV PROGDIV DBF\BBCANCELHL 6SQDSK MACLXREF COM8 E76(1) KTPSLAVLGPAR{LLOYD 007bPRINT FRMӠU%(a=9LSTDR@MO%`9q@>&m,[Lj?b69PJv+T<fɊjH  JQ 8ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELBUFFERS HL DMSKED DBF8SR-SOME CMDLOGON HP+noLOGOFF HPjEMPLOYEEDFTREVIEW CM(01FILE CMDjSQHDC2 MAC^POMNTDS BAK T2 =>{ç#,>/0Ð 2HF ̓̓̓Version for U.S.R. S-100 autodial Initialized for 1200 Baud, 8 Bits, 1 Stop Bit, No Parity How are you today? :>/>?͒ɯ>@>N>7>2͒ApTp ppx̓Input baud rate (300, 600, 1200): ͉͆300͉600͉1200̓++ Incorrect entry ++ { >>>2R 2J 2N>O7NN7 Enter ne Baudrate: !e6 ͓+ {+[00:0w͝+#0::[Ia:Im:ZI:I 2IZ::IZ::j2N 2O 2I!"I!I~9Ow#!I0!OH"͛,HB"͛,H F>$bH O̓ Enter library code or phone number, Hit RET to abort this function now or CTL-X quits while dialing or ringing: I>/!I~ʑ2P :I/ , ͤ:O / :P 2IҀ!I~AB %0 B 5h!"{W~h M"Ip͛,:ě!I^#~͝+#ʑ.ʍo:ě!I~^#~h͈+͓+:ʑͤ, ¬ ͤ,> ͝+Ñ#̓ - try #*I#"Iͽ+> ͝+: ͤ,͌>]͒>]ZQ r1K:IX̓ Redial? (C/Y/N/Q): ͪ+{+YXCSQ”U>2I:g2͒l͒{+::IW͒̓ CONNECTED:N ~:I~̓ - any key for terminal mode  ͈+͓+~͒>͝+͝+R{ʅ Gx*#,0:0> O:*ͤ,Ò:(WT0T8>ZTE>ZTR @>ZÒ̓ ++ Bad library number called ++ {+1K2I2:>Z2Q ̓ ++ NO DIAL TONE ++ Ñ::Tx<! >! ~$͝+G#͈+͓+Ñ> G͝+:3Z] ͒ ͒!ͮ ͒> !ͮ͌N:>2!ͮÒ:>2!ͮÒATDT $+++$ATH $ATM0 $ATM1 $:2!ͮ͌ҧJ~$~4#î8͈+͓+ ͤ,Ñ>GB: 0O1f Cf 3T NT 4G EG 5t  ͈+4 ͓+4  ͤ,Ñ͌ ̓busy! ̓abort ̓no carrier ̓on liner̓on at 1200r: :I=2I#Q Ҡ ì F T ̓ringback set, first ring 2͒ͤڑ:P Ҁc̓ ++ No ringback for autodial modem ++Ñ>?]Z2N >2O 2I@!IIÛ,:O <<2O O:IG >O2O !I F T͈+k ͓+s Q 7+:͏, Additional Subcommands for PMMI Modems Modem control: A - Answer tone for send or receive O - Originate tone for send or receive Parity option: 1 - Set and check for odd parity 0 - Set and check for even parity Both ends must be capable of these options which are available only in R and S modes. The parity checking will be part of the file transfer protocol. Speed Options: After entering your primary and secondary options, you can set the modem speed by placing a "." after the options followed by the speed e.g., 300, 600. EXAMPLE: SBO.600 will set the modem for 600 baud ͌H G {+ }0_.!~w+u o *.̓for Menu) Copyright (c) 1984 - Irvin M. Hoff xxxxxxx,,,,,,xxxxxxxx,,$xxxxxxx,,,,,,xxxxxxxx,,$ A= .X-XXX-XXX-XXXXB= .X=XXX=XXX=XXXXC=CPM-EXCH .1-404-449-6588D= .X-XXX-XXX-XXXXE= .X-XXX-XXX-XXXXF= . G= . H= . I= . J= . K= . L=LITTLE BOARD .....1-408-258-8128M=MCI .......268-1708N=NEXUS .......486-0735O= . P= . Q= . R= . S=SABALINE ......692-1961T=NITEOWL .1-414-563-9361U=SABA1 .......578-7391V=NOSC .......223-2261W=LAB-U-SYS .1-213-306-3530X= Y= Z= ......x-xxx-xxx-xxxx0= ........x-xxx-xxx-xxxx1= ......x-xxx-xxx-xxxx2= .........x-xxx-xxx-xxxx3= ......x-xxx-xxx-xxxx4= ......x-xxx-xxx-xxxx5= .....x-xxx-xxx-----6= .............x-xxx-xxx-xxxx7= .............x-xxx-xxx-xxxx8= .............x-xxx-xxx-xxxx9= .............1-xxx-xxx-xxxx^DIR DIR *.* $U0AD XMODEM S XMODEM R BYE RBBS (vacant)(vacant)(vacant) Nice chatting, see you again soon... !9"K1K!pʹ,".J!'ʹ,"0J, MDM740 modem pgm (type M ͚ }]2͏ʹ:I!21Kͫ:3:B:ICb:O3+:ID+M3RSTk2I2IõEz2I2IõL‰2I2Iõ~?2*"+"+"+!"J ͟A2;J̀ k:2h> @M>^2h32i3]2I  !OI OG>xA>2I6#~?2:XI2UI:IDEMLTG:9:=xC:IHæ2xSXR’:PI:m ,++ Enter primary option plus file name ++ 2, ++ Bad option ++ 8>ë:PI>B2PIx?2I:I:] 2I2IͲ&!>J͐!!\>J ͛,>J>J!O"I>2I :I ͈+͓+G::::IQx0^:^ù:^2I2I:I>2I::'Õ:'Ž>2I:́:!+:%ʪ:ʴ:"T::#:I/2I{+{+͉{+: ʮ ::)n:$ :&:I 2I2Iͫ:PIt,Ready to send in batch mode t>2 ͝+|>B2PI><)):] <'ͪ'Ϳ'xh)F&'ڴͧ&>2zIF&%Q%:In%r%́%ژÇ><)́%ڴ):2It:PI>2B2PI):] <'#> ͝+͏!"{+͙"Ͳ&]':PI5&,File open, ready to receive :IT&,CRC in effect >Cn&,Checksum in effect >,Waiting.....<)ͫ"ژ:r(ͧ&ͤÃ͌(ͤ')><)!_J͐!!l͐!, File name to send? (CR to abort): I>/:I ~I!_J,_J::,Want to include time delays? (Y/N): ͪ+N:2I{+I_Jq=ʧ?,++ DISK READ ERROR ++$ʧH, (in Terminal-mode now) Jͫ, [Transfer completed]~, ++ FILE NAME ERROR ++ ö!IF~ ͈+͓+# :͝+:đA͝+4 :  L<:O: O:I_ W!:~!:I~:I~!ʹ,:đ{ƒ8>̠8®>͈+ʠ͓+ :PIU&>2zI, Multiple errors encountered. Type Q to quit, R to retry: ͓+{+ʹ+Rʫ"QU&:UI!]26J p# 1:UI*xI#, Received # ͽ+, : ,(+,H) :6J<26J ʃ~ ĝ+~ >.͝+|(͝+ҏ&,Awaiting name NAK ́%ܤ!5J5*9J\ ͛,"9J><)7( !]~<)(#><)Q(><)>u<), ++ ERROR sending name ++ xͅ)ͤ2i3[lG&!123456789 !\͒!&,Awaiting file name Q͕ʓ7>2,J!](>2+J(2+J&,Time out receiving filename Iͤw#}à2,JyQ<)(I  !\͒!&, ** Checksum error ** 2,JQÖ2,J2,JF&><)(WU&>2I25Jͦ!!"9J!!\J,,0ڱ:fŒ*9J\ ͛,"9J!5J4Ì!8J5€!"9J:5JA>@25J, ** Memory buffer :I,open ** ;,closed ** , ** Memory buffer available ** {+͕æ2*HK*NQyAJ*`]J~4m#]͌܌Ý+͈+͓+G>/,Printer buffer is :Iʯ,ON ,OFF !#½]2Iͤ,:I:Ix͝+U> :I: 8>G:,x ,x͝+U:I@ͤ,> :IJ ,:I*Ip#"I> p> ͝+́!|!yJ>4!N>2I*I !ON w͝+G ́!#¢"IJ>4͌ w#:I*Ip#"I:7JJ>4!Nz24J:4JW!8 N w͝+GU ́!# "I!"IJ>4s ^#"I:7J s !"I"I*I*I|}::ʌ 27J!?ʹ,DM8¦ > xš 7: :I]F :I]̀*I6}l&)>oO :IN!͆!>J͆!ѷX+| <)'?,++ DISK FULL, SAVING PARTIAL FILE ++$lG',++ Nothing to save, erasing file ++ ÷*>;Ý+6# 6 #•!6#ž!!8J6!IN!I 6 !IF#!~ ¾!#!~ !")J+#!~ !:8J<28J#!~ !!6 *)JJ~ "#"#~ "")J!Jp \. ~N"#~+] ͛,!e~w#~w\!\l ͛,!u6B#6A#6Kl!l6\:\2zI (ڥ#O7>2-J2+J{y"(G"G2-Jx2+J$z":-Jʥ#:UI #{+x+,H received not SOH - $F&:I>:#:I>:#>C<):zI<2zI ڰ": U&ý1K'', ++ RECEIVED FILE CANCELLED ++ ++ UNFINISHED FILE DELETED ++ ÷*:UI#, ++ Timeout $# #:zI:I:I/2I2&,** Switching to Checksum mode **  >2I(ڥ#W(ڥ#/J$:UI #, ++ Bad record # in header #z2wI>2I!"I!(ڥ#w,^$2I:I”$Q(ڥ#$:wIG:xI$%,(+,H) ><):xI<):xI/<)>2I!"I!~<),a%2Iy<)*I|<)}<)>2-J2+J(GҘ%2-J2+Jxʰ%ƒ%:-J%&:I%:UI%,++ x%+,H%,NAK, received not ACK - $2I:zI<2zI ?, ++ SEND-FILE CANCELLED ++$, ++ TIMEOUT - no ACK - $%:UI͈+͓+1K(X&><)(e&> <)>B2PI2I2I:IRS#, ++ FILE CANCELLED ++ ÷**xI#"xI}!\ #~?'·&:PI'\<,File exists - erase? (Y/N): ͪ+Y2{+\,++ NO WILDCARDS ALLOWED FOR TEXT FILES ++ 2,++ NO FILE SPECIFIED ++ 2\2|Iy2I!O"}I'*}I!͙,"}I:I<2IO(:IOO\!! •(2I!O"}I:Iy(y: ͫ!+J^*0J(*.J8(z((F&7> ).)!,J^(͈2O:VI1):XI6):I6)F+F&:WIR):XIW):IW)F+͈2OA^)4,Waiting ready signal {+F&(U&Cʣ))…)U&&,CRC request received >2I:PI&,Got checksum request &,Name NAK received :PI—*:UIj* !I*>w#* !]I*>6*~ ,*#xD**~ D*>.*, , Transferred :\22J!\͐!:2J2\!iIwI͛,Jͫ:> h:e:eæ2!l\͛,2|2h n+ n+ n+ _+n+>(n++>)n+_> ͝+> ͝+O͓+ʹ+͝+a{_ + |Ľ+{0n+|+}++ ,0n+,CTL-@͝+,~$,n+#,~8,:UI~n+#', :,>͝+{+>2I:PI*U&:;J_͡A xl,͉,:IcG:*K É,~#›,Jx4I!\,:=º,5-#^#6 ^-p- !- , p- !- -, ^-p- !- p-#̈́- ̈́-6# > W-W- > W-W-w#W-:n-_@w# . p-w#p-~*ʔ-#†-×-ͩ-~*ʥ-#™-ͩ-6?#©-ͦAA2/25/- I!\,!_J͐!:l2_J:m ...: 28J_J<.,++ FILE NOT FOUND ++u..#5.00, . _J? !`Jw#.!m`J 0=ƀo&:_J/=_@2/25/,Drive : k bytes free on drive : $0կ͓+ʹ+ /ʉ/ʉ/ʿ//G#4+~#/px/ ԝ+#L/#~wں/+~6 L/>͝+> ͝+>͝+L/123456789 4L/>#͝+{+B/G>#͝+{+xL/͝+/L/>͝+5L/{+L/{+F##> w# 0~(0!0#0#"07#2h:Iy0>2I!\J 0:\2J!J\ 0\í0!J\ 0\!J\ 0\<7¶02I=Ɓo&J 0] 02h2|><0~# x0,File open: *Iͽ+: 1, (+,H), records Send time: :_!1^#V*I&2i`ͽ+, mins, !1:_~:2E2E2E2E2&ͽ+, secs at 1&,To cancel: use CTL-X  0`@J0(  !1:__ , bps 110$300$450$600$710$1200$2400$4800$9600$19200${/_z/W12 !<=?2}o|g>o*I|>!L!yg)x2>g>!ol2r$s%# b2*IO!L ~W$^"I:I2, ** File still open, use DEL, DIR, WRT, E, L or T ** 22I!iIwI͛,!\IOI ͛,2I2+J2,J2I=bH, Single Letter Commands ? - Display current settings ^ - Function key intercept character, then (0-9) M - Display the menu E - Terminal mode with echo L - Terminal mode with local echo T - Terminal mode For copying text to disk use T (E or L) FILENAME.TYP Start or Stop toggles described on subsequent screen. R - Receive CP/M file using Christensen Protocol S - Send CP/M file using Christensen Protocol COMMAND: R (or S) FILENAME.TYP R and S can use the following subcommands: B - Bulk transfer using wildcards (e.g., *.*) D - Disconnect when done Q - Quiet mode (no messages to console) V - View or bytes on console X - When done, disconnect, go to CP/M The single letter commands may also be used on the command line when the program is initially executed. ͏, Three Letter Commands CPM - Exit from this program to CP/M DIR - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive/user no. (specify drive/user) and reset disks. e.g. LOG A0: or LOG B: (user # unchanged) SPD - Set file output speed in terminal mode vDb8,TIM - Select Baud rate for "time-to-send" msg. :ʘ8,TCC - Toggle CRC/Checksum mode on receive :8,TLC - Toggle local command immediate or after :', :"9,TLF - Toggle LF after CR in "L" or "T" mode for a disk file :Z9,TRB - Toggle rubout to backspace conversion :ʝ9,TXO - Toggle XOFF testing in terminal mode file output :9:9,NUM - List remote systems : 9,SET - Set modem baud rate ,BYE - Disconnect, then return to CP/M :)::@:,CAL - Dial number ,DSC - Disconnect from the phone line The following are terminal text buffer commands: ,DEL - Delete memory buffer and file WRT - Write memory buffer to disk file 2H, Local Commands while in Terminal Mode : , - Send a break tone for 300 ms. :;:), - Change baud rate >, - Exit to command mode :;:", - Send log-on message :!, - Disconnect from the phone line :<:#, - Toggle printer > ͝+:&, - Start copy into buffer :$, - Stop copy into buffer Start & Stop may be toggled as often as desired. A ";" at start of line indicates buffer is copying. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. :%, - Transfer ASCII file to remote ::'=, - Send local control character to remote =, - Next character will be used for local control z{+:I'>7I, Bytes of buffer free A͝+͟A>>&oͽ+>>͝+>>͝+,COMMAND: 2II>/:I'>^ʛ??zH >:I:#CI0CPMZ,{+0LOGA0DIRҤ@0ERAһ@0SPDB0TIM]C0TCC҄D0TRBD0TLCE0TLFnE0TXOE: ?: ?0NUMҕG: ?0SETF0WRTDG0DELG0BYEM@0DSC+:Q?:c?0CALc?> 2Io?:I!HI&Hx?ͫ,~?=,++ Invalid command ++ :bH, SPECIAL FUNCTION KEY TABLE ?,CTL-@͝+, current function key intercept character ! #~0͝+> ͝+#~@@ :@,$@͝+$@{+@{+=:h:{@h, << Exit to CP/M >> Z,F !ͮF > !@ͮ(Җ@ATZ $23Jͱ-:3J_=I!\,3+:] x?\<@,++ File not found ++ =\,File erased =:I«A:I )AͦAAAx?23J͟AG:IdApA:IdArAA :3J_:=J_͡A= lA:IA͕AOxGxx?2=JI>/:I 0 x? ,++ Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ =,Delay between chars. (0-9): ͈+(B͓+͝+C0 x?2,Delay at end of line (0-9): ͈+aB͓+͝+C0 x?2 , Char. delay (terminal file mode) is: :Gxo&ͽ+,0 ms. per character Line delay (terminal file mode) is: : Go&ͽ+,00 ms. per character =, :IAx?_:I =0LC:I0XC&x?_͡A=>LCvDx?,Use 0-8 to give baud rate for 'S' mode time-to-send message, where 0=110, 1=300, 2=450, 3=600, 4=710, 5=1200, 6=2400, 7=4800 8=9600 and 9=19200 Baud. Enter value: ͉A x?2 D=vD`D,Rate for the S mode time-to-send message is set to sD,Modem speed is 1: G:::x?:/2͘D=,Mode: :ʳD,CRC ,CHECKSUM :x?:/2D=:D,Rub is backspace ,Rub is rub :x?:/2E=,Use ::'GE, before local command , to send local command to remote :x?:/2͂E=,LF :˜E,NOT ,sent after CR in "L" or "T" for a disk file :x?,Use XOFF testing? (Y/N): MFE2jF, Use XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion of buffer is 7I, bytes E͂EjFͶFzB{+{+{+=*I믓o|gͽ+SRTELMABDJLOQRSVX01ABDJLOQRSVX01OOO4se XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion oMATDATA BAKPOMMK86 TVLMSR FL  TEST BASTW XRF-DEMO CM TW LSTDGEN OL4TW LSTEEXAMPLE1DSHELP SYM SMI BAS HELP WPFr*+,-SSRTC MACNIN-POSN CMD MOVETEL COM%78POMMK68 MUSTUPDADBF TELPAC OBJ=>?@ABCD TELPAC OBJ/EFTEMP CMD1 !/2 2 2 :] $![*}o }o|g)l>g+" !* $!!̓ U͏: ™! F#~#}! " ͏!" " ! " * " : !! \! 2 <2 * " !] !* * ~ʨ6#] " !] !2\2h2|͛* * |}" !" * ͪ?l!l* " * #" * +" |#!\! ! >2  ͹* $!* * r#s#" : : ¨!>2 !̓ ¨͏: !B \! ͛* " !] !2* ~ʰʰ#] " !] !2\2h2|2!E÷* V#^#" V#^#" " " * |ʂ* l!X÷* " * +" |U!\B !  ͹¡!m* $!: U!: !̓ ÷: !" ! " 2 è!÷!C~# ~ #c  > ) ~ʋ# ʋ.b*Pʍ2[>?P~.‹#l ~ʋ# ʋ*ʀʍgʋ>?À7!" 6* ~" ү!×2o c !d !×o&)))))*  !v " 6c #×~t#~ t# > t> t'MMdM MM}o|g\ Oylxl> ty0t_ \\\\\:|*   \ MFT V4.5 Multi-File-Transfer for single disk, With multiple-copy option. Buffer size = sectors Mount INPUT disk, type RETURN (or ^C to reboot)Syntax error in filename - not found read error - sectors read Mount OUTPUT disk, type RETURN (or ^C to reboot)unable to create error writing file unable to close sectors written Completed. Type RETURN for another copy, OR... type ^C to reboot. ++Memory buffer exceeded, cannot make duplicate copies this time; last ouput file is defective++ ++PROGRAM ABORTED++ No file name specified ʋ>?À7!" 6* ~" ү!×2o c !d !×o&)))))*  !v " 6c #×>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1 :] :e :m :u !!~( 24 4  :5 (:6 O:(:(͙!ˎ!ˆ!"; #J  6#m ?  ~w#6#:\2I 2Y !R ~(͙ !I ͙͛ :G O O:O(Hf!I ͛{!Y ͇͛>24 4  :5 (:6 O:(:o͙Y I23 !J Z  # ͙ !I ͕͛!Â͙ !Y ͛ʹ:3 _!~ J!~ G:G O Q>24 4  :5 (:6 O:(:o͙óLG͙ !Y ͙͛ Y   &͙ !I ͙͛I < #!Y ͛ͫ(ͷ ͷ *G +"G |*; #6~#=A͙͙~#~#foK7 ))) )K9 \0M l0 f!Â!# !# 6# 6 #6#!$ 6 j?( ͓??.(7:( !, j?ȷ:# 7x7:$ A?<2# ͓(:.*(w#x:# 76?#:7[;7 OS:=2ya8{0 ͙ * !~#"͙ a{ YN͙ Invalid drive letter(s)͙ Destination drive read only͙ Ambiguous filename: confirm individual files (y/n)?͙ Ok to rename ͙ to ͙ (y/n)?͙ rename to same filename͙ already exists,͙ok to delete? (y/n) ͙read only͙FIFO file, not deleted͙ delete͙ not͙ renamed to ͙ File not found ͙ Invalid filename 1͙ Invalid filename 2͙ Insufficient memory͟~# _HÂ!# !# 6# 6 #6#!$ 6 j?( ͓??.(7:( !, j?ȷ:# 7x7:$ A?<2# ͓(:.*(w#x:# 76?#:7[;7 OS:=2ya8{0 ͙ * !~#"͙ a{ YN͙ Invalid drive letter(s)͙ Destination drive read only͙ Ambiguous filename: confirm individual files (y/n)?͙ Ok to rename ͙ to ͙ (y/n)?͙ rename to same filename͙ already exists,͙ok to delete? (y/n) ͙read only͙FIFO file, not deleted͙ delete͙ not͙ renamed to ͙ File not found ͙ Invalid filename 1͙ Invalid filename 2͙ Insufficient memory͟~# _H8 ;b͸{J?J?w{ÖüH!K]jU 2͵ ^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2hZZk:h|/g}/o#|/g}/o#:h<2hqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2hZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! P!9~#A!9"w**w"j!z*"d!"f!Y"H>2^>2a>2`2c>2s2t>2r>2v!"@!"D!@"B!"F !F#x:~#!|2i~# :" 2i +}|~#:G:ix."2i+w# +6#!6#@A2n2?*j**|+`"d!"f!!>ڌo&͖=}  w~2ʸͼ56!+W ?_!~7z?ͧ:>͞@w#5.ww#w#w#w*>?@͌>w#͌5> w#@ͧ͵g 2q&0OxG͵j/ʆSx\͞.7:77!a{  ʨ ʨ0:?ŷO !y$ 7o&))T])))!y 2p_ :p6)))Y~0̿7G~`2@2@#~2@~?>&=2@#^#V#^#V#"@^#V"@:@ '*{@!:@@'"@*@#w"@*@~9'D'/Ϳ7͈?+"@*@+"@!6D"@6!^D"@*@~*@*@s#r#*@s#r#*@s#r#*@s#r#*@s#r#:@w#"@'*@*@s#r#*@s#r#*@s#r#*@s#r#*@s#r#:@w#"@'|E'}X27*@+~2@+V+^+"@V+^+"@V+^+"@V+^+"@V+^"@"@*@+~2@+V+^+"@V+^+"@V+^+"@V+^+"@V+^"@"@p';(ͯ''͋(!"@"K@2@<2@2@2@ͥ)()(*¾(2@2@(S*(#)2@2@)l*ç)<;00?;   Á!9DM! ! ͻ#| ! ;! ! !: !I !!!R ! |I !n *:$6͐|Ҳ ! ! ! ! ! !* !I !x ! !  ! ^#Vr+sz ! ^#Vr+s~#fo|  *! õ Wildexp overflow LSWEEP Derived from: LDIR & LTYPE Joe Vogler 84-22-01 Ver:%d.%02d %s %s %s Requires CP/M 2.0 or better Correct syntax is: LSWEEP []... where , , etc. are unambiguous library names. Filetype .LBR is assumed if not specified. Ambiguous names are allowed. ----->Avoid using wildcards in the extension. ----->If using wildcards, always use .LBR In either case, user/drive prefixes are OK. e.g. 'A>LSWEEP 4/D:*.LBR' is ok. %s not found on disk.  0!H  !U  !p  !  !  !  COMMANDS: ? - Displays this menu. E - Extracts (and unsqueezes) a member. V - Views a (viewable) file. X - Exits this program. Any other input skips to the next member & P; î#Z#1]1S;0ø&!9DMk:$}Y M #|Y *!% *:$6͐ |„ ! ͐ #|ʒ ͐!> ͐* !.͐ #| !T* !* *s#rz*!Y # !M>$M<$!k ! Can't close library: %s Bad library name: %s.LBR Library: %s has %d entries, %d free: ß0ÿ1A! æ c!9DM!; 6!, 6#6͐,|ʰ*@$*@Ds#r!0 s#r!2 s#rM<$M>$!( s#r!( ^#Vr+szڥ*@D^#V! r+sn}—!M@D`ḯM@D~#fo͉*1s#r*1~#foM@D~#fo)|ʆ!É!s#rM1`i͐2#*!͇M@D ~#fo!4 s#rM@D~#fo!6 s#r͐*͍͊!: s!: n}?EVXxÆ͐J!: n&!͇!: n&`i͓>qA>\>aM>>Y>+G*3!: n&͐6͐4`i*͖>–>ʥ>a¢>ʮ!; 6*3!: n&͐6͐4`i*͙#|!; 6J*3!: n&͐6͐4`i*͙#|(!; 6J`i!.͜!͇!; 6J*@D^#V{ _zWr+s!2 ^#Vr+s!( ^#Vr+sÉ!, w#wåÉÉ!2 ^#Vr+sâ!0 ^#Vr+s!͇ö!2 ^#Vr+sÿ!>9 %s * %2d. %-12s %3dk > %c Can't type %s files. çc!9DM͐ |v!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|p!͐|v!è͐!.`is#rzʢ͐##n}Q¢!qè!aè!9.com.cqm.crl.frm.fqm.dbf.dqf.ndx.nqx.cql.lbr.lqr.obj.oqj.arc.aqc.rel.rql;S;0ëj!0]1(1û; <[2Ï34A!P;!Z9DM! w#w! w#w!͐! s#rzƒ͐!!ì͐>V“>ʢ>EŸ>ʶ+͐!<!! #|! 6#6!W͐! ! ͐! ##|! 6#6W! !<!(!ì<!͐͐&͐>E`>o>Vl>#T! w#w͐͐!`i͐)+|ʭ!6!ì! w#w͐|͐`in! s#rz͐͐,! ^#Vr+sõ! ^#Vr+sw![͐/͐2W! w#w͐͐I!`i͐)+|a!c!ì! w#w͐|;͐`in! s#rz;͐|ʧ͐##|³! 6#6W! ~#fo|g}os#r!͐|-! ^#Vr+s!-5> >>>"! ^#Vr+s-W! w#w-! ^#Vr+si! ^#Vr+s+!WW͐|“͐#|y!Á!͐/͐2͐8*:$6͐ì!9Cannot open %s Viewing file--> %s To Drive? (CR for default) ** BAD DRIVE PREFIX ** Extracting file--> %s Invalid mode!Error reading this entry - aborting Done. Error reading this entry - aborting %c ** ABORTED ** , Done. S;0û;s&$ëj!0]11Á$[2A!P;Ï34!E9DM! w#w! w#w! w#w!͐ͩ! s#r͐#|-͐!ͬ!* w#w*6c#6!͐͐ͯ! `i͐Ͳ|ʀ! 6c#6É! `i͐Ͳ! s#r! ! s#r͐! `i͐͵s! ^#Vr+sn}§͐>V>>E>|! !ͬ͸! ͬ! ͻ#|3!.;! 6#6É! ! ͐! #|k!Gͬ! 6#6É! !\ͬ! `i͐Ͳ! s#r͐|ڰ͐|! !rͬÉ*6#6*6#6! w#w͐͐S͐))*! `i͐Ͳs#r͐))*##! `i͐Ͳs#r! ^#Vr+s! w#w! `i͐! s#rzʉ͐|‰͐|g}o|ͣʤ!ç!! s#r͐>E¿>>V>Ã͐͐Æ͐|͐##|! 6#6É! ~#fo|g}os#r!ͬ͐|€! ^#Vr+s!|ڀ> U>d>a>ru! ^#Vr+sÀÉ! w#wÀÆÆ[͐*:$6͐|͐#|½!ͬ!ͬ͐͐͐!9Cannot open %s Viewing file--> %s To Drive? (Return for default) ** BAD DRIVE PREFIX ** Can't create file! Extracting file--> %sInvalid %s decode tree size %c ** ABORTED ** , Done. ñ0!ͮ!!ͮCtrl-X to cancel, SPACE advances 1 line, CR advances %d lines 00<;!9DM͐ ͐͐͐ !F For help, type LDIR alone.!9DM͐n}ʠ! n! ^#Vr+sn}! ^#Vr+sk!í45!9DM͐`is#r͐n}J͐n&ͪ͐ n&<͐`is#r͐ ! s#r͐n} ͐P`i^#Vr+sn&ͪ! ^#Vr+sn&9<! ^#Vr+sÿ!P!9!9DM`i6 #6`i^#Vr+sz͐n͐ nѯgW! s#rzʩ͐ n}?ʩ͐! ^#Vr+s! ^#Vr+sh!!9!9DM! w#w`i6#6͐| ! ~#fo͐n&|g}os`i^#Vr+s`i6#6͐|Ҏ ͐ |V ! ~#fo͐n} V Î ! ~#fo! ^#Vr+s! ~#fo͐ns`i^#Vr+s' ! ~#fo n} ʻ ! ~#fo! ^#Vr+s6.`i6 #6͐| !! ~#fo͐n} !! ~#fo! ^#Vr+s! ~#fo͐ns`i^#Vr+s ! ~#fo͐6͐8!!9G!õ!>">!>">!>U">!>">">H#>">H#H#!Q#͐ n&|R"͐ n&|R"͐ #n}:R"!Q#U"K#͐ n&|"͐ n&|"͐ #n}/"͐ ##n&|"͐ ##n&|"͐ ###n}:"!Q#"K#͐ n&+|E#͐ #n&|E#͐ #n&|E#͐ ##n}/E#͐ ###n&|E#͐ ###n&|E#͐ ####n}:E#!Q#H#K#K#!Q#!9!9DM`iw#w͐n}ʟ#! ^#Vr+sn! n}“#͐å#`i^#Vr+sh#!å#!9!9DM! ^#Vr+sn`is{#`in}*#`in}?#!#ö#!#!9# !$#run out of memory $ $s#r*@$*@Ds#rM@Dn} (M>$| (*>$^#Vr+s*@D^#V! r+s'M&*:$6!9 no directorytoo many directory entriesa bad directoryt(n5!9DM͐q(|ړ(!͐n}(! ^#Vr+sn}*(?(.(/((!Ó(!(1!f9DM͐`i(! s#r! s#r͐`in}N)͐`in} @)! ~#fo! ^#Vr+s͐`ins! ^#Vr+s(! ~#fo͐6b)!9q)ÿ1!9DM͐n}ʥ)͐͐n&n)s! ^#Vr+sy))?; =.;=Ü-n51#/!9DM!ͪ)!n s͐{~#fo! s#r͐y~#fo! s#r`i6#6!l w#w!ͭ)! s#rz#*!Ï-!o 6#6͐o͐x,! ~#fo͐o)~#fon}!·*͐o+|…*! ~#fo͐)!-s#r! ^#Vr+s!l ^#Vr+s)!D ! ~#fo͐o)~#fo#s#rj,! ~#fo͐o)~#foͰ)| +! ~#fo`i^#Vr+s)! ~#fo͐o)~#fos#rj,! ~#fo͐o)~#fo! ͳ)!. !B s#r! ~#fo͐o)~#fo#n!/ s{:’+! ~#fo͐o)~#fon!. s!0 !B s#r!. n&!ͪ)!- 6! !- n}ʭ+!ð+!ͪ)!, s!, n}+Y,!- 6!, n& ?͐BͶ)! ~#fo͐)!. ͹)#ͭ)s#rz,!Ï-͐8|0,!Ï-!. ! ~#fo`i^#Vr+s)~#foͼ)Ø+!n n&!ͪ)!o ^#Vr+s,*!o w#w͐o͐lm-!q 6#6͐q͐_-!n n&! ~#fo͐q)~#fo͐o)!D ~#foͿ)|Q-͐q`i^#Vr+s,Q-͐q!s s#r͐s͐N-! ~#fo͐s)! ~#fo͐s#)~#fos#r!s ^#Vr+s-é,!q ^#Vr+sÙ,!o ^#Vr+sÀ,͐y͐s#r͐{͐s#r!Ï-!u9*.*!9DM! w#w`i6#6͐|.! ~#fo͐n} -.! ~#fo! ^#Vr+s! ~#fo͐n&|g}os`i^#Vr+só-! ~#fo n} I.! ~#fo! ^#Vr+s6.`i6 #6͐|ҹ.! ~#fo͐n} v.ù.! ~#fo! ^#Vr+s! ~#fo͐n&|g}os`i^#Vr+sP.! ~#fo͐6͐.!9!9DM! ^#Vr+sn`is{/`in}* /`in}?/!/.!/!9!9DM! ~#fo#n}:ʅ/! ~#fo#n}:‚/! ~#fon&! n&|/! ~#fo##s#rÂ/!÷0/! ~#fo#n}:/! ~#fon&! n&/! ~#fo##s#r/!÷0! ^#Vr+sn`is{ʞ0`in}?0! ^#Vr+sn`is{0`in}.0/0!÷0Û0`in}*w0͐n`is{L0! ^#Vr+s`in}.I0L0$0͐n`is{t0! ^#Vr+s`in}.q0t0L0Û0`in! ^#Vr+sn}•0/Û0!÷0/͐n}±0!÷0÷0!÷0!90[=!9DM͐n}0! ^#Vr+sn&000[=ë5!9DM*0! 0!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{M1'1͐T1!9!9DM͐`is#r͐n}ʇ1! ^#Vr+so1! ^#Vr+s͐ns! ^#Vr+sn}‡1͐ö1!91ä9!9DM! n&1|1! n&1! n&&1Ê=!9DM͐͐1s#rz$2!͐͐s#r͐##6#6͐6͐~#fog2[=?;=!9DM͐3͐>Š2>ʱ2>–2>ʿ2>¢2>2>®2>23! n&^2! n&!a2! n&!a2! n} 2! !a2! n&!a2͐##^#Vr+s|o3! ͐͐~#fod2|N3!͐##6#6͐͐s#r͐^#Vr+s! ns&Û3=À>û;!9DM͐ڴ3!4͐n&|g}o|3!4͐##~#fo|3!4͐##~#fo `is#r͐͐͐~#fo͒3͐94!4͐+?`is#r͐##~#fo|4!͕͐͐͐3͐##~#fo͐s#r͐~#fo͐s#r!!͐~#fo͘34͐##6#6͐͐s#r!4!95Ï3P;!9DM͐5!͐4͐~#fo4:59!9DM! n&75|a5! n& h5! n&&!9DM`iw#w! ^#Vr+sn}ʛ5`i^#Vr+s|5͐â5!9ú5:ê::ÿ1!Y9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ʕ9`in}%f9! ! s#r! 6#6! s! s! s͐n}-J6! ^#Vr+s! 4͐n}0Z6! 4͐n&ͱ5}w6! ʹ5z6!! s#r! ^#Vr+sn`is{.6! ʹ5! s#r! 4! ^#Vr+sn`is`in&ͷ5}D6U/7X87OA7Cʇ7Sʸ71979͐~#fo|/7! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 G7! 6G7! 6! ~#fo! n&! ^#Vr+s~#fo! ͮ5ѯgs#r08! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s08! n}7! 6#6! ^#Vr+s~#fo! s#r͐n}08͐|08! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s7͐6! ! s#r! n}ž8! ^#Vr+s!|ڞ8͐͐! n}{8!0~8! !8!9~#fo#|›8!Û9L8͐n}8͐͐! ^#Vr+sn&!8!9~#fo#|8!Û9Þ8! n}.9! ^#Vr+s!|.9͐͐! !9!9~#fo#|+9!Û98c9!Û9͐͐`in&!T9!9~#fo#|c9!Û9Ò9͐͐`in&!9!9~#fo#|’9!Û95!Û9!9!9DM! n&|ͯ9! n&|ͩ!9DM! n&|ͯ9! n&|ͩ::!9DM͐͐ V:͐^#Vr+s͐C:͐0K:͐7s!&á:͐ ͐͐ ͉͐:`is͐ ͐͐ )͐:`in&#&á:!9!9DM! n&|ͯ:! n&|ͩ:ê:!9DM`iw#w͐~#fon&:},;͐ ?͐^#Vr+snѯg`is#r:͐3;!9 7:PO*R#7,b;> 2h*P/:q2> ʲ;:h):Rʞ;=ʞ;=> ²;:qw#w#w:ho&552?;>7:P,>;2?!^#V*R:T<=;<*P;;*R!s#r7:P)V>گ2?<<2?7*+++:PG_*RDM! _ ~= Ó=#?S;7*P͍=:q2\5¾=> 2?!*P͐=7:P)"XV>z>z> z>z2:P,"j!"l*T|(>*j!^#V*X#^#V >r+s*l5*R"R*j"*lP>2?#>#"l*T+"T*j! N#Fp+qx=##6>2? >2?7*T|DM*R*Pگ>><>~# x£> ><>~+ x¿>|} ,>>2?)~2#"j!!~#fo#^#Vp+q*j~#fo?s#r5 !\/:q25!> 2?+;:h):Rʞ;=ʞ;=> ²;:qw#w#w:ho&552?;>7:P,>;2?!^#V*R:T<=;<*P;;*R!s#r7:P)V>گ2?<<2?7*+++:PG_*RDM!COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1a"20!F(wx[`a"ͯ:o&x:G7g.<x:? >@o&x!F *%x ͆ O:(,:(AA8[0:7=2*~#"E| }8 2!Ʒ:ER( 8<0)2!Ʒ`! (08 0 )))_!4*+"'͖͖d͖ ͖ R0x  0͘ NS͆ Number of Buffers :͆ Length of Buffers :͆ Current System Size:͆͆ Memory Available :͆ Non-privileged user͆ Minimum number of buffers = 2 ͆ Invalid buffer size requested ͌~#͘_Ͷ Reading boot tracks:Ͷ Writing boot tracks:ͼ~#_se ASCII value for the highest valid drive letter on your system, i.e.: A=41H, B=42H,...,P=50H This is also the first letter of the error message, so patching here will correctly report the maximum drive allowed. If the program is recompiled and relinked, this address may vary. Although the source code is provided, recompiling is NOT advised. The distribution object code has been patched to disable the feature in the BDSC v1.5 runtime routines which normally allow user prefixes on any filename. This patch would not be preserved in a recompiled or relinked version, which might compromise the security of the system. In addition, the maximum drive edit feature noted above would not always function correctly, since the code assumes that the drive letter, if present, must be the first character in the name string. For questions or comments, contact me at: (201) 935-4087 voice, evenings and weekends, Eastern time or Compuserve 70160,120 (CP-MIG or EMAIL) Regards, Gary >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/28/82) 1!~(G#~!8 xH ͚ :xO!"!~# (,:((*(/͑A8"0A0}<a{ _ Enter drive(s) to be changed:_ Invalid drive(s) requested _ Following drive(s) in use: _ Change drive(s)_ Enter when change complete_ Unable to free drive(s): e~#}f_Ͷ Reading boot tracks:Ͷ Writing boot tracks:ͼ~#_.ww#w#w#w*>?=͉;w#͉2> w#=ͤͲ 2l&0OxGͲg/ʃPxY͛.7:77!a{  ʥ ʥ0:?ŷO !y$ 7o&))T])))!y 2k_ :kThis is the distribution object code for LDIR22.COM by Gary Novosielski. Compiled at 11:34pm EDT on Thursday, October 13, 1983 at Rutherford, NJ In this version, the maximum valid drive may be patched at location 0x0A34. The default is 'P'. !9DM! ! !!! ! -|g}o|! !4 "&>K2%>2!"!͐@COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/30/82) 1wx(f v(W< J n _( : :_v!~(G#~_-_x 1v  Console attached to master processor $ Console detached from master processor $ Console already attached to master processor $ Non-privileged user $ Remote console driver not present $ BASE SIZE SIZ ABSOLUTE SYMBOL TABLEFile name missing from commanInvalid input file namSerial number violatioNot enough memorVacuous input file(sUnexpected EOF in input filDisk is fulCan't make output filNo input fileCan't open input filLoad address out-of-bound Multiple defined starting addres! GENCan't close library: %s Bad library name: %s %s.LBR Library: %s has %d entries, %d free:!9DM! ! s#r͐͐~#foҍ !& ! ^#Vr+s͐~#foͤ`is#rz¿ !& *!| ͐"!͐͐s#r!& !9!^ }H!!*!*!*2+|]!*!1|]*! ~#fo|]*!~#fo|e!+*!~#fo*!~#fok^ }•H*!~#fo+*!*2*!~#fo+!8 !*!~#fok""*!"#*#n}*|*+"*# "# no directorya bad directory!San absurdly huge directory!9DM`iw#w͐n}ʳ! ^#Vr+sn! n}§͐ù`i^#Vr+s|!ù!9!9DM!*͐n#|!?͐n#|!!!9DM͐ ͐͐͐!. For help, type LDIR alone.!9DM! ^#Vr+szʻ! ^#Vr+sn! nѯgW|g}o! ^#Vr+sn! nѯgW|g}o`is#rzʸ͐S!!9!9DM! w#w`i6#6͐|! ~#fo͐n&@|\COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/27/82) 1 !~(/G#:O: q#~  #y( O:D~(!+" !+"> >} > >} !h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{%`in}%! ! s#r! 6#6! s! s! s͐n}-™! ^#Vr+s! 4͐n}0©! 4͐n&J}! !! s#r! ^#Vr+sn`is{.! ! s#r! 4! ^#Vr+sn`is`in&Z}D=UyXʂOʋCS͐~#fo|y! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 Ñ! 6Ñ! 6! ~#fo! n&! ^#Vr+s~#fo! .ѯgs#rz! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sz! n}! 6#6! ^#Vr+s~#fo! s#r͐n}z͐|z! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s0͐6! ! s#r! n}͐n}-͐͐! ^#Vr+sn&!!9~#fo#|!%! n}4! ^#Vr+s!|4͐͐! n}!0! !"!9~#fo#|1!%͐n}x͐͐! ^#Vr+sn&!f!9~#fo#|u!%4! n}! ^#Vr+s!|͐͐! !!9~#fo#|!%Â͐͐`in&!!9~#fo#|!%"͐͐>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/29/82) 1wx@:\=E2 :l=J2#̓: ͫO:#ͫTͳ: A:#Aͨ ( n Y_!!: +ee*"**Rk( : 8w(( (:#8e((  3Q* #" *$#"$*+"| E3Z)t$͔͹t'tKtl!ˆ :GtG;(!͟O:͟ _pѷs "V>2 2"!"!0",ɯ2 <2"!" "$*""())))))):=)""*!"",͏A͢* jͯͨ(͟O:͟7(:͟( :͟ з '͈͈d͈ ͈ R0x  0 a{ R Insert source disk in drive Insert destination disk in drive Enter to begin copying Rea Writ Copy aborte Successful cop Non-privileged user No source drive specified No destination drive specified Unable to lockout source drive Unable to lockout destination drive Source drive not ready  Destination drive not ready  Disk types not identical  Insufficient memory for copy error, Drive:, Track: (Retry, Ignore, Abort)~# _))))):=)""*!"",͏A͢* jͯͨ(͟O:͟7(:͟( :͟ з '͈͈d͈ ͈ R0x  0 a{ R Insert source disk in drive Insert destination disk in drive Enter to begin copying Rea Writ Copy aborte Successful cop Non-privileged user No source drive specified No destination drive specified Unable to lockout source drive Unable to lockout destinationA|\COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1x:<2!~ / 0:2y2A2! !~(##~( (:Os~#( :~> >    C`u͔ ͔ Message sent to FIF͔ BATCH.DO FIFO file not found͔ BATCH.DO File not FIFO͔ FIFO file full͔ Excessive command length͚~#ͨ_BATCH DO USER \ :\ Enter to begin copying Rea Writ Copy aborte Successful cop Non-privileged user No source drive specified No destination drive specified Unable to lockout source drive Unable to lockout destination@{}COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 12/06/82) 1hw͆*|(> hͫô:\<2\!e~ 6D#6O!"!~_#6!#~ (#~ #~ (O#'("( +*#")s#r+#~ȹ 6!\ w#<!"!e#~ ($6$!hw#\\<!":G:Oȸ(!!808:00T])))_|( *R8)^#V~( ~#(>ȹ>>ȹ>!5 6> ![R~!5 6\![Rw!_ ~#!\~#@>:U>.U> > ~#! DELETE >>\<!~ wx!f\\b  Unable to activate DO file $"!e#~ ($6$!hw#\\<!":G:Oȸ(!!808:00T])))_|( *R8)^#V~( ~#(>ȹ>>ȹ>!5 6> ![R~!5 6\![Rw!_ ~#!\~#@>:U>.U> > ~#! DELETE >>\<!~ wx!f\\b  Unable to activate DO file $>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/28/82) 1*wxʭ:\2=2_pѷ·s~ :(:O:(:(!:A_  :(:O:(:ʽ·!q#"*#"(·!F(P:_r r g!"! V: O:< I!" 9 .:_r "!F rw (?U  a{ $YN O/k to erase directory on drive $ (Y/N)? $ Directory erased, $ Non-privileged user$ No drive specified$ Unable to erase directory$non-$hashed$ Hashed directory desired (Y/N)? $$ DIRk :P Physical tracks per disk :P Number of reserved tracks :P Media isPfixePremoveabl? >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1:] :e ʯ\XU!6#́> E:lHO:QH(:RH >2ͣ> E:lHO:TH(:SH >2: E(1-127>E(1-65535>E: E8(: | }0"\¹2|\¹\¹!]\¹i!]~(U!"|"~\! K\: +2:: S[*:(ͧ* E j :kl!8 (08 0)) )O 0|:k7=2k'11d1 1 R0x  0Y a{ RDYNE FIFO file not found, creating new filE Enter FIFO type (Ram/Disk):E Suspend processing on full/empty conditions? (Yes/No):E Enter maximum number of recordsE FIFO file createE FIFO isERaEDisE resident FIFO doesEnotEsuspend processing on full/empty conditions Maximum number of records:E Current number of records:E No FIFO file name specifiedE File not FIFOE Unable to create FIFO fileE Unable to read FIFO file headerK~#YM_8(: | }0"\¹2|\¹\¹!]\¹i!]~(U!"|"~\! K\: +2:: S[*:(ͧ* E j :kl!8 (08 0)) )O 0|:k7=2k'11d1 1 R0x  0Y a{ RDYNE FIFO file not found, creating new filE Enter FIFO type (Ram/Disk):E Suspend processing on full/empty conditions? (Yes/No):E Enter maximum number of recordsE FIFO file createE FIFO isERaEDisE resident FIFO doesEnotEsuspend processing on full/empty conditions Maximum number of records:E Current number of records:E No FIFO file name specifiedE File not FIFOE>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/28/82) 1_pѷ `s_JSrѷ @JA͒*R('!R~,,EOW~ :\='d  R0x  0͒ ~ Drive~ disk map re-initialize~ Allocation block(s)~gaine~los~ Unable to re-initialize disk map̈́~#͒_E Enter FIFO type (Ram/Disk):E Suspend processing on full/empty conditions? (Yes/No):E Enter maximum number of recordsE FIFO file createE FIFO isERaEDisE resident FIFO doesEnotEsuspend processing on full/empty conditions Maximum number of records:E Current number of records:E No FIFO file name specifiedE File not FIFOE>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/28/82) 1:\ :] :e :\ <2>=_pѷ es:\=_r I> >>! 3: ,:< &!] >" > (   $ Disk label written$ Unable to label disk$ Invalid disk label$$ DIRE Enter FIFO type (Ram/Disk):E Suspend processing on full/empty conditions? (Yes/No):E Enter maximum number of recordsE FIFO file createE FIFO isERaEDisE resident FIFO doesEnotEsuspend processing on full/empty conditions Maximum number of records:E Current number of records:E No FIFO file name specifiedE File not FIFOE>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1xc 2o2%:!Tz2{2x2ͨ! !+2*:( +"|< !5K O](=( ?!6#(#(((T*#"| !4!@fTB,# ! 6<*+!""A!6T]08Y (!:0o: g2 ::8A8-[0)!R8w#:0o: gdң2 :(, D !կ(#( ãy2 (*:  : 2 :  : 2 : (a:  x2!* &: =0C: * &! =(^#!: = 0;;!: ('6 #* &+T]D6 #:  6*#6$2 {2 z2 <: W: _: !Rg!|D)0)0> ͆ ͠u0 ͺ!_  r8:o ! Ϳ06PI81͆ 2s  ͆ !g (!s 4~8ÂTRI͆  >ʐO? !&!R  TSt _t  I͆ # >(+O? 3T: W: _: GS# ͢~  ͙[I4 >!?  ͽ[Ͱ[* : ( +" |< ! 5(X( =( j(#(((* #" | ! 4Tz2 {2 x2 t _͢!t   !~  ! @:o _o :p 2_o( K o͆   "!"q ! 6  ! 6 #<   * + ! "!_ ? #!g  % : (7!07!8*q +"q !_ 6 #7 8(,( w# x?!0 7 (,(08%:0!0Gy ?O(' ( ?0 ,(zP(,( ?0 (y2o 2p  7 (,(zA?2p *q } !(6~z(#"q !6#" A! 6T]08Y (! :0o: g2 ::8zA8-[0)! R8w#:0o: gdZ2 : (, b  ! կ(z#( Zy2 (* ͸: : 2 : : 2 : (a:  x2* &: =0C: * &!=(^#!: =G 0;;!͸: ('Ϳ6 #* &+T]b 6 #: Ϳ 6*#6$2 {2 z2 ͸: W: _: !R!|D)0)0> ~#( G~zw#:> O:= (6 #= :> 2^ != p#6#͘ O(< 0(4 (5(6(2~0q#4:^ (y 0 @>^ͤ >ͤ Xͤ X ~( n+~ n5:^ ͆  a{ ͆ System log on ͆ Enter user id:͆ Invalid user id͆ Enter password:͆ Incorrect password Enter date:͆ Invalid date͆ Enter time:͆ Enter activity:͆ Unable to log onJanFebMarAprMayJunJulAugSepOctNovDec͌ ~#ͤ _USERI SYSSYSLG SYSDD MMM YYHH:MM:SS-USERID-NN ON -----------ACTIVITY------------ 2  ~#08:?80 !~  Ϳ6:#Ϳ6:#Ϳ6$/ p#:w#!> ~#( G~zw#:> O:= (6 #= :> 2^ != p#6#͘ O(< 0(4 (5(6(2~0q#4:^ (y 0 @>^ͤ >ͤ Xͤ X ~( n+~ n5:^ ͆  a{ ͆ System log on ͆ Enter user id:͆ Invalid user id͆ Enter password:͆ Incorrect password 6COPYRIGHT (C) 1982, MuSYS CORP. (VERSION 12/21/82) W (q  Enter to Continue $ $ GOgj-9;Z~+( ~; #++O@͍z;*3 $!O!w 6#;? 6 #6#!x 6 ;T@͔?( ̀??.(7;i:( ! @͔?ȷ@:w 7f;~x7:x A? <2w 8; (:.*(w#;x:w 76?#;% 7[u ;7=6; Oy% =;![u Su !͸0; O)) ) [;@#| #" ! ;&B͸8j8 ))))o@0b;;~# ?@=|];P@T} ]0:8;e 0 ??̀;{#M|}! 5ʐM;  (MT;HO~͑TT; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; c>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1T*F"I:H2Kl8rO:͟(/:͟():͟(0:͟(4:͟(%:͟()4>2Fu8m<2G2G<2G>2Fu8N2H!Cd:CG(=[F:HGL:F= *:G($=g.L:H<O([I:KGLͮT:F((.:HA2:G(  :G( :G@2   CL"F2H͈ ͈ (͈= ͈A?:7=2*D~#"D͟a{ PQFCOD  Invalid Request  Printing is to SPOOLER on DRIVE  to QUEUE PRINTER OFFLIN CONSOL&~#2'_T; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; c>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1C  5 28_O:\S(/:]S(/:^S(*:_S($:`S(:aS() <> >>22!:G([:GN :GN 2"b:Ap:(́@:= ͙͋ͤͺ < < (<= <A?:7=2*~#"Sa{ QSGBTOͺ Printerͺ Assigned toͺQUEUEͺ (StoppedͺOFFLINͺ Invalid Request~#_T; !% ~7( 5@*u ~#L;H"u $!& "u $  H;= @={a B; ; _J; $Ok; 9; N; c>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1/BL}( |=Y2+2-:] :e !)!~( >2 :(:O:(:(!*ˎ!*ˆ!" ͬ:*G O D:)O(=x>2 :(:O:(:(N ͬ*#:\  o:+g:*W(O(͒͜(   *+"|*#ͨ:\=A*#~#~#foK ))) )K 8 \!zͽ!)Ò!z6# 6 #6#!{6 t?( ͝??.(7:( !t?ȷ:z7x7:{A?<2z͝(:.*(w#x:z76?#:17[.;7 OS.:1=21ya8{0  *0 !1~#". a{ YNDSQ No queue number available Invalid queue number requested Ambiguous filename: confirm individual files (y/n)? Ok to queue (y/n)? not queue File not found Invalid filename Insufficient memory~# _2H(   *+"|*#ͨ:\=A*#~#~#foK ))) )K  >COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/30/82) 1:] :e (w\ q!]~(o\ i\ ^N !~#(9(5 0* ( (& %:sOG!s> b4!s6!s4b}  $8N N No FIFO file name specifiedN FIFO file not foundN File not FIFON FIFO file emptyT~#bV_ _2H(   *+"|*#ͨ:\=A*#~#~#foK ))) )K @|\COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/26/82) 1:] :e (u\ o!]~(m!~(/##~() (#~( #~( (:O~#( :> > \ \  $>Rg g Message sent to FIFg No FIFO file name specifiedg FIFO file not foundg File not FIFOg FIFO file fullm~#{o_ to ͙ (y/n)?͙ rename to same filename͙ already exists,͙ok to delete? (y/n) ͙read only͙FIFO file, not deleted͙ delete͙ not͙ renamed to ͙ File not found ͙ Invalid filename 1͙ Invalid filename 2͙ Insufficient memory͟~# _H>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 06/16/82) 1!]~ (S~#(# (08< 08Gy83808-8*8'8$Oy 0_  ѻ(     0:y(0__  $ Current user number: $ Invalid user number requested $ Non-privileged user$Enter to continue File not found Insufficient memoryYH  *+"|*##*#~#(A(:\=~#foK ))) )K 81 wx:\=2_ :w Or:\͹ INSERT DISK TO BE FORMATTED IN DRIVE:_ A ͹ ENTER TO BEGIN FORMATTING ( ʱ͹>2^ ͹ STARTING FORMAT PASS * "x !"` : 2| 2] ͹a7>2^ (͹ FORMAڶ(( ͹ FORMAT ABORTEö!] 4!| 5 : 2| 2] *` #"` *x +"x } ͹ SUCCESSFUL FORMAT STARTING VERIFY PASl͹ INSERT DISK TO BE VERIFIED IN DRIVE:_ A ͹ ENTER TO BEGIN VERIFYING ( ʱ͹͹ !l "h >2^ ʈ!"d !:p =)"f  Sh *R\*s "x 2^ !"` *q "z !"b ͹(͹ VERIFڶ(( ͹ VERIFY ABORTEö*b #"b *z +"z | *` #"` *x +"x | ͹ SUCCESSFUL VERIFö͹ NON-PRIVILEGED USERñ͹ NO FORMAT DRIVE SPECIFIEDñ͹ UNABLE TO LOCKOUT FORMAT DRIVEñ͹ FORMAT DRIVE NOT READY )͹ INSUFFICIENT MEMORY TO FORMATU͹ INSUFFICIENT MEMORY TO VERIFY:w O +.͹ VERIFY DRIVE NOT READY :w O)r!w ˆ͹ :w GO)rG;(!w _R V =_pѷs^ V͹ ERROR, DRIVE::_ A͹, TRACK:*` ̈́͹, SECTOR:*b ̈́͹ [, , <^C>]͹7( ( ͹ '͢͢d͢ ͢ R0x  0 Ϳ~#(_6   : (8@  \  !0:0DM)) )oM$=2)) ! *R> ! 6#v: G_! }/o|/g#" x/o&#"  * ү* ààx* : «! "h : 2d :] 2b 2e 2c !"f 221Select disk type from following menu *** Hard Disk selection choices *** 0 = ST503 ; Seagate Technology ST503 1 = ST506 2 = TM601S ; Tandon Magnetics TM601S 3 = TM602S 4 = TM603S 5 = TM603SE 6 = TM501 ; Tandon Magnetics TM501 7 = TM502 8 = TM503 9 = SA602 ; Shugart Associates SA602 10 = SA604 11 = SA606 12 = SA1002 ; Shugart Associates SA1002 13 = SA1004 14 = Q2010 ; Quantum Q2010 15 = Q2020 16 = Q203!0 17 = Q2040 18 = M4010 ; MiniScribe 4010 19 = M4020 ? $ Invalid input try again. $6   : (8@  \  !0:0DM)) )oM$=2)) ! *R> ! 6#v: G_! }/o|/g#" x/o&#"  * ү* ààx* : «! "h : 2d :] 2b 2e 2c !"f 221Select disk type from following menu *** Hard Disk selection choices *** 0 = ST503 ; Seagate Technology ST503 1 = ST506 2 = TM601S ; Tandon Magnetics TM601S 3 = TM602S 4 = TM603S 5 = TM603SE 6 = TM501 ; Tandon Magnetics TM501 7 = TM502 8 = TM503 9 = SA602 ; Shugart Associates SA602 10 = SA604 11 = SA606 12 = SA1002 ; Shugart Associates SA1002 13 = SA1004 14 = Q2010 ; Quantum Q2010 15 = Q2020 16 = Q203>COPYRIGHT (C) 1982, SOFTWARE 2000, INC. (VERSION 09/29/82) 1 wx:\=2' :? O©:'  Insert disk to be formatted in drive:' A ͢ Enter to begin formatting ( >2& *6 Starting format pass * "@ !"( : 2B 2% %W>2& *( Forma4((  Format aborte!% 4!B 5 *( #"( *@ +"@ |  Successful format Starting verify pasi Insert disk to be verified in drive:' A ͢ Enter to begin verifying (  !4 "0 >2& *ʨ*9 ", ))))))):8 =?)".  S0 *R|*; "@ 2& !"( "* *( Verif4((  Verify aborte*( #"( *@ +"@ |  Successful verif Non-privileged user No format drive specified Unable to lockout format drive Format drive not ready j Insufficient memory to formatU Insufficient memory to verify:? O +. Verify drive not ready :? Ojé!? ˆ :? GOjéG;(!? R V _pѷs& V error, Drive::' A , Track:*( ͬ (Retry, Ignore, Abort)͢(A7( R(I  'd  R0x  0  ~#  _a{ : |(*! *R>! T]6: (6N : _: 2, GO ! 8zw#p: _!: (!^#V#^#VS  ! N#F#F#~#:( :% ~#* ~! "0 R". : : (2* :% : (2+ R^2B( ( (  PN 2N N NPN 2N N "NPN 2N N BN2 2 2 2 2 ͆ : ?! Enter density (Single/Double): (  S( D( S(! 6: :! Enter number of sides (1/2): (1( 2( 02 : L! Enter number of tracks (3=35, 4=40, 8=80): ( 3(4( 8( #3((4(Py2 : B! Enter format type (TurboDOS/Cpm): (  T( C( ! 6C(44: (4! : _: (+~2 ! : (+~2 : G G;( S D 2 1 2 2 3  4 8 2 T C 2  6*T:t  : : ~# _a{ N NPN 2N N "NPN 2N N BN2 2 2 2 2D!ÛYD :-o&##͝"1w !͝'D͊q $! ͝w#w#]Ts#r#s#r# #s#r !_!` "e`*e # q+ m12gsͅ|͠)ɯG^!$s#r#> >>ɯ> !~wɯ>v@JJJJ*3}=2)))T]))͝"!U5p#(p#(6 #~#w#OGi`͝s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# 7ÿp#p#T]s#r#s#r#!t!t!"!"!"!"!""!"">@!7"@>>>>>!>!" !"> >} > >} s{"*Ͼ*{ Y 1*##[vRTym(Rn(T=(+('( (=( 23{(8:o %<2o(Q1ʹ ͓>@!6 >SS*| s"{*6;m1n1ͺw1(ͺͲͺͲͺĺ:G2:,(G:*_:+WL1o1fSb1l1{*f e<(1 1>2!" 1ɇ1O21*v[RT!>+r+s+w"2!""Yf M11:_1>@ñ*|{*|{*>'d  R0y 0_1tr~( =(=(:tReatWrit tNot readt error, Drive:~AOc~(Dt, Track:nft, Sector:nf^Vz( t -t (Retry,~( tIgnore,tAbort)(  v͈O::=~:<y͋o&Ͳ͒À:/̀L C#"3!8~('6@( :*1#~#28NzϾ[1 ϾL ^mk^͍:: !B~ 6C#6O#6MϾ9qϾ<=B!\6# 6 #6# (y<(^͍8\͍̈́8l̈́kH8y͈{< H0{=ր2y:9=2_ϾH0N͆:9 :0( :<͒^̀̀!9 !96# 6 #!:6 ?( ??.(7:( !B?ȷ:97x7::A?<29! &ALERT &ALT **APPEND . MBAKFILE 5:BELL-CMD =BELL-VAR 5:BUFFER 5:CALL CCANCEL QgCAPTURE TMCHAR 5:CHECKSUM YCIS a KCLOCK j#CLONE o%CLS =COLD o%CPM =CRC YDEBUG u DECIMAL ~DEL =DIAL DIR DSC =DU-SPEC E <ERA `8ERRID W$ESC EXCLUDE `EXIT =EXTEND xFILTER GLOBAL HELP -HEX ~ID 72INITFILE INSTALL KBYE 8KERMIT SKEY `KEYS `KFIN DGKGET  KLOG ]KPUT t7KSET `L <LF 5:LIST 5:LOAD  RLOG MULTI $ mPAGE 5:PHONE /ZPRECHO TMPREFIX 4[PROTO ;UQUEUE @"4R <READ F"CSTDSPOOL ;STANDARD SINGLE USER WITH SPOOLER CPMSUP ;CP/M FUNCTION SUPPORT MODULE HDWINIT ;HARDWARE INITIALIZATION SQINT ;SUPER QUAD INTERRUPT CONTROLLER SQCON ;SUPER QUAD CONSOLE DRIVER ;LSTPAR ;LIST DRIVER FOR PARALLEL PORT LSTCTS ;LIST DRIVER FOR 9600 BAUD PRINTER (CTS HANDSHAKE) ;LSTETX ;LIST DRIVER FOR 1200 BAUD PRINTER (ETX/ACK HANDSHAKE) ;LSTXON ;LIST DRIVER FOR XON/XOF HANDSHAKE SQDSK ;SUPER QUAD DISK DRIVER SQHDC ;SQHD2010 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2010 ;SQHD2020 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2020 ;SQHD2040 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2040 ;SQHD4020 ;SUPER QUAD HARD DISK DRIVER FOR MINISCRIBE 4020 ;SQHDS506 ;SUPER QUAD HARD DISK DRIVER FOR SEAGATE ST506 ;SQHDT502 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM502 ;SQHDT503 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM503 ;SQHDT603 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM603SE SQSERIAL ;STANDARD SERIAL MULTIPLEX DRIVER SQSIO ;SUPER QUAD SERIAL I/O DRIVERS SQPIO ;SUPER QUAD PARALLEL I/O DRIVER SQRTC ;SUPER QUAD REAL TIME CLOCK DRIVER UPER QUAD INTERRUPT CONTROLLER SQCON ;SUPER QUAD CONSOLE DRIVER ;LSTPAR ;LIST DRIVER FOR PARALLEL PORT LSTCTS ;LIST DRIVER FOR 9600 BAUD PRINTER (CTS HANDSHAKE) ;LSTETX ;LIST DRIVER FOR 1200 BAUD PRINTER (ETX/ACK HANDSHAKE) ;LSTXON ;LIST DRIVER FOR XON/XOF HANDSHAKE SQDSK ;SUPER QUAD DISK DRIVER SQHDC ;SQHD2010 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2010 ;SQHD2020 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2020 ;SQHD2040 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2040 ;SQHD4020 ;SUPER QUAD HARD DISK DRIVER FOR MINISCRIBE 4020 ;SQHDS506 ;SUPER QUAD HARD DISK DRIVER FOR SEAGATE ST506 ;SQHDT502 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM502 ;SQHDT503 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM503 ;SQHDT603 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM603SE SQSERIAL ;STANDARD SERIAL MULTIPLEX DRIVER SQSIO ;SUPER QUAD SERIAL I/O DRIVERS SQPIO ;SUPER QUAD PARALLEL I/;SERCHN = 2 ;CONAST = 00,CONDRA;01,CONDRA ;CONBR = 00,08E,01,08E SRHDRV = 0FF ;SEARCH SYSTEM DISK FOR COMMAND FILES ;ETXBR = 47 ;NEC 5510 WITH CTS AS WELL AS ETX/ACK ;ETXLEN = 6E ;LENGTH OF BLOCK PRIOR TO ETX ATNCHR = "^@" ;MAKE ATTENTION CHAR. BREAK CHAR PTRAST = 1,LSTDRA ;1st = 2nd serial port PRTMOD = 0 ;NO SPOOLER SO MAKE PRINTING DIRECT DSKAST = 0,DSKDRA,1,DSKDRA,0FF,DSKDRA,0FF,DSKDRA,0,DSKDRB,0FF,DSKDRB,0FF,DSKDRB,0FF,DSKDRB STEPRA = 02 ;0 = 3MS STEP RATE FOR QUME DRIVES ;1 = 6MS ;2 = 10MS MEMRES = 0400 ;AMOUNT OF DYNAMIC SPACE BELOW THE O.S. AUTUSR = 080 ;DEFAULT TO PRIVLEGED, USER 0 NMBUFS = 04 ;DEFAULT NUMBER OF BUFFERS BUFSIZ = 03 ;DEFAULT BUFFER SIZE (LOG2(SIZE/128))  H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.#6#MDq#p#q#p̈́ :&8 !%8~="w2&8"F* ͸*[(8}/o|/g"(8:'8O/G~$w*~$w$(< z͜ ͐ ,~* 2)v ,n$f%:'8<_Ru$t%u$t%( ~=[*8!*8R( ͮ ͜ ͐ 4*08ͮ ~= ##^#V!.8R ͜ \͐  u 4! ͵ w#~$w#~%w#~&w#:'8<)~(~*w#6* ( 6;!u V*:"N(u't(^'V("F("F(Ϳ +~*<8w~$ݶ*w$ä ͳ*}2%8|0>2&8ü:%8o:&8g*!w=|*~1*~1"OF2C}o|g"(8ˀ!.8C}o|ʓ^#V!.8R(w####~ ͮ x Ϳ v A ~=>͜ Ϳ ~(( Kͤ Ϳ p(~ h "K [(8yø*ͤ x~ =x(4@(x`` )!28 ^#Vz(y4!~ p+p!7 p!.8^#V!.8R( ! ˶@`ͺ !.8^#V!.8R(î ####N# w#~#> ##q#~*8>)~>Ϳ ~˾͵ ~4!* 6;!ͺ ~w 6!:%8ݾ06͵ ~(< u ͵ ~#w# ut=ͤ ~  a*!6!*8~* a*!.8~* 7( ~( u+t,   n+f,~#"*.8.8R*Z~(1"ͭ"~w (:.*(w#x:9766?#[17[3;7= O:.76y͈[1=[3S3L75*3N#"3:.7ȷL25*3"6L:5w*6"3> ̀> _Ͼ Ͼ ϾϾ!~(#  ( ]Tqͩ|(*~¾N#:-0O[1yS3!860@:6<(-O! ͝ ####:8w#qy(#*3!EW28*1#wL!E^#V+R*1#~:IK͑!c!cFˆ>N ʹ < :JW͑/!cί1q1ɷ!c~1 ˎ2dʹ <(!,2d*f)0!h ~#fo~=͑}/_|/W :d!`~) 0Ws1:e<=_o1Jm16n1o111͚N! ! ~( (wͯ####^#Vz(s#r!!~#w@~w760͐h'6! 6\6!w#w#w'~(<=( =(,6Ocr!D'~=(h\ A'6!1ѷ !!4 #4 #4c~(1͂6rG̀( N! p>1ɷ1ͅͺ"fͅ"f>ñͅ#~͑[fͯͺ"ͯ"yͲ}o|~͑[{ozg}/o|/gN#~< ~0w0O>¾ͩ! z<(ez<(=(=¾{(wzþ ^#VN!h ɷ(  #~#fo!!O ! ~N! !9u5t6$e"~.ZfͰͩn/f0*ʹ"u/t0u1t2ͷt.Zu Z*n5f66.n9f:|( n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z~/!018I!7O ^#V|mP˛˪,̂lͰ&۽΍9Б:ۗtб[rJНr}7PXblB8b-ۑ3AL͌ þ"ҷ(@(!"ҷ ͩ ~(>Zn~@d¾w.vN++~˾~@i(6@͏w@ͩwXu1t2&4ͬ/ʾ4͌ͩ~? wk="*F͛ͩ#~@ w#ɷ¾͐;-}w.}o͛ ZN=þqe 1 "ZV 6D8 h}ģ͇ Oy qدPͷ A >84 "ҷ ,~[ͷ "ҷ>  6Kշ 4þPͷ¾ >8m "ҷ e~[ͷ MG"ҷĹѷ ; C|շ : 4ҷ -~[ͷ "ҷĹѷ G 6w. 6þd4~ >w##4<ͧ(<͌87ͩ˾ ("ҷ *ͩ #˾͹ѷ >þͧʾxͫʾNھe¾ ¾x ͐wͬڷ/ʾ~ẁ6Dx ~w(x=(#?(͐Xͬ¾̀DNwFympy~w?(ͮ/ww͇~w?ͩ  Nھe¾ͩ# # ˾0#D͇ &8( "ҷ> 7Kþ&ھ("ҷĹѷ> ¾|շw. ~hw~gw~fwd7~ ~wh#~+w#~#~G~#O>>~Ox ##y>7~p##q=~wf~wgͧʾdׯwfwgwh~@e ͇ w.("Zn(:~@(46@e +  ~ nˮ( (w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh ~^##Vg{怄O>G{GzGz_> #q#p#wiq8Ϳ~8# s1r2ͷ~w/~þinfͷ~w1~w2~w/~w0~þ~1͚͑[42()~1ѷ¾52 }/o|/g"{ozg"{Oz(>g~1w6ͩ3>#| 4Xӷ ~@n(ͩ# ~##~ͦ8w###6~Dկ*(###> w ͩ## #˿##~(H*(>ͩ8wӷ  ͩ ͦ8###wD˾Fn6k~@ͩ#ͳ|+Nk6k͗qkͺ͗(c8)8:!"! +#Oͮ/ݦw_{(*|g}oR0+͗͐zwͬ.8 w8~(9x(((( ͉(~(T(N͉(ͮ/O =#˯~0.~kͳ|< ͽY^( >wAwB~k?O?^CVD͎Q( ~k?(8sCrDnEfF!uEtF~O* )"Y͎=3 *(>>ַ~#͚O ?' +  )###4ڦ !+++ /OG(6" ~ܾ8=)))0(r+s͔!~#͚2!w#r#sZѯ !RDM!x(6͛u't())s$r%w&G) ܦѳ_ NͮڦG<8= ͩ ( ^(#Vz~1w#~#(6~#ͷ۷(< Û~#ͲͲˇ+R:bk##B8B0! < {_G~  (wDx~ ##~Z~ =ͩ#$~# k # yDIRDSK͎ٷ&N 6 #6#6#6#6#6#D6aN;6 8(6Da +Ϳ~=w> O6 (6D^͔.0%~( h}Ĕ~86D͎ٯ&6D>7~(0 .0!~  D6#>7~&~  N###~< =y >ɯ~#͚_!~#͑:o:>7 ~/ط a#<_#{ x7NF >8= ɯwAwBQaڷR+B0QRn&)= #! ^#(V#zd~?(~ ?>#w#w  Oy(G7~=~ =nAfB͎!( ~k?(8+uAtBnf!â~1w=~=þͩâ~1 ~@Z~(w@>þ^1JLG)͛s#r#wþͩu7t8ͩu9t:Zv 9~1(Zn ,w@0ZZZZZ:w@:w=>þ~1w[Oz<(!`Oqn7f8|>ͩ~?(=~=k ͩ ~    ͩ~nLfMuLtMnNfOuNtO^PVQsPrQͩs1r2 :=_~=_sLfݷ¾ wͩ !"M}((*RS( *"!6 *!4*6#"M}?*!~#"!([ o&=)u t!^>V?sr8H*v+++R8r?~$w~%w~&w6›Yͮw.YLͩ""!hͩ! !Lm!(^#V+R( :6:#(G72%:$ !#~=w2$"F'͍͑[&}/o|/g"&:%O/G~$w*~$w$z(< zV J~* 2)v ,n$f%:%<_Ru$t%zu$t%(~~=[(!(R( hVJ4*.h~~=͆##^#V!,R VJ/͍͍ow#~$w#~%w#~&w#:%<)~(~*w#6( 6/͆V*:"N(u't(^'V("F("F(y+~*<8w~$ݶ*w$^mͩ}2#|0>2$v:#o:$gͷ!|þ~1~1͚OF2}o|g"&ˀ!,}o|M^#V!,R(w####~ hx yv A~~=V y~(( ^yp(8h " ͆[&yÑ^x8=x(4@(x`` )!0 ^#Vz(y~ p+p! p!,^#V!,R( ! ˶@`Ût p!,^#V!,R͓(h####N#͍w#~#> ##q#~*8>)~>y~˾o~6t~w 6!:#ݾ06o~ͷ۷(< /o~#w# ut=^8Û͆:!6!(W͆:!,W~4~J u+t,   ͆n+f,~#Ú*,,RͩZ~(1͓g~wyw.~ͩ ͓s#r^ V o~0>þw6~8*=uN F! ~=8qpn f!#^V~FC?nf| )R0=X =z:!R0nf NFq p utsrNF nfR0; utѷn f NF DM!Rutnf#~wnf^VRy~ͷ=<(~=#%ut ~_!0^#Vz %6y ~ͷ۷( Û͓r+ss r   6~_!`~~#w^#V^ V _!P~Z:w[*u1t2:þLͩ^#V#~#W~_!  GMAC"'@!+@=~vO#~ Q w#6 #wD̈́K>2<2@2>2-=2<2<2=2<2?2=!= w#—<2(=2.=2/=2=> 2<:@2<:@2*=>;23=<22=!"4=+"@+"6=*'@!!62[?21=2+=29=2?<2)=?!H="F= ~# R*4=#"4=!"6=:2==23=!9=>2@2@͖ CCl CC0Cw#C!H= ʎ ~w# Žw:9==28=͖q:,=ʨNЯ2,=4OMگ!F> 2H=J> J7ò- !"C=20==2?*="=:H=*>$2H=$2E=U :ʋ:E=$:==$U !=~4#>$Nwy#*F=+~# ʿ+U ~#~"RR *F=+"F=:(=k+s -"x-ʯ7D-"F=+ÿ:(=ʹ1 -"C=j # :µ@ U 6 :(= ʒ8 :(=l`k#~! _^#V#N1! ; !H="F=*C=|U :(=lÍ'!==Nwy#3!>">!> q#K6 U l;l:<—:>VʋMʋDʋX2[?~+ACDEMNOPQRUVX!>~ p:>2>%No END statement:=.ʊ$ʒ[YTE3ALLSALL1Cj?CF1M/MA?MCMP2NC2NZOMMONOND1PQ PrPDsPDR2PE*PIrPIsPIRj/PL2POSEG1Z'AAj'AA ADBC"CR CXR ECEFB"EFLEFMEFSEFWIiISJNZSSEGWIiILSE ND NDC NDIF NDM NTRY QUQXjXXXITMXTXTERNALXTRN LOBALkvALTvLTF2FB9FDIFFEFF:FIDN3FNBFTaM)NQNRNC8NCLUDErNDsNDRrNIsNIR"NRNXF1F2FDEFFNDEFRPRPC1C1M2MP2NC2NZ1PQP2PE2POQR1ZQD2:DA DAXrDDsDDRrDIsDIR3*HLDOCALJXI8ACLIBACRO:@OVBVIAMErDEGOPjOPQRRARG*RIsTDRsTIR*UTR UTsUTDsUTIAGECHLOPR"OP UBLICUSHS$USHALARC!EPTZ&ESETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDMNCNZPPEPOY.RjRARCZ0RCkRCArgRD"STR2STZBB*BIR4BCj7CFZ6ET"ET3"HLD0IMZ8LAPHLZ:RA"ZUB#UBTTL*UI$ITLECHGR@ORRA*RITHL680807Z80%COMMENT&CREF'DEPHASE(LALL;LFCOND)LIST*PASS2+PHASE,PRINTX-RADIX5REQUEST.SALL(('()-((5*5,,))))))))h6f6(5C,~&+*A4**i7+9M+ +[9;7+U+\+!++))*+++,))d+h+m+'-@  F"  (85vCd} *F=~#"F= oA 0 : 7}ɷ[ a { } 6 *F=+"F=*F=#"F= aS 6 != q#a !=6#ͱ  2<a w# yʟ ͱ x җ x Gy2=xͱ җ × $.@?_// // &:? ͱ & 6 ͱ 7 G!r?:=' " 2=~!?  "p?^#V!g? w#: !=~K 6!=N zʾ ^#V#^#V#~=y =G‹ #n #~=¸ #"?=#~+?j?!g?w#Ÿ w#s#rP P +>Ð <*A=~*@####~7#_"@:=$.?_ ;O$ "?=͓ *n?z :m?O s#rw# & =7 >wG#w"?=#w#w#w###w#I "A=####p*@͍ ;*?=|>!x F?Symbol table full |}:<:@:-=*?=~@ڹ >>vL!=F#~vL *p?  G~8#~ +~w#~w#s#r#*=s#r~@w:<# ~a~a#^#V#͍ R*=xD{a#za:> *?=# :0=a*?=~*?=#~wxGõ>LyL@ Z6LZ@LZRLZRLyZOLyym-LZRO*ZRv̝LZR*ZOLyZ@*m-L6 ,ɷÝKN͝Ým-zf<ĝ{Y! ^#N! ^#VZԝBxL{?LZ8ĝBLNܝc:<Ü̓ :>H:<0:<Ü>L:< L>2<:<<=<2<ů2< 6 (-2LKҫ:<ԝ Om-ͷyHLyL:>G¯BxGj*=*=͍ j##T9zC<xxm-ë*ů2< 6 (2L{Nԝ:<ĝc:<=ĝNԝc>LcnAÜNԝcn [:<ĝ>Lĝ;{:<=ĝ>L@ÜNܝ*e R:<fĝ[NܝcH:<(:<ĝ>LcNܝe ĝ>LcNܝ:< ĝ:<ĝ>LZԝO*k7:<(>Lں{:<̝ :<Lcĝ>L[/k:<̝"(:< :<*cy  :<Ü:<Ü>%{ :L/:<L>FL;{N*c:<ʴ ĝ:<ĝ>LyBONĝe ̝c:<ĝ5N*c:<ʴ(:<ĝ â:<Nܝe ̝c:<̝Gxĝ> Ü:<ĝ :<[4:<:<ʙԝ c:<ĝÜ([:>:> c:<̝ ڱ:LyC͜(2>2>:<(>"LÒ:<ĝ>2LÒ:< :< ĝ:< `ƝL͜ĝc:<ĝ>L2*L>LyK͜c:<} :<^:<;͜{:<  s:<񇇇@OÜ :<ĝ>LGÜ:<( c`ƝLp:<͜(@{ĝ>:L[ĝ:< Ü;c>6LKB(@{(YPy:<O:<ĝ>LyWÜ!>?AFwx# 3:<G:<7b*=#"='h'*>'>͍ +*>:@`))0) ‘0Ž:>:>6!6"6'6*#">ßG:>@2>:2>!>~ͯ~@ô~ʹ#~?Gxʚ#~72>>A;hS#^#V"=G̓2>#^#V">>C1#^#V+~z><2>= G>>B#~Š:>@>§>2>>A;''2>{2>!>"?=ͩ:<*=##"=:>G:>@x̓:>G̓*>#">C'B'x&x746!96**>##~#fo6"6'##">̓xP:>@xʈ:C+B+x*=++*>#:=G~w#s#r#*=s#rC'B'b:>2>:>x̓³z ĩ2>*>#~2>*>#>͍ +*>:@)0) 0">DExx0:(:*=G:)=G:(=N:/=S:> ~:> o:@+2+>ÿ>+2+>:> ¿:.=:> :1=:,=>C2*>:[?:/=:> !3=4:2=p:[?:@>vL!> ~#d:+=Z:?=##:?#!9=~#06d(>C:8=H> d!H=~# Z dK> d> dO:[?yvLJ>23=:/=ʍ> vL!1>!*4=#|+:/=ʤ*6=#"6=:/=|ʾ>-vLZ!>ZZ>SvLä~#vLPX |>:d MACRO-80 3.44 09-Dec-81 PAGE :> Q)*<#"<*<#" !>">O!f ~*>w!>"> '"!*=:=*=:=:=x¦*=*=͍ "?="=ĩ:A> y> C+B+y*?=+~xGW> #######FyxG+#W>_xGxGFɯFxGF .7FxFx!>~w#4ZL>2>U C \ \'"(ʬ)ʯ+ʲ-ʵ*ʸ/ʻ;ʨ,ʨ >>>> > > >!G) # ) o2=) # x) eo) n==x*F=+H 2=*F=++"F=H "F=GHg:<o|DHB} |BwDʕHʝOdQ•ͼOqQ þ!H Bq0Ի)z#zͥDnHn!H 0)T]))_è!H 0Ի)))_ÿ!H G0 ))))_Hû:<4!H 00 ܻO:<=ܻ<_Pc$ =ͥ=ͼ6 q6 :=2=ҿ=$ ʿ!  ʿo#g=b#t!S ~Œ2< ;ʹ ʹ° & × °6 þ*F= # #7 -#~G ĵxw+!"F=$ t:<ʮ:<7͓ $ !*@w!7 Gx22>">ĩ:<>C~@x##^#VOQb#^#V"=y y¾þ7͓ "?=~Bڨ~8:<2<##~2  þ:=X # '¿ 'n$¿j OþXOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPE :< :<:2>2=2<2>2>2>2<2<9">*)@͍ 4\!]!~!! f!O2>̓!=y "" "?"y2W?͎! 6 ,8!:>8!2>> ß!:W?O:>O!f! "x̓!G:W?O`!"f!ó _y{y!*=YGó !"_~xž!ůG|2>?"y2W?͎!!F%:W?Of!è!@ 2W?:W?G2>O! x怱!>w*F=+N{*>2>z |= yWx=z6"z6"ʳ 6"6"6" >G̓!Gó "Y?zR" ͪ""=">y2W?͎!"ʡ"2X?ʋ"ʋ"ʋ"ʋ"ʋ"ͪ":X?*Y?!#o>g~#fo:W?O*Y?ʶ"y}!"=y%"*="""*>"{%z%   P#Z#d#n###N$$%##Q%\%h%u%{%%%%#%&&&-&C&c&̈́$zW{_̈́$zW{_̈́$zW{_*>|/W}/_:W?O>%%*>|/W}/_:W?O>%%̈́$zʬ#)â#̈́$#+}zW{_ò#*>:W?y#:W?O2>:W? #*="=*>͔$>%%*>G$:W?%$%$y%$$$:W?%$ ?$=:W?9$y9$2>:W?O>%%{_zW*>i$:W?O> %%i$ DM!>=ʂ$))p$p$:W? *>:W?y*>ͳ$:W?O> %%zzB%|G|$|%$%|/G}/O!>$ $7>{_zW}o|g=$|g}oɯO_yW*>z5%|5%|ͳ$%:W?O> %%>O!G͙%͍ o%͙%͍ ?o%͙%͍ W_ ͙%È%͙%͍ o%͙%{_zo%7o%?o%:W?L&*>*>\W:W?O>%*>]W:W?O>:>@2>!>4~?%o%$w5y%:>2>̈́$}R_̈́$}R_̈́$}@_̈́$}6_̈́$}Ro{R_̈́$}?_*=*=͍ :W?_ :> Ox&> 2>,̓ x 2=xGʱ&:=±&*=*=͍ :=G*="=:<ă"= :=&:<ĩ:\?2':\?ȯ2\?U 2'1>G2=<2\?2=*=õ&2'1>2\?G2=*=õ&2'1>2\?G2=*=õ&:\?,:==`'o& ^#V*=͍ s#r2=*=##K':<ʇ':=ʇ'*= ͩ2=1 6 "ʠ''(G) ) *F=++' ) '³' ʳ'6 ,';'' "F=(y(# G) ) 'L) ȸ'# ( ,ʍ'LÍ'Z:=y,ʍ'̓ x1 "N('ĝO) d( o(GŷLP(xx|(L,A(1(h'y,›(ZCä(:@ʹ(z*=#"=:<'ä(*=:=Gõ&2(:<:>U<2>1h'̓ y,(:<=)G2<:<=)2<#:<<2(=?)2<@ ͣ:<ģ:<̣!<;)=@ 4=2(=<2<@ 51):<_2>W!<7~?)<\)w!<4:(=2(=!b*T],l*zr* Y*#*F=z̝}O|G:> U Oĝ7 -#~@w ~ĵwy,ʉ*1>O*>; *F=+~# ****#"F= () 'O*6 ) )ĝ@ >2/=Y+2/=Y+2-=Y+U G+ G+ $ :+~@w,U ,+>2-=>2.=Y+2.=@ >2.=Y+}+>}+:@/o:22<(2 {=ʝҝ<2 +{22=+?pU :=+>!=w#"?=:<ĩ,+:,= *F=+qN1,4O=2,=*F=~#"F=!5, () 'U ') )@ :<:=x,>=!]?G~µw#„,p, /U ,/@ #~µ~$w2'+"=>2=!"=ñ&>2=:=U - -~w#~d -~w,,͝-w͵,~Bدw#w#w#wU ~#~>-,"C=m-:>21=Ux¯x 20=*C="?= x4̓ :>"C=~w|21=m-x¯*C=-#~µ~@ w#s#r#*=s#r4͸K:?w/:<Ĩ/!<4~=Z.!]?~-!1>~-!@#]?~# . .. . -!V?p#"?=ͩ2'!5O"@ A."?=~w#~@k/~.#^#Vͩ.*= ͩ *={ĩn*F=ԃ +!"4="6=}2/=p!/!3=44!r?>͗;Z:3=8p!3=44!/!?>͗;Zʹ/*<|.:@<2[?2[?.!L//!O//*<|/>,vL:@<>,J:@<2[?2[?!_//ʹ//̓ͩ*>|,/F/ͩ+:@C/>vLKLNo Fatal error(s) Warning(s):=Gͩ./!//)ô/REPT/IRP/IRPC/MACROUnterminated /!//)> Z> Z:@<> J> J!/:@0"?%O;.0~<=r0:@<2@:@:@=2@<#~^0:@^0:@^07"?:?=2? &0*F=~ 0 0U 0"F=0>&2?>1&0:?0>&;:2?*@~ 1=1O+1 0x+~10:@*@~<1=11O+11 #1x+~111<*F=U 0w1G~# \1 d10P1x0G0&06 "F= ʐ1 ʐ16 Ö10}1ͱ k1å1ͱ k10ß1 ;1ù1:0 ʞ: ù1:: 1 1:"%@ʞ: ʞ:> ;:Þ::@1*@4I2* @~82G+#2~/_2~F2=G+~F23*2+<=C2+;2~>.33?*@O DEU Ă2=ʦ3%2,ʰ3 ʰ3 ʰ3;ʰ3!) 3w+ Ô2"{3q3(:> 63:<.33PX 2|2>:f3)0R3>)30R3=363D>3E>3 >0f3xG3x0:R3 f30O:f3>0f3y*{3w+"{36 *{32Ow+ ʏ3 3~3w+ ~3Ô2ʢ3w+22322{=*F=+~ 6 6 ʵ3õ3!=͍ 3#6 +>1&3:>1!  4>1!4r ?Stack overflow, try more P switches (:> O4"?/c4> \^4U :U H0ʄ4H=;: y4ɯ;:͞:!*#@*?!!44͍ 4:@¾4x4*?͔9͊02@*?r:5H=͈:3 4*@*@*?"?"@"@ bkë4:?2@+5ů2@@ :@ʊ5U :U O^5yf5y n5y@{5:@=2@:@<2@:@:<(:@#~>P)!ɷ/"@i2O:> ʰ5*@͊0y6+,ĝ5) <ĝw+:> G6G5͌2 D6>G65# <2@ 5 =6:@6G6 ;,76<36>76G67676 w+5:@G66+.0xĝ" @&i"?m6\4>Ô5^4*%@>2@3H0ʱ6 ʶ1;ʫ1'ʡ6"ʡ6>1Ç6G͕0 ʶ1ʛ6â6"%@;:͞:!*#@* @*?!!64>2@" @͍ 7:@6x 7* @##~#7+4r:47H=r:1:3 7* @4 bk6 ʝOJ) V7JG7> J> J:> @ ʝ2 @O ʄ7@ u77\4^4!H=: @O~ʥ7 #Ù7!ɷ #"?~(w/"@i2 ,7w+2@2@ 2=xx2=*=T9"=:=2=@ !!@Ns#Frͦ9ͯ9q#p*@^#V+*@##^#V+*!@}9ͯ9"!@9*@ "@*)@͍ I;*?%:?͍ I;*@T9ͦ9*%@{_{:s#r#>w#wͯ9%:s#r*:"#@*#@ͦ9s#r{_*%@{̺9*@w{W:a:"%@{_ͯ9zʺ9*@}‚:}o~r:{ʗ:a:{_ͯ9{ȯw#w*@s#r͔9*#@ͦ9q#p*%@{:*@"%@~{_ͦ9{_{:a:*@*?:?;*)@%T9o zo W{_*@*@T9BK*@"@xE;+w 8;"@O;9*A=*@T9o zo W{_*@T9BK*@*A="@ "@xʕ; w#È;2>2>O!^#V#ͷ; ;:>Zz^#V{;};++V+^{;w#w+++; F#"?=~@#~<~#^#VG5<<_<{…<{@Đ<{ʈ<{_!f~vLz<###~#vL;<>L<5m<:>wZ!3=4:2=p*?=~@w> |<> vL>*>M>C>UvL2<*?=#{G#^#V#^#V"=̓"?=#~ ĩ>IvL!>">*>6!>~G#^#VͩQAQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPERELCRFPRNP?Command error?File not found?Can't enter file~J#F!FF!FF!FFXGCOMSCNF",AF2@!@͸H> 2-A25A2,Ay,2@G:@2@H>A:@G;AH-A:,A2@ 2@G:@@2@!@͸Hy=7H 7H,A#H 7!@͸H:@!@ܘH!@:@SH@;A> =IHܘH:@hH:@hH:@2@ _2̈́K%K;K*@##:@2@G,A ~²HHw# ¨H #èH w#»H:@!5A~ Hw#H*J:7>IxHJOx=y&I[#A@2,A*Jx I -AoIJIT?IJT7JY7ILYIJS7JT7>IR7JD7R7>I> ڀI6 #=xIy.2@*J5AxژIʥIJÙIy/yJL¾I2@JOæINI2@÷IOI2@÷IRI2@÷ICI2@2@÷IMI2@÷IIJ2@÷IXJ>2@÷IZJ2@÷IP7:@<2@÷IJ[HJ0HJADJ:HJ-JO!~6GzJ#~ cJUJHFx+#tJ~iJ2@ÚJ2@:@JK>*J GF> J:HF!IF"Fo>g6 #> w:@J!IF~ JaJJAw#þJ~# J J K#"F_*F+~ #KJ#"F+~7ȷ> J> JEB!"CB!@:@NKCA!"AA!@:@K~K͡K vL> vL>vL*CBEB@NLEB@K:@ʰH:@K>L*AACA@NLCA@K|}YLƀ)`iíL> vL> vL> vL:@ʰH:@¡M =­L!CA>!@íL:@ʰH:@J*AA|=L#"AABAw:@<KM*ED|%M#"EDFDKGD>@=NM!=*M!>JM_!@ sM qM vL~zMËM7ȷ!MF@@²M> J!MFKDISK FULL!M:>ŒN@Nw#2@.ʷN!ڷNw#N2@.ʾN!ҥNþN6 #·N:@.Nw#NpMMN2M2M:M=OMM0O!M"M>2M*M~+O70O#"M0!"EDGD!@~KsK w#ªKw@KGD:@ʰH:@ vL> vL>vL*CBEB@NLEB@K:@ʰH:@K>L*AACA@NLCA@K|}YLƀ)`iíL> vL> vL> vL:@ʰH:@¡M =­L!CA>!@íL:@ʰH:@J*AA|=L#"AABAgen sqloader osload.com gen sqloader osload1.com ;l2000 delete osload.sys rename osload1.com osload.sys s for a floppy drive. Information provided can be used as input for ESET.COM, allowing the AMPRO's "E:" drive to read and write non-AMPRO diskette formats not included in MULTIDSK.COM. SYNTAX A0>DSKPRAM --> DPB and SKEW table for default drive A0>DSKPRAM d: --> Tables for selected drive A0>DSKPRAM ? or / --> Displays this message NOTES 1. DSKPRAM must be run in the alien system, not the AMPRO system. It will not provide useful data when used in the AMPRO on a non-AMPRO format diskette. 2. DSKPRAM does not work in some CP/M 2.2 systems. STDSINGLREL!defSTDSPOOLRELghijklmnSTDSPOOLREL9opqrTELPAC7 COMostuvwxyTRK0SSDDLDRz{CODE90-1 INSTLSC COMb !"PHYFIT DBF ICIRSYM NDXDTRK02010LDRXSYSLOG SYSr FPFD CMDrEXAMPLE2DSTRK02020LDRYCUSLST DEMSUPPORT ( TITLE TURBODOS OPERATING SYSTEM - SUPER QUAD HARD DISK DRIVER .Z80 ; NAME ('SQHDC') ;MODULE ID ; INCLUDE DREQUATE.LIB ;O/S SYMBOLIC EQUATES ; FALSE EQU 0 ;DEFINE LOGICAL VALUES TRUE EQU NOT FALSE ; ; ;*** Hard Disk selection choices *** ; ST503 EQU 1 ; Seagate Technology ST503 ST506 EQU 2 TM601S EQU 3 ; Tandon Magnetics TM601S TM602S EQU 4 TM603S EQU 5 TM603SE EQU 6 TM501 EQU 7 ; Tandon Magnetics TM501 TM502 EQU 8 TM503 EQU 9 SA602 EQU 10 ; Shugart Associates SA602 SA604 EQU 11 SA606 EQU 12 SA1002 EQU 13 ; Shugart Associates SA1002 SA1004 EQU 14 Q2010 EQU 15 ; Quantum Q2010 Q2020 EQU 16 Q2030 EQU 17 Q2040 EQU 18 M4010 EQU 19 ; MiniScribe 4010 M4020 EQU 20 ; ;*** HDC1001 Disk equates *** ; HOFF EQU 1 ; Number of reserved tracks for loader ; ;*** HDC1001 Physical drives *** ; hd0 equ TM603SE ; Set to type of drive or false if not used hd1 equ false ; all drives must have same interface type hd2 equ false ; i.e. all SA1000 type or all ST506 type hd3 equ false ; ;*** HDC1001 ECC selection *** eccbit equ 80h ;ecc command bit ecc equ false ;set true to enable ecc TST MACRO DN ;physical hard disk defined IF HD&DN x defl 1 else x defl 0 endif endm hddsks defl 0 ;number of physical hard disk drives hdtst macro rept 4 tst %hddsks ;test all four physical drives iff x exitm endif .lall hddsks defl hddsks+1 .xall endm ;end rept endm ;end hdtst hdtst ;calculate number of physical hard disks ; ; dsktyp macro dn,typ .sfcond if typ eq ST503 strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq ST506 strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq TM601S strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq TM602S strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq TM603S strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq TM603SE strate&dn defl 3 ; 3 mS cyls&dn defl 230 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq TM501 strate&dn defl 3 ; 3 mS cyls&dn defl 306 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq TM502 strate&dn defl 3 ; 3 mS cyls&dn defl 306 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq TM503 strate&dn defl 3 ; 3 mS cyls&dn defl 306 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq SA602 strate&dn defl 3 ; 3 mS cyls&dn defl 160 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq SA604 strate&dn defl 3 ; 3 mS cyls&dn defl 160 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq SA606 strate&dn defl 3 ; 3 mS cyls&dn defl 160 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq SA1002 strate&dn defl 0 ; 10 uS cyls&dn defl 256 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq SA1004 strate&dn defl 0 ; 10 uS cyls&dn defl 256 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq Q2010 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq Q2020 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq Q2030 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq Q2040 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 8 fixed&dn defl true ;fixed drive endif if typ eq M4010 strate&dn defl 0 ; 10 uS cyls&dn defl 480 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq M4020 strate&dn defl 0 ; 10 uS cyls&dn defl 480 heads&dn defl 4 fixed&dn defl true ;fixed drive endif dks&dn de$fl heads&dn*(cyls&dn-hoff)*2 ;hard disk size in blocks ;dir&dn defl ((dks&dn / 128) + 1) ; DIR entries = blocks / 128 dir&dn defl 16 endm x defl 0 rept hddsks dsktyp %x,hd%x x defl x+1 endm dstdef macro dn ; Disk specifcation table defination macro .lall dst&dn: db 5 or (80h and fixed&dn) ; Block size 4K bytes dw dks&dn ; Total blocks db dir&dn ; Directory blocks db 2 ; Sector size 512 bytes dw 16*heads&dn ; Sectors per track dw cyls&dn ; Total tracks on disk dw hoff ; Reserved tracks .xall dstlen defl $-dst&dn endm ; ; ;*** Port equates for HDC1001 *** ; HDCBASE EQU 0E0H ; Base of HDC1001 HDCDATA EQU HDCBASE ; Data port WPC EQU HDCBASE+1 ; Write precomp port HDCERR EQU WPC ; Error port SECNT EQU HDCBASE+2 ; Sector count SECNO EQU HDCBASE+3 ; Sector number CYLLO EQU HDCBASE+4 ; Cylinder low CYLHI EQU HDCBASE+5 ; Cylinder high SDH EQU HDCBASE+6 ; Size/Drive/Head COMND EQU HDCBASE+7 ; Command register STATUS EQU COMND ; Status register ; ;*** Command equates for HDC1001 *** ; CREST EQU 10H ; Restore command CSEEK EQU 70H ; Seek command CREAD EQU 20H ; Read sector command CWRITE EQU 30H ; Write command CFORM EQU 50H ; Format track ; ;*** Status and error bits ; hdbsy equ 80h ;hard disk busy hdrdy equ 40h ;hard disk ready hdskcp equ 10h ;seek complete ; inter equ 6 ;hard disk sector interleave factor secs equ 16 ;Physical sectors per track per head ; ; COMMON /?INIT?/ ;LOCATE IN INITIALIZATION AREA ; DSKIN@:: xor A ;set track 0 out (cyllo),A out (cylhi),A ld A,cseek+2*strate0 ;seek and set steep rate out (comnd),A ret ; DSEG ;DATA STUFF ; DMXSPH: ;MUTUAL EXCLUSION SEMAPHORE DW 1 ;SEMAPHORE COUNT ..DMXH: DW ..DMXH ;SEMAPHORE P/D HEAD DW ..DMXH ; HDCSPH: ;HDC SEMAPHORE DW 0 ;SEMAPHORE COUNT ..HDCH: DW ..HDCH ;SEMAPHORE P/D HEAD DW ..HDCH ; dmaptr: ds 2 ;temporary dma pointer storage sector: ds 1 ;temporary sector storage seccnt: ds 1 ;temporary sector count storage ; ; CSEG ;CODE STUFF ; DSKDR@:: LD HL,DMXSPH ;GET MUTUAL EXCLUSION SEMAPHORE CALL WAIT## ;DISPATCH IF NECESSARY CALL ..DD ;CALL DISK DRIVER PUSH AF ;SAVE RETURN CODE LD HL,DMXSPH ;GET MUTUAL EXCLUSION SEMAPHORE CALL SIGNAL## ;SIGNAL PROCESS AS READY POP AF ;RESTORE RETURN CODE RET ;DONE ; ..DD: LD A,(IX+PDRFCN) ;GET PD REQ FUNCTION NUMBER OR A ;PD REQ FUNCTION NUMBER=0? JP Z,RDDISK ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=1? JP Z,WRDISK ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=2? JP Z,RETDST ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=3? JP Z,RETRDY ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=4? JP Z,FORMAT ;IF SO, CONTINUE RET ;ELSE, DONE ; selhdsk: ld A,(IX+pdrdrv) ;get requested drive cp hddsks ;make sure valid drive number jp nc,selnrdy ;exit if not rlca ;put drive into proper place for command rlca rlca ld B,A ;save drive ld A,(sector) ;get sector to define head srl a srl a srl a srl a and 07h ;keep only significant part o 20 or (eccbit and ecc) ;pu i secto siz (51 byte) or B ; and drive out (sdh),A ;send to controller or 0ffh ;set worked flag ret selnrdy: xor 0 ;return not ready ret ; retrdy: call rwini ;do initialization rtrdy1: call selhdsk ;select the proper drive ret z ;leave if bad drive in A,(status) ;find out if ready and hdrdy ret z ;return if not or 0ffh ; otherwise set ready return value ret ; and leave ; retdst: call retrdy ;is drive ready or A jr nz,dstrdy ;if so skip ld (IX+pdrdst),A ; otherwise zero dst pointer ld (IX+pdrdst+1),A ret ; and return dstrdy: ld A,(IX+pdrdrv) ;get requested drive ld B,A ;and save for mult add A,A ;*2 add A,A ;*4 add A,B ;*5 add A,A ;*10 add A,B ;*11 ld HL,dstbase ;get base address of dst tables ld E,A ;make offset 16 bits ld D,0 add HL,DE ; and put together ld (IX+pdrdst),L ;save for return ld (IX+pdrdst+1),H or 0ffh ;set valid return flag ret ; and leave ; rwset: ld A,(sector) ;get and send sector to drive and 0fh out (secno),A ld L,(IX+pdrtrk) ;get and send cylinder to drive ld H,(IX+pdrtrk+1) ld A,L out (cyllo),A ld A,H out (cylhi),A jp rtrdy1 ;go set head and drive and return ready status ; rwini: ld L,(IX+pdrdma) ;get dma address ld H,(IX+pdrdma+1) ; ld (dmaptr),HL ;save into local storage ld A,(IX+pdrsec) ;get sector number ld (sector),A ld A,(IX+pdrsc) ;get sector count ld (seccnt),A ret ; rddisk: call rwini ;initialize pointers rddsk1: call rwset ;set up parameters or A ;did it work ld A,0ffh ;preset error return ret z ;return if there was an error ld A,cread ;send read command out (comnd),A push IX ;save IX call wthdc ;wait until done in A,(status) rra ;any errors pop IX ld A,0ffh ret c ;if so leave ld C,hdcdata ;set up port address ld HL,(dmaptr) ;get dma address ld B,0 ;set transfer count inir ;get data inir ld (dmaptr),HL ;save dma address ld HL,sector inc (HL) ;update pointers and counters inc HL dec (HL) jr nz,rddsk1 ;if more to do, do it xor A ; otherwise set good return value ret ;and leave ; wrdisk: call rwini ;initialize pointers wrdsk1: call rwset ;set up parameters or A ;did it work ld A,0ffh ;preset error return ret z ;return if there was an error ld A,cwrite ;send write command out (comnd),A ld B,0 ;set transfer count ld c,hdcdata ;set up port address ld HL,(dmaptr) ;get dma address otir ;send data otir ld (dmaptr),HL ;save dma address push IX call wthdc ;wait until done in A,(status) rra ;any errors pop IX ld A,0ffh ret c ;if so leave ld HL,sector inc (HL) ;update pointers and counters inc HL dec (HL) jr nz,wrdsk1 ;if more to do, do it xor A ; otherwise set good return value ret ;and leave ; format:: ;Figure all the needed format paramters ;Get cylinder and head LD A,(IX+PDRSC) ; Get sector count OUT (SECNT),A ld L,(IX+pdrtrk) ;get and send cylinder to drive ld H,(IX+pdrtrk+1) ld A,L out (cyllo),A ld A,H out (cylhi),A LD L,(IX+PDRDMA) ; Get address of format info LD H,(IX+PDRDMA+1) ; SDH LD A,(IX+PDRDRV) ; Get drive number RLCA ; Rotate drive into position RLCA RLCA OR 20H or (eccbit and ecc) ; OR in sector size ld B,A ; Save it ld A,(IX+pdrsec) ;get track to define head and 07h ;keep only significant part or B OUT (SDH),A ; Format LD A,CFORM ; Issue format command OUT (COMND),A LD B,0 ; Get transfer size 0 = 256 ld C,HDCDATA XOR A ; Get bad block bits OUT (SECNO),A ; Start on sector 0 DATALP: OUT (C),A OUTI JR NZ,DATALP ; Continue till sector full FWAIT: IN A,(STATUS) ; Wait for format AND A JP M,FWAIT RRA ; Any errors? LD A,0FFH ; Preload error return ret C ; If so, call it quits xor A ; Otherwise set good return ret ; And leave ; HDCPOLL: DW 0 ;POLL ROUTINE DW 0 ; HDCPR: IN A,(STATUS) ;GET DRIVE STATUS AND A ;CONTROLLER BUSY? RET M ;IF SO, DONE LD HL,HDCPOLL ;ELSE, GET POLL ROUTINE ADDRESS CALL UNLINK## ;UNLINK POLL ROUTINE LD HL,HDCSPH ;GET SEMAPHORE JP SIGNAL## ;SIGNAL PROCESS AS READY ; wthdc: LD DE,HDCPOLL ;GET POLL ROUTINE ADDRESS CALL LNKPOL## ;CREATE POLL ROUTINUE CALL HDCPR ;EXECUTE POLL ROUTINE LD HL,HDCSPH ;GET SEMAPHORE JP WAIT## ;DISPATCH IF NECESSARY x defl 0 dstbase: rept hddsks ;define disk specification tables ; for all hard drives on controller dstdef %x x defl x+1 endm end T (C),A OUTI JR NZ,DATALP ; Continue till sector full FWAIT: IN A,(STATUS) ; Wait for format AND A JP M,FWAIT RRA ; Any errors? LD A,0FFH ; Preload error return ret C ; If so, call it quits xor A ; Otherwise set good return r$TR@%9%PDSKIN@ dd$I@ ?INIT?+nF|vi2` ` pp<\ -h͢@QfKt[xx=eT*[ ҩ`p8: ,~`;@iKfِm*d6b!djp@nӸ5?Ht:XnAӠ5dpqM&}i7+7M" e02Yd` | iۮVmnm8X0 v! j i+,2Ͱ` q>4`9*՛f" +6|lppF54 q7M&}i7+t nmvnaA{M4`9*՛f"USER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS REL~#foN#Fr+sq#p+ _ W| }##s#rN˹~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!`R:U~12!U}(7jw'^=UU!U|(7ju.t0N^=K=)!ʹs#r#^=J+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p@)0 U.@6#vjwo&@) s#rj/wG7!{M{q( (B=(?q!~ 5:qOͮq:qq!~Oq~# n{( ( q!ͧ!~ʘ==F=7=~4G:???? ͂@7 w w ~G!f_u t :nf}|:n f "~2~2͂l>> W>*"!4#5 ү͂l>>0*"W>!4#5 ү~nf}|n f ~ G~>Py 7>د!C!C͕G!ç텼 `!ͧ̓!s~(=(Q=7=/=e> 27ͫxː& (x  :> 27REN hgsREPLY oRETRY rMRTIME vRUB 5:S <SAVE  RSEARCH |SECOND  HSENDOUT e>SEP SET =SILENT 5:SINGLE  "SKIPIF TSLEEP vSODELAY SPLIT KSSET =STAT STOP TSTRINGS .SUFFIX 4[SWITCH 5:SYSTEM =T <T-MODE )TAB 5:TERM vTERMA vTIME TRANSMIT PTRIGGER QgTSTAMP TYPE ;VAL 5:VALUE TVIEW XWAIT WCHAR 8WECHO $WLINE 8WRT =WTECHO (g(XLINE .HXON 1 ]:!mQ͜ :o&##"w!! "* # q+ #12w   ͢1(L ɯG^!$s#r#> >>ɯ> !~w@          *}=2)))T]))"!p#p#6 #~#w#OGi`s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p#  @p#p#T]s#r#s#r#! ! !"!"!"!u"!""!P"">@!"@>>>>>!>!0" !L"> >} > >} sc{_"e*a:*e{c _aȷ͒*##[RԿym(Rn(T=(+('( (=( 2k3{(8:ko %<2ko(Q͒ >@.!k6 >SgSi*_| s_"a{_*a6;m͒n͒ͺw͒(ͺͺͺ ĺ:G2:(G:_:WL͒o͒;b͒l͒{_*a <(͒X ͒>2!" ͒χ͒O2͒*[]RͿ!>+r+s+w"2!"g"iYf M͒͒:_͒͆>@*g|[{_*i|O{c*e>';;d; ; R0y 0_͒Ͷ~( =(=(:/ͶReaͶWrit ͶNot readͶ error, Drive:~AO~(DͶ, Track:nf@Ͷ, Sector:nf@^Vz( Ͷ -@Ͷ (Retry,~( ͶIgnore,ͶAbort)b(́́O:ʑ:=~[:<[o&A:ͷ C#"!~('6ͫ( |*#~#2Nz:[ :ͷ_ q: Y!~ 6C#6O#6M:q:<}=­!\6# 6 #6# (y<(8\8lͳ8y{< ͳ0{=ր2:=i2_:ͳ0_͹_: :( :<^! !6# 6 #!6 L?( x??.(7:( !L?ȷ:7x7:A?<2x(:.*(w#x:7͡6?#[7[;7= O:7͡y >>ɯ> !~wɯ>v@````````````*}=2r)))T]))4"! p#p#6 #~#w#OGi`4s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# ```Õp#p#T]s#r#s#r#!*!*!"!o"!"!e"!""!@"">@!"@>>>>>!>! " !<"> >} > >} sS{O"U*Q͏*U{S  ʴͶƷ*##[vRym(Rn(T=(+('( (=( 2[3{(8:[o %<2[o(Qj I>@ă![6 >SWSY*O| sO"Q{O*Q6;Rm[nͺwY(ͺrͺrͺ`Yĺ:G2:(G:_:WLo&bl{O*Q&` %<(ͭ >2!" O2*v[MR!s>+r+s+w"2!"W"YYf M:_>@q*W|ʰ{O*Y|ʤ{S*U>'͐͐d͐ ͐ R0y 0_ (~( =(=(:SÄ Rea Writ Not read error, Drive:~AO~(D , Track:nf͕ , Sector:nf͕^Vz(  -͕ (Retry,~( Ignore, Abort)ͷ(,O:Sɑ:o=~ʰ:d<ð9Ko&rRA@:@ C#"!~('6( *#~#2Nz͏[ ͏ ʴ -+M: ʮ!~ 6C#6O#6M͏q͏<=!\6# 6 #6# (y<(M8\DM8lD+8y{< 0{=ր29:=2_͏0ôFô: :( :^@@! !6# 6 #!6 ͡?( ??.(7:( !͡?ȷ:7x7:A?<2(:.*(w#x:76?#[7[;7= O:%7y[=[S 75*N#":7ȷ 2*" :w*"> @> _Ï Ï ÏÏ!~(# ^ ( ]Tq͇ô@|(*~;UN#:0O[yS!6(-O! 4 ####:w#qy(#*!2*#w !^#V+R*#~:Q!!Fˆ>N j  :Q/!ίqͷ!~1 ˎ2j (!,2*`)0!` ~#fo~=(}/_|/W :!~) 0Ws:<=_o͉!9u5t6``͜e"~.ZfG@n/f0*͉͜j"u/t0u1t2Nt.Zu Z*n5f66.n9f:|(`n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z`~/!18I!H7O ^#V|]#Bpvw|djm߾߶Q`8т"fq?ӽsӑC(``W|*g```BUS &.`b?}"``f(```BԿU`ַ(`(!`ַ @ ~(```>Zn~@ͱ`U`͝w.`͢`ͱvN++~˾``~@i(6@Ew@@̈́-Xu1t2ͪb̈́/U͎͞4B@~? wk=2@#~@ w#ɷUF͏}w.}oͪ2Ϳ͢ZU' 1Ϳ͚ "ZV` 68Ϳ3Y= Oy 'ݯҷ A`>84 "͝׷ ,`4ҷ ַ> `6ڷ 4UҷU`>8m "͝׷ e`4ҷ Mַoַ ;`` C`2ڷ :4`͝׷ -`4ҷ ַoַ `6w.6U``ͬ4~ >w##4<](U]U.aUUUͿ͚U`͙. ͏F-bͪ߷/U͏~w66. ~w(x=(#?(FbU6NwFy#py~w?(d/wwͪ=~w?@ ͙ ÿUU`@#Ϳ# ˾0#= 8( ַ> 7`UU(ַoַ> ``U`2ڷ`w.~hwͬ~gwͶ~fw`74~wh#~+w#~#~G~#O>>~Ox ##y͝>7`4ͬp##q=Ͷ~wfͬ~wg]Uܯwfwgwh~@ ͿͿ= w.("Zn(:~@(46@ +Ϳ ~ ͱnˮ`(Ϳ`ͱ(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~wh~^##Vg{怄O>G{GzGz_>#q#p#w'8u~8# ͤ s1r2ͱN~w/~UnfN~w1~w2~w/~w0~U~1P([42()~1`ѷU52 }/o|/g"{ozg"{Oz(>g~1w6`<īoNw6'8TUͅͱˮ`7`#-ط6w6y](D<6w?~w?(Odͅ@͚>͏#| 4طͱͿ~@n(@# ~##ͬ~\8w###6w~ٯ(`###> wͿ@## #˿##ͱ~(H(>@͚-طͅͿ͚ @ ͬ\8###wͱ˾ͱn6k͙~@@#i|+ͪNk6kM͞qk͖pM͎(c)8:!"1͙! z+z#Od/ݦw_{(*1|g}oR0+ͪMFz-b8 ͎-͙ͪ͵~(9x(((( ?(~(T(N?(d/O =#˯~0.~ki|< ͏sY^( >wAwB~k?ÞO?^CVDD( ~k?(sCrDnEfF!uEtF~O*1 )"1YD= (>>ͼڷͳ~#PO ?' +  )###4wߦ !+++͝ w/OG(6"͜ͱ~ͻ8x( ͱ+R0:<R#DMu~< #ͤ | >=)))0́(r+sJ!,0~#P2!w#r#sZѯ ͝!-RDM!x(62u't())s$r%w&G)wѳ_NͬdߦG<8= @ ́( ^(#Vz͉~1w#~#`(6~#m(< Q~#ähԽhˇԽͱ+R͏:bk##B8B0! <ͪͿ{_G~  (wêxͬ~ ##~Z~ =@#$~# ! # yDIRDSKD޷ͅ 6 #6#6#6#6#6#w66ͻ 8(6 ͱ+u~=w> O6ͻ (6^J0%͵~( 3J~86Dޯ͵6>7͵~(0͙ ͏0!͵~ ͙ ͪ͵6#>7w~͏͵ͪ~  N###~< =y >ɯ~#P_!~#(:o:>7 ~/ͻط ͵#<_#{ x7NF >8= ɯwAwB߷Rͱ+B0Rn&)= ͏#ê͙! ^#́(V#zͬ~?(~ ?>#w#wͿ wÓy(G7~=~ =nAfBD!( ~k?(+uAtBnf!9~1w=~=U@9~1 ~@Z~(w@>U^1JG)2s#r#wU@u7t8@u9t:Zv 9~1(Zn ,w@0ZZZZZ:3w@:w=>U~1w[Oz<(!gOqn7f8|>@~?(=~=k @ ~    @~nLfMuLtMnNfOuNtO^PVQsPrQ@5s1r2 :5=~=_sUw@V!"f3((*fRSf( *h"j6 *j4*h6#"h3*j~#"j([o&=)u t!͍^>V?sr8H*v+++R8r?~$w~%w~&w6ͫQͬdw.5@"h"j@!V!;5#!q^#V+R( :l(G72n2m,:lo:mgN!|U~1`~1POF2ͳ}o|g"oˀ!uͳ}o|^#V!uR(w####~ x /v A4~= /~((~ ͻ/p(h "ͻ <[oy(x=x(4@(x`` )!y ^#Vz(yͤ~ p+p! p̈́!u^#V!uR( ! ˶@`Q* &!u^#V!uRI(####N#Cw#~#> ##q#~*8>)~>/~˾%~͚ͤ6ͫ*~w 6!:lݾ06%~m(< %~#w# ut=QUw6~8=+N F! ~=8qpn f!͍^V~F?nf| )R0= =0:!R0nf NFq p utsrNF nfR0; ut͟ѷn f NF DM!Rutnf#~wnf^VR/~m=<(͍~=%ut ~_!y^#Vz %6/ ~m( QIr+ss r   6~_!~~#w^#V^ V _!~Z:4w[``*`u1t2:U@^#V#~#͠W~͠_* SG T2 @q#p#zw#{w 0 !!!!6/Z~(w0!u1t2!N2MD@G`Ns1r2q/p0Uͼ 0 ( ( ( EU~1O! 0 ( 6~G l4ͼUN1~1O<(<(< ͷͷͼU@~#$E@ÆͷU.Kͷ jUTͷ::O$O::Q:(: ~YwYáYf(z ~;(=_!ѯ~F#^#V!͞*5 "2#9[9*6(#6+>_~ (Cp(ͩ"*ͩ"ͨ> @|(h; C*|( * |! ("6!% "@ !wη!ͮ>U!4####Cp<*####a<*|(aZ*|Z"++++*|!^#V+R!""F#6#O(6 0(. (/(2(.0q#KxB"vs#r#@"|!r^#V!rR(U*|+F+N R(+V+^K| B(+V+^## DM*|+p+q*|+F+N+V+^ s#r#*|!r^#V!rR*vR +V+^##"v~#<(= ~# ~ xD##>)))))))'ͳͳdͳ ͳ R0y 0ON#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#rN˹~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!`R:U~12!U}(7jw'^=UU!U|(7ju.t0N^=K=)!ʹs#r#^=J+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p@)0 U.@6#vjwo&@) s#rj/wG7!{M{q( (B=(?q!~ 5:qOͮq:qq!~Oq~# n{( ( q!ͧ!s~(=(Q=ʯ=ʧ=> 2̯#xxː& 3(x9 ͌ :͖> 2̯#:@xxː& ( x ͌ : 4#xxː& (x ͌ :͖_> 2̯#:@x>& ( x !͖nf"nf"n f "28ͽ~(n f  ^#VSK[[~(*|{(~<!w x!~5< :ͧʁ> 2 <̯ 0 :X > (O ‰*ˮ~> #("_O(OOO y( { ^(!y("^#Vz w w !5(*~wþ##u t 8>/: !Þ <̯F*~( n(88  ~(~ x:  ͖ !!͕!ç> 2~G:((  : h&~ xw"~ ~~(˟w!"(() : :2((!5((!͞:<(=o& w~2o&~ !{>` 0M M-0M=M M4]Mm }M M3MM        !ͧ!~ʖ==D=5=~2G:???? ̀@5 w w ~G!d_u t :nf}|8n f "~2~2̀j>> U>*"!4#5 ү̀j>>0*"U>!4#5 ү~nf}|n f ~ G~>Py 5>د!A!A͕E!ç텼 `>>h&)))DM)) K ~̓{(=(7=1=ʦ=ʏ=ʩ=ʩͩ~ ݶ(N~  #^Vsrz(ͧ^VnfN~ ~ Zsr~w~(y~(=w!͞~ 4ͧ^q ~< w4~é~{Jͦqnf~W{OzPnP~($˹`: ~ ww~w~w~(~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5````Lz(=( "" !==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(͂s1G( [ͷ{Ms1 s1>(!Z[Ss1G([s1 s1>(!Z[Ss1!"!q!v(!~(˾:( >˶*!nuˮs1!~Gs_Ks=w)!K\x( 0< [^0<"2`s`!  sƯ`i ($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $SK <-- $Invalid command$Command not found$Insufficient memory$\}COLDSTRTAUTWARMSTRTAUTqquu0 hhrrs  ô37;@;7JEMRX^aôö %!YYYC\ C^PYS>Gs_Ks=w)!K\x( 0< [^0<"2`s`!  sƯ`i ($/$)$TurboDOS 1.22P, Copyright (C) 1982, S&pʐ5!~3VW :o&##0"w:=o& !45( `f!!45ͅ!12a|\\\\ZͧͮL͇\\\\ͫ\\\\HRɯG^o!s#r#>>>>z{>@>p͇>@\\\\\\\\\\\\*}=2 )))T]))0"|!p#p#6 #~#w#OGi`0s#r#q#p#p#p#p#p#p#p#~w##~w##6d#p#p#p#p#p#p#p#p#p#p#p# \\\"L"N!"$"&!",".@ >!P">>>>>!>! s:G!:(####+:w>!Es:G !0.q% $! 0w#w#]Ts#r#s#r# #s#r s>{:"@*<*@{> W ͷͻ*##[5RRym(Rn(T=(+('( (=( 2F3{(8:Fo %<2Fo(Qͻ \>@\!F6 >SBSD*:| s:"<{:*<6;mͻnͻͺwͻU(ͺͰͺͰͺlUĺ:aG2:(G:_:WLͻoͻdQbͻlͻ{:*2!" ͻԇͻO2ͻ*5[8RR!>+r+s+w"2!"B"DYf Mͻͻ:_ͻͯ>@\*B|{:*D|{>*@>'d  R0y 0_ͻ͕~( =(=(:ReaWrit Not read error, Drive:~AO͆~(D, Track:nf͑, Sector:nf͑^Vz(  -͑ (Retry,~( Ignore,Abort)$ٷ(CC͙O:Б:=~:<w͉o&Ͱ͐A~:~J C#"!~('6>( *#~#2Nz[ J \ki\͋: !~ 6C#6O#6Mq<=@!\6# 6 #6# (y<(\͋8\͂͋8l͂iF8y{< F0{=ր2w:=2_F0Lv̈́: :( :a<͐^~~! !6# 6 #!6 ?( ??.(7:( !?ȷ:7x7:A?<2 (:.*(w#x:746?#[7[;7= O:74y[=[SJ75*N#":7ȷJ2*"J:w*"> ~> _  !~(#  ( ]Tq<|(*~QN#:0O[yS!6.>:(-O! 0 ####:w#qy(#*!2*#wJ!^#V+R*#~:͏!!Fˆ>N  : :͏/!ίͻqͻԷ!~1 ˎ:<=_oû]!9u5t6͒\Gpe"~.ZfC"u/t0u1t2Jt.Zu Z*n5f66.n9f:|(͠n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z~/!18I!7O ^#V|אد`f ׊֐\\\\\\\\\m֟\\\\\$\\\֕\\~ym\\\\ޠޫ޳޻\\\ڠ;\\\\\P8$&9o!5~1w=~=Q<5~1 ~@Z~(w@>Q^1JG).s#r#wQQ~1w[Oz<(!cOqn7f8|><~?(=~=k < ~    <~nLfMuLtMnNfOuNtO^PVQsPrQZ:w[\\*u1t2:Q<^#V#~# W~ _* SG T2 _~ (Ͱ(",*&"*> <|(h C**|( y*,y!̈́ (",6!%̈́ "*< !w͎>Q!&0####Ͱͩ*&####ͩ**|(*,|"++++**|!&^#V+R!"*",F#6#nO(6 0(. (/(2(.0q#o&q5Yv(^͒ݷ͸Y)C<%Y6<Yn(YYv ~͂ ͒N<͸)YvYn~V<P>( G&#6y="!!ngO.#55n@"!!~w@u@<>_6"|!uUtVnUfV<|!uWtXnWfX͕Spooler error (Ignore, Abort)$ٷ(CC͙O:d=:\<CQQQQN1F2˸~/@!q18I!7O ^#Vz*z( !=7M7QN/! ~w!. 6^(8~[~@Zn( Z~(<~#?(~#<#~&wf(.~ƀwut)D7Q <. n(s1r2####v( ^>V?k7M7Q < N)D7Q < wO Bf7ͻ[^V N-qZN( ^`VaNb~cs r q w ~^#Vz(0##~ !#~ #~ #~ #~ #~ 6!0[N#Fr+sq#p#~w#~w#~ w#~ w#~ w#~ wnf ^Va UN-͵ L~W E(> ~w^V )F(~?w͋6 6k>k%fAwwwwwwwwwwwwwwwkk>>XLLLLLLLCXkX ^#Vz>N#F#p+q^#V#~#w`~#wa~#wb~wc6/<ͧ ͠u1t2w͍~qw>~0!?͚8JY~2<($=(!=!o͚81(/N\F]B " q2s0~4(=O!oc~4!o͚8cq4[w#ZN c8J(N\F]x>:G!N#FxC<6/Ou1t2J~.>###6.>͈q#p~2!?͚8q26.>C!t.>wk! 6< !Է 5.*5+++R>8k 5=(>kw.>\9~0!=(!?=( !o=(60>~0͚6.>\\U/ɯ2~2/~1!͚[!/~1zq1[!w#͚6~#?׷(< %O ~<7ȯ~N˹q##~#fo>~w !~#<( = (#~w :G!~ ( ####>+~w^ n\f]u\t]((hhh8(h8((8((@P!F͔ ~ >!B"Sy2l!##w#w#MDq#p#q#p!^#Vͅ|/ȯ!N#F!Bf! # # i`s#r#U!-͋6!F#~< +++w8 f ~<(ͫ>>M!6!N#F!B(1 " i`#w#w###^#V+++####6#Kq#p#>w#s#r#s#r#w#w#w##w!~#<(=(#F!:~#(###= !^#V=7~#fo!K![R(!0!![R(!0!nf ^Vsrut <|( CQ!11!!^#V!!0ѷ!6#z !-:w<2! +p+qMD!q#p!s#r#q#p!C< <|(* s#r!"s11*!*!9͏[!R(^#V#4##*|(!~=Pw!!":(!˶*"{*#"*#"!K"x!^#V!R!^#VBr+s(0##^#V+++!!!>_5##_~4##^#Vy ####<0JQ"9R0S9!"=#";!1^#V!1R('+V+^*9##R(58&*=R8S=";*;|( ![=R0 +r+s[9!*5[9R>K7B"5s#r#<";!1^#V!1R(U*;+F+N R(+V+^K; B(+V+^## DM*;+p+q*;+F+N+V+^ s#r#*;!1^#V!1R*5R +V+^##"5~#<(= ~# ~ xD##>)))))))'ͯͯdͯ ͯ R0y 0O͆N#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#r N˹͆~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!\R:Q~12!U}(7js'^=UQ!U|(7ju.t0J^=K=)!bͰs#r#^=J+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p<)0 U*<6#)!>>!\s!H!Hv͒wo&) s#r>:q/G7!q͒/w{?M{( (B=(?!s~ 5:rO:r!t~O~# >>h&)))DM)) K| ~*{(=(7====&=@=@@~ ݶ(N~  #^Vsrz(^VnfN~ ~ Zsr~w~(y~(=w!~ 4^q ~< w4~@~{J=qnf~W{Ozn~($˹5: ~ ww~w~w~(~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5\\\\Lz( =()=(=("~yO:&" #""y''''O:2 !M==(f=(==(=(z( =("=( =(: :::QPZ((Z(b(R(xz( =( =(=(̀Ds?1aG( [~N{?Ms?1a s?1a>(!X[~s?1aG([s?1a s?1a>(!X[s?1a G [[Ss?1a s?1a>( !X [s?1aG[[Ss?1a s?1a>(!X[s?1a!"!q!v(!~(˾:( >˶*!nʥˮy(=(%!@p#!˾v(˶!!!~( !F!> s?1a> !!{?M!:(64vs?1a!4~=86\̀{?M Advanced Digital Corp. Super Slave up.$Zͯ~ Nmͻnͻ~(>`(a( v(͘(%:G!~# ~(###@| 6 ~!t18 I!70O ^#Vz( z(!*M6n(~&wv ~ƀw nf u t ͘mͻnͻ:w[6@'| ;!!0 buitj:a | ~Yw#~<~(  !udtendfenifjQmͻ=nͻoͻͻͻ͡N! !/ ~( #(w B####^#Vz(s#r!!~#w@~w70͗o.6! 6c=!w#w#w.~(<=( =(,6Ojy!.~=(oc A.6!ͻѷ !!4 #4 #4j~(ͻyN͇( N!/ p>ͻԷû͌"͌">\͌#~$[Ͷ"Ͷ"y͹}o|~$[{ozg}/o|/gN#~QQ{(wzQ ^#VN! ɷ( # #~#fo!!?O !o ~N! $ DSK <-- $Invalid command$Command not found$Insufficient memory$\}COLDSTRTAUTWARMSTRTAUT0 &&-PRINT-?000\\\@11 |OSSLAVE SYSW37;@;7JEMRX^aôö %!YYYCG CIPYS>Gͱ_Kͱ=w)!KGx( 0< [I0<"l2nKͱK!  ñͯ`i û($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $ <-- $Invalid command$Command not found$Insufficient memory$\}COLDSTRTAUTWARMSTRTAUT0 &&-PRINT-?000\\\@11'TU#=I%8.SU .ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELӕS#=I%8.SU 0?INIT?SUIQ 9%R:Ue#@`8ha? !@=a-~ іnd 06#!@1eQ%2XUERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTPӠT4%( !JINITCd4E$ @PX\ AR@K@XPB: ! 帀&5`*5Xm.`XtuXaS0?9+Uͦ?ac41 iJQ Qhq )*q@ 8ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTQ%9%PDSKIN@T dE4E$Q% -MPN5SU P|i802f $hdNx8~-蠢=e\`*YW>ݙqc['Z@Ly7qGJmpMx}U1s'Y@a!k@C !,e@ˌͧ@#6 06ǀYn- &`q`# !<&<>llF h@4fӠmli0 8n7)W<]mm2uhD A[][.06¿@l=7Lqn7lqQ@$4ݧ!mm3C̆m 0#taP 3XLn7LW66 [ct )pi/ ;KxTFl[Pap(OƘ9! cLxXD8D5e_1 ;4a0 ͷKvUXD 3.0l ,4`w` 8in7m.+dQnAl -TX0mnd  -\~ea@0 >b@ͦ qn7 Pl(aEʳ``l( aEʳm{l(yV` ٶ }\$-/ LFA|2f x+ۧpct dpPawi;#Ө1tY< |` #3i a hq`88*À f@M8paS- 6A`Lͦmc"fxax cѰ6h! :`lG8A1qn60e-i_p28.m?s(A iX0i`4 F?? ;tf,~? `OaA" ~@ -kL:`Lͦc2@ ~@ $5  6a>:@ zo-iݺ~L `{%d@i(00@4}$ 0 M@.@ &Q@ U@@*XuU4@hjM@ @9 h6`4&@i@Gx \@@# y @h @P@,@ A @Иd `xV\` ` ?79 =9=UR3QSVcM-I>S#&y19-A=22\QӐS#MQAI<P#%yU91%9.2zRU'@Gx \@@# y @h @P@,@ A @Иd `xVm{l(yV` ٶ }\$-/ LFA|2f x+ۧpct dpPawi;#Ө1tY< |` #3i a hq`88*À f@M8paS- 6A`Lͦmc"fxax cѰ6h! :`lG8'Q;s6{6"6*6*6{6 ʩ DFw*##[9RԤym(Rn(T=(+('( (=( 263{(8:6o %<26o(Qw%  >@!66 >S6S6*6| s6"6{6*66;mwnw:ͺ:ww*(:ͺ::ͺ::ͺ:**ĺ::29G2:S7(G:Q7_:R7WLwowͶͣbwlw{6*6Ͷ* ͵<(w= w>2!:" wwO2w*9[6Rͤ!>+r+s+w"2!"6"6Yf Mww:_wk>@*6|@{6*6|4{6*6>'  d   R0y 0_w͛*͸$~( =(=(:͛*Rea͛*Writ ͛*Not read͛* error, Drive:~AOͩ$~(D͛*, Track:nf%*͛*, Sector:nf%*^Vz( ͛* -%*͛* (Retry,~( ͛*Ignore,͛*Abort)G$(f$f$ͼ$ͯ*O::=~@:<@o&A:V7͜ C#"Z7!_7~('6͐( a**X7#~#2_7Nz[X7 ͜D ͮͽͻͮV:a7 >!i7~ 6C#6O#6M`7q^!`7 !`76# 6 #!a76 1?( ]??.(7:( !i71?ȷ:`77x7:a7A?<2`7](:.*(w#x:`77͆6?#[X77[Z7;7= O:U77͆yͯ*[X7=[Z7SZ7͜75*Z7N#"Z7:U77ȷ͜2\7*Z7"]7͜:\7w*]7"Z7> > _  !~(#  ( ]TqD*|(*~N*N#:T70O[X7ySZ7!_76̀͐a*])͌(-O! ( ####:_7w#qy(#*Z7!l7~*2_7*X7#w͜!l7^#V+R*X7#~:p7r7!7!7Fˆ>N % ͌ :q7~7/!7ίwqw!7~1 ˎ27% ͌(!,27**)0!* ~#fo~=͸*}/_|/W :7!98~) 0WswE:7<=_ow !9u5t6**j$, e"7~.Zf**n/f0*7 , "7u/t0u1t2*t.Zu Z*7n5f66.n9f:|(*n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z*~/!v 18I! 7O ^#V|"##$$' $**,$;$A$"HNF r  +W]+*+ M+c!+!** #&1'***''! '''''''*}B%#B#+ *~*s#(Z)**+(*#O **h(*͆ (!*h * ~(***>Zn~@Aͪ***-w.*2*AvN++~˾**~@i(6@ w@*e ͽX^u1t2l:z /*.4*~? wk=pŒ**#~@ w#ɷ*́s}w.}o:*O2Z͔ԃ *ͷͫ 1O* "ZV* 6͊8Oͮ Oy ͷ͖ A*P>84 "- ,*͡ h> *P6͑ P4T*͖ **P>8m "- e*͡ M͍ h ;** C* :P4*- -*͡ h ͍ *P6w.TP6*ͪ**<4~ >w##4<(<87*˾* (h * p* #˾ **>**; *͔*ͫ*O***);  ͽ:/*~w 6͊;  ~w(x=(#?(͞* ͊NwFyͳpy~w?(/ww:~w? * ) O͔*ͫ***#O# ˾0#͊ lc8( h> 7*͑*lc*(h> *****w.P~hw<~gwF~fwͪ*7P~wh#~+w#~#~G~#O>>~Ox ##y->7*<p##q=F~wf<~wg*ͪwfwgwh~@ͫ OO w.("Zn(:~@(46@ͫ +O ~ Anˮ*(O*A(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~whP~^##Vg{怄O>G{GzGz_>P#q#p#wͯͷ8Z~8# 4 s1r2A*~w/~*ͯnf*~w1~w2~w/~w0~*~1"͸*[742()~1*ѷ*52 }/o|/g"7{ozg"7{Oz(>g~1w6*<;!o*ͯ6ͷ8l*ͪAˮ*7*ͳͽ͌6w6y(<6w?~w?(O**y>#| 4͞AO~@n(*# ~##<~8w###6~͊p(*###> wO*## #˿##A~(Hp(>**~ͽO* * <8###w͊A˾͌An6k)~@*#|+:Nk6k.qk&(c~)8:!"7)!  + #O/ݦw_{(*7|g}oR0+:zʽt8 ʽ~:)E~(9x(((( (~(T(N(/O =#˯~0.~k|< Y^( >wAwB~k?.O?^CVD͗( ~k?(~sCrDnEfF!uEtF~O*7 )"7Y=y p(>]>LC7~#"O ?' +  )###4 !+++- /OG(6",AP~K8=)))0(r+s!77~#"27a!7w#r#sZѯ7 -!7RDM!x(6*u't()a)s$r%w&XG)Pѳ_PN<GX<8= * ( ^(#Vz~1w#~#*(6~#(< ~#4!MˇMA+R:bk##B8B0! <:O{_G~  (w͊:x<~ ##~Z~ =*#$~#  # yDIRDSKl͔ 6 #6#6#6#6#6#͊6ͧZ͔ځ6K 8(6͊ͧT A+~=w> O6K (6͊^Kt0%E~( ͮ~86͊lE6͊>7E~(0) t0!E~ ) ͊:E6#>7~lE:~  N###~< =y (>ɯ~#"_!7~#͸*:7o:7>7 ~/Kط TͧE#<_#{ x7NF >8= ɯwAwB͗ͧRA+B0͗Rn&X)= #:)! ^#(V#zͪ<~?(~ ?>#w#wO Oy(XG7~=~ =nAfB!( ~k?(~+uAtBnf!*~1w=~=***~1 ~@Z~(w@>*^1J͒G)*s#r#w**u7t8*u9t:Zv 9~1(Zn ,w@0ZZZZZ:7w@:29w=>*~1w[Oz<(!98)Oqn7f8|>*~?(=~=k * ~    *~nLfMuLtMnNfOuNtO^PVQsPrQ*7s1r2 :7=~=_s͒ͬ*Pw*7!"7͓((*7RS7( *7"76 *74*76#"7͓ʅ*7~#"7([Po&X=!)u t!*^>V?sr8H*9+++R8r?~$w~%w~&w6;!͟<w.͟7Ò*"7"7î*!7!77Òͳ!8^#V+R( a*]):7(G72727ü:7o:7g*!w=|*~1*~1"OF2C}o|g"7ˀ!8C}o|ʓ^#V!8R(w####~ ͮ x Ϳ v A ~=>͜ Ϳ ~(( Kͤ Ϳ p(~ h "K [7yø*ͤ x~ =x(4@(x`` )! 8 ^#Vz(y4!~ p+p!7 p!8^#V!8R( ! ˶@`ͺ !8^#V!8R(î ####N# w#~#> ##q#~*8>)~>Ϳ ~˾͵ ~4!* 6;!ͺ ~w 6!:7ݾ06͵ ~(< u ͵ ~#w# ut=ͤ ~  a*!6!8~* a*!8~* 7( ~( u+t,   n+f,~#"*88R*Z~(1"ͭ"~wͿ"w.~* "s#r^ V õ"~0>*w6~8p"=ʻ"N F! ~=^!8qpn f!*i"^V~F!?nf| )R0=! =!:!R0nf NFq p utsrNF nfR0; utY"/"ѷn f NF DM!RutY"nf#~wnf^VRͿ"~=<(*~=i"%ut ~_! 8^#Vz %6Ϳ" ~( "r+ss r   6~_!98~~#w^#V^ V _!)8~Z:7w[****u1t2:i8*Ò*^#V#~#0#W~0#_* SÒG T͒2 *q#p#z`#w#{`#w 0 !!!!6/Z~(w0!u1t2!**MD****s1r2q/p0*L$ 0 ( ( ( #*~1O!j8 0 ( 6~G #4é$L$*N1é$~1O<(<(<©$ G$G$L$**~#$#*&G$*þ$Z$Kn8w$G$ %$TG$:n8f$:s8OĴ$f$O:o8:p8:r8(:q8 ~YwY1'Yf( ' ~;(=_!k8ѯ~F#^#V!.(*z85 "*#*[x8͒**z86(#6+>_~ (%&(9%"z8*t89%"x88> a**|(hN C*x8|( ͜%*z8͜% &!ͧ% ("z86!%ͧ% "x8* !w͒ͱ%>>*!t8~*(####%&%*t8####%%a*])*x8|(%%*z8|%"++++])͒*x8|!t8^#V+R!"x8"z8F#6#͑&O(6 0(. (/(2(.0q#(*8#"8:8*8+"8|!84S8!("8!("96# x {8*9*8M*8*(**" 9R0S 9!"9#" 9!9^#V!9R('+V+^* 9##R(58*9R8S9" 9* 9|( ![9R0 +r+s[ 9!a**9[ 9R>K9B"9s#r#*" 9!9^#V!9R(U* 9+F+N R(+V+^K 9 B(+V+^## DM* 9+p+qa*a** 9+F+N+V+^ s#r#* 9x*!9^#V!9R*9R +V+^##a*"9~#<(=* ~# ~ xD##>)))))))'C*C*dC* C* R0y 0Oͩ$N#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#r͡*N˹ͩ$~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!*R:*~12!U͒}(7j+'^=U͒*!U͒|(7j0+u.t0*^=K͒=\+)!39D+s#r#^=J͒+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p*)0 U͒+*6#v+wo&@) s#r+/wG7!B9{9M{3( (B=(?3!D9~ 5:C93O>,3:C933!E9~O3~#͛* n{( ( 3!M97(͋,!M9~(s[9~(=(Q=?.=7/=m-> 2^9?/ͳ-.xː& ,(x, . :]9&.> 2^9?/ͳ-:h9@s0.xː& -( x- . :]9 4ͳ-.xː& H-(xN- . :]9&.,> 2^9?/ͳ-:h9@s0.>& -( x- !]9&.nf"b9nf"`9n f "f92]9/s0M/~(n f  ^#VSd9K`9[b9[f9~(*d9|{(~<!]9w x!^9~5s0< 9.ͩ$:^97//> 2^9  r.(O.. /*i9ˮ~> .("_.(O.. y( { ^(}0!y("^#Vz w w !^95(*i9~wN.##u t />/:Y9 ͩ/!.( 2h9~p0G:k9(͸/  :Y9 ͩ/h&p9~ xw"i9~ ~~(˟w!"d9͸/() :Y9 ͩ/:Z92_9͸/(!_95((!.(l9:k9<(=o& w~2k9o&~ !{[9>ɍ0`00M 0M00MM10MM1 040M0 1 ALERT is a STAT value variable; it determines the number of times the console bell will ring when a remote computer is reached with the CALL command. ALERT works only on calls that have taken more than one dial- ing attempt to reach. ALERT is handy for dialing with the repeat option (see "HELP CALL"): you can enter a number (or group of numbers) to be dialed -- with ALERT set non-zero, you'll have an audible signal that a call has been completed.  The ALT command supports the ALTernate drive/user for READ files as well as .PHN and .KEY (phone libraries and keystring files), and, if the 'A' (append) secondary option is in effect, the terminal-mode capture file. ALT allows you to change the alternate drive/user; its syntax is: ALT Examples: ALT B3: ALT A5: For more information on how alternate DU's are used, and how to set up the ALT search path, do HELP SEARCH.  MEX has a special feature that allows you to maintain 'log' files of your sessions; this is the 'A' secondary option (specified with the T, E or L primary commands when entering terminal mode IF a filename is specified). When you specify the 'A' s(econdary option, MEX will search the logged area (and/or the ALT area: do HELP ALT and HELP SEARCH for more information on searching) for the file specified. If found, MEX will scan to the end of the file, and append new data on to the end, rather than querying the user for an erase. If 'A' is not specified, MEX will limit its search to the currently logged DU, and, if the file is found, will ask you if it should erase the file. In either case, if the file is NOT found, MEX will create a new file in the currently logged DU.  Miscellaneous STAT arguments BAKFILE: Switch: when ON, new files overwriting old files of the same name are renamed to type BAK. If off, such files are erased. PAGE: Value: sets the length of the screen page (0 stops pagination) CHAR: Lists all of the STAT variables that are CHARACTERS SWITCH: Lists all of the STAT variables that are SWITCHES VAL: Lists all of the STAT variables that are VALUES BELL: Switch: enables or disables the console BELL BUFFER: Prints out status information on the ASCII-save buffer. RUB: Switch: If ON, converts local backspace key to RUB TAB: Switch: enables or disables the MEX tab expander LIST: Switch: enables or disables the LIST device LF: Switch: if ON, linefeed append to carriage rtn in T-mode file send EXTEND: sets command-extend mode (command names not defined in MEX are passed to the READ command, which will search for a file of the same name). SILENT: inhibits command-echo in READ files.  MISCELLANEOUS COMMANDS SYSTEM, EXIT, DOS and CPM are keywords used to exit MEX and return to the operating system. Any open terminal file is closed before exiting. DEL is used to close and erase an open terminal file. DSC disconnects the modem (may not be implemented in all overlays). WRT is used to close and save an open terminal file. SET is a command defined entirely by the overlay; if your overlay doesn't implement SET, MEX will print an error message when SET is invoked. SSET is a similar command, intended for the Smartmodem overlays. BELL rings the console bell times (regardless of the BELL switch). CLS clears the screen (if supported by the overlay)  Use the CALL command to dial numbers either from the library, or from the keyboard. If you specify more than one number on the command line, CALL will try each until one answers with a carrier tone. For example CALL 16165559033 SENACA will dial the first number; if busy, CALL will try the second. The special number '#' will cause the entire command line to be repeated if none of the dialed numbers responds with a carrier: CAL WESTWOOD 1-616-555-2040 TCBBS # will try all three numbers repeatedly until one answers. You may op- tionally place a limit on the number of retries by including a decimal number after the '#': CAL 555-1212 #48 Note that a ^C will abort dialing at any time. % Phone-library numbers may contain "comments" following the number, to allow you to record passwords, hours of operation, etc. in your phone library. Any characters following the COMMENT character will be displayed but not passed to the modem when that number is dialed. The COMMENT character defaults to "/" but may be changed with the STAT COMMENT command. Example: [MEX] A>>Phone F4=1-414-563-9932/24Hour-PW:FOO 1200 The comment field may not contain any of the following a comma, equal sign, or space. Phone-library numbers may specify an optional baud rate (see "HELP PHONE"). If a baud-rate is present, CALL will change the baud rate before dialing the number. Note that, for this feature to work, your hardware must be capable of changing the rate AND your overlay must implement the NEWBD vector. Most MEX overlays (overlays whose names start with "MXH-") allow this, if the hardware is capable of baud-rate change.  TRIGGER is a STAT keyword, and specifies the character the SENDOUT command will look for before sending out its argument. To disable the trigger-wait function altogether, do STAT TRIGGER "". CANCEL is a STAT keyword, and specifies the character the SENDOUT command will send to the remote to cancel the line after an error.  CAPTURE is a STAT switch variable that enables and disables recording of the save-in-memory terminal file. It works similarly to the terminal mode -S and -U commands, but allows access from the command line (and hence from a READ file). This variable can only be changed if a terminal mode capture file is open (see the TERM command). PRECHO is a STAT switch variable that enables and disables the logging of incoming characters to the printer. It is similar to the -P toggle command used in terminal mode. Changing this variable is most useful when executing from a READ file.  CRC and CHECKSUM are STAT switches. The two are mutually exclusive (that is, turning one on turns the other off) and set the preferred type of error checking in Christensen file transfers. CHECKSUM is a simple sum of the outgoing record; CRC uses a more sophisticated technique employing polynomial arithmetic, and is thus a better method (more errors are detected, thus, there is less chance of an incorrect record being received as if it were valid). The original MODEM2 protocol employed only CHECKSUM detection; however, in the past few years, most versions of Christensen exchange programs have been rewritten to accept the CRC technique as well. MEX will adapt to transmitting programs using either type of validation. If MEX is the transmitter, it will switch modes after several failed attempts to transmit a file, thus allowing full compatibility with older modem programs.  CIS is a STAT switch: when ON, then Compuserve protocol file transfers are allowed while in terminal mode. If OFF, then the Compuserve transfer sequences from the remote end are ignored altogether (although they are printed on the screen as "normal" terminal-mode characters). CIS transfers are always done in terminal mode; there is no command to send or receive a file using CIS protocol, since the remote Compuserve end must initiate the transfer. Note that if you use the COLD command to restart MEX while the CIS switch is set to OFF, then the Compuserve file transfer module will be removed altogether from the running copy of MEX. If you subsequently use the CLONE command to create a new executable MEX.COM, the additional space formerly used by the CIS module (about 1000 bytes) will be available instead for your buffers. You will not be able to use STAT to turn the CIS switch back on (since there is no longer a CIS module in the system). This feature is intended for those users who do not need the ability to do Compuserve- rotocol transfers, and would rather not waste space on a feature they do not need.  CLOCK is a STAT value variable; you may set this variable to any value be- tween 1 and 255. The value is the CPU clock speed in tens of Megahertz (hence, the speed may vary between .1 and 25.5 Mhz). You can then use the CLONE command to make this change permanent. CLOCK is useful for "tweaking" MEX under varying conditions of load when running under multi-tasking operating systems, such as MP/M and TurboDOS. When system load is heavy, you can decrease the CLOCK value, causing MEX to spend less time in its internal timing loops.  CLONE and COLD The CLONE command allows you to save a new copy of MEX, with the current options intact (including any d)efined keystrings and phone numbers). The syntax is: CLONE The COLD command re-starts MEX and erases any defined keystrings along with the phone library. This is the only way to erase the entire phone library with one command. The COLD command also allows you to remove the CIS protocol module (for those who don't need it): do this: STAT CIS OFF COLD CLONE Note that this removes the CIS module altogether (you can't get it back with the STAT CIS command). This frees up roughly 1K of memory.  DEBUG is a STAT switch that affects the Terminal mode in MEX. If DEBUG is ON, then characters received in Terminal mode are displayed in a form similar to CP/M's DDT dump (D) command: hex values on the left side of the screen and the ASCII block (as the output progresses) on the right. You'll note that the ASCII right-side display is "buffered" until 16 characters have been received. After the 16th, the ASCII right-side is printed. Therefore, if the remote's output pauses, you'll see only the hex values until the remote sends more output. Also, exiting Terminal mode will display any buffered ASCII. DEBUG is useful whenever it's necessary to know exactly what the remote is sending (for example, if you're connected to a time-share network, and can't transfer files, a DEBUG session can prove illuminating in determining just what is happening). In DEBUG mode, the FILTER flag is ignored, allowing all characters to reach the screen. Also, the CIS protocol is disabled while DEBUG is ON.  HEX and DECIMAL modes HEX and DECIMAL are STAT value variables; turning one ON turns the other OFF. These variables specify the default input radix of commands that take numeric arguments (e.g., SLEEP, STAT VAL <#>, the '#' spec in CALL comma TITLE TURBODOS OPERATING SYSTEM - SUPER QUAD HARD DISK DRIVER .Z80 ; NAME ('SQHDC') ;MODULE ID ; INCLUDE DREQUATE.LIB ;O/S SYMBOLIC EQUATES ; FALSE EQU 0 ;DEFINE LOGICAL VALUES TRUE EQU NOT FALSE ; ; ;*** Hard Disk selection choices *** ; ST503 EQU 1 ; Seagate Technology ST503 ST506 EQU 2 TM601S EQU 3 ; Tandon Magnetics TM601S TM602S EQU 4 TM603S EQU 5 TM603SE EQU 6 TM501 EQU 7 ; Tandon Magnetics TM501 TM502 EQU 8 TM503 EQU 9 SA602 EQU 10 ; Shugart Associates SA602 SA604 EQU 11 SA606 EQU 12 SA1002 EQU 13 ; Shugart Associates SA1002 SA1004 EQU 14 Q2010 EQU 15 ; Quantum Q2010 Q2020 EQU 16 Q2030 EQU 17 Q2040 EQU 18 M4010 EQU 19 ; MiniScribe 4010 M4020 EQU 20 ; ;*** HDC1001 Disk equates *** ; HOFF EQU 1 ; Number of reserved tracks for loader ; ;*** HDC1001 Physical drives *** ; hd0 equ TM503 ; Set to type of drive or false if not used hd1 equ TM503 ; all drives must have same interface type hd2 equ false ; i.e. all SA1000 type or all ST506 type hd3 equ false ; ;*** HDC1001 ECC selection *** eccbit equ 80h ;ecc command bit ecc equ false ;set true to enable ecc TST MACRO DN ;physical hard disk defined IF HD&DN x defl 1 else x defl 0 endif endm hddsks defl 0 ;number of physical hard disk drives hdtst macro rept 4 tst %hddsks ;test all four physical drives iff x exitm endif .lall hddsks defl hddsks+1 .xall endm ;end rept endm ;end hdtst hdtst ;calculate number of physical hard disks ; ; dsktyp macro dn,typ .sfcond if typ eq ST503 strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq ST506 strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq TM601S strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq TM602S strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq TM603S strate&dn defl 3 ; 3 mS cyls&dn defl 153 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq TM603SE strate&dn defl 5 ; 5 mS cyls&dn defl 230 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq TM501 strate&dn defl 3 ; 3 mS cyls&dn defl 306 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq TM502 strate&dn defl 3 ; 3 mS cyls&dn defl 306 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq TM503 strate&dn defl 5 ; 5 mS cyls&dn defl 306 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq SA602 strate&dn defl 3 ; 3 mS cyls&dn defl 160 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq SA604 strate&dn defl 3 ; 3 mS cyls&dn defl 160 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq SA606 strate&dn defl 3 ; 3 mS cyls&dn defl 160 heads&dn defl 6 fixed&dn defl true ;fixed drive  endif if typ eq SA1002 strate&dn defl 0 ; 10 uS cyls&dn defl 256 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq SA1004 strate&dn defl 0 ; 10 uS cyls&dn defl 256 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq Q2010 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq Q2020 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 4 fixed&dn defl true ;fixed drive endif if typ eq Q2030 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 6 fixed&dn defl true ;fixed drive endif if typ eq Q2040 strate&dn defl 0 ; 10 uS cyls&dn defl 512 heads&dn defl 8 fixed&dn defl true ;fixed drive endif if typ eq M4010 strate&dn defl 0 ; 10 uS cyls&dn defl 480 heads&dn defl 2 fixed&dn defl true ;fixed drive endif if typ eq M4020 strate&dn defl 0 ; 10 uS cyls&dn defl 480 heads&dn defl 4 fixed&dn defl true ;fixed drive endif dks&dn defl heads&dn*(cyls&dn-hoff)*2 ;hard disk size in blocks ;dir&dn defl ((dks&dn / 128) + 1) ; DIR entries = blocks / 128 dir&dn defl 16 endm x defl 0 rept hddsks dsktyp %x,hd%x x defl x+1 endm dstdef macro dn ; Disk specifcation table defination macro .lall dst&dn: db 5 or (80h and fixed&dn) ; Block size 4K bytes dw dks&dn ; Total blocks db dir&dn ; Directory blocks db 2 ; Sector size 512 bytes dw 17*heads&dn ; Sectors per track dw cyls&dn ; Total tracks on disk dw hoff ; Reserved tracks .xall dstlen defl $-dst&dn endm ; ; ;*** Port equates for HDC1001 *** ; HDCBASE EQU 0E0H ; Base of HDC1001 HDCDATA EQU HDCBASE ; Data port WPC EQU HDCBASE+1 ; Write precomp port HDCERR EQU WPC ; Error port SECNT EQU HDCBASE+2 ; Sector count SECNO EQU HDCBASE+3 ; Sector number CYLLO EQU HDCBASE+4 ; Cylinder low CYLHI EQU HDCBASE+5 ; Cylinder high SDH EQU HDCBASE+6 ; Size/Drive/Head COMND EQU HDCBASE+7 ; Command register STATUS EQU COMND ; Status register ; ;*** Command equates for HDC1001 *** ; CREST EQU 10H ; Restore command CSEEK EQU 70H ; Seek command CREAD EQU 20H ; Read sector command CWRITE EQU 30H ; Write command CFORM EQU 50H ; Format track ; ;*** Status and error bits ; hdbsy equ 80h ;hard disk busy hdrdy equ 40h ;hard disk ready hdskcp equ 10h ;seek complete ; inter equ 8 ;hard disk sector interleave factor secs equ 17 ;Physical sectors per track per head ; ; COMMON /?INIT?/ ;LOCATE IN INITIALIZATION AREA ; DSKIN@:: xor A ;set track 0 out (cyllo),A out (cylhi),A ld A,cseek+2*strate0 ;seek and set steep rate out (comnd),A ret ; DSEG ;DATA STUFF ; DMXSPH: ;MUTUAL EXCLUSION SEMAPHORE DW 1 ;SEMAPHORE COUNT ..DMXH: DW ..DMXH ;SEMAPHORE P/D HEAD DW ..DMXH ; HDCSPH: ;HDC SEMAPHORE DW 0 ;SEMAPHORE COUNT ..HDCH: DW ..HDCH ;SEMAPHORE P/D HEAD DW ..HDCH ; dmaptr: ds 2 ;temporary dma pointer storage sector: ds 1 ;temporary sector storage seccnt): ds 1 ;temporary sector count storage ; ; CSEG ;CODE STUFF ; DSKDR@:: LD HL,DMXSPH ;GET MUTUAL EXCLUSION SEMAPHORE CALL WAIT## ;DISPATCH IF NECESSARY CALL ..DD ;CALL DISK DRIVER PUSH AF ;SAVE RETURN CODE LD HL,DMXSPH ;GET MUTUAL EXCLUSION SEMAPHORE CALL SIGNAL## ;SIGNAL PROCESS AS READY POP AF ;RESTORE RETURN CODE RET ;DONE ; ..DD: LD A,(IX+PDRFCN) ;GET PD REQ FUNCTION NUMBER OR A ;PD REQ FUNCTION NUMBER=0? JP Z,RDDISK ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=1? JP Z,WRDISK ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=2? JP Z,RETDST ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=3? JP Z,RETRDY ;IF SO, CONTINUE DEC A ;PD REQ FUNCTION NUMBER=4? JP Z,FORMAT ;IF SO, CONTINUE RET ;ELSE, DONE ; selhdsk: ld A,(IX+pdrdrv) ;get requested drive cp hddsks ;make sure valid drive number jp nc,selnrdy ;exit if not rlca ;put drive into proper place for command rlca rlca ld B,A ;save drive ld A,(sector) ;get sector to define head srl a srl a srl a srl a and 07h ;keep only significant part o 20 or (eccbit and ecc) ;pu i secto siz (51 byte) or B ; and drive out (sdh),A ;send to controller or 0ffh ;set worked flag ret selnrdy: xor 0 ;return not ready ret ; retrdy: call rwini ;do initialization rtrdy1: call selhdsk ;select the proper drive ret z ;leave if bad drive in A,(status) ;find out if ready and hdrdy ret z ;return if not or 0ffh ; otherwise set ready return value ret ; and leave ; retdst: call retrdy ;is drive ready or A jr nz,dstrdy ;if so skip ld (IX+pdrdst),A ; otherwise zero dst pointer ld (IX+pdrdst+1),A ret ; and return dstrdy: ld A,(IX+pdrdrv) ;get requested drive ld B,A ;and save for mult add A,A ;*2 add A,A ;*4 add A,B ;*5 add A,A ;*10 add A,B ;*11 ld HL,dstbase ;get base address of dst tables ld E,A ;make offset 16 bits ld D,0 add HL,DE ; and put together ld (IX+pdrdst),L ;save for return ld (IX+pdrdst+1),H or 0ffh ;set valid return flag ret ; and leave ; rwset: ld A,(sector) ;get and send sector to drive and 0fh out (secno),A ld L,(IX+pdrtrk) ;get and send cylinder to drive ld H,(IX+pdrtrk+1) ld A,L out (cyllo),A ld A,H out (cylhi),A jp rtrdy1 ;go set head and drive and return ready status ; rwini: ld L,(IX+pdrdma) ;get dma address ld H,(IX+pdrdma+1) ; ld (dmaptr),HL ;save into local storage ld A,(IX+pdrsec) ;get sector number ld (sector),A ld A,(IX+pdrsc) ;get sector count ld (seccnt),A ret ; rddisk: call rwini ;initialize pointers rddsk1: call rwset ;set up parameters or A ;did it work ld A,0ffh ;preset error return ret z ;return if there was an error ld A,cread ;send read command out (comnd),A push IX ;save IX call wthdc ;wait until done in A,(status) rra ;any errors pop IX ld A,0ffh ret c ;if so leave ld C,hdcdata ;set up port address ld HL,(dmaptr) ;get dma address ld B,0 ;set transfer count inir ;get data inir ld (dmaptr),HL ;save dma address ld HL,sector inc (HL) ;update pointers and counters inc HL dec (HL) jr nz,rddsk1 ;if more to do, do it xor A ; otherwise set good return value ret ;and leave ; wrdisk: call rwini ;initialize pointers wrdsk1: call rwset ;set up parameters or A ;did it work ld A,0ffh ;preset error return ret z ;return if there was an error ld A,cwrite ;send write command out (comnd),A ld B,0 ;set transfer count ld c,hdcdata ;set up port address ld HL,(dmaptr) ;get dma address otir ;send data otir ld (dmaptr),HL ;save dma address push IX call wthdc ;wait until done in A,(status) rra ;any errors pop IX ld A,0ffh ret c ;if so leave ld HL,sector inc (HL) ;update pointers and counters inc HL dec (HL) jr nz,wrdsk1 ;if more to do, do it xor A ; otherwise set good return value ret ;and leave ; format:: ;Figure all the needed format paramters ;Get cylinder and head LD A,(IX+PDRSC) ; Get sector count OUT (SECNT),A ld L,(IX+pdrtrk) ;get and send cylinder to drive ld H,(IX+pdrtrk+1) ld A,L out (cyllo),A ld A,H out (cylhi),A LD L,(IX+PDRDMA) ; Get address of format info LD H,(IX+PDRDMA+1) ; SDH LD A,(IX+PDRDRV) ; Get drive number RLCA ; Rotate drive into position RLCA RLCA OR 20H or (eccbit and ecc) ; OR in sector size ld B,A ; Save it ld A,(IX+pdrsec) ;get track to define head and 07h ;keep only significant part or B OUT (SDH),A ; Format LD A,CFORM ; Issue format command OUT (COMND),A LD B,0 ; Get transfer size 0 = 256 ld C,HDCDATA XOR A ; Get bad block bits OUT (SECNO),A ; Start on sector 0 DATALP: OUT (C),A OUTI JR NZ,DATALP ; Continue till sector full FWAIT: IN A,(STATUS) ; Wait for format AND A JP M,FWAIT RRA ; Any errors? LD A,0FFH ; Preload error return ret C ; If so, call it quits xor A ; Otherwise set good return ret ; And leave ; HDCPOLL: DW 0 ;POLL ROUTINE DW 0 ; HDCPR: IN A,(STATUS) ;GET DRIVE STATUS AND A ;CONTROLLER BUSY? RET M ;IF SO, DONE LD HL,HDCPOLL ;ELSE, GET POLL ROUTINE ADDRESS CALL UNLINK## ;UNLINK POLL ROUTINE LD HL,HDCSPH ;GET SEMAPHORE JP SIGNAL## ;SIGNAL PROCESS AS READY ; wthdc: LD DE,HDCPOLL ;GET POLL ROUTINE ADDRESS CALL LNKPOL## ;CREATE POLL ROUTINUE CALL HDCPR ;EXECUTE POLL ROUTINE LD HL,HDCSPH ;GET SEMAPHORE JP WAIT## ;DISPATCH IF NECESSARY x defl 0 dstbase: rept hddsks ;define disk specification tables ; for all hard drives on controller dstdef %x x defl x+1 endm end (C),A OUTI JR NZ,DATALP ; Continue till sector full FWAIT: IN A,(STATUS) ; Wait for format AND A JP M,FWAIT RRA ; Any errors? LD A,0FFH ; Preload error return ret C ; If so, call it quits xor A ; Otherwise set good return retTR@%9%PDSKIN@ dd$I@ ?INIT?+nF|vi2` ` pp<\ -h͢@QfKt[xx=eT*[ ҩ`p8: ,~`;@iKfِm*d6b!djp@nӸ5?Ht:XnAӠ5dpqM&}i7+7M" e02Yd` | iۮVmnm8X0 v! j i+,2Ͱ` q>4`9*՛f" +6|lppF54 q7M&}i7+t nmvnaA{M4`9*՛f"USER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS REL*TR@%9%PDSKIN@ dd$I@L?INIT?+nF|zi2` ` pp<\ -h͢@QfKt[xx=eT*[ ҩ`p8: ,~`;@iKfِm*d6b!djp@nӸ5?Ht:XnAӠ5dpqM&}i7+7M" e02Yd` | iۮVmnm8X0 v! j i+,2Ͱ` q>4`9*՛f" +6|lppF54 q7M&}i7+t nmvnaA{MS#9=I5R2#-9M%922SS/`1]%Rp`9*՛f"USER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTR@%9%PDSKIN@ dd$I@ ?INIT?+nF|vi2` ` pp<\ -h͢@QfKt[xx=eT*[ ҩ`p8: ,~`;@iKfِm*d6b!djp@nӸ5?Ht:XnAӠ5dpqM&}i7+7M" e02Yd` | iۮVmnm8X0 v! j i+,2Ͱ` q>4`9*՛f" +6|lppF54 q7M&}i7+t nmvnaA{M4`9*՛f"USER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTRS"%9%PINTNITQS dDT%9Q%NINTXITMM CxGv4B1F}m0CL4c;L  0 Llh~=\@;^&0@ A'1ɒͤ1ݒG+pC.=i6\d$DHINTDISdDTINTNITTE5XINTXITERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELSTDLOADR ;STANDARD LOADER HDWINIT ;HARDWARE INITIALIZATION SQINT ;SUPER QUAD INTERRUPT CONTROLLER SQCON ;SUPER QUAD CONSOLE DRIVER SQDSK ;SUPER QUAD DISK DRIVER ;SQHD2010 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2010 ;SQHD2020 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2020 ;SQHD2040 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2040 ;SQHD4020 ;SUPER QUAD HARD DISK DRIVER FOR MINISCRIBE 4020 ;SQHDS506 ;SUPER QUAD HARD DISK DRIVER FOR SEAGATE ST506 ;SQHDT502 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM502 ;SQHDT503 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM503 SQSERIAL ;STANDARD SERIAL MULTIPLEX DRIVER SQSIO ;SUPER QUAD SERIAL I/O DRIVERS SQRTC ;SUPER QUAD REAL TIME CLOCK DRIVER M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS REL*AUTOLOADCMBACKUP CM BATCH CMDO CM ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTTSedx@= !JP0CHAN Q%9%PPARNIT TԠeE4#AI>P0TSUBOU%U p Cxh`a=`qݦ?`qe2iV+U! `&"`q[w2 ,(ì`AWA4Y2϶Lu$F@*Jrd$*)%S2JrJx ( ")G2B tx(#& ǀ@2zBt(*$GI@2t(*)GD* ||( '$FQ2J:r dLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTT %9%PRTCNITMK@%8%9%P^>4"4pD0P0XeӘ1VCû;NtcA@V0d\"&,$G*Jrd$*)%J2JrJ|)*!$FJ2*ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELTT T4%( =5IZSERIALTT`e4U$4 ?INIT?Te4U$%5MIMRSERNITMQ`( +67\,)LE$BhR v%n[IOkq@`z(YWzʦ#U NY,tn,([8n {?/{%pܯ6x0+CmӘar B;/6x,+ۦtrIt]-Mt ,9'n'@/%?‰w0Z-U!qX6>ѠrB ealx:7\t n[UӸu4Ot~2[RPxͦ- %q7M6?rK6Uj\!6,na^,~ kh:"u?j0;[tnӸUeO€+o-I  M  QV M"8Oe؀?Bt ۫znbXZnӐU^ 7Jtn- $d7\V녖@۬qPe> ۣPt VeF7\-xx*< O0P n@ +"Y8d4f 2e~/@@@0/s 5v>=Ҁ}4Uʁ E"tR) @`\" F7 6m덊'DpUi09Ypg!FpX-T#83#8ۧݺ#OtF#gFpgFpgFpD Fu4fl3]9B3#d* bbze '!)G@@*zjt!)+Fu*"*b o&'%'GȀ2* |)!)G2*Btl)") 2*"m)")!2*"$t)$F2*Jr o)$!F2*Jro)$"GRr*JLw)$Ԁ2*rJd )() O*e )()!Q*$d ) FYrb*g+N '!)G@@*zjt!)+Fu*"*b o&'%'GȀ2* |)!)G2*Btl)") Ƹ[UӸu4Ot~2[RPxͦ- %q7M6?rK6Uj\!6,na^,~ kh:"u?j0;[tnӸUeO€+o-I  M  QV M"8Oe؀?Bt ۫znbXZnӐU^ 7Jtn- $d7\V녖@۬qPe> ۣPt VeF7\-xx*< O0P n@ +"Y8d4f 2e~/@@@0/s 5v>=Ҁ}4Uʁ E"tR) @`\" F7 6m덊'DpUi09Ypg!FpX-T#83#8ۧݺ#OtF#gFpgFpgFpD Fu+AUTOLOADCMBACKUP CM BATCH CMDO CM ERASEDIRCMFIFO CM FIXMAP CMLABEL CMLOGOFF CM LOGON CMPAUSE CMPRINT CMPRINTER CMQUEUE CMRECEIVE CMSEND CMUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS RELM 1M-13M=1]1M]1        !t97(͉1!t9~(~&2=Y2=1=1=ʌ2~1G:9???? 2͡1@1 w w ~G!2_u t :9nf}|1n f "9~29~2921>> 2>*9"9!94#5 ү21>>0*9"92>!94#5 ү~nf}|n f ~ G~>Py 2>د!2a*!z9~(2%(2!z97( `>>3h&)))DM)) K9 ~#4{(=(7=3=64=4=94=9495~ ݶ(N~  #^Vsrz(7(^VnfN~ ~ Zsr~w~(~(y~(=w!.(~ 47(^q ~< w4~94~{J64qnf~W{Oz4n4~($˹*:n8 ~ ww~w~w~(~(~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5~(****Lz(=( "9"9 !F5==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(6R6s9129G( [9G4{9Ms9129 s9129>(!5͋5[94s9129G([9s9129 s9129>(!5͏5[94s9129!9"9!9q!9v(!~(˾:9( >˶*9~(!9n,ˮs9129!9~_~ (͍ͺ("*"> :ͩ|(h C*|( V*V!a ("6!%a "ͩ !wLɷk>þ!W͝####͍ͺ͆*####ͫ͆:6*|(ͫͤ*|Ĥ"++++6L*|!^#V+R!""F#6#KO(6 0(. (/(2(.0q#+~ >=t cͩ~0O<(@|<(=0w<}(Y=(Y< ~<8 6<6o&q5Yv(^o͕Y <ʛY6<Yn(YYv [_ oN<͕YvYn[͸V<PL>( G&#6͸LLy=!!ngOL͛#͢ân@!!~w@u@>_6|6!uUtVnUfV|6!uWtXnWfXtrtSpooler error (Ignore, Abort)(  v͈O:A=:9< ͶþͶþͶͶͶþͶͶþN1F2˸Ͱ"&ͩ"$~02#*&ͷ*$u1t2:#w0!#4~<6#4~<6#4~6[&!RS&ͩ|( ͰDþL!*1r!2f!^#V6Å!!͝ѷ!6#z !-:1w<21! +p+qMD!q#p!s#r#q#p!2XͰͩ QJͩͯ÷4 ^#V:!>Ws1!*v v( !TTS∠%9%PSERIN@T%QpA)*p j<ڳߐ@!  C{A ׀@  CbA<dK@>` WP@%`p0n8hfEa衴=@ =9(PWA i@ e&[ZoYhPef!@ e&[x2ON`x=/6m}^ldN`z,;l(]r@ v`MvPǀ=Ci؀ m|(iZW(9Yv v=[`6Y/ڮ ,;1P1s  `6!VmIú )ʊjqҰ hI) hI*i&[x2ON`x=/6m}^ldN`z,;l(]r@ v`MvPǀ=Ci؀ m|(iZW(9Yv vUSER CMFORHDC CMFMTWD5 CMSQSINGLECMy  M80 CM   M80 CMBACKUP DO CPMSUP RELDREQUATELIBHDWINIT RELLASER COM LSTCTS REL+Q#=I%8.SU0LDRDMSdDd%ALLOCdDT8MEMTOPe44Dh P,$rAP@(!Dd,b\R"CX $bE)$pb2R yq 6h8|U@YtYh6m`ʶ,ڐ*=ٵyW@m6聡ٷ ŇU$U<s6P@N` >mfp1@et@mKf@!0 v -@peo <ו Gͺ `S6Lۢ E3jX63@՛G^,`s62D4# `:@ p@  `~P X2YD  !h:1Hb9 t;NFQ`0 q\ٴ,t@m~f5{_ٷD R$l( %t@HX FCUғ~+`Hm0x@yf7tͽlCV wiHEam:`0-EGiHp v@3ow_0f xjh@mB\Vmp pD:j \ 3mhGvpRd8X ;X pG*'m2OVmp^x<͸`o0= v0{.6mq^6W` b\6Z,Kzpz@.'ɤPR)JbE@ri#`0Yb |7Fð 4fK@"-bWe@3ӕc05M2&T 49QMQU93HTԔc;95M3T #&Y5M2T 2`Y5M38T #5Y5M3T L#Y,ڌn7 #djdLy (, 6&CI 3%\CzͰz2,,MSc:L)-7cIfـ`o: yhLyf@`a2 Sidr2b""jӕc=I%8.SU2 OSNTRYeT4d4PERRXITmj: 4f j2t.nFg4r@+t/nQVf mf0pN`nF-Ӡ-Ӡ-)gQ-9X7 [a6?ۦt:>-E+4nm0Ѻ^J&8^# suZ32 `8ۧt1nMӨͺt2[ap-){b8?0?c:(?#uZs3@t/pkD57hH$#+:ϋVCȉ*hj ih*ђp +誈Q@ ȩ(j jHiѐiiѐPHiiѐ hiѐi(Hiёi(HiёPJiёhiёhiђ#iiђP'Jhiђ+iђ/I(iѓ3hiѓp9JIiѓ=ȊHiѓAJHiєEhhiєpIHiѕ0UJHiѕ]i iіcH*iіPgjJiіkjHiіqɈHiїPwHiї{(iїhi(iјhhHiјPihiјȨJiјHJiљ0)iљbȊHiњPhiiњhHiњɈȈiћHiћPHhiћhhiќiќPIiќjiќ8SQԣ=I%8.SU Ҁ ROVECTTdd4HOPNFILT4dd4SFFFCNe4dd4` DFFCNDTdRSFFCNu4dd4`MFFCNU$dd4HSFAFCN$E$HRRFFCNu%$HWRFFCNd4U%(0&CKLEXTƂd4e4d4.SRRFCN$dd4.RDPFCN5%4d46RDMFCNՃd54p-f J݀4f@Bm[l" Yg@!3@!E@KuZ72ݐnK4f vf w=Y4fS݀ͩ` +̆Z+v?H n m(f ۜf4nF-Ӡɚ3@h8^ʫ ͳ1?sZzf :ٷHF?A0,X:`F~2V+4f0 w\{6ۀ3o@Pjͭ ,ff=a@hfPaśI\ 9[Y8Dq<^s6@hm31f{%T 4[ &m^[_l n i|ٶxcFhhzhp#ŇNY@ n¹@,nf|86L0Y_l n &j86؀@;fސh٠4[L۲4yP &m[0ͯڶnĿ+q9Qt E\áz62XwDT@Pna h~F#0m<p7fetn 3ih@ f6kL@ fְSk jV SV YAW Y@Y,r@4 kv4͠-VmhmG@VUf@'+twzlUX8FVm^hٵ Y(-Pfހ&4hon¿ NVmuV 'ۤc[A-Ӂ~;C4[s}? ٶXY,۰w0 ST YAV4 3kͰb00- &[&#= a K6l:8m[63m Ɂi0 `ͣٷ nĴKq@f6ha]6m f%*NmHnvm\nvh?mQf@%݀ͯ~n3+;0.0|>sz|lt:bO_@)fCF+q nbh#60Y<#UK6s36s;%iW Gӹw3NfPa-gٴ$aV\ѸP:n q@Ѻ6 @+fڠ@(e y\@f-\C6@՛wA"-n 1^3J`"[2p` m|8b1th_̓tfӹF#sC%Jc2^s=̀ByssCS|>fӠQFp,_B/4j@hF @hNcdtn9dAn LFmnӸź~ 7N&.;ۧt0nL;^ ? Y4vth2 ZVb- 삷F!0/QςE'3$'@|3[tn 6h2 UPc)M1 2B TѐУ+` 1M>2 V#,M%>2ZUPc+` -=A93 UPQ3MP2 Qc5`P3hU #-yMQ9>3tU 'yMQ R39@93"-MI!9%R2@UPc&yQ R2U ?YQ9>2 U #:Q:2 S9U -I>2UP6y]I%Q2UQc-`9Q :2TВU#1 9I%>2 UԐc-MY 3TP:9]I%>3PRV# Y -]M1.3TT?u]II2TV#0Qa3UPc4Y5a%R3̣0 yQM2hc2Qa63,c>y -]I1.2 U̐c<9B3 #' M1M.3 UPc0QY23( UP4Q -N2l U;QaJ3 SЕ>` -=A92Z #& M-5J2x Uc(iI=:2 SU#*@ -I>2 Pє#/Q1N3F gST#=I%8.SU!2 DLSTBLdUHHOPNEXTd4@UPDFCBUD4pCLSEXTƀ5$HFNDDDEdDDX8FNDNDEddDDT8GETDCTe4UDD5HCHKHDStUDDTXWRITDE$E$T8RDRECCu%$T8h&WRRECC4$DX.FLOADCtUD$ĸX.SELFCB4TE4P.RESBITdtUD$6CKSPFNd45d6CHKALVddH>GETDLSdtUD4ECKDROT4e$FGETNABdtUDdhFZERODNׄe4dTD FGETABNd44hFGETDXAdtUDU@NGETBLMtUD(NGETDNO4UDDNGETBKS?ml3@m+`3k0fj 3l ݀lڠn p ٴF  ڠBA00f6_cd 04\7D PEkwiI8l$(`PAdY<_F>@0L4wWY@ ͦ 7[F4_b7j !`hY~P>fm+`3k 6 ,f7+68XfӰK`;@VmhÀ@L&a6Łix -|dlh 6̆d@ j;V m>)_@N[[65Yx K-Ӊͤ,ͻL>(1kCu_H 2aTB6A`ʼ b +uhX< /n`/ ؠcD3Tf0Z![6n6l|f0&mu| o!NYQ(r1@m @5tC@P @PfP{BOx"LFe!x2~9rl|Rfm f@6,^iw N&Ktkk :^s%^!JFK6ꃽY`![~(kCtCn鸊3"u"NfK,(p*H8Y-Yeͺ@eSښ4de[̖+U[٠`jkx4n0~ ht:/e^X|L@2ì,:W+tl"`6с ڈ  d@4_-mzP,ڼ >mM[#F Ȁ~n\,P `a1Xi| Dv,Rpb16XVfP` 1Y $^OSJ(ta0A`,>Ͱ`,6 |82- n i@#-dl 60#66#4[#uZO3k+ k0̪ͫ& úV+60[W<"" -dY$V[JCDp@6XeaЃn)Ȅ[Ebh03<b76"s|d\-HRa0͢A"VsfݰVqx8v6Eͬ@"wg6,h! "Kͥ` ak$Cґ!'X:K4nDӠ1#t%n̗[6xArh@K6)+2Œͮ@XEXY!LGf@Q,p DmNK6 X(ǥ%mźwO6h` ~_h9ǂ nl0ro+-ԩjYjTg Ef ZRl3iKL| z`nݤ!&! 2YcXt fӰmPhXxw0`Ad0;lXça'fS@w Eezb\( #C\A@ %&#=!@L pDi`HKfPuE Ͳ0,l c`l1F 0bٴ lfڀm[bl;`SQn( bٶ!ͪ6l ?Ǯ`8>Ӹ@'ͩP?Fmn!аvC*ͮ+6Q@5k!vBØ"O06rlXaͺK63j0D >,ڌ~9E[6DjH\0j0Ճ6ŁY%QQ?m?-Vm rkhC6ٴ%??b1x Yg| 2UFͿC,F@:QЅ"Ր>!H2eK60 qUB Pͨb5xo{!d ݒ'ۤ`,|eadۧr tBdlC6-ݥ&K6 [ݤ!fkwiIn"`6ĂBdiHN\r!. ] /m 0)ffڰVmd?9~`F;mPKBCOf Ƞ`Yx Kt@@-qf!2YTB+nH-ӡ 7ۦ`&2 QUc(QL3Uc- Ae 34U̐c!!9Q N3bUѐc'y E5 =62J QQԣ*y U5:2 UԐc& QI 2U( UAB2 ѐЕ(Q53X QU#7@ -IY23 T:`IIa%R3 S#A 1 Z2DՑP'Sc=I%8.SU2 LOGUSRd4HRDSFCNe4Td4xRCDFCNU4Dd4SRUFCNdDe4d4SESFCNe4U$d4PLOGFCNe44dd4DSKERRTtUDdHGETSFAdtUDcTGETFXAdtUE3GETS2AtUE$4@GETCRAtUD%8GET78F4UCsh GET78D4UCsHGET78C4UCs9p|- 0~Ӹ?X`4a@b0nG@n D8n`9^)Ghsgu{3ht7n mWnG-Ӡet1?,n `t@xF,nNKuZW7YeuZ{t@ Ӹ>t1nlyF< 4'N n3Qf1?zn\ Xdn ̐0 A4"x0 dO07bk%u&7NKtNnԜ:-AV([2tQdF@2*"j f$ X@2:*"*d,"!FR2:*"j f))o2"Z f""& FCj:*2 QQԣ=I%8.SU@BUFSIZd%Te8BMINITd%Tdu(BUFMGN4%d4RBPFCNdd$d4&CKBMST`P @% !XVv[4u@èu1^7G,<3 ,:#GbY@uA@#d!FpDgmpB K: ,Ci;,nDf`ͣ@[`z|,:@y~([qSt$P7NFm[x&ma0T I@,n0:@XvQ#t%jPp7 t$nq@!Bו&v(-ݥ!@1;lͺa3o6*L͢`1xFV9 h\ U@V F63oF? 6JwOcuX(O£lf1@-6 ݅oٴL"[aPx2a,DNQ;t( ;t(nDa@@,DFO¡p;OFT;w ~`0C,à`o`;4? Y݀? Y=F3lPfo>,,@pHb3yDpxFV(;ܢ1F~\D memem ?_V x me+6m *ٷ Ao[ق`2+q@,@"3l͢`C,:fް6 ,bn(^=d,(@)b /ǥ2bYn,+8@I0D8$#+pHRD eu!``0=f&5@"^8$^)2nVm pb68Fͣ@Ӹ|[1ApN"6t*_ %AgC-|Ϳgmf6Ctlkh ݒ͠ !w7F7W!]6 ٠P ;xͿ``#u~N n@ %u7Nxͽ`lۊÿL&͢  26p( f0FmfаFhdhX#4[V: ! 0 @D 6Y-pf2[HG-ݥ&Lgl*&$%E@2"* bzd&'^2"J2f@ !!+FX*b"e")Frr:*"*g)"$&)Fz@i*r!g$ |rZ"ddx#,")Fm@"gH "&)!&Fubz,g "),$Fd"Z*g&'%"y Jg) NQԣ=I%8.SU@R?INIT?TE5EH8%9%P>ӒU#A ::SM-5J;UC ! H*`i| a` ?A[+`^\ -f +D;V Yh(o 6O4ͻ-Ӹnn@@ e}Nb3^7Jn 4;` ~ CC*ƀYW`'a-~ _U8eC`tnpf@mnmҰq~H +2,6z7M6(2ς |:ؠnv݀Aow@cXm!eҐ ;mp]f [tnAMӀ-u7N69]mpF]mpMf -ݥ! n@Ӡ]Y0`7M'`H$M wiIu7Nvmv p f 2;tnҰY^)4pnnAYCͱ Hz,+,({7NnHrX!zYVf&?/6@am9 mӘ1r\8 uA`jmhxd2Wweg[^7JKU_ 82~pY10,誈Q wi ȪJK *#=I%8.SU .?F2"Z" ӑS#=I%8.SUCPMVEReu5$d4RVNFCNe$4d4 DT1FCNdEC$d40ROUFCNҀdUDd4pZeàw-@*Qt2`0h^mSP mC/@,P$ t`y0(02j\J836gms;AcX0}L ,B+Ktl/ +۬PeۧqnF-ӠB0hM"3k3@mn-ӐɺqNd4HXCLSAFPde$TE%hȈCKTASTTUDXECFCNՀdtUDDU(̸?UNIT?c$sͨRETHLRdtUDDxGETHLReU5$d4ӓQԣ=I%8.SU@2CIFCNT4d4hRCIFCNe$4d4DCFCNU$d4@CIBFCNT54d4CONST̀T4CONINIۀd4EDCONOUT4( CONSO44pZͳ  P@ f  n$$PD0?9 `BX1\ڒ`쑣3l7In$<+3l`Ͳ vC6̀04?FCH!60mapBYK,m nb3 -pͺf2[Qt4dNH+ݥ&Hdk2zrz(Ji Q`  Ji Q .0 ƀ@2zr" #=I%8.SU`TICCNTd0DPFCNTDTWAITdDŕD8SIGNALd5%$8RESUMEd5%HxGETTOS00a d  ^Tj] ! wiHPueaT#L1t8OwhUV-+`@Հ!@E{%S@! Vme`#"%{ V`KM`Ld&'%"FA2:*"*e&'TP=I%8.SU柠 INTSPdE5DDEXLATe4tpDECOUTeTĔLNKENDÀd$Tx DMSTD4UPRCASd44%hXGETDMAe4UDDGETFAdtUDDU(GETHLRe$UD(pEXITAeE5ET,Tԣ=I%8.SU懠Rp?PAGE?cCMEMRESSU1 19%R:8Sc 9]I5MR;S$@D) tSx0 0000(000a(8A@pp80dݤ<"(AM^v(82͠q-@) >]b^vxb(F7 <. #4c`ٴ`p8BA:dH8AxR$*NF#yS E!@X !h:1Hb9 t;NFQ`0 q\ A)*f 0Z9`i7DX * 8`i2AL eTmC[q :)zZ0F#vjZ<(*EP'Eְ$P o"8yp, X8oXW(8ͥ@ @f`iOҞ WEX<`@i7EX6B7|mf#@wf+4pW(G߀3}B?,` tx@dP#+۴DͶ`,"LRm7vtU-fh<m?fk6c C@y3k CAmu'V# fU6vRfȄr0g!YVw (!X(Eɘ@Y(fPmf `Ք:]*ū*Ox* :tٴt"d3hDf D?iH` V c W)|fP EdMzr~jJ Iqp ɨH*q0 ihIj ʊjȑ k*hiq J葑/i鈉S*I*ɈisT゠=I%8.SU柠MSG001d4s(MSG003d4sHLCLDESh$$a 1ͦ $!ͦ 7΂1n2 &f4&Sq@m2M#ȒZ~-$=GVue0fm+'G(`ͤ`y@r2Lm-NG#yX "'c(@?X{4nͧ Pa1J3٠6 3)o9 pfY/`8l.Vmp TmfPe:"tm$Xf  r: T n(@՛s@ Fd"ʠh-E+4nm0Ѻ^J&8^# suZ32 `8ۧt1nMӨͺt2[ap-){b8?0?c:(?#uZs3@t/pkD57hH$#+:ϋVCȉ*hj ih*ђp +誈Q@ ȩ(j jHiѐiiѐPHiiѐ hiѐi(Hiёi(HiёPJiёhiёhiђ#iiђP'Jhiђ+iђ/I(iѓ3hiѓp9JIiѓ=ȊHiѓAJHiєEhhiєpIHiѕ0UJHiѕ]i iіcH*iіPgjJiіkjHiіqɈHiїPwHiї{(iїhi(iјhhHiјPihiјȨJiјHJiљ0)iљbȊHiњPhiiњhHiњɈȈiћHiћPHhiћhhiќiќPIiќjiќ8SQԣ=I%8.SU Ҁ ROVECTTdd4HOPNFILT4dd4SFFFCNe4dd4` DFFCNDTdRSFFCNu4dd4`MFFCNU$dd4HSFAFCN$E$HRRFFCNu%$HWRFFCNd4U%(0&CKLEXTƂd4e4d4.SRRFCN$dd4.RDPFCN5%4d46RDMFCNՃd54p-f J݀4f@Bm[l" Yg@!3@!E@KuZ72ݐnK4f vf w=Y4fS݀ͩ` +̆Z+v?H n m(f ۜf4nF-Ӡɚ3@h8^ʫ ͳ1?sZzf :ٷHF?A0,X:`F~2V+4f0 w\{6ۀ3o@Pjͭ ,ff=a@hfPaśI\ 9[Y8Dq<^s6@hm31f{%T 4[ &m^[_l n i|ٶxcFhhzhp#ŇNY@ n¹@,nf|86L0Y_l n &j86؀@;fސh٠4[L۲4yP &m[0ͯڶnĿ+q9Qt E\áz62XwDT@Pna h~F#0m<p7fetn 3ih@ f6kL@ fְSk jV SV YAW Y@Y,r@4 kv4͠-VmhmG@VUf@'+twzlUX8FVm^hٵ Y(-Pfހ&4hon¿ NVmuV 'ۤc[A-Ӂ~;C4[s}? ٶXY,۰w0 ST YAV4 3kͰb00- &[&#= a K6l:8m[63m Ɂi0 `ͣٷ nĴKq@f6ha]6m f%*NmHnvm\nvh?mQf@%݀ͯ~n3+;0.0|>sz|lt:bO_@)fCF+q nbh#60Y<#UK6s36s;%iW Gӹw3NfPa-gٴ$aV\ѸP:n q@Ѻ6 @+fڠ@(e y\@f-\C6@՛wA"-n 1^3J`"[2p` m|8b1th_̓tfӹF#sC%Jc2^s=̀ByssCS|>fӠQFp,_B/4j@hF @hNcdtn9dAn LFmnӸź~ 7N&.;ۧt0nL;^ ? Y4vth2 ZVb- 삷F!0/QςE'3$'@|3[tn 6h2 UPc)M1 2B TѐУ+` 1M>2 V#,M%>2ZUPc+` -=A93 UPQ3MP2 Qc5`P3hU #-yMQ9>3tU 'yMQ R39@93"-MI!9%R2@UPc&yQ R2U ?YQ9>2 U #:Q:2 S9U -I>2UP6y]I%Q2UQc-`9Q :2TВU#1 9I%>2 UԐc-MY 3TP:9]I%>3PRV# Y -]M1.3TT?u]II2TV#0Qa3UPc4Y5a%R3̣0 yQM2hc2Qa63,c>y -]I1.2 U̐c-<9B3 #' M1M.3 UPc0QY23( UP4Q -N2l U;QaJ3 SЕ>` -=A92Z #& M-5J2x Uc(iI=:2 SU#*@ -I>2 Pє#/Q1N3F gST#=I%8.SU!2 DLSTBLdUHHOPNEXTd4@UPDFCBUD4pCLSEXTƀ5$HFNDDDEdDDX8FNDNDEddDDT8GETDCTe4UDD5HCHKHDStUDDTXWRITDE$E$T8RDRECCu%$T8h&WRRECC4$DX.FLOADCtUD$ĸX.SELFCB4TE4P.RESBITdtUD$6CKSPFNd45d6CHKALVddH>GETDLSdtUD4ECKDROT4e$FGETNABdtUDdhFZERODNׄe4dTD FGETABNd44hFGETDXAdtUDU@NGETBLMtUD(NGETDNO4UDDNGETBKS?ml3@m+`3k0fj 3l ݀lڠn p ٴF  ڠBA00f6_cd 04\7D PEkwiI8l$(`PAdY<_F>@0L4wWY@ ͦ 7[F4_b7j !`hY~P>fm+`3k 6 ,f7+68XfӰK`;@VmhÀ@L&a6Łix -|dlh 6̆d@ j;V m>)_@N[[65Yx K-Ӊͤ,ͻL>(1kCu_H 2aTB6A`ʼ b +uhX< /n`/ ؠcD3Tf0Z![6n6l|f0&mu| o!NYQ(r1@m @5tC@P @PfP{BOx"LFe!x2~9rl|Rfm f@6,^iw N&Ktkk :^s%^!JFK6ꃽY`![~(kCtCn鸊3"u"NfK(p*H8Y-Yeͺ@eSښ4de[̖+U[٠`jkx4n0~ ht:/e^X|L@2ì,:W+tl"`6с ڈ  d@4_-mzP,ڼ >mM[#F Ȁ~n\,P `a1Xi| Dv,Rpb16XVfP` 1Y $^OSJ(ta0A`,>Ͱ`,6 |82- n i@#-dl 60#66#4[#uZO3k+ k0̪ͫ& úV+60[W<"" -dY$V[JCDp@6XeaЃn)Ȅ[Ebh03<b76"s|d\-HRa0͢A"VsfݰVqx8v6Eͬ@"wg6,h! "Kͥ` ak$Cґ!'X:K4nDӠ1#t%n̗[6xArh@K6)+2Œͮ@XEXY!LGf@Q,p DmNK6 X(ǥ%mźwO6h` ~_h9ǂ nl0ro+-ԩjYjTg Ef ZRl3iKL| z`nݤ!&! 2YcXt fӰmPhXxw0`Ad0;lXça'fS@w Eezb\( #C\A@ %&#=!@L pDi`HKfPuE Ͳ0,l c`l1F 0bٴ lfڀm[bl;`SQn( bٶ!ͪ6l ?Ǯ`8>Ӹ@'ͩP?Fmn!аvC*ͮ+6Q@5k!vBØ"O06rlXaͺK63j0D >,ڌ~9E[6DjH\0j0Ճ6ŁY%QQ?m?-Vm rkhC6ٴ%??b1x Yg| 2UFͿC,F@:QЅ"Ր>!H2eK60 qUB Pͨb5xo{!d ݒ'ۤ`,|eadۧr tBdlC6-ݥ&K6 [ݤ!fkwiIn"`6ĂBdiHN\r!. ] /m 0)ffڰVmd?9~`F;mPKBCOf Ƞ`Yx Kt@@-qf!2YTB+nH-ӡ 7ۦ`&2 QUc(QL3Uc- Ae 34U̐c!!9Q N3bUѐc'y E5 =62J QQԣ*y U5:2 UԐc& QI 2U( UAB2 ѐЕ(Q53X QU#7@ -IY23 T:`IIa%R3 S#A 1 Z2DՑP'Sc=I%8.SU2 LOGUSRd4HRDSFCNe4Td4xRCDFCNU4Dd4SRUFCNdDe4d4SESFCNe4U$d4PLOGFCNe44dd4DSKERRTtUDdHGETSFAdtUDcTGETFXAdtUE3GETS2AtUE$4@GETCRAtUD%8GET78F4UCsh GET78D4UCsHGET78C4UCs9p|- 0~Ӹ?X`4a@b0nG@n D8n`9^)Ghsgu{3ht7n mWnG-Ӡet1?,n `t@xF,nNKuZW7YeuZ{t@ Ӹ>t1nlyF< 4'N n3Qf1?zn\ Xdn ̐0 A4"x0 dO07bk%u&7NKtNnԜ:-AV([2tQdF@2*"j f$ X@2:*"*d,"!FR2:*"j f))o2"Z f""& FCj:*2 T#=I%8.SU 2pLFFCN3@n-Ӑ ;V ^Tt~q͚3i ݄3@4@X@1fаh(9EXn)ݥ,,@pHb3yDpxFV(;ܢ1F~\D memem ?_V x me+6m *ٷ Ao[ق`2+q@,@"3l͢`C,:fް6 ,bn(^=d,(@)b /ǥ2bYn,+8@I0D8$#+pHRD eu!``0=f&5@"^8$^)2nVm pb68Fͣ@Ӹ|[1ApN"6t*_ %AgC-|Ϳgmf6Ctlkh ݒ͠ !w7F7W!]6 ٠P ;xͿ``#u~N n@ %u7Nxͽ`lۊÿL&͢  26p( f0FmfаFhdhX#4[V: ! 0 @D 6Y-pf2[HG-ݥ&Lgl*&$%E@2"* bzd&'^2"J2f@ !!+FX*b"e")Frr:*"*g)"$&)Fz@i*r!g$ |rZ"ddx#,")Fm@"gH "&)!&Fubz,g "),$Fd"Z*g&'%"y Jg) NQԣ=I%8.SU@R?INIT?TE5EH8%9%P>ӒU#A ::SM-5J;UC ! H*`i| a` ?A[+`^\ -f +D;V Yh(o 6O4ͻ-Ӹnn@@ e}Nb3^7Jn 4;` ~ CC*ƀYW`'a-~ _U8eC`tnpf@mnmҰq~H +2,6z7M6(2ς |:ؠnv݀Aow@cXm!eҐ ;mp]f [tnAMӀ-u7N69]mpF]mpMf -ݥ! n@Ӡ]Y0`7M'`H$M wiIu7Nvmv p f 2;tnҰY^)4pnnAYCͱ Hz,+,({7NnHrX!zYVf&?/6@am9 mӘ1r\8 uA`jmhxd2Wweg[^7JKU_ 82~pY10,誈Q wi ȪJK *#=I%8.SU .?F2"Z" ӑS#=I%8.SUCPMVEReu5$d4RVNFCNe$4d4 DT1FCNdEC$d40ROUFCNҀdUDd4pZeàw-@*Qt2`0h^mSP mC/@,P$ t`y0(02j\J836gms;AcX0}L ,B+Ktl/ +۬PeۧqnF-ӠB0hM"3k3@mn-ӐɺqNd4HXCLSAFPde$TE%hȈCKTASTTUDXECFCNՀdtUDDU(̸?UNIT?c$sͨRETHLRdtUDDxGETHLReU5$d4ӓQԣ=I%8.SU@2CIFCNT4d4hRCIFCNe$4d4DCFCNU$d4@CIBFCNT54d4CONST̀T4CONINIۀd4EDCONOUT4( -CONSO44pZͳ  P@ f  n$$PD0?9 `BX1\ڒ`쑣3l7In$<+3l`Ͳ vC6̀04?FCH!60mapBYK,m uY{Ev,a0n1NFKt<@>!`7OF' G@P\YeeN ~@ͺ *Ydn+,va xPgvx=f}Qϊ%?ۨ`-aFf7GBC!?2c QJ2U,a%Q2S1@MA1=UR3Pӓc5`MA1=B3hSЕ7MA%9B3T'#=I%8.SU  Ȋj * A**j@ @ ????hH&)") SQԣ=I%8.SU扠  hi(i` hhHi` 1ihiӐ -f@0mDYB@<amDtpQFm$a@mDXtQfm7a8b# kLd!)+FP**J Qԣ=I%8.SU`PSECSDԔ8HOURSTDDXSDTFCNe$EDd4HRTCSEC ZX t0`H3@VnF-Ӡuq$C6Ƈ6Ƈa6;Kx B@;JL1 誈Qp 8#=I%8.SU`TICCNTd0DPFCNTDTWAITdDŕD8SIGNALd5%$8RESUMEd5%HxGETTOS00a d  ^Tj] ! wiHPueaT#L1t8OwhUV-+`@Հ!@E{%S@! Vme`#"%{ V`KM`Ld&'%"FA2:*"*e&'QSSQԣ=I%8.SU2 MEMBASdT$AMFCNT8DMFCNҀdDT9p "3h`4a,Ґ) "1 ! wiHP'uEeaYxUb7ZRuEQÁ*ғpv`¬|ZQ-iI0Be[0`BjH;Kx &[JCa%`i `@#WYE8#+pRCaV dJR bVV.^ P 3eaYxF#uHV g[6*@0eX%saЫ:٠eaWJLlUҐL&:EeaYxF#jol6 aH0 H Q 4ʩɉ)q8TP=I%8.SU柠 INTSPdE5DDEXLATe4tpDECOUTeTĔLNKENDÀd$Tx DMSTD4UPRCASd44%hXGETDMAe4UDDGETFAdtUDDU(GETHLRe$UD(pEXITAeE5ETH?UND?0@# וs"yFˡ"1  ?"HR)Y `D 'fͩ S 6 9;JCdVC`Ob\`$F^b[#8 `3|2Db3o'!Yq`0(_π Y#g&Kjls-rf0 ,#`O a{h5 0nb3 -pͺf2[Qt4dNH+ݥ&Hdk2zrzTӒU#=I%8.SU B` ~k*hir~/y@f 3@h4f* Ɉi* Hɉ*p ji*  I)*@ ;P 3eaYxF#uHV g[6*@0eX%saЫ:٠eaWJLlUҐL&:EeaYxF#jol6 aH0 H Q 4ʩɉ)q8TP=I%8.SU柠 INTSPdE5DDEXLATe4tpDECOUTeTĔLNKENDÀd$Tx DMSTD4UPRCASd44%hXGETDMAe4UDDGETFAdtUDDU(GETHLRe$UD(pEXITAeE5ETH?UND?0@# וs"yFˡ"1  ?"HR)Y `D 'fͩ S 6 9;JCdVC`Ob\`$F^b[#8 `3|2Db3o'!Yq`0(_π Y#g&Kjls-rf0 ,#`O a{h5 0nb3 -pͺf2[Qt4dNH+ݥ&Hdk2zrzTӒU#=I%8.SU B` ~k*hir~/y@f 3@h4f* Ɉi* Hɉ*Tԣ=I%8.SU懠Rp?PAGE?cCMEMRESSU1 19%R:8Sc 9]I5MR;S$@D) tSx0 0000(000a(8A@pp80dݤ<"(AM^v(82͠q-@) >]b^vxb(F7 <. #4c`ٴ`p8BA:dH8AxR$*NF#yS E!@X !h:1Hb9 t;NFQ`0 q\ A)*f 0Z9`i7DX * 8`i2AL eTmC[q :)zZ0F#vjZ<(*EP'Eְ$P o"8yp, X8oXW(8ͥ@ @f`iOҞ WEX<`@i7EX6B7|mf#@wf+4pW(G߀3}B?,` tx@dP#+۴DͶ`,"LRm7vtU-fh<m?fk6c C@y3k CAmu'V# fU6vRfȄr0g!YVw (!X(Eɘ@Y(fPmf `Ք:]*ū*Ox* :tٴt"d3hDf D?iH` V c W)|fP EdMzr~jJ Iqp ɨH*q0 ihIj ʊjȑ k*hiq J葑/i鈉S*I*ɈisT゠=I%8.SU柠MSG001d4s(MSG003d4sHLCLDESh$$a 1ͦ $!ͦ 7΂1n2 &f4&Sq@m2M#ȒZ~-$=GVue0fm+'G(`ͤ`y@r2Lm-NG#yX "'c(@?X{4nͧ Pa1J3٠6 3)o9 pfY/`8l.Vmp TmfPe:"tm$Xf  r: T n(@՛s@ Fd"ʠhAm [A8fm`K6l 0WC7f؀mb K6l2O,}Qϊ%%~3k '3O/Q d#rLj`l~`t0sۧq< f!3@XOJ1z C@-E+4nm0Ѻ^J&8^# suZ32 `8ۧt1nMӨͺt2[ap-){b8?0?c:(?#uZs3@t/pkD57hH$#+:ϋVCȉ*hj ih*ђp +誈Q@ ȩ(j jHiѐiiѐPHiiѐ hiѐi(Hiёi(HiёPJiёhiёhiђ#iiђP'Jhiђ+iђ/I(iѓ3hiѓp9JIiѓ=ȊHiѓAJHiєEhhiєpIHiѕ0UJHiѕ]i iіcH*iіPgjJiіkjHiіqɈHiїPwHiї{(iїhi(iјhhHiјPihiјȨJiјHJiљ0)iљbȊHiњPhiiњhHiњɈȈiћHiћPHhiћhhiќiќPIiќjiќ8SQԣ=I%8.SU Ҁ ROVECTTdd4HOPNFILT4dd4SFFFCNe4dd4` DFFCNDTdRSFFCNu4dd4`MFFCNU$dd4HSFAFCN$E$HRRFFCNu%$HWRFFCNd4U%(0&CKLEXTƂd4e4d4.SRRFCN$dd4.RDPFCN5%4d46RDMFCNՃd54p-f J݀4f@Bm[l" Yg@!3@!E@KuZ72ݐnK4f vf w=Y4fS݀ͩ` +̆Z+v?H n m(f ۜf4nF-Ӡɚ3@h8^ʫ ͳ1?sZzf :ٷHF?A0,X:`F~2V+4f0 w\{6ۀ3o@Pjͭ ,ff=a@hfPaśI\ 9[Y8Dq<^s6@hm31f{%T 4[ &m^[_l n i|ٶxcFhhzhp#ŇNY@ n¹@,nf|86L0Y_l n &j86؀@;fސh٠4[L۲4yP &m[0ͯڶnĿ+q9Qt E\áz62XwDT@Pna h~F#0m<p7fetn 3ih@ f6kL@ fְSk jV SV YAW Y@Y,r@4 kv4͠-VmhmG@VUf@'+twzlUX8FVm^hٵ Y(-Pfހ&4hon¿ NVmuV 'ۤc[A-Ӂ~;C4[s}? ٶXY,۰w0 ST YAV4 3kͰb00- &[&#= a K6l:8m[63m Ɂi0 `ͣٷ nĴKq@f6ha]6m f%*NmHnvm\nvh?mQf@%݀ͯ~n3+;0.0|>sz|lt:bO_@)fCF+q nbh#60Y<#UK6s36s;%iW Gӹw3NfPa-gٴ$aV\ѸP:n q@Ѻ6 @+fڠ@(e y\@f-\C6@՛wA"-n 1^3J`"[2p` m|8b1th_̓tfӹF#sC%Jc2^s=̀ByssCS|>fӠQFp,_B/4j@hF @hNcdtn9dAn LFmnӸź~ 7N&.;ۧt0nL;^ ? Y4vth2 ZVb- 삷F!0/QςE'3$'@|3[tn 6h2 UPc)M1 2B TѐУ+` 1M>2 V#,M%>2ZUPc+` -=A93 UPQ3MP2 Qc5`P3hU #-yMQ9>3tU 'yMQ R39@93"-MI!9%R2@UPc&yQ R2U ?YQ9>2 U #:Q:2 S9U -I>2UP6y]I%Q2UQc-`9Q :2TВU#1 9I%>2 UԐc-MY 3TP:9]I%>3PRV# Y -]M1.3TT?u]II2TV#0Qa3UPc4Y5a%R3̣0 yQM2hc2Qa63,c>y -]I1.2 U̐c<9B3 #' M1M.3 UPc0QY23( UP4Q -N2l U;QaJ3 SЕ>` -=A92Z #& M-5J2x Uc(iI=:2 SU#*@ -I>2 Pє#/Q1N3F gST#=I%8.SU!2 DLSTBLdUHHOPNEXTd4@UPDFCBUD4pCLSEXTƀ5$HFNDDDEdDDX8FNDNDEddDDT8GETDCTe4UDD5HCHKHDStUDDTXWRITDE$E$T8RDRECCu%$T8h&WRRECC4$DX.FLOADCtUD$ĸX.SELFCB4TE4P.RESBITdtUD$6CKSPFNd45d6CHKALVddH>GETDLSdtUD4ECKDROT4e$FGETNABdtUDdhFZERODNׄe4dTD FGETABNd44hFGETDXAdtUDU@NGETBLMtUD(NGETDNO4UDDNGETBKS.?ml3@m+`3k0fj 3l ݀lڠn p ٴF  ڠBA00f6_cd 04\7D PEkwiI8l$(`PAdY<_F>@0L4wWY@ ͦ 7[F4_b7j !`hY~P>fm+`3k 6 ,f7+68XfӰK`;@VmhÀ@L&a6Łix -|dlh 6̆d@ j;V m>)_@N[[65Yx K-Ӊͤ,ͻL>(1kCu_H 2aTB6A`ʼ b +uhX< /n`/ ؠcD3Tf0Z![6n6l|f0&mu| o!NYQ(r1@m @5tC@P @PfP{BOx"LFe!x2~9rl|Rfm f@6,^iw N&Ktkk :^s%^!JFK6ꃽY`![~(kCtCn鸊3"u"NfK(p*H8Y-Yeͺ@eSښ4de[̖+U[٠`jkx4n0~ ht:/e^X|L@2ì,:W+tl"`6с ڈ  d@4_-mzP,ڼ >mM[#F Ȁ~n\,P `a1Xi| Dv,Rpb16XVfP` 1Y $^OSJ(ta0A`,>Ͱ`,6 |82- n i@#-dl 60#66#4[#uZO3k+ k0̪ͫ& úV+60[W<"" -dY$V[JCDp@6XeaЃn)Ȅ[Ebh03<b76"s|d\-HRa0͢A"VsfݰVqx8v6Eͬ@"wg6,h! "Kͥ` ak$Cґ!'X:K4nDӠ1#t%n̗[6xArh@K6)+2Œͮ@XEXY!LGf@Q,p DmNK6 X(ǥ%mźwO6h` ~_h9ǂ nl0ro+-ԩjYjTg Ef ZRl3iKL| z`nݤ!&! 2YcXt fӰmPhXxw0`Ad0;lXça'fS@w Eezb\( #C\A@ %&#=!@L pDi`HKfPuE Ͳ0,l c`l1F 0bٴ lfڀm[bl;`SQn( bٶ!ͪ6l ?Ǯ`8>Ӹ@'ͩP?Fmn!аvC*ͮ+6Q@5k!vBØ"O06rlXaͺK63j0D >,ڌ~9E[6DjH\0j0Ճ6ŁY%QQ?m?-Vm rkhC6ٴ%??b1x Yg| 2UFͿC,F@:QЅ"Ր>!H2eK60 qUB Pͨb5xo{!d ݒ'ۤ`,|eadۧr tBdlC6-ݥ&K6 [ݤ!fkwiIn"`6ĂBdiHN\r!. ] /m 0)ffڰVmd?9~`F;mPKBCOf Ƞ`Yx Kt@@-qf!2YTB+nH-ӡ 7ۦ`&2 QUc(QL3Uc- Ae 34U̐c!!9Q N3bUѐc'y E5 =62J QQԣ*y U5:2 UԐc& QI 2U( UAB2 ѐЕ(Q53X QU#7@ -IY23 T:`IIa%R3 S#A 1 Z2DՑP'Sc=I%8.SU2 LOGUSRd4HRDSFCNe4Td4xRCDFCNU4Dd4SRUFCNdDe4d4SESFCNe4U$d4PLOGFCNe44dd4DSKERRTtUDdHGETSFAdtUDcTGETFXAdtUE3GETS2AtUE$4@GETCRAtUD%8GET78F4UCsh GET78D4UCsHGET78C4UCs9p|- 0~Ӹ?X`4a@b0nG@n D8n`9^)Ghsgu{3ht7n mWnG-Ӡet1?,n `t@xF,nNKuZW7YeuZ{t@ Ӹ>t1nlyF< 4'N n3Qf1?zn\ Xdn ̐0 A4"x0 dO07bk%u&7NKtNnԜ:-AV([2tQdF@2*"j f$ X@2:*"*d,"!FR2:*"j f))o2"Z f""& FCj:*2 T#=I%8.SU 2pLFFCN3@n-Ӑ ;V ^Tt~q͚3i ݄3@4@X@1fаh(9EXn)ݥ,,@pHb3yDpxFV(;ܢ1F~\D memem ?_V x me+6m *ٷ Ao[ق`2+q@,@"3l͢`C,:fް6 ,bn(^=d,(@)b /ǥ2bYn,+8@I0D8$#+pHRD eu!``0=f&5@"^8$^)2nVm pb68Fͣ@Ӹ|[1ApN"6t*_ %AgC-|Ϳgmf6Ctlkh ݒ͠ !w7F7W!]6 ٠P ;xͿ``#u~N n@ %u7Nxͽ`lۊÿL&͢  26p( f0FmfаFhdhX#4[V: ! 0 @D 6Y-pf2[HG-ݥ&Lgl*&$%E@2"* bzd&'^2"J2f@ !!+FX*b"e")Frr:*"*g)"$&)Fz@i*r!g$ |rZ"ddx#,")Fm@"gH "&)!&Fubz,g "),$Fd"Z*g&'%"y Jg) NQԣ=I%8.SU@R?INIT?TE5EH8%9%P>ӒU#A ::SM-5J;UC ! H*`i| a` ?A[+`^\ -f +D;V Yh(o 6O4-Ӹnn@@ e}Nb3^7Jn 4;` ~ CC*ƀYW`'a-~ _U8eC`tnpf@mnmҰq~H +2,6z7M6(2ς |:ؠnv݀Aow@cXm!eҐ ;mp]f [tnAMӀ-u7N69]mpF]mpMf -ݥ! n@Ӡ]Y0`7M'`H$M wiIu7Nvmv p f 2;tnҰY^)4pnnAYCͱ Hz,+,({7NnHrX!zYVf&?/6@am9 mӘ1r\8 uA`jmhxd2Wweg[^7JKU_ 82~pY10,誈Q wi ȪJK *#=I%8.SU .?F2"Z" ӑS#=I%8.SUCPMVEReu5$d4RVNFCNe$4d4 DT1FCNdEC$d40ROUFCNҀdUDd4pZeàw-@*Qt2`0h^mSP mC/@,P$ t`y0(02j\J836gms;AcX0}L ,B+Ktl/ +۬PeۧqnF-ӠB0hM"3k3@mn-ӐɺqNd4HXCLSAFPde$TE%hȈCKTASTTUDXECFCNՀdtUDDU(̸?UNIT?c$sͨRETHLRdtUDDxGETHLReU5$d4ӓQԣ=I%8.SU@2CIFCNT4d4hRCIFCNe$4d4DCFCNU$d4@CIBFCNT54d4CONST̀T4CONINIۀd4EDCONOUT4( CONSO44pZͳ  P@ f  n$$PD0?9 `BX1\ڒ`쑣3l7In$<+3l`Ͳ vC6̀04?FCH!60mapBYK,m uY{Ev,a0n1NFKt<@>!`7OF' G@P\YeeN ~@ͺ *Ydn+,va xPgvx=f}Qϊ%?ۨ`-aFf7GBC!?2c QJ2U,a%Q2S1@MA1=UR3Pӓc5`MA1=B3hSЕ7MA%9B3T'#=I%8.SU  Ȋj * A**j@ @ ????hH&)") =I%8.SU 2SPLOUTe5TXFLBFCN J"I8-7Yes Ԁ1D(4`WHtF,veZP(Df ݅s!@`a ;?qC `!#`~ ٷh^@Y9YUp]`4h@ 4p@mh ! Pc60V;uYw3nu5`7Yeͦ+v@8ͪ-Ye\͵,ێ,aeM€uYW7Yeͣ!6`'Xk@Xw, Ydf0f C6J8ͳ f @02#[6lP8*ͥ@,8Ͱ,+6 ښͳ,=|3n B!M̷Oa 8lpvn 8ܬۀ@t@d\mөͻ@#Y_ ,ۀ|ZnJӡY7[b%vOVC6@Ԯ:-q]f,2c$11=2U -@P2U .9a  :2U 0MP3U :`MA1IJ3TU#/9Q53UPc991=pT゠=I%8.SU@ -fvh͠ 3l2Sr &sqe&#y)P3@ Vm/z@4'"TdxY :hqP )ij@ 8ii1 8SQԣ=I%8.SU扠  hi(i` hhHi` 1ihiӐ -f@0mDYB@<amDtpQFm$a@mDXtQfm7a8b# kLd!)+FP**J Qԣ=I%8.SU`PSECSDԔ8HOURSTDDXSDTFCNe$EDd4HRTCSEC ZX t0`H3@VnF-Ӡuq$C6Ƈ6Ƈa6;Kx B@;JL1 誈Qp 8=I%8.SURTICCNTd5Ed4CRPROCU4d4@SNDMSGU$d4RCVMSGրdISRXITdD4E5ENADSP4UDE$hDSPIFRtHx DPFCNDTRESUMEDŕD8SIGNALdtUED8SETDDF @X K@j(:٠60pp-1@ͪB2^l\\Q-@#`6zY `e@ e+8 $ & Dgt9B6#85D8(Q*K6:ٴ,çL ͳ 0H@ `$#+:٠! 0s ժ Y@fpYP f E=P۴!Wi4CXxOwL0[fpZvo[ْ͢,?0kfH@$CoH2̆ZC'J_jH| T9b'1Cb, 9pJ~[W+U`p(2ϱV XAjͽ@.`(:2-Q :XͪNz`'q f`'؄`P [1eX0"_.xZ.v8*1`02D K`,<,Y$^8Hn)2(2^kwi r"2V+jmH 3m3ib3jݐ!@ ڌ>]j#lpdKWh-UF#/ζm&?'rB e#l&2`UT0@Q!1J2QVUc"a  :2ZPS'11=2S#3`IQ!1J2SS%Y19- 3RS#7%9QMQ.pQSSQԣ=I%8.SU2 MEMBASdT$AMFCNT8DMFCNҀdDT9p "3h`4a,Ґ) "1 ! wiHP'uEeaYxUb7ZRuEQÁ*ғpv`¬|ZQ-iI0Be[0`BjH;Kx &[JCa%`i `@#WYE8#+pRCaV dJR bVV.^ P 3eaYxF#uHV g[6*@0eX%saЫ:٠eaWJLlUҐL&:EeaYxF#jol6 aH0 H Q 4ʩɉ)q8TP=I%8.SU柠 INTSPdE5DDEXLATe4tpDECOUTeTĔLNKENDÀd$Tx DMSTD4UPRCASd44%hXGETDMAe4UDDGETFAdtUDDU(GETHLRe$UD(pEXITAeE5ETH?UND?0@# וs"yFˡ"1  ?"HR)Y `D 'fͩ S 6 9;JCdVC`Ob\`$F^b[#8 `3|2Db3o'!Yq`0(_π Y#g&Kjls-rf0 ,#`O a{h5 0nb3 -pͺf2[Qt4dNH+ݥ&Hdk2zrzTӒU#=I%8.SU B` ~k*hir~/y@f 3@h4f* Ɉi* Hɉ*p ji*  I)*@ ;JR bVV.^ P 3eaYxF#uHV g[6*@0eX%saЫ:٠eaWJLlUҐL&:EeaYxF#jol6 aH0 H Q 4ʩɉ)q8TP=I%8.SU柠 INTSPdE5DDEXLATe4tpDECOUTeTĔLNKENDÀd$Tx DMSTD4UPRCASd44%hXGETDMAe4UDDGETFAdtUDDU(GETHLRe$UD(pEXITAeE5ETH?UND?0@# וs"yFˡ"1  ?"HR)Y `D 'fͩ S 6 9;JCdVC`Ob\`$F^b[#8 `3|2Db3o'!Yq`0(_π Y#g&Kjls-rf0 ,#`O a{h5 0nb3 -pͺf2[Qt4dNH+ݥ&Hdk2zrzTӒU#=I%8.SU B` ~k*hir~/y@f 3@h4f* 7V&.w~# x Ów*"X>2*"G!F""V!9"Q1Q>A2>2/2ho!~ƊՅ!x"xÎ":ͧx wVuHELP|x:Q x*T]xTx*:## Fx Bxw#]xTxxxx*:#w"T>2Q"V*Rznx*V>{yx*V>>:Œx:~¤x*<"8>25ͥj*8Ɗ*:w##ph>T2Z!ƊÎ _EsÎ!n>2&v/2!"2>2/]y!!Ɗã*2]@y:/<2/ Iy*2"2y!<Ɗã!]Y!]Ɗ =ly Wy!qƊw:>C2Z!PƊÎix͖VuRECB5z:m yFe:Iy2y>B2VuTERMGz>2\VuSEND/zVuSENN)zVuRECV2 m>M2!Ɗ m>N2iæY~X:}Y†z]:!N#6!Ɗ!|Ɗ>2w>2: zzʆz!n!}6Y͇XÎ!}6N͇Xù!~)w{({{"*{{w{#xt{z>#~(w{)'{"w{#~"N{(w{)w{w{*{>#~>q{"w{(w{)w{xw{Q{>>!'Ɗ~>VuHLPk҉2/0{1{2{3{4{5|ʻ{|1ABORTED4|1OK4|1CONNECT4|1RING4|1NO CARRIER4|1ERROR4|1CONNECT 12004|1MODEM STATUS ERROR4|͖!_͍>G2/20"͇̈́ʀ|>G|:/=2/k|>G:0=20ʒ|>G2/G|0ʕ|͏{Ò|>҉> > >!u͍>,҉> > 2/>|"͇̈́|<|<|:/ >|!\)(n!)\(n1 FILE TOO LARGE FOR BUFFER ʊ}͔}ʊ}*z#"z*2:|ʂ}=2|ʂ}u}͔}u}E}:|ʊ}#c}*z>:|<2|>~<§}Iwʧ}ʪ}>>}o|g:G!~ ~ y2S~#~~ }#ӗ~ } y2T~#~}#"V+#~ ~ y2U~~~!6 #~]2 _~! W~OH~2LR~AR~>2L6,~#8~I:n~:RI:2:~:ʜ~!]nn!Ɗ:\2B!\p:B2\!n:C`da>22/2ho:~:~!Ɗ:91 ++Press RETURN to disconnect++  ~1 ++Disconnected++ ̀X>C2>2Î!l\n2|2h!"lO*lyO}o|g|g/}!ok"lbb*lT]*l|>!x"͖!g͍҉҉: !]Ɗù!Ɗ>2e>Q2Î:!Ɗ1Ov! ƊÎ!Ɗw: 4:G!n>29>2>2>2*Xu n*Xl nv*Xu n!1Ɗڀ}:р>2~Ā!ɧƊw:G!º#ˀì!ݧƊÌv>2~!ƊÎ͡:$:#ڀڀ:'2 1J5J:$ڀ :͡:$C:#E C 2/҉:/1`5kڀ:y3>3s:y1>12y͇X͖w!5Ɗw:0 ҃2%!PƊw:YyNœ2&Á2&v>2~!ƊÎ͡:$:#ڀڀ:'2 1J5J:$ڀ :͡:$C:#E C 1fV!F"*V!ԜƊ!Ɗxu6 #=nF!Ɗw]Vu ҹ:ʅVuRETz>H2VuWRTӍVuDELұi:\ՅVuҥjVuEXITң>D2VuDEF_VuTELEV>S2VuTIME6\>E2VuUPDV>F2VuLSTZ>G2VuCALtZVuDISC>M2VuTERMҎy>N2VuHOSTUz>R2VuCMD"]:\ՅVuBELLқVu99ҩ]>T2VuUTILҲxVuENDCMDҩ]VuDIRx>Q2VuHLPҥjVuHELPҥj>C2VuCOM}yVuMENU>P2VuSHOWұ]>O2VuRUNՄVuXPRґVuRECBҎy>J2VuSENNҎy>I2VuSENDҎy>L2VuRECNҎy>U2VuRECVҎyVuPRMT`zVuBYE!ƊÎ:y/2yÎ>Îi*Q*X":y҄>A2Z!sƊÎÎi|!\^t:m }!ƊùFe>C>O>M\!Ɗùͥh*ā{1Z{:_ͭ}P!ϠƊͭÎ>2\\uX͢*"!!"!9"1B!*!"*Îʹ}:UG<2> 2*Vn:G!n!\^tF!"Ɗ>2/!o\$n\!MƊù\a:/7>2/*"!fV!##~@*!~#"*+"|a*@>2\Y~XTELPAC OVR*~Fʧ>2Oì>2O>&>2K#~1ņ> 2vʆ>2v#~!<ƊÎ> 26 >26 >26 >26 :vG:62K&*-0377yGĩxʇx0Ogy Ox >ʁ>Ox>O>>@y>7>>@>>7>?>,>7p!<ƊÎ> 26 >26 >26 >26 :vG:62K&*-03~#"*+"|a*@>2\Y~XTELPAC OVR*~Fʧ>2Oì>2O>&>2K#~1ņ> 2vʆ>2v#~!<ƊÎ> 26 >26 >26 >26 :vG:62K&*-03~#"*+"|a*@>2\Y~XTELPAC OVR*~Fʧ>2Oì>2O>"~́|"͇̈́Ӊ͇>8͖ù͖>,>+>,!ƊGO2:62/7 F:G7:/=2/X:OG7 >6#<_:ʌ!qƊ>2Ӎ/2>2/2ho~G>2/ʲ<#2/~"6:/*6Ô> > =ÿ"<~Պ8#Ɋ:w "͇̈́ x*X"""uÊ 8 8 8 )8>(8ދ>)8:N_YO~> j> jO:Qʙ*T~#"Ta{_ ڷ |ĭ{08|ދ}ދ 0j:<ɯ2!Ɗ:͇!ߣƊ҉]ͤRQ~>8#2 Ɗ:9>Q2ûg*Q:{~#n> ̀ù́"|ćʩ ‰7Ò]Ҹ̀1 Connection established - Select options: F]!\^t:]T,SR:!(Ɗ:m !8Ɗw:m ?>2ho>2>21 Enter New Baudrate: w: 1 DEFAULT DRIVE: AjÎ̀1 ++Disconnected++ ù:T ʹS4h>2/2ho!Spù:ʹ:T ʹ*@g h+h>2/2ho!Sp:ùF#7SRTEMկ ddʚʬێ 'G#4+~#юpx`#'#G~wڃ+xF6 ʊʈ'4'>`> `>`'>#`> `> `G>#`> `> `x'`Ŏ'>`5'> `> `'> `> `F##> w#2 ͇:-a.{._.|:[:#T͔>2#:$\já~y ӏ`O{>2$2#"͇̈́½>2$ȕ>2#:$:%>=܏:&Y{_>2':#$:$?2'8x2(5_͔:'ڀI1Invalid option ù;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option Sn;yÛyyy my`ԉyZsOy>22ͼpl!lWy>2yfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkuInvalid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>2:ʾy:yʹp2yy2„yliZs_.y:tjkid option SnyÛyyy my`ԉADOQRSVT01ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>7HELPINFOOVRHALFFULLEVEN MARK ODD NONE 300 1200TOUCHTONEPULSE 1ADOQRSVT01BCfy>2::ʇy>Zs=vy:Yʙy{_>7HELPINFOOVRHALFFULLEVEN M 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ * * * * * * * * * * * * * * * * * * TELPAC * * TELECOMMUNICATIONS PACKAGE * * VERSION 1.2 * * COPYRIGHT U. S. ROBOTICS 1983 * * * * * * * * * * * * * * * * * * PRESS RETURN TO CONTINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number SION 1.2 * U. S. ROBOTICS 1983 * * ** * * * * * * * * *  PRESS RETURNINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number SION * U. S. ROBOTICS 1983 INITINF7OVR 1 DUPLEX 2 BAUD 3 PARITY 4 DIAL 5 DEFAULT DISK ATV0 ATV0E0 ATV0X1 ATX1 ATE0 ATS0=0 ATD GOODBYE THANKS FOR CALLING COMMAND: INVALID COMMAND REENTER TELPAC - U.S. ROBOTICS (CP/M VERSION) PRESS RETURN OR ENTER Command: DEFAULT FILE MISSING DEFAULT INITIALIZATION ERROR OPTIONS ARE: ENTER NEW OPTIONS # OR : TERMINAL MODE PRESS TO END: FAILURE IN AUTO LOGON - GOING TO TERMINAL MODE  AUTO LOGON BEGINNING HELP FUNCTION NOT AVAILABLE CHECK TELPAC USER MANUAL PRESS "C" TO CONTINUE / TO END : PERMANENT READ ERROR TELEPHONE DIRECTORY ENTER LETTER: INVALID LETTER ENTER NAME (16 CHARS): ENTER NUMBER: ERROR IN LOADING LOGONS UNBALANCED COMMAND - ERROR = DEFAULTS WRITE ERROR CLOSE DEFAULTS ER0ROR LOGON LOAD ERROR PLEASE TURN ON MODEM AND PRESS "R" TO RETURN TO MENU ENTER NUMBER OR DIRECTORY LETTER: DISCONNECTED CHANGE DEFAULT OPTIONS DUPX BAUD PRTY DIAL TERMINAL FILE OPEN - NOW CLOSING NO FILE NAME ENTERED ERROR ON FILE OPEN PROGRAM TOO LARGE FOR BUFFER MAXIMUM PROGRAM SIZE IN BYTES = FILE DOES NOT EXIST TYPE "R" TO RETURN TO TERMINAL MODE TYPE "N" TO RE-ENTER NAME: NO USER PROTOCOL EXISTS ENTER TRANSFER COMPLETED TRANSFER UNSUCESSFUL ROUTINE CANCELLED ENTER FILE NAME: ERROR IN TRANSFER PROMPT FILE OPEN, READY FOR TRANSFER CRC IN EFFECT CHECKSUM IN EFFECT WAITING FOR NAK CHECKSUM ERROR WAITING FOR FILE NAME TIMEOUT CHANGING TO CHECKSUM FRAMING ERROR OVERRUN ERROR PARITY ERROR CRC ERROR SEND NUMBER CANNOT OPEN FILE CANNOT CLOSE FILE CANNOT READ FILE CANNOT WRITE FILE ENTER LETTER TO DISPLAY AUTO LOGON / TO END: ERROR LIMIT REACHED ENTER "Q" TO QUIT, "R" TO RETRY: FOR THE HOST COMPUTER: B Page Backward F Page Forward S Start of Buffer R Return to Terminal FATAL ERROR - RESTART TELPAC FROM DISK END OF TERMINAL TEXT MAXIMUM BUFFER = CHARACTERS USED = WAITING FOR BLOCK CHANGING TO CHECKSUM ERROR DETECTION HEX CHARACTER NOT HEADER START MAXIMUM ERRORS - CANCELLING TIMEOUT  BAD BLOCK NUMBER IN HEADER HEX RECEIVED NO ACK MAXIMUM ERRORS IN SENDING - CANCELLING TIMEOUT ON ACK  ROUTINE CANCELLED  FILE EXISTS ENTER Y TO ERASE:  NO FILE NAME ENTERED  ERROR - UNABLE TO MAKE FILE DIRECTORY MAY BE FULL  FILE NOT FOUND  UNABLE TO OPEN FILE  FILE OPEN : UNABLE TO CLOSE FILE  FILE READ ERROR  FILE WRITE ERROR  WAITING FOR NAK CRC REQUESTED TRANSFERED TRANSFERS FINISHED BAD OPTION  RE-ENTER COMMAND AND FILE NAME:  ALREADY IN HOST COMPUTER MODE ENDING HOST COMPUTER MODE ENTER PASSWORD OR FOR NO PASSWORD: ENTER PASSWORD: INVALID PASSWORD WELCOME TO A COMPUTER RUNNING UNDER U.S. ROBOTICS TELPAC HOW MANY EXTRA SPACES: CAN YOU DISPLAY LOWER CASE (Y OR N): DEFAULT OTHER SETTING OPTION COMMAND FILE TOO LARGE FOR BUFFER FAILURE IN HOST COMPUTER PROMPT NOT IN HOST MODE PLEASE WAIT WAITING CALL +++ HELP FILE ERROR +++ NO HELP AVAILABLE EXIT - Exit to System UTIL - Utility Functions TELE - Telephone Directory Functions DEF - Define Default Options HELP - Help Information about TELPAC CMD - Execute Command File COMM - Communications Mode TERM - Terminal Mode (filename) SEND - Send File (filename[s]) SENN - Send No Protocol (filename) RECV - Receive File (filename[s]) RECN - Receive No Protocol (filename) RECB - Receive Batch Protocol PRMT - Set Prompt for File Transfer HOST - Host Computer DISC - Disconnect Telephone Line ENTER PROMPT STRING FOR FILE TRANSFER , = WAIT TWO SECONDS (string) = PROMPT STRING < > = SPECIAL CHARACTER ENTER TO END OR PROMPT: DIR - Display Disk Directory RUN - Run Program TIME - Initiate Time Delay SHOW - Display a File AUTO LOGON AFTER AUTO DIAL (prompt) "command" , delay character ENTER LOGON SEQUENCE / TO END LOGON: SUMMARY OF TERMINAL COMMANDS ^B CHANGE BAUD ^D DISCONNECT ^E RETURN TO MAIN MENU ^I HELP ^N CHANGE DUPLEX ^O DISPLAY SAVE BUFFER ^R TURN OFF SAVE ^S SHOW BUFFER SIZE ^T FILE TRANSFER ^Y TURN ON SAVE ^Z SEND BREAK TERMINAL MODE: SPECIFY FILE TRANSFER METHOD A - SEND FILE WITHOUT PROMPTS B - USE SYSTEM DEFAULTS C - USE STANDARD XON/XOFF ENTER LETTER / TO END: R METHOD A - SEND FILE WITHOUT PROMPTS ame) RECB - Receive Batch Protocol PRMT - Set Prompt for File Transfer HOST - Host Computer DISC - Disconnect Telephone Line>o:~W!{> " OC > S>O31! >2|N#Fx2CN#FC$#^#V^#VS#~2#~2<2###~2#^#VSN#FCC*KB0KC:( [0!' #"* (,*#"+))[R%! !!Cy͏qput+[[R8 uty7?R#|(/ sr +utwwNFqpnf^:(#~W#:G)[7?K R0! !=NFx(ENF C$7?KnfB8C[0MD!'  |:o!=!NFnfB#>,(0W}_nfRut=RDM!C76! [36:G6!w0 ͘!4͘ !͙>O3F#Nů  SYS: Which .SYS file to load 0 = CPM 1 = OSLOAD ? SelectReadFile not found error: file 7+*r;&;) ^#V"9-*r;&;) q#p!r;4*8&))8  *9s#r*9͇7"8*8&))8 q#p:8<28O>}<:3>L ~ÒÃG3x(OxAG:RG~ > 2P:HO y~ 8 q!*T~(ͭ8͏ͷ:K2N>2>2SKc> 2P> :SG /_~(!: *E:N{  _!c(  :P= L{(({ZZ:HhZ:NhZ:RhZZ>2P ~ ( w:K2LF8 <2Ny2R:KW:D*GKIB(7:LGz?"V*G"I:KG2LxG![E2DG!> z:(8 XZd>w(>>w~Can't recognize density of disk in$Read$Write$Seek$ error on track $ sector $ side $ drive $ $:s;.¨ ͭ͂ڨ :y; ڟ !Ͱ ͭÌ ! :y;<2y;O!\ :s;w:s;0O> :s;02s;> :s;AO> :s;A 2s;>>!"z;ͭ͂. % *z;))))*s;& "z;( <ͭ *z;:s;AO>/ͭ2 O :s;A<<ͭ2 d :s;A<:s;Zo >Z<ͭ:s;XO>چ :s;<:s;]:s; HҀ :s;S¸ !96ͭ} :s;P !96 "9} :s;D !96 "9} :s;L "8} :s;M q!*T~(ͭ8͏ͷ:K2N>2>2SKc> 2P> :SG /_~(!: *E:N{  _!c(  :P= L{(({ZZ:HhZ:NhZ:RhZZ>2P ~ ( w:K2LF8 <2Ny2R:KW:D*GKIB(7:LGz?"V*G"I:KG2LxG![E2DG!> z:(8 XZd>w(>>w~Can't recognize density of disk in$Read$ed to stop input when writing full buffer to disk, XON sent to resume. :%, - Transfer ASCII file to remote ::'=, - Send local control character to remote =, - Next character will be used for local control z{+:I'>7I, Bytes of buffer free A͝+͟A>>&oͽ+>>͝+>>͝+,COMMAND: 2II>/:I'>^ʛ??zH >:I:#CI0CPMZ,{+0LOGA0DIRҤ@0ERAһ@0SPDB0TIM]C0TCC҄D0TRBD0TLCE0TLFnE0TXOE: ?: ?0NUMҕG: ?0SETF0WRTDG0DELG0BYEM@0DSC+:Q?:c?0CALc?> 2Io?:I!HI&Hx?ͫ,~?=,++ Invalid command ++ :bH, SPECIAL FUNCTION KEY TABLE ?,CTL-@͝+, current function key intercept character ! #~0͝+> ͝+#~@@ :@,$@͝+$@{+@{+=:h:{@h, << Exit to CP/M >> Z,F !ͮF > !@ͮ(Җ@ATZ $23Jͱ-:3J_=I!\,3+:] x?\<@,++ File not found ++ =\099 O9O9U9U9 v9v9|9|9éD3:7:;:@:;:7:J:E:M:R:X:^:a:ô:ö: %!YYYC6 C6PYS>G_K=w:)!K6x( 0< [60<"72766!  `i w($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $́( ;:T7o&##("X7w!88!98 ";98*; # q+ #;1229w;*;****;͹å(*͢;;<2=V=;;*******ɯG^+!$s#r#> >>ɯ> !Y9~wɯ>v@q5q5q5q5*************;}=23)))T]))("9! <;p#@!^6"@>>>>>!9>!6" !6"> >} > >} éD3:7:;:@:;:7:J:E:M:R:X:^:a:ô:ö: %!YYYC6 C6PYS>G_K=w:)!K6x( 0< [60<"72766!  `i w($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $́( ;:T7o&##("X7w!88!98 ";98*; # q+ #;1229w;*;****;͹å(*͢;;<2=V=;;*******ɯG^+!$s#r#> >>ɯ> !Y9~wɯ>v@q5q5q5q5*************;}=23)))T]))("9! <;p# (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion o!9"11COMPARE Version 2.02 08-Apr-80 $ͨeG;*#"*:ր=2**}=2_Y1ʽ2ʽ3;2~!"""" 7> 0 ?))) O !}L ) | {0_E_? :?#+|ʆ:2w}e^^e^: G:B*Ð Difference Found: File 1, Sector $at byte $ File 2, Sector $ Do you wish to continue ?$ $ $ Enter (1) To Offset File 1, (2) To Offset File 2, (3) To Offset Both, Or for No Offset: $ Number of bytes to move FORWARD in File: : $ Moving FORWARD $ bytes in file $:2!:2! |}> _ 0\2>22͘ EOF on File 1, Not File 2 $*}!"*#"*~#"2:6>22͘ EOF on File 2 before File 1 $*|P* l*͘(HEX) Sectors $ COMPARE ERRORS found, Length is $ Files MATCH, Length is $!l!]?!e?~#2"* Ɛ'@'_::G:2> ?~#y S *~~q s>.?#y ‹ d:2*"!]?!e?~#XXXXXXXXYYYNumber of bytes to move FORWARD in File: : $ Moving FORWARD $ bytes in file $:2!:2! |}> _ 0\2>22͘ EOF on File 1, Not File 2 $*}!"*#"*~#"2+h*Gb+*g]b a`U>-XU(|3AvHEqYB廕Z@\#6XUXN\QUf0 i[@#a3# Ui #c6B0$W-QS@kEn¶,S@jdHK5u4aQ0sњ-@4eMU5u@*PpiAFmD!`i:o +4(8(*nh[!@7RM0j݅QT n̷M>L" f&Uـ *ȁXV(tV( o3nx*́3hV( pݙnh*npAh4+q@+A@H07d3h܁!M#%x@ %~3@ %!@ew!L ¼@L>g>L|MWdvK| fDS4* xA6: I5J+t |8`i L(%`t O&)pXV(tV( TRU%XAbX,|@Ke2`x @X:,e2pc X,k7@e@2`l$6X, e`l6XB,/  CeÀal6Xv,Q )ePbld6X,d 3eǰcl6X, @"eAdlh6Y>, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, w<e!`xtRX), K%BQI`lRX<),! K %BIaRXx),?$ K%’Ib\RX),]0 K%’ƑIc`RX),u< K%’ `XA, K% a XNA,* K %db aX~A,B "K%d bPXA,Z .K%db cIXA,r :K%d d YA, FK@% 7A h063hpp֊Ȫݘl#%x4tTCS 09GJjݔrջ @ջ*ջ|&A2(O)c%h4Ta.4ͭGcP@BQVll5nʰ # 5nY@C@eFEGVmeY lf fQmx O31Em @؀nH doå#0@A n7΂ao:#)t2 fS!My@F$%2@e6ΆQ,r6^4 iRP fFK6ᄴ֌mx%I*62Cc*6!UlEAFWhuƆUCX@Y TH jT ^@Hv<b@HUb@YuƟf o$CoXv|C`CsYV|CqYQfpsњ;z3@7٠h 4i[BWͷaJFUm^2C*62Cfsx (2C42B ͤL;D@j RD;A ͵ 4#07e}E+U1l:N#?HFjC`|1P&Wq :fPWٶh!ʮ O$VIEW 1.7 -- View a WordStar[TM] file one screen at a time. Copyright 1984, Michael D. Shapiro. All rights reserved. Permission to copy this program for non-commercial distribution is granted if this notice is not changed. $ Usage: VIEW filename No file was named or the named file was not found. $ -------------------- End of file reached. Press any key. --------------------$ ---------------- Press ^C to quit, any other key to continue. ----------------$U@@!\ 22 !@""  2  ʨ ʸʝʝ ʝ ʝn>-_n I:=2> _n>  a**}|>!"*{z0* **"*"!"* *}>*#"a**}|>!"*TRK0SSDDLDRz{SQSINGLEPARBACKUP DOC2}~IRV 1{M!M!2"-{[˾v('~˶*4!*!*~˾!2"5<4>ͩ|(*4 s#r!8"-s/1r*/!**4!9[>!>R(^#V###*-|(!2f~=w!2X!"-:2(!*˶*4"/{/*(#"(*+#"+!K+"+x!:^#V!:R!^#VBr+s(0##^#V+++:!:W!8Jf!2X>_5##Q_~4}##^#V:y ####ͩ͝ͷþ"zR0Sz!"~#"|!r^#V!rR('+V+^*z##R(58*~R8S~"|*||( ![~R0 +r+s[z!:*v[zR>KxB"vs#r#ͩ"|!r^#V!rR(U*|+F+N R(+V+^K| B(+V+^## DM*|+p+q::*|+F+N+V+^ s#r#*|Q!r^#V!rR*vR +V+^##:"v~#<(= ~# ~ xD##>)))))))'d  R0y 0OcN#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#rzN˹c~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.!R:þ~12!UL}(7j'^=ULþ!UL|(7j u.t0÷^=KL=5)!s#r#^=JL+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#pͩ)0 ULͩ6#vwo&@) s#r/wG7!{M{( (B=(?!~ 5:O:!~O~#t n{( ( !4d!Js~(=(Q===F> 2͌xː& (x :> 2͌:@Lxː& ( x : 4͌xː& !(x' :> 2͌:@L>& k( xs !nf"nf"n f "2͡L&~(n f  ^#VSK[[~(*|{(~<!w x!~5L< c:> 2 < 0 :X ͂> K(Ohh *ˮ~> ("_(O y( { ^(V!y("^#Vz w w !5(*~w'##u t ͡>/: ͂!D <F*~( n(88  ~(~ x: ͂  !m:!JmͿq!4> 2~IG:(͑  : ͂h&~ xw"~ ~~(˟w!"͑() : ͂:2͑(!5((!D:<(=o& w~2o&~ !{>f`v0M M0M&M& 4M M M3M6M6        !4b!J~=2=ʭ=ʞ=e~қG:???? z@͞ w w ~G!_u t :nf}|án f "~2~2>> ;>*"!4#5 ү>>0*";>!4#5 ү~nf}|n f ~ G~>Py >د!:!JͿͮ!4셼 `>>h&)))DM)) K ~{(=(7=ʚ====~ ݶ(N~  #^Vsrz(4^VnfN~ ~ Zsr~w~(Jy~(=w!D~ 44^q ~< w4~~{Jqnf~W{Ozʹn¹~($˹: ~ ww~w~w~(J~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5JLz(=( "" !==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(+s1G( [ {Ms1 s1>(!d[üs1G([s1 s1>(!h[üs1!"!q!v(!~(˾:( >˶*J!nˮs1!~>rr  Y37;@;7JEMRX^aôö %!YYYC CPYS>Gͳ_Kͳ=w)!Kx( 0< [0<"2ͳ!  ó`i 1($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $AUT((,,RRRRPPPP0 ?-PRINT-?000@44::>>rr  Y37;@;7JEMRX^aôö %!YYYC CPYS>Gͳ_Kͳ=w)!Kx( 0< [0<"2ͳ!  ó`i 1($/$)$TurboDOS 1.22P, Copyright (s*?*ͲL:͢lm _ :f`mWqRxͤ"c03k{%b zWi,WІ ЄPq0 F"C@! y_!U?91_WUL120(eUle~Ƈfml2¬Lʣ`lm `3h[63h;jX2L^BšfڰHFk(C`CNThCCT$l PEBFN4<( ?GUWѵ \Ufe_F.c b*d4PʩX 4e[`79Y,!{, _m f6m_x@TiZa]1W eWinʽc2Y\~T,m@2LWfP ҼeWinʤ ʝ #+4>-3lCaNffذU>dh[FBٶ!jApGWiZeVFm mVFmzW2Leƙ!2ͬ |_x L4eY`G9Y,!f, fѐmf eƙ!0ͫ e@ٴ-l6UXV!du u^Um^2Cc4ͣ!c4!CL !CLۊ2C6݆6@껍ꕍm!Wi,fҰղTZeW@W^_&UXU!du u^4i| 0͵:<W|q\0xC6+UlCN eŖm mWHF 36xC6m8SjʽhX2C4-2+4fWͷa>!$#KY!ͥamd"2+ʤ *?*ͲL:͢a\2¤2:Cc*6:L گ! X&W'ݕF FTh|Yf۰ydh(꽍[@JUlu_Ǯau~Ɨ +^ͫaffѐXUuNFUmf|fڰx ʽhX2L膞00 mx ؆  '[00ꔍ4lj75lj@ڡ6~xa]``u@Fǣ*6~~1~]̀YNc~, zc6 ExUmWi6׊ #^4OPĎ:M`*@e@F40lEBF9nPs`8ʹ;69n?UJmfW_eY@q'[8ꀍO4=PU REBF+?08꓍-VuJFLjz\h@ET$l#P!CBo ʼ*깍§Wnf*C*6!#cQU 8T$l:Clb*#k3EBF:d*#bq1nWb2mVmeiS$C~ƕq!CGn-ڦ!!EaSm D4iZ-h U x2CkvKkGUle^*6fհ|9q\2Y1i n?diX[aY,ڶ:c+4_9nU!:cLaF:LaF:LaF:CLbw@w`F6,ʿR4w0F>2FTl| QeKƇa) FUl p o @sTthuAW 2 ρeKƇTm|'??̫2`K°#042`H2L;2#Cʓ L4` %ro6׊8Z,K6 ջ TdF@k%^2C*p݅yF4 i]m f$"\5z[W0%͹ :Kv FU(B\kS6 ׀pͭa@60PKmk Y@C^%6Lی <Pʻ2G`CxPmf pKmf Wu( ?a0+ 2@eƇWhiӔ68YQ!C@p#[S@ʷ@@k օ  v? vU b @ i9B%9O qG=͵xʽ ͷaW8.#0e_UlF"lmdjPcakT-eXT-k ,ʧac*n4OPĎyk+43mxcaeYT,e~ƆTiOqkWik ,ʧac*62#Hx#ʁ iЊ Xc*6͵ፆm eSU2;TiOv f6[X@2cc62cJ\8T mpʨڶ7d!LK!p8+zٶ1Ͳv 8XT mp½l^f`U; k0p½bd46ݒ!B*h4ͳm aUm f6h` Ъ b*h4GߑLiT\0`ꋍ-V0uƟ6U fա XVX0UMc` ݒ*G -vHi c6Wi#@`:cLaF'8hx#ݕAG+4~I þ62kJ\8qQ 7f֐ ,zw0= ;`xG<` ;.a@wF;ʀna*6:L>_f߰[ aݕeY|8Ϳaê<4aYm/op]V(/,+UGƄTi{ÖxGQʷc·dջ*orݕy_U Wx5ePayXa#[(h ThaZPm[`F lfFm9`k4W`ՁA&rD4`hip$?TpSsd= :?sëcבmPQ\P~[sV_s`߇A.S<s> ?*eg #?*0\,Pc! R0B)QkPc9p c!!ZWWBB1-+kc)?:^@ 0@=¢h<@>3Bmtd@=kh  aDVc'T<|W1 ErXE\Fi,@ڧaʹZ.HUd{|Wi\@"#nHYf `"\ 5%^2cl0# 4T}9D f p<"\3@ uK`f1%c2cl KhRX!%6و_!c,^(7dGdK gEXW<8&.j!,^(7dl0`zCv2$&9UV_Dٵ(BeA=SDCS RCP/M 549-3788B=CP/M EXCH 1-404-449-6588C=RCP/M 452-1869D=CLEV CNTY BBS 1-704-482-8012E=NOSC E-MAIL 223-2261F=LAB USYSTEMS 1-213-306-3530G=Z-NODE CA 1-415-489-9005H=Z-NODE TX 1-915-755-3342I= J= K= L= M=MIS 260-2555N=NEXUS 486-0735O=NITEOWL 1-414-563-9361P=MCI MAIL 268-1708Q=SABA-LINE 692-1961R=RENT METRIC-MA1-301-231-5122S= T= U= V= W= X= Y= Z= ,Dh $H1TN F1TN F1TN F1TN F1TN F1TY F1TN F1TN F1TN F1TN F1TN F1TN F1TN H1TN F1TN F1TY F1TY F1TN F1TY F1TN  F1TN F1TN F1TN F1TN H,,,"",(#),"lo","7",,"ca","950",(:),"maslin",(:),"issres",(19),"mime"  "",,"pentad" stamper 0,,"",,""(name:)"navsea"(word:)"ziyonege" "",(*),"SNSCPAC,26,BANK"  TURNINUE UPD - Update Telephone Directory LST - List Telephone Directory CAL - Call Telephone Number "",(*),"SNSCPAC,26,BANK" 2!9"1P *."   USQ Version 1.19 Dave Rand 07/28/19832 2:  Use: USQ afn [afn afn ...] [destination drive:]>2  *!6x :ʗ2_!6~#a{_:> : _!l2 <2m]"!"!X =:Q P  Output drive = :P2@ :_͋"*"*~ #pwb"*}š No file(s) found.*""* |g}o|g}o%| Out of memory. Use more specific filenames.*" $$.""* "!X  6 !Gxwgʯ#Ò!"=!PD :2D!PQ6D< No directory space. Aborting."K Files has illegal decode size. Aborting.P "|rs#r#s#r#*+N!‰_iu*͆D<µ Close failed...g  ERROR - Checksum error in file 1P :—1~#_|}~# **,~#"*""X* 5"*>O**}q#"͆yi**D¼*ڒ*" Disk full. Aborting.go  Premature EOF on file... aborted.g:!=2:C>C4>==2:2:O:\O>=2yO!P k##^#VzJy2z>ʈ{/:Pʞ_P<º: _=!_#:P ~#P<ºì: G: < x@>:!~ # >.!%~ 5# *!P*Y@G:a:  ~# xiu*͆D<µ Close failed...g  ERROR - Checksum error in file 1P :—1~#_1MÚLASM as of 7/06/82 RESEARCH SIDXREF1D00 $10 !~=W!xe ~M4M4z~#o}o҃.ASMg> >ک!PRNq*DM͡:͆ ͆2:`!HEX!:*&!w_#~ A:~J~# > J\ ?!w#J0> J> J! ! !6 ::::! :l2:] !2!d222!!̓͌fk:ʢ!͓fkâ!"22|-!I z{**|!" !Msw# dMҖ6# xM*#"~ ̑!` G:ʽx¶JýͿ*!M'w#"!*͌!"!M'~~#  !w  *!M+w#"!*͓!"!M+_O͟: :yJ:!ʁG~W#x=r2> W> W!>x6 #=“G!~ p̓ʻ*}ʻ>͟ë::p*f"n*}>̓͌U:͓U:=2!22͌fk!"! C͜A Wx[H!O4gy͍Z:c:d~O#~zʅ+}|#͓T]͓##x G###* |~_##N#~y~͵#½> ͵> ͵##~#foß> õ*}>͌͟UƐ'@'õSYMBOLS ! NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES End of assembly G:x!p~*f*nO {z*f"n!p^4!qwWƐ'@'>:!p^Ww*n{|}{N!q~#E> > 0 ʅ ʅ:x҅_<2!w͞2_2> 2^l>2ɯ2 2`! ~@ڴ6z ^4#:_w~$w:_0 :_A:_A:_a{_2_a2_: !ɯ2͞:_ P;=*I:^ IV= V#a>Õl>Õ:_'}2_>Õ “:el!6 >2>2:_2^Ħ:!_:ͿʘØ^ Ϳʘ˜:_OQ>H>2`2_ :^B > D>  ! 52`!"! N#~#A. 00 7O!`t ~*!S M )D " " :_ z '˜'Ø>VÀ >OÀ ͛!M3w#w# !"l! F#¤ 2 G*l##~w*l##~<*l}͟ ! ~ 6! ^!M3^#fk"l ͼ !  G#*l### # *l^#V ! ^*c"l*{zo "c*l! N!M3 N#Fr+sq#p ] >G=#w#wa #w#w!x åSYMBOL TABLE OVERFLOW G*l##~w*l##~ͼ *l_###ͭ s#rͭ ^#V  4   z ()*+,-/ABCDEHLMDBDIDSDWEIIFINORSPACIADCADDADIANAANDANICMACMCCMPCPIDAADADDCRDCXENDEQUHLTINRINXJMPLDALXIMODMOVMVINOPNOTORAORGORIOUTPOPPSWRALRARRETRLCRRCRSTSBBSBISETSHLSHRSTASTCSUBSUIXORXRAXRICALLLDAXLHLDLINKPCHLPUSHSHLDSPHLSTAXXCHGXTHLENDIFMACROTITLE  PF FP! ( 2/?'  v:P@< !  PP27 ( *"  NZZ NCC POPEP M x _BH!¿ !# { Kë Cë <:!JCR: 0  0 !#6  !"( #  ɯ<: O=_} ! F! V#fjQͦ h ! ^#Vo&)~#F xGyѯ<*}|̈́ ":N!̈́ ! ~ڷ ͚6~44O! s#r! ~ 6͚^4! w! p! ~ ͚!55N! N#fi o&)^#fk z<{͚>ɯo>g"!6ů{_zW5>)D*OxGy !?[DM!xGyOڗØ)È̓è Jè Jè 0ʨ )=÷0ʨ |g}o=è B Bè #zg{oè zg{oè zg{oè ::! ;,!ɯ2 2 =2 !"ar! ~]5_! ~ E: Ě: * "a: ”:ž: ̚Ԛ!!^#=ʚVÆ©*Æ3 F; O: ̚>2 y#: _! ~! s! ~ y ! ~=w_! ~ ͚ >2 Ôyʔ3P͛ Ã͠ >Ư : ̚2 ͨ ?>E͛ɯ2e͊ ͇! 2p!""f"h"::!*ªͲ3 <  :eĉ͠ ͕*}ď*l"::!:PX!O^#fkg!$ Gͼ:˜: =ʘG!!ʒF#Âç.*a|ăEͫ3,jêͼXJ*h"h"fêͼJEDͫ3,êͼX: ªJ: "> 2::! J!!: qG> qOw#= O6 #E:_q O p# =O!} l++ERROR IN LINK OPERAND++ Ͳ*hJ"hͼ[!6="hêͼJ: ª}ڪ::!>B̛3 xJ͕êJ: ª"h"fͼXêͲ͠ ď>͎ JͲͻ !"ê͕ê!_!d^#fk*u͐͊*u*k8ʪoy0'͊*kG͐`'k͐̈́*̈́*k(oy'͊*`'k'koy0'k'̈́*ͼͫê:ă:!,; ă.*aJ|y}Vy`8Okoy0VJ&:¢:!,ʧ>C͛ͼ::! ;ͼ::! !!>S͛{ozg!e~4ʩX!6 ! *c*j**j\M[!O]w#DH use factor ! *"f!x#~ l å lines read :e> !~~0 60+Û*f"h*"l Ͳ!":e͠ ď͎ *hͻ ͠ ̉ *h*ĉG:exͲ: *h[:xH*f#"fED0:0!^4!w88*h!6zH{H4>R͛>V͛>DØ>PØ>LØ>N͕͛êJ: ª"h"fͼXêͲ͠ ď>͎ JͲͻ !"ê͕ê!_!d^#fk*u͐͊*u*k8ʪoy0'͊*kG͐`'k͐̈́*̈́*k(oy'͊*`'k'koy0'k'̈́*ͼͫê:ă:!,; ă.*aJ|y}Vy`8Okoy0VJ&:¢:!,ʧ>C͛ͼ::! ;ͼ::! !!>S͛{o3COM!9" 1I ͇MLOAD ver. 2.4 Copyright (C) 1983, 1984, 1985 by NightOwl Software, Inc. ͏ s͋zdͿͽ : ! * !  &<* !~#ʏG<6#" *}O| G6# x¿* +Fʏ#~ FUi~#Ui" ))))_* \ =A: i: i<2 –#![  < ,K6L#" x–2 ] 7ͽ <!e~ ½6H#6E#6X`^ ! ~4! ~d* 1:˜2 W _° g o: ̖ +: : " *  " :9 * " *   w# ØG! ~wx1N1N: R_!~! 4\ͽ 2 <4!͖ * * !:9ͽ \ͽ ѷ£*  " v+" * * " ͽ \ !  <~ !<ͽ ͽ <* * {OzGxr\!ͽ ͽ * #" yրOxGz͇Loaded * ͇ bytes (͇H)͇ to file %: ʚ͇ Over a * ͇ byte binary file͇ Start address: * ͇H Ending address: * ͇H Bias: * ͇H ͇Saved image size: * )͇ bytes (͇H, - ͇ records) * }G|͇ ++ Warning: program origin NOT at 100H ++ \ͽ <(͍~#%ʜ/Í:\©͋ <@/:[} o&>:/!]>./Í~ #/#  |{0/> /> /|}'Ɛ'@'_ͽ ~#=#~ FUX0:fAG?͇ Command line syntax error Ï͉ Ambiguous file name: % not allowed.͉ File % not found.͉ Disk full.͉ Directory full.͉ Premature end-of-file in %͉ Checksum error in %͉ Can't close %͉ Memory full while loading %͉ Format error in file %͉ Writing %, nothing loaded͉ MLOAD syntax: MLOAD [=] [,...] [] (brackets denote optional items) is the optional output filename are input file(s) is a hex load offset within the output file may be an optional non-HEX file to be patched by subsequently named HEX files (specifying The filetype enables this function). Note that ZCPR2-style drive/user notation may be used in all file specifications (e.g., "B3:MYFILE.COM, "A14:MDM7.HEX"). ͍v>2 " " * }o|g"   !]<: ! } w#͋ 2  % x _ } 6# 6 # 6# ͨ # ͨ #( :~U AC @#~#:+xG~0G#~:K #{ ~.#yu  k { ͨ #*ʗ ?‹ U  { à >? ™ ͨ #à ~/., :=ȷ/  " 2 = go : *  y "    go\ ] y!"#$a{ e!z #v i HEX ͽ ͽ I I UTFIL> is the optional output filename are input file(s) is a hex load offset within the output file may be an optional non-HEX file to be patched by subsequently named HEX files (specifying The filetype enables this fO[ɹ몜>0Y8v?+Ir2&:\Iմ>( nf9qf)ImTM˟%L8O?S%)i:_5s*IO4_㤉 LM4^'?S%?QtCgh{m-1~90xNò[a$?a-򤉕xNJ"O]t?D]Q9]?D]Q9]:^?De+IϟTI2xNMa$?ѦDJR/kW}˩IɻrRn@ysZ _j܍i6xN8>y5a* /J_ Jw02,a@3L?m+v%^dKkhPcblK4 `8.ø ۘ n0n],R8 s "5WKVwfD20F?? z #$Fd 5.`h84@`kb$CFv\uFEVi(+vUf1Wȫ$t؀2"i(zJ5c+0uEFhH(YqPsAECs3NBt7Ѐ@ @  &3Y )OFQЀ@ @F4 1ҁ l4ّVm)!vmZW`o 6 i6 i`6 i6 i6 o6 YhU Y-XTHC|\C@ٶ\CFٶ]L4 ]V7YV4]V40M͸Žmx7`6UH"lx4$<oВݕZD4Ml3BA@ͱАQeD"00!bDhT@o* H$u{FN$n@ /Vmxl+$zVIr %3lx4$hlx| ,ۮ$ñw0 x _6XYxĘ!@$ fSqn3FSv46 htD6Ql3AFK6 Z+0ԡvm^!*8j¨bn*(OhlXbʪb7XB7Yp,K6 8jĭB(|Z+﨡l2# f2FW#U!gy|/+'sV`M hXBkͣB*(XCL|MV0Qq68Pj*#1fA fq ? vU1vmZ6mXG[6DV$P"~ZT$PEbE.aq1[ 2EW`uxUd8jXQB!5EEb(XqExE @"68[Wa}Hω;wD"+ (fבFmy'OK6p :(ͱba.ø!4R(J=3hШ2b^(!.!.!b.vhT@:"vrmh4 p͂(DfW2iY /hlٶT,fVK4 4*.*fѡW(D fW dMLGсS #l $Ȫ݀"U'dV#?UTUaTVhH(>B)0`6kRXtUpI` ڬc#d**2_8< +*4c * VC4* aqQU bРDAHp) !@ P @ >0@ >Ɠa@|@ *MQ@ > 9Bx 9 !MS`@|F @ Yt2ς@ > i7s2ς1eCyle9:$C@` " d0 2 "@CQ !0PJ BA(%  8)o9BΆ:0 -Hl2 # f2 lT& Hb@a1GB? `H P@P B `@`00 @@rkSF1F`Vh , fq ?rl SF18  hEX5b,##1Y0¢6 Xu4a"D 0i]q  `eRHHì 0tٴ8`"d3hpDf`ͥ H8}Iω;jt@`2y[PuRT` <Q L YT`jè0wT8Y jeac\$aF *0`^5^5^5nʯKͰKVa eZa%iիVa͸0= m\00aD5n,v@b [_a7Ai:L'C(e1M'g) n7΂e41e7MRn7#)i;DR{e1M'c(a4')s5 Sca7Ao9DcIR2MC(o:FSn2Mrs7  rz&Ac5^3 o: g#)e&)d&)mr1e7MUl2btSsa4 BIe9C7N))MAii:L'G)Hc; M&Ia:9Eit 'Ca7A 9MEI,R&J@Ab@#@D,SSeP0IbX,|@Ke2`x @X:,e2pc X,k7@e@2`l$6X, e`l6XB,/  CeÀal6Xv,Q )ePbld6X,d 3eǰcl6X, @"eAdlh6Y>, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, wC` RX ), K%I`ؤxRXB),$K %IaRX~),H%K%"AIbhRX),`1K%"IcxRX),x=K%2 `1$XA, KH% a!XTA,- K %Ò aXA,E $K% b\XA,] 0K%ƒ caXA,u <K% d!YA, K@:Yh9nh fpf5fpmUfd2 &3e2Y83 FS 4mUfd2A@H [86ydhp c0 xï`!=WvB ox Ͳ4 fp{$;BB0e,`` 2Y ܀={%l쫎 e[m[62Iv,Vh @ s m ݀]UtU~@,   =kj! ,ښҦ,T7ydn@F,ڈð@'&aT@H6ܬQ  6\#FaUUwf`%,05^2"x~[ 6s;FAt4ICJo9BdlШl@ f/ 3hp4N7 'SZa7Sa9@s:Bdhp4W0Nq@f7l6p@fD +*G*>5TT|f*tͮ  HHm7 s7 iu6Da\2`CAa9DSqr '3r2 fm`06AC@P0gsy 6Nf h]@t CAc7L@R2MC(E,A% ?l*͡ Qo9 @h(fhݐ?dmFK&~f02xi\,L ¢@laT6m8 1M)@?, HiHO '3n2Άq 3k4 aV6ik-/AFhڴ`[4 iZ6mgqxNG#y 2F@6`/' t *⁳hp <dhp , T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, w<e!`xtRX), K%BQI`lRX<),! K %BIaRXx),?$ K%’Ib\RX),]0 K%’ƑIc`RX),u< K%’ `XA, K% a XNA,* K %db aX~A,B "K%d bPXA,Z .K%db cIXA,r :K%d d YA, FK@%3A h0e@FXFmA+02+0g7ջ*mefm=%T [ꀌUPh4 fQm` P*+Wa]l[6@ջ 3mX2# ڎҲ :>:.U fPҴ2EDDT(dV"C,ڪ!6߃nhC63l04 m]eCYr@Mo:.U a`0~Te lSj#+0ͷA-ͧC0ـ X@D6p,|zkHX2/mPA.Ed@VCnGWa|wQA%*fQ6mf Lͷ dï@,ЁIYgXt |fڐvHtWxFT0dC|YQH-WtCA&i@ͥAۮ)2[ISap6DSr98b7s :,Cxe:#e7 &8i6Mi@r2' ͿM*|p&m` 60ZU©L; 0ͿM 2;« C 3m@[Jǁ3Lb2x(nfP+4 rKͺ Cs6lۢf&mpOD+LҸ|_q"C,ۄ ڹ@LM e]&m f + 2Ua^0&H1WNG#y@s2q@n0\t41e&) e1gShr9BE4   ͵ "ڧld_с fPt3J*̪6`VU@`B'eT٥A"# eCC ?3ͿDv vU7AA&U W z?-WlCuO4 u*|a_1 jAٶ!mWՖ+vU fېU`Fm_*3I<FmfҠ9O|%wB6nu!Z3lH`K6:1FaU@ o8pDٷ8CpPBl3j{&(r0fc)@c0fSa Lv2a6 Ɠa~ EH|P0 @f4 !e:\ i0cI 9NS sPt3)er &)tNG#{Ȩr%6Ȣ -v t0!<:UV:"4tVp ^2WFK0h^ ?-U _ ջ @ջ*ջ $5EBXdQ6 2@^ [4 `(ͿLC6ȃC%P4eTdzʡͷ:͢,3EBY,,&4Q*C/$CMBYQiYDUH@f: v4t4M1e c @ջ 0@8F.hPї(@K6LJPіmT x"?mݒʹ-6焳mݒͱ6?qCwYPn#MQ o9DS!My@c9L'C(i69HƓa@n7cy#MQi9ba9G/' GJIe3M1e7MW(X K2zoxsiAvmQ͠a`#6XU\(Lvmd@ h @x ) 7X0 k?e] iV !!Tmpͪ6*P2aCv2&9B51R!R#@d|2@R !L ªA*ū>EW$0u@ V-+6>+ aX $9D` dXW(:Q[ Ԩ7 &M\lU:$M2G sGhT@>3B$"\0sOb^W @ ~m%!@eB7D``X@#x*6*Df`^ެd{ ?_lAAfDQYF/8NCæhT@ ~s4* 7XU= PbE@kJd| K66t:c `D U_DٵH0Be?m+v%dKj`cblK6Ma@mzY8x7d#0` hn¤!PUAn#puP6D5A|Jh2J#0* |?T4d2",34 Б04lXU@|Pxʃ $a0X`C%0%^!.YݚQ12 ´ p3@Ku}  2͹a* 2*C"1 >Y.VfjCpZ.H^ [6 08eHY#x5n"'MCQ _A+- 3BAG l4 *&㙘rFo6@ a1̧ALz2@ 1e9 АPfP ike}FW`C{E\CKٵ\CMEٵ\COٵ\CRٵ\C~E]ͤbPLͳ@ͤb0rX,̵u@FXQ<a]<_!YAuiPl(  h6oh6j¦B,͵.͵B.͵:v$!.!b.!.!nVmpoĎ!n°"A-fY C@$!bl` @mf<$ $$>3B0 #Qd#0=e['vhT@zoa]#¸Lۢ$ -PfY EfGhT@f&#d<o};$  ФpS2qtR2̦g](Tu}۴$!Œ` 2YU^(FnH-U LU|VLpX,UYqB{Ee U]W`2"ے.`YTU|V%sY!CՉ_6MƓa@t9M31r2Q=y\&<ڴ"l[D2"\,m#fGXʊRfh"+&!QU6 oh6‹ll[ knx :ٴxP2"B2ҢB+$(fw  X݀!Wa*0` `$U|V@  <(Y@Ȋ +(eTEݐ*SD|LجVXE{6 3l=zYȠaFmv/ x EQHGfہA 5fQq >fQq ,fQvH5>B"[xCml9B C6 GL6M0i|CHO4`ͱ`C6 Y RVK6B K6 U&5l`8 cEY uHV0p$rXʫ¯ BAA5LШMEYU_@**æO_ps%|aWPpI iXW9aQ@Q e$ CAH`) 4" l7b@ 7@F4 @%Pm2@ Q@r!@  m: 1@ >@ >G|e6M&I >㙔|&( *Ά` %'C)@| 2C@P! d0 C@B !8tHPJ EA(`%  @NG#y:0t01Ё ?P lE,Ɠa@T9M31]MKd20ZC  r:P+@0L 4BN0 V2 `@Z,:00(@#`dh6‹j@cE,:0`$0`4??MT.6 +(.deaͳ(qhT@a[q5YD]ê WXFN aJ aeUF*0@/$ET``D 'fq͢ E 6Xm8`AL|MT`ã#݅L0§`0rjjʨVIU! UHa+T#+ܬ0*#6hT@aV1,;0,A;0,vUx^/Vmx^cʵk*׌?,^06Ҷ ШfDHP /Vm YQŒmxSj1a * ,v@` [Kjݒ,#$2y5E@ UHaTRpbX,|@Ke2`x @X:,e2pc X,k7@e@2`l$6X, e`l6XB,/  CeÀal6Xv,Q )ePbld6X,d 3eǰcl6X, @"eAdlh6Y>, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, w<e!`xtRX), K%BQI`lRX<),! K %BIaRXx),?$ K%’Ib\RX),]0 K%’ƑIc`RX),u< K%’ `XA, K% a XNA,* K %db aX~A,B "K%d bPXA,Z .K%db cIXA,r :K%d d YA, FK@%G h0xP&ɤRCbXP&@ $vC6tLaVd&of03;B3lFaT[6ɁW#{ Pm nXr"!4 P`s}X0%iw7mA/`2!. P`F:Af4 h\-PsO*+??*>m (2av͠lۜ ͩ۠ ڼ`,p ڼ`""KmW({6lڠ aQ` P KGmPPP*mH'W8Z6 66\͠; vK񀿊+>3m *eB4`nh6np36h#j* >3h8#6Á+ 0{66 FyYʁlʀT=nİ`C态,ͧ; vHCtA)Ow 1)83%4 6m YN@ uAǏj*Ͱo *?l*"G Fm  ٴD@eFT=dW9dU$-d#Ȣ aV!'r^*:vH3lP^͠:"Ҽ`#s60 2Pʁ x:mZ@!eAUP08ͩcͶ@lڐ>yl_zVW a^!ARb6+>j@ iP`1ARob6`T 6zYp5B6mHaА7*¡bͷL *!IUAXv Ͱl?r U@meV71eW0f¬@`V_`^,f 6Cf 6UYT Ͱo!0ʌ +XͰn`6OLg Ig42IL@D7yB2& SNyA1GCI !Jbn9&h<@ @АͰ%vU엫63@Ufݠ xbm%4 zxxE ۆ?3mPݒ!f+v@8".h!.&ͰlB"1,"ll4Bl DaQUxT0<dSu6 #A!y@r2̦S'y@r2̦A1GC)@b< ЈI)c:'cI 8NGCI 3MR1eAu79"<: fqtFS 3MQVF4 )s:)s2Ad^Nag0cI 7MRs2# 6g€jH3A4$ +$# 4T}xx@ 2+ ``X@#(*6+8 bE@kx m%4 ?3mPݒ. F0,UWa]Sʣ @GAp_@mS6?#vi+6߅ .4 WY4 zn3śqA4* dKpAmPݒj^ @0X363mH'W8^_ * 1/mvf w Eb\ @0363mH%W^_ * 1,ҠpA8:pA*- %al?m1}340< W`VdHZݐ=$2IL@" dhK4dջ*os T-:wV@xP|R{4=%r٢У4$p8X9An9!@o:f`@ @  t'(@ @ #MS@ 6h EmH[6kk6W8eC71ZD45ZD45ZD55ZD5<5ZD45\Y,T,>a T:Aw+U!fhGT,=_p)fD ma;O<a/W!,þa `Y\ `Iy G3)i7E#)i;MuҁJW8xͼ!z6%JحQrjk6rݕSEW8aU0 EY՞ 'Yl$eV@U~C!ͺ %JW8bWU >-X 4CbXt,i6DCs3NG#+3ؼza9OqmPC,R!5fҠm% uQ&o>&+8Һ"<5_3iP3l`hͅ*ik6hK6 SIB"+2?-*2"!NVm p8P-E|Ù":Av2EW8d QͤNU R"ZU`(|Yp->Mͨ  WlHS6ą' L fٰ a)GQX,|Ym m Pm 0m dQC;4* R 9D6)l8Xf" 3l[| 4`t4,sI(3l[%l`ѕ' diP[" l[^2iY #i@YlٶP-?T-nSp@+U~0[4$YQ t-ZBٶ, «al:xhY$0mWp1N_ /kd_  1Q@+!0XӅ]l1hP"@ 8R( JAH |Fy y@ cI >Q  &(@ @E!@r@|Φө\ >?@#@ ,y:Ng@  FSin4 n9Lgl2a6Yt2! d0 @2C@p? !(@CDA(p% @ PPJ DAr7c@ gC sɤRi6DCs3NEC*1 0#u 0$ `@`( `(`!``0 0 P P9Y5ëQ#0+  Hl`hYP5ëQO цCtڶ!a³aIxFV>Y,4|-fDV aQUv\,:ud"4HhUp82a`$DUd9Bvml<2x8" 3hq0f $>ѝKC:@fP狘6s0¢dջ t/,2y5FUY;pEVC,@bK2ͳn0#fDVjhY/QñQñQeX%fP%?Llsʶj݅PS%RIbX,|@Ke2`x @X:,e2pc X,k7@e@2`l$6X, e`l6XB,/  CeÀal6Xv,Q )ePbld6X,d 3eǰcl6X, @"eAdlh6Y>, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, w<e!`xtRX), K%BQI`lRX<),! K %BIaRXx),?$ K%’Ib\RX),]0 K%’ƑIc`RX),u< K%’ `XA, K% a XNA,* K %db aX~A,B "K%d bPXA,Z .K%db cIXA,r :K%d d YA, FK@% A h0!eoh"g@+p+9[Tf*!F@h9Y/*@maV sŚmaͲoW(ͪn1Tx@+v!gmUiZ0meYhv4 ͷ`NÕ*2Db# 4Cn` t ͥdCIi7B݁Cp|f.Չ,ͥcPypw@h O31Fm` 7|Ѐ&m.D3ye1 A08f\ ~`ջ vQ@O[1Yj"\ MǑy )e9Sn0y. (9X+vUf6@>B0)3@5aXdQ624f:`ͣDxN)ȥ h(ö,8A!EB) 3CFH9YpO"I)HO)A@f"q<@R$PvYpO $aPN"A@fŒ:\p@m.㡔 1 @o9y 7M#)@(9NY 8M'Ct n3@d`4 aР"2GV nʨ`4 <kjρl5*gԛ ρLUf:`2KfVmpN祛fWd| f7Zݒͥda  o:$Cxܠa@# j¡@b0)FbX IW*N1 @ ¡@ls,5al?m1}U$ |*BFK`톰>B)3ox01A&hl? h6`@k @4 dkHLhp 'Z`c6\,T+F7dK$E(! MbQ@@U$ |4SDRIVE = 01 SDRIVE = 02 B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.SDRIVE = 01 SDRIVE = 02 B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.SDRIVE = 01 SDRIVE = 02 B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.SDRIVE = 01 SDRIVE = 02 B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.5SDRIVE = 01 SDRIVE = 02 B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.SDRIVE = 01 SDRIVE = 02 B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.MRbX,|@Ke2`x @X:,e2pc X,k7@e@2`l$6X, e`l6XB,/  CeÀal6Xv,Q )ePbld6X,d 3eǰcl6X, @"eAdlh6Y>, T*eaehl6Y^, X,ea@el6Yn, \.eael6Y~, `0ePf0l6Y, f3e flP6Y, l6eafl6Y, q9epgHl6Y, w<e!`xtRX), K%BQI`lRX<),! K %BIaRXx),?$ K%’Ib\RX),]0 K%’ƑIc`RX),u< K%’ `XA, K% a XNA,* K %db aX~A,B "K%d bPXA,Z .K%db cIXA,r :K%d d YA, FK@%3A h0e@XFmA+02+0g7ջ*mdfm=%T [ UPh4 fAmh P*Wa]l[6@ջ Ȁ3lX2 ڊҳ #6Ճ@WT(tPёx6kPKj ۂ͸! " Ͱ X{ fmf`fmfрvfA6mf#6Ճh;JG+úm a<2 *v&_miS@*0 64 6@ fFWaj[U%OWan!c lX*fנeo^,V!(f۱mmZp _aUDFXMmٶAN6K6݈3m KB f`m aj Ҩa\`$|P fqFi @e^ fg$CD6nsXVn&MCIeNG#y.  r:MroN@R r<  i:Mqm2 XͼM*xҰ&m$mY-W nn  t~sٶͼALՑUFaV!ij,eZp!՛j6 mdžmf`eE9!n2MqmrNIn3 Ɠa@n0\cIn0Le7^3Ak9M)oyKm&mf6m%>8!.Vm bGY)^2c/ Jn6ۊ0ʰo*Xlxg\tH ^2C6ՃoS ʰkUZYUh eU1 p͢Ͷf6zWadfUjm a@eBFC ?3ͼDv vU7G&U'W zC?-WC|0O uF*|aPA jٶ0!mWհ+vU&fUFm_*3IVpFmfҐ9U4%r„7muh!Z3lhH`K6:1FaV@ o0pDٷ8CvPBl3i{&(r0fc)@c0fSa Lv2a6 Ɠa~ EH|P0 @f4 !e:\ i0cI 9NS sPt3)er &)tNG#{Ȩr80͵`2fڰwj" W٥A6 9ZVpK6dʂ ͼDv/W ʼe@O3!eUp  ݅T6\suuAFU !ۘ 3R@00;4| :eAFY0`"ll#6ۊ00KUCDb*2!##C: vU_6ՃO,0fڠ =0;^, !joEpB)a]q fqFUa\q fqFbD6\-@6l-^4E' eF#T ԠVma mjAvU21:UV*!.T=YT(dBK6Pm\ v"?mݒͲ-6ބmݒͱ6?qCsBYPn#MQ o9DS!My@c9L'C(i69HƓa@n7cy#MQi9ba9G/' GJIe3M1e7MW(X K2zopsi1vmQ͠A`#6XU(Lѱvmd@ h @x ) 7X0 k?e\eBV [qXeVH f zYT, £m%>VE_a"2GTUnfŒ=HFDžڢ!!lZ"&̆Sh@ (5^C)03^2A*հ݅rƀ4 i\m fא$"\5sV-ͯ!:Av FUh0B\jc6h pͩ60`KmO Y8CW%6L<8`ʭ2G`Cx֐mJ pKmJ WuD0 ?a0+ 2@( @\p!,P0!Xg` 3*xc.%V1b\0DU eq!y"ɹA`@(bh^! DR!I4FabA(d: U*zZa0X v3u:]s  ˥LW%QM[֛Ef0,5^Sqx>{}W B`\!@P  4fi` dB)KU*U rXA Pt2u.{a,f;͖KҙDU%A ۭMdѨ OkuVQap<=_8. ƄRI(֌V̤J=Ð촽N?"cXg3D`{%Vdp'WG*N@0lj9^H4oV,q( O h6hȪTddZPpeZ.K?hhY#x5nʠ",۶0 *!dջ?TT7IF,e|h( "+>*q@h(r0fc)@P9Ά:@ k23I:@ Ɠa:P3BA@sQBB*ͦ".ͬB_Q f!q +f!q 4f!q =f!q Gf!q f֡vK6 B!0 6ˊXf6 Pbo2ՋZ.bDW`O(xvDDVPP2‚E|FV4PEcWaͥ"b.Ͱ04+"(!B.!.*ū o6ՋhX6Ջi6ՋАk k k Y8QͿ8  @mf [ MhH(\U 3l蓄F3l\ 3 bDVdkĞmQͻO0 tO[ 3n4$dCmfmQ%wĘv\T{~!c K0XW7H^dBLn2MuHc2NƓqtf!Q3nȐڊ3Mh0(f!V+TE{F.͹0eTq1U>-XU,M`EVPPue m<,YUpLF_F 3n@Ef!QU>-XPUdEV%{16#MQa7SjD //pdb7j AmMpYUGEb((}Iω8 4p EW`F"# R(!.!bnʾbV.ͬB(&͹‚"(f@ȊȊ@J^,;&:C v^HP݀*c U>-Y(D&h裬Uc"+(ᖕPDV3B4fVm} Z.I<  UU#l]AKZY'bE_ xaD fD ;**⡗[ ZH)! (R c5fl2@ >CI @ D!@o1@ 3l@  K1NS@ ‘a4&8C7fS@F4 o:Mb< 1D@p !@ dP 2DA$@Ca "0 @ J CA(P% 0QCE9#@t:B!@%i #MQPa7Su6-ʄi @t7 &#y]B@ p00  8@X r VmjpF##a ®a!B.!VmpF#'@³ba6H`+^df+6ˊ@Vm YQoT@fw 1]b18|H +.>T<  Qu!E.6 Lm ,0}c a3y4gmRQc O+v2X 0!A* Xu `UTF⪢0#U $R#rl#?١QX,KtttVaxY4azS* ?\0p@ڶcJٌ3B%ٷ4aM0 0t5n,AvK Qa,2C'XPd8UTF⪢0#U $R c5fl2@ >CI @ D!@o1@ 3l@  K1NS@nds, etc). If HEX mode is ON, then these numbers are considered hexadecimal; if DECIMAL mode is on (MEX is distributed with DECIMAL ON), then they are considered decimal values. You can force a decimal number, regardless of the HEX or DECIMAL mode, by preceeding the number with a '$' character; similarly, the '#' character implies a decimal number.  The DIAL command performs the same task as the CALL command, except that after calling, DIAL returns to command mode (CALL goes to terminal mode). The syntax for DIAL is exactly the same as the syntax for CALL (do "HELP CALL" for more information on how to use both DIAL and CALL). DIAL is intended to be used in READ files, where it is desirable for the READ file to retain control after calling a number (READ files have no effect in terminal mode; thus using CALL in a READ file would pause ex- ecution of the read file when the distant end is reached).  The DIR command works similarly to the CP/M DIR command, and displays the disk directory on the screen. DIR takes advantage of the DU spec- ification, thus "DIR B7:" will display all of the files in user 7 on drive B. System files will be excluded if the STAT variable 'EXCLUDE' is set to ON. If EXCLUDE is OFF, all files will be displayed. More examples: DIR C3:*.?Q? DIR LOGIN.MEX DIR 3:  MEX supports the same drive/user specification for files as Rick Conn's ZCPR and ZCPR2: A file may be prefixed by either the drive name, the user number or both (this extends to batch file transmissions). Examples: [MEX] A3>>SB B3:*.ASM A9:*.OBJ C6:UPDATE.DOC [MEX] A0>>DIR A12:*.SUB [MEX] B3>>TYPE 5:REPORT.DOC [MEX] C3>>T B6:SESSION.LOG % LOGGING DRIVES: MEX supports relogging drive/user in two ways, both of which are pertinent to a discussion of DU specifications: - LOG command: Takes optional DU spec (trailing colon optional) resets disk system - At command prompt: simply enter the DU spec (colon required) Examples: [MEX] A0>>LOG (relogs current d/u: resets system) [MEX] A0>>LOG B: (relogs current user, drive b, resets) [MEX] A0>>LOG B7: (relogs drive b, user 7, resets) [MEX] A0>>B: (logs current user, drv B, no reset) [MEX] A0>>A9: (logs drive A, user 9, no reset).  The most commonly used MEX commands are implemented as single character com- mands, for ease of use. These are: S: Send a file or group of files using Christensen protocol R: Receive a file or group of files using Christensen protocol T: Enter terminal mode (may specify an optional ASCII-save file argument) E: Enter terminal mode with echo (also takes optional filename argument) L: Enter terminal mode with local-echo only (filename ok here too). T, E, and L are all variations of terminal mode: T sends keyboard characters to the remote and prints characters received from the remote on the console. E mode echoes received characters back to the remote ("half duplex" mode), and L echoes keyboard characters on the console before they go out to the remote ("half duplex" in the other direction). Certain commands may be modified with secondary options (see "HELP SECOND").  The ERA command erases files. The syntax is as follows: ERA [V] The filename may be ambiguous (e.g., *.ASM, BOOT?.BAK). ERA always dis- plays a list of the files that are being erased. If you specify the optional 'V' after the filename, ERA will ask for verification before actually erasing the files (after displaying the names). The DEL command (with a filename) is the equivalent of the ERA command. 6 ERRID is a STAT switch that enables and disables the printing of the MEX ID string in error messages. The ID string is useful in applications where you're communicating with a remote computer running MEX (if each end has a different ID code, there is no problem confusing error messages), but if you typically use MEX only with RCPM systems or timesharing systems that don't run MEX, you might like to turn off the ERRID switch, and shorten the error messages.  SEP is a STAT keyword, and allows you to change the command-line separator character. ESC is also a STAT keyword, and specifies your terminal-mode escape character, used to activate terminal-mode functions (such as capture and printer buffer on/off, etc). The argument is a single- character string. Example: STAT ESC "^I" changes your escape character to the TAB key.  EXCLUDE is a STAT switch variable; it modifies the action of commands that take multiple-filename arguments (such as DIR and the batch-transmit SB). If EXCLUDE is ON, then SYS files are skipped over by these commands. If EXCLUDE is OFF, then SYS files are included. Thus, you can exclude SYS files from a batchfile transmission by STATting the EXCLUDE switch ON. These files will also be exclude from DIR listings while EXCLUDE is ON.  EXTEND is a STAT switch variable. When turned on, it modifies the way MEX's command decoding works: if a command is not found in MEX's command table, MEX will pass the entire command line on to READ, causing the command to look like a READ command (without READ being present on the command line). For more information, do "HELP READ".  FILTER is a STAT switch variable; when ON, then abnormal control characters are ignored when in terminal mode (with the exception of carriage-return, linefeed, backspace and tab). If OFF, then all characters from the remote will be displayed on the screen (and included in the ASCII-capture file, if active). FILTER ON is useful if you're working with a noisy connection, and random garbage characters on the line are erasing your screen, etc. If you're using a video-oriented text editor at the remote, you'll want to be sure FILTER is set to OFF, in order to allow the video-control characters to be accepted by MEX. Note that the CP/M end-of-file mark is specifically excluded from ASCII- capture files regardless of the setting of FILTER (although FILTER ON allows this character to go to the screen).  The GLOBAL command allows you to set the secondary options for the single- character commands. Any options set this way will then be active for the single-character commands whether or not they are specified. For example, if you prefer to go directly to terminal mode after a file transfer, do: GLOBAL T You can also set the VIEW mode for CIS transfers by doing GLOBAL V (note that this is the only way to "view" a CIS file transfer. For more information about secondary options, do "HELP SECOND".  HELP with no arguments prints a list of available help subjects. The file HELP.MEX file must, be located on the default (or ALT) drive. Help prints a list of available topics. To see this list, do this: HELP ? To query the HELP database for any of the selected topics, do this: HELP for any topic-name displayed by "HELP ?". HELP frames explain syntax with the use of the '[' and ']' characters (which denote optional items) and the '<>' characters (which indicate a "type" of command object, for example, or . % You may move freely among drives/user areas while the HELP file is open; MEX will remember where to find it. Once opened, the HELP file will remain open for the duration of the session, unless a LOG command is executed.  VIEW is used to view the text buffer (output text is formatted similarly to that of the TYPE command). VIEW takes no command line arguments.  INSTALL is used to install optional modules within MEX. Its command format is simple: INSTALL For example, to install the remote-access module: INSTALL REMOTE.MOD  WECHO is a STAT value variable and affects the use of the SENDOUT com- mand. WECHO is the time (in seconds), that SENDOUT will wait between characters during a reply from the remote, before considering the reply ended. This should not be confused with the REPLY variable, which is the maximum amount of time to wait, after sending a string, before con- sidering that no reply is forthcoming.  QUEUE is a STAT variable that enables or disables the MEX queued I/O functions. The overhead associated with the queues may cause lost characters in terminal mode at speeds above about 4800 baud (using a 4 MHz CPU); if you commonly run higher-speed hardwired connections, you'll want to turn QUEUE off. Although used for various purposes, the most significant use of queues within MEX is to catch 'overflow' characters from the remote after an X-OFF flow character is sent in terminal mode (when the ASCII capture buffer fills). With QUEUE turned off, there is a possibility of lost characters in capture files if the size of such files exceed available memory space.  SODELAY is a STAT switch variable. When ON, SENDOUT strings and keystrings sent from terminal mode are tied to the WCHAR and WLINE delay variables, al- lowing convenient entry of passwords, etc. from a READ file. Note that, for SODELAY to have any effect, the WTECHO switch variable must be OFF (WTECHO takes precedence if both are active).  CAPTURE is a STAT switch variable that enables and disables recording of the save-in-memory terminal file. It works similarly to the terminal mode -S and -U commands, but allows access from the command line (and hence from a READ file). This variable can only be changed if a terminal mode capture file is open (see the TERM command). PRECHO is a STAT switch variable that enables and disables the logging of incoming characters to the printer. It is similar to the -P toggle command used in terminal mode. Changing this variable is most useful when executing from a READ file.  TERM is similar to the 'T' single-character command, and takes a file- name argument. It opens the specified file as an ASCII-capture file, but does not actually enter terminal mode. This is most useful within a READ file. TERMA does the same thing, but opens the file in APPEND mode (as if the single-character T had been entered with the A option). Examples: TERM WILLOW.SES <== opens file, returns to cmd mode TERMA SOURCE.LOG <== same, but opens file in appnd mode For more information, do HELP TERM-MODE. For more on append, do HELP APPEND.  The ALT command supports the ALTernate drive/user for READ files as well as .PHN and .KEY (phone libraries and keystring files), and, if the 'A' (append) secondary option is in effect, the terminal-mode capture file. ALT allows you to change the alternate drive/user; its syntax is: ALT Examples: ALT B3: ALT A5: For more information on how alte6rnate DU's are used, and how to set up the ALT search path, do HELP SEARCH.  SEARCH is a STAT variable that may take on the values 0, 1, 2 or 3. SEARCH specifies a search path for READ files, phone libraries, keystring files, and (if the append secondary option, 'A' is specified) terminal-mode ASCII capture files. These files normally are taken only from the currently logged DU; by modifying SEARCH, you can change the way MEX finds these files. Two drive/user areas are possible: the currently logged area ("logged" D/U) and the Alternate DU (do HELP ALT for information on changing the alternate). If SEARCH=0, then only the LOGGED DU is searched. If SEARCH=1, then only the ALT DU is searched. If SEARCH=2, then the LOGGED DU is searched; if the file is not found, then the ALT DU is searched. If SEARCH=3, then the ALT DU is searched; if the file is not found, then the LOGGED DU is searched.  The ID command allows you to configure the MEX ID string (which is printed in the prompt, and in error messages, if the STAT ERRID switch is set to ON). This is useful if you're communicating with another computer running MEX; if each computer has a different ID string, you're never in doubt as to which one you're typing commands to, or which one printed an error message. The syntax for the ID command is ID (see "STRINGS") The string may be a multi-line string; it's length in the standard distributed MEX may not exceed 28 characters. This length may be different if your system overlay replaces the MEX defaults (in fact, the overlay may disable this command altogether; if the "INVALID COMMAND" message appears when you attempt to use the ID command, then this is probably the case).  INITFILE is a STAT switch variable. It determines whether or not MEX will look for the start-up file INI.MEX when it is first started. INITFILE is intended to be used prior to running CLONE, to prevent the cloned MEX from looking for INI.MEX. For more information about the CLONE command, do "HELP CLONE".  INSTALL is used to install optional modules within MEX. Its command format is simple: INSTALL For example, to install the remote-access module: INSTALL REMOTE.MOD  The KBYE command is used to stop running a remote Kermit server, log out the job on the remote computer, and then disconnect the modem from the phone line.  Kermit protocol commands: KS --> send a file to a remote computer KR --> receive a file from a remote computer KS must be followed by one or more filenames, each of which may contain wildcard characters. A filename after KR is optional; if omitted, the name transmitted by the send- ing Kermit will be used. You can override the sending Kermit's filename by specifying your own name on the command line after KR (this only works for the transfer of a single file ... multi-file transfers must use the names provided by the sender). KS may be used with a remote Kermit server, but KR may not (use KGET for this). Additional kermit commands are available for use with remote Kermit servers: KSET, KBYE, KFIN, KLOG, KPUT, KGET. Help topics are available for all of these.  The KEY command is used to manipulate the keystrings that are available in terminal mode. There are several forms of the command: KEY <<= prints out all of the keystrings KEY =[] <<= defines a new keystring Keyname is any valid ASCII character, except for the set defined as the terminal mode escape-sequence commands. In the second form, above, if is omitted, then the specified key- string is erased. Examples: KEY %="ATDT 14145559932" <<= sets up the '%' key KEY Q= <<= erases the Q keystring Note that KEY names that duplicate terminal-mode commands will be rejected by the KEY command, and an error message will be printed. % If your terminal overlay supports special function keys (such as the IBM-PC version), you may declare the function keys as keystrings as well. This allows a single keypress to send a keystring. Examples of function keys: KEY F2="John Smith^M" <<== Puts users name under key F2 KEY 3="Password" <<== puts "Password" under key F3 KEY F10= <<== erases the F10 keystring KEY F5="DIR *.ASM^M" <<== puts MEX DIR command under F5  The KFIN command is used to "finish" running a remote Kermit server. Your remote login is still maintained (that is, the KFIN command does not log out your remote job); it simply stops running the remote Kermit, and returns to the remote computer's operating system.  The KGET command is for use with a remote Kermit server, and requests one or more files for download from the remote end. You can enter any number of filenames after KGET, each of which may contain wildcard char- acters. Most Kermit servers, however, limit you to a single name, and some servers do not permit wildcards in that name.  The KLOG command is used to stop running a remote Kermit server, and then log out your job on the remote computer. The modem is still connected to the phone line after a KLOG command.  The KPUT command is for use with a remote Kermit server, and transmits one or more files to the remote Kermit. You can enter any number of filenames after KPUT, each of which may contain wildcard characters. Note that KPUT is functionally equivalent to the KS command.  The KSET command may be used to change many of the Kermit file transfer parameters. For a complete list of KSET options and syntax, do this: KSET ?  LOAD and SAVE LOAD and SAVE are used to load and save phone number and keystring files. Both commands take a filename argument. Examples: LOAD A5:CBBSPHON.PHN <<== loads a phone # file LOAD ARPA.KEY <<== loads a keystring file SAVE C:NEWPHONE.PHN <<== saves phone # file SAVE 9:COMPUSRV.KEY <<== saves keystring file Note that the filetype determines what type of file is being saved (.PHN for phone number files, .KEY for keystring files). Any other filetype (ex- cept OVR, as explained in the next frame) will generate an argument error. % LOADING OVERLAYS The LOAD command may also be used to load modem, hardware, and terminal overlays directly into the MEX program. Loadable MEX overlays have file types of .OVR, and the following names: MXMxxxxx.OVR <<== MODEM overlay MXHxxxxx.OVR <<== HARDWARE (port) overlay MXTxxxxx.OVR <<== TERMINAL overlay Examples: LOAD MXM-SM13.OVR <<== Loads the modem overlay LOAD C:MXHI.OVR <<== Loads the hardware overlay LOAD A:MXT-TV92.OVR <<== Loads the terminal overlay To adapt MEX to a new machine, load the overlays required to support your particular hardware, then CLONE the customized version to disk.  The LOG command allows you to reset the drive (for switching disks) and, optionally, simultaneously change drive and/or user area. The command syntax is LOG where DU-SPEC is either or both of the new drive to log into and the new user area. An optional colon may follow the DU-SPEC. Examples: LOG B7 <<= reset, log in drive B user 7 LOG 7: <<= re7set, log user 7 current drive LOG B: <<= reset, log drive B current user LOG <<= reset, retain current user/drive If either a terminal file or a READ file is open, the disk-reset will be denied (although any new drive/user will be logged) and a message printed. If you want to change drive and/or user without a disk reset, you can do so without the LOG command: just enter the DU spec at the MEX command prompt (in this case, the terminating colon is required).  MEX supports multiple commands on a line, both in READ files, and in dir- ectly typed commands. A command line may optionally be entered on the CP/M invocation command line, and this line may also contain multiple commands. Note that a READ command will "stack" any current multiple commands; when input from the READ file is exhausted, the remaining commands will then be executed (a control-C at any time will abort a running READ file and/or a multiple command line). The multiple command separator in the file as distributed is the semi- colon ";"). This character may be changed with the STAT command ("STAT SEP") or in the patch file. The next frame contains examples of multiple command lines. % Examples: from CP/M: A>MEX DIR;READ MYFILE.MEX;SENDOUT "LOGOUT";BYE This example will bring up MEX, which will first print the directory, then begin executing MYFILE.USE, which may conain SENDOUT commands and R commands to send and receive files. When input from MYFILE.MEX is exhausted, MEX will send the string "LOGOUT" to the remote. Finally, MEX will execute the "BYE" command. from MEX: A3>>COMMAND: RB;SENDOUT "BYE";BYE This one receives a batch transmission, sends the string "BYE" (grace- fully logout from a remote CP/M system, for example), then disconnects and exits to CP/M.  The PHONE command may be used to query the phone number library, as well as for adding and deleting numbers. To add a number, use this form: PHONE = [] Where ID is a string (up to 12 characters) that you want to use to call out the number and is the telephone number. If already exists, it will be replaced. is an optional rate to be associated with the number, used by the CALL command. To remove a number, do PHONE = To see the entire library, do PHONE PHONEL To see a single entry, do PHONE  PREFIX and SUFFIX PREFIX and SUFFIX are used with the SENDOUT command (do "HELP SENDOUT" for more information on the SENDOUT command). PREFIX is used to manipulate a special PREFIX string, and SUFFIX is used to manipulate a SUFFIX string. The PREFIX string is transmitted ahead of any SENDOUT string, when the SENDOUT command is used, and the SUFFIX string is transmitted after. This simplifies the construction of complex, repetitive command lines to be sent to the remote. Either command without arguments prints the current value of the string. To change the string, enter the string on the command line after the command. Examples: PREFIX "XMODEM S " <<== sets a prefix PREFIX "" <<== sets null prefix string SUFFIX "^M" <<== set carriage-return as suffix  The PROTO command is used to specify a "default" protocol for use with the S and R commands. As distributed, MEX infers MODEM7 protocol when you use S or R. You can select another protocol, however with the proto command: PROTO K <<--- selects Kermit protocol PROTO M <<--- selects MODEM7 protocol Note that the selected protocol can always be overriden with the "protocol prefix" character entered before the S or R command. For example, KR <-- receive a file, use Kermit protocol MS <-- send a file, using MODEM7 protocol.  QUEUE is a STAT variable that enables or disables the MEX queued I/O functions. The overhead associated with the queues may cause lost characters in terminal mode at speeds above about 4800 baud (using a 4 MHz CPU); if you commonly run higher-speed hardwired connections, you'll want to turn QUEUE off. Although used for various purposes, the most significant use of queues within MEX is to catch 'overflow' characters from the remote after an X-OFF flow character is sent in terminal mode (when the ASCII capture buffer fills). With QUEUE turned off, there is a possibility of lost characters in capture files if the size of such files exceed available memory space.  The READ command causes MEX to take command lines from a disk file. This can be handy for such things as controlling a set of file transfers (es- pecially when you can't be present for the entire session) and executing complicated login sequences automatically. READ, used with the EXTEND func- tion (see "HELP EXTEND") provides a means of extending MEX's command set. The syntax for READ is: READ [] [] ... \ \ \ ________\_____>> optional! , , ... etc. are described in succeeding frames. The READ file may contain any valid command INCLUDING another READ command. These commands may freely move among drives and user areas; MEX will re- member where the READ file is located. % Typically, READ files are created with a text editor, and may contain STAT commands to set MEX for a particular type of connection, DIAL commands to actually make the connection, and SENDOUT commands to log in at the destination. It's possible for an entire session to take place under a READ command. A READ file will terminate when the file ends, or when a CONTROL-C is seen at the console (aborting any command with CONTROL-C will abort the READ file). It's important to note that, while you can use a READ file to enter the terminal mode, the READ file is not used while the terminal mode is active. When you exit terminal mode, the READ file starts again. Normally, READ commands echo on the screen when they execute. You can inhibit this, however, by manipulating the SILENT variable (do STAT SILENT ON to inhibit the command echo). The following frames deal with the READ command with parameters. % READ with PARAMETERS READ parameters are very similar to CPM's SUBMIT parameters; they are called ACTUAL parameters. If they are present in the command line, they will be plugged into the FORMAL parameters in the READ file. This substitution facility provides a powerful tool for generating multiple-purpose command files, as we'll see in the proceeding frames. Formal parameters occur in the READ file, and take the form {n}, where n is the parameter number; these numbers correspond sequentially with the ACTUAL parameters entered on the command line. The ACTUAL parameters in the command line are substituted for the FORMAL parameters in the READ file when the file is executed. A special form of FORMAL parameter allows a default value to be used if an ACTUAL parameter is not specified on the command line; this form is {n:} where n is the parameter number, and is any arbitrary text to be used as the default. % If the default form of the formal parameter is not used, AND no actual parameter is specified in the command line, execution will continue, but the parameter will be blank. Normally, the parameters in the READ command line are terminated by the space between parameters (or the end-of-line); spaces can be imbedded in the ACTUAL parameter by enclosing it in braces. The next frame will provide a simple example of READ with parameters. % Example, READ with parameters Assume FILEGET.MEX contains the following lines: SENDOUT XMODEM S{2} {1:SENACA.DQR} R{2} {1:SENECA.DQR} ( {2} and {1:SENACA.DQR} are FORMAL parameters). This file can 7be used in several ways: READ FILEGET will simply transfer SENACA.DQR to your system READ FILEGET MEX.UPD will transfer MEX.UPD to your system READ FILEGET *.NEW B will transfer all NEW files in batch mode READ FILEGET USQ.DOC VT will transfer FILEGET, View it, goto Term mode The following line illustrates how to expand a parameter, using the above file: READ FILEGET {*.BOO NEWSTUFF.DOC} BX [use if MEX is running on remote] (Transfers all .BOO files and NEWSTUFF.DOC) in batch mode, then disconnects) % Command extender If you turn the command extender on (STAT EXTEND ON), the READ in the above lines can be omitted, making the READ file look like a built-in command. This affects single-character commands somewhat: the disk is searched before the command is checked for a single; you can avoid this by prefixing single- character command lines with a '*' (eg, *RQ FILE.FOO).  The REN command syntax is similar to the normal CPM REN, except that DU specifications may be employed in either the new OR the old filename (but not in both). In general the syntax is REN = Examples: [MEX] A0>>REN NEWFILE=OLDFILE (uses A0) [MEX] C9>>REN B6:REPORT.OLD=REPORT.DOC (uses B6) [MEX] B3>>REN 6:MYFILE=B:YOURFILE (uses B6) [MEX] D4>>REN ERROR=C9:BLUNDER (uses C9) % Note that the following REN commands will produce errors: [MEX] A0>>REN B3:SOMETHING=C:ELSE (ambig drives) [MEX] A0>>REN 6:ME=7:YOU (ambig user #'s) Note that ERA will prompt for erasure if the new name already exists. Further, before doing this, it checks for the existance of the old filename, and, if not found, aborts before checking for the the presence of the new name.  REPLY is a STAT keyword, and specifies the amount of time (in seconds) that the SENDOUT command will wait, after sending a string, for the remote end to send a reply. To query the REPLY constant, do: STAT REPLY To set the REPLY time, do: STAT REPLY where is the number of seconds to wait, between 0 and 255.  RETRY is a STAT keyword, and specifies the number of times the SENDOUT will attempt to send a string before aborting. Note that if the Wait-For- Echo switch (WTECHO) is off, RETRY will have no effect, since no error can occur. To query the RETRY constant, do: STAT RETRY To set the RETRY constant, do: STAT RETRY where is the number of retries, between 1 and 255.  RTIME is a STAT value variable, and affects Christensen-protocol file transfers. RTIME is the amount of time (in seconds) that MEX will wait for a char- acter from the remote end before declaring a timeout, and initiating a record-retransmission sequence. RTIME is set for one second in the standard distribution MEX; this is more than adequate for RCPM work, and MEX-to-MEX file transfers where each end is running under a single user operating system. But when working with a mainframe connection (especially when a packet-switched network is part of the connection), character delays can easily exceed one second. In these environments, you'll want to set RTIME to a higher value (16 seconds is recommended; the maximum is 255).  SEARCH is a STAT variable that may take on the values 0, 1, 2 or 3. SEARCH specifies a search path for READ files, phone libraries, keystring files, and (if the append secondary option, 'A' is specified) terminal-mode ASCII capture files. These files normally are taken only from the currently logged DU; by modifying SEARCH, you can change the way MEX finds these files. Two drive/user areas are possible: the currently logged area ("logged" D/U) and the Alternate DU (do HELP ALT for information on changing the alternate). If SEARCH=0, then only the LOGGED DU is searched. If SEARCH=1, then only the ALT DU is searched. If SEARCH=2, then the LOGGED DU is searched; if the file is not found, then the ALT DU is searched. If SEARCH=3, then the ALT DU is searched; if the file is not found, then the LOGGED DU is searched.  The SECONDARY options are used only after the single-character commands (see "HELP SINGLE"); they modify the action of the single-character commands. Following is a list of the secondary command options: OPT NAME USED WITH ACTION --- -------- --------- ------ A Append E,L,T Append to a terminal-mode file B Batch R and S Sets BATCH mode file transfers D Disconnect R and S Disconnects after a file transfer E Echo E,L,T Enter term-mode w/echo after a transfer K K-packet S Causes filesend to use 1K packets L Local T,E Local-character echo Q Quiet R and S Sets "quiet mode" for file transfers R Recv-view R and S Shows received-characters only S Send-view R and S Shows transmitted characters only T Terminal-mode R and S Enter terminal mode after file xfer V View R and S Views the file transfer in ASCII X Exit R and S Disconnect and exit after transfer The secondary options are also effective in CIS transfers, if set with the GLOBAL command (see "HELP GLOBAL"). % Examples of secondary options: Primary --+ Command |+++-->secondary options |||| |\ / [MEX] A>>ST MYFILE.FOO <<== send MYFILE.FOO, go into Term. mode after [MEX] B>>RVT CRACKER.JAK <<== receive file with view, enter Term mode [MEX] A>>RQX MONKEY.SHN <<== recv file quietly, disconnect/exit after [MEX] A>>RBT <<== recv batch files, Terminal mode after [MEX] A>>T DISKFILE.SAV <<== enter term. mode, allow save to disk file [MEX] B>>TA DISKFILE.SAV <<== Enter term. mode, append to DISKFILE.SAV [MEX] A>>E DISKFILE.SAV <<== same as previous, but with echo mode [MEX] A>>S  HELP.MEX <<== send file, no options (unless GLOBAL) [MEX] A>>R MXO-SM10.ASM <<== receive file, no options (unless GLOBAL) [MEX] A>>KS KERMIT.DOC <<== send KERMIT.DOC, using KERMIT protocol (note that in the preceeding example, "K" is a prefix character; thus, "S" is a COMMAND, not a secondary option).  SENDOUT allows you to send an arbitrary string out to the modem [see STRINGS]. This is most useful in indirect command file [see READ], but can often be useful in normal interactive mode. The syntax for SENDOUT is SENDOUT Before the specified string is transmitted, a PREFIX string, if any, is transmitted, followed by the string specified to SENDOUT, and terminated by a SUFFIX string (if any; the default suffix string is a return-code, normally terminating the line to the remote). After transmitting the string, MEX will wait for a reply from the remote, up to a pre-set number of seconds; any reply will printed on your screen. % Following are settings and variables which affect the SENDOUT command: SUFFIX: \ Both of these are described in the previous frame, and are PREFIX: / further explained in their own information sections. WTECHO: Manipulated by the STAT command, this switch-variable determines whether or not SENDOUT validates its transmission by waiting for characters to be echoed from the remote. If set to ON, then SENDOUT checks each printing character it transmits with the character as echoed by the remote. If a mismatch occurs, SENDOUT marks an error, sends a CANCEL character, and awaits a TRIGGER character from the remote. It then begins again, and repeats this cycle until either the transmission occurs without error, or the error count is exceeded (which aborts SENDOUT). If you use SENDOUT with WTECHO off, you'll also likely want to set TRIGGER to null (STAT TRIGGER ""), to avoid trigger-wait. % More factors affecting SENDOUT: RETRY Manipulated by t8he STAT command, this value-variable specifies the error-retry count for SENDOUT before aborting. CANCHR: Manipulated by the STAT command, this string-variable (single character) specifies the character to be transmitted to the remote to cancel the transmitted line after an error. TRIGGER:Manipulated by the STAT command, this string-variable (single character) is the character the SENDOUT command waits for after an error-cancel, before proceeding with the retry. If the other end doesn't echo, set TRIGGER to 0 (and WTECHO to OFF), and MEX will simply send its arguments and not worry about validating the echoed string (this is the technique you should use to send Smartmodem command strings, for example).  The most commonly used MEX commands are implemented as single character com- mands, for ease of use. These are: S: Send a file or group of files using Christensen protocol R: Receive a file or group of files using Christensen protocol T: Enter terminal mode (may specify an optional ASCII-save file argument) E: Enter terminal mode with echo (also takes optional filename argument) L: Enter terminal mode with local-echo only (filename ok here too). T, E, and L are all variations of terminal mode: T sends keyboard characters to the remote and prints characters received from the remote on the console. E mode echoes received characters back to the remote ("half duplex" mode), and L echoes keyboard characters on the console before they go out to the remote ("half duplex" in the other direction). S and R may be prefixed by a "protocol character" (e.g., "K" for Kermit, "M" for MODEM7); the protocol character specifies the protocol to use. Certain commands may be modified with secondary options (see "HELP SECOND").  SKIPIF, VALUE, and STOP READ files may contain READ statements, making it possible to chain to other files. Note that a[=[Sͷ75*N#":7ȷͷ2*"ͷ:w*"> > _: : ::!~(#  ( ]Tq2_|(*~iN#:0O[yS!6͛ͫ|xͧ(-O! ####:w#qy(#*!͙2*#wͷ!^#V+R*#~:! ! Fˆ>N  ͧ :/! ί͒q͒Ϸ! ~1 ˎ2  ͧ(!,2 * )0! ~#fo~=}/_|/W :: !~) 0Ws͒`: <=_oÒ4!9u5t6 ͅGe" ~.Zfn/f0* 4G" u/t0u1t2t.Zu Z* n5f66.n9f:|( n3f4^1V2N/F0~.Zfo`q/p0s1r2u3t46.Z~/18d8l0( ((Z ~/!18I!7O ^#V|!"'GV\ciaѱ ҍ-rx8Eh~<՚< '׼L < ] ,](ι u F j ̓ط( ͡(! ̓ط  ~( >Zn~@\ Hw. M \vN++~˾ ~@i(6@w@̀/Xyu1t2͇U͕ //9I4~? wk=͋§#~@ w#ɷ͜:͎}w.}oUjMZͯԞ 1jE "ZV 6ͥ8j Oy ޯͱӷ A k>84 "Hٷ , ͼӷ ̓ط>  k6ͬ۷ k4oͱӷ k>8m "Hٷ e ͼӷ Mͨ̓طط ; C ۷ :k4 Hٷ - ͼӷ ̓طط ͨ k6w.ok6 W4~ >w##4<(<87˾ (̓ط ͋ #˾ط  > ͯjE D : U/:~w6ͥ ~w(x=(#?(͹ ͥNwFypy~w?(/wwU~w?8 D jͯ #j# ˾0#ͥ ͇~8( ̓ط> 7 ͇ͬ~(̓طط>  ۷ w.k~hwW~gwa~fw 7k~wh#~+w#~#~G~#O>>~Ox ##yH>7 Wp##q=a~wfW~wgݯwfwgwh~@ jj w.("Zn(:~@(46@ +j ~ \nˮ (j \(w@fh^gVf=~f8++~g8###~h8~wf++~wg###~whk~^##Vg{怄O>G{GzGz_>k#q#p#w8 u~8# O s1r2\~w/~nf~w1~w2~w/~w0~~1[42()~1 ѷ52 }/o|/g"{ozg"{Oz(>g~1w6 0E͔>:#| 4͹ٷ\j~@n(# ~##W~8w###6"~ͥۯ͋( ###> wj## #˿##\~(H͋(>E͙ٷ0jE W8###wͥ\˾ͧ\n6kD~@#|+UNk6kIqkA9(c͙)8:!"AD! %+%#O/ݦw_{(*A|g}oR0+Uz ͏8 9͙UD`~(9x(((( (~(T(N(/O =#˯~0.~k|< :Y^( >wAwB~k?IO?^CVDͲ( ~k?(͙sCrDnEfF!uEtF~O*A )"AY=͔ ͋(>x>gܷ^!~#O ?' +  )###4" !+++H "/OG(6"G\k~f8=)))0,(r+s!<@~#2!|!"w#r#sZѯ! H!=RDM!x(6u't()|)s$r%w&sG)"kѳ_kNWGs<8=  ,( ^(#Vz4~1w#~# (6~#(< ~#Ohˇh\+R::bk##B8B0! <Uj{_G~  (wͥUxW~ ##~Z~ =#$~#  # yDIRDSK߷0͇ͯ 6 #6#6#6#6#6#ͥ"6uͯڜ6f 8(6ͥo \+ ~=w> O6f (6ͥ^f͏0%`~( ~86͇ͥ߯`6ͥ>7`~(0D :͏0!`~ D ͥU`6#>7"~:͇`U~  N###~< =y >ɯ~#_!~#:o:>7 ~/fط o`#<_#{ x7NF >8= ɯwAwBͲR\+B0ͲRn&s)= :#UD! ^#,(V#zW~?(~ ?>#w#wj "O,y(sG7~=~ =nAfB!( ~k?(͙+uAtBnf!~1w=~=~1 ~@Z~(w@>^1JͭG)s#r#wu7t8u9t:Zv 9~1(Zn ,w@0ZZZZZ:Cw@:w=>~1w[Oz<(!Oqn7f8|>~?(=~=k  ~    ~nLfMuLtMnNfOuNtO^PVQsPrQEs1r2 :E=~=_sͭkwf!"vͮ((*vRSv( *x"z6 *z4*x6#"xͮʠ*z~#"z([ko&s=<)u t!8^>V?sr8H*+++R8r?~$w~%w~&w6VͺWw.ͺEí"x"z!f!KEí!^#V+R( |x:|(G72~2}:|o:}g!|~1 ~1OF2^}o|g"ˀ!^}o|ʮ^#V!R(w####~ x v A~=Yͷ ~(() fͿp(͙h "f [yͿx͙=x(4@(x`` )! ^#Vz(yO~ p+p! p/!^#V!R( ! ˶@` !^#V!R(####N#w#~#> ##q#~*8>)~>~˾~OE6V~w 6!:|ݾ06~(< Ð~#w# ut=Ϳ͙|!6!Ù|!ÙR͙ u+t,   n+f,~#*RZ~(1~ww.~ s#r^ V ~0>w6~8ʋ=N F! ~=y8qpn f!8̈́^V~F?nf| )R0= =:!R0nf NFq p utsrNF nfR0; uttJѷn f NF DM!Ruttnf#~wnf^VR~=<(8~=%ut ~_!^#Vz %6 ~( r+ss r   6~_!~~#w^#V^ V _!~Z:Dw[ * u1t2:í^#V#~#KW~K_* SíG Tͭ2 q#p#z{w#{{w 0 !!!!6/Z~(w0!u1t2!MD s1r2q/p0g 0 ( ( ( ~1O! 0 ( 6~G 4gN1~1O<(<(< bbg~#$1buK͒b Tb:́:ÓO:::(: ~YwYLYf(% ~;(=_!ѯ~F#^#V!I*5 "#[ͭ*6(#6+>_~ ((T"*T"S> ||(hi C*|( ͷ*ͷ'! ("6!% " !wͭϷY>!Ù####*#### |x*|( *|"++++xͭ*|!^#V+R!""F#6#ͬO(6 0(. (/(2(.0q#KB"s#r#"!^#V!R(U*+F+N R(+V+^K B(+V+^## DM*+p+q||*+F+N+V+^ s#r#*͓!^#V!R*R +V+^##|"~#<(=1 ~# ~ xD##>)))))))'^^d^ ^ R0y 0ON#F#^#V+++q#p+}|##~#foN#Fr+sq#p+ _ W| }##s#rͼN˹~#a{ !=)n>f?u>t?n1f2n3f4u3t4w.! R:~12!Uͭ}(7j"'^=Uͭ!Uͭ|(7jKu.t0^=Kͭ=w)!_s#r#^=Jͭ+w#G7w#(w#s#r#i&)= +s#r#7 r#s###q#p)0 Uͭ6#vwo&@) s#r/wG7!{M{( (B=(?Á!~ 5:ʁOYÁ:ʁ!~Ó~#Ͷ !R͓!͙s~(=(Q=G=?=u> 2Gͻxː& (x $ :.> 2Gͻ:@{xː& ( x! $ : 4ͻxː& P(xV $ :.> 2Gͻ:@{>& ( x !.nf"nf"n f "2{U~(n f  ^#VSK[[~(*|{(~<!w x!~5{< A:?> 2  z(O !*ˮ~> ("_(O y( { ^(!y("^#Vz w w !5(*~wV##u t >/: ͱ!I 2~xG:(  : ͱh&~ xw"~ ~~(˟w!"() : ͱ:2(!5((!I:<(=o& w~2o&~ !{>ɕ`0M M0MUMU 4M M %M53MEeMe        >>͏h&)))DM)) K ~̣{(=(7=A=ʶ=ʟ=ʹ=ʹ͹~ ݶ(N~  #^Vsrz(R^VnfN~ ~ Zsr~w~(͙y~(=w!I~ 4R^q ~< w4~ù~{JͶqnf~W{Oz`n`~($˹ : ~ ww~w~w~(͙~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5͙ Lz(=( "" !==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(͒s1G( [{Ms1 s1>(!j [cs1G([s1 s1>(!j[cs1!"!q!v(!~(˾:( >˶*͙!n ˮs1!~G_K=w)!Klx( 0< [n0<"2pp!  ȯ`i Ò($/$)$TurboDOS 1.22P, Copyright (C) 1982, Software 2000, Inc. $͙!n ˮs1!~>0*"F>!4#5 ү~nf}|n f ~ G~>Py &>د!2͙!ö2]6!o텼 `>>ph&)))DM)) K ~̄{(=(7="=ʗ=ʀ=ʚ=ʚ͚~ ݶ(N~  #^Vsrz(o^VnfN~ ~ Zsr~w~(Ͷy~(=w!f~ 4o^q ~< w4~Ú~{J͗qnf~W{OzAnA~($˹(: ~ ww~w~w~(Ͷ~ݾ ~ݾ(@^Vnfq~ ~ q{ݾ zݾ Zsr^Vsrz@(Cv(x(9~(35^F ~< wA~?( 5Ͷ((((Lz(=( "" !==(F=(==(=(z(=(QPZ(Z(Z(b(R(xz(=(sͳsq1G( [ͨ{qMsq1 sq1>(!K[Dsq1G([sq1 sq1>(!K91 Vers: 01-10-84; by: J.C.Kaltwasser & M.J.Mosko, K3RL $=  **͂+}2'++*'&0+!'ͥ(}2'*'&!)*/!*!ͪ*͢*!'!)*"'*'!Z!b(!Z!!*!\8+!)*ʇ!Z*!*!ͪ*͢*!\+!\!!"'*'*"'*'!)*ʶ!"'!*'*! ͘(!i͇+*'!}2'"'2'*"'͹ !\"'*'! (!C)**'! (!O)*ͤ)*'! (!M)*ͤ)=!"'!!͟!\ͺ+|ʅ! ͪ*!*!ͪ*M! ͪ*!"'Ý*'&*ʖ_Ý!}2'!?ͪ**'&|*'&!E*!}2'*'&!g)!x)!}2'*'&*'&***u(}2'!!*'&!E)**'&!)*ͯ)9 !}2'*'&!Q)**'&!)*ͯ)b*'&!H)*t*'&!M)*ʆ*'&!B)*ʛ!"'*'&!Z)*ʷ*'!:*"'*'&!-)**'!)*'!:*"'*'!:*"'*'&!R)* !*"'*'&!A)*b!*"'*'*':*!E**')"'|b!*':**'!E*"'*'&!O)*~!*"'*'&!S)**'&!C)*ͯ)ʠ]*'&! )**'&!+)*ͯ)*'&!=)*ͯ)!'(*'V)!"'*'*'*=͓ !\@+͢*!*͓ ͓ !*͓ !*!͢ !*!͢ !1*͓ !E*!͢ !\*!͢ !s*͓ !*!͢ !*!͢ !*͓ !*!͢ !*!͢ !*͓ ! *͓ ͓ !- *͓ !B *!͢ !Z *!͢ !q *͓ ! *!͢ ! *!͢ ! *͓ ! *͓ ! *͓ ͓ ! *͓ !͢ !!*͓ !͢ !7!*͓ !͢ !i!*͓ !͢ !!*͓ !͢ !!*͓ !͢ !!*͓ !͢ !"*͓ !͢ !U"*͓ !͢ !f"*͓ !͢ !"*͓ ! ͢ !"*͓ ! ͢ !"*͓ ! ͢ !+#*͓ !͢ !G#*͓ !͢ !o#*͓ !͢ !#*͓ !͢ !#*͓ !͢ !#*͓ !͢ !$*͓ ͓ !>$*!'!!*!'+!͢ !V$*͓ !͢ !$*͓ !͢ !$*͓ !$*͓ !͢ !#%*͓ !͢ !f%*͓ !͢ !ny commands after the READ are not executed. STOP command: Aborts execution of the current READ file, and returns to MEX command level. (Used with SKIPIF, below). SKIPIF command: allows a "conditional" capability within a READ file. The syntax of SKIPIF is as follows: SKIPIF (operator) % SKIPIF will skip one statement in a READ file if a specified condition is true (note that this skips a STATEMENT, not a LINE). The "condition" to be tested for is a VALUE returned by several different MEX commands (DIAL, TIME, SENDOUT and some SHELLed files). The operator is one of the following: '=' - skips if VALUE is equal to (same as no operator) '!' - skips if VALUE is not equal to '>' - skips if is greater than VALUE '<' - skips if is less than VALUE % VALUE command: lets you arbirarily set the returned value, for use in a following SKIPIF statement. The syntax is as follows: VALUE PUSH and POP allow you to store the VALUE in a single level stack. This allows a VALUE to be stored during operations which could overwrite it. Commands which affect VALUE: DIAL and CALL: these commands return zero if no connection was made. If a connection WAS successfully established, these commands return one if the first number on the list was successfully reached, two if the second, three if the third, etc. SENDOUT commands return VALUE set to 0 if successfully completed, or 1 if the SENDOUT failed. TIME returns a 16-bit VALUE which contains the hours in the high byte, and the minutes in the low byte.  SLEEP is used to invoke a delay (handy sometimes in READ files). Syntax is: SLEEP n where n is the number of seconds to wait (a ^C from the console will abort the SLEEP command, as well as any active READ file). Sleep, used with the STAT CLOCK function, can be used to "tweak" the timing constants in MEX (by timing the actual SLEEP period, and ad- justing the CLOCK value until the SLEEP argument agrees with the actual measured time). This is especially useful with multi-tasking operating systems, such as MP/M and TurboDOS, where background processing wreaks havoc with the internal MEX timing constants.  SODELAY is a STAT switch variable. When ON, SENDOUT strings and keystrings sent from terminal mode are tied to the WCHAR and WLINE delay variables, al- lowing convenient entry of passwords, etc. from a READ file. Note that, for SODELAY to have any effect, the WTECHO switch variable must be OFF (WTECHO takes precedence if both are active).  SPLIT is a STAT switch variable that affects the screen display of the phone library (done from the PHONE command or the CALL command). SPLIT may be turned off to force a more compact display (two entries per line, instead of one), but to work properly, requires a screen with a 132-character line width. If SPLIT is disabled, any baud-rate codes associated with an entry will not be displayed.  The STAT command lets you examine certain system variables, and change certain others. In general, the syntax is as follows: STAT <<== to examine a variable STAT <<== to change a variable The NEW-VALUE will depend on the context of the keyword in question. For example, most of the switch-type variables are either ON or OFF, hence, STAT BAKFIL <<== prints out ON or OFF STAT BAKFIL ON <<== turns on BAKFIL STAT BAKFIL OFF <<== turns off BAKFIL The value-type variables, on the other hand, will print the number or text associated with that variable. Setting the value requires the entry in units associated with that value. For example, STAT REPLY 5 <== sets 5 seconds as SENDOUT reply time STAT WCHAR 4 <== set 40 ms as transmit-character delay tim during a terminal-mode file send % Some variables are read-only, most notably STAT BUFFER (which prints out the save-buffer and printer-buffer statistics). To obtain a list of all of the options that can be viewed or changed with the STAT command, do STAT ? You'll note that most of the keywords you'll see printed have their own HELP section. STAT DISP: allows you to customize the screen. The syntax is: STAT DISP is any STAT switch, character, or value variable. If you turn a keyword's display OFF, it won't appear on the full-screen display. You can restore a particular keyword by specifying ON. Examples: STAT DISP ID OFF <-- Turns off display of ID STAT block STAT DISP TAB OFF <-- Turns off display of TAB STAT DISP TAB ON <-- Turns TAB display back on  Several MEX command take string arguments. These strings must be sur- rounded by quotatation marks, and may contain imbedded control char- acters (with the singular exception of binary zero, which will generate an argument error). The caret ("^") is used to prefix a control char- acter. Thus, you can specify multi-line strings within one string specification. Examples (note that that the control-character ^M is the carriage-return code, and ^J is a linefeed): KEY A="BILL USER;J^MWHATSNEW^MB:^MWHATSNEW^M" SENDOUT "SD B:*.ASM^MCRCK *.BIN^M" The command-separator character may be included freely within a string; it separates your command strings outside of quotation marks only.  TERMINAL MODE MEX terminal mode is entered with any of the single-character commands T, L, or E (see also "HELP SINGLE"). While in terminal mode, you are communicating as a console with the remote computer; your keyboard characters are transmitted to the remote, and the remote characters are displayed on your screen. There are several functions that are available9 to you from terminal mode, all of which are invoked by typing the escape-character (do "STAT ESC" at command level if you don't know your escape character) followed by one of several characters. These are explained in the next frame. IBM-PC users please note: The IBM-PC overlay uses the Alt key to produce terminal-mode functions. This means that no escape character is needed, for example: pressing the Alt and E keys will exit terminal mode. % Terminal mode escape-sequences: -E exits back to command level -? prints a menu of escape sequences -S start copying incoming text into file buffer (see below) -U end (un-start) copying text into file buffer (see below) -P toggle copy-to-printer on/off (if enabled with STAT LIST) -T transmit a file to the remote (prompts for a filename) Note that -S and -U require a filename argument with the T when you enter terminal mode (otherwise, there is no file active to write the incoming text into). You can use -P to copy incoming text to the printer. The text is held in a buffer, and prints only as the printer is ready for a character. Thus, your printer may be slower than the modem, and you won't lose characters un- less the buffer fills up. The next frame explains terminal-mode files. % Terminal-mode files (also called CAPTURE or ASCII-SAVE files) are created by entering a filename with the T (or E or L) command; if the file already exists, you will be asked if the file should be erased. MEX will create the new file, and enter terminal mode. At this point, incoming text is not yet being saved; to start saving text, you must use the -S terminal-mode command. You can stop the save by using the -U command. You can perform as many start/stop sequences as you like (when text-save is active, you'll see a colon at the start of each line as a visual signal that the save is active). You can exit terminal mode and move freely among drives and user areas with- out affecting an open term-file. The LOG command will still be useable, but will not reset the disk (and will print a message to that effect). If you enter terminal mode with the T,E or L command WITH a filename, when a file is already open, the open file will be closed, and the new one opened. % You can transfer files using either Christensen or CIS protocols while a TERM file is open -- your buffer may be written to disk to make room, but nothing will be lost, and the file will still be open. To close the file when you're done saving text, exit terminal mode with -E, and use the WRT command. If you change your mind, and decide you don't want to keep the file after all, use the DEL command to erase the file entry and delete any text already saved in memory. Note that the DEL command WITH a file name is the same as the ERA function. The next frame explains what happens when the SAVE or PRINTER buffers fill. % When your printer or ASCII-save buffer fills, MEX will send ann X-OFF char-  acter to the remote. MEX will then wait for the remote to stop, and will save up to an additional 150 characters into an auxiliary buffer (this buf- fer may be increased in size by modifying MEXPATxx.OVR). When the remote stops (or the auxiliary buffer fills) MEX will write the ASCII-save buffer to disk (if ASCII-save is active) and print characters until the printer buffer is half-full (if List-copy is on). Then MEX will re-start the remote by sending an X-OFF character. Note that for this scheme to work, the remote computer must respond to this X-ON/X-OFF "protocol" (most computers do, but not all!). The next frame describes the -T file transfer facility. % You can transmit a local disk file to the remote with -T; you will be prompted for a filename. If you have the XON and and XLINE variables turned off (see "HELP XON" and "HELP XOFF") MEX will ask if you want to use the character and line delays for the filesend; these delays allow slow remote computers to receive files. The WCHAR and WLINE variables (see corresponding HELP sections) determine the time-delay values for each character, and each lines respectively (of course, you must have answered "Y" to the "want delays?" prompt). If either of the the XLINE or XON switches is ON, the delay prompt will be skipped, and delays will not be used. XLINE is a technique used by some mainframes: after a line is transmitted, MEX will not transmit another until receiving an X-ON character from the remote. XON is more frequently used: when XON is active, MEX will send characters at full speed, but monitor the remote for an X-OFF character. When an X-OFF is received, MEX will pause until the remote sends an X-ON character.  TERM is similar to the 'T' single-character command, and takes a file- name argument. It opens the specified file as an ASCII-capture file, but does not actually enter terminal mode. This is most useful within a READ file. TERMA does the same thing, but opens the file in APPEND mode (as if the single-character T had been entered with the A option). Examples: TERM WILLOW.SES <== opens file, returns to cmd mode TERMA SOURCE.LOG <== same, but opens file in appnd mode For more information, do HELP TERM-MODE. For more on append, do HELP APPEND.  TIME command This command displays the time and date. Example: [MEX] B>>TIME <<== prints current time & date to console MEX can also wait for a TIME or a DATE. Examples: [MEX] A>>WAIT TIME 14:23 <<== wait for 2:23 PM [MEX] B>>WAIT DATE 5/21 <<== wait for May 21st If STAT TSTAMP is turned on, MEX will insert the time and date into the capture buffer whenever you enter terminal mode. Note that these functions require the presence of a clock overlay (MXCxxxxx.OVR) in order to be used. : TRANSMIT The TRANSMIT command is used to transmit an ASCII file to the remote system, either from the MEX command prompt or from a READ file. It is similar to the terminal-mode -T command (see "HELP ONLINE"). TRANSMIT accepts a file name and optional drive spec. You may also specify an optional second parameter (S) which will cause time delays to be used while sending the file. If you do not specify time delays, none will be used. Examples: [MEX] B>>TRANSMIT C:MESSAGE.TXT <<== sends file from drive C: without time delays [MEX] A>>TRANSMIT GOODCODE.ASM S <<== sends file from current drive with time delays  STAT TSTAMP STAT TSTAMP is a switch variable. With TSTAMP ON, MEX will log the time and date to the capture buffer and/or the printer, whichever is on, EACH time you enter terminal mode with T, E or L. This can be useful as a means of documenting log-on and log-off times, session dates, etcl, directly in the read file.  The TYPE command prints files on the console, similarly to the CP/M TYPE command, but with pagination: The syntax is: TYPE <'P'> The optional 'P' will cause type to scroll through the entire file, rather than pausing at each screenful. Examples: A2>>COMMAND: TYPE REPORT.DOC (paged output if PAGE ON) A2>>COMMAND: TYPE REPORT.DOC P (inhibits paging if PAGE ON)  VIEW is used to view the text buffer (output text is formatted similarly to that of the TYPE command). VIEW takes no command line arguments.  WCHAR and WLINE: These are value variables that may be manipulated with the STAT command. They specify delay times in simple file transmissions done within terminal mode (with the T command). When you trans- fer a file, MEX will ask you whether you want to use these delays. WCHAR is the delay to use between characters.(0-9, in 10's of milliseconds) WLINE is the delay to use between lines (0-9, in 100's of milliseconds) WCHAR and WLINE delays are often needed for timesharing mainframes and BBS's written in BASIC, to allow the slower remote end to catch the entire file.  WECHO is a STAT value variable and affects the use of the SENDOUT com- mand. WECHO is the time (in seconds), that SENDOUT will wait between characters during a reply from the remote, before considering the reply ended. This should not be confused with the REPLY variable, which is the maximum amount of time to wait, after sending a string, before con- sidering that no reply is forthcoming.  WTECHO is a STAT keyword, and determines whether or not keystrings and SENDOUT command lines transmitted to the remote are validated by comparison with their echoed characters. When WTECHO is ON, all printing characters transmitted to the remote must echo correctly back from the host; this effectively halves the transmission rate, but provides error correction feedback for the SENDOUT command, allowing it to cancel a line and re-try. If you're sending command strings out to a line that doesn't echo the characters, you'll want to set WTECHO off. Additionally, if you're using the SENDOUT facility, you'll need to remove the trigger string (you can do this with STAT TRIGGER "" , which effectively removes the trigger character.  XLINE is a STAT switch that affects terminal-mode file transfers. If XLINE is set to ON, then the file will be transmitted, one line at a time; each succeeding line will not be transmitted until an X-ON character is received from the remote. XLIvFMEXPAT22.ASMZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYo9MKΈ/DTTKjZXZgDC՜,䭋!/K+#JZ’3!%6dWMK] 9ukj WM$B) ^M U * K1d8#X)#PA>%tFjΫEi9IRO[tFjCFUӢ4\+u*I {o`JlF^TKP{A2V=!+ sJ!ǐqQ[KZ;H/}/|!B5VE~xOfڪ}DJ.cJ87V9#"CƂjK#JIIFOA?^xW0%RΫ5zCj JK KΈgxq *%t^5Sbh6'l&KΈjT{EpԩTX?r ӤGŰ>׸<&} _y}ǐcX jG#*MRT(lP)4!Q5OQ- bsP;t}WM )9l!ǐ8`ӟׇxwy"@QT4bȼ9]<7zjӟg7aƹib1d,^K(m4vj4鶐 JP7Ւ#4Srr  ZDOR#UE@|c5Bdߢ4v1r  )ZBUbD: d {(4SBi!cIP%YgD 0*I s/ * JZ.CϿls+#Riy"Ct|1J jd4D)(C!cJIIFO&TM%l38KH+E'F+x]Đa(T䵂 M ̷P-vdc1l Ɯ7٥iO 9[rdTÄْ#"Cƺ%썞"MhD+oj Fe|Bi+nщъ,J1dl05N+*PIAdI6jcQFOpoߢiR 5Ⅱ+T$L[/u:+ ^[.æߜ00\JK*[tb"C!RRSxKP-!ɞO%5JC)h'ud5jGE -6XZlSڢJ&z,MSd.bXRB TK]g+bu=ZMn\H%dhocDhENXВ4,u7%GR+U(5*9Ֆ%GvI+ܝu.d=_0J_'&҅)/ȦVjhZEф`JhQnT;fΎTk` 8$Âb ]2qyXûwL?-a^%&3ߡ׮$y]dcx~G|`·7(;̽jZ&?O# ~;cΕ5U]!R漿\)k4yXs TFOc1dlkvp.r 4s֢ J'1|_w# 1g-rFݗbiS 0Y؏<|緳sv %)kޒјo.Vӷ./}LVSj$^b5}a;E㙬${j'e wn6둇./}LVSjJ)4%*0s֢ :krX FE.C| GJ=j ${PRq~%2*+) vT`j -I ŐcO7׿<,xvyyǜg *68sY3""xKXt}VOݦ?Ϙsa͒> +nӟ)1wu2_<~yX94S0lu_IA0%gCvq0s֢g&9g s֑.PiF]ir8N.V+4Qd] 9~^<,q1~=? œHR,SF412|QPѰ;aw1~9OI^aJK Tsr DuۥŞ߽9o&w(LY%Le4҅)c0%(T]] \a:9+S=E#)U SƐc9Ϙs%AJTRP\eQ#VURPj +2 bprsL5*N HY*5jsTުJ ПְR+ ..eF+'(?IQŜgJ¤Pe*BAoaJhuqwŜyhOPd+TR_,cP~^Ŝge2g-FFcӟŐcC!XF>[oۛT;Т0 bq޾!`JnT;f΍T%YgDCtƐcpUtbγlsA8)[Ba\#ZSb9ba=Dm vSM#{1c u -Y?cK4rs(߼-Yb̆ LJl"}SuY@ۑ9Ϙ,WVMѠ[l1ps6Z>viCeŜgY&+W(i$$ _(c?f/ß1ps6Z>viCtaJmjCI1}0e SyXûw'~N)Z+tB#UHQ ٺF]ir8N.V+4Qd] 9~^<,q1~=? œHR,SF412|QPѰ;aw1~9OI^aJK Tsr DuۥŞ߽9o&w(LY%Le4҅)c0%(T]] \aB1$R(PSFB]+էh3z.p1|arC<z| &t a:?LN硐b3z Ng%0V&'y($B=71Hע:a+q:a:Jq ~|www~ HakgVq8PV`_ ;-]· ^JBJgKȭtԊ;&Kkȭ[a!L|D v  VzsKL 5}C(zmQ۝[@ա06dx&1Z爵$ZE@qȭEx}}~Q@nE}8o< Zq(.hT%gMeEBZ',b.h} )$»rh ߶JpKZ'bg#"F*f޾ Z70g g6s 'E g AܔY9).(sЋ-aRM ͷ"F]ͪ2q]2O]2N]2p]/Y >A~ >"2j]*`]>?J~Õ >?J>2{]~:_³Z:]2c]~:_ O :]y _> OҲ:{] uâ>JyCyR r  ~~~:]¾y ʽ ʔ ʎ uʬ} Ҳy ʰʷ = = =w =r ==v=ʎ!ͽ â!õ ö:N]7~7+~? +~?#6 *J]uڴ:N]FqU:N]<2N]G:R]G:],_:P]:P]<2P]ͣHͽ=y:_G:P]Q qQ:Q]pz2N]|J*F]6 *F]͂:X]oҋ$6T]y2N]2O]Õ:_0y*Ͱ7:_y+~#7#~+7 >njjeO C]RRIʠ Sr :]¾yTENʬPuHV Ug FnBbHâ>2p]ͨqͪT:_=T:_?O}:_:_=Oͨ*`]*F]~#ʗ+ ‡"`]q:_?Oñ:_=Oͨ*`]*F]~ʗ »×!^!dwͨ:]<2]͘â:{] >2{] y.2{]â:N]G+G:{]<2{]=4G?~qO+4͍ɯ2{]U:^OҲ:{] >2{]2{]â8T]:c]Ұ:N]~ڰT]ͣ “͍Uâ#~+w#¤Fz2N]8+~kx +#͚*F]͂Y >~:c]8= =:=d=vͧͷͳ͊̈́ b͋ͨͅʹ ͷͳ̈́::jͨʹ:ͷbʹd8~^ͷv~ ~  O ڥɷ~.?!~ ~+~#8b Fz2N]:]@y*F]͂ kx:]2N]þ:]@>">2j]:j]x2]ͷÒyO~D~z#+~Z#+~+~ jj~ ˆ:c]y怮w͔x*`]>2j]>J2c]v:j]2O]:_G:N]O:R]:]2O]*`]:]/>2]2j]~G:j]2j]"F]Y͂T]"F]y2N]*F]:N]oH$G:]2]>@G:]2]ͨ8ͅwͨ8͖>/"`]q~#++~^Å~#~^Ù:]@Q*F]͂z2N]~*F]+#*H]:j]2j]:C_:D_/2D_ :C_G:_2_:C_G:_2_!& ͋ eY͉ REALLY? (Y/N) A?[a?{0?:6 F ͨkp yͨ y:] O *J]$~ 8I"Y]x`i"^]*Y]*B]w+ yʯ }Ÿ "B]*Y]͚y˜ *B]%"B]> W*Y]:] ! ͋7*^]DM*B]$"[]8I"Y]*[]}*Y]T]/ _ ͚*[]#~ } "[]x 8>*F]z*J]*B]?! ͋>J*D]"B]!l ͋ e͉YB 7CLEAR HOLD?(Y/N)u! ͋7 NO ROOM HOLD EMPTY *F]+~+Q2N]- :N]͑y *6Q*F]+~ +N:]GX- W:__z- - wG *F]eOXG*F]]T͚6#p#6#"F]x2R]*F]͂y+͵͵͵"F]e2R]*F]͂>B2j]*`]ÒU:N]>8 >8 Q*F]2N]:N] *F] ~T *`]+}ʰ ͂"F]>H2j]*`]ÒT ͂2O]ÕZ>n͢U= â U:N]~O:R]> 8 Q*F]J͂2O] 2N]YÕ:P]( :N]=2N]5ö:O]Q*F]͂U :N]=2N]t:]G:_=:]:_G:]p J:]K 72]:N]>8 >8 Qz2N]>B2j]*`]̈́ÒNwG y#; >J*H]#"H]t*F]͂z2N]' 6#n ͯ Ò*]|ˆ !"]Ñ !"n]ڡ 2N]2O]ͯ >WQ*F]"F]e2R]*F]UԂz2N] >"2j]*`]U :O]G:P]2P]:O]> :R]OE G:P]x y2P]O:O]O:R]Gy2N]â:N]O:R]OXW:N]~GU> FwO:N]<2N],#8 :]G!`^~uu#b77?Ç 2X]2V]e2U]Ú$:V]O>2V]ʾ~ھ~ʾ6#q#6#+~++þ#~#~2U]##:U]O:]2T]~m ʎʣ ` 6 #:T]+T]~ P+~-?? 6 #:X]<2X]×#6 #:X]<2X]×+~#6 \6#×6 2U]#͘×+~ }#6!#~*l]##;җ+͵:X]=2X]##;++͵͵:X]==2X]:T]Gx~  #7#;+~  #6#×#:U]~>2V]+~> ;#+#~2V]:]@QÑ͑xd x`2j]*`]+"`]*F]6> #6=2"J]*_M"F]"H].+6 #>6#=S6#> ͷ> o:J]o:K]s=g:] o҂$*B]|}#~++~#]FG+~¡*l]#p>?!ͽ͋g>nÉ  {OzG~#~###~+++  #+~+++~  ~( #~ -:q]G =#+#e2R]*F]O"F]+~z wf+~:O]O:R]G:]2Q]:N]2P]ڥG:_OxҬɯ2O]:]<2O]*__*_^:]O ~#~q#6#*_Mu.z~# +> w#*F]^zL{RA`i"`]͢ķ>L>ͷ*`]DM>>ͷ>C>ͷ͑ͣ>ͷ:P]O:O]O>:_O:]>ڷ>/:O]>1<͢OO(͑|/g}/o#z{ůgoWYx )A}o|g  DM>W`i_'KKdK K}0}Vz}`iF{z> >0=vn:K_G)+|ƒ*Ø*F]Ͱ͢O:q]G(>.2j]:R]2U]:q]O:q]_*`] | :_g} % 2q]:v]g:O]2v]&:j]&:j] :j] :j]~8ͪ2q]:p]02q]:]̄*F]9e2U]:_=Gͳb2j]2p]:]:D_:_G(E_:q]G*F]:_G:j]ʢ:q]=ʢe2U]:_Oͳɷ_=÷x͘:_=2r]TY :r]-x=b:_G:r]:U]O:O]sO **E7>-*͚U > N><U af>2U]2U]/ Ä>>*Ú:_o:O]g:]<͢O:_G(>.5E͘:]2](O8J 8 **ʼg:]yO>@q#y6 -y 6x> U+xU+J(7?(at{t_eY#L͓ͱ͓͢ͷ5=›.:k]gڷ2k]g+|·:]ͣ:S](:]2](:]2](:]:S]G((x>:]2]>:2k]H2S]:]/2](>^O!b_xc~x#Ty~y!~_y(ڏҏ!^##=~y y:]ȯ_:]_N:]<2]!]o$w͘:]!]~:]G=2]#~+w#_N:]2]> :]2]> >>> >>>>5_5> >~}y # sÎͱoO͢ͷ#M:_?:_͢OO(͢OO(:q]G(:q]G:P]O(͢O(O:z]y/_Ð!^##~##:_2_#x<yD=M<==D>/_ɯ2z]:_02z]A(>/_>/_:]>2]͘{!oͬ͘:]!=o:]!o*INSERT**CHAR**WORD**SENT**PARA**MARK*EDIT MEMORY FULL OFF END SPELLBINDER WORD PROCESSING SYSTEM V 5.12 SERIAL #10-21856 COPYRIGHT (C) 1978,1982 LEXISOFT, INC. ![HIT A KEY]!\-?]B>2j]2]b>**n]|+*F]"F]:]G2]x>2j]ͷH#͢ͷ~Z#!Foj>q:]J(2]!0[YO͢ͷ>yʕʨ0[͛ü2]>2]:D_:]1?Oj2]ͰҢ"d]"f]#}ʱ+}·#"h]|Wڼ!b;"w]*d]  ʂ_O͜!"d]ڿ"L]yڿ2u]O!( ^#V2t]_A?>:t]<ÿ'B%X Cp7c I\ \\Iv:4J I5AkB"*n]|¸+!Fͅ(>2j]ü(͋q*h]+"h]|*f]"d]ÿ>Jͷ>2]̈́b>Õ͜!|7}?Ͱ}:M]¿:L]ÿ:t]$!o _2ÿFREE: 8b! {!ͅ>ÿ ͐!>ÿ- 8I]Tb!sm!I:M]ÿ͖~>#> >O:_G:L]ʻ:M]¿:L]ҿڿҿ2]^>ÿ:]O'ü:t]| | :L]B ÿ8͐!Ip ]  ÿ & *B]*J]:] o $ ' 9 ü^.^> ^>ÿd>ÿ >2j]ͼ(ÿ>2j]:L]!g;"w]>2](:t] E_3ڼʼT(-:_G:C_G ڮ > ¿ yK {® ~4Yn :?_/:z { &#! ? !ye0Oy7 %! #%! !! HIT RETURN TO CONTINUE, ESC TO EXIT :L]O:M]Gx~ m! ~ʋ! x|!#8b!ʖm!!!#DM;! -ʤ!+ʤ!7!""!xͲ"+!-!Ͳ" !/>!>Ͳ"*n]}"?Q"!["$o"! N" N"/N"0K" K")DM)) O |!"78n&å"8͜!>å"w"å"/G&:]o:]o:N]o*`]/"`]*n]##  /7 ò"SET TAB STOPS  ({E_":_O#ͪ==M="!"oy<͎C-:_W#> #>X #B#:_W:#> (#>* #B#EK#y ;#:_- v#ʏ#ʢ##n# K#>2j]ü:_=":_=K# =K#yK#:_" 5K##> ڬ#>XE5M(F N#0#> G!`^w#6" "#>2`^"!`^~###$yNw##!~^6#~+w#$7*J]u':t]7$7$ 7$7$ 9:'G:t]~$*d]~ '̈́'*d]M&"d]͈'*d]~ x$xGc&"d]8x2'ʑ$~ʑ$#$>"Y]x>§$ʹ%:t]$$*L]+"L]+|$ÿx~$͈Kͼ|Kʼ~$̈́'7H9~$:t] ~%#$x%+͙%#~ % V%C%~3MD% D%ʮ%L%v%#%x7ę%~`% xi%ͣ2G~ͣ2G~xH%͍%#%H%=ʬ%=ʪ%=ʤ%~F ?6 ?~F 77## %͒'xX'3&͒'͈'͈&B&yG*Y]H͚*Y]͒'%w#%x&&&2j]ͼ:j]>1&͈'~>1&~#!&>ɯ*Y]>~# D&~*X&xG#~!c&xG#~\&q&>/+ &#/c&>~ڔ&#È&6͠&È&&G̈́'*Y]+#7&²&~ʲ&~p##y*Y]~# &#~c&#c&&x?Gͷ j{!'o*T̈́'*M&{!'o*͈'*~c&Y{ ~$xG~$>2j]*Y]ͼ{!'ou{ʼ7!\`**SEARCH FOR: REPLACE WITH: REPLACE? (Y/N) ! ͋͂!Fo:t](2](,,,, (+¿(ü:] O ͱ(((:] O ڼ:](*J]$u'd*F]yʿ *B]"l]>͇1+|g"B]"D]*F]͒1 +~u(>  xk(*F].*F]>2]d͒1~#—(~ʗ(.>*l]"B]"D]>2]:]ʼ:]>,1:L](2]>W͒1:] ,=2]!"]"]#"n]Wڼ(:)?)͛*n]#"n]:])>2j]ͼ(n)!0[K)0[́)ڿ;Y)> w# %K)+ay-A҉,O;*͎)K)[zŒ){y7ҙ)͞)|)>-y= =)O|y±)0)%]*a.A,Ͳ"=¿*))`iC*)?)͜!ڿ1**͜!ڿ DM3*+*-* 3*N*~#foN*s#r0ڿҿ͇1_O*_Eʭ+N¿30**x*ʈ*͵*͵*͵*)*n]"n]ͤ*)xxm!/Gy/O{!ͦ++*-*>͜!*n]#ѯ30ҿ~_G_G#**|*I?+_N¿Ͳ"Z+Ͳ" +͎Dn)%¿Ga-AW/͏+)xC*)P._R¿Ͳ"?)Z+)"Tn+Y>ͶQ"́+n+!0[n0[͜!ڿ͜!ڿ*`i"])! ,o*n]MD!"n]"]:]ʼ*]|,"n]DM͒1 xm!2]2]2]):] O ͱ(,(!"n]"]>2j]ü ERROR LINE:] O ڼ!];"w]>2]3ڼʼͱ(8d>!49~ƒ,*F]~#w,×1(>(~4'͟,w#Ґ,+K)Aڿ,G>d͇1!oҾ,$¶,2~]o,$+|ҿ>͇1>0;*}͟,Ͳ"=¿Ͳ"!-?)*-)!-<-> O8,->)"4-O:~]=GR-J-J-w#9-6 #J- عGyx ,7?aҿ͇1g-͈-K)ʠ-.6-#͠-.:]G:]G¶--é-xڿ-·-O0w#- -6,#-:]6.#O0w# -g-0[!0[1.)g-Ͳ"=¿Ͳ"! .?)1.)81.>)Ͳ"+D.-K.x/GͲ"6.>:]O:]O.s.,W.F s. W.ÿ:]ʋ.OF >0҆. {.F ڋ.!ҿͲ":]OoҦ.$ʳ.0+w æ.yʿ.+6 ¸.x.:]O ..+~/  . w Fm/_L=/A¿ / //)Ͳ"%¿g-Ͳ":]O + 7/  (/*y*ҿ2]y2])͟,0[!0[ 4-)S/_Sq1Gv0Pʨ0G30ҿxL/Eʽ/F¿*:~]Gyҿ ~Ҳ/6 # ª/+6 )~)w#ý/Ͳ"%¿!#/C*)CJ0>2j]_P0M¿>2j]ͼ:_=G:q])>2j]ͼ)Ͳ"%¿Ͳ"Ͳ"%7?A?͟,7M0_C¿**F]+#~n0 c0>)Ͳ"%¿͟,Ͳ"%˜0n&C*T]#:~]=O1)Ͳ"%¿͟,T]:~]O 16 Ͳ"*yw)R0_K¿Ͳ"%¿&oC*)E;¿*`i"]*_E#1>2j]ÕC¿!"n]ü>͇16# x:1G>d͇16#ͼڿY1Gx2]>2]>2~]?)Ͳ">+11)1=11 *l]#%%o$*D]#!1d"F]w#¡1+. (RO/INSTALL.WPM :ON $0 / /+1 / R/AL :IN "#0/#6/NEED INSTALL.WPM" {:¿2:t] 2*d]+~/2 j#͖͢`io!6o*͉͂ }2~ /R2:]}2W:w]O:x]Gf?z}2Oͅ2{:q#pypy2]!F͋7~/#~#F 0G>˜2GÇ2a{_:]g:]g:]2ü!6o:]g:]2!6o:]2!72!7o**d]~#!2+> "d]82636:]_1 :;33:ü :?_/:zO3:!77͋7!7͋>:]d36:]_1:]0;ڻ3;ڻ32y]:]_ɯ2]z!W7 `5]532]ü3Ë!L7z !77@!+7!W;:]Wv4_f?:]_W!X;f?:]_Ͱ<>2y]Ô3~4ÿ 4ÿ:]ʿ2?@_7:z142]!e7z`5]5:y]n4:]W_!S;f?:]_Ͱ<:]_v4WA:]W_!X;f?:]Wv4_A2]:]@ :ʿ2?@_/::]5>2]:t]ʺ443 d> :3ں4ʿ:L]Gʿ!4xʿ*B]"[]*J]#8]T "B]͚"Y]u*Y]35x35<5c5%5354!7͋~4*Y]*B]͚*[]"B]8Y:j]2j]x~4!+7y :?_/:sz7~ #͜5d5d5 + d56 # y5d5++~ʠ5x+~#> 2]:t]4[3 :][35ʿ8I:L]G5'ÿ:R]2U]~x<6͏6V16:]_ 6?_7:z6# ͜5 6 65:]P6zP6 :]?_7: :]`6z k6z"i6'x#~+ ~ ʀ6 #yw6 +:]+~ Ÿ62U]#~­6#~2U]##:U]O :]?_7:z6 ´6:]?@_7:2]]5!e7`5WRITEREADMACRO FILENAME>  FILE FOUND :OPEN :CLSD  END OF FILE DISK ERROR NO SUCH FILEDELETE PROTECTED NO DIR SPACE DISK FULL>2]> 2]:t]t89  :3ڍ7:][3ږ7ʿ:L]G/d7BK' :ʿ̓9 :4ÿ:][3t8ʼ!:]ʿ2 :ʭ87d!4Å8ͺ8DM'ÿd+~ 8#6 #.7 4*_*J]*B] :_g:C].P 9g@g 9 :+9?@_/:::]ʿ?@_7::]_Ͱ<2]ÿ~:t]>2] :v9>7̓9ͷF8:]ͺ8m98d>84 :ʻ9d+~ ʻ9#>!4xʘ9>z>:t]*n]|>2] :39> 2]:][39:]!]po$:]:~9w{:J_7?:Q:!:)_c:ڳ;;l;!:,_c:#2j]!:oeA?_;ڼ-K@DRIVE: ͮ2> 2]E7:]_1:ʼ0;:;::]_2j]2]0;;_:>o;$r:><2>͕<2>&=>|<|<͆O<͕<2>&=|<>O<|<> OW{?_&=;zo<:>^<|<͆<|O<|<:]G{2]_|<͕<{0=|<|<2]ɯ_ ÿ=!=p!p>!? !3?@ÿ27 65 7 ;1/10 IN- i ; GEMINI TAB???????????????b;`i"d?z@{D@?ڞ?O6#Ͳ?ڞ?͢?ڞ?6#“?Q.ʷ? ? 7?x6 #û? /.@!w#?7*d?#w#?:?<_A?a{_{D@zD@ A~..@#A6#6@zW_0={͠ ͒@qA!Ao*A\|.͒@~͒@#@F###~_@yqA!~!\A!hF6?̓@p̓@!T?\AxKA>_=CA-:_ !Fo(_N(- yBK>K͒@!` =A! ~#怰G šAx TOTAL͕<|<@Z͕Bڿ!2B*d]*>2j]|<7|< |2j]~B-#>!CE_> >C CB2]>2]͗C}ڿBEdC Bÿ C> *Cʼ CL-E +~ʼ+~E+~CC#2]7EͭCdCYC~oC-#oOoyC$#>Cx͎CL-O*Ͱ 7#:_O:C_>-=¿C==C\DCD1D*6.#6Y#!]~MD#CDÿ6 #6*F]"H]Q*F]>*6.#6Y#6T#!H^ C*6.#6H#]w# =D+Dÿ&o> ͞)ͥH> Vÿw#?F~#nD6 #xD~w#D(!]dwDX^!]nD#]cnD> ~ #½D+78!^D*A_%D~¼##DDyyEEͼڿEw# DODͲ";EdB6E:Q^MT:H^OuE:I^<T:J^jEO:K^TuE>T:N^<2N^!X^]́D:R]2]2R]yͩE> Vy/ͩE2R]!X^]́DɷFy{FaQ2]*####͎FGxE6 #E]SFESFE E?F6 ÁFdBڪF:N^:P^:O^:N^:R^:Q^:_=G:D_F:C_G(COMMAND: INVALID ENTRY LETTERSNEXT PAGE? (Y OR N) PRINTER TYPE DESTINATIONPRINT ROUTINEPRINT LENGTHFORM LENGTHPAGE EJECTLEFT INDENTSPACINGJUSTIFICATIONLINE WIDTHLINE FEED SIZECHARACTER SIZESPECIAL CHAR PROPORTIONAL MAXIMUM SPACEMINIMUM SPACETOP TITLE TOP SPACINGBOTTOM TITLEBOTTOM SPACINGODD PAGE FORMATEVEN PAGE FORMATPAGE NUMBERODD PAGE MARGINEVEN PAGE MARGINTOP MARGIN:]G>5_9;ü: ]jH>2 ]H2]2]24]=2!]2']>2]>2]: ]2 ]jH>2 ]H>n͎Hɯ2]*]*%]"]H"]"%]: ]ÃH>2] V*d]~ I/#H"d]+I"d]~6 :R]2R]~M2R]wÿOEʹK:]yKʼÿ&Eÿ:u]̷F[3MIʼ}H!lI"L_*]"]2]ÿW:]?_7:z͙I>2 ]6}H*L_|͙I4!"L_:]*]"]2]H:L]ʃH(DI>2j]I:t]DʃHMIʊII>2]IͥHhS9:t]>I+I H:L]J8JOH9~JDIK2JJAx ?J&ExEJͰLG>2]2]H9~JDIKlJ~MoJ>xKWJMJ#!Joe{JSJEMJ>2t]MJTYPE: S(STOP) E(STOP PAGE END) OR TO CONTINUE:J^KOEgK:u](ÿ:u](ü&L:L] JOE͗KʹK:t]'K'KJ:u]JK͢O(/ZͼSKʼ JgKʼ J:]͈K|K:u]{yKͷF͈K͎D͉͉͂͂!-¦K-K:]T> V:]> VMT+~# K~.7?#~_Y]LRʡLHʖDSLJ+##T4LBJLCULE&L7?++x7>T &L=LML4Ly7> V =L~ 7K>2]K#~_S̎L!]TzL!H^ ͼڿLw#zL7!]]́D#~+7# 7#áLhSdB:]MOLLy:H^W:I^_zL{G:J^W:K^_L!]~ #\L~\L#:]O:]G:Q^GyG:^O :9]O}G:^x RT*͙NR[M͕TU:u]>YڜM:5]> VT>M{!M͋ü LINE SIZE WRONGHYPHENATE: WR+~!M#*~#3MM#M+ !M+#{!MoAʤM*~#NA:^w5(n bNJN "Nx"N#~+w#Nx"N+~#w55+NxʑNʑN ͚*~# zN{ͷFWR?M>23]ÂN"S25]OO¹N> 5O ʬN-N3M OW5Qz5ONkPN͘PN> ͇P> ìN5Q>-5O>-èN>-͌P5Q:^5O:^>-X/- „O:6]WyOmOmOOͣPwO> 1Sx2.]y2-]2*] ¿O:]:]·O͙R:]͙R+#~ OO~#~##2R]Q~#G:^xO:]/2]OͶQP>!O^O @)P~F #O++~# ;P͎QO3MG:^x`PWP#:^͇P-O>25]2]> ~ ?++~## ?7> ͹PXOҖP>ͣPÐPiQ:6]:]=:6]:8] G:^P:^P:]xP xP*y?> ^Q Q:<;SERCHN = 2 ;CONAST = 00,CONDRA;01,CONDRA ;CONBR = 00,08E,01,08E SRHDRV = 0FF ;SEARCH SYSTEM DISK FOR COMMAND FILES ;ETXBR = 47 ;NEC 5510 WITH CTS AS WELL AS ETX/ACK ;ETXLEN = 6E ;LENGTH OF BLOCK PRIOR TO ETX ATNCHR = "^@" ;MAKE ATTENTION CHAR. BREAK CHAR PTRAST = 1,LSTDRA ;1st = 2nd serial port PRTMOD = 0 ;NO SPOOLER SO MAKE PRINTING DIRECT DSKAST = 0,DSKDRA,1,DSKDRA,0FF,DSKDRA,0FF,DSKDRA,0,DSKDRB,0FF,DSKDRB,0FF,DSKDRB,0FF,DSKDRB STEPRA = 01 ;0 = 3MS STEP RATE FOR QUME DRIVES ;1 = 6MS ;2 = 10MS MEMRES = 0200 ;AMOUNT OF DYNAMIC SPACE BELOW THE O.S. AUTUSR = 080 ;DEFAULT TO PRIVLEGED, USER 0 NMBUFS = 02 ;DEFAULT NUMBER OF BUFFERS BUFSIZ = 03 ;DEFAULT BUFFER SIZE (LOG2(SIZE/128))  H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.CHANGE THE EQUATE VALUE FOR THE FOLLOWING LINE ; "MODE ANS" WILL (TEMP) SET IT TO 20 SECONDS DUE TO THE MODEM'S RESTRICTION ; RESULT: MVI C,MAXWAIT ;<<== MAXIMUM TIME TO WAIT FOR RESULT SMWLP: PUSH B MVI B,1 ;CHECK FOR A CHAR, UP TO 1 SEC WAIT MVI C,TMDINP ;DO TIMED INPUT CALL MEX POP B JNC SMTEST ;JUMP IF MODEM HAD A CHAR PUSH B ;NO, TEST FOR CONTROL-C FROM CONSOLE MVI C,CHEKCC CALL MEX POP B JNZ SMNEXT ;IF NOT, JUMP MVI B,CR ;YES, SHUT DOWN THE MODEM MVI C,SNDCHR CALL MEX MVI A,3 ;RETURN ABORT CODE RET SMNEXT: DCR C ;NO JNZ SMWLP ;CONTINUE ; ; ONE MINUTE WITH NO MODEM RESPONSE (OR NO CONNECTISTDSINGL ;STANDARD SINGLE USER WITH SPOOLER CPMSUP ;CP/M FUNCTION SUPPORT MODULE HDWINIT ;HARDWARE INITIALIZATION SQINT ;SUPER QUAD INTERRUPT CONTROLLER SQCON ;SUPER QUAD CONSOLE DRIVER ;LSTPAR ;LIST DRIVER FOR PARALLEL PORT ;LSTCTS ;LIST DRIVER FOR 9600 BAUD PRINTER (CTS HANDSHAKE) ;LSTETX ;LIST DRIVER FOR 1200 BAUD PRINTER (ETX/ACK HANDSHAKE) ;LSTXON ;LIST DRIVER FOR XON/XOF HANDSHAKE SQDSK ;SUPER QUAD DISK DRIVER ;SQHDC ;SQHD2010 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2010 ;SQHD2020 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2020 ;SQHD2040 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2040 ;SQHD4020 ;SUPER QUAD HARD DISK DRIVER FOR MINISCRIBE 4020 ;SQHDS506 ;SUPER QUAD HARD DISK DRIVER FOR SEAGATE ST506 ;SQHDT502 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM502 ;SQHDT503 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM503 ;SQHDT603 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM603SE SQSERIAL ;STANDARD SERIAL MULTIPLEX DRIVER SQSIO ;SUPER QUAD SERIAL I/O DRIVERS SQPIO ;SUPER QUAD PARALLEL I/O DRIVER SQRTC ;SUPER QUAD REAL TIME CLOCK DRIVER UPER QUAD INTERRUPT CONTROLLER SQCON ;SUPER QUAD CONSOLE DRIVER ;LSTPAR ;LIST DRIVER FOR PARALLEL PORT ;LSTCTS ;LIST DRIVER FOR 9600 BAUD PRINTER (CTS HANDSHAKE) ;LSTETX ;LIST DRIVER FOR 1200 BAUD PRINTER (ETX/ACK HANDSHAKE) ;LSTXON ;LIST DRIVER FOR XON/XOF HANDSHAKE SQDSK ;SUPER QUAD DISK DRIVER ;SQHDC ;SQHD2010 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2010 ;SQHD2020 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2020 ;SQHD2040 ;SUPER QUAD HARD DISK DRIVER FOR QUANTUM Q2040 ;SQHD4020 ;SUPER QUAD HARD DISK DRIVER FOR MINISCRIBE 4020 ;SQHDS506 ;SUPER QUAD HARD DISK DRIVER FOR SEAGATE ST506 ;SQHDT502 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM502 ;SQHDT503 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM503 ;SQHDT603 ;SUPER QUAD HARD DISK DRIVER FOR TANDON TM603SE SQSERIAL ;STANDARD SERIAL MULTIPLEX DRIVER SQSIO ;SUPER QUAD SERIAL I/O DRIVERS SQPIO ;SUPER QUAD PARALLEL %*͓ !͢ !%*͓ ͓ !͢ !%*͓ !͢ ! &*͓ !>&*͓ !&*!'!!*!'+!}2(*(&!)ʇ ͓ !(D)!!! ͪ*! ͪ*!9)ʵ ! ͪ*͇*!}2(*(&!Y!(2) !Y*(&(*!(D)!&*! }2'*'&|6 *'&}2'*'&}2'!>*'&!g)}2'K !}2'!}2'!>}2'*"'!}2'!}2'*'&*'&**| *}2(͟*(&! )*(&*ͤ)ʨ *(&"(!*()* !!!&*!\+| ! ͪ*!&*!ͪ*M! !è !*()*M !!!&*!\ͺ+|> ! ͪ*!&*!ͪ*M! !è *X&*()*| !',)!)s !}2'*"'è *W&*()*ʨ !')!)ʢ !}2'*"'*'&|0 *(&! )*(&*ͤ)ʬ *(&"(*U&*()*d *'&|T *'&!)# *'&!:*}2'!')!'ͺ)!}2'Q *'!)Q !6}2'!M}2'!')!'ͺ)!}2'a !')!}2'é *V&*()*y é !*()*ʩ !}2'*'&!)*ʩ !}2'!')- *(&}2(!)- *(&u(ͪ*!i*'!i*'(!*'&)ͤ)*(&*'&)ͯ)**'&*'&!i*'($=*(&! )*(&*ͤ)*(&" (*U&* ()*ʺ *'&!>)ʐ *'&!:*}2'!')!'ͺ)÷ *'!)ʷ !5}2'!M}2'!')!'ͺ) *V&* ()* ͍ !* ()* !}2' !* ()* !)}2(=!}2(*(&$!i*'*(&**'&*'&*(&3͍*'&! *'&)**n *'"5(*'&!S)*}!(!!*!}20(2'21(2(2'2'!}2(!!!&*!(+!(!(!(!!*!(!".(!(!(!)*(͟!!!?ͪ**5("'!)}2'!}22(*2(&!)X!'*2(&!*!2(D)*.(!(!!(!((s*.((!\)*ʦ*(&!))}2(!.(%)X*.((!;)**1(&!))}21(!.(%)! *X*1(&| !'!'D)*.((u(*!.(%)! *X*.((!,)*-!.(%)!}2(X*(&|S!'!'D)!.(%)(*p!.(%)(u(}2 (* (&!A)* (&!F)ͯ)* (&!0)* (&!9)ͯ)ͤ)ʷ!ͪ*!}20(sP* (&!AV)* (&!F2)ͤ)* (&!A:*! }2 (* (&!0:*}2 (!<'*'&!'*'&(*(&* (&x)**(&!)*I!'D)!}2(!}2(*'&!)p!ͪ*!}20(sX*0(&|r!"7("9(}2'23(*'&*'&}22(*'&!C(ʹ!}2'!Uͭ|?!)}2'!}24(*4(&*'&2)?!'*4(&(!aV)!'*4(&(!z2)ͤ)7!'*4(&!'*4(&(!ͤ)*!4(D)!}2'!Zͭ|Y!}2'!Oͭ||͓ !&*!:*"7(!Mͭ|ʙ͓ !'*}2'!Aͭ|ʹ*'!"'*!\ͺ+*3(&*'&)!'*3(&(*2(&N)*ͤ)!3(D)!}23(*3(&*'&)*y!Oͭ*7(*9((ͤ)2!}23(!9(%)y*2(&*'&V)^*2(&*'&:*!}2'g*2(&}2'!}2'!)}2'!2(D)*2(&!V)!Bͭ|ʣ!'ͺ)é!'%)*'*'*!}22(!\ͺ+|*5("'!!!(!*!4'*!ͪ*!}2'*|2*2(&}2'*}23(!!!@'*!}2'ù**A*}2;(*;(&!i!9((*'&ͤ)}2<(*'&|ʤ*<(&!aV)*<(&!z2)ͤ)ʤ*<(&!ͤ)͇**<(&͇**'&!)*!͇*!}2=(*=(&*'&2) !'*=(&(!9()*!)͇*!=(D)!͇**'&|*!'D)!}2'Ì*'&!6)^*'&!}2'!'D)!'%)!}2'Ì*'!)ʌ!}2'!>}2'!'D)!'%)!}2'*'&!M)ʺ*'&!}2'!'D)!'%)*'!)!}2'!>}2'!'D)!'%)!9!9(u(*!9(!A)!9(!0:*͇*!9(!7:*͇**'&!:*!)*'&!>:*!:">(!>(K)^͓ !O'*!Z*!V'**'! !a'**'Ϳ!d'*!h'*!*!p'**'Ϳ!s'*͓ !v'*!}2@(*@(&!)*@(&*'!ͤ)3! ͪ*!@(D)!'*!}2@(*@(&!)A*@(&*'!ͤ)!g)ͼ!@(D)͓ !'*!}2@(*@(&!)p!'*!@(D)!'**'!x)*'"'!}2@(*@(&!)V͓ *'*@(&"C(*C(d!'*!}2A(*A(&!)!i*@(&*A(&(3! ͪ*!A(D)!'*!}2A(*A(&!)=!i*@(&*A(&($!A(D)!<ͪ**@(&!}2@(Ñ͓ ''!9!9(!ͤ)*!9(!)Y!9(ͪ*`!.ͪ*͇*!9*"'!}2E(*E(&!2)*'!g)}2G(*'!E*"'*G(&! )*G(&!0}2F(*G(&!7}2F(!*E(&*F(&*!E()!!!*!*! ͪ*͇*!9*"'!}2I(*I(&!2)*'!(ͤ)s*'! g)}2H(*'! E*"'!!I()*H(&!0**I(&!2)ʗ!!I()!0*!!!*!9*ʸ!*!͇*!}2J(*J(&!(/*J(&!:*}2J(!9**J(&)!ͤ)!0}2K(*K(&!9)$*K(&!}2K(*K(&ͪ*͇*!9(!)!ͤ)!0}2L(*L(&!9)p*L(&!}2L(*L(&ͪ*!9(!ͤ)!0}2L(*L(&!9)ʯ*L(&!}2L(*L(&ͪ*͇*!9(!ͤ)!0}2M(*M(&!9)*M(&!}2M(*M(&ͪ*͇*!P(!!*!P(+!P(!(}2O(!P(!͂(!P(*O(&!(!H)*a!O()!}2V(h! }2V(!"X(!"Z(*O(&!}2N(*N(&!V)!P(*N(&(}2W(!0"\(*W(&!9)ʿ!7"\(*X(*Z(*W(&*\(:*x)"X(*Z(*V(&x)"Z(!N()*X(!}2^(*^(&!@!(2)/!@*^(&(*!^(D)*E&!)g!9**E&*!9**E&*Û!9**E&!ͤ)*!9**E&!ͤ)*͇*!}2_(*_(&!P!(2)!P*_(&(*!_(D)!}2`(*`(&!K!(2)!K*`(&(*!`(D)!F!(!)*X!}2a(*a(&!O)N! *!a(D)! *Ñ!}2a(*a(&!F!(2)ʑ!F*a(&(*!a(D)No File Specified. Not Found.Bad Record.RECORD = ADDRESS = OFFSET = HelpRead/Edit File Utility Functions:A - Address to dump B - Dump at beginning C - Continue SearchE - Enter Edit Mode H - This help list M - Expanded Help listO - Set address offsetQ - Quit this program R - Read & dump recordS - Search for string Z - Dump at end of fileCR - (+/=) - Adv record(-/_) - Decr record Edit Mode Functions:^E - Toggle data fields^W - Write buffer out ^X - Abort Edit Mode ^J - Cursor Down ^K - Cursor Up ^H - Cursor Left ^L - Cursor Right Expanded HelpRead/Edit File Utility Functions:A - Enter relative address to dumpB - Set record to beginning of file and dump dataC - Continue search. Restarts search on last entered search string.E - Enter Edit mode on current recordH - Brief description of the functionsM - This help descriptionO - Enter offset address relative to start of file (.COM = 100h)Q - Quit programR - Enter record number to dumpS - Search for hex or ASCII string in file (starts at current record)'\' = ASCII string delimiters (ex: \Test\)',' = hex and/or ASCII delimiters (ex: 41,\Test\,4A';' = select search optionsA - Start search from beginning of fileB - Search BackwardsM - Search on certain bits set; use mask xxO - Stop on xx occurrence of stringU - Translate lower case characters to upper caseZ - Search recognition on least significant 7 bits onlyHit for more -Z - Set record to end of file and dump dataCR - carriage return (or +/= key) - advances record and dumps the data-/_ key - decrements record and dumps the dataEdit mode: ('^' refers to the Control key)^[ - (ESC) Accept next char into edit field even if a control char^E - Toggle between ASCII and hex data fields^W - Flush record to disk^X - Abort edit mode without updating record^J - Cursor down ^K - Cursor up ^H - Cursor left ^L - Cursor right Input integers are decimal. Use 'h' suffix for hexadecimal entries.Hit to continue -Edit RecordWriting Buffer ** WRITE ERROR **EDIT ABORTED** READ ERROR **?Search String = Stop on string occurrence = Enter string search mask = Not Found.SEARCH ABORTEDFile: Record: (H) LOF: (H) -- ---------------- - >xs(~# f(}a{ o~aڔ({Ҕ( w#Ä(~#Ü(!^#6~( (#÷(}|#~ (((6#÷(i`^#Vr+s|r)!„*+Ä*ngr)!ڄ*+Ä*r)!ڄ*+Ä*(+|4ng*r)!+,)-|^#Vr+s|*r)!+E*|z{.zW{_-ʠ)җ)} DMoxGyOÁ)|}o|g}o|gK)#|5ng),|}o|gzʄ*|g}o)zʄ*}o|g)͑*#||!„*#Ä*~#fo}}|r)!ʄ*+Ä*}o|g"*."*{_zW**-"*ʄ*>)D**OxG|* ?T*} =Š*}/o|/g!+ñ*ÿ*o&ÿ*͙*!**͙*K* !+*ñ*͙*͙* ͙*_+͙*  ʴ*>ô*  ͙*͙*ñ*͙*ñ*͙*ñ*ñ*͙*ñ*͙*ñ*͙*ñ*͙*ñ*͙*ñ*ñ*͙*͙*ñ* ñ*͙* ͙*!ñ*͙*"ñ*͙*#͙*$͙*%͙*(ñ*xs(~# f(}a{ o~aڔ({Ҕ( w#Ä(~#Ü(!^#6~( (#÷(}|#~ (((6#÷(i`^#Vr+s|r)!„*+Ä*n XCHG ;adrs to HL CALL GOHL ;do it CALL CRLF ;print newline MVI C,CHEKCC ;check for console abort CALL MEX POP H ;it's done JNZ SETSLP ;continue if no abort RET ; GOHL: PCHL ; ; table of SHOW subroutines ; SHOTBL: DW BDSHOW ;baud rate DW MDSHOW ;mode DW SPSHOW ;speaker DW TMSHOW ;wait time DW PSHOW ;parity DW DSHOW ;duplex DW HLSHOW ;v1.1 je DW 0 ;<<== table terminator ; ; SET ? processor ; STHELP: IF CLRSCN ;clear screen CALL CLS ENDIF ;CLRSCN LDA RINGNO ;get =0]G:]*Q:]Q:0]*Q̀QO:^GO:6]G^QHQ͕R|}+~͕R:6]O}:] aQ :]:]:] wQy{ozg_:]WʱQ~#ҚQ++~#±Q7òQ{#7?ͼg/Q>2]|7>#CS~#~#:]2]QRQ!70dRSyS:*] 7?S,:3]23]S:7]>S:8]?>7?:]2#]:]2"]:#]2]hS:"]2]Ra?Ї!^o\S$~26]#~2]dBS:]26]҅S:]26]QS:]O:6]G> ͶS27]:]O> ͶS28]:]29]29]SOS,}:]26]:]29]:]27]:]28]!^oS$~29]GT:]iQ=>ZZZG> V> VTɷG[T> V3T![T[T:]*-]͕RxvT!`iʅTxgyo:6]OMѯ2]:]ʤTiQT:]ͯUTG:^O:6]O:0],TTQuZ:0]*QT:]uZ:6]O},T:]:]͗FG:]:]XVcViQXcVR!U@ZU`8US`UP( BUU AUUHUUV02]aگUU ҍU*A_o G~ŠU#po*A_oқU$͡U~S#£UG:!]x2]QS:]:]2!]o*A_ToU$iQ̡UG:']x2]S:]:]2']UGV:]x'ViQ=xpYZZ = DV IV SV5> >>n>U XṾW> W2$]:]ͯU>Ty,T.WUG xڜVV ÇV VVV.W:$]=ʺV:]U> V2]͕T>2$]tV VÇV,TOÇVqQNQ,TGW:$]Wx Vx|W V:]:4]:4]/24]> V< V:4]ȯ24]> VG:]xG:]x|WOxiQjW*A_~qW>2$]xy V> VxG:]O>_ >/ >- x7  G G7iQ"Y]>WyWNQOWW*Y]W#~ W*Y]W~<Ww W#~+7?Wo$gQ X| WX>TTG*-]:/]G:6]O*+]͕RxMXMX"]*]*]̀Q̀Q?2]*+]*]|7X:/]OX2]ØXeh$"]qQX:]X:]X*]*]"]X2]BY2]"]ɯ2]X:]Q*]:0]*QG >*Y:]:6]*Yx!^F o Y$:6]*Y>O:]GyX2]OxxU:]TY`YpYBY*]+"]l&uZBY ڒYÝYZ-Y2]o&uZʵZZʽY ZDZeZ Z 8Z_:]o&Z _G:]xYpY!uZxZZZg|Wx|āYxZZ:9]o& _ɯ2]2]2]2]2]qQȯ2]2]> S:9]o& _:]lZWZ _:9]o&:]KZWZ _:]ʉZÖZ:]ʖZÉZ*]"]͉Z*]*]"]_mQG#_Z!"]mQG&_!͟Z_O __x `````T` O p`@W_abc_TcIcbAD.An1 TJ!H\ pqJw#J7![[B#~+7# 7#JͻQ@:[mKO#K8  x{ #\W:K\_ p p@pO Omy1[0[ b; 3:x`P*ULQڮKRZS-OZnA  ZnA TITLE PAGE ## NOW IS THE TIME AVE  !LA (08@HPX`hpx               0^^}}{{||~~``péa``Ô`Âa9`8`8`cc;eeÒeccñaÍc `&`8`8`eYf(   P_$  TYG0G0" = >`> `> `O:e<2e_y_y_`___`x2`>x}`x _>:J_W{ E`~dͤ`ɷM`xä`g!fo``$e`~l`~Ĥ`#p`xG:?2yxʤ`yä`Oͭ`*L_|yʷ`O:` y_>`!`o:g__G<`:Z_ GxVa`!a`Ozya O!_8aXc+}%ay7x@aLa_7?y7_7?O:\_G:Z_W:[_:^_G:Z_W:]_yO_ͅf!_ kc>/_>/_Yf:_ 2g_2i_ bGaaxa>\~aIb{a:_>~>`:_0:bxbbx:_>b> b:_:bG:_G:_O:C_O:b<1bx> {a1b:bO:bG͍c:b<2bG:_>2b:_G:C_G:b:b<2b:b=2b:b=2b:b=2b:_2b>2b2bʖbʖbubb]bIb b ]b>2bO͟by!_###=bykcybybb:_Acy c:_Ocyc:_Acy"c>2b ,c>2bb :_>bGxOc EcɷXc=Oc:K_o&+}bc~vc#kcɷ{a b:_{a{ax2by2b:_Oc!_kc:_ĺc:_{a:_:_{aͤ`!c2eɷcx!c c2e2e> cddd*e"eed|d:e3d:eo3d{_.dd:eKd:eoe}2e:ec:e:eXd ~dc> 2e:e:e/2e:ezd:eoee|œd:e}G:ee:e*e ͫeHyd:ed,y O! :d}))"e`iGxddxdG> cd:ee:eoe:ecxPuex@c:eo&:eeT]ce!ce:e_e:eoe}2e:ec|:eoe:eoeɷc>cc2e2e2e> 2e͒e> c2e!e~c#~Ÿe$}oҰe%°e{G||/g}/o#/o#  x   --45EFWWGH @@EFBBBBAA A A:C_y<*!f vf~#mfif~ʂf#ͱavfoCHGMODE| M BAK | M FWD | M DEL | | REPET | NHANC |PRVSCRN|NXTSCRN| MARK ---F1------F2------F3------F4------F5------F6------F7------F8------F9-----F10-- EDT/CMD| INDNT | UNDLN | DECTB | INSRT | CLEAR | SOFT- | CONT |TOP LIN| SCAN  Unhold Hold Top End Next-page-Prev Indent Clear Back Forward ------------------------------------------------------------------------------  1: Disk 2: Search 3: Move/Delete 4: Print 5: Tables Exit(X) Help(HE)  directory(Q) get edit file(G) edit done/save file(GD) quit edit(GQ) delete file(QD) read a file(R) read done(RD) Search and Replace: n instances(Sn) all instances(SA) search disk file(SG) delete n lines(Dn) delete all text(DA) hold n lines(Hn) dump hold(U) print(P) reset(PR) form feed(FF) screen print(V) print formats(Y,YT) status(ST) tabs(Z) print format(Y) titling(YT) dump formats(FY,FT,FH) To set or clear, position cursor and hit "TAB" "CLEAR" or control C clears all tabs "TAB" followed by 0-9 sets uniform tab stops "RETURN" to exit Type "HELP" for help menu- begin search string with * to ignore capitalized/enhanced begin search string with ! for search/replace- Enter the filename, or RETURN if you do not wish to open a fileFORMAT Examples: 30 title right/page left 23 title center/page right 03 title left/page right 32 title right/page centerprecision(0) dot matrix(1) system(2)default printer(0)line oriented(0) char oriented(1)length of printed text (90 = 9 in.)length of paper (110 = 11 in.)stop each page(0) space(1) form feed(2)indent from left margin in tenthssingle space(1) double(2) triple(3)left(0) right just(1) center(2) right(3)print width (65 = 6.5 in)6 per inch(2) 8 per inch(3)pica(1) elite(2)shadow(0) underline(1) bold(4)fixed pitch(0) proportional(1)set for hyphenation checknone(0) titling(1) paging(2) both(3)empty lines between title & textnone(0) titling(1) paging(2) both(3)empty lines between title & texttwo digits (XY) place title&page numbersX/Y = 0:left 2:center 3:rightleft margin of page in tenthsset for sheet feeders!]qwpͶpZo= o!Btl=/oZ_l!qwpͶpRo>%#=Ko~#Ro!rwp̓pqoqo:_2_!rwp̓pڅo…o>\2s_!swpͶpʕo2K_!,swpͶp2J_!;twpͶpo! z!=oe!~#o!twp̓pY2C_!Qswp:C_!oo!{g$."_|!=Gxdp ft/page right 32 title right/page centerprecision(0) dot matrix(1) system(2)default printer(0)line oriented(0) char oriented(1)length of printed text (90 = 9 in.)length of paper (110 = 11 in.)stop each page(0) space(1) form feed(2)indent fr=1~# }o}o)|==2"*"*"*"*###2}2| o gw#^#V*wr+sX!*~# x‚*######ɉ  1GSY6A(+04?I_eiu9͌j# X:z 0 ͘=N#Fy1"-!~ ڸ1!: GͿҼ ]x ] ]  ]/ Enter your COMMAND (or ^C to exit): $ == HIT A RETURN TO CONTINUE ==$, ]] ]>2/ ] ]:_!6 >2ßGyx1:ʫ*"**}|îSBFR .COM NOT FOUND. PLACE ON A: OR HIT ^C TO EXIT $ $ SPECIFICATION ERROR$ NOT ENOUGH SPACE FOR PROGRAM LOAD$&_W ]% ]]K ] \(l(~ #>xDL]c>:~ #D#~+:>~A<##iixx> m~ #*ʔ. ͣx7x7>?xØa{_!:GͿ*- ~!# ~!?y>  >  !/a{_SBFROOOOCOMqC]DͿ/] ]D$q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy Enter your COMMAND (or ^C to exit): $ == HIT A RETURN TO CONTINUE ==$, ]] ]>2/ ] ]:_!6 >2ßGyx1:ʫ*"**}|îSBFR .COM NOT FOUND. PLACE ON A: OR HIT ^C TO EXIT $ $ SPECIFICATION ERROR$ NOT ENOUGH SPACE FOR PROGRAM LOAD$&_W ]% ]]K ] \(:COPYRIGHT 1986, SOFTWARE 2000, INC. (VERSION 01/07/86) !1!d͑Z$ L ;͋qCopyright 1986, Software 2000, Incq  2222!:o(!!"q(%(ͣͿ͆Ϳ!\~#~!n?n:k( :i222:{(:y2!6 !l~ :#~!0!!u~!0!e~!8!k#!SYS.!F;(B?O!:0?(0:1?(-:2?(":3?(+:4?(:5?(%""˞"!(08 8  8 0))))o?:!\( ( ( 8!+R8#w#6+R}w#"!b5 6:> !b[bR~q *!^#"6{q !F#^~ 6 *|8:v!!~!u[S.~!!REL*|7"!#7"|^#V#~#fo6!e6 !fI8B( ($87(!.(?:(@!n8!(/ $8 $kb $8 !!e!>(G!f~#08:030O:t<(>2t:rG88888 0 2rx=("A8Q0@O:e y2e:t= =2t7$(:.*(w#6?# ;7,Q6#IK6#6 #a{ 6>2*"  :h8:2h((#(((?(  ʼ͠2t!͌(!a)t?SYM? ͠8!t[iRt!t[is#rt!Zt!hr+6t*i"vt*i"tt!͌(3!͌(Eao&~@(p0O#"i͚t4p0![;Rp8t!p8^#V*iRt2B!a)>2t?ORIG??UNIT?!F(Nˆˎ*| *i| :h= *h|(!>!tDM6+6!h r+s= t[nH!^¸*":W(###[hS"h"\""s[jS"j"^"[~S"r"f"[lSz(+$."l"`""[nS"n"b"[pS"p"d"""}"*#"[nSR"n"b[lSz(R."l"`"":g( [R8"}""[b[`R"["[~SR"r"f"[jSR"j"^"[hSR"h"\""s[pSSR""z(!!"p"d"*[R"(.*[R( [*"*"!:W(+++"!k[(S*[R(&"4*R"2[R8 bk 6bv[>2W*"  !"Z>2Y>2!t6#6= :h8:2h(6(_(d({ \ v  C ʎ ʗ  :^ :iw*Z#"Zs#r*Z##"Z\ ͠2\ ! ͌(!a)\ ?SYM? ͠8!t[iR\ !t[is#r\ :W(p02g!a)>2eDM|\ ^#Vp+q*q#p#s#r#"\ *i"v\ :h*i2Y"Z\ *i"t\ |([z( >2" >!tDM!h  r+s= > [8 *| *\"[2:_(! g(! W( [6#s#r*[R0^#V#N#F#^#V r+s*"̀:!͏ :o(:͜:͜:4͜:5͜*2[4~͜#z / 0:{0_~#= A_: .~# (_U ͚!]˞Nf + *Z'(=(:]G (s#r#s#:]Of _ "Z̓ 2]] :]W( ˗2]!R:\+(-!]:]O ,o (((> (08: ' " !]!]N(>=2\!!a6#6 O!a~04^qo )(> :b?(peͼ!]!!0))))oo > 08:8A8G0G*Z͋ !]^ ͋ !]N (w#"Zo > >'2\ (=( ,(+(-2\!"b:6 <:6͋ (;( a{ ͋ !b5 6:6 !b[bR~(_ 8!]> ɯ2h2i2j2a=2`!b> w#W2^ 2hW2i`W2_( 2hW"iHW2`808W2hW"i:`(%0W2a(O!bWw# :`:d(i* [R?͌!aF#!a[ S*T]0 [R#  Nwy#:O:O!a͑1:O; !a͑*i͠:ho&P^ '"^+`#:G=Tͩ ====== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ===:G !a͑ :G!͠>!tZ  !h͠͠ :OͭT* [R; ͑~#^#V( !\͠#^#|ͧ}Ͱ 80_:@0 : <: 2  2:<2^˻~#(~#!~98 6q 4q^#!4!ij}lg!d5 6!b5 6: !b[bR~wÎ!0[0Rw!05 6: í:$:<ü:0(͜:*"[R*[R?":2:(:2?!w#<2d2b: <:p0!ap?8 7!?UND? ~#^#V( !\!͌>!͌>!͌>>?PAGE??BANK??INIT?:h*i:Y*Z!h^#Vo&+)>!\R8'!ѷR8![R[2= a{ |Y}Yb 80_}^˻~#(q }_ͫ:ͫ_ѻ ѻC  !4͛͛͛͛͛͛͢͢͢͢͢͢XMSLUKq Pass q Duplicate symbol:q Pass q Undefined symbol:q Writing output fileq Processing parameter file: q Last Symbol is Undefined q Sorting symbol tabl MODULE-RELATIVE SYMBOL TABLE Symbols defined in module ABSOLUTE LOAD MAP MODULE PROG SEG DATA SEG PAGE SEG BANK SEG INIT SEG COMM SEG TOTA NAME BASE SIZE BASE SIZE BASE SIZE BASE SIZE BASE SIZE SIZ ABSOLUTE SYMBOL TABLE͋File name missing from comman͋Invalid input file nam͋Serial number violatio͋Not enough memor͋Vacuous input file(s͋Unexpected EOF in input fil͋Disk is ful͋Can't make output fil͋No input file͋Can't open input fil͋Load address out-of-boundq Multiple defined starting addres͋Non-privileged use!! GENu COM~> PAR ?BEG? ?END? ?BBEG??BEND?!!!!! input file(s͋Unexpected EOF in input fil͋Disk is ful͋Can't make output fil͋No input file͋Can't open input fil͋Load address out-of-boundq Multiple defined starting addres͋Non-privileged use!! GENu COM~erasedir b: n y !|!v :\=͝_O͑ͩ^#V">*^#V"}!!>2*"*#"^{:[:B>,:=2:B=2>0:B>, !*!v oo}0/ qz/W{/_y1ҋxy#;;~#y|} 0O_> > > ~~#*o!7 DSKPRAM ver. 1.1 Copyright (c) 1984 Robert C. Kuhman hex DPB table for drive : SPT: H Sectors per track. BSH: H Block shift. BLM: H Block mask. EXM: H Extent mask. DSM: H Disk size-1. DRM: ~H Directory entries-1. ASV0: DSH Directory group allocation 0. ALV1: rtH Directory group allocation 1. CKS: : H Check size. OFF: per H Offset (number of reserve tracks). DPB address =Diskette needs no translation.OSMASTERSYS!1".0El$ͬ0n[.".Fatal error loading O/S: to retry not founTestingK of memorno errorBad Memory @ loading from to, size, unexpected end-of-fil, not enough memor, bad memor\\!9u5t6͟$-#ð~.\f\ ~.\f\"^/ͦ%͟%n/f0*^/ͳ"^/u/t0u1t2ͭ%t.\u \*^/n5f6\f 6.63n9f:|(%n3f4^1V2N/F0~.\f}Dq/p0s1r2u3t4\f(!ͭ%6.%~/\f !2!0!808h!  %C"%O ^#V|!""'#-#%3#%%S#d#j#!s M  Z %%% % x% %%9C% "="%|"p##%"%3$%%%%^h%%z"r%%%}%%%%%%%%%%%%%%"%%%%%%%͉%ø%wL%(%n(;% -͟% ~("%% 6~<  [5~6w%>~]\n~@'G% ͞]F%ø%%'v]%N++F˾ x%%~@i(6@0 w@͟%K [[Du1t2R`TYPE MFT45.AQM :::::::::: MFT45.AQM :::::::::: ;;; mft - multiple file transfer (for single drive systems) ; ; **Based on article in Dr. Dobbs Journal of Computer** ; **Calisthenics & Orthodontia #49, Box E, Menlo Park, Ca. 94025** ; ; Version 4.5 - 10/29/80 - Deleted system disk request of V4.0 ; to shorten messages, minor changes in abort options and ; other messages. Moved disk reset of V4.1 to point ; before directory search. (CHS) ; ; Version 4.4 - 10/28/80 - Modified to bail out with message ; if no FCB is specified. Updates rearranged with most ; recent first for reader convenience. (Charles H. Strom) ; ; VERSION 4.3 BY LEWIS MOSELEY, JR. 3/22/80 ; FIXED BUG WHICH SHOWED UP WHEN MULTIPLE COPIES WERE ; MADE OF A MULTIPLE EXTENT FILE, IN THAT CP/M OPEN ; THE NEXT EXTENT USING THE DATA AREA TO SEARCH THE ; DIRECTORY, SCREWING UP THE DATA BLOCK THAT IS THERE. ; ; VERSION 4.2 BY LEWIS MOSELEY, JR. 2/23/80 ; FIXED BUG THAT OCCURRED WHEN ONLY A SINGLE FILE ; WAS SPECIFIED AND THAT FILE WAS NOT FOUND: ; PROGRAM HUNG IN A LOOP ; ; VERSION 4.1 BY LES FREED AND LEWIS MOSELEY 2/11/80 ; ADDED DISK RESET ON DISK CHANGE TO ALLOW ; CHANGING DENSITY BETWEEN DISKS ; ADDED CTL-C ABORT ; ; VERSION 4.0 BY LEWIS MOSELEY, JR. 12/79 ; ADDED OPTION FOR MULTIPLE OUTPUT COPIES ; ADDED REQUEST FOR SYSTEM DISK BEFORE REBOOT ; ; l.e. hughes 9/79 ; mycroft labs ; atlanta, ga ; MODIFIED FOR SOL & COMPATABLE COMPUTERS BY ; LEWIS MOSELEY, JR. - ATLANTA,GA. VERSION EQU 4 MODLEV EQU 5 ; entry equ 0005H ;bdos entry point tfcb equ 005CH ;system file control block dbuf equ 0080H ;system disk buffer ; CR equ 0DH LF equ 0AH ; rcfc equ 01 ;read console wcfc equ 02  ;write console rdfc equ 13 ;reset disk offc equ 15 ;open file cffc equ 16 ;close file sffc equ 17 ;search first snfc equ 18 ;search next dffc equ 19 ;delete file rrfc equ 20 ;read record wrfc equ 21 ;write record mffc equ 22 ;make file safc equ 26 ;set address ; fn equ 01 ;file name offset ft equ 09 ;file type offset ex equ 12 ;extent number offset nr equ 32 ;next record offset ; org 100H mft: lxi sp,stack+64 lxi h,msg1 ;print 'MFT V4.0' call wasc xra a ;clear break flags sta ibflg sta obflg STA NDFLG ;CLEAR NO DUP FLAG ; LDA TFCB+1 ;If no FCB specified CPI ' ' ;then say so JNZ OK LXI H,MSGK ;and bail out CALL WASC ;here JMP 0H ; ; calculate buffer size = fwa(BDOS) - fwa(MBUF) ; OK lhld entry+1 ;hl = (entry+1) - 6 lxi d,-6 dad d mov a,l ani 80H ;hl = hl mod 128 mov l,a lxi d,mbuf ;hl = hl - fwa(MBUF) mov a,l sub e mov l,a mov a,h sbb d mov h,a dad h ;hl = hl / 128 mov l,h mvi a,0 aci 0 mov h,a dcx h ;subtract one shld space ;save as buffer size lxi h,msg2 ;write 'Buffer size = ' call wasc lhld space ;write size of buffer call wdwc lxi h,msg3 ;writ>e ' sectors' call wasc ; ; ask user to mount input disk ; mft1: lxi h,msg4 ;write 'Mount input disk, type CR' call wasc call racc ;read response CPI 03 ;CTL-C ? JZ MFTL ;ABORT WITH MESSAGE cpi CR ;loop if anything but CR jnz mft1 call weolc ;echo CR,LF CALL RESET ;adjust density lda ibflg ;jump if ibflg set ora a jnz mft2a ; ; copy command line into cbuf ; lxi h,dbuf ;fwa of command line image lxi d,cbuf ;fwa of command buffer mov b,m ;fetch command line image length inx h mft2: mov a,m ;fetch next byte from cli inx h stax d ;store in dbuf inx d dcr b ;decrement count jnz mft2 ;loop until zero xra a ;store zero byte at end stax d lxi h,cbuf ;reset cbufp shld cbufp call cfnt ;create file name table lxi h,fnt ;reset fnt pointers shld ifntp shld ofntp mft2a: lxi h,mbuf ;reset mbuf pointer shld mbufp lhld space ;reset msize shld msize lda ibflg ;jump if ibflg not set ora a jz mft3 lxi h,ifcb ;copy IFCB into TFCB lxi d,tfcb mvi b,33 call move xra a ;clear ibflg sta ibflg inr a ;set obflg sta obflg lhld ifntp ;back ifntp up 4 bytes lxi d,-4 dad d shld ifntp lxi h,tfcb+fn ;write filename  call wfnc lxi h,msg6 ;write ' - ' call wasc lhld ifntp ;DE = ifntp xchg jmp mft4 ;continue reading previous file ; ; parse off next name from cbuf ; mft3: lhld ifntp ;fetch input fnt pointer mov a,m ;jump if end of table cpi 0FFH jz mft9 mvi m,1 ;set 'file read' flag inx h lxi d,tfcb+fn ;copy filename into tfcb mvi b,11 call move shld ifntp ;save input fnt pointer lxi h,tfcb+fn ;write filename call wfnc lxi h,msg6 ;write ' - ' call wasc xra a ;setup tfcb sta tfcb sta tfcb+ex sta tfcb+nr call open ;open file lhld ifntp xchg mft4: lhld mbufp mov a,h ;copy into fnt entry stax d inx d mov a,l stax d inx d xchg ;save fnt pointer shld ifntp lxi h,0 ;file size (in sectors) = 0 shld fsize ; ; read next file from input disk ; mft6: lhld mbufp xchg call setdma call read ;read next sector ora a ;jump if normal transfer jz mft7 cpi 1 ;jump if EOF jz mft8 lxi h,msg8 ;write 'read error - ' call wasc jmp mft8 ;continue as if EOF mft7: lhld mbufp ;mbufp = mbufp + 128 lxi d,128 dad d shld mbufp lhld fsize ;fsize = fsize + 1 inx h shld fsize lhld msize ;decrement msize dcx h  shld msize mov a,h ;loop if still positive ora l jnz mft6 lxi h,tfcb ;copy tfcb into ifcb lxi d,ifcb mvi b,33 call move mvi a,1 ;set ibflg sta ibflg mft8: lxi d,dbuf ;reset dma pointer call setdma call close ;close file lhld fsize ;write file size call wdwc lxi h,msg9 ;write ' sectors read' call wasc ; ; update fnt, loop ; lhld fsize ;DE = file size xchg lhld ifntp ;store file size in fnt entry mov m,d inx h mov m,e inx h shld ifntp ;save fnt pointer lda ibflg ;loop if ibflg not set ora a jz mft3 ; ; FLAG THAT THE MEMORY BUFFER HAS BEEN EXCEEDED, AND ; TELL USER THAT DUPLICATE COPIES CANNOT BE MADE LDA NDFLG ;TOLD HIM ALREADY? ORA A JNZ MFT9 ;JUMP IF SO LXI H,MSGH ;IF NOT, TELL HIM CALL WASC MVI A,1 ;SET NDFLG THIS TIME STA NDFLG ; ; Ask user to mount output disk ; mft9: lxi h,msgA ;write 'Mount output disk, type CR' call wasc call racc ;read response CPI 03 ;CTL-C? JZ MFTL ;ABORT WITH MESSAGE IF SO cpi CR ;loop if anything but CR jnz mft9 call weolc ;echo CR,LF call reset ;reset disk system ;make r/w and check density lda obflg ;jump if obflg not set ora a jz mftA lxi h,ofcb ;copy ofcb into tfcb lxi d,tfcb mvi b,33 call move call open ;open previous file lhld ofntp ;backup output fnt pointer 4 bytes lxi d,-4 dad d shld ofntp lxi h,tfcb+fn ;write file name call wfnc lxi h,msg6 ;write ' - ' call wasc jmp mftb ;continue writing previous file ; ; write next file to output disk ; mftA: lhld ofntp mov a,m ora a jz mftF cpi 0FFH jz mftF inx h lxi d,tfcb+fn mvi b,11 call move shld ofntp lxi h,tfcb+fn call wfnc lxi h,msg6 call wasc xra a sta tfcb sta tfcb+ex sta tfcb+nr call delt ;try to create output file call make cpi 255  ;jump if ok jnz mftB lxi h,msgB ;write 'unable to create' call wasc jmp mftG mftB: lhld ofntp mov d,m ;fetch fwa of file from fnt inx h mov e,m inx h xchg shld mbufp ;save it xchg mov d,m ;fetch size of file from fnt inx h mov e,m inx h xchg shld fsize ;save it shld xsize ;save for printout xchg shld ofntp lhld fsize ;jump if fsize=0 mov a,h ora l jz mftDA mftC: lhld mbufp ;set dma address to mbufp xchg call setdma call write ;write next sector ora a ;jump if ok jz mftD lxi h,msgC ;write 'error writing file' ca?ll wasc jmp mftG mftD: lhld mbufp ;mbufp = mbufp + 128 lxi d,128 dad d shld mbufp lhld fsize ;fsize = fsize - 1 dcx h shld fsize mov a,h ;loop until zero ora l jnz mftC mftDA: lxi h,tfcb ;copy tfcb into ofcb lxi d,ofcb mvi b,33 call move lxi d,dbuf ;reset dma pointer call setdma call close ;try to close file cpi 255 ;jump if ok jnz mftE lxi h,msgD ;write 'unable to close' call wasc mftE: lhld xsize ;write number of sectors written call wdwc lxi h,msgE ;write ' sectors written' call wasc jmp mftA mftF: lda ibflg ;loop if ibflg set ora a jnz mft1 ;Terminate program here on irrecoverable error or ;when all files have been copied. Must reload system ;disk to avoid crash when copying to someone else's disk. ;If normal end, and if buffer has not been exceeded, give ;user the option of making another copy of the same ;set of files. mftG: LXI H,MSGF ;SEE IF OPTION IS ALLOWED LDA NDFLG ORA A JNZ MFTH ;JUMP IF NOT ALLOWED CALL WASC ;ELSE TELL ABOUT OPTION MFTH: LXI H,MSGG ;ASK FOR SYSTEM DISK call wasc call racc ;wait for response CPI 03H ;WARM BOOT IF ^C JZ 0 CPI CR ;ATTEMPT REPEAT IF JZ MFTJ JMP MFTG ;ELSE LOOP TILL GOOD RESPONSE ; MFTJ: CALL WEOLC ;ACKNOWLEDGE COMMAND LDA NDFLG ;REPEAT ALLOWED? ORA A JNZ MFTK ;JUMP IF NOT LXI H,FNT ;ELSE RESET FNT POINTER SHLD OFNTP LXI H,MBUF ;RESET MEM BUF POINTER SHLD MBUFP XRA A ;RESET OUTPUT INTERRUPTED FLAG STA OBFLG JMP MFT9 ;AND DO AGAIN ; MFTK: LXI H,MSGH ;CANNOT REPEAT, TELL HIM AGAIN CALL WASC JMP MFTG ;AND WAIT FOR SYSTEM DISK ; MFTL: LXI H,MSGJ ;ABORT MESSAGE CALL WASC JMP 0H ;WARM BOOT ; subroutines ; move: mov a,m inx h stax d inx d dcr b jnz move ret ; ;; gfn - get file name ; ; gfn: mov a,m ora a rz cpi ' ' jnz gfn0 inx h jmp gfn gfn0: lxi d,xfcb xra a stax d inx d push d mvi b,11 mvi  a,' ' gfn6: stax d inx d dcr b jnz gfn6 pop d mvi b,9 gfn1: mov a,m ora a jz gfn4 inx h cpi ' ' jz gfn4 cpi '.' jz gfn2 cpi '*' jz gfn7 stax d inx d dcr b jz gfn5 jmp gfn1 gfn7: dcr b jz gfn9 mvi a,'?' stax d inx d jmp gfn7 gfn9: mov a,m cpi '.' jnz gfn4 inx h gfn2: lxi d,xfcb+ft mvi b,4 gfn3: mov a,m ora a jz gfn4 inx h cpi ' ' jz gfn4 cpi '*' jz gfn8 stax d inx d dcr b jz gfn5 jmp gfn3 gfn8: dcr b jz gfn4 mvi a,'?' stax d inx d jmp gfn8 gfn4: xra a ret gfn5: stc ret ; ;; cfnt - create file name table ; ; cfnt: lxi h,fnt ;reset ifntp shld ifntp MVI M,0FFH ;VER 4.2 BUG FIX cfnt1: lhld cbufp ;get cbufp mov a,m ;exit if end of list ora a rz call gfn ;get next afn shld cbufp ;save command buffer ptr jnc cfnt2 ;jump if filename ok lxi h,msg5 ;write 'Syntax error in filename' call wasc jmp cfnt1 ;loop cfnt2: xra a ;clear xfcb extent field sta xfcb+ex lxi d,xfcb ;search for first occurance call srchf cpi 255 ;jump if found jnz cfnt3 lxi h,xfcb+fn ;write filename call wfnc  lxi h,msg7 ;write ' not found' call wasc jmp cfnt1 ;loop cfnt3: ani 3 ;index into cbuf mov l,a mvi h,0 dad h dad h dad h dad h dad h lxi d,dbuf dad d xchg ;copy filename into fnt lhld ifntp xchg mvi b,12 call move lxi h,zeros ;zero fill rest of entry mvi b,4 call move xchg shld ifntp ;save input fnt pointer mvi m,0FFH ;insure FF byte at end lxi d,xfcb ;search for next occurance call srchn cpi 255 ;jump if found jnz cfnt3 jmp cfnt1 ;go get next afn ; ;; wasc - write ascii string to console ; ; wasc: mov a,m ora a rz  call wacc inx h jmp wasc ; ; ;; wfnc - write file name to console ;Note: Under SOLOS and CUTER, 01 is the cursor-left character. ;When MFTing a multi-extent file, the extent character must ;be filtered out of the file-name-block to avoid wierd ;console output. ; wfnc: mov a,m ora a ;0=thru rz cpi 20h ;skip print if < space jc wfnc1 call wacc wfnc1 inx h jmp wfnc ; ;; weolc - write end of line to console ; ; weolc: mvi a,CR call wacc mvi a,LF jmp wacc ; ;; wdwc - write decimal word to console ; ; wdwc: push h push d push b mvi b,0 ;clear 'digit written' flag lxi d,10000 ;write 1st digit call wndd lxi d,1000 ;write 2nd digit call wndd lxi d,100 ;write 3rd digit call wndd lxi d,10 ;write 4th digit call wndd lxi d,1 ;write 5th digit mvi b,1 ;force last digit to print call wndd pop b pop d pop h ret ; wndd: mvi c,0 ;c=0 wndd1: mov a,l ;hl = hl - de sub e mov l,a mov a,h sbb d mov h,a jc wndd2 ;jump if < 0 inr c ;c = c + 1 jmp wndd1 ;loop wndd2: dad d ;hl = hl + de mov a,c ;jump if c non-zero ora c jnz wndd4 mov a,b ;jump if digit written ora b jnz wndd4 mvi a,' ' ;write one space jmp wacc wndd4: mvi b,1 ;set 'digit written' flag ? mov a,c ;encode c into decimal ascii adi '0' jmp wacc ;go write it ; ;; wacc - write ascii character to console ; ; wacc: push h push d push b push psw mvi c,wcfc mov e,a call entry pop psw pop b pop d pop h ret ; ;; racc - read ascii character from console ; ; racc: push h push d push b mvi c,rcfc call entry pop b pop d pop h ret ; ;; reset - reset disk system ; ; reset: push h push d push b mvi c,rdfc call entry pop b pop d pop h ret ; ;; open - open disk file ; ; open: push h push d push b lxi d,tfcb mvi c,offc call entry pop b pop d pop h ret ; ;; read - read record from disk file ; ; read: push h push d push b lxi d,tfcb mvi c,rrfc call entry pop b pop d pop h ret ; ;; close - close disk file ; ; close: push h push d push b lxi d,tfcb mvi c,cffc call entry pop b pop d pop h ret ; ;; delt - delete disk file ; ; delt: push h push d push b lxi d,tfcb mvi c,dffc call entry pop b pop d pop h ret ; ;; make - make new disk file ; ; make: push h push d push b lxi d,tfcb mvi c,mffc call  entry pop b pop d pop h ret ; ;; write - write record to file ; ; write: push h push d push b ; ;REVISION 4.3 MODS LDA tfcb+nr ;LAST RECORD IN EXTENT? CPI 7FH JNZ WRITE1 ;NO, CONTINUE LHLD mbufp ;EXISTING DATA AREA LXI D,dbuf ;POINT TO SAFE AREA CALL SETDMA ;TELL CP/M WHERE TO GET DATA MVI B,80H ;LENGTH TO MOVE CALL MOVE ;MOVE DATA AWAY SO... ;CP/M DOESN'T OVERWRITE THE REAL DATA IN OPENING NEXT EXTENT ;END REVISION 4.3 MODS WRITE1: lxi d,tfcb mvi c,wrfc call entry pop b pop d pop h ret ; ;; setdma - set dma address ; ; setdma: push h push d push b mvi c,safc call entry pop b pop  d pop h ret ; ;; srchf - search for first occurance of afn ; ; srchf: push h push d push b mvi c,sffc call entry pop b pop d pop h ret ; ;; srchn - search for next occurance of afn ; ; srchn: push h push d push b mvi c,snfc call entry pop b pop d pop h ret ; msg1: db CR,LF,'MFT V' DB VERSION+'0' ;VERSION # DB '.',MODLEV+'0' ;MODIFICATION LEVEL DB CR,LF db 'Multi-File-Transfer for single disk,',CR,LF db 'With multiple-copy option.',CR,LF,LF,0 msg2: db 'Buffer size = ',0 msg3: db ' sectors',CR,LF,LF,0 msg4: db 'Mount INPUT disk, type RETURN (or ^C to reboot)',0 msg5: db 'Syntax error in filename',CR,LF,0 msg6: db ' - ',0 msg7: db  ' not found',CR,LF,0 msg8: db 'read error - ',0 msg9: db ' sectors read',CR,LF,0 msgA: db 'Mount OUTPUT disk, type RETURN (or ^C to reboot)',0 msgB: db 'unable to create',CR,LF,0 msgC: db 'error writing file',CR,LF,0 msgD: db 'unable to close',CR,LF,0 msgE: db ' sectors written',CR,LF,0 MSGF: db CR,LF,'Completed. ' db 'Type RETURN for another copy, OR...',0 MSGG: db CR,LF,'type ^C to reboot.',CR,LF,0 MSGH: db CR,LF,'++Memory buffer exceeded, cannot ',CR,LF db 'make duplicate copies this time;',CR,LF DB 'last ouput file is defective++',CR,LF,LF,0 MSGJ DB CR,LF,'++PROGRAM ABORTED++',CR,LF,0 MSGK DB CR,LF,'No file name specified',CR,LF,0 ; ; zeros: db 0,0,0,0 ; org ($+15)/16*16 ; fnt: ds 16*64+1 ; stack: ds 64 space: ds 2 ;available space msize: ds 2 ;memory size cbuf: ds 80 ;command buffer cbufp: ds 2 ;command buffer pointer fsize: ds 2 ;file size in sectors xsize: ds 2 ;file size for printout ifntp: ds 2 ;input fnt pointer ofntp: ds 2 ;output fnt pointer mbufp: ds 2 ;memory buffer pointer ifcb: ds 33 ;input fcb ofcb: ds 33 ;output fcb xfcb: ds 33 ;temporary fcb ibflg: ds 1 ;input break flag obflg: ds 1 ;output break flag NDFLG: DS 1 ;NO DUPLICATE ALLOWED FLAG ; mbuf equ $ ; end mft [UTILITY] 00:13>_ specified',CR,LF,0 ; ; zeros: db 0,0,0,0 ; org ($+15)/16*16 ; fnt: ds 16*64+1 ; stack: ds 64 space: ds 2 ;available space msize: ds 2 ;memory size cbuf: ds 80 "5+vѶZ6 `sHd:e(f #݊gf¬+RE,G(X*pL>[Yag9Z-kfrHL>[:;kV\KP4ɳzeoN! #&1TOjQ~bN0IGSp#.*#A8LމuO5G` QQ<’#d&llOkS0wb ޮ([#iL=5IdvS|ȃ,G:! 8Z.Fn-#p$P,NJ5!LpxYpY!#Fvkcp4V8I;wPO82ɚ N3Eژ<@P t45p,38Z_cx5+X$g5 Y:/y M { $p$O<֬+GgR',` Ȓ;APvQt'4[bIȕ:FLP c&tifVXmޔ:G5el#$w k0m!0wbН5+nn7k۳[I}zBw4e0Li&%QvGe$Fw>x I&dLƲGRwa\R}Hh([1SܞBM-V{ 5}lFbJwpcn<5  R K"X6KA͌]$pg͊5‘"K"(c+A&9l`n\H nrLIySx <SL`%Ge^28~>DդM  kF ְgk4 KShfe:L%#ᎦO`Gp$&yLjXdfZJ֬hY1zH$ϝcg9#>6يh7wx,ͦT 1a(ك5+Fa ɣI;HJ0aX5'3v#r$ݹq oG۔R@Z4JH}"$=e t*uXੑ=f/젝%+ۦ!Ld$ϝɣ;kR@lA=f/׼>v6tGH*,0#YJ5;I ,Y6 a`9p$6frPG*u<5kVI€uj S+% #f/Ԕ:[{5n$)I1 Ymt kZɚcɺ;)u^;׳5+&h ,uGKh( l32v6RMs` 6t <5VEdI祖:/ONΟ=>kwǗ@FoJ-uiI:N0¸35tPQvj&^V!RÀ [#Y7:ghS#{fbNfy/agCLÀ&I &٦l ʘųJ\ead O3)S#8F5Er7֬0Ⳇ02v6D=DRMދ_FOQ#l9'd& : k, 0{h%(<92iS0@ދG&t%kmʄ9!@ku MWX% X$^Vm+mPbLr1iF@n\H&ǔakq77H`ƍa|FGϭrȒ'NQ<dR\ݻzgOOtd5+-"KRK LrpYI;*uFIpt F)(Sh9X!1䟗Z_^{w<99Wrxyğ/7O6\j@6k3nF 8trR5-DH祖:/ONΟ=>qq?l^R[${5n$$ρ,#Yj0zH55 ف_O6>Z Avt`KЭ#å.Gh:X)BƑ5+@A JE2pd5kȬ'6۔Z`˰X2,a eX,`)R|x<;ŋ/gx_K-uቘ(9IR_?ÂGCO k \>'*,(Pc+{Y@8#;3$xjdT3e]3td8>B[L>$g5=/dz',x@LȔOq$5 T=| >dFRsOR˰X2,a eX,`Kxqutuuq |x<;ŋ/gx ~51;p$dI1zHBNт8rP3aQ:aK $x /lJOXhtrH` 4G1`^)98(`zޒRgÄլ+u/X< AN9G} x'E7ʄ fE4BY&ǔFH`-.,jfEDm@tGP䍆R\2{Yf4 .>] 6 -Y j&Q %6 _`>ZOܽq`5 SVMc͊RK`$!#d]c18$dp$Q !XC]-BC5L  ,^ ӦRNj{,83 y#!حW?AFr0Dɚ`'ހ_O0Zx`KkwL H8YJ5.?N;V/}vH4I֬M!c0I8N!Lp`KгAn:DISK STA CDISK MOV A,C ; SAVE USER STA CUSER LXI H,BUFF ; PROCESS OPTIONS IN BUFFER MOV A,M ; GET CHAR COUNT INX H ; PT TO FIRST CHAR PUSH H ; SAVE PTR TO FIRST CHAR ADD L ; HL=HL+A MOV L,A MOV A,H ACI 0 MOV H,A MVI M,0 ; STORE ENDING ZERO POP H ; GET PTR TO FIRST CHAR LXI D,INLINE ; PT TO INPUT LINE BUFFER PUSH D ; SAVE PTR START0: MOV A,M ; COPY INPUT LINE SO BUFF MAY BE USED STAX D ; PUT BYTE INX H ; PT TO NEXT INX D ORA A ; EOL? JNZ START0 POP H ; PT TO FIRST CHAR CALL SBLANK ; SKIP SPACES ORA A ; EOL? JZ PRHELP ; PRINT HELP IF SO CPI '/' ; ASKING FOR HELP? JZ PRHELP LXI D,FCBS ; PT TO SOURCE FCB CALL ZFNAME ; EXTRACT NAME AND DIRECTORY DATA JNZ START1 UDERR: CALL PRINT DB CR,LF,'Invalid Disk or User -- Aborting',0 RET START1: MOV A,B ; SAVE SOURCE DISK CPI 0FFH ; CHECK FOR CURRENT JNZ SDISK1 LDA CDISK ; SPECIFY CURRENT DISK INSTEAD INR A ; ADD 1 FOR FOLLOWING DECREMENT SDISK1: DCR A ; DOWN 1 SO RANGE IS 0-F STA SDISK MOV A,C ; SAVE SOURCE USER CPI 0FFH ; CHECK FOR CURRENT JZ SUSER0 CPI '?' ; WILD IS CURRENT JNZ SUSER1 SUSER0: LDA CUSER ; GET CURRENT USER SUSER1: STA SUSER MOV A,M ; GET SEPARATION CHAR CPI ',' ; COMMA IF SECOND NAME SPECIFIED JZ START2 PUSH H ; SAVE PTR LXI H,FCBS+1 ; NO 2ND NAME, SO SET IT TO SAME AS FIRST LXI D,FCBD+1 MVI B,11 ; 11 BYTES CALL MOVEB LDA CDISK ; SET DISK AND USER TO CURRENT STA DDISK LDA CUSER STA DUSER POP H ; GET PTR JMP START3 START2: INX H ; PT TO NEXT CHAR AFTER COMMA LXI D,FCBD ; SET DEST FCB CALL ZFNAME ; PROCESS NAME JZ UDERR LDA FCBD+1 ; CHECK FOR AMBIGUOUS NAME CPI '?' ; ASSUME ALL IS AMBIGUOUS IF FIRST CHAR IS JNZ NOSET PUSH H ; SAVE PTR PUSH B ; SAVE USER/DISK LXI H,FCBS+1 ; SET NAMES THE SAME LXI D,FCBD+1 ; COPY SOURCE TO DEST MVI B,11 ; 11 BYTES CALL MOVEB POP B ; RESTORE BC POP H ; RESTORE PTR NOSET: MOV A,B ; GET DISK CPI 0FFH JNZ DDISK1 LDA CDISK ; SELECT CURRENT DISK IF DEFAULT INR A ; ADDMpeYaȈdܬ͚Zc 1HkJDHh|/;F@̈́0Iκe*uĜB9gIhk43M,@ahd5Z0{r#c1een#MhjRE5+%(C6ñ{Oqɡ";JNΚH-h)ؿ>k l[DDd??D7`m}$fS8'ց#a8FF3:82 !ߕ:8J#H[D1y8+SNAgjl HhjQ@"ZTocvzuXp oǩHm ʹ8J#nf5?b;1aݕ:; &#!Y9BFp$6G`p &LcK1Gw刬֌^3AM!މfSv3485 3yeY0@Cr!`K>ޟ GIHYm„Uȁo%T`m},8#8 ԸhڝxpGpcwFv,0q$q|dK#>kXp?#azΒm&Ɂ-R[J3td`?YсT` .F82ɚ.@L>[Y*eيAǥ@VkF$ϝ;l0ةaLG&A!DiR@C%i'Ggq?$Qيr,u8Zu $kV#YF.F4[:YM&X-$:$M Vb(5(ag9ZӦ`X,Y6 a5-D :2yﱳqt =EDnS*!΁#tF7`ТXvfm;"ҦT .F4'kVX$[šQ|Vb` 2e)$LґD:I`S`V8Ӄ5+,ɺ;!uhARग़d(GB I:&LҦT a1IGaKddYmber of disk dumps helps to increase the efficiency of a file transfer. Should you notice an error frequently occurs every 128 records, it is likely caused by your small floppy disk taking over 10 seconds to dump 16k to disk. The solution is simple. Change byte 0BFF from 80H (128 decimal for 16k) to perhaps 40H (64 decimal for 8k). This byte is easy to re- member as it is one less than 0C00, where the telephone library starts. It was placed at this position just so it could be easily found. You can also use the I2NM-2.ASM telephone overlay and change the label XFRSIZ from 16 to 8. Then use MLOAD.COM to merge that overlay onto the main program. This may be easier for you than using DDT. Since only a few people have this problem it seemed better to tell them, rather than penalize those with faster disk system by making it 8k for everybody. (The name of the game is to minimize delays - this is the main reason for adding 1k block sizes, going to 2400 bps modems, etc.) - Irv Hoff Los Altos Hills, CA (415) 948-2166 - voice (408) 378-7474 Potpourri RCPM v(IMP-NEW.INFZ  !"#$%&'()*+,-./0123456789:;<=>?o@ABCDEFGHIJKLMNOPQRSTUVWXYo/WIk1r d0>n ea^?> m/00k5p"1c qtY;X8ލ~,hsAKW4Y83)@y@ Nkܾ:L.maah6A4p"1C9a+t)1ऌm,]9VOAXd0118L<=ENp= ,m/ׇ3 2qհ׏;ϷP/`m$8Xr81aQDY&*XVDk$/5*'» ,U28#~Kf5p ֑nv8ݾ:_a_ku)` R%#1 qwvP/=~&q׷Ox<O} Ѡ4pԌ!3L:Afp"81r dy@jnv[fw (Dp"8qp2vM0W6ݍ$ |=@<X&CBI9Q'[X!h0aQDY&*XV+-pfX& lDL^>8tD0a1K'}8qqx os>Ikt) 2+ c} pac)8̤]Vc02S,NW.Deo 82[5xjx"i2A:n_`pS4D#+Gqa5&)E@qp2XK9)P5g8|=L[S86-km|aDEw ] ]ХPG n eFB Nư@BDלW0T ^޾:IЦP/D>\XЕk'MD2A8Q@o n^ qF՜oAq=L[S 21gl≠xd-3,rx6t ]s^eBϡ^5ohXp=0=jDc0zA49 2a5@.8LA6A2F g ]9Xr F N?aV2AUԘXЕk'BB68Tu+x DG)r\@'qP$rG[_(\1.!9CII6qDN`+cZKQ-3 IOmRe2#qP8ѥPJA'r]Eo8쟜 38ِ1Y7d`AS tXa}ơJS@rc N4[_(f I39f ! 2a5 I/ ,X%ju@04G L:|{8@`t2(fZNPyqoߌݧ5=,P[.:m%(| ̘%@}5ıLz"p"t)1X 1gt jz8L:Cv' hfN*%@Ԍ)\@\b=7{K NB g,JP-D9G 2h "#XIaV2mkhpa4o4_4p)&h7pRFp@Z 42E"bStgǜQŝ*S@_8čK =rQh t'*!D (Ty 8)c"dpaЉNT XPO)la7h8QXV`.9fu)`yJ}WAp~k@`yD /y8j dGȌD: ]$ UHei;' U5p"X DewDһzAB o>:#:8B] ]fG`% XË7/PLjDȤ.:jҠ)`,U3^0g]M2juLG׌.2HcpqRo/bMuZa% NTf7w j& D58dQw ,0Jd k5A Pް8|' NT&hFx|p7Udp"L!:S@su w@KYuaB S 8Pw..}?’ 38j aҠmj:܉K )Nf0:EiWHZL5 e]5CM2zS5#G'B>Qf+*dqT^ W`=8:#:8B] ]fG`% XË7/PLjDȤ.:jҠ)`,U3^0g]M2juLG׌.2HcpqRo/bMuZa% NTf7w j& D58dQw ,0Jd k5A Pް8|' NT&hFx|p7Udp"L!:S@su w@KYuaB S 8Pw..}?’ 38j aҠmj: 0 ?))) O !}L ) | {0_E_? :?#+|ʆ:2w}e^^e^: G:B*Ð Difference Found: File 1, Sector $at byte $ File 2, Sector $ Do you wish to continue ?$ $ $ Enter (1) To Offset File 1, (2) To Offset File 2, (3) To Offset Both, Or for No Offset: $ Number of bytes to move FORWARD in File: : $ Moving FORWARD $ bytes in file $:2!:2! |}> _ 0\2>22͘ EOF on File 1, Not File 2 $*}!"*#"*~#"2:6>22͘ EOF on File 2 before File 1 $*|P* l*͘(HEX) Sectors $ COMPARE ERRORS found, Length is $ Files MATCH, Length is $!l!]?!e?~#2"* Ɛ'@'_::G:2> ?~#y S *~~q s>.?#y ‹ d:2*"!]?!e?~#XXXXXXXXYYY "5+vѶZ6 `sHd:e(f #݊gf¬+RE,G(X*pL>[Yag9Z-kfrHL>[:;kV\KP4ɳzeoN! #&1TOjQ~bN0IGSp#.*#A8LމuO5G` QQ<’#d&llOkS0wb ޮ([#iL=5IdvS|ȃ,G:! 8Z.Fn-#p$P,NJ5!LpxYpY!#Fvkcp4V8I;wPO82ɚ N3Eژ<@P t45p,38Z_cx5+X$g5 Y:/y M { $p$O<֬+GgR',` Ȓ;APvQt'4[bIȕ:FLP c&tifVXmޔ:G5el#$w k0m!0wbН5+nn7k۳[I}zBw4e0Li&%QvGe$Fw>x I&dLƲGRwa\R}Hh([1SܞBM-V{ 5}lFbJwpcn<5  R K"X6KA͌]$pg͊5‘"K"(c+A&9l`n\H nrLIySx <SL`%Ge^28~>DդM  kF ְgk4 KShfe:L%#ᎦO`Gp$&yLjXdfZJ֬hY1zH$ϝcg9#>6يh7wx,ͦT 1a(ك5+Fa ɣI;HJ0aX5'3v#r$ݹq oG۔R@Z4JH}"$=e t*uXੑ=f/젝%+ۦ!Ld$ϝɣ;kR@lA=f/׼>v6tGH*,0#YJ5;I ,Y6 a`9p$6frPG*u<5kVI€uj S+% #f/Ԕ:[{5n$)I1 Ymt kZɚcɺ;)u^;׳5+&h ,uGKh( l32v6RMs` 6t <5VEdI祖:/ONΟ=>kwǗ@FoJ-uiI:N0¸35tPQvj&^V!RÀ [#Y7:ghS#{fbNfy/agCLÀ&I &٦l ʘųJ\ead O3)S#8F5Er7֬0Ⳇ02v6D=DRMދ_FOQ#l9'd& : k, 0{h%(<92iS0@ދG&t%kmʄ9!ku MWX% X$^Vm+mPbLr1iF@n\H&ǔakq77H`ƍa|FGϭrȒ'NQ<dR\ݻzgOOtd5+-"KRK LrpYI;*uFIpt F)(Sh9X!1䟗Z_^{w<99Wrxyğ/7O6\j@6k3nF 8trR5-DH祖:/ONΟ=>qq?l^R[${5n$$ρ,#Yj0zH55 ف_O6>Z Avt`KЭ#å.Gh:X)BƑ5+@A JE2pd5kȬ'6۔Z`˰X2,a eX,`)R|x<;ŋ/gx_K-uቘ(9IR_?ÂGCO k \>'*,(Pc+{Y@8#;3$xjdT3e]3td8>B[L>$g5=/dz',x@LȔOq$5 T=| >dFRsOR˰X2,a eX,`Kxqutuuq |x<;ŋ/gx ~51;p$dI1zHBNт8rP3aQ:aK $x /lJOXhtrH` 4G1`^)98(`zޒRgÄլ+u/X< AN9G} x'E7ʄ fE4BY&ǔFH`-.,jfEDm@tGP䍆R\2{Yf4 .>] 6 -Y j&Q %6 _`>ZOܽq`5 SVMc͊RK`$!#d]c18$dp$Q !XC]-BC5L  ,^ ӦRNj{,83 y#!حW?AFr0Dɚ`'ހ_O0Zx`KkwL H8YJ5.?N;V/}vH4I֬M!c0I8N!Lp`KгAn:DISK STA CDISK MOV A,C ; SAVE USER STA CUSER LXI H,BUFF ; PROCESS OPTIONS IN BUFFER MOV A,M ; GET CHAR COUNT INX H ; PT TO FIRST CHAR PUSH H ; SAVE PTR TO FIRST CHAR ADD L ; HL=HL+A MOV L,A MOV A,H ACI 0 MOV H,A MVI M,0 ; STORE ENDING ZERO POP H ; GET PTR TO FIRST CHAR LXI D,INLINE ; PT TO INPUT LINE BUFFER PUSH D ; SAVE PTR START0: MOV A,M ; COPY INPUT LINE SO BUFF MAY BE USED STAX D ; PUT BYTE INX H ; PT TO NEXT INX D ORA A ; EOL? JNZ START0 POP H ; PT TO FIRST CHAR CALL SBLANK ; SKIP SPACES ORA A ; EOL? JZ PRHELP ; PRINT HELP IF SO CPI '/' ; ASKING FOR HELP? JZ PRHELP LXI D,FCBS ; PT TO SOURCE FCB CALL ZFNAME ; EXTRACT NAME AND DIRECTORY DATA JNZ START1 UDERR: CALL PRINT DB CR,LF,'Invalid Disk or User -- Aborting',0 RET START1: MOV A,B ; SAVE SOURCE DISK CPI 0FFH ; CHECK FOR CURRENT JNZ SDISK1 LDA CDISK ; SPECIFY CURRENT DISK INSTEAD INR A ; ADD 1 FOR FOLLOWING DECREMENT SDISK1: DCR A ; DOWN 1 SO RANGE IS 0-F STA SDISK MOV A,C ; SAVE SOURCE USER CPI 0FFH ; CHECK FOR CURRENT JZ SUSER0 CPI '?' ; WILD IS CURRENT JNZ SUSER1 SUSER0: LDA CUSER ; GET CURRENT USER SUSER1: STA SUSER MOV A,M ; GET SEPARATION CHAR CPI ',' ; COMMA IF SECOND NAME SPECIFIED JZ START2 PUSH H ; SAVE PTR LXI H,FCBS+1 ; NO 2ND NAME, SO SET IT TO SAME AS FIRST LXI D,FCBD+1 MVI B,11 ; 11 BYTES CALL MOVEB LDA CDISK ; SET DISK AND USER TO CURRENT STA DDISK LDA CUSER STA DUSER POP H ; GET PTR JMP START3 START2: INX H ; PT TO NEXT CHAR AFTER COMMA LXI D,FCBD ; SET DEST FCB CALL ZFNAME ; PROCESS NAME JZ UDERR LDA FCBD+1 ; CHECK FOR AMBIGUOUS NAME CPI '?' ; ASSUME ALL IS AMBIGUOUS IF FIRST CHAR IS JNZ NOSET PUSH H ; SAVE PTR PUSH B ; SAVE USER/DISK LXI H,FCBS+1 ; SET NAMES THE SAME LXI D,FCBD+1 ; COPY SOURCE TO DEST MVI B,11 ; 11 BYTES CALL MOVEB POP B ; RESTORE BC POP H ; RESTORE PTR NOSET: MOV A,B ; GET DISK CPI 0FFH JNZ DDISK1 LDA CDISK ; SELECT CURRENT DISK IF DEFAULT INR A ; ADDMpeYaȈdܬ͚Zc 1HkJDHh|/;F@̈́0Iκe*uĜB9gIhk43MA,@ahd5Z0{r#c1een#MhjRE5+%(C6ñ{Oqɡ";JNΚH-h)ؿ>k l[DDd??D7`m}$fS8'ց#a8FF3:82 !ߕ:8J#H[D1y8+SNAgjl HhjQ@"ZTocvzuXp oǩHm ʹ8J#nf5?b;1aݕ:; &#!Y9BFp$6G`p &LcK1Gw刬֌^3AM!މfSv3485 3yeY0@Cr!`K>ޟ GIHYm„Uȁo%T`m},8#8 ԸhڝxpGpcwFv,0q$q|dK#>kXp?#azΒm&Ɂ-R[J3td`?YсT` .F82ɚ.@L>[Y*eيAǥ@VkF$ϝ;l0ةaLG&A!DiR@C%i'Ggq?$Qيr,u8Zu $kV#YF.F4[:YM&X-$:$M Vb(5(ag9ZӦ`X,Y6 a5-D :2yﱳqt =EDnS*!΁#tF7`ТXvfm;"ҦT .F4'kVX$[šQ|Vb` 2e)$LґD:I`S`V8Ӄ5+,ɺ;!uhARग़d(GB I:&LҦT a1IGaKddYmber of disk dumps helps to increase the efficiency of a file transfer. Should you notice an error frequently occurs every 128 records, it is likely caused by your small floppy disk taking over 10 seconds to dump 16k to disk. The solution is simple. Change byte 0BFF from 80H (128 decimal for 16k) to perhaps 40H (64 decimal for 8k). This byte is easy to re- member as it is one less than 0C00, where the telephone library starts. It was placed at this position just so it could be easily found. You can also use the I2NM-2.ASM telephone overlay and change the label XFRSIZ from 16 to 8. Then use MLOAD.COM to merge that overlay onto the main program. This may be easier for you than using DDT. Since only a few people have this problem it seemed better to tell them, rather than penalize those with faster disk system by making it 8k for everybody. (The name of the game is to minimize delays - this is the main reason for adding 1k block sizes, going to 2400 bps modems, etc.) - Irv Hoff Los Altos Hills, CA (415) 948-2166 - voice (408) 378-7474 Potpourri RCPM v(IMP-NEW.INFZ  !"#$%&'()*+,-./0123456789:;<=>?o@ABCDEFGHIJKLMNOPQRSTUVWXYo/WIk1r d0>n ea^?> m/00k5p"1c qtY;X8ލ~,hsAKW4Y83)@y@ Nkܾ:L.maah6A4p"1C9a+t)1ऌm,]9VOAXd0118L<=ENp= ,m/ׇ3 2qհ׏;ϷP/`m$8Xr81aQDY&*XVDk$/5*'» ,U28#~Kf5p ֑nv8ݾ:_a_ku)` R%#1 qwvP/=~&q׷Ox<O} Ѡ4pԌ!3L:Afp"81r dy@jnv[fw (Dp"8qp2vM0W6ݍ$ |=<X&CBI9Q'[X!h0aQDY&*XV+-pfX& lDL^>8tD0a1K'}8qqx os>Ikt) 2+ c} pac)8̤]Vc02S,NW.Deo 82[5xjx"i2A:n_`pS4D#+Gqa5&)E@qp2XK9)P5g8|=L[S86-km|aDEw ] ]ХPG n eFB Nư@BDלW0T ^޾:IЦP/D>\XЕk'MD2A8Q@o n^ qF՜oAq=L[S 21gl≠xd-3,rx6t ]s^eBϡ^5ohXp=0=jDc0zA49 2a5@.8LA6A2F g ]9Xr F N?aV2AUԘXЕk'BB68Tu+x DG)r\@'qP$rG[_(\1.!9CII6qDN`+cZKQ-3 IOmRe2#qP8ѥPJA'r]Eo8쟜 38ِ1Y7d`AS tXa}ơJS@rc N4[_(f I39f ! 2a5 I/ ,X%ju@04G L:|{8@`t2(fZNPyqoߌݧ5=,P[.:m%(| ̘%@}5ıLz"p"t)1X 1gt jz8L:Cv' hfN*%@Ԍ)\@\b=7{K NB g,JP-D9G 2h "#XIaV2mkhpa4o4_4p)&h7pRFp@Z 42E"bStgǜQŝ*S@_8čK =rQh t'*!D (Ty 8)c"dpaЉNT XPO)la7h8QXV`.9fu)`yJ}WAp~k@`yD /y8j dGȌD: ]$ UHei;' U5p"X DewDһzAB o>:#:8B] ]fG`% XË7/PLjDȤ.:jҠ)`,U3^0g]M2juLG׌.2HcpqRo/bMuZa% NTf7w j& D58dQw ,0Jd k5A Pް8|' NT&hFx|p7Udp"L!:S@su w@KYuaB S 8Pw..}?’ 38j aҠmj:܉K )Nf0:EiWHZL5 e]5CM2zS5#G'B>Qf+*dqT^ W`=8:#:8B] ]fG`% XË7/PLjDȤ.:jҠ)`,U3^0g]M2juLG׌.2HcpqRo/bMuZa% NTf7w j& D58dQw ,0Jd k5A Pް8|' NT&hFx|p7Udp"L!:S@su w@KYuaB S 8Pw..}?’ 38j aҠmj:܉K )N  @f ta!X2C`({Q" 1 +)z?+Fq;;C @<E$p0 T2-FG ALF9!hT[xT@090]&2Ec'IAVŢj0dHqxQ,@f1Aa9pDJ(E(8T, `l`G*BO%3ML60Lidde1 neFɐ1 LeArAt!tD$id )v'Dgqs iY? (0Fy  )!>^Y *²+A(|,Z h)\kY!WYWInU!~LnWA fM\3H= caЄ Р1"^Uz>ZCI/pU \GH wr!Ż/T#LC{4pP$[2K0:&`O@6JaA(,鑔8A_>/b S$@[r^o "І·+l: f r\n A*n4s^ndS1Ll"i V`40` TU _m\*a21dvZ\hDFF*;ƇaPEFYA8DWʮq/IiQ9kpHmDrIȡG֧7ߋC4aʫ _:ʆbHD8d ͨ%u:oPL0ڌ \ȋzCu7$\ E9;MQp:IJ(IOH$F<}=zXR1U5"YN? @i$ OK{{CygB~h qpjI1Jb<+;ZH6 [ˡ+K1kXɹ{+!K !;.r802r/7.x}03ZWHR3o8ӗ;똟q+[3ֺG2P_K{C,(Yj4`UJccJvGGfޞ ygBtfs KXdciF^Ro.*H:,n[wsM9jXøܻ ?JUO[Bd:>V^z\P;{氌X Vuȍɰۛp+!1E[jqlk H1DgA(5~ 6*+q"K՚âK"6N1 }^,}W+EVVhDyhŸ j傀D 4m%cb e{xW*#QpAk^hoBcẃ8Ng |źi ͖7h?ߜ`SQA_rZbD‘r^v ;֍<b&niMhZ{L {ɐB$pɆi+ 8! ' Q$;>ks >əX r0D06ALrfW@-)iᐙ2.WU;ۉ]28ڮ)rSn=!.]Sz*| ||2aephlf cw=<I6||4!TPh\h{|ZLYaZ{zaZ,ȼĐ zN+Lmܦ.ۦKPLKh-Z\7C!'i;˥ցi4Hg%m-ޤc8]5i67Yx.(3Ni]sjKp.eV ]j>!]tJ]Q2۽LsiL2~M-ƻ^D; Pd]8eH['zƘT˼uE]ݞNPrN+ ->Δ~h𣾥Nu~3.HA>^^~K+*F*Ksf됁W,^zCv8j oXQ>(DoTt NܜO>+n-/ƻ:}O/WOnb]3i@AYJ%g XڝFcA!0Y0]@0\745ttƹkvOh@R` p bg?yWkrQyks >əX r0D06ALrfW@-)iᐙ2.WU;ۉ]28ڮ)rSn=!.]Sz*| ||2aephlf cw=<I6||4!TPh\h{|ZLYaZ{zaZ,ȼĐ zN+Lmܦ.ۦKPLKh-Z\7C!'i;˥ցi4Hg%m-ޤc8]5i67Yx.(3Ni]sjKp.eV ]j>!]tJ]Q2۽LsiL2~M-ƻ^D; Pd]8eH['zƘT˼uE]ݞNPrN+ ->Δ~h𣾥Nu~3.HA>^^~K+*F*Ksf됁W,^zCv8j oXQ>(DoTt NܜOvRAMDRIV.DOC$  %(A& DO!AQQB, C!PTE'%BI< #S2I0SqMII4DPY(@y #h7P9cCq`b9 (h2r0Nb t@uCxa5׌e6*f#)n.x#lEFBXu7Ά7L ;իڭS3N{!kF Ar1^o>(pD1݉šaɅ,ÜࢆZQM-4A֋.z^]bW|)ef^86[`WS]\exd|PMg*Y)u`+5Q̛?`_Y]MlDO"I~o:9tdN2ؕǁP$ iQMh RST. Uߘl9 S: HRhڄc(+xX~f|a7܇-|nFrƜ%m`mcJqkL`h@"T0"baLҁ N@siΜ@raÑ\Ax@Pg0 -=*I-0 /˔3 1EC 'ו48e]tw~Z(ݎ^_W@Qymm\wc6 RW}nB`sNJw`ѱ&?@A0 љuW{,R25utB +\fI"̈K̺P&h Z1+laLp7I;f }Q|-ۃ3*qǤ+u4PEdhU<4TOoVJ% a<(0 @|(B \h1AP9 [F rav$r.9`hF<ǠsB>f >4Dbȃ#raYP)  u9p$3Pp)rIS.YA`.]ɸߝ2eϙ0 3oyW L8K^ 0W|=^%t!!YP-¤@DG2iL <5(\Myh*<%f!1(&0ZA7-`2է(Lm*5'2jSɺntjm&s U^[A=2hTHٸ1Wnyh JqqHáXEz dNAHS* A biIuS(Xec9~ Fsh \v)]Wb RE- +8/5L .,6a1*7wjJ:21b٢h j] CeD#FyEA*@܌MlRW"P7YtkF% ` r05dj4)0)Z"*T^>ו48e]tw~Z(ݎ^_W@Qymm\wc6 RW}nB`sNJw`ѱ&?@A0 љuW{,R25utB +\fI"̈K̺P&h Z1+laLp7I;f }Q|-ۃ3*qǤ+u4PEdhU<4TOoVJ% a<(0 @|( 4 \BMXH2.07#=7 W0R a$-l޽5FYbAM < @\k|9w'~xW\Gt>yL3p N`K^Ue DS O.Ƙ@0^=bƋӆbηe'|+4W g>n=vCs Vi'ro.hvwrgFuFfFf o@yop(xJbgq&kbw66rq&$zatVcd`wyjre}^&WBfpo|&ibnpm'g~0c)cX+r` obxUVAA`Hu l C`l(@1V\vff hDspmF07-p4Lta iR0PR pvIPNPWIFZ YP  $Z$N`q)*+,-./01234567P @;<=>?o@AB @PGHIJKLMNOPQRSTUVWXP 0  To/pPk vRAMLD.ASM$ *JQHM&4 0T& AQX *J:@'&$B)H@F'c$B$!FB^8 C0!GRrx"rFY{{Mu]}acW Le^&kW@`N>IՆe:Ef&r!uAU$T) HNhchuy\$RaS&%F ]a'^zXm ׬y PD2[( lVwATZ׵bdHEސ"lx a AT&@T& t(,##+ ͔L G|!DE0aq (A '$ b(D a EB^H@tu䩽2sBTƮE, `FB' ;+H@L' L`l0N- }~¨FLV{*@'HȐ{pde ghP,֝$ A I1f;;v3A(h$Sup 3d "v-]>}PZi$ ΒBFw$()mA' $8dpI N !RQ]iPBTXDa˴U+E@hn f)AO$F!0)BlMС"(L{5|$W:B3 fBEq~:Ef&r!uAU$T) HNhchuy\$RaS&%F ]a'^zXm ׬y PD2[( lVwATZ׵bdHEސ"lmqu"޹NPk > trʰ F vRAMDRIV.ASM$ *JQHM"%aqMT a*/$BIPHd:H!p2sR@u=Z Dr0DCAN2@e< !DHͦSiyct4 vV@d9NQu,hNd7l&}he8M:! f47V4r<=g$򘺆 Hfg4V#а@b)\kY!WYWInU!~LnWA fM\3H= caЄ Р1"^Uz>ZCI/pU \GH wr!Ż/T#LC{4pP$[2K0:&`O@6JaA(,鑔8A_>/b S$@[r^o "І·+l: f r\n A*n4s^ndS1Ll"i V`40` TU _m\*a21dvZ\hDFF*;ƇaPEFYA8DWʮq/IiQ9kpHmDrIȡG֧7ߋC4aʫ _:ʆbHD8d ͨ%u:oPL0ڌ \ȋzCu7$\ E9;MQp:IJ(IOH$F<}=zXR1U5"YN? @i$ OK{{CygB~h qpjI1Jb<+;ZH6 [ˡ+K1kXɹ{+!K !;.r802r/7.x}03ZWHR3o8ӗ;똟q+[3ֺG2P_K{C,(Yj4`UJccJvGGfޞ ygBtfs KXdciF^Ro.*H:,n[wsM9jXøܻ ?JUO[Bd:>V^z\P;{氌X Vuȍɰۛp+!1E[jqlk H1DgA(5~ 6*+q"K՚âK"6N1 }^,}W+EVVhDyhŸ j傀D 4m%cb e{xW*#QpAk^hoBcẃ8Ng |źi ͖7h?ߜ`SQA_rZbD‘r^v ;֍<b&niMhZ{L {ɐB$pɆi+ 8! ' Q$;>ks >əX r0D06ALrfW@-)iᐙ2.WU;ۉ]28ڮ)rSn=!.]Sz*| ||2aephlf cw=<I6||4!TPh\h{|ZLYaZ{zaZ,ȼĐ zN+Lmܦ.ۦKPLKh-Z\7C!'i;˥ցi4Hg%m-ޤc8]5i67Yx.(3Ni]sjKp.eV ]j>!]tJ]Q2۽LsiL2~M-ƻ^D; Pd]8eH['zƘT˼uE]ݞNPrN+ ->Δ~h𣾥Nu~3.HA>^^~K+*F*Ksf됁W,^zCv8j oXQ>(DoTt NܜO>+n-/ƻ:}O/WOnb]3i@AYJ%g XڝFcA!0Y0]@0\745ttƹkvOh@R` p bg?yWkrQyvRAMDRIV.DOC$  %(A& DO!AQQB, C!PTE'%BI< #S2I0SqMII4DPY(@y #h7P9cCq`b9 (h2r0Nb t@uCxa5׌e6*f#)n.x#lEFBXu7Ά7L ;իڭS3N{!kF Ar1^o>(pD1݉šaɅ,ÜࢆZQM-4A֋.z^]bW|)ef^86[`WS]\exd|PMg*Y)u`+5Q̛?`_Y]MlDO"I~o:9tdN2ؕǁP$ iQMh RST. Uߘl9 S: HRhڄc(+xX~f|a7܇-|nFrƜ%m`mcJqkL`h@"T0"baLҁ N@siΜ@raÑ\Ax@Pg0 -=*I-0 /˔3 1EC 'ו48e]tw~Z(ݎ^_W@Qymm\wc6 RW}nB`sNJw`ѱ&?@A0 љuW{,R25utB +\fI"̈K̺P&h Z1+laLp7I;f }Q|-ۃ3*qǤ+u4PEdhU<4TOoVJ% a<(0 @|( \h1AP9 [F rav$r.9`hF<ǠsB>f >4Dbȃ#raYP)  u9p$vRAMLD.ASM$ *JQHM&4 0T& AQX *J:@'&$B)H@F'c$B$!FB^8 C0!GRrx"rFY{{Mu]}acW Le^&kW@`N>IՆe:Ef&r!uAU$T) HNhchuy\$RaS&%F ]a'^zXm ׬y PD2[( lVwATZ׵bdHEސ"lx a AT&@T& t(,##+ ͔L G|!DE0aq (A '$ b(D a EB^H@tu䩽2sBTƮE, `FB' ;+H@L' L`l0N- }~¨FLV{*@'HȐ{pde ghP,֝$ A I1f;;v3A(h$Sup 3d "v-]>}PZi$ ΒBFw$()mA' $8dpI N !RQ]iPBTXDa˴U+E@hn f)AO$F!0)BlMС"(L{5|$W:B3 fBEq~vRAMDISK.MAC$ Rh(wJeRB$bIl2L㡄i7S3 Dy '3\.%B!k9L$h  7,A@l0pby5sE,B!-Ht9͂1W 34\uXeia2MF 7^2FSv[Ӛɶ:n2Lu3iaKԎr لdȞyFHQa;:y3YM3Ygp`w7yes}$ C!oofM!Ga,~y8e$W@l|Y hѠo@1JY!&Ht^@vc?GAmdxmk7rGAk (nz iyQeo[ dRDIՐKZFA+g4haL1e5nؠo"2( , )BxA 4 2A%Jvjj*:F:ε*\k l:i L ,hCjB@Dm]Wfm5MFm1@/B FmHQuajHZh*%܉"o-BJU[rDdޑ%q I8NL`,;U)`8rpɅdRcno18aT*zOeKkV5ٙj@s:-mk`d S47@;Z_^.GAe҄C~Byu:EwBi= [0P9]Vh .VG2aTJcVĦcsi&K( +&s %V{΋l"u&u&F1)^w@!"t2 P d:$`]$}H2|܎,%X: A(7wXʺ=`#[*nŀVx)$!'H1&3 d-@|^QS:G1%U \W6 a]iƸ)4"lD=HxoQ"]LWC OxF(U&2eCdu`.h$JіYR1O@ ۓ6(( bfF'@'$8i04#cETlDx}5ĜTy3ItΘ" K dF` Za+MފF'bMQF5T~Д %UD'X&h~hBj.HEv5H`r$EJdٓk9*[t[Ɔm3c!B+-p,RȞ\PNM)\d45IIB)^7mLC/` ,"I'Cͱ%LdRvZ!L7"LAQj9>mqu"޹NPk > trʰ