AFC COM`AFC CQ fBAFC CRL9AFC DQCAFC SYMAMON C AMON COM1AMON CRLFAMON DQC\ AMON SYMeAS COMjLAS CQ LAS CRL6AS DQC8 AS SYMXATARI H `ATARI LIBfATARIBUSDQCm ATARIFN CQMy3ATARIFN CRL DOSTRUCTH HARDWAREDQC PATCHINGDQC!* b͸{20;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_ :pns = -D display directory -G fn get text file from P-D -GB fn get binary file -P fn put text file into P-D -PB fn put binary file -K fn delete file from P-D -X sn display sector data (sn = hex) -E fn examine file data sectors .AT?sorry, can't open %ssorry, VTOC or directory read error on %ssorry, function must start with '-', at %ssorry, need filename after '-%c'%xsorry, unknown function '-%c'sorry, VTOC or directory write error on %ss %d function%s processed.^FIMQVZ^bj #,;DS\cgp!9DM͐ |! ! ͔! ͮ! ͮ!(-! ~#fo++s#r! ^#Vr+s! ^#Vr+s~#fo!22! s#r͐n}X ͐n}.X ! ^#Vr+s5 ͐n}p !͐!!2+-"2#|› !2! ͔!(-!!h*2͓-#| !!2*2-#| !!3*2-#| !2!͔!(->22! 6! ^#Vr+sz ! ^#Vr+s~#fo`is#r͐n}-N ͐!H͔!(-`i^#Vr+sn}D{ Gʁ P K XK Eʏ  ! ^#Vr+szʼ `i^#Vr+sn&! ^#Vr+s~#foÿ ! ^#Vr+sz `i^#Vr+sn&! ^#Vr+s~#fó ͐n&!s͔!(- ! ^#Vr+szE ! ^#Vr+s~#foH ! ^#Vr+s|` ! !! ^#Vr+s~#fo"͐) ! ^#Vr+szʻ ! ^#Vr+s~#foþ ͐n&!͔!(-! 4 *2}G !!h*2͓-#|2 !!2*2͇.#|2 !!3*2͇.#|G !2!͔!(-*2;/! n}` !c !! n&!͔!99/17/83Atari File Converter %s by Dave Warker x>AFC drvfn function function ... drvfn = ATARIDOS Pseudo-Drive (P-D) filename functions = -D display directory -G fn get text file from P-D -GB fn get binary file -P fn put text file into P-D -PB fn put binary file -K fn delete file from P-D -X sn display sector data (sn = hex) -E fn examine file data sectors .AT?sorry, can't open %ssorry, VTOC or directory read error on %ssorry, function must start with '-', at %ssorry, need filename after '-%c'%xsorry, unknown function '-%c'sorry, VTOC or directory write error on %ss %d function%s processed.!9DM*2* 2!2!͔3`is#r! 6͐! 7ڣ͐n&@|g}o|QÑ! 5n}j! >/! 6͐#~#fo͐ ͐!͔`i^#V!r+s*! >/!9 directory of %s (%u sectors free of %u)%8.8s.%3.3s %-3u !9DM͐"J;|͐!͔*J;###~#fo! s#r!͐+-"A7#|ʐ*A7;/͐!͔m/&=`is! >/`in}Yʇ!/ͮ͐͢/!C7͐q#|µ͐!8͔͐|ʱ!͐*2͓-#|!!L;*2-#|͐!\͔ñ! 6!;~5o}ʊ! n}8!C7! ~4o&L;n&Ç! ~4o&L;n`is{Xhx!~!C7Ç!C7! Ç!C7`in&*;&|g}o*;ѯg! s#rõ! n}!C7!!C7 !C7s!!9sorry, there is no DOS file named %s %s already exists on CPM disk, delete? aborted sorry, can't create %s on CPM disk sorry, bad DOS sector read on %s !9DM͐ |͐ !͔m/&=! s#r! >/͐|͐ |! 6! n&|! n&))))3n&@|g}o|! 4! n}@:͐ ! ͔! n&))))3"J;! *J;!7]!!2!2]!C7͐ ͥ!#|™͐ !-͔*J;6B*J;###s#r! s#r|͐ !J͔ò*J;#6#6`i6!C7!! s#rzG͐|! n}G`in}}¶! s#r|0͐ !q͔ò*J;#^#Vr+s! n&))͐}2;͐}2;`in}2;!͐*2͓-#|ʕ!!L;*2͇.#|¦͐!͔ò͐! s#r`i6! n}1͐> >> >(1!C7!! s#r!|! 6#6%͐#|!C7͐ͻ"! 6 #61! 6#6`i~4o&L;͐s! n&))}2;>2;`in}2;!͐*2͓-#|ʑ!!L;*2͇.#|¢͐!͔ò>22!C7s!*J;6!!2!2]!C7s!!9%s already exists on DOS pseudo-disk, delete? sorry, no free DOS slots for %s sorry, no CPM file named %s sorry, no room for %s on pseudo-drive sorry, not enough room for %s on pseudo-drive can't write DOS sector %d can't write DOS sector %d !9DM͐"J;|͐!͔!!!2!2]*J;###~#fo`is#r͐|ʹ͐!͐*2͓-#|h!!L;*2-#|”͐͐!͔!!2!2]!*;&|g}o*;ѯg`is#r%*J;6{22&!9can't kill %s, doesn't exist on pseudo-drive can't kill %s, read error on sector %d !9DM͐͐/T͐!͔!Ï!͐*2͓-#|ʅ!!L;*2-#|™͐!͔!Ï͐!͔`i6`in&|ҁ`in&!͔! 6! n&|`in! nѯgWL;n&!͔! 4!ͮ! 6! n&|q`in! nѯgWL;n&|g}o! s!|]!.>/i! n&>/! 4`in&së! >/!Ï!9bad sector number - %d sorry, read error on DOS sector %d --- sector %d %02x - %02x !9DM͐"J;|͐!͔ì͐!͔*J;###~#fo! s#r͐`is#rzʞ! >/͐)#|hÞ*;&|g}o*;ѯg! s#r*;&!͔?͐!͔!9sorry, no DOS file named %s === file %s--- data length %d === end %s !9DM͐!7/3! s#r͐! 7ڶ͐n&@|g}o|ʢ`i6`in&|Ғ`in&7n}?ʌ`in&7n͐`in&n}ʌÒ`i4I`in} ¢͐ü! ^#V!r+s!!ü!9!9DM* 2|!ä* 2+" 2`i6`in&|@! 6! n}:`in&'2n! nѯgW|g}o|&K! n&s`i4!͔ä`in&'2n! n}/o&ѯgW|g}os`in&)))! s#r! n&)s{ʝ! ^#Vr+s~͐ä!9something's wrong with the sector bitmap !9DM͐`is! ~#fo|g}os#r! 6! ^#Vr+sz/! n&s `in&'2n! nѯgW|g}os* 2#" 2!9!9DM! ~5o}ʒ! ^#Vr+s! ^#Vr+snse!9DM!>/! )#!9DM͐n}! ^#Vr+sn&>/ö!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{͐!9!9DM! ͐'!9DM! n&*|d! n&k! n&&!9DM͐͐/s#rzҖ!͐͐s#r͐##6#6͐6͐~#fo!9DM͐v͐>>>>%>>8>>Kv! n&>/! n&!"0! n&!"0! n} c! !"0! n&!"0͐##^#Vr+s|!͐͐~#fo͇.|ʴ!͐##6#6͐͐s#r͐^#Vr+s! ns&!9DM͐!N*! )#!9DM͐. !j!͐n&|g}o|M !j!͐##~#fo|f !j!͐##~#fo`is#r͐͐͐~#fo͇.͐ʳ !j!͐+?`is#r͐##~#fo|C!!͐͐͐30͐##~#fo͐s#r͐~#fo͐s#r!!͐~#fo͓-j!͐##6#6͐͐s#r!j!!9!9DM͐ڋ!!͐ ͐~#fo;/!9DM͐!͐+-s#rz!!͐##w#w͐6͐~#fo!9DM͐|"m/ò"͐+++|"!"0ò"͐##^#Vr+s|›"!͐͐~#fo-`is#r!|n"͐##^#Vr+sò"͐##͐?+s#r͐͐s#r͐^#Vr+sn&ò"!9!9DM͐|"! n&̈́0͐"͐##~#fo|"!͐^#Vr+s! ns͐##^#Vr+s!!Y9DM! ^#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&?+}#! n+#!! s#r! ^#Vr+sn`is{.1$! n+! s#r! 4! ^#Vr+sn`is`in&=}Db$Uʞ$Xʧ$Oʰ$C$S'%ʠ&æ&͐~#fo|Ҟ$! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ö$! 6ö$! 6! ~#fo! n&! ^#Vr+s~#fo! ͝*ѯgs#rß%! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sß%! n}:%! 6#6! ^#Vr+s~#fo! s#r͐n}ʟ%͐|ʟ%! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sU%͐6! ! s#r! n} &! ^#Vr+s!| &͐͐! n}%!0%! !%!9~#fo#| &! 'û%͐n}Q&͐͐! ^#Vr+sn&!?&!9~#fo#|N&! ' &! n}ʝ&! ^#Vr+s!|ڝ&͐͐! !&!9~#fo#|š&! '[&&! '͐͐`in&!&!9~#fo#|&! ''͐͐`in&!&!9~#fo#|'! 'X#! '!9!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{ *! n&+|u'H'! n}%ʳ'! n! +ʥ'! n&*ð'! ^#Vr+s)! 6#6! 6 `i6! ^#Vr+sn! s{*'`i4! ^#Vr+sn! s! n&=}X%(O.(D7(U](S(C|)ø)! 6](! 6](! +|](! 6#6! ^#Vr+s! w#w! n&! +>,#|Œ(! n&*! n&! ^#Vr+sn&>,! s{(͐ ! nѯg?! nѯg! s#rÌ(! ^#Vr+s)! +͐ ~#fo! s#r! ^#Vr+sn! s{Z)! n͐n}:)! ^#Vr+sZ)`in}W)! ^#Vr+s! ns)`in}y)! 4͐6! ^#Vr+sH'`in}ª)͐n&! ^#Vr+s~#fo͓0! 4! ^#Vr+sH'! n&*`in})! ^#Vr+s~#fo͐ ͐?s#r! 4͐n} *! n&*H'! n&*!9!9DM! n&|ͯJ*! n&|ͩ!9DM͐||*͐! #||*!͐͐#|–*!!!9DM͐͐ *͐^#Vr+s͐*͐0*͐7s!&6+͐ ͐͐ ͉͐͝*`is͐ ͐͐ )͐͝*`in&#&6+!9!9DM! n&|ͯj+! n&|ͩ!9DM`iw#w͐~#fon&?+}ʻ+͐ ?͐^#Vr+snѯg`is#r|+͐+!9!9DM! n} ͝+! n} ͝+! n} ͝!9DM͐~#fon`is+|-,͐^#Vr+s,`in&5,!9!9DM! n&=! s,|v,! n&sÞ,! n&?+}ʙ,! n&sÞ,!! n! n&+ҽ,!,! n&!9DM! n&,|ͣ,! n&*|ͣ!9DM! n&|ͯ$-! n&|ͩ 7,:-> 2h*P/:q2> ʊ-:h):Rv-=v-=> Š-:qw#w#w:ho&552?7:P,>ҩ-2?!^#V*R:T-=--*P͞0*R!s#r7:P)V>ځ.z>ʁ.z2:P,"j!"l*T|*l.5*R*j!ѷJ.2?D.D.!.*l.*T+"T*R"R*l#"l*j! N#Fp+qx .##6>2?.2?7:P)"XV>5/z> 5/z2:P,"j!"l*T|.*j!^#V*X#^#V.r+s*l5*R"R*j"*l /2?.#"l*T+"T*j! N#Fp+qxµ.##6>2?.2?#  R/ > _ a/ :no|/2n& !o Ÿ/ . & !\/:q25!> 2?+7*R~# / /+*P&!7*P͢/:q2\50> 2?!*P+-7:PO*R7*T|DM*R*Pb0>2?)~2#"j!!~#fo#^#Vp+q*j~#fo0s#r5vAAFC.Ca  !#"$o%'&(*)+-,./1024356789:;=<>?@ABCDFEGHIJKLMNOPRQTSUVXYWZ[\]_^`O3Nw*K+q*~~[nqF Gag]͠ (@[M~:dUZ<~8oWz B!|7@a~GͤK3ͨ} 쾆jPgGm*̀H |=uX~[ 5 Ig(+{[\n65V[\kpv8j3fS VH_2\U`5 qQIG^~=,n PmR=,T3ߺ:Z:*S8*=XA.C՝qӁWiroאU j] G#+5 Go[?Ψ\6M?~q3G#-l6BMoq-y:h4ۦ,EES9GVhd_A Tio]9Z8Hs8h}q"-a}mFhd_[WxhIcg5zWimv_o[AhDqӁ^߶5V4ۦz㇣@.1*~Vz 5 G#-lmz{ݸaU-y:h4Moq7Ž=Og),\@#-iJݖ;z qGR3/NN1_ߺ-pƎHs8h}q"-a}mdQD КBѭs 2bf9 YՠE﷮B;@SUn{t+t3jmO6\߶*=5tT&04ߺ [X?MC7o[04￟⾦BjT!RI=@?3j. mb6@ 8 ?=xj”*J/?L3f b׍ہ*Y>}~Liֈ g OUi?}?h8jf4M[k”\i 2bg(XqL02vF>sMoq?~ G.2m1i;z#T0ŏx{^~zݷL:_3y^zA5ea/SڶtO84=wLM݆ޟTӥc}mt>њ{R4LilѵtB=^z?*k}?*ă*N^kۖр* uXȽ~UʼnSs㵾tm_"{эjg۞K˾8ɹg M0^kۖiQ>MJK} 3d\;]۶til=6qTn{LQǔ{!w;*׶-Ӂ[^zb@q˟#V˾8׶싓7,xv`}YʔIasgKw3Rh8 |=[Oxjtf*1s7pB!xr7p7"ŽntU5uu,\spWo˾tOAuzjy? t)t ܼo!՝;~8,7\7p~\94cq+il 6\7Н&ҍ\Ns8 ܼN!Jѭc)긁Z*]騤#L*=b,B ܼ3z)4~8*HU7НK缾4ix8Xk0qk鞪 CV5 =K]>4-{`' IPkd r'S t>K;9#IB݋wY)aIz`s"L~Є<_՞cb#XR!1oFi|_c 2K/j1U?#o0Afrs^o~Qa4jnqzk6g+]9qptc0~uk8X=g}M0_HQ5S5~᳔+]9ͣ|}MR_` 0K mG~DeޚyYJk^ .wq| f^oN`iA^6~ ~V{` ܺxm{6z99M`0 X4~еt[{1#h8*= E8[YB=e.;q!0nIa8cB=e JsAvMz[)[@a9!0n{Nm3`[9&69bO8*=05z=ey}^tmJV]~Е<_7C {X!Zҋ. vo@"s]3ڝҽ0rc!Ժ|/OQ1e~еcȝ&~U g}+yltorcYxT۞Tc}x˾R,[yjUYYb]Uy}' % 8l>D2DNw0`&g)Pl iVf6cߗ}qr/9@6trgɸ8w?zXngYɎ]Ut-Ӂ6K]Rv@=,ftMA ~V{ьOG4<y}?hrt& ]A/wU"5VX۶tOgݩ*=j(Sp4UA^z?:|S’ hSƻ44x:M3`S# (Sl: m Գ`u˾8<MHc˾8 AȔ%r[soC.]Ѵg+6ix?hb3|0Mˣb/as"L~Є<_՞cb#ȣbkxj,\O@0Mn~Фkk,Cݷ5u#-K],~d,U|dDn7~ФGtU%9 t9!πn4M~:U'G6ͣ|}MM=YQiku6gi4%--8 ;ls^oNTe?$ *<0^so#E2̼2lޜmQaF-mYrٷy} 2<*Pp "a~^2D )Heasʔ 9TP~Фkت;{Y6cC[.zb 6Q˰y}?c.6ҽ%Ir㇣mȪ.z_㇣K,qL/Ne_4cZuCLw0P˼t}q-,3;X A;U% z{:) s/t>@=,9M3`S# OjP뢣§z&"$g}qy^Ɩ}q&g%r[#e͇ast& ]=Y(Ek(Lp5 Y.tx]xG`S\8N39ͣ|}?:| !;ls^op !r{sn 4mmۛ}k6ȬHoqomTTly`0BD& 4)pXcu^z?hRU^@Y()S~^TP|M hATUzU%[4 t&=zጭ -*9ۍwi| ylt3?rz]vG*6XmHc9mgQ"nA/[u9Mn3)ݣF48V=,KMkw6D:̎ u)d JKU5_lhAvMzQA)[PUs"L~ ~J;qS4z=rz][a^oõ|] o+,i^ostR4s}MA !,UTLA. SL8 & ]kw6D:̎mp!RƑ_z)4U'Tl sj@;́  Jk6t}q2X~u,2)JLIi|?hB/ݦ*=Wx tY&Gq L^4t>KU5_,Es"L~?ڣG POقCax&ҭFϱ'ҁNU . ~6vAҽvYޞ,(Z3tfC9M3`{Kم~x5M3`[9&6`ӁWix tY~6MgKtvY~mOPהZa}+C8PUn{44!-,7p;MϢ;@r3 t9ͣ|}?hU'D )Heasʔ 9TP~Є<_.t [Q~xh*/iZIAW ~ z7e= {? H~:tS>ܙ`2.xߗ}qr]e_kǐ;LŹUų' % 8kha;]d\APl ix{ hHtv`~dv,ƒ*+e6W9^)K*kN0_o3|Hg眣8ߦmH~_q[#RUn{冬jPg{;qlUeNAW'MV9~uNUY?:|m?UestRtu TʺtdiEk),Z4M[&ޞ,ͱKNEkci=e 9f,mEU$i+96X^gKZm ñ 쾦96W7НGq`}}cy?V^T\ArnJ{}?ZUn{Biz紾teG4.S蜃T۞mHUYoxKT۞XH~:dUZ=KZUf;mAW'MV9Aצik@LIaAWoOH±iM]r*Z.ךؙ2蜳to+/J 97M[yAW G ~k 2ۦKم~x5M3`[9&6`ӁWix tY~6MAIDIRECTOқ GETFIL PUTFILIKILLFILŶEXAMINhEXAMFILŤFINDFALLOSEFREESE2MOV2 PRINTPUTEXISTRCPOPESEEREADIRECTOGETFILPUTFILKILLFILSSCANEXAMINEXAMFILWRITCLOSx3!9DM͐ |m!!!{!! ! ~#fo++s#r! ^#Vr+s! ^#Vr+s~#fo!2 2! s#r͐n}͐n}.! ^#Vr+sð͐n}!͐ !!2"2#|!2!! !!h*2#|^!!2*2#|^!!3*2#|s!2!! >22! 6! ^#Vr+sz]! ^#Vr+s~#fo`is#r͐n}-͐!! `i^#Vr+sn}DGP=KʔXE <U! ^#Vr+sz7`i^#Vr+sn&! ^#Vr+s~#fo:xU! ^#Vr+szx`i^#Vr+sn&! ^#Vr+s~#foÑ͐n&!! U! ^#Vr+sz! ^#Vr+s~#fo!xU! ^#Vr+s|U! !! ^#Vr+s~#fo$͐'U! ^#Vr+sz6! ^#Vr+s~#fo*9xU͐n&!! ! 4~*2}!!h*2#|ʭ!!2*2-#|ʭ!!3*2-#|!2!0! *20! n}![!\! n&!^!99/17/83Atari File Converter %s by Dave Warker x>AFC drvfn function function ... drvfn = ATARIDOS Pseudo-Drive (P-D) filename functions = -D display directory -G fn get text file from P-D -GB fn get binary file -P fn put text file into P-D -PB fn put binary file -K fn delete file from P-D -X sn display sector data (sn = hex) -E fn examine file data sectors .AT?sorry, can't open %ssorry, VTOC or directory read error on %ssorry, function must start with '-', at %ssorry, need filename after '-%c'%xsorry, unknown function '-%c'sorry, VTOC or directory write error on %ss %d function%s processed.^FIMQVZ^bj #,;DS\cgp 058;Lqv047:EIR[cr{PRINTPUTCHA !9DM*2* 2!2!3`is#r! 6͐! 7گ͐n&@|g}o|]Ý! 5n}v! ! 6͐#~#fo͐ ͐!`i^#V!r+s6! !9 directory of %s (%u sectors free of %u)%8.8s.%3.3s %-3u "CX[fmFINDFGETCHAPRINTOPECLOSTOUPPEPUTCHAPUTUNLINFCREASEEREAPUTFPRINTFFLUSFCLOS3!9DM͐"J;|]͐!  *J;###~#fo! s#r!͐ "A7#|*A7͐!F &`is! `in}Y!n͐!C7͐#|͐!w ͐|!͐*2!#|.!!L;*2$#|?͐! ! 6!;~5o}! n}w!C7! ~4o&L;n&'! ~4o&L;n`is{ʗʧ÷!!C7*!C7! '!C7`in&'E*;&|g}o*;ѯg! s#r! n}!C7!'!C7-!C70!9sorry, there is no DOS file named %s %s already exists on CPM disk, delete? aborted sorry, can't create %s on CPM disk sorry, bad DOS sector read on %s 3AJRV[y #,48=NXpu FINDFGETCHAPRINTTOUPPEPUTCHAKILLFILMOVFOPEALLOSEGETSEEWRITUNGETFCLOS-!9DM͐ |ʉ͐ ! & ! s#r! ͐|†͐ |‰À! 6! n&|! n&))))3n&@|g}o|! 4Ï! n}@͐ ! À! n&))))3"J;! *J;!7!!2!2!C7͐ #|E͐ ! À*J;6B*J;###s#r! s#r|w͐ ! ^*J;#6#6`i6!C7! s#rz͐|±! n}`in}}b! s#r|͐ ! ^*J;#^#Vr+s! n&))͐}2;͐}2;`in}2;!͐*2!#|A!!L;*2$#|R͐!L ^͐! s#r`i6! n}͐> |>ʋ> ˆ>!C7! s#r!|°! 6#6͐#|!C7͐'! 6 #6! 6#6`i~4o&L;͐sÄ! n&))}2;>2;`in}2;!͐*2!#|=!!L;*2$#|N͐!g ^>22!C7*À*J;6!!2!2!C7*À!9%s already exists on DOS pseudo-disk, delete? sorry, no free DOS slots for %s sorry, no CPM file named %s sorry, no room for %s on pseudo-drive sorry, not enough room for %s on pseudo-drive can't write DOS sector %d can't write DOS sector %d J;AIMRXhv~ *2:>CRdlpu'6?GKPjtz#2;CGLX\pz~FINDFPRINTMOVFREESESEEREAh!9DM͐"J;|B͐!! !!2!2 *J;###~#fo`is#r͐|͐ !͐*2#|ʧ!!L;*2#|͐͐!@!!2!2 ! *;&|g}o*;ѯg`is#rd*J;6{22& !9can't kill %s, doesn't exist on pseudo-drive can't kill %s, read error on sector %d #,48@OksPRINTSEEREAPUTPUTCHA!9DM͐͐/=͐!!x!͐*2#|n!!L;*2 #|‚͐!!x͐!`i6`in&|j`in&!! 6! n&|`in! nѯgWL;n&!! 4÷! ! 6! n&|Z`in! nѯgWL;n&|g}o! s!|F!.R! n&! 4`in&sÔ! !x!9bad sector number - %d sorry, read error on DOS sector %d --- sector %d %02x - %02x '/3;KTcltx 9@DOXhovFINDFPRINTPUTCHAEXAMIN!9DM͐"J;|9͐!͐!*J;###~#fo! s#r͐`is#rzʸ! ͐ #|‚ø*;&|g}o*;ѯg! s#r*;&!Y͐! !9sorry, no DOS file named %s === file %s--- data length %d === end %s &.27?Cfmv}SETFC!9DM͐!73! s#r͐! 7ڻ͐n&@|g}o|ʧ`i6`in&|җ`in&7n}?ʑ`in&7n͐`in&n}ʑ×`i4N`in} §͐! ^#V!r+s&!!9 3HZjPRINT!9DM* 2|!* 2+" 2`i6`in&|ҁ! 6! n}{`in&'2n! nѯgW|g}o|gÌ! n&s;`i4'!`in&'2n! n}/o&ѯgW|g}os`in&)))! s#r! n&)s{! ^#Vr+sÿ͐!9something's wrong with the sector bitmap 3Cbey!9DM͐`is! ~#fo|g}os#r! 6! ^#Vr+szX! n&s3`in&'2n! nѯgW|g}os* 2#" 2!9BV7!9DM! ~5o}5! ^#Vr+s! ^#Vr+sns3vAFC.DOCG   !"#$%'&()*+,.-/10234576o89:<;@>?A=BDCEF8{ ?C n^ &pX֓;Z^ qk(swSh^mʞfn_Dߵ{*pN`6j {OiSmΪ_oeʝ$[g1`g F di6b}z[/?U9G_JÙv\ܵCѸ,޵+>mYL+ٵGdzS]aB͕ oF}}Ki>|@RtHmIJ/}*LiV2ڨ+3 è($q7Ҫd1`9g=*,w4#wV{O`OO`p:r'Y 18 l@һv{%qߗV 4&ѣw{ g۟YLmVߵne εQ7W.gԧeXƴWbp䪲k'W5i6b?sSg1W; }2*zO`K_/o<&{ɇK_/|=W)6UkLj@ZO`{O'z%sV6ɝ9yӝZz{S/*ONkS}=IN`OCw}z,78YmszI+]!ξSKbm߸43bw' / \Z־>CC AMON.C A>CLINK AMON -F ATARIFN 9/83 Dave Warker */ #include #include "atari.h" #define MAXENTRIES 1000 /* max # bus cmds stored */ #define PRINTER 2 /* printer file id */ struct cmdframe { /* ATARIBUS cmd frame */ char dev; char cmd; union { char byte[2]; unsigned word; } aux; } cf; struct cmdframe frames[MAXENTRIES]; struct cmdframe *curframe; #define FIRSTFRAME (&frames[0]) #define LASTFRAME (&frames[MAXENTRIES-1]) char *p,*q; char fn[20],iob[BUFSIZ]; char c,bucket,*error; main (argc,argv) char **argv; { error = ""; curframe = FIRSTFRAME; for (;;) { cls(); printf("\ ATARIBUS Monitor version of %s\n\ (ATARIFN version of %s)\n\n\ currently %u frames in buffer\n",VERSION,atarifnver(),(curframe-FIRSTFRAME)); printf("%s\n",error); error = ""; puts("\n\n\ I-nitialize frame buffer\n\ M-onitor bus\n\ D-isplay current frame list\n\ P-rint current frame list to CPM printer\n\ Q-uit to CPM\n\n\ which? "); switch (toupper(getchar())) { case 'I': curframe = FIRSTFRAME; break; case 'M': monitor(); break; case 'D': display(); break; case 'P': writef(); break; case 'Q': cls(); puts("exiting to CPM."); exit(0); } } } monitor () { puts("\n\nmonitoring, press any key to stop. "); while (!getcf(cf)) if (cf.dev == DISK1) if (curframe <= LASTFRAME) for (p=cf, q=curframe++, c=5; --c;) *q++ = *p++; else { error = "Oops, buffer full."; return; } bucket = getchar(); /* drop char on floor */ } display () { struct cmdframe *p; char lines; if (curframe == FIRSTFRAME) { error = "Buffer empty."; return; } printf("\n\n%u entries:\n\n",(curframe-FIRSTFRAME)); for (lines=23, p=FIRSTFRAME; pdev); switch (p->cmd) { case READ: printf("READ sector %u\n",p->aux.word); break; case WRITE: printf("WRITE sector %u\n",p->aux.word); break; case PUT: printf("PUT sector %u\n",p->aux.word); break; case STATUS: printf("STATUS REQUEST\n"); break; case FORMAT: printf("FORMAT\n"); break; default: printf("UNKNOWN cmd = %c, aux=0x%04x\n",p->cmd,p->aux.word); } if (!--lines) { lines = 23; puts("PRESS ANY KEY FOR MORE (ESC TO QUIT) "); if (getchar() == 0x1b) break; puts("\r \r"); } } puts("\n\npress a key to continue "); getchar(); } writef () { struct cmdframe *p; if (curframe == FIRSTFRAME) { error = "Buffer empty."; return; } printf("\n%u entries:\n",(curframe-FIRSTFRAME)); fprintf(PRINTER,"\n\n%u entries:\n\n",(curframe-FIRSTFRAME)); for (p=FIRSTFRAME; pdev); switch (p->cmd) { case READ: fprintf(PRINTER,"READ sector %u\n",p->aux.word); break; case WRITE: fprintf(PRINTER,"WRITE sector %u\n",p->aux.word); break; case PUT: fprintf(PRINTER,"PUT sector %u\n",p->aux.word); break; case STATUS: fprintf(PRINTER,"STATUS REQUEST\n"); break; case FORMAT: fprintf(PRINTER,"FORMAT\n"); break; default: fprintf(PRINTER,"UNKNOWN cmd = %c, aux=0x%04x\n",p->cmd,p->aux.word); } } } * b͸{  3w{Öü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_ :pns = -D display directory -G fn get text file from P-D -GB fn get binary file -P fn put text file into P-D -PB fn put binary file -K fn delete file from P-D -X sn display sector data (sn = hex) -E fn examine file data sectors .AT?sorry, can't open %ssorry, VTOC or directory read error on %ssorry, function must start with '-', at %ssorry, need filename after '-%c'%xsorry, unknown function '-%c'sorry, VTOC or directory write error on %ss %d function%s processed.^FIMQVZ^bj #,;DS\cgp!9DM! "3 "/ͤ*/! !͉ͼ! ! ͈*3! ͈! "3! ͢>I& >Y >M2 >c >D> >i >PJ >o >QV >u È  "/È ͅ È ? È ͝ È ͤ!u ͢!9/17/83ATARIBUS Monitor version of %s (ATARIFN version of %s) currently %u frames in buffer %s I-nitialize frame buffer M-onitor bus D-isplay current frame list P-rint current frame list to CPM printer Q-uit to CPM which? exiting to CPM.! ͢! | * }1 */!/  "/*/"/"/>23!35n} */#"/+*/#"/+ns !, "3Î }23 monitoring, press any key to stop. Oops, buffer full.!9DM*/! ^ ! "3Ò */! !͉! ͈! 6 `is#r͐*/҇ ͐n&! ͈͐#n}R W P S ! ' ͐##~#fo! ͈E ͐##~#fo! ͈E ͐##~#fo! ͈E ! ͈E ! ͈E ͐##~#fo͐#n&! ͈! 5n}u ! 6!4 ͢|m Ç !Z ͢`i^#V!r+sÉ ! ͢!9Buffer empty. %u entries: Drive %c READ sector %u WRITE sector %u PUT sector %u STATUS REQUEST FORMAT UNKNOWN cmd = %c, aux=0x%04x PRESS ANY KEY FOR MORE (ESC TO QUIT) press a key to continue !9DM*/! ¼ !"3*/! !͉! ͈*/! !͉!! `is#r͐*/͐n&!)!͐#n}RKWgPʃSʟ!ʯÿ͐##~#fo!5!͐##~#fo!H!͐##~#fo![!!n!!~!͐##~#fo͐#n&!!`i^#V!r+s!9Buffer empty. %u entries: %u entries: Drive %c READ sector %u WRITE sector %u PUT sector %u STATUS REQUEST FORMAT UNKNOWN cmd = %c, aux=0x%04x !͢!9/17/83 "V:2SXzQ!hhX zQ*V>w#O>X5!z* xhzA-,-!9DM!! "!9DM͐n}! ^#Vr+sn&ê!9DM! n& |! n&! n&&!9DM͐!;! "!Y9DM! ^#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&,}! [!! s#r! ^#Vr+sn`is{.*! [! s#r! 4! ^#Vr+sn`is`in&}D[UʗXʠOʩCS ʙß͐~#fo|җ! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ï! 6ï! 6! ~#fo! n&! ^#Vr+s~#fo! ͊ѯgs#rØ! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sØ! n}3! 6#6! ^#Vr+s~#fo! s#r͐n}ʘ͐|ʘ! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sN͐6! ! s#r! n}! ^#Vr+s!|͐͐! n}!0! !!9~#fo#|!ô͐n}J͐͐! ^#Vr+sn&!8!9~#fo#|G!! n}ʖ! ^#Vr+s!|ږ͐͐! !!9~#fo#|“!T!͐͐`in&!!9~#fo#|!͐͐`in&!!9~#fo#|!Q!!9!9DM! n&|ͯ7! n&|ͩ!9DM͐|i͐! ͸#|i!͐͐͸#|ƒ!!!9DM͐͐ ͐^#Vr+s͐͐0͐7s!&#͐ ͐͐ ͉͐͊`is͐ ͐͐ )͐͊`in&#&#!9!9DM! n&|ͯW! n&|ͩ!9DM`iw#w͐~#fon&,}ʨ͐ ?͐^#Vr+snѯg`is#ri͐ï!9!9DM͐a͐>>>>>>#>>6a! n&! n&!G! n&!G! n} N! !G! n&!G͐##^#Vr+s|!͐͐~#foX|ʟ!͐##6#6͐͐s#r͐^#Vr+s! ns&:no2n& !o  . &   , > _ ; 7:PO*R7:P)"XV>z> z2:P,"j!"l*T|´*j!^#V*X#^#VҬr+s*l5*R"R*j"*l2?ï#"l*T+"T*j! N#Fp+qx†##6>2?ì2?MAIMONITO}DISPLArWRITEJ CLPRINTATARIFNPUTTOUPPEGETCHAMONITODISPLAWRITEEXI!!9DM!"3 "/*/! !͉ !!*3!V!Z"3![ >I>>M›>>D§>>P³>>Q¿> "/! !69/17/83ATARIBUS Monitor version of %s (ATARIFN version of %s) currently %u frames in buffer %s I-nitialize frame buffer M-onitor bus D-isplay current frame list P-rint current frame list to CPM printer Q-uit to CPM which? exiting to CPM.%*7NRVZeintx|PUTGETCGETCHA !! |„* }1*/!/y "/*/"/"/>23!35n}v*/#"/+*/#"/+nsTÁ!"3 }23 monitoring, press any key to stop. Oops, buffer full.  )7\twzPRINTPUTGETCHAj !9DM*/! +!h"3_*/! !͉!v! 6 `is#r͐*/T͐n&!͐#n}RʙWʰPS!͐##~#fo!͐##~#fo!͐##~#fo!!!͐##~#fo͐#n&!! 5n}B! 6! |:T!'`i^#V!r+sV!O !9Buffer empty. %u entries: Drive %c READ sector %u WRITE sector %u PUT sector %u STATUS REQUEST FORMAT UNKNOWN cmd = %c, aux=0x%04x PRESS ANY KEY FOR MORE (ESC TO QUIT) press a key to continue , #)@Dcnr  $(,58;?RUY]PRINTFPRINT !9DM*/! (!i"3`*/! !͉!w*/! !͉!! `is#r͐*/`͐n&!!͐#n}RʷWPS !+͐##~#fo!!N͐##~#fo!!N͐##~#fo!!N!!N!!N͐##~#fo͐#n&!!`i^#V!r+so!9Buffer empty. %u entries: %u entries: Drive %c READ sector %u WRITE sector %u PUT sector %u STATUS REQUEST FORMAT UNKNOWN cmd = %c, aux=0x%04x # &=AZb|  $)@H^v|AMON.DOC;   !"#$%&'()o*+-,./2140367:895qE%QJ>\kQ|S_X[O/䱮)Zx ؾvcY'^硷| Oڱ.~Qru {u|!ZWNDRrA:f}uys{n1p4Pu XJ2Jo_(/h*Ǧ>9ƱcKdo9Pz阃}oz|3z|]̗k[,,D/xxN%儧?<^UDkqf\kQ| tfɸ쵞 ߍ)Y8ֵ>|z!z}k="f^󕨪Gd\hvOIIO!{|+Az:ƱTu ѣO!t4 _9΁uf<<^[C؍!NgF&jਭiX9ð0~ w+o?O鼒[O8J>!z]gx˧Ww] ai+QU֏܅X9ka7|74нz6] We)ka7 vKI%Y=><߯/+a=Lp(i8J]"s6kKI%Y=fG[|y\Dpσs`KI%Y_a{&fvכOþ*\.NƅfL4s:< C;7zoO3'0{Sҫ_nena1Fuvx;$zd !"#$08B8 MAIN 0A85 MONITOR 0B3F DISPLAY 0D9D WRITEF 0FA4 CLS 0FBC ATARIFNV 0FC8 GETCF 1058 CMDF$ 1068 INCH$ 1078 GOTCH$ 1088 PRINTF 10A2 PUTS 10CE TOUPPER 1102 FPRINTF 1122 _SPR 150C ISLOWER 153B _FPUTC 158A _USPR 162C ISDIGIT 165B _GV2 16B8 PUTC 17E0 GETCHAR 1815 EXIT 1818 PUTCHAR 1847 BDOS 1858 WRITE Link statistics: Number of functions: 26 Code ends at: 0x190C Externals begin at: 0x2000 Externals end at: 0x33CF End of current TPA: 0xC506 Jump table bytes saved: 0x9F Link space remaining: 14K * b͸{0&1w{Öü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_ :p 0"H1#n}w!Ã*0}@ƒ$+*'>Aš>>U¦>>D²>>C¾>>W> >S>>L>>Q>-0-000306090*#1}͝}2#10*"1}͝}2"10<x!9ɀ@ ????????.ATx9/17/83ATARIBUS SYSTEM (from WOMBAT SOFTWARE) (AS version of %s, ATARIFN version of %s) D%c: file %s protectedPRINTERCONSOLE P: is cpm %sstripprint %s spaces after EOL A-ssign file to drive U-nassign drive D-irectory of cpm drive C-hange cpm default drive W-rite protect toggle S-trip space!9DM!"F1! "$1! `is#r 0"H1!1"*1*H1![0ڽ *H1**1s*H1".1*.1#".1+6*.1#".1+6*.1#".1+6Z*.16`i~#fo **1#"*1+s!`i~#fo #",1#|b *H1#6ð *,1q#*H1!`i~#fo #s#r",1*,1t#*H1##*H1*H1#ss*H1"H11".1*.1#".1+6*.1#".1+6N*.1#".1+6*.16{2"1{2#1! !  0"H1*H1![0f *H1n&!' *H1#n}Y *H1##!1 *H1n}Y !9 *H1"H1 *"1}t !D w !L !T *#1}ʏ !f Ò !l !r ! !0'| *0&| *0&| *0&k 0"H1#n} ͊ *0}@ ä ͌# >A >j >U >p >D+ >v >C7 >| >WC >ʂ >SO >ʈ >L[ >ʗ >Qg >ʦ é é ͹é 'é ͡é é *#1}͝}2#1é *"1}͝}2"1é P !9ɀ@ ????????.ATx9/17/83ATARIBUS SYSTEM (from WOMBAT SOFTWARE) (AS version of %s, ATARIFN version of %s) D%c: file %s protectedPRINTERCONSOLE P: is cpm %sstripprint %s spaces after EOL A-ssign file to drive U-nassign drive D-irectory of cpm drive C-hange cpm default drive W-rite protect toggle S-trip spaces after EOL toggle L-ist device toggle Q-uit ready: ! ̈́|c  0"H1*H1![0ڦ *H1#n}ʙ *H1Z*H1##! *H1"H1j ! # Quit..you sure? %s closed exiting to cpm.!9DM!!`is#r`i~#fo*F1n&|g}oAs`i~#foNi|/*H1#n}e*H1##*D1&!̈́|b*H1Ze!-|u!!21 #",1#|Ž!21!2̈́|£!21#",1#|¿!Q!21!j!!!v0#!"&1*&1/|-!!v0*,1$#|#!*,1q#!21$#*&1#"&1!!h*,1$>2v0{2y0{2w0{2z0{2x0!!Z!0#*0&|g}o}20!!v0*,1$*,1q#*H1!!21 #s#r",1*,1t#*H1##*H1#6*H16e!9 Assign drive:?:????????.AT? D%c: already defined as %s, close it? .ATR%s does not exist, create it? sorry, can't create it. formatting %s, this'll take a minute sorry, that cpm disk is full, aborted.!i|*H1#n}*D1&! *H1Z unassign drive: D%c: not currently assigned.!9DM!l!x`is#r`i~#fo͢s`i~#foN!͌#!9 Directory:?:????????.??? Press a key to continue !9DM!͢`is*F1*F1n&|g}o`in&|g}os!! @%!9 Change default cpm drive:!:i|8*H1n&|g}os Toggle write protect on drive:!9DM! ~#fo~#foq#! ~#fo#6͌# |›!!!9DM*F1n&|g}oA! s! n&!(͌# `is!|`in&|`in&`in} ! n&!N!9 enter cpm drive letter (default=%c) drive letter must be A-P.!4!͌#}2D1} ‰!*D1&|ڥ*D1&|ڨ*D1&}2E1*E1&k 0"H1!j enter drive # (1-%c) !9DM!s!21Q%=|!j21".1`i6*.1n}J*.1*.1n& s{.@`i6*.1#".1`in}d! ~#fo*.1z!j!9 enter cpm file name: *0}RʫW#P#S!ë*0/Һͷ!*0*H1~#fo",1$#|!!v0*,1͂%#|*0*H1n&!!!v0î*0/2ͷ!!v0#|J*H1n}t*H1#n&@|g}osg!*0*H1~#fo",1$#|ʯ!!v0*,1$#|*0*H1n&!î!*H1*H1#6î!!h*,1$#|E*H1n&!*,1+&*H1!*H1## #s#rg!!!v0#!"&1*&1|Ҏ!!v0*,1$#|„ *&1#"&1]{2w0{2v0!!v0îͷD%c: can't read sector %d! D%c: can't write sector %d! D%c: error during format! *0}SW,!!1!(!0#|E!)"&10".1*&1+"&1| *.1#".1+n&"*1>x>ʓ>„>> >! ! *#1}*&1"(1*.1"01*(1+"(1|*01#"01+n} ÷*(1|  !  ! !  **1Rͷ!9DM*"1};! n&!@%L! n&!@%!9DM!21! ~#fo|p`i6`i4n&|ڏ! B&`i6! 621".1*.1n}ʽ*.1#".1+n&B&! 5Ü! ~5o}! B&ý!21c|t! B&!9!9DM! ~#fo!J1q&!n1!@%!J1!@%}21}?! ~#fo6!*1&)))))n1! ~#foD!!9DM!n1!@%!J1!@%}21}ž! ~#fo6!*1&)))))n1! ~#foD!!9DM! ~#fon&|g}o`is}*F1n&|g}o#`is! ^#Vr+s`in&@s! ^#Vr+s6:! ~#fo! ~#foD!9!9DM! ^#Vr+s`i6 `i~5o}ʯ! ^#Vr+sn! s{ ʔ! ^#Vr+s! ns`in}¬! ^#Vr+s6.[! ~#fo+n}.! ^#Vr+s! ~#fo6!9!9/17/83/>N.>~.>/,! ":2sNz7Ͱ4!̓̓slzWͰTI*͝w#Or͝4s”!z‰4 ͓ƒz 4ͣʷ>Nͳͣ>Aͳͣ>Cͳ ͣͳG+}ͣxͳ ů2fNO:f2f+|NO:fEA!;ͣByͳ ͓ƒ xQN!9ͣg>Eͳ-,--,!9DM!B&! !9DM͐n}! ^#Vr+sn&B&!9DM! n&ͬ!|0! n&7! n&&!9DM`iw#w! ^#Vr+sn}j`i^#Vr+sK͐q!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʲÌ͐ù!9!Y9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ʝ!`in}%n!! ! s#r! 6#6! s! s! s͐n}-R! ^#Vr+s! 4͐n}0b! 4͐n&}"}! ͬ"Â!! s#r! ^#Vr+sn`is{.! ͬ"! s#r! 4! ^#Vr+sn`is`in& }DU7X@OICʏS9!?!͐~#fo|7! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 O! 6O! 6! ~#fo! n&! ^#Vr+s~#fo! !ѯgs#r8 ! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s8 ! n}! 6#6! ^#Vr+s~#fo! s#r͐n}8 ͐|8 ! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}¦ ! ^#Vr+s!|ڦ ͐͐! n}ʃ !0Æ ! ! !9~#fo#|£ !ã!T ͐n} ͐͐! ^#Vr+sn&! !9~#fo#| !ã!æ ! n}6!! ^#Vr+s!|6!͐͐! !$!!9~#fo#|3!!ã! k!!ã!͐͐`in&!\!!9~#fo#|k!!ã!Ú!͐͐`in&!!!9~#fo#|š!!ã!!ã!!9!9DM! n&|ͯ!! n&|ͩ!9DM͐͐ )"͐^#Vr+s͐"͐0"͐7s!&t"͐ ͐͐ ͉͐!`is͐ ͐͐ )͐!`in&#&t"!9!9DM! n&|ͯڨ"! n&|ͩ!9DM`iw#w͐~#fon&}"}"͐ ?͐^#Vr+snѯg`is#rú"͐#!97,#> 2h*P/:q2> h#:h):RT#=T#=> h#:qw#w#w:ho&552?# )҅#>2? ,:noʛ#2n& !o ¾# . & 7*P$:q2\5#> 2?!*P #7*R*P:TOz$q# $7:P)"XV>$z> $z2:P,"j!"l*T|v$*j!^#V*X#^#Vn$r+s*l5*R"R*j"*lʞ$2?q$#"l*T+"T*j! N#Fp+qxH$##6>2?n$2? !\/:q25!> 2?+7:P,> %2?!^#V*R:T4%=%%4%*P͑&*R!s#r7:PO*R !j96  #F#x}%~#p%7:P)V>%&z>%&z2:P,"j!"l*T|*l½%5*R*j!ѷ%2?%%!ø%*lø%*T+"T*R"R*l#"l*j! N#Fp+qx­%##6>2?ò%2? )<&>2?6!  V& > _ e& 7*R~# x& x&+*P&! ,Ң&>2?)~2#"j!!~#fo#^#Vp+q*j~#fo&s#r5v4AS.Ch  !"$#%&o('*)+,.-/102354768:9;=<?>@BACDEGFHIJKLMONPRQSTUVWXZY[\]_^`adbcfegX';"-%_R^w3>I˕ܜqg0|\CDa|xs얢5W<ga]ER&Ws(7//q9HL]HVtRN+kXM=6/Ӑ15/JGа?4 *iԊm{nr(SËqspZYæBdIhr v&6 4c^M޼ 'S!ȋ̇{̋1Yla\󋅯=fr-xh:W뵚3-Ec^liYZC_9y\CZYe== G 6"K4$ڌ7'7䜸}M."ijRa[BӤ+zKp3 &=rKњt>p-G=| |U1xZ xM[J܊4떢5|iRևrcaj){.k,MvA"iJA4`nrr!5ǘR"f>|h{|iH5ntjkydkmDbej\A?/#0'I֥?|?GO0j'[K2}R&"g '<l7ayy&_L̂8=>|uyحa'+a=ȴn^.^q+?]Q>ݺ^ܼ4ܸ N,vY{]e*q=>f<‰.| ;_aƭ8v‡}9x{X9l^=9|*حa'b+CӺyyX9lkf?5ǸQJ1as u5-,4 Ĺ[)q -:eQF)f}.7fÂ񾖛t񣹉CWICr"_Lpj68w3>||uFϓحpEX&ŽvCnLcGx\Vְpys1q.32G\+9\ۉ_C/jz\Vְk~W?|x~M# DW=iy虸. 'jߖN=ɦd))ٔK6%);%=ɺgoKE1RHZ>ӻ#aobg)l+ NJ>I)'Fow$6hQQ~[#ݺWICt½hQQ~[#ݺR^.Mw)ܫFɗݺ޹WݫF`|[v.C)8W?R ѻmu{/9k9qkW?ryg-;N&sDRJ\sfш_]A7~]Ϛv")՜5p8S A]k8;Iv :k:DRֵoHJkbR\{hste12٭7ŦF~ۄH­{Xqr=9p~0zCTߞGv޹Wݫ`|[v.C)8W?=+~/bR\{joWͯ$,.{6v~Y^.`4/qѰrN}h)ZNy㎓77zu]Mw/p|[k=ԇWUhhM:EZK+~\SA&;"tӕk:`4ie )l+ NݎJ>Vҩ`$>-m'RNAw>I)q́caSZ;I=DRֵC)xsc?ît*=FvYM?./hd' D:--jh4v=SDž@1 ӺyY;7+m*TtX9lq0 t*L-Y\/5l4?"K SkCie = Ic$l<4VTЍfڌ%h~I{biݼ$O,k2fK"yI* Sa1MrӖFq~%q=;p=…s"~4i׺W?'35Jobg.wtיĚh޳8!9玎;qI!;dt;HJkc)_O\gk~$R19>F +<Fjo25ى6VIպpNV$ѽh$"c*)tzS&ӦBdI8ۍŴ`4T ."Kyn,M b%wih` c$˼gfҢ\虫XŻ\`ie )l+ NݎJQ>I)q́ː?VҩDžDR?`-NTsx_CsFzyb?|ִY\/Iq5=T, >}0z1]?=rS:BK, N+kxZzUmiѢi)}~ׅaY2E?=S^g虫O 4qx.W?=sHJk}0 +]OT >M_is'SEu vZvG")pFcqː?%؋whY^.`4էw tHËwhϳ5p8k[v~L&>VDž,vx1켣Q\}v/<+J?Y/dnrnPnqJ֒k@Ƌf=#=c ;ct+]OTjҽsqgAxiCvG=&7ώ(k;-FeAwѼg[qE\[x;**tr泦vGjuv2.9[ҩ cSµ|ڦkmN3_೦YWgG= ;tcL_ ӝ&LCǼ;zW?gMmr¶?NFn=Ĺȼv~НeUoFYSob=.Kx㡙<`-NT( a'|m鴲7ii`ׅ' ò*;<_Dhѳ.qvӖ NYXȉM>%+ox J+kؽ!b >}0zt*(.ŎXyumWpZY`giip") ڌ磷>|P{!q́M[֤S^v/v~(C3^%N+k}]_3jNHJkl\{{.WbR\\Me_x+Qk6u~a[EW9 N o<<&px.WbR\{0z. ~Ԛk>|P{Kx[C_9M5˽鲄7ii|.`cکkO\_ve1z8ʄ`b /}0 +]OTyM5gJ~?K۩q0L}c=6EpGy@px.Wp?r~0rPnqJBZY~޼,v"Q>%VְClr~a[;-EZFa) 6/5>Hl+ NEQ>ϴ4xc햼]`Ť`4gZ<'l+ NEW9|0 NK&'`4J~#a=-MFwf(CޮŁ6 ɉ+-_9|%k1t}r8fC) 6/_@ry{_0:8~0C8.~Qk6?=s. r}ܺ!9qkc6^`\5b?|ړrLԒ,ZV$qV;ӫ>f ZNYxLCzr~HY5p}:p'=ѶFu13JVl+k }MrZp݋wAwMqyFY;jNGZD\+eok'|45;RﷵpaSJ|O@^L}-? v")u13JAڗSxF#:7yFCS=;RpVyFŴ`TM:ic*d+?r -cf"V\.<rF#:?r)ّemǵﷵ]p03ump݉$6ѻyow)tӡܼyt/ ݱFY;jNGZD\+eok'|눕75;RﷵpaSJ|O@؎Xy}-? v")u13JAڗSxF#:7yFŴ`T㊖x|ш妸<F#:7yFCS=;IIlQ")Mwb~[#ݺ{.t½hXL FOLD~K1hDrS\pQ>sYSb-;~[;M}kMVRxڼֵʕZM v")tRxiݕ6ϚDR9kpv$R A7kA]ph$x7yFYqm6-;Fz--y;'QQ;W+o>kjFY]ok'aɵ/F#:7yFQb~;5ߖzjpA}-^`4ʝemw=?i虸?P@ `ÇjayyLCzr~VE""o< nE v\RO0ѡhDr:h(wg 6meѨ vIB;hDrS\pQ>%S=;FYdu~L&ihT3O: eeM"[D>}Ѝ`stdž'aj0A7z,WU앇Et#2|m{M"0DE6>|Ѝg9\?Fd~Ѝk,ݘ vKђ7A7zlXx|6?F5ӂnL0tdž'aj0%z@8cŴ;qkOЍ.?09?Pn^q05ӂ3qkO0ѡ܁!ÇjaMtQyW? kw}e|EKѨ.q[W{FO~ `4jKuw\d|nV^ÇjOB1s-TMG# sqrzwbxQ9kY5\ؽ!峊徊.`cjG>%YEr巉nD.}03* enDr1]'a*nߖt~0kx;'lznHC񘮳(b_3D:<: &Q#>S^cQ`ʍt@8>=`/ Zq^vʫKlUk8>1]h5v]q쨸Ѯ?=g\ o;e=F\})pg|RLW\q~9sV{ѨoFŻ\Zqh)xph5z+\DCbx+X1)?~A]sHck~qMwbR\\?=U+%؋wl\W?䰝 }p|cpEt3Ug>ϔWލt3>)T&R펊ۑs:g>`4Z5Fw g FYM4)vwC ^ہ69Qೆvō徆v_q֋>=.g>?ӻ!>q}]Q?= ?=6ap0z 55+n ^ۏ dˡ|y5s4$k~qMЫ|ЮQr_CQm}0z1]m|0zFEUܨS- Rr( ^Fz-u;H}0F QQ`ᾆ(F\}fߞp_CT&FF\}g 3$R g_ߖb?̯h! enDr1]'a*nߖt~0kx;'lznHC񘮳MAIQUIASSIGUNASSIGΩ DIRECTOV CHANGED WRPROԦUNDEYEPGETCPMDҒGETDR֟GETFKDISKDRI;PRINTEҢPRT_CCDIғDIR1SzDIRNEXSETFFΗSETF/0ATARIFNAINIOPECLOSSETFFFCBADDCLPRINTPUTGETCDISKDRIPRINTETOUPPEGETCHAASSIGUNASSIGDIRECTOCHANGEDWRPROQUI?!9DM!"F1!<"$1!E`is#r 0"H1!1"*1*H1![0D*H1**1s*H1".1*.1#".1+6*.1#".1+6*.1#".1+6Z*.16`i~#fo **1#"*1+s!`i~#fo ",1#|*H1#67*,1 *H1!`i~#fo s#r",1*,1*H1##*H1*H1#ss*H1"H1l1".1*.1#".1+6*.1#".1+6N*.1#".1+6*.16{2"1{2#1!R!Z 0"H1*H1![0*H1n&!*H1#n}*H1##!*H1n}!*H1"H1Ô*"1}!!!*#1}!!!!!0|†*0&|w*0&|w*0&k 0"H1#n}w!Ã*0}@ƒ$+*'>Aš>>U¦>>D²>>C¾>>W> >S>>L>>Q>-0-000306090*#1}͝}2#10*"1}͝}2"10<x!9ɀ@ ????????.ATx9/17/83ATARIBUS SYSTEM (from WOMBAT SOFTWARE) (AS version of %s, ATARIFN version of %s) D%c: file %s protectedPRINTERCONSOLE P: is cpm %sstripprint %s spaces after EOL A-ssign file to drive U-nassign drive D-irectory of cpm drive C-hange cpm default drive W-rite protect toggle S-trip spaces after EOL toggle L-ist device toggle Q-uit ready: UHQWx"By|$(06DRoru~  +.1PUTYEUNDEPRINTEXI!u|% 0"H1*H1![0h*H1#n}[*H1 *H1##! *H1"H1,! Quit..you sure? %s closed exiting to cpm.!8BISWfimqPUTDIGETDRPRINTYEUNDEGETFOPECREASETMEWRITCLOSUNLINSEESETFFFCBADD 3!9DM!6!F`is#r`i~#fo*F1n&|g}oAs`i~#fo |-*H1#n}ʵ*H1##*D1&!U |ʲ*H1õ-!}|-!!21",1#|!21! |*!21",1#|!*!21! !!!v0!"&1*&1/|}!!v0*,1!#|s!*,1$!21's*&1#"&14!!h*,1*>2v0{2y0{2w0{2z0{2x0!!Z!0*0&|g}o}20!!v0*,1!*,1$*H1!!21s#r",1*,10*H1##-*H1#6*H16-õ!9 Assign drive:?:????????.AT? D%c: already defined as %s, close it? .ATR%s does not exist, create it? sorry, can't create it. formatting %s, this'll take a minute sorry, that cpm disk is full, aborted.5<@Dquz}  )>MVY]emq{ (+PUTGETDRPRINTUNDE}!M|"*H1#n}>*D1&!_ H*H1  unassign drive: D%c: not currently assigned. *37<CIGETCPMDPUTDIGETCHA!9DM!T!``is#r`i~#fos`i~#fo !o !9 Directory:?:????????.??? Press a key to continue  0=AEIGETCPMDPUTBDO{ !9DM!``is*F1*F1n&|g}o`in&|g}os!! !9 Change default cpm drive:SPUTGETDRS !3|1*H1n&|g}os Toggle write protect on drive: CLOS0!9DM! ~#fo~#fo! ~#fo#6 TOUPPEGETCHA' | !! PRINTTOUPPEGETCHAPUT!9DM*F1n&|g}oA! s! n&! `is!|n`in&|n`in&Ì`in} ! n&Ì! 0!9 enter cpm drive letter (default=%c) drive letter must be A-P. 9=BFVdluPRINTGETCHA !4!q}2D1} )!*D1&|E*D1&|Hl*D1&}2E1*E1&k 0"H1! enter drive # (1-%c) "5CFmPUTSTRLEGETTOUPPESTRCP!9DM!!21 |:!Ô21".1`i6*.1n}t*.1*.1n& s{.j`i6*.1#".1E`in}ʎ! ~#fo*.1!Ô!9 enter cpm file name: ',28LZdrzAPUTNAAPUTACSEEREAPRINTAPUTCMPPUTDGETDAPUTERWRITFABOROPESETME**0}RKWPSm!ʑK*0/Z!*0*H1~#fo",1 #|ʘ!!v0*,1 #|°*0*H1n&!Pü!!v0N*0/!!v0#|*H1n}*H1#n&@|g}os!*0*H1~#fo",1 #|O!!v0*,1#|g*0*H1n&!lüN!*H1*H1#6N!!h*,1 #|*H1n&!*,1!*H1!*H1##$s#r!!!v0'!"&1*&1|.!!v0*,1#|$ì*&1#"&1{2w0{2v0!!v0ND%c: can't read sector %d! D%c: can't write sector %d! D%c: error during format! :27<AFISV[u~,5DM[_ehknq",/DILAPUTACAPUTCMPPUTDGETDPRT_CAPUTNA(*0}S'W=#!!1 &!(!0 #|V&!)"&10".1*&1+"&1|*.1#".1+n&"*1>‰>ʤ>•>> ¡>! ! *#1}*&1"(1*.1"01*(1+"(1|*01#"01+n} *(1|! ! ! **1c&'"%(+6;>IQTm !$BDO=!9DM*"1}*! n&!;! n&!#(7DIR1SPUTCHADIRNEX !9DM!21! ~#fo|.ç`i6`i4n&|M! `i6! 621".1*.1n}{*.1#".1+n&! 5Z! ~5o}ʒ! {!21 |2! !9"),?FapySETFCBDOSETF} !9DM! ~#fo!J1!n1!!J1!}21}Y! ~#fo6!*1&)))))n1! ~#fo !"/<HrBDOSETFh !9DM!n1!!J1!}21}D! ~#fo6!*1&)))))n1! ~#fo!'3]SETF!9DM! ~#fon&|g}o`is}@*F1n&|g}o#`is! ^#Vr+s`in&@s! ^#Vr+s6:! ~#fo! ~#fo!9*{!9DM! ^#Vr+s`i6 `i~5o}k! ^#Vr+sn! s{ P! ^#Vr+s! ns`in}h! ^#Vr+s6.! ~#fo+n}.†! ^#Vr+s! ~#fo6!99WiyvAS.DOCL    !"#%$&'()*+-,./01o3245697:8<;>?=@ABDFGECHIJKTvzVV۵cubrg#)-X*.4EDɳ@Jk<YppIς799\IDnE_,'ca yg'weOMy=^%; !gy%\a+1yPۮ̞MmH9ς q8G^_Ӹ(ԶtfT:TmE=lAg]lw<򖟨sζkf<w99C۵*Yporsy7g bɳ5aL9uG(mו=799\IDqwa[j!,X XyʻKk,bRȧ8"sgU Y.Rȶ &-N{ ?/|^ʞǩ#*,K$nMQʞ^5)}1z= [sSp7ћ'\o4`&0^9ߩ}ogs? n8^-nZ,boCRmVW8Jz9,ݟԾn;1z=~X̞.eO+1-`qjKl/N([i{=bJۋCPN ԀԶ{.QpI^?*O, 灻|h|9.lG۹?s R$hKf?Q綋[^(!(O|D^wZ[jYE<,GS799k@GTuJf |#R89!MF[;zme.[ݥy_Yr}pIa ݚ8gԟ(\k^/E{y)wi5E^mW-Xh`\'9׬gk|ḡ,^8Sxآۮ!y[ς799@{(Z,bWYGc%=3E|<*7Ir۹sZ8q{\ٓ&ςWYy8ߩ}oj8mScy#֔fyؓ3{jh||Lr$S[AyLbx ۢ׳®9mnueOMy8x`Yn8lmWp«?Qzj!) s < "6N?ZK$?IԀg= ֱY5EqYppIWysZ,bRۮԀȳisrjY;gv"^^ς;xW-qj۵cu+݉gKܛ8k@^z@&e;w賴] D9q1zEX)(!Yv~Xwjgs? .k+{zB8<#4ڮZ9>5D~XO9bZ~/mvmX(y I;p[Q'y~%\3h;jJ{4yW-SV> ,$/ÿ9$Ѱm79Sf'g&yxnxKղ.ςĸGj185vζMw$yxkko8!I }i M,:HB__{o9XN ]=V(iVxxs=zBk"^&]ȯ /ς799ܣ)?IX,21m>]$wg=zBkbu<v.Qٳ +ςܙ"^^m{.QvfuQ˿j!ܛPs-@5v~X$yxkqj@i,x=m~Xj۵]=V(&;xW-a !ʠE^wj[o,Xi~s7W-qXׅW>gE|z͂+{z*-um+9Emk6׼;ߏԾ 5ɷʞ^s՛RK\[1w[Tft){ 4zSwmygz|l;ueOռ^cWa׋j,ba ]O|~XyOgu4sS3E|ڊ>5Ypmm= ԾX5mߩ}o+{zѳN{ 8/Y+$x\IC_[1w=5ϵ]SS^[1w[Y0ԾQۮD9=Ω{|g08m/^wj[/S]v$Ԁ`m= zFڢGV,K$͵s-@ֳNs{ xճIV4ڮ%@ؘпTA7Ǖy RΙ~uX08B8 MAIN 0D50 QUIT 0DE3 ASSIGN 10B9 UNASSIGN 1127 DIRECTOR 11A1 CHANGEDR 1210 WRPROT 125A UNDEF 1284 YES 12A2 GETCPMDR 1369 GETDRV 13E8 GETFN 148A DISKDRIV 1704 PRINTER 1817 PRT_CH 184E DIR 18F2 DIR1ST 1963 DIRNEXT 19C2 SETFFN 1A44 SETFN 1ADD ATARIFNV 1AE9 AINIT 1B0F CLS 1B27 GETCF 1BB7 APUTNAK 1BC3 APUTACK 1BCF APUTCMPL 1BDB PUTDF 1C07 GETDF 1C67 APUTERR 1C73 CMDF$ 1C83 INCH$ 1C93 GOTCH$ 1CA3 OUTRDY$ 1CB3 OUTCH$ 1CC3 PRINTF 1CDD PUTS 1D09 TOUPPER 1D3D STRLEN 1D7A STRCPY 1DC2 _SPR 21AC ISLOWER 21DB _USPR 227D ISDIGIT 22AC _GV2 2309 OPEN 2371 CLOSE 2374 FCBADDR 238C GETCHAR 23C1 EXIT 23C4 CREAT 23FD SETMEM 241A WRITE 24CE UNLINK 24F5 SEEK 2540 BDOS 2551 GETS 2582 READ 262B FABORT 2642 PUTCHAR 2671 SETFCB 2691 CFSIZE Link statistics: Number of functions: 62 Code ends at: 0x26E3 Externals begin at: 0x3000 Externals end at: 0x31EF End of current TPA: 0xC506 Jump table bytes saved: 0x1E9 Link space remaining: 10K /* ATARI.H header for ATARI-CPM interface hardware */ /* ATARIBUS ids */ #define DISK1 '1' /* D1: disk 1 bus device id */ #define DISK2 '2' /* D2: disk 2 */ #define PRNTR '@' /* P: printer 1 */ #define PRNTR2 'O' /* P2: printer 2 */ #define SER1 'P' /* R1: 850 port 1 */ /* device commands */ #define READ 'R' /* read record bus command */ #define WRITE 'W' /* write record */ #define STATUS 'S' /* read status */ #define PUT 'P' /* put record, no verify */ #define FORMAT '!' /* format disk */ #define DOWNLD ' ' /* download */ #define RDADDR 'T' /* read address */ #define RDSPIN 'Q' /* read spin (disk) */ #define MOTRON 'U' /* motor on (disk) */ #define VERIFY 'V' /* verify record (disk) */ /* end of ATARI.H */ ;************************************************ ; ATARI.LIB - 7/8/82 ; Assembler library of data for ATARI-CPM ; interface. ; WILL HAVE TO BE CHANGED FOR DIFFERENT SYSTEMS ;************************************************ ; PORT equates a2661 equ 2Ch ;base of ATARI 2661-2 adata equ a2661+0 ;data port astat equ a2661+1 ;status port acstat equ astat ;CMD- bit status port amode equ a2661+2 ;mode registers port acmd equ a2661+3 ;command port ; PORT BIT equates AXRDYB equ 01h ;xmit ready ARCVDB equ 02h ;received char ACMDFB equ 80h ;CMD- line from bus AERRSB equ 38h ;error bits ; characters ACK equ 'A' ;acknowledge NAK equ 'N' ;negative acknowledge CMPL equ 'C' ;operation complete ERR equ 'E' ;operation error ;************************************************ v68ATARIBUS.DOCN   !#"$%(&')*+.,-/o102354678;9:<=>?AB@DFECIHJLMGK2Beے-/VνPEj*M||1w煪 ^d~mɖb+6d oB Zծ-??وj/qЯ*67^@y}'0u9δݯۗn^g1wm{_|ǵond J8v׻.=}7w3O6K\>qĀd&f{ @K-/A=}a'}037ے-/D;Bu>5l f_fBxWs7&j '_ev75)-},G/gmɖνIՆ__,̗n^gr`&sZ5{za&6IC]~fCӏnd{4c'j߉nw3O%S%/G[.{Q7 o7srNn)a[%t-Bl7 S]0JDq-3 4b^2,}n{(}yN662pnu3}nd s_򡣝yvQNLԟVy T2uK L?p\5w-Bffva(m@Ɩ7“o _Ji9MfGac˃x\D6N͜R ٧@xY}SQh/?oA@BCEDFGHIJLMKPONQRSTUV؃nM eRqw= L-}:ݔJL*DiwۛZ3KݿRf BF^X˿eFobG7qw= L}7?#Lqw= L#[qEMF/79rBw%/\ܖX} ַzg|N2[+H Oǣ.q-vK}8ا q bGH_%>:=\-}VS >oyFvse\ JSxq!J];|zykNn]5>ppJ+qډ|%8{=[U)]co^%N_^uŗr=wqVEEN.ně/&ߔ>uDAQ'&ד2^[)3_J +xeEī]6ObmbG;qܱo:v ۨ]nyH~=VOAP0Om%N_6 qzP_Dկ'Rb+ ,l:j;1xGYH-B[ )p__nwD_(T-B[hS+gkk_#}Gҥ;/C*xYAQ&@մ_;dg0 I/Hp4BWox:1J׈6Uaj%1jM쓘xاѿ>U~qHܮHL*Diq+fcӂ8Dp2Bq?GQ@(G]rrxyƦe4oѫƨщ-!;?tG=v3_QG=n^ׇ:i%N+ˬ.*sE_ȸ|gBJϰ.+qA.WoKݔ]t|%ˮuqoJےeSyeev3]n%N;!- MUƦ !^llv{%:d^8L7 % a`TxAIl%W?Jaq#<&PG<!&MsSߌ7ۆAW3vBG#vP_#*/ W Ķa:w'x7__"^{gԻJxyF[~"8xM /o1ڒxǁU6kFwS'DžHqޢW_5FCv' !4nfmM}EoQ^%N1*qms!8AfO{QfwqoJG8en|hgP?}얟 qXQ;!}"1qm7|Fv?nK^"AW3vBG#vP_#*/ W Ķ:w'x7?(ozxVe&^9+wBGK[$q`x"Gq#z'ifGQljwB;⵷Y[wSoѫ[TW׾nGQO=gԇW.9PKpxMmHĂ. (f7ecyxo-N$BrA{Q3rHĂx2Թ;!}TUo1hn2qll=ċ`;wS%D:-& h7>Cι"bly6Kfg!C/O>l鴘XvD:-&;zn*'DfgGk+q7 %N9@ߌgxe;h79.tD9b5RpiAl+ϨswB; وwS]_Q%6+Ϩ}>Q}oEm֣,u4N7BGtbyF#wM /o1ڒxǁU6k+ϨwS}QlBƨM:3꟣(KbƄ&fӵ[Uo4?T|m#Έ] i[8QxyF5.cԭĸOAWM ؽKȦ1:w'wDpT|w}"nҺ"8WN/o1ڒxǁU6DM}J:q8mS!z+w<O'^ل8N}򟣛GgD]qBXPvDu!q`a7oT uDMJll=Rb.'116OǣU]6ī!|uD6#W>8UZ_UWƦ N;Ɔ8-A;q[ռo[-9 N\.YllZ-A#I>A [DṗѫӼ#} (8=6˯8NKxDž-ޑ7ڥ|F}|.{xyQ5}]/W>>!N]QJwB[@i%6>Z[JWhT~mA:@]~u 鴘Xnz9^oqw༏7%^O{QK pYH']8=tG=>_bBC|[ͶEIj`^AGC|B}GM}+,w=&No˟wb]:w'#W4,vyxmhM}_o1s74J! !>xQov7i@{ԉS›%NnU_U|sFh j9=y%&NV"ut|llA{ ll/.Kp@wۛoWWAʣ|llZ~&7ĉx'd@)FσG!:h7W ḾB?h:"z+wS66R*Nu4hqoJ=l[&i1_D>Q7Kp@IJ uNaG#ĻiX۬lBxTUll=?]x'#DdN fwS%D:-& h7>Cι"bo +`n^ @"6+P>ѕ8.ߑD:-&ܝŽG^wӰ7%⵷i n-B;KB}"11֣n2́Bv>}:>t_>DbTi%"N?T'-ߪwO3oo.,qn8BĉxlvBG#v':w'wDpޑDf'MWZ[$q`xVCxDž*DoQL m7x:qw?xc'(w'O$MU~CNjڢtx:jM쓘xا \O#W>8UZB}8[O'hfM}JB2}TUvDHLGx&ILLMutU~D?J'J+qZô|:z>ŸL>>\8}&'NuPvD?J}./C" |FhHx'#Db=ī]6ObbmbGϢī!~䕸=O$&NV"PGEb \n>úw?}|.{sdy+qGM N !~x7 x]^"^{z7EoqMF|GsuPWŽv>}: \O#W>8UZB]-[G?rq.[۟L>>\8}&'NuPvD?J}./C" dw! !>x:jM쓘xا,ī!~䕸=O$&NV"PG`-[G?|ŵw79|FeBqqZ/~"80]qz\.Ye㏚8CB+nFD6[Gn#"/&]#NaG{ԉWlbĩJq"N9-(/\]([w7eĉ8}>wߌ-obG7_D՟zU7'Fvse\ pzhy]~=pb7ĉ8Y]#wpا4 E4~V"Uv8J+a>8UZ #NO; P_~]cʯxw[qz FoT?l%Nċ42J_|=/tKM*uDlfnTxSJDeYFLLLM_>8UZ #NO; P_<YG{(qO; P?8/ w78BǛ˻ɨQ'N+ffJ75L$Nī]6ϯHLLLMDbTi%8z~D?Dp`Q~ΟJIxW^MF&@x:q"^i63s7Uaj%q"^}~䕘xاDHL*^G|sF?Z}<_ĉxG {ԉJvS V'.}:g0ī!|J+a3yG›yT{+q"N%Xa-kMYmɌ/]/_| 7w_nw%S|R?#_Bn2*Bċ/)_(/% 3gHyԘ?WѠE;!4JW&yFp{ԉJM*ojZIg8OfQ[ܫgP8oQ++jڢ-j6Uaj%q"^} ZN9ATARIFNAINIGETCCGETD.PUTDAGETC1APUTCnAPUTAC˞APUTCMPAPUTERAPUTNA+CMDFZGOTCHoINCHOUTRDYOUTCHCL !9/17/83&/>N.>~.>/,CMDFINCHGOTCH ":23z͕!Qz<͕9.*͂w#OW͂y!zn z… &),47=@FILORXbeior}GOTCHINCHOUTRDYOUTCHo ů2nVO:n2n+|VO:nEA!C Jy   xYN!A#)/26HKNRZ]clOUTCHOUTRDY5 G+})x'*-1GOTCHINCH# z !o& OUTRDYOUTCH   OUTRDYOUTCH  >A OUTRDYOUTCH  >C OUTRDYOUTCH  >E OUTRDYOUTCH  >N --,-,PUT! /* Volume Table Of Contents structure */ struct SVTOC { char dostype; /* DOS type # that made disk */ unsigned totsecs; /* total # data sectors available */ unsigned freesecs; /* # data sectors currently free */ char reserved; char unused[4]; char secmap[90]; /* sector available bit map */ char unused2[28]; }; /* directory entry structure */ struct SDENT { char flag; /* entry flag byte */ unsigned count; /* count of sectors in file */ unsigned ssn; /* first data sector # */ char name[8]; /* primary file name */ char ext[3]; /* extension */ }; #define DELETED 0x80 /* entry has been deleted */ #define INUSE 0x40 /* entry in use bit */ #define LOCKED 0x20 /* entry locked bit */ #define DOS2FILE 0x02 /* created by DOS 2 bit */ /* data sector structure */ struct SDSEC { char data[125]; /* data bytes */ char nsn1; /* next sector #/file # */ char nsn2; /* low byte of next sector # */ char nbytes; /* # bytes used */ }; vӜHARDWARE.DOCY  ! #"$%'&()*+,-o./021345678:9<;=?>@BACDFEGHIKLJMNOQRSPUWXTVE%L׊xR/*6Yq \j @+W_V|X!%^T yqfff;k]l< o (SC,GShd#0^uY3۞m}y<1{V7 ̶g߷N_ÛEKhqyՋJ^<ۼ_E'&~JAXO EגS<;F!VVNԋJ=hLJﱿԋJ]?{!!אyjȯ9xﱿԋJ]}t%cz鍱5ȫ}W&$yհ[0|)4֒zվ+,Zf=Myվ< ҶTمkR$OBo-:<K{_Ilf~N33%o|͊զjga'ڕ"T! o{ /R ǻ[䐕=8n`Hrh w;}fx=ZxqW iyb)А=Sh`,{f6C KC妜"j; `cwjm%*QC iC8A_Ev}=Y[_uSx& J 4>y0w(9] Ǿ3}P.}4 jf%:ku+T}R/%]׬G43[ri^ۼR/*uP0~ pE!5L}p{Za?u4:>2fi=+0nV\=q 9_~}}FcN<3wx{lku+T}R/ .ykV|:;!אZIz"Mq}_E&+lfne-Vձ+yb=zQɊhg6g3|K;} Aֿ=ec,>YzyjoCK?Y[ilh(V~tKbֆq{+rpg6PBE4\)]6.hCr}|g?1xz~:à~]5{wlF?< YDC8<6 HA.y^ۥy|R/*6Yq-Or?rpn+䢰dzxPŋ~5&.R5J^ WRVU+J.O@"8re.V^^*@¯z"MW&ѕ\҃J.J 4qR/"SK|eKNV+br8J8KNR%ɯ'’ VK.䒓$R^M|JJ W%:zQɊqO9c3<30qed)lVq5ycoC yٜ|킡"R/*0%W{˭L< Yx$&N*7:ɺ̣Wwa}}fs6s+C=o#}/*_E\rHR%ɊLV'z5&t%?@t2!]ROWNWIWHM'}믿āIK~`Ep}zLk*RA믿믿NIK~ a*@UUUN2?dҒ_ Gjz1r L]^*BTQbҒ qee'/vQXz=< QEM%? K~`ER/OC/ KV%?T|&ĒK.qW,Zf=Myзfn_E&+\ĺ5tM}fs6s+=iyv 7w<{q-ϱǙ!>g{voy<,ڷre.Sàg}n_E&+}!U{霶r-OCtxg6g32<*-` %_s%{;lfgnϞ`\s/:JK.z gVJ3 Z3[Ǿ;0 S&0~9}^Tj-Vۣ,zhG J{ %إF=Y J}>MӮlf~P9c{KZr Fc4j^0th Ww{ OBL~x!lfn{.݂˙ ^0T!=5ǕKc ߥ˳_<C1~lVv >c{4v:ei.I$!m-XE %cw`qW;~%v䢆>!~K_MI0i+ϓ!4ݮmg[rg V.*]ik%?JС~~kY"zt.ÿdz_+VaBG4gmc?UBOP^/&W챖\(4۵b)9u =jٜͼûIϬf3?A@BDECFGIKJLHoNPMO,CE>RPSJ'6->+Ji)gHܭR|Ic3Y!VJ[;c}09cyw~}l[r1nTJ=d\#?Q qT|;<c-~}.<w+ON&qRRah6_?9G{Q"-RԞީ&30 rBIi3I/{x<= <*RP9qȏg /iiT_cۈ*;w+o^OCW߻RV^VG;~m9W߻%̨u^|=d\/iQүsKCN<&]$3ektJYyZ=#GCQ=n쉭Ntmo;GRJ_}&)|jOw3rm/QeuF=| g >xW߻RV^V|9⶗=AW߻jq37MSøW/ić=/{Tt(ůcڱS jǫS-T;4.jy[ƃ^3rm<_zF jǫS;5ҵ-ӸV/(v~)lr}0g ίh6;O\:Wߏm@4r6XIC'>,?/{Tt(ů,TNtm{/ W{+eekq)#n{6ϧNtmÃ^c1@CՐ.Ye|^ڇn1Ԯ-Oy~7g_}Q';x:8sա͢FwRS1bյW(޷m*N1G6h''/{[w+oYuMN& qR)/'Q?6VOr>^}7'Bܭ||C2^leWT|Ŷ(HK}=+ąs9[{cůsKCN |V҈Ϻ"]I-BrEP0T&RLR)#$RTi{ '>cC8rŧyn;Ǝƹw<C8Wߓh=Q<ߡZ![!'NvSF|Ň|?WON&?N ĵ9y2o 9<ؚCz'ŞDCuPl>t]/|3T0> ĝ/.[N< -}!3I/ ^f !9x 1{ێ>g -qAN";mթu\T<3ڛ/i*{ ~4T?}J0yȣ-B5;ՋLŗtIIAIj/A!_ۼ/zz.6KSecW߻j0L_o9ڭ4}B-? _}cN % A'^NyF\gOyPMm_ƛxڛO痛$r,aD >x_}/BOͯwK'!aP;rUHvfZb#]*"C#*xՔ`2<įzo~[:vyZ#rE3*xRigQR2RigQ<ʤ[@ tT/2_C&|TW߫Sec}z,!>]wjk[zAfΫ$;:cP/;foշa,|͢>NewK'x3T;^ƾ/[gNyuFckםzAE(aܢ^y>]wjk[eg+ڭ4zz9%^v:6 {m~tC|^pS{٫)m^Wߏm@Q?S&`ԶO/{=d\?a\ۼ͢!j#J!Fy8P ^5% >x6AO=&`Զq)=Bu=zS9!/iiTuF},hޣˮR;c(xmyvViT=ݡiA->Ư;5ҵm[NOy.S~:ET1_pON&ꧻ)j[;X<_Ȫ/{JTvӔe?WO+}m [exl[z?8e:ĭW ,3w]Ȫ/ '.SbGV}[ƞ1 BV}O8I/Vg>Afet촏~bq(ώȉS~R풲^Aa|bD3څwP?!>E!j_FF]BV}o8+Ji sJ>1L bOe*OU>AlrE<Qc[NCT)E>8 ՞*#[;+x6AO=&`Զq)=Bu=zS9!/iiTuF},h