IMD 1.16: 28/05/2007 17:11:42 -FOG/UTL044         -FOG/UTL044/UTL#044DOC ,DIAL COM=%&'(DIAL DOC,)*+DU2BRIEFDOCDU2V18 AQM DU2V18 AQM?DU2V18 COM\ !"#$/UTL#044CRC- DU2 VERSION 1.7 BRIEF 01/25/84 The DU2 program is designed to provide the user with the ability to manipulate information on the disk as easily as the DDT and SID utilities allow the user to manipulate information in memory. DU2 is a disk utility for CP/M 2.2, CP/M Plus, CP/M-86, and soon for CCP/M-86 (it should also work with MP/M-80 II, I haven't tried it yet). It can be used to recover erased files, correct bad directories, etc. This disk utility contains many hand  y features not found in any other disk utility. These include the following: o Macro commands o Working properly 128 byte sectors on track 0 when all other sectors are greater than 128 bytes o Working with drives greater than 8 megive =xxx Search for ASCII xxx from Current Sector Note: Upper/lower case matters. Use for hex: To find "IN 0" use: =<0> or "(tab)H,0(CR)(LF)" use: =<9>H,0 *[nn] Repeat [nn (decimal) times] ! Pause for user input A[ff,tt] Aabytes (up to CP/Ms limit of 512 Meg) o Save groups or sectors into a Queue that can be read or written to disk o Makes certain that Bdos and Bios never access the wrong drive o Will display all FCBs in the directory fSCII Dump C Change: CHaddr byte byte... (hex) or CAaddr data... (Ascii) Allowed for imbedded hex. or CHfrom-thru byte e.g. ch0-7f e5 or CAfrom-thru data (Ascii) D[ff,tt] Dump (Hex and ASCII) Ffn.ft Find File Gnn CP/M Allocationor a given file o Dynamically allocates the physical sector buffer, which allows effecient use of memory The following is a list of all commands with a brief explaniation of each. For a complete explanation of comma Group nn (hex) H[ff,tt] Hex Dump K Kill console output L[d] Log in Current Drive or Drive d M[nn] Map [from group nn (hex)] N Load New Disk P Toggle Printer Switch Snn Read Sector nn (decimal) Tnn Set Track nn (decimal) nds see DU2.DOC or DU2.HLP (These are contained in DU2-DOC.LBR). Operands in brackets [...] are optional. You can cancel a function with C or Ctrl-C, or suspend output with S or Ctrl-S. You should separate commands on the same line wit Unn Set User nn (decimal) for Find command V[nn] View [nn (decimal)] ASCII Sectors R Read Current Sector W Write Current Sector X Exit Program Z[nn] Sleep [nn (decimal) seconds] --- QUEUE OPERATIONS: Q Queue Status QZ Zero (Empty) Queue QSd:fh a comma ",". @ Repeat Previous Non-@ Command Line +[nn] Step In [nn (decimal)] Sectors -[nn] Step Out Sectors Note: + or - commands force a read. < Save Current Sector into Temp > Restore Sector from Temp # Print Disk Parameters for Current Drn.ft Save Queue as a File on Disk QRd:fn.ft Read Queue from a File on Disk S Restore Sector from Queue G[n] Restore Group from Queue --- MACRO OPERATIONS: :ntext Define 'text' to be Macro n   n Perform Macro n, 0<=n<=9 :Pn Print Macro n, 0<=n<=9 :Px Print All Macros if x=A or Print Prev Line if x=@ "nn" usage varies with command as follows: +, -, *, T, S, U, V, Z nn in Decimal (use #nn for Hex) G, M nn in Hexadecimal (useFoGIHJLKMNPOQSRUTVWYXZ[\]^_b`adfegcijklmnhFجjCڵWaUShFT_6GOx5Y[%O #nn for Decimal) "ff" and "tt" are in Hexadecimal (use #ff or #tt for Decimal) This version of DU2 came from DU2 v1.1 written by Richard Conn for his ZCPR2 system. I have extensively changed and improved it. If you want or have#|IجjwLv|wx{ hv#|[a6*{;_v^}i Aow{Ew6l_3Lˎ;j`^͎;p8|G[a#l1u׮&uγZ9OMI7# }MUzZjZmFq4]wZvٗ89zY'w~2(lݡf_peɏܵze implemented any useful changes then please write at the below address. Or leave a message or the changes on the Pasadena RBBS (operated By Rich Berg) at 213/577-9947 (as of January 7,1984 it will be 818/577-9947). Craig D. Miller 73 EsQ3wՀpu |#a藴5;rt ?}Dޛ84|ߤyv՗6VC;D˒?#_U쎿UѢe9# XVО96&˦ǡ5\]u߳[?G~;W19 KZj_kN޾*nM݃rs[OZ}_*տ.'3!lM??Q3Cperanza Apt H Sierra Madre, Ca 91024 dena RBBS (operated By Rich Berg) at 213/577-9947 (as of January 7,1984 it will be 818/577-9947). Craig D. Miller 73 EsVߡf?߳74|ߤy뫌6;Y_e$l}D{m6g㎜=?g===F&3'j9;f\j7>Ӽ5;|kL͞?0?Ifa>mx;?&:|5Qs>fG2?@ABCDEj^ aG3M}6{f;dG1"ve~Laho2{k6{v8<{^^~d63[̣E~gPϞi~CmZ6~]q5d4(Wg\fN_s/-_鋄M~'WPy&͒Go;GFef&z\ؼG;dFr  sWFxZ+f_^gܑg~WՓ}ί,E|&z/j_|}jgff}>3MtiM ?i_ѫ]}_ffC~j^_}~6/;:fm0w~%lMƯMxMx_k5rf#3leH>^ lf'ٜ>7\g燚G9Q37af~ `QG|E~CfO[qs;9kٳKt6&վ6;rt܁W#w^v<̌4 a|9#|iso7εD/;;m'77;g5 g0s?9nt<~ w՗oϷF9r_;%fL6;ٙvHeF} ߏq_Ñ͒FEg\˞>콹!0?~،M{="?$Cl63sGg&uγ__e x_kю84fMfߏo2Gdi}>f,l2^ ;1?f?|rՐѼ\ #Y[XdOG!yGߟfs-1)zy|t w?lNY2K9nv?Z܍2ù=DMg7ca?;f}~y~~Ǐc?Ԭ6f&3ݳKtܤy6o_ `9:/do 5Yvs/ѾGe΢h~EOCra|ϓ 󳙫ߟj_7;(;eHN;j(P3fsj}>6j+a}M_}ٗhgf9pm'77;6~?}=:,J`_K]aF~!cv%xٗ{f6wYnh36杝d/|?;f(&ε&z|7caCh5d4(wlW5{9ff١f>{ov?،Mƛ7Q~L|.ϝߏ-lgMgeߟXdZG!yGK~|/C͈|g،MM!0zyxMXd燚~h9fsWss9}#%:杝d/،M;rt ?=:1;gZ;?&:j^ aj}_;%fLviپ?䴙6?89WsG;*&W}vv0?ZdFߛ03s矜}v `_Y2ovrW,ZvK3o}vo63s3#V1ʾg;p}"- 5Y}#F;{f;2}s~7sWxMXdKsٗ,y}#~1̞i"݌Mƛ>;if?Z\bgFYM(wNf7ca?>mѦ8vj>>m|#l&~h9fs7?;opk6ca1^f,l2g'Zm&c&Xdz@~>̬QN{Fj?H?hhs6f>g`ss^h5lw ~/b ˾ 5#nf(Sjglsff?sQ}~4qgDGfx2jk泳g9 33 (qQ{5QsܜG~ό+a}M vl|8L2e=;^ 5Yշd_=wesC1^|i 5y^V3=hsʒYvKJ8<sF؁Wn41z|r `Hծ4ffj6{L#l~޳>(3󳹑Ff8ײ6%ߏ/jsf& `?dFj^ k|}Hm˦|>Ӭ杝d/͇s-ؗ;d~GAͱt>; le8/f/;˰6;rt܁W_do 5YvaF|}>{sGlxߙd6\Ym'77;١f4f/{69,lɢof9}#nN}9G4=j>DZ^ k|շ 3^v6;3gD_>WCf9 y%lf9_:g7vK  GZ~qg5d}~~4|K>̌ef~l~63S玣z}6|4Fange?}6ge_Ño 5YvK3o/K>̌]ON(w4k 5Y~>ٗhgv羜~vgOng#g3";?M26fG8kAͱt>;ghG8p?/j>>}k2\}SZۮsqjj&6// 6u7Єczqu |1~C_ۄpmu?=fQ#lSqh'T[tݮ_x:S׻ j8̐ X8v:G` aGZpe?䫎-lFh'tU;{| aX]GlT{9|Y_Ǘ=E\uvDK09GsDe5dܑ> k|}ٹeߟsqsoR<24,ZvKgY(δ03gsWo2gn'77;6dҫofl'77;N}e_6xr}6ƑѼ܍Yip\qnK_B>mhۛ1ғzIg"2[QV#lj눫9g0M0Ib{9fFؠj%71jL2f}ɾK9fK9 ·a6sɣiCM}] ;ݜo12gc~?~GGa=f(~!h}j_sQ|s#\+a#,lZV> BqyRokYUu\iq>C &y}+|U$ ;/N0[m׹ ^e#A$uγ n[ު@.cpuݜG8`:~Zmyk;XzNXۄ:nLR<[]Z8lm a>Ddv=dF_ %Mf 0O8f3?Z̍/!<vW ї9lgG-g.=fߟ4!2ge<s~g|'77;6&smp|%v-?CvB[URoRr٥eUګWO$a!Zm녶m}[s.ZX/ξzm[kķ;g녶Io]6!q( 8qH 8$ac°1Ca!Zm녶#iUrwa0{[U$,lNUnX^BqyR^:Un Swcn+ Ʒ9\m_aN6Gÿķ n{u h Ӯ}]v\m_qRw =\m rS z:&z\ajrwkKz.Z~\m#[[.lopu d-Wj=\m_aڭvM=Zx֣ 6گ`=G~pu| ڭGv W[_a-7m§ۭ;50v:Ը\OaqyVkun^:Un Swcn[mWZj\6stwc; OGן ZH°12OGVw?mFz궇-_/n_ݶݺ@H°1=oZJ\Ks=b=owݷF$a7l-% n4t}>@M>VX]Rw R֑CKM}cܦZ6[ "lY$lqu |9wI*[KڞKHFlL[y{,6q :¤P_}]]wq ?quh BKw8?t\m_Iw zWz uW[Ga u}ޕޅ)<W[0SxZcw=֑!0Zcw{;1pnj:]w7jq&nc+{vuwګV$ cf{OoUcZm[ۭNXI6,8#aVUC녶OaUm[ۭNK9s(UftiSKuϻmsށ%7 ZK6f7ݿn;Rw4N4ac̾NeǵwB[Uׯu}+,lͮ}VkunRwy9a#ljIv#N0c[sZ  n-Оio[$ ;d`Zۮs}Z^vڵC_H°1K0T߶[KM=s=Z.I6uZ_-W66w=Z6jݭW ն$a`m-j| ?]mKqZ ftv O߮% 8 f_vnն$a nO°!]ߺNt} c=7SaSxU-\hKuAOa ǺFa_7=6aߏ P ;jg;ƨs}=\4&(f`T7ҟvZN(a=n; nQ0ѿ/itZ{A'/L *owҿn{mxH _H-paQAX֨=G`Wwc;4t} +]mKqZ fUcZm>mWےacj٤v4mڧmږ$ Vv-m7u>}R# bM:_, cT:u8vmkٽୣB{6Gu6zU/}UmWa#l2~ aa#lvoFcv3rLa#JH$a_aVɏ4q(z):F{g%[ߍuϻMjFs[)iikgMepw䮮}o5HHH8Ǻ#G|YǺ #Rl{0-ʾ,?{o#aHoUW+',lNQ_67,yfV0\8%5h?gg}63|2#aZ f=;'hQlrFhU/T{T?}KlVXՓ$a_RgM?F|c~Җg̶>3aa#lv;{||6®I(~89ݾa:Yk:NLŇSpSzw]څQNV:~FD9;'f~򳙫ygG\l~$gL6t&uγ &TKAlƨ̣2 ZL6& 竎Hεlf/[h{f}~MTg8ky{gwtg?F#lU{T$aPaK-!MA[}³50\`JjS^hSU=BF<铛l|燚j}>h>Ffw8<|9fn'77;|>˖wǷ9x%aVQ10R-ۚ0lԈ ƘYg{g7sGG3߁W_9~9s-3a}akMP f|__nh{j| STGR< m:1 c4Wa|_D컰ƈƺ&lMi7}rs#g3ϲg9rl:司P6;ٔ>|g3_ aZ Nn<[A?&߷B)aMSmH"5 USSPQ_};)˖<32q(GAGMyoqّ{;?ޒ}G~Gpe! =Onnv"lc# )&-?=a?%c݃Q}{XEX\-cVNfϝʷ~g0sZ?gwt^p */500F%훦ڄz(oj> E ǞIcQ}{jmm xxA?&շֶN4 cXƨD n\ҿPAaiNEJw,*5ݭֶ܆]@vd<6?{3k{86G}_?a#|OM$a?D?ֽ5oK-(~ K~&iKGV[ƺ&|OM$ag3`T. aEj06ק0F_RF]X__j' C fu=SFu[1󑳙×Me7K;#1*Ünv6aZ z F5]jM',YfF(lxz! #R@ ƘZ gon9ٜ_k5Qt7AAWwROH1 Ta\߭HТZ1{ڈ|8fsPAAA[Ŭ`TZ>5| cI5aZ _`tzjןvZaߏ FaTV߶OM-?mH<5>5Spwo[k  1(ՅQ|s H(1Ф(~PuFaUct)5F`T6Mmm;3a5ķ cTœnq-FR06ק0F_G"GAU-OFبp'&,Ȑow|~jR$ 㻪7aZ R+j;joƨ9ݾķ Z &|[D0R-=O0R-օacH;#QgLQi&TKAS7 ST&+=lSw˭uzS^9 #R@j]6FjDY?fGԐ5#QbTo0ѿ?m' 1 #R`oFպ0lԈ3GFr#jH:C1#Qb\o0ѿ?muyg{ #R`oFպ0lԈ3?G933Pe*Nuן ޺zhj:F$TK-5ok\oZpx8Qt7x}aSS O|nyK°¨=SS j$a Gua#lRx[H u2Ԍw=Լa#z$ *п߶=VL]O|oM=46aпf_MMyZCFSLġ0_Gvv7@Z[-0lj}zn@{ z+i&[ۖ[-OTM׭WIW8啓0R-օacFO6kH(q( &v] m_VjQ] ~>ZOf'\rs=Fh_l:!6;,&3M  h?Ga>;2kh_%ko29.瘛}6P~dh_>hKsvܘH5}>%ko22~;:j66ё̾s|Qtl6??h^ Zw@݄ ]o~01E"uRwN/TKAlFirSߤvHD 01%a<\N0R-0FzhwamLF3H,妾Io}m+'q*G! aۢjEgђ?]o amjIHxx)h)K]/P0:ziMO10Sq( 7 wwao[~+2 KMHТZ1)hFF8F]]u[s?g~}G["}EFX5mj" )b"}S.2 :Um_nk^I#j ),1֯~ܿ V + NlUmmA0R-ڃ*aXhs}Uoz]41*1ڮ0ң`1B1*Q+ڮ> '11T|ݾmojW{}Wb0T,H~aRg}w0(TKmcӾmt|QR ^j)RLПR,gL rj)mp Cƨ/H(S.ø{z[ЧAZz֯~Q:}=n. [-,̺zhK֯~OIe*ڿø{z_.u1*1<5o  㻮>WQ}x(0O?\aG cڮhWKzz)ĺ5 k{+IOa /0oXϘ"Viu7kY+TKAlQb]\9ݾaKu}߽>WZ(~ykRPylu3# |a~0R-O_aZ [U0i`vUn{n~*8i^ ؊GwnߧWw cDyZxHB 3Ztnkx0=M9Bm>-# ^h;'M/tnkx0'MWS$5mO|0&Lqu|7M #Rn_ݶx% &a> GuaݵIZmM6LDr!ߖkfDjDCa> =7a#lRxb]\qu|vaXh?ܿ)b. FhUڀ0T,aM>nm W617U-mڵ. 7 wn ),&z\a΢mQeɏьH(q(2 waZ TNQ}S. &շoj裠95 ZmM6{[Ү6EKfߏ{3Zj<0P^'NrW5J= #=UW(ԓ0F£6)$'aSC,^? ,LvW&v6) Gua#l(%73?9~넍p%90R-)äJKk`9r}Жi[BPxG[0T,z8Zԓ0ӯ녶moƨ$* `uKz64KuSkѯ0F_iSN0i:t]n*=}S.lZQb)nߤv)?M'#ݿo ߉o(~{kT֣MSm녶[0BC5&a#'a#LIVQaCa^1]0ڶZۮspbjs+n?jp }_a^1lݧڻ8FhWP-<äwm A-{MI6aaR6 ° ԃZ/U펗$ 7Nݾ[sۧo|x`j)k} #" N9ݾqMKXVߩcjQ^@Ro7-cQPQRֆ aߒvua&uγ__egom$aZ M9ݾjkWwؼryj` ^w0u4 S?ܿ ?thVO10Sq( 7 wwao[~+ 7ShzE[o0=`c@n*Io&wpu7v@n*js7WMyZCaݾ[m׹aT$2`[M$TKaX$`n ß0R-vw0R-V nki0R-`}߷& 0TPQ1Sn__ԭֶ0l{}8{|[v%#1(ބqQf^;Ԍ?ho5;osCbcFoN݄ ]MyooFFz0F}nx8hs};}[n{pH'Q$ +l s-߶mwvbH)*[0R-1 NO0B(T;妾Є1.n>u7ж׸Uo 00>u:' aR6 kiƨD,*0F_4K[Q(~yku}Vkun{'TK>U*(L0W=}T0FK۩)O|o-m7Ԃ0L]'}}HF?U 㻪7aX$v 7 Wǽh#G>fGWFEқIn*M0^kj(2 w훂w%aߏI4bnqqozhk\ބQl6ZEƨ/-`@O10Zޖ9Ϫ;a> {UbH[1LWOw{} STb3T}ߩa$TK-ua}Ms^Esgġ U$a[`Bz m`F[u_ašMp] cn}ZUO?-]mk>$aFJƨ#S|-0ѿ-O{jAWO|0G, NHZE9ax0F* as/!wa#TuKM~0۷Tׅj)?Q}Ku}O-joFjrF`coy녶M$a0 #RZ`;WJw&a#l~77}s1 |ߟ~F~47ިZqUF[{o4ݘvaߏIIQv{)фN/(N0_~-Zoׅnj c4ZSu" #RO֭n41(̌Vs}ύӷMk#lO" L¶{ۑ`zpw Gv9.l~Ԋ'2 z;?M'aX:@&pr}_~5`DbUp'u=dF;| Lձ 0ghlh?{Zbہ0i: #Rnw7 LqopSHz@4j)pv TKA *0\CW CI~5iT,N-J41(N꫰68|<:pSh )&Pn*zqNsx= nΎ۾]՛0T,,m7uշC6§OEt7aqu|W۶st7aF=0B; ~LJƨh:X]7W*(LHfpݵ>1ƨCOhw^^%SzLZ^m-Hci{Ʒlhs( #)   x} cO'⧰`0۷ V 뾮 Wxx`vå&uγ$Sz00%0$'QGU\at).10m}v1{j 랜ZEƨ/SI S\b?KlLO{jAWN" cX¸:{jjKKS $ 1@Nҿz+TK(U8IHo=U mWx(0O?\aG cڮhWKzz)ĺ5 k: LBs}UoÖjW{}߅O 0^k_{Qc֤k'gL_G:y:aZ 0Hh`tz`jk oO 0SYR]_mwUp MBTQbCsڦ]cv0R-ièFk?S0z^+l9|HCn]Me*zƨSo:C tބS-o]o:zƨ/5abths}[01E%f`J= +5IpSx<*п&  `u=-o]on_՛)t0lj0)_a8~*_aNau}]x裂]*(L0o_4&GA.+IZmM6EqϢh237G Ƙ(9yˎ̈Ԉ(SN9ݾ)F@5w7PAaQ}{6a> =7a#lvU_6x{}_a#v;I{j[ڛS0R-օacEQjEgьH(q(v6i`{XwRo߽>>]a#|{$a0o_a?% žwajaOIe*-7u>v-}{;-O? &?&aXxԅ1*1 #" Ni7G- cSQFظf33?31hovNFLTo0۷Zۮsh aߒv l\vh?;{5Qs6pߣa6s1w?ȑfώh^M3˜Egyk^w[Uڭ-}%l~ډwUwjW{}wi[U[[+l[U$aX6`tz`jk o1*1 æ SM=68HlUmmARo^0+2 KM]4_[stF]~~=G;l'73g]vhO= o7;9fw3MF}!/V9p2Ͼr}/sEF% #Rp=M tnZFR Ԃƨ/\ߓ00F"0l^9[_ cq000F%Ln:X/00F}5Cn$⧘랷&^ X1W?Ga=f3s7nDoΣޫߟ?e΢H}>iDoΣޫ9O~,6Iij0i`֩h-#)zhƨ/u=4a$E1;`N-j]_E0pu| ]ݕ<  ޺zhS *Vkw`{ظ<녶)vS cDIAca#;0&0裂]Jw,㻪anm[Bx1aa'ں>UO#Ww}*}:=l ؊aڭvCF)**̡vTީ #Rn0V0T,a}W[[s)b.G!w*)S$ cpu|aa]_a(MQ8=Tz-<8=a?%z{==OϘ"&3uuH"a#ݮ롑A?&շoj݄ ]ۆ]@e*0ܿo ߅1*1G<cQ=ơGR,zٜs H(q(GAG&l9s?{nf4>F Kƨ# ׫Vc°!'0FKUT{( +WN0F]wWe}Z$ 㻮7Vۄki*$aZ 9ݾu~1b¸:K00F%4t}jOӦWHb -eit>1*ôzhw-uڄ1 TQ/&nKz덪i/6® t:'Q_TM$aIcƨc} #)`o7x[} c]m]IQPS‰ZS/\KS6yon^vu0R-օac|l3PVĺW0O$TKtHV SSF؜<{9#'Ft00F%_4&(f_L׿ץ R+0FTҩ)a#lRx[n%9$lYw~bKq蓰HpOS0=O ZQ{n%,1}+b+WN cp\}IZmM6,7e{_r;&{/s3"5xġ~UHHТnk°1f&rs%df~rεG̈Ԉ Ƙ}s\ONù3"5xġ0F՛IOoOa0 ݮ_d _Fٹf?h3 ~Lxx 3a4_as|0&XaZ ?ע_a$E1 Fn[{ }| cTœnq- V/ank .lM/oȼ;7anO 5# f~IP0 A6׷j} #*V; 2XƨDFhwOa>C0yv6fʎ(jFR74pƨ/(Xta$EM ŧ0F_G6FDg2FꏲIO==OOaCϛ1(XQF>IKƈ +'+TKAn(5 1]&aZ ,uJ8ռ7/F Cnn S*п&'100F!" cT_MHLN׿Z+"lj)Sn__wSM[IVQz zV+27w0i: #Rnw7 L"魷atFہ0R-V+TKA*0b"z{C$aH{;qoo5#RF魦ַj)*1 +Up0n *8i裐J:5%lhgϺ(9 aK$TK0ןڛS00F%0BT; o-% FXn" Cn$2 :Ln:X/}0R-N 0Fڅj)p`n #Rn0)*0&(7(BmɻXUOwޕޅrHHx0B+ VKr05 VPQ cT #= E/Ql}T&RX_GOaVQ~_]Gl]o*8mAPAa裠ZxT6ՑB,TKAjƨFz0F_XQE CIjQ]{"K.lG3|?sa## #Rn( fo(>1V+ p] FؤlfYf9Y7s}P=3Ff/[NMj)H%9=@ma#lR63,3Vs}ɏ}#nv(9 0(S Z{:~ξMt6˞ԭCl~ߛ}~8s]t7aFs(mNw{`o?M'uyg{}+2B6=ܜg߫9NP=3F7c6Db5Qs$y2a~6s5Qs6_lx${8(?{G/;0KӺ9 w蘝h6F$a(MQb\o0i`_}0i: L"魷aZ +ф?F:j{jAWO|Ro~' cv:~ξ(S8+az?mu7М0T,M0CyZxo{@61 cIoͱx(PAa1LvM= n蟐JrL0ymmmۃځ/SI. mqy1b cT0\85ej)?Q}O-jo[o)*1#̈́j)y&a[qjR'TKt0ѿ]Ns*gLQ1F穛NMj)EV& cq}8FE[oH؛`z`o[>#R@jF5u7ן6a3b]ΈCaX$j)7zhO|MEZT0ѿ\ķ ԩR}w{jAW(".L]n꡹U]maп[u۞ZЕ01EL c$ #R` ¬c{赬=7vS_?M'TǞZ& 7S 9'M*(Lh a>{컰VDF`~Ün_U[}nM |ߟ=?g?&:F/;:U=̅ IJw&aXXƘΓ >vF LBMy&aZ M0js4ղ߶_{}jF CIjQ]IO1Lv7穿FR>魦 Xa$E1s3wSͧ0F}s #)isjAW>1 IM}ankmm]a#lG3|?}# a\?$aZ M9ݾķ-DZ 0&L(Sx4t^hBA'o:aZ + &a&ß0T,N- ݾtķ ß0 SS:wRJM݄IN+IS?p7o{jAWúzhVӁ0R-`[M$TKn_wSMviu7ЄoUW`0*8i 0Fk a>{Or;ߟf/ۏn  6S!Ԕn}l 'DtJF ڻ>#Mt$v*c]?&: S?p7QlE\O|oM=4S 01D cTǺzhn鿧t%TKA=^b*߮=xc7 Sġ085e.RJMA'] c$ VX©4 aajkyN4oL>Ht7aFStqu|ףnSW$aZ Nn zsy #)٫o=Z>1gLU0 z_ HsSP¨j7}.ꇅq=+ 1=] æX/_+TKA:$4t^h{[ p00$(ff0`&"+Gap]?c% ~LFXUK3lg0ѿNt0\߶[wSͭm{@O#&&aYq5ߣ!0zYaf$lUp-$aZ hHzrøunFK1GKY~Xa+ baP .lM SKYԗhߟ[>ZuQs6ª$⧰Jv`M]tpCI0i| c`^ʻX땾=0R-&ÜnߑƨFhW/T)),1n߁ގko}o FXݝIM0Վ-DS-n &?,| cT #+`^ʻN0"oz)3LWx)y+ik){ /9| [nm|瞄t7aF1i_ ni6mt|QR,gL #RA*^ HТnk°1f903^s6ٜs#bK 0F£J8 Anrx8 ݾvzZ/z}T]*((7(p0@BK}y1ʍeߟDծg7;c}6ª$a(MQbn?M'aZ &wzh(SHz@4j)pvnj: 0R-V nK0FTҩ)TKKwO-joRJ6&穿%6q6=~?F#?gDQ?IOawZtaZ %n4Flj>1ꋇUuZtH؛=ݾ#=x߿ S$µ4kWϘ"&n CI6aaR6 'm>mt+aw4kCxuQs6i:j)8ݞs}{{tC =Fs->mf}ε&2?s#s4>m#lt7AAWwǵWV?, #R0]?MSXtPAAAAa#le?|!4FW?,8_ae_6? Gua#lRx[<Ѧ1EqߟC͈&穿%q}eO%?~r'lmh_0R- c6گ0F£687&v8ߺYNQFkZo' Cnrx}a&TKAS7 Cj)_Ϙ τj)y&aۅQY7qf5;Ej5fwx_>f~?}i_%M:H>j_%MUX8M:IzR-e_-_x_5YtZ THZʾ&[S7 ;~?K;4$aX5Suw3Чg@Z`Nou m0]w\~z~7WcQ}{_}T6.vH>5}˜Ew"l1*ZEƨ/T> #= Ɔ|JP-<üzw0Td׺g5?9iVܗf (685=FZǗH6$a[aݓ0Bt~00F%baZ 6IxHFبpޘ;|f5u(C-÷FOOji?/FM6aڄj)iߗva -ap8.W4 I8&-ap8.WIQ MׅQ-ŗä,p'0p1"MZ0R-`ڈƨ/T }څIs-ў26i:M! ~LF8MIHJ9ݾMSmP| cGua$EJ>>14CntSuwg}jLmko00F%.ע_a`a^6a#lh?s-͍o~>m}%ʌ~oI¨bv8Iַ.Q*G穛`T_څQ07?g<68?&:pS٬f_an6s_Zo7t7!+ 0¸[n?'څz$⧈dFօaE,⧈Z #R`U°"FS0R-V. [-ba?EL  #R`U°"ƨDeU}¨bv8.Q*  TKAS7 CI*(Xa .lU$a(Ma\ߍ01%=oqoaZ/$aпTkw`{ؠwD00F% LɑIOUO̔#cxQ1'Xz 1Lv7N(Zz9ݾVKZz}RO¤馃B[ºNK}ROx0êF.Q_XպS08i}o ¨bv8.Q*G穛j)[WN0=SHb!`ZOק0F&#(fu>108.(f,V)?ap]NrjGukٚv0@D_Hp:p?³%J_[0i: V K_n_, [-&aj1 VIZj;h(D?M'a> 6“?IcqTL:~,Onnve86Ysf?OuSUTa4_aGu׷ݮ_Ϙ cQy&ak0 mM/yNyDqSn?S5J= a{TS5]1E%f;MFبpY3a#\]gLQY3a> =O$,l gFߏ{p aZmVQz-)0+$l g~?=~y$lvq8o:=j6 Zv8˾? m&:P}vG/;FD0xx`tiMIQFz KA?&U}{XKO cQ_ڰj!]6–Ej)8ݞs}-=.(f3V),Cf9Oa? L =lLA?&շ Cn$'1VOWZL0°bIZXa8FZ_KO c cTb8r4a{g? wYwtCa#Lj$  `NmoݩaZTQ$aZ R/8SPQ cT9ݾiMIQ ssX c-*#ROJzm6M #) ajZ)Q_ބ1(Т~E0R-=O6a#L$aߏ Faxx`N/_}A*JcQ}{8߭^moCaFMxQO 0:+ &a> E aӢ\Ɍ3r(lu$TK-ՅacFY8F9ݾ_ۄQ-Ŭ`RǷaK #RM(BRJ[ݶķ cŒk"gL1H؛`T_>#R@jF5U-< Ƙq(⧰cFww:v-01E"ڭTӮݝn}mh acSteGf_HDQؼ 53Qn4>739:5;|f_^F#l-u$TKta\ߵЇۄ1*aZEZ00F%0B}WKF#N0= ƺݶo\yIOUϘquba Gva#WK" #R@ ƘٗClH68a[AXr 9ݾimS.'&Mm ߗ )&q=?R˰0(0MSma"'Q*'QI5Q cLD3Dj0vBjx .H1wMEO/$TK45훦ڄj)H SWIQ$+(f9f0>5}SWIQ2<F`TiMIQg0S :{7x UO^9+$v6*%[z$b+T=ys}ROH+-nOabsmkoy°¤}mz'1(V{濣?>p~L/`9.Y;#$TKA ?aNoN]a$E1K_:֐ɧ0F}1XiF   wp 0R-0W .ݞFƨ#S|7<l>.FR_|8ZVh 0vKuAȠ7MSx. Ϙ+TKAL 0Fظc6^a#n$ 0b"dS6=ﶽypSIe*Ov miq넑j)pzl/ vkfx'OZhPAahB{0i:]w&aX$v Nx1aa䣷ן6a{濣f/>q?ǽ;:(n($'QGt>q?ǽ;:(ltpC! #)J|Ejh aOZξ4>g<6)t7!+ 8u>cJ) #R$ 0TPn6&ts#a#O0&P`t7aӟϘq ?j)iph a(9Mt|6vwIJw&a(M(SpyO|o]j:p$ 77w}zh(SHzt&aZ  ]t~' b8p7ן6as'3{soF}5\[pS7t7!qu|ݓ+ 00F"*+o zFR}*lz;yט$gLQ`T_jH~27|GG;?19WKMVK/g\ˎg<6I[l-) cR)*. 0R-1 N*(H' aɾdLp7e=; ?sa#'Qs}T0HM/zS3!L5KBj)a> =OׅpSj$a$E1LeTj:Ca?%6wM=4' [-01Czn_V߶_G8_' 0&L(~XFn n>ݵOR4xۭV'**m-4}~$ bag<6|&a#{" CnB m䄡t7 Cn$<.u1E%B]F CI*(Xa .lɍ5#nHO$a(!N/gLQjj)ipB)wyn@*(LPA!UTi)ۧۮZ #G8. |[qoo5maROx}n|a~Csx?=jzr6は#lﺛzhN8.}%mE[owyNkҺX6@Oc"b8 c" ؊|[ V |a~Cs>ZEƨ/NQlGU|  a~Wݶ0B0S8nɻNVx~]GnCaVQ1<%u &?&?ڛ}߅ܗH[laпl];n꡹sԔheM=4a?%avixcCawM=4$2 5幛baw00F%j``@ Ks.G亻 ]m~-}6:2wQCn(qɣpHտ>Zy&aMkv3DnH48aVQankƨ/ڭ6kokMТnk°1f9V^voZE>rĴoowv~a8n[݃{Rv7 cLDYviw'MMx11 c$&>cJĮj)ipPAai޶ojF]pڡfl[÷z/! #R@ Ƙl=1#t7aFSFOoo5?mH؛j)Eքac縹Y2Mt>r6s9<QZE?taP+ljIHТnk°1f9);;x癑F-ʾ,h΢90lԈ}_a#lgw$l`t7aqu|W=}T6/iq(2{;ƈIO#EaZ hQ5awOw(SQ}O-joF$TK-& cΈCaXXap c$'"TKt0R-ۚ0lNQFΈCa0 #R@ Ƙm9ψԈH~aWG; }T{ToFظ哟\ԭ//H6vT*Moo5>6wM=4SUTab&gL_GF ݁#lׯ[gcn  0l~Ix<՚e*6a(MB,TKAs>ݾ}ۛ~>u:',<l~Ϙ"0^h`nSwꭽq `uw01E%FF # s[ ͧ0F}1hHТnk°1f9缃^vl9ψԈFxHPAaF])nvEP}$?{?ǝnQ{o7nQ;l4p^q|f3w2od#GΎh^?ߟQ0lԈ Ƙex_}41Z?%?~rGg°1R#' c6q8jF\=fswt,xL6FjDac|dZ}K9nuVK~n:;{]g°1R#' cG#ҾJ=:):n~VmnW3a3]2(K9(#L6FjDac?K>l过3Mf/f-j#K9tsvɏf/9GFN(0R-ۚ0lHf[~k{jF\=|;#R#' cGkrP/feߏ/ѾG;1;Di>?Q~}G;3|磝 Ƙ 5#nVQV3$3Q}|}o=̍4#9QQ~}G3a1?{pQHՌH(0ln?-'3peͮ,77{$}6hv& c9;~3Q7}rsտ>; <9瘛}? Ƙ}2Ԍ80lԈ Ƙ/+Mٗ~C7dѫZ磌 H(0lپ>M5rܗ;VVMpL6FjDac2ON˒;&zy^|ѫ0lԈ Ƙ/s4?9g wjg°1fs|9F H(0lپ>M><ۗ;VMpL6FjDacHH=NQFluog°1R#' cQ;F_'}LտpZytf{ȣ΄acޟ}f°1R#' cF>̌4klHտz5#R#G ST&&a^A'`Ki-;ݢj) cQnQ0t?'<ݢH S} :yn?,itnQ$aZ hQ5a1΄ac|&+3a1d96}rsug#_weaf4Q}Փ#A~䮖{(oGؙ0lٙ&6:f5L6FjDac}=R}?iP3L6͑c& #5x°1f9^ՙ0lYde& #5xDac蘝hv8ofGkFrh?<9Q]/H{K?f~;稙 H(0lYGr׽稙 H(0lپH996hs̏6(j& #5x°1f_FjDacԾѢ%3Zuq]Nw0lԈ Ƙ|_EٗuQs|}og°1R#' c}M#|Dl3a1}MWDǝܗ(v?f/3a1|>Z0iGb>s_an6ۑ稙 H(q(TK`]ZmM6FjDacr&3aL6FjD   Ƙ}M-ʾl:;{]g°1R#' c6~8|GΎh^?Ǚ0lԈ Ƙ5ߌUǏc6w& #5x°1f#1ˌ;s߮&_4#9Q΢%?~r703|P3L6FjDac̾5Y\vh]w8V,:f°1R#' ca"sEqɏ>΢0lԈ Ƙ}4uّ=?gw8V,:f°1R#' cHGrE9OjEgL6FjD Ƙx>5AV; #̈́acFO6ƌ4GFy;=Ddu[1gQ^0lԈ 8Ft ZvE󏟝τacFO6l^EG1wlsbc2Q qu0;X۳q]a{3٤y>@Fջ07suU éݾN .,lMƯWddXdɦ7ug?g< ca1^-ca6§Onnv5ّ×f/;1Σ0lԈ1Ky~%?翇4|ߴ13Gz5Qfpf°1R#' ccm'77;lNW3a1#u3~όHp& #5x°1f:C3B|W"0lԈ Ƙsw}sb_rɌu5Q>3a1HxH M VHAQxA?&aWON$(zTzҺ^aWw0&[ۦZ00F% `DSrh c cTb̶{Iaa4{rKtg"l-Ai:VfiCm;bK^a:nR<׍ip9 MgUfc܎<.<=7FX8zELS0敓0B}>݄ 0NEJwb:'a[T TKٯnLkC]/Z6{0^SKRv0}kN>nT:xM6>nۧ+d3?OnUTrkT[ƨ7wckY{0Z-xxvOkjưDƨD̶{"V00F!00F%&ljƘ*'Qةl>m 100F!00F%&a8F,'10tL]h{ Kͻݧ0tzLv cOt\1`9]C;aKe+imjIzoL Kep@k[Ь}+'1UZL0x(S9tlBjm S!`<. [-ba?EL0N{`m!% [-ba]C'aTZ+Ӯݝ0x96m zipZ֟^kemD] M"+'100F!0T,b\)R9VW ),T,G!vʬcϵʷ{Ɖks%>n-AIK?,`}W[޿ cQt\ a>g5'uγ__e/y&{aA6a# c6   bL1 †F6°1f0 va# c;+*a# fe?۳dF&d=aa#lzsɬ9fD=FYa# 0px}]@Z0Mg]`UM8ֽjI_auKi-n$X0ķmCsK֯~':|Qm__wSmկvqF=l_mWX[Fu sʡV[]n]/}VX~>ڗf=fswto2?# fs?#G/{>:FK~7ÏF[c;XU[}nmVةNu*0 0 | a@غUضUCÀp-$XtH_]퀴᫰r a@XM a@; 5#1~Q a%%ne5F>FZU8xa@&ZFtՒ`nOע_N]ukkH +À aן &m/y$XѿoKS޿=~< +̣Nףmt)aUO^9: MAm녶V^'̀߅O-Ԃן6SS:ZK*5}ÞZЕZWwROIo:|IzkجߜGGa#8=Z#5Fظuoߟͮj6_G2Fe3px8e*8ZNk)y*8il^9``;h<#vcFVfgnFlh;;6穿H_a}Th]WIأBہ}jj a=i^w a[{u\m_6`tM&uγ9KM'\~sFNlf>΢ռ?ǬHVaM=uwp{WN$XCmZWw4Š:|pQiݦw[+o{m©G`tx8:-v;)j_Nk%luiS5 m]m{X[jSU6't@u 5Ts|G3 l)Zm^9: os4zCIW_?â@ chdir$@NAMES DIRZCPR24w_DU2.COM from DU.COM ver 7.5 1/23/81 by RLC & CDM!9"-1- | DU2 cannot run on CP/M Version 1.4 -- Abortingî+0>>2-A 9}$uγZ bHxֶoO-jcnIkTkunzhywpo-: V+$ڸZ01 j:j: x mUp-ۂ-Hk`}ԺZ=ݭB[KmA: x m).AJ=. a+=VݵrHkV:[ۭ녶OU :v7:|q7 DU2 - Disk Utility II, Version 1.8 Type ? for Help !~^G^/##~/> !/uW͝2-2-:-d=2-2-1-2-2-<2-!"- ^T# ^,|G!,~gʺ###ë#^#Vx!/7~0:#2-0G!; ~# ,!7/  ]!/~# !;|! Error -- Macro Expanded Command Line too Long^!/3~# ]Invalid Command at or after x|^+++ Out of memory +++ ^~  Warning: Remainder of Command Line after "@" Deleted Command -- Status Summary ** |*- ́Address of Head of Queue: *-DMO Hex Address of Tail of Queue: *-DMO Hex *-;*-|‡}‡`ik Sectors Free in Queue -*-|ʕ* ` \* <; *-;\!3/~# |> |!/uTP#T@YMacro Definitions --Aʑ#͡|#|Previous Command Line Definition -- @: !3÷#͡z ”|Jz0|: !;~# |·> |0 W Invalid Macro Number Specified in Com; x\<; Queue Saved in File V Error in saving Queue :-Oͬ |:-_-!"-*-"-"-` \* < *-*-|¦ }\*-!;"-*-#"-ʑ *-+"-\Queue Read from File *- Vmand^#!;]^|+=============================+ | -- Queue Information -- | +-----------------------------+  +=============================+ | -- Disk Information -- | +-----------------------------+ Disk Drive:  Error in reading file into Queue V ! w#2 rzO *-#|O "-*-!/z|"-||^r:G{Ҋ zŠ {2- |User Number Out of Range ^:-/2-|r{¿ :pW x ^ ¿ |d ppɯ2-2-2- :-A|>:|>2 Tracks: *-#k System Tracks: *-k Sectors/Track: *-k Group Size: :- 23*-"-"-!"-!; 6 $9 > 2/ 2-y>2-Oì >2-|r |T^ #AO:Gyڬ Disk Letter Out of Range ^:-ʶ y2-> ͫ,|g^#V#"-:- ! !~#fo=,*- *-|2-.tries: *-#k (+`i2k>2 Groups):-h Physical sector size::-¹ <#2-2- 4{ >2-*-#+`i+BKH>-|> 2-*-#}   |1  @ z { Hv :-; Hv JJ*-*-+o *-"- *-"-̓2-]*-~| ~> ˆ >(|~T# >.| :-|~T~> º >)|  ++ Free ++ :-2->:|~# ~ 8*- *-̓ ++ EOF ++ J(2-:-š++ Can't dump, no sector read ++ Use G command following F, or R or S following T ^~,ʥ ®ýBK^ʽ#`i}T:-A~T}}{#} ^:-H| *-#"-!"-*-:-!#~n~ nn~_#~n:-NW#ͳ+j*-|f>*2-"-O *-+"-|*-TG{O:-=ySʰ!->2-|#*-*-|}*-!;"-*-#"- |Sector Queue is Full J~ ~>.|{%#}:-J ^{:-|J{|]*-*-+ڏGroup = *-DMH>:|:-T>,| Track = *-k, Sector = *-k, Physical Sector = *-kJ|xTS Gfgr*-+-- Sector Not Saved *- ^k Sectors in Queue *|=*-#T*-^g4*-+"-"-2-͓ GReading from Group *-DMHJ*-"->2-*-:-2-(rzg*-+g ̓2-.]*-*-+*-+*-+DM M:-G}2-:-<O,"-4*-+"-2-͓ ̓2-]:-<&o+:-O Ҩ*-DM,*-#->?2h2j` \<++ File Not Found ++ |>2--;:-*-|}»*- *-:-4"-7"-y2-*-iTSmGʳ:-!-|#*-|ʕ+"- *-;"-|Error -- Queue Empty ^GWriting to Group *-DMHJ*-"->2-í++ No "<" Save Command <=o&))))) >D2-]g#~:+>DT@##\PT.p^q#P]#.g#> q]ʎrzŽzŽ*- *-̓(]rz*-+|*-|*-"-*-+"-*-"-z×*-#*-+Issued ++ ^~#ɯ2- ,!/6 (|G~{g:-*-}2-*- *-̓.!~#"-:-:r{! )~~    ~8|,)*-#*-+"-!"-T##->#BKC gHʍAg]| b~bh8k|"-g#y|*-N]|g#]| ʌ"-4{Tyʴ|*-]|g:-̓|++ Can't read - not positioned ++ Position by:   Track then Sector, or Group |6|><|T>>|:-SxTy] f0|2'͘ ͘ d͘  ͘ }0|}o|gқ:2zʶ0|:> |> |>*|2- ^~p^|#~#4z {,4++ READ Failed, Sector may be Invalid ++ :-k++ Cannot Write Unless Read Issued ++ `:-ʢ:-ʢE~:-!ʒ=ÉE*-ê*-~>ͫ,++ WRITE Failed ++ Introductory HELP on DU2 (Disk Utility) The ƀ_++ Bad Displacement (Not 0-7FH) ++ ^~#qT^ ->#0g:dAgGg0))))o=#~##=T0:0#bk)))o|g DU2 :-A|:-o&k? . :.G!/o|g> w|> |!/:q2-:-=2-J T DU2 program is designed to provide the user with the ability to manipulate information on the disk as easily as the DDT and SID utilities allow the user to manipulate information in memory. The following is a summary of the commands available to thype Any Character to Continue or ^C to Abort - p@J:-^î+> |> |~`_~, >ͫ,>ͫ,O •> |:-… Ҥ ʤ :-²>ͫ,y >2- :-<2-:->ͫ,>ͫ,!"-*-+"-e DU2 user. This same list is invoked internally by the ? Command of DU2. For additional information on disk structures and how to use DU2 in general, refer to the files DU2.DOC and DU2.HLP. >2-2- ======================================BK> ͫ,*-"-*-+`i:-(+DM*-|„:-ʊ*-|ʇ> ͫ,!E6E~> ͫ,„>„6E~> ͫ,„2-*-"-`i:-:-:-ʥ+:-<O,}2-:-#>2-*-"- :-`i<O,}2-BK*->ͫ,:-g"-DM> ================= -- Command Summary -- ------------------------------------------------------- Operands in brackets [...] are optional @ Repeat Previous Non-@ Command Line +[nn] Step In [nn (decimal)] Sectors -[nn] Step Ou,++ Not Within Tracks 0-*-k (*-DMO Hex) or Groups 0-*-k (*-DMO Hex) ++ ^"-> ë,>2-:-:-*-*-"-z{*-*-"-z{>E~> ͫ,:-!=E*-4*-~> t Sectors Note: + or - commands force a read. < Save Current Sector into Temp > Restore Sector from Temp # Print Disk Parameters for Current Drive =xxx Search for ASCII xxx from Current Sector Note: Upper/lower case   matters. Use for hex: To find "IN 0" use: =<0> or "(tab)H,0(CR)(LF)" use: =<9>H,0 *[nn] Repeat [nn (decimal) times] ! Pause for user input  ----------------------------------------------:fn.ft Read Queue from a File on Disk S Restore Sector from Queue G[n] Restore Group from Queue --- MACRO OPERATIONS: :ntext Define 'text' to be Macro n n Perform Macro n, 0<=n--------- A[ff,tt] ASCII Dump C Change: CHaddr byte byte... (hex) or CAaddr data... (Ascii) Allowed for imbedded hex. or CHfrom-thru byte e.g. ch0-7f e5 or CAfr<=9 :Pn Print Macro n, 0<=n<=9 :Px Print All Macros if x=A or Print Prev Line if x=@  ------------------------------------------------------- Command Line is of the form: DU2 Commands Where "Commands" is any valid command line om-thru data (Ascii) D[ff,tt] Dump (Hex and ASCII) Ffn.ft Find File Gnn CP/M Allocation Group nn (hex) H[ff,tt] Hex Dump K Kill console output L[d] Log in Current Drive or Drive d M[nn] Map [from group nn (hex)], use ME to show erase Cancel a function with C or Ctrl-C. Suspend output with S or Ctrl-S. Separate commands with ",". Example: g0 +,d,z2,* would step in, dump, sleep 2 sec, and repeat until control-c typed. "nn" usage varies with d N Load New Disk P Toggle Printer Switch Snn Read Sector nn (decimal) Tnn Set Track nn (decimal) Unn Set User nn (decimal) for Find command V[nn] View [nn (decimal)] ASCII Sectors  ---------------------------------command as follows: +, -, *, T, S, U, V, Z nn in Decimal (use #nn for Hex) G, M nn in Hexadecimal (use #nn for Decimal) "ff" and "tt" are in Hexadecimal (u---------------------- R Read Current Sector W Write Current Sector X Exit Program Z[nn] Sleep [nn (decimal) seconds] --- QUEUE OPERATIONS: Q Queue Status QZ Zero (Empty) Queue QSd:fn.ft Save Queue as a File on Disk QRdse #ff or #tt for Decimal) ======================================================= ======================================================= DU2 Status Information ------------------------------------------------------- Processor Speed: :p0  | MHz Number of Lines on CON: :qo&k Group Save Buffer Address: *-DMO Hex ======================================================= :-®+^ *-yʽ+#x}/o|/g#ɷ|g}o:-+:-+ +}o|gDM!>2-}o|g{_zW:-, ,=+>2-{_zW}o|g}o|g:-9, =,4,:--!-~:-w*-͓"-"-w:-r,2-2-:-!ʅ,<=€,E"-:-Gʤ,!"-*-"-"-!"-2,:-,:,gO*  ",`i",2,+ :@+z-=,<>I#!?*: ì+++AT H0 AT T S7=15 MODEMTATD =T+U B+ B+ $ 5+ U '+>2(=>2)=T+2)=@ >2)=T!7~~#> ~!<~~#!9" 1 *.|g"g!:w !> 2`͍WDIAL.COM (c)1983 Simon J. Ewins!A0C"D0FGWH0Kd Ll M[ NP QRSWTWUk VW2X+Z -!-~:-w*-͓"-"-w:-r,2-2-:-!ʅ,<=€,E"-:-Gʤ,!"-*-"-"-!"-2,:-,:,gO*  ",`i",2,+ :@+z-=,<>I#!?*: W R: Repeat dial routine F: File dial routine S: Search dial routine D: Directory routine K: Kill a file T: Type a file X: Execute named program I: Modem initialize string M: Modify X program name H: Hang-up ^C=Quit to CP/M. !A0C"D0FGWH0Kd Ll M[ NP QRSWTWUk VW2X+Z -!-~:-w*-͓"-"-w:-r,2-2-:-!ʅ,<=€,E"-:-Gʤ,!"-*-"-"-!"-2,:-,:,gO*  ",`i",2,+ :@+z-=,<>I#!?*~Select? (R(8F(qS,Dʫ Kʹ T I+ X M Hw >D2`W Enter number to dial: !G>~#̀:a>F2`W Enter filename: #>i2b͍i#OW Dialing from fileW: !j]W !G/#(/;(w#>ẁ:a(O;Oç;O>S2`͍W Filename? >o2bi)OW Area code to search: >!G:GW Is this area code long distance? ( 2c~W Enter a 7 digit # to start search: !J>:J:cY !PQ!   >12G>2R > 2G2H2I͍W Number Search Routine Saving numbers to fileW: !j]W ̀:aC I?͘>#5OW Saved: !G~( 5O~#>;5O> 5O> 5O" AW > 2`W NOTHING?:cY !K!J~<:(w͍i#O/ (~ m ( ̽ d O;OW Done. Press any key for menu: ͽ ;O:d<2dWPress any key for next page or ^C to abort: >2dͽ d > ~͚:w(:w* W Loading file: !-]W.COM.......k>0w~<:(wk>0w~<:(wk>0w~<:(wk>0w~<:(wk>0w~<:(wk>0w~<:k>>5OAO> 2a> ~!A~( ͒~#> ͒:`S W W : Try #>2d2e:w(C(5N(1*d#"d8 :, *g. *g.>w*g.|w*gw# x W Temporary modem init string change. To make a permanent change see .DOC file. Current string: !]W Enter new initialization string: >N0>2!OW ++ ERROR - w:w(t2f:w:fC(D2a2aW CONNECT:`S( (#:w:`F ;O >~2a> ~͚WDisconnecting...... > ͒?!~(͒#?! ~(͒#?:`S!G>:G!Gix( 2i:`S   Entry too long.DW Temporary modem program change. To make a permanent change see .DOC file. Current program: !-]W Enter new program name (no extension): >N 2,>2-.!--O!~(͒#> ͒:w?!>O(W +++ Can't find file. +++D!!!  !!C !9 !0 !' !  !5  !K   !h !> ~͚]D:bi ;A++ Undefined error ++++ File not open ++++ Disk full ++++ Inpu!64>2 @"@͍ 7:@6x7*@##~#6+ü4m:/7C=m:1:3 7*@4 bk6 ʝO K) Q7 KB7> K> K: > @ ʝ2@O 7@ p77W4Y4!C=:@O~ʠ7 #Ô7!ɷ #"?~(w/"@d2 ,ʾ7w+2t File not found ++++ Attempted read passed eof ++++ Directory full ++++ Error in closing file ++++ File was already open. ++ It is now closed, please try again.>͒v W File name to kill? >2dW File name to type? >i2bD W Directory for which drive? >N xA2[~2[AGDW Drive : = %%W files with͍WK free -------------------------------------- >;0>2[#yG]:[<2[0( W | gW Press"   any key for menu....(7?7??W >2[!>~(~# 2:ͭ>;???????????xx2=*O9"=:=2=@ !@Ns#Fr͡9ͪ9q#p*@^#V+*2̓:ͭ>;"**"x? #8 8D8~w  ~:]@byy: w:G~y>xʩ ~/W~wʢDʢ~wÁ!""x ~~w*#"*z"ü ü*DM>22*">*z$ |c##~2#~2#~2#^#V#"#^#V#"È*.;^#"#~2#~2#^#"2*ڥW+}ʶz Üi`:)= ^###~))))!o&:/oկ2$կ~#:!,|!| ~A:A5<2#~:}?R2#~:}2G~#:p02 2OxGTx22}~:„#~,ʏ!ҧ >?”:G:O>~.»#ÚÚ*>?##> QO~!=_.u"!"u(73>*DMɯ+`o&~s*#"*z"*| s>~#z>?2u""!"u(Ͷ3£(`o&~ss*#"*z"*| sn*|6:;,<>ɾ|}YmGGoGøGG\GyͺQBQCQDQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPELDIAL RELghijDIAL PRNDM* + 'z x>2x"`i"*s#r#! xR*"*|g}o""*#"*}|i*"**}o|g"}|}*"y}**^Õ*DM*"*"** yW DIRALPHADIAL MAC01237FKNPQRSTUVf IAL MACRELCRFPRNJ#)y<=B3 SSc=@1=U2TUTc9@A!13U#/uAVWX| !d^#Vbk$w#*h*l -- Pointer Error*~#~*z*^#V*z"*^#V!z*##" y*DM+) +) Nq#Nq*DM+) +) N#F^#V`i: # # ~O#~?O#2*n!*j>*d~4>*hͲK>V>*l*ps#r*t6*d6*f~ʉ>*jͲʟ>*n*rs#r*v6*f6*d~>*p| ~2x#*ps#r*t5*l*ps#r*t6*p6#  #6:x>2x*f~$>*r:xw#*rs#r*v5T*n*rs#r*v6>:x*d62x>*v~ʔÄ*f6*jª>:xw >a{_HW:H/W:r# x:HAzLI+|H{ozgt7}o|gtq}o|g}o}|g}o}o|gtqß|g}otq}o|g}o|g}o|g#}/o|/gկ2-!"+ͯ*+<24"2*2m*ʻ n  ʩʘʞvhw# **w#5*6*2*~*~ ʔʔ #À*%y%Þ6 #6 #:4**+~* ** +:4>~> ~>~6:4*}o|g"+>2-͝*+:-tqF!"+|pE}p͝*+ͫ"+}o|gh"+}oiG!m!}$.*+q}o|g}o}|g}o}o|gtqß|g}otq}o|g}o|g}o|g#}/o|/gկ2-!"+ͯ*+2z{>~G:4x "~ 5,>#~l pyG>GO:4> ~Fitdn: ld a,13 call pout## ld a,(conin) ld (iy),a ret ; ds 100h stack: ds 2 ; ; ;........ end  ld a,1 call bbline## cp 0 jp z,sa2Q !R~#o|g6:N!S~Nw#A!S:R]~#ʱ ʛ , ʈ ʍʍʑbb byb byG>GO> ~§b2>2'd }0~n}o|g }o| DIAL is an extension to any terminal program allowing 3 dialing options and then the automatic load and execution of the terminal program itself. Of course the program that is loaded does not have to be a terminal or 'modem' pgy:> ~ɯ2y0~> ~> ~ ~~~~ ~ ~>^~@~*.f/*. zO*. O*.x2y22:_:_ Y X OGrogram. I have had occasion to load and run 'wash', 'osd' and other utilities after dialing. Features and functions: 1. Continual dialing of a number or list of numbers from a file until one answers. 2. Searching of a range of$   numbers for a carrier. 6. Z80 code. 7. Typing of files. 8. Directory with disk system reset. This program will only run on z80 based machines. As distributed DIAL will run as-is on an Osborne-1 double-density machine with a Hayes Smarlete from the cursor to the end of the line) (must end with a 0) 141h = 6 byte dial string (your modem's command string to dial the number that follows) The following is an assembly listing of the patch area which you ctmodem connected to the rs232 port. A patch-list follows which should allow other auto-dial modems to be used. Other patches are indicated for video control on non-Osbornes. I would appreciate hearing from anyone who gets this program up and runnould modify with the values you need and after assembling it overlay the .hex file onto dial.com using ddt. After modifying dial.com enter: A>SAVE 31 DIAL.COM org 0108h ; conin: db 10010100b ;Screen/keyboard iobyte value ; rdrin: db 10ing on other hardware combinations as this will allow me to update DIAL towards a more universal version. Patches: ------- 106h = screen/keyboard iobyte value (assigns CON: to screen/keyboard) 107h = modem (rs232) iobyte value 010101b ;Modem (rs232) iobyte value ; escstr: db '+++',0,0 ;escape or 'go off-line' string ; hngmsg: db 'AT H0',13,0,0,0,0 ;disconnect string ; dinit: db 'AT T S7=15 ' ;modem initialize string db 0,0,0,0,0,0,0,0,0,0 ; filrun: db 5,'MODEM',0,0,0 (assigns CON: to rs232) 108h = 5 byte escape or 'off-line' string (must end with 0) 10dh = 10 byte disconnect string (must end with 0) 117h = 21 byte modem initialize string (must end with 0) 12ch = number of characters in (termi,0,0 ;name of program to run ;1st byte MUST be length of name ; clrscr: db 26,0,0,0,0 ;clear screen string ; dellin: db 27,54h,0,0,0 ;delete from cursor to end-of-line string ; dile: db 'ATD ' ;dial code ; ;........ end As coded abnal) program name to load with X option. 12dh = 10 bytes for terminal program name (must end with a 0) 137h = 5 byte clear screen string (must end with a 0) 13ch = 4 byte delete cursor string (your terminal's hex sequence to deove, a Smartmodem with an Osborne will run dial as described. The program is pretty well self prompting but a brief explanation of the functions follows: 1: The repeat option prompts for the number to dial. The number is dialed until a carrier %  is detected or the user aborts with ^C. 2: The file dial option will dial numbers sequentially from a file. At the end of the file the program loops back to the start again. This continues until a carrier is detected. The file must bit. If I want to just dial until I get a carrier I run the File dial option with the phn.dil file as the specified file. 3: The search function prompts for area code and whether or not it is long distance and then seae structured as follows: #231-9538;comments etc. ie a # sign followed by the number, followed by a ; (semicolon) followed by any comments. Comments may continue for as many lines as you like as the program ignores arches that area for carriers. If one is found it is stored to a disk file structured as shown for number 2: above. 4: Type will type a file one 'page' at a time. 5: Directory displays the directory for the selected drive and resets the dill up to the next # sign. Example: #231-9538;.......RCP/M 1 Toronto #231-1262;.......RCP/M 2 Toronto #232-2644;.......Heath Toronto #423-3265;.......ETI Toronto #223-2625;.......Pet UG Toronto sk system. (Any disk action also relogs the drives) 6: "M" will allow you to temporarily change the name of the program to be loaded when a carrier is found. 7: "I" will allow the temporary change of the modem initialization string. 8:#624-5431;.......PSI Word-Pro Toronto #499-7023;.......PC Canada Toronto #222-3626;.......Nightowl Toronto #226-9260;.......Willowdale RCP/M, Toronto I keep two files on my modem disk, 1: phn.lst Wh "X" will jump to the named program without waiting for a carrier. 9: "K" will delete a file from the specified drive. When a carrier is found for all but the search option a bell is sounded until a key is struck at which time the named progrich is a list of all phone numbers I have for Bulletin Boards &/or RCP/M Systems. If I want a number from a file I just use the Type option and get it. 2: phn.dil Which has those more commonly called numbers in am is loaded. Simon Ewins, 08/13/83 676 Oriole Parkway, Toronto, Ontario. Phone: 416-484-9427 -------- end -------- &  . Once a connection is made, it will automatically initiate a program of your choice, such as a version of MODEM7. DIAL can also display a disk directory or the contents of a text file. It may be commanded to erase a file from the disk. It can also disconnect a modem from the phone line. Place DIAL.COM in drive A. At the A> prompt, type DIAL The program is menu driven. This version is setup for the Hayes Smartmodem but may be modified for others. Refer to DIAL.DOC for detail DISK.DOC FOG/UTL.044 First Osborne Group (FOG) Utilities Disk DU2V18 is an update of the general disk examination utility DU-V77 found on FOG/UTL.019. This version includes macro commands, sectos. Squeezed assembly language AQM files may be unsqueezed using utilities found on FOG/UTL.003, 004, 014, 031, and 042. Jim Woolley FOG Disk Librarian June 1984 r/group transfer to/from a queue, and queue transfer to/from a file. To use, place DU2V18.COM in drive A. At the A> prompt, type DU2V18 Press ? for a list of commands, or refer to DU2BRIEF.DOC. Also, see DUU found on FOG/UTL.006 and XAMN on FOG/UTL.016. DIAL will work with an auto-dial modem connected to the SERIAL RS232 port. It will repeatedly dial a single number or a series of numbers until connection is established, or it will search all numbers for a remote modem signal'   --> FILE: -FOG/UTL.044 CRC = 00 00 --> FILE: /UTL#044.DOC CRC = 24 18 --> FILE: DIAL .COM CRC = 75 51 --> FILE: DIAL .DOC CRC = 2B 00 --> FILE: DU2BRIEF.DOC CRC = A6 6C --> FILE: DU2V18 .AQM CRC = 92 4C --> FILE: DU2V18 .COM CRC = 86 CA ---------------------> SUM OF CRCS = 83 EB LE: DIAL .DOC CRC = 2B 00 --> FILE: DU2BRIEF.DOC CRC = A6 6C --> FILE: DU2V18 .AQM CRC = 92 4C --> FILE: DU2