IMD 1.16: 28/05/2007 17:00:40 -FOG/UTL034         -FOG/UTL034/UTL#034DOC)*ASPRETTYC ASPRETTYCOM0 !'ASPRETTYDOC(AUTOSUB AQMMAUTOSUB DOC DSKLABL1AQMUDSKLABL1COM DSKLABL1DOC MLOAD COMMLOAD14 AQM MLOAD14 TXTH"#$%&SERIAL AQM"SERIAL COM UNLOAD COM/UTL#034CRC+vAUTOSUB.ASMT   "!$#%&(')*+,-.0/124356798o:;<=>?@ABCDEFGHJILKNMPOQRS )m kl2/W-ᐂzir)'6_N5*(yHk ަ49WVNx_p9/im~Ђ O?߰&1p_j_Npk3x>@iHis0~%HiRBJ !%+]?    6j#IM/- JZtH ء[ٶthJ9l4 pmmd+IzA٧v*e3i3H )!%>RBJ4x V&{DpV@Rdgvw8H6odV~ R$u歀l^&u~~f'z3mF7 ~~f'z+[ٶ&^~~f'zFȬ[ſ>p&vs=AoIv~]AqidyMa?n߰Ft3D!O:x862C7e~ۡC~?/J /_˙揂6L؝diR~3RBJo8o80Mݼ]?w5&~?3=P|S~)!8vLiAǎM$5od+&v׊gvw8Hb׼)h@^RBj8l)!ͱ *㽉00fgP \q?/j<4;=toFlcǦ~ 8T/?Z[v[C(/} xw8 %@/B?^ r8hεyz;tC(/}M.30?b,c>/zjRz^s?DW?CGRnd۶ 6šǤ^˙l[x!%ہa®񡎔Қ>9(cƤgymGmrOriyyyi7{gпFZ:δ^7844H˛x K @e+H )a~ϐ3|!JaM!YuwFEZ:v+5H 2C%odFB?^o w!NgzQiC~;&[MBVhr!֎tH,}4tyM. ;kBk>\9//ƹ|;T "֊im2Zw*~p5HOhoZ1HOho5wMhhr=?wQHkiR͈oЏ"e^ɌVU/J~B`WFEZl~*ܠ4ްFtfRI]ߌ_!~&H Pl5vj|v͡|jAZViyf~7}rA8r~~{]G@8rIiR m9ڤ5]oX#s!m9LM&S̾LA.aM#畩a&vr1W k m+io|5;RBJHK/Yh;=Zݿi]wx~:M:8ҊVf*}XL~Hf+YSiRBͥv@~B{#-رϠ_?O!mXZ+eSu8F7y#1GڰV FGG#:|!HJAZ#|ev\zIo.7^HOh~~֪%@/fSÄ\g7҆ fd|Zngruwx⅔JZ;bEZ#|edi _7L i -[ -ͦoj+FڰZ{e~ƑVwSVqH )}2wa;C(/5ol>Hy#1O}?/J^NA˼)\˘2]oQ^>\WG 3H kwg</J~y2~z#17HeɆ=AZsgrgzQ-HkIKhJ~3-DZfqzsHd7ݣUZ~/O!-ر최:aOiGݤL_ ~A""#%7wÚ{7b{q5Gb8(z=~ZDSFZsg;ZMZZ|  B?^xO6ߙܺndugzQ-Hkj6^Z_`Ø "֊im2Z?0dus?5E~B{oo/}j:0Z+i 퍴{Myxe=?יwi!m?7nLFZGwR@J6wrM?o.~Vߏesυaq MMg`#m9/ԦUҏ#mӿ퓏V|s?wLێ{8&{;|0s!#%5 wx-sGB?SH ),˧VAXdVAXGZV3^XN:Ƒ6 P_>a: ~7lKVƩHGp0HؘL˺~~ m1{)Џ"3ߘ+҂ɔ|8 DZi5iHH )F۷7G+pP ܂iM}r@s?5WqaEhF~m~|}L굜"mXM~y_?̟)Z1֏.5ߏËHOho#5=6^oxQU:g!m?qSÄx8҆uJuJ {y[B0a7giO=)!uzSYXH Kܙܺn2U?kՋo/EZ vMi%@/ZsRB2=$؆ Mwe[KGݱIԳK`6 xWl?&j;&zn:FiÄ]QT7ߥnGH ))fbXsυv}vgdj%C}԰f ҊV8[gF8rކ]?\Hۏx-gz6,pjP7n~d/RڋbX )GJ;~X[wGJHԵ\g[KV@k4n2ZL!H&*{Mx*)+?\H `3_udF~֪%@/B?^ޛ"SkЏ"֊id>יC6.Vw9za=RBJ;)S!gX?\H irZf7q8#{sDZ̽i-36H7H+c*6M?CB~B{#3º"&-*lXÚ96AcӤ"(8kX3&sl~T_+rr6Kew?]}Ű+ԍtT[P_>5c7NhiyiHhM|_U?j {.rVr1W ks!%$H6ߙjm򻛏M|3bl(GZ{ӿzſ7~]#iW7~i_"i-ؽtL8T/VˑR.wIbX:쮃^VZ~&?a=_ ȅxWl qd;6G?SG(6Ik9_ÚoFlGڰ:|P c{3=_0#-cSv9sHOho {8h}q|V iC ^J>2lizs?ws!m+ )!+5˴י~`{.3lSÚ96H+Z}4f05#mp0H )ݼa~eڽ̏RZbs}tvsf.~7lK^O}7/  ^ RBs?1l:B~B{oЏƿ;;)7^?>;3AZsgrIҟA?Ȥ<P{ 6y'P쥟LFZsgu$F{~gbAڐGG`ǑX<GZmySvgЏ~H1dVLǦRx` Hۏn);a'pcVn>؏sE7#zAJ;+>So"m9eod{.`4)fPRQ ;H&d)! z]~nS՟*/~7lKy7H iܒwk[Mv7e?,g4g;dE#m?V@k4owo<p;6HC}԰f ҊV8i6`t@ڰ2-MъriREZ-GJHi'֟S%Rq˴{;su)m :Dy[Ͻ)m7_';^Z|voX#);9BJHy#睔[7۟#z)҆ŝ33xW^{Bh^_dQ^Vs/ '҆5ͥo1/ΦxWlHs(si{}M/|x!hכ.eDڰ5ͥ#m9onw?+zſ%@/Ҥ<*{O'8 h혊Mg#Hˣؤ%Uw7Hk<&eʿTAVnrjV@ktlb#m3Iujx} x) h혊Mg=i a¾~i͝Nʭ&3b;Fw3=<##%y-sp=]-o<"%$<*{O-xiZvi:)M"mX\;T7~~&/jv_HmכK? Dڰ5fSu~ kwg m9<޺iR~K9\ ɗڋ#mkoj "%Gk[7ɴ{}=҆ yH ):Dyμù nڡCUr1ȏf61)m?dXc$G{p㛺Sԏ?L4H-MS/rm= m3_ܺn-H+b:6Ywi!m?75LطЏ"3_ܺn̿7##撚s8fw p=AJw}?ʿ)GJ\_AJH}%IyxMVM{Z;bxE(nra?˟ #%};tҗu0є~?HikM3=wz;t/UPT~S?=H&f{\/7ày02J kl9onwM"mX\5fS?S_6v@8rÄ?aG lp)z)8rIyuk h]?+2ZC a}7i h{ZcH+cl?bd?;mo. |ηA?*י0*Hi*x;tRڙ|}a' y**i6OҊV{*ѪoFi{o\? ?̳)G˧>\H_]lʑV@kk*6Mpev@~B{#@ZSiKߥN[Hv73 HұcӁ:Vˑr;.P'y^H+c*6۟u&~#m?7YLFow?JO#6ӱI8h}viÄ]ÚlRZ[:ްxwRB`Xc$/cl**GݱIRx< iڡ #n~ɅaqRK iM$ÚlJfo~R@Zu \ھHi{-렷E("j9RBJb#?0_y?xE`.y̽ ZfHkFLG˧"%$^A~Bˑ6,.L PfVi m(1tlFxWH+cZH;xkk#K[Hk  r`AZ-GJHuy~8ȅYwL"m9_BZ;yFJHϏ\H /mI2sɌV e^{ښM3G{a7NgHGp0i-m6i9#i-ؽVˑRUϏwxfma )!8LI6ھ]oj8L!Fuz[vW9ߛ&#;7lK?=8RBadymcSsH1o#H1{\l[)w}3RB2֌VIV~B?^f )!%sl~bX kH7kXõVK7{}1]#TCݑ7{ 7(M--\\F:rǑjZ)!-7+E^~N$#od{i%_ Ikcm#m9o m3ab7yDSq似"0G8rިyF~B?^f )!%sl~bX kH7kXõVK7{}1]##m9o m3ab7yDSq似"0G8rިyF˧5sl6~_ vÚ{.q+HGp0H&#%Rf"y#GT? )r$)! ϠAq~̑U%ϛ::|.^#%tPNTRY ;WE JOIN LOOP IN PROGRESS... SUBLP: CALL LKAHED ;LOOK AT NEXT CHAR JC DOSUBS ;IF LINE EMPTY, THEN PLUG IN PARM CALL NUMTST ;CHECK FOR NUMERIC JC DOSUBS ;DONE IF NOT LPNTRY: CALL GETCHR ;NOW REMOVE THE CHAR FROM INPUT STREAM SUI '0' ;REMOVE #2H ͡5iso3[C"=[ɋV_1G~B{#-mV@kǴAZбiN=[͡԰&@ZsguE{O}4ܙ7ٺ"ms0~#3:ܛ9ZҚ;[Wc{ GZc{cؘM3hp zVˑR>\otL )!nd{)!Eul k"M49?9ˑv 78ܺJV~ӬUCOM!9"a1MLOAD ver. 1.4 Copyright (C) 1983 Ronald G. Fowler x \tͿMs: !f*aɯ2m2l!tw# 6 #†6 !"c""!"j!~#Gv6#"n*}O| G6# x!̀#~ ̀͏ڣ~#͏£"c)/J^~ɛl]%e+B?^oB&$e+)2:DSdZ岕d/}ZҤ<2m"r"g*n}o|g"pu !]v+:g:h"g*p "e:s *"*p  w#Kx*G!i~wx@͈@͈:la_!~-!l4\-2lK\!t v~ Œ!v<*e*n{OzGxʬ\!< *#"yրOҶxGҶͿLoaded *' b@##"~.#y "L#*;?2 "D>? =L#D~/., :=ȷAS> is a load offset (in hex) within the output file II_6# 6 #6#L##~+:~ytes (*SH - *' records) to file % Start address: *rSH Ending address: *gSH Bias: *cSH *r}Œ| ++ Warning: program origin NOT at 100H ++ \:iv MLOAD14.ASM]  "!#$%&')(*,+.-/0123o457698;:=<?>@ABCDEF>.i~ !#i#! 0 |'{0i> i> i|X}aƐ'@'_~#w#~ ʀ͏ڒ0:ڠAG?I Command line syntax error ͷAmbiguous file name: % not allowed.ͷFile %GIHJKLNMOQPRSTVUWX[YZ\gh-O7x Jl/l"kÆVS[wzR{ ^ӳ'u3+% Zz};=ź߇?9;'KLآ vч 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 [=] [,CD`+}x苅slAjȢ8>Z6ܔزE\QU1-%1t(1#~h_p7Nh_2|u3ƍԪOQb>_k0MP[*i"T:QždK3YYD \0M1嫛͸}wE8ĖVVU|\9P^To\B!,`:pe Hڗ>iM%\...] [] (brackets denote optional items) is the optional output filename are input file(s) is a load offset (in hex) within the output file II_6# 6 #6#L##~+:~?tCh_jSQbK0n$>)qʳ>}IMF-`Mr`{+¢}ɘwq$gWT:^ke%f$ؗ{CWξ+J>|"-[Z=zu\$:Pg\`RDFX+Tj\[0#lJXB 2a?樂gDAOL$hWq Fw%_mlMzRˇmZɿL\G9  7{Fm,jCXEXFwTyܹDFX{;e{H64}uf? IeNmg,j#W`KF a&¢{{@7 qKf9ke}ه~e"aV&.3O{ʛ;wâ閻RgJr)/H]AIfdJY\l".m!e[}~(1#Bbq /)~ϿFo e˦gOHΝK0}xbk6./WNrp%Cy٫2MpA߇Ė2,{7NA 3`ilѽ~Tmr?:dH,t/VcP%1pT5}xiә% F-oEڗe5~/?CX ]&2Kڹ A֍ku@X}x}mP됌W];CX};k@7 qK>|""e R3rKĖl"QDG00Ѐ6ڗCnNzq޲VfKi};oQ[ΧӾdzĖ3>[IDI ^qg@Uo![ 'iէjF`N}I7lA}><%Z` aQDgqo𢾃_>XҾg|toE6\I}xڗ**9-%q[j%KBm6JlI}xJ|!_2>; s%_dÕDه !8_߇}6ǝ=.MN/DAs+sj%KjbIٚ6xQ>ʜfLs9̠߇ͬ_%Po~YĖ@("&Io/;T;UXJsIڗTmؒD4iإ}xGiLD{;QҾĖF\+fX/Y+q$Fh_2?6o)zڗĥjĖ}>:%Ooe$_ ذ4e;8j><2Z$lf匰=cl0GsPt#sCUnZ-4%T`oԪO`/;toʄT~>3T&%><_ .ڗtoE%gKk<}OaaQfr3t(=CXIMF-ޟ}>|_.3ڇj߯7}> *J@P ^qgZI@P2d2i@a~ՒჺE62àOZ)2$(%{/>7xÛ$jSQbK{p ~hI3J 'we2#><%m|FZ$Et\ eJ |ZPчEJ5/zV^fr?+=GW}>i_f.a`V߯ZXEe-#utJ4-2~@Aι5@M2h'ш^}xWQ f(˟V >F~}4}ISZ&(\}}x;)匰i_Rܩ͒(u2_let%/T-_H  ToYBJf6s}osY䳊>|$ (a%%s/+Ї"hLyՃ!ZpX|o]NUΝ~g`}TMɝ`32 Olk#JW\NUߔǔnF-`نƢ+CTKW i4ĖVVه|w>|u3 :hO({_zW {oz3>O:hA:p*q=F);:gO)]͆$>k*sw f |]{0*sw#"s~#$ʔ͖Ç_ :<2!u.!.ë>?!]w\<2 \<=!o* 0.ODG ˨6|;_ rDwg8\-]ڇtE@˩<|@$HJlI64 \iO{>|}o˩}et}%/OdJ<\ز >)w]ز/>=--)e;_S'Z|;FKy9U}EFKtcn3y9U}EyYRb>T;e3ƍTrw#" : <2 : !s#r# = : 22=f2:=22f! ##:=2L:8!" >2>2 =* ^#V#" <>.!<:=2:=2º>2!.:=2v>2ͤv   !.*d^#V#!9"d1d :m2f!] 6?#r9͹f!~ҵ#~2ҵ#~ҵ!~p>12u~02v#~0ڇ>32x~0æ~ ژ>22x~ æ~ڦ>12x~02y#~ր02|>$2>2  !9##~0G''''O#~0' N#F #>2N#F#^q#Vpr+s_>$~!#.~!#<f! ##:=2L:8! / /8 SngDen Free Space= Page 0 $Please enter today's date as mm/dd/yy---->$  A CBU$CAU$\>-2]4J \4JInput disk name (max 7 filename,3 extension) (ie UTILITY.001) ===> )-------.---($ %  •z  ]!|>-#\ *.|g"   * .* .>w* .|w* CU$ | $ngDen Free Space= Page 0 $Please enter today's date as mm/dd/yy---->$  A CBU$CAU$w# x4 DDLABEL B:~A,`, #!o> d>.d~ l#d:\2i2h:iʍ=2h:h_"j~ ڴ!g6!6D#6b#6l*j^#V#"l*j##~2p!)=*l:h_+0#~*q#"qz    The following software is copyrighted 10/20/83 by: Dennis McFerran 1038 Polk Lane San Jose, CA 95117 Tel-408-296-6021 Comments and suggestions welcome. Program name: DSKLABL Version : 1  If you don't catalog I suggest that you check out the possiblities in our library. 2. Put the continuous form labels in your printer. 3. Mount the disk to Purpose : Prepare a printed "Avery" type label to identify the various files on a disk. Equipment : Written for the Osborne 01, either Single or Double Density and the Epson  be labeled in drive B. 4. Type dsklabl1 b: 5. The first time in each labelling session the program will ask you for the date. It is stored so that  Printer Output : The program produces a label with a heading that shows: a) The date produced b) Whether the disk is single or double density it will be remembered from disk to disk unless depredd the RESET button. 6. The disk will whir for a second and then, assuming you have turned on your print, w c) The amount of Free Space on the disk d) The "Name" of the disk (i.e. -UTILITY.U01) e) The "Page" number of the label relative to that particular disk Instruill produce a label(s) that you may affix to the disk. 7. Repeat step 4 for each disk that you want to label. Remarks: This is the first version of a nearly completections: 1. Place this program on a disk in Drive A. It makes some sense to include it on the same disk that you use for cataloging your files (NCAT or whatever).  rewrite of my old DIRLABLE program and solves many problems that were inherent in that code. This program now (I hope) calculates the Free Space on the disk properly, allows the user to easily change the number of columns an  d lines of information to fit any size of label that you want to use, identifies the "name" of the disk on each "Page" of labels that it creates for the disk.  AUTOSUB.ASM, 15-JULY-83, CARL FLARITY This is a version of the SUBMIT program that does not require a separate submit file but rather reads commands that you have placed in the program itself. Edit AUTOSUB.ASM in the non-document mode of WordStar and assemble with ASM and then LOAD. The example used is a command to start ADVENTURE with Shannon's cave file. In this case, I renamed the program AUTOST.COM so that it would be executed at  initial boot-up. start ADVENTURE with Shannon's cave file. In this case, I renamed the program AUTOST.COM so that it would be executed at DH LF EQU 0AH MBUFF EQU 4010H RGET EQU 1 BZY EQU 0BH FLAGPOS EQU 0EF08H BDOS EQU 5 ACIA EQU 2A00H ;ADDRESS OF ACIA SLSP EQU 10B ;CLOCK DIVISION WORDS HISP EQU 01B ;DEFAULT (DIVIDE BY 16) UHSP EQU 00B BELL EQU 07 RESET EQU 11B WRITE EQU 5000H    F7BE2 EQU 00000B ;WORD LENGTH/STOP BIT/PARITY F7BO2 EQU 00100B ;WORDS F7BE1 EQU 01000B ;NEXT COMMENT SHOWS WHAT VARIABLE NAME MEANS: F7BO1 EQU 01100B ;F=FORMAT,7B=7 BIT,O=ODD,1=1 STOP BIT F8BN2 EQU 10000B F8BN1 EQU 10100B ;DEFAULT F8BE1 EQU 11000B *էX=M]z[.əN^kjuqk(}WŹڭIlw^oE|+F\6Jl麋/;qv v˩fl"8Z; v]D\t/$%ם_H++νnzv7ZҾ$ԦjĖ}>.3$Z`JvsNS}><HA'.4| ş!>|!VWޝ( AM= (e`3{WRپK>F bתx j[?ڸޟOCK MOVE LXI H,SOURCE MVI B,21 CALL LIFTER ;XEQ BLOCK MOVE TO COPY SWITCH ;ROUTINE TO HIGH MEMORY (5000H) ;TO ALLOW BANK SWITCHING ;TO XEQ PROPERLY MVI B,0 ; ;CLOCK DIVISION (BAUD RATE) SELECTION MENU ; SMENU CALL SAVR LXI D,SPEƔnƸ'}g΋ZYez_Oȝ/[\>\*3 5}}w6Un_.s ?PsqjSq?iUǵ*7ӹ X ,qk | _ӹew~w:1pzY.xEܲ;E2YNZ?>xǢŘ}\}3+jy2iZ>EED CALL PRINT ;DISPLAY SPEED SELECT MENU CALL INPUT CALL RSTR CPI 'U' JZ ULTRA CPI 'F' JZ FAST CPI 'S' JZ SLOW CPI CR JZ FAST CPI 'E' JZ 00 JMP SMENU ;NO VALID KEYBOARD INPUT BRANCH ; ;WORD LENGTH/PARITY/STOP BIT SELECT MENUɽ4\}}}}wG@4~o|̖Ko>NWl/P9p_60b|9ՌB[.>k~at=l4`QKO89>W$H F~'xLq=w2PF3Džœ؊ZZQbKӞ%dQwcqkA;/@$a~ܛ;W%'ARbKPw>1/Ɲ!1l:0eṬ&/OD"T>|hFYorEמӇ` g8_];[0͘(U/ (Ug":(a3_(S=s.hc>|PU4~M"\תxL·7IrR,w_xA7>U{|`ϕqv^v Xo"ib}sw> u3b&f_j<=LS¦s EqarqU =Btk6Z}}}\t+&fEt-?>UcQ˹"2YRk{(Eho>wp[J龷|}}ԝ/ڸ_6E˪!W U}w^.WVaroy>q߽;oh}?9  Jgi^}Sxj3Z͢U.+c*2\uqvUPE{4q߽;+9-~sN"J5*e,⢃+>|תxqsq8Z/;+;e>N](/kjS I!+FwC)*$78Z/;o62.w(@UF8ޝrѾĖ}{]!q;1rJtO.{yqrw42kD to>nl"]w.Ė}>DX EE \iׇó|ʝvŦ*νNXŝҸjؒEٲ Bs@)%l{t#K8%~ ^le(^ ΕfąF+ O>ٻRY- ;ݲJ` n v/WU'/D3 i,k}\Z_j)Ӟ##Wups|/Ѐ_PRB4>.xߝ +e>.x__O89xǽ/r>qݗզn+VnnF{{8_ݗզ}x4֊+F\6JlهcUMbxߊlq w~mI}wŝoD>νN W/,ʖ}JCq?L.gi~/pr q߽;oh}+yWDɖkסɝNk@w_ki},\k턯pȢlI"_ܡar\Yǹ _JÝ؀Eٲarm k](p- }w]JB w0t㌺ pY>VVMtŵ*^E;3g}{To|r?84yMƠҡqKXNǵj[E׾ N. j6Un_.{r}}w>"LrSSIMwÛ$p%}\}(]q$K' ڸޟ>U j[ ^1}f"w^Ɲv1 }\w lBA|q&/Ÿ3>.|-އ"?d8Uo`G\}}\}i1+Ewǵœ؊Zy!/Ɲ!$%dQKaro| wSbKP}k07P&^ iw>I6x eHTw>I|1 >N·7IBתxq"r}I2t4>νIq }w~g0IVdÕTrqU}z;$rrs O3`TF¢q'8wu_%q*g Tm}nUM4'o$LrSd؇_wC)*$7cUMtŅsT|xi:"Z&fŝm:q߽;oh}'W}_k0|s;qTJ (zq-;EFs OCMo?;[(kUo+D9/Q\'xŬrw^K1rɸq *>νIJU)PW`' |S ^qg48 vrr JB8U;$Ew/#qqr qU+M~(|lƕUZ|rwq4?P}("}\(8$풏C)wǵ*^E QD7R>z;dĖǵ84U:R1W8>.;9^H{{2qѽ mӞwZ](KFVqU/*gT $+VfQBi2PbKZYeo%о9_>Nw\hw^Q2@O*gqQeUIMz_OT.'xn*n vu_%XC|9Ռϒ*ǩ:||xNrqU =7x/@⁔! i)C (a]'a}\|1AʐoEB/R~(|?2wZ|WD0>K> F5ϟ pY>>Nݟ۝׭E}u ;ӵ\},0*N ;Ew/F E  C]M;ȖKSues;ȖK,ʖtP/xEܲ>NO⁔!λ\ݞ%m?eC_xVIuC@];Nt#[.>νN W|(Ez!#%Ae?$i_rˀ}>v*νN W/,ʖ}gD#.8\\FZݾe0$kU8w^.+8UoM 3$}ws[hwIMF>UԶIjSq?'xL}{~ܛwjS*YJP.޶;[(VfPr$lFMF-޶'xl}{w~g0I *ef_Hy> ɷ*%Pb>ν֮8 v8%~;]Sw^;wǹ _JÝtY-8%~.w^z/FP -2?u8_]@dgƝv)qeeEْrO\ߊ}x>nϒKW߇4TP·7IZǩ:|8Z//,ʖ}+f·7Ibǵ*7st_P}{{1^0&fŝX-Y๙Lw;%WNSb>ν֮8\ޝ"g9_+~۝w:][c (x6xΗS(@$ZneO89cqk$w^Hc Yr&fyknϒP[2xq.q?LޝF3͈~ܛ>.}}+faroVy`l8\+~ b}؇K7ZΧ=kU8w^Ht`KW꿏S;N}S}uE}xn WҀBWVEْrO\6}9,ʖ~4/tYЇ*sVq4q(%e^keuڝw&,p]ؓ0>CX}n&I\W(Zq>n7twK5*.}w*L&I>νNXŝҸj,ʖ}{ݗkw68-5V@}L*N·7I:q;Vt}\}iBacqDDWο!f%G +FB}&ɕUc_w_tEO,;h sŸ3>ν֮8❗it}w·7I WOlz|*8aC+3ņp% (qeW-)7J)e**N·7IָS}wSuZ|WRپBqXrS.ǽw秡^s4|}E ;yEt(a"OLg I ȔcF2q?L.gkUofE-ӊZqŋwH\)CZBWVEٲs /A\P!Mx́bh͈UFS E ́bh͈12345678  E8́+bh͈1'2-3349 3E|́bh͈1@2F @Eì́P͈PxxxG8x#x )|}%ްVfE-mE+q߽;eoq w~g0ɷ"wZW@]ևs\Y5trψGPc |Q"B`I;_dHWe!>U,JWqvEpwȐ`q߽>Nw_̽| (r`Hز }NfQK*}NXȝ;. }><7ZjSQb>|#x#x #x#x#x#xG|x<x <x@<x`GìxIxG>2!*p>2  h~#x!@p!@FRS-232 CONTROL UTILITY SELECT MENU ITEMS BY INPUTTING FIRST LETTER OF DESIRED FUNCTION. CARRIAGE RETURN SE  LECTS DEFAULT VALUE WHICH IS THE ITEM ENCLOSED IN BRACES: [...] SELECTING EXIT FROM ANY MENU ABORTS THIS TASK BAUD RATE SELECT MENU (U)LTRAFAST 19,200/38,400 BAUD [F]AST 1,200/2,400 BAUD (S)LOW 300/600 BAUD (E)XIT INPUT SELECTION:$DATA FORMAT SELECT MENU DATA BITS PARITY STOP BITS +++++++++ ++++++ +++++++++ (1) SEVEN EVEN TWO (2) SEVEN ODD TWO (3) SEVEN EVEN ONE (4) SEVEN ODD ONE (5) EIGHT NONE TWO [6] EIGHT NONE ONE (7) EIGHT EVEN ONE (8) *+~# !\ FCOMö*B*D}|ڟ!"D*B{zґ*@‹*D"D]*D"B!"D*@*B}>*D#"Dɯ2+2?!"B"D<  NO IFILE FILE$!\ "EIGHT ODD ONE (E)XIT INPUT SELECTION:$RTS HANDLING SELECTION MENU (1) LOW DISABLES XMIT INTERRUPT (2) LOW ENABLES XMIT INTERRUPT [3] HIGH DISABLES XMIT INTERRUPT (4) LOW TRANSMITS BREAK (E)XIT INPUT SELECTION:$DCD HANDLHEXå** }|ڕ!" *{z҇*h* " : t DISK FULL: OFILE$!" ** #" ɯ22!"!" <  NO DIR SPACE: OFILE$!m0 ING MENU [1] RECEIVE INTERRUPT DISABLED (2) RECEIVE INTERRUPT ENABLED (E)XIT INPUT SELECTION:$ INTERRUPT [3] HIGH DISABLES XMIT INTERRUPT (4) LOW TRANSMITS BREAK (E)XIT INPUT SELECTION:$DCD HANDL))))O "Iʊ>:%2>N:N:NNNpI?O:2y_y0:j%:N> %> %*>:%N‘> %> %* }±">%¥<  CANNOT CLOSE OFILE$  HIJKLMNPOQRSTUVWXYZ[\]^_`acbdՉuk\1S,!c_~Ͷ7[/-yu[kIt)I0ݼ5oļ5cQ R_E>yu[ o[h7(ٷͫrY )g֋J~~ye^WdHt:nWf5yE'Im9]޼p\rvOB,!n_y$Wr?9rr%ыg9Ըu]$+j.cr[nȍY#aҍ8v?K>Kp̫v9 t[\_μ'r=[ȍ7+ K@[rS5~rsrMļx ^9&\}zƌ'7xk^'rwL"L% ?ţI4 hFhry+~" iOJiL% 4/!?[-1pH,-[n̒?KyŒpb7/5>?-S85&ݬ)ޣW9ђ[5$We>=:s{rr~K@`)dfyu[9q2379vE0nݜ׀-DK5g\ rK{3w% g^(,)o&?%2y4>喀?ˣsgnq9gig^237q I4+ k޽f-,M~v;DSKLABL1.ASMe  "!$#&%'()*+,o-./0123457689:;=<>?@ABDCEFGߣyu[ђkWnkSNȌ]_Y_z;J g^W} ;>IHYk\A3n'F¤ܣ--DY̫eNH|K{%D"R$7j2K?[qd% 7L Hse5+/Qy'rSI:'Ǯ yu[XQpG8{Ӓ[NɍG_  j ,M]dfILW2⭦yW}iWͻ [X<a|pS%`̫ځeɯi^WXNOqOqK@$rZϬL=v:a/s,35yr3$fxn %ILq2"徒ܣ$!r~KhWw"x'F¤篷yLd?N}yss|o*nwuR04kjA>8i֗o]YzsudB;!ZZ2?~)g2=o4ҳ?xo ]A-Ҭ%s-dKeFl.A,=[97N1I~_[r܂$GX2L t&yu7SG'{tHlyfrLٝL=gidf}er|܂D_C[rL"L% g^Of4H7Sgilg9>!l!Q䖀\o5+ʼ*r篏q_,$ӹR$7Sm9LtR>l<&,Y?9<4ҳ]zW׳SXqOa:2mzsHm#XnIմ<гXҬ%s}`X~Q, =[eNb˛k9}9Y VK淍9IQ,AȘC>`5fbaR,sۻm#Y VK懂}4-G,2%?)%HsHA>0w?)嫾ȘC>`5fba9$D_N~.)nޛvYn֏]0gIo^ݖES,M~MkS8y*ܛd.Ya6nkW8z*%?:)nˣkܘ$4+'{34PESo*R'q?ܼ$q Iּ–mߚ,Z? w*mm}k}֨(nkU8Re5jR,sۻ9Y VK(9KYdKRW}14kj9 aəC>`5-O3G0l)9Ҭ%C}d!,1s Cϖb4m 04kQps>0G0l)9mWF&d17P\/z}fLs{s ֺsdbPO#ߙ#mP*ԠbEonˉtax9exDPFSg:nkC |B֮bq@ɮ2%OBQnk\> /R坊A |^'Wnk<pbqGЬ%8CZy(mA~*l:urJoͫowʼ2o>07ͫL|naeXpAY 9r95 okSfnA_l!i.jAP/DTm#y%b?Yגd1m$kI4-'S\2g]K}9}9Y VK懂}Ct=c`}f~3{3f`淍34kҬ3G}<3fba;;͑vss %&9^aAT#Zx9eG5O\8 Up[+l)uSX^&H9ʵD3F̑X#Y@tu0G8 ԙX#Y(NL,jPdBRATax9eUɛP]2qQj+Q<淍 y,m#Zc˛WU:y5 mx|M..80N/zWM U&AkGqs4(R(qsPFDp>g^}ZߙEoj4sdb-ʧc˛Eonˉ淍0]t ՙb76sDk/h;s :95 ok7])oBu-n֙DA|m#($Kfļ Ի>}gAMk1w)ޞ$rz':H~dg!z̺촚Oj~m9hFhyُ[k\gΉt}.6ق67V  ZOu[KPӾL3gHsw|״۾D3gIySMC>8y=υ9$tϛC>}9$R[ӌ+ɍEp[{o1nkO6gt?ris1zs|wGo99s;"ͥR!iu~o?\C>6sHa?\΃w5?EKfIմ7h(AkDvYiӠm2w܊Gy9q⡺ Gj5*kxx9A].kDm#_RM+ixxiH5-M3ǣ 0K@i?ͼxt90s;z~a!ZZ2ǣܖCk;|aGA`"{-9񿷰3ǣ 0ǣ 04kj<}~߶뮷G`O7ǘ[𿷴C ]ҜC>Hx.ZiN!iu[ۙyT>m?\C>6sHG  Ksc7}CV(f-0sC`t搴%0m'?omYc-?-ys<sojfr[{7ǘ[_!Z7ǜ0s|ϛc<1.;6&9z>Awƈ9Kcm61_!iu~k𿷴xx!Z:m9a]L=:̑ܜǷmm >?>}״ ׸ /z_}ҬNZ2?~@[iwc~ˊț;-+A>0Oba;;; iJsb,+Max9e昆kޒ4Z嬨$9ֲĊ.-c,kYbEu[y5o9a`f-md[Ҭ974kff-Xݛ#ysH} xs|o#mҬ=출Ҭ_3sHtsۨisH~mm𿷴{v[޲7ok7=ѳ9Kcng ;w;ߛg=>[ǟuNkYbEușJ-bpAn淍\Tї[#Ș5o UX'(Hq':9$s[`s[N>0Ǡ|`-F TߛEom0D2s|m9m#}]6LL9^Xi4s AoGAoI ]4>XT߹_Bn!ӀD%s6V}Oߖ4sHV[{ ҬT3s$d9soy}-s9"@`ASVJs;zO?޳is<zs|[xy[+ ѳis9Y V;|˻9Y Vs>07ǘ[`?{˜O!rw2'sm99996GBswv7ookf-XvЛ6<z3.ws[N`O6w}wHsR,sb,Jd5Rm{v[~X1Wg7xc\|5}nl9xo_Xs="ۙcN9-O5G'X-Om9{K9$ޓҬ9xo_C><50 soaxMt U#FdrȮ,ͱV]-9}97s|<7.ܟHbߤb-sEcn m10.C>}9`Wj`iւyqy999\QVm搴k9xHsaNZfg3 R,sbGOQ, cAeNo<-2'kϺ9W,ɍG_HbtZjCӉr37])oBfIմo<>04k!VrË WQ(qLC:y3dv.2G8ڠQSjPkyfȄ9n*ԉԭ]7̑B>AyrSZQL D#BU_4ualz)s TߛEom0D2s JWZ{MT!˵~Pe5&qMwPM78i(`E X㡺tB B>(hte4`5G&Vr7"iU4u8ʼ:u5n_6 ʩSYFD)TksY]9u昆9(w#"a^e n +NNШїgpAR RaN a-g&v*/Cur?KXt4s/zHl֊K$!T'FeiPe3EolRUZ(uG<#ZrP j-lSbtVTQJEN> vSc񶜊b(GMuo\6 v M'̫tte3HLC̩N 1gM/2ttAяtí4s]wTUTrBNvoc-K^P40Fsk5ZXQijc*Z92ZXQij5J] *c,TbkYbE*p(ffXI/gh:qkwCATGS T*8M7G!唡Zb3,S7QFVsPk|շƧA#L%:5** %nJ5X㡺tB xMtB [r0GӍ"eDGYPQ(qֲtH#K%:5*l|U}j0h*CuC̉R9^ uK]: 2G!DG57֗2Nj`6H-ttq\sl.2Ytr!9ֲD3581cDGXnE0Ĝ.%yT'Ӊ5*sF) RbNLW*sDF@թQqbT'ӥBs {s(D\&BX(QQ(qCEu0kU21 9n9n)sр84or7"k+sdDF@tuO UX㡺,shti4sDkB|ԝ9^'RMDG#Z"a~ȿg>??s=X\}1Av%o\o 9hjL 9Om܍x[+I4Nj`G'9sdb-3D'?ߥm9:?:1ݿ D9xn /Xo Y:b݈N 1淵EonaΙ#m9 s4݀XMN4̫lĭ]yy1' I+ TM׈)uP9zJ5#mPbhxG:1\: 24xMtj*[馡,s4(RxMtUեֲtHc4JQX㡺,ӥBsk8tt:1Ęc4JQ5 ܍xXNCJS3Fe* %.80G&Vț08nn&N'oax[;N_rT'hxOP}xDׄo0D2s TSQrs k9(>Sf.2CUՕpCyƧA7(:UixDPFC sDkr ԙ#L%2FPQ(qSX^&H9ONLN#+htUխٍЉi(+ c.C7AyD|G_*՗Mj>M0ϦA`tXPQ 92"Ո(*KM:uYFD)U#,Wd* %.80G XQq2u U#+z}Pe+].^uPĊ,8@tu"2qC9(O˳RF~tiPGi(pgj:qbi(pb<~ahz}TS#z*DW'2ǠPij]y37YuMN> M07gBtubֲP U8兓9n)s&:*R9n)s&:eEx2Q}nuĉT'Fe'gTi(Ea>a"nM79nqsP~>HcP+/JuBavkWYsCk)uPykEoysdbE  Q UrzYs^k9n)s|8Y )TJW'xn-!9^eEUxՑ9n)s&:eDǫ3}2kU(QPH}j81]4 ąSDx效RpMw(|8Y qs|8Y 9>,9^^7\Cax9eL>郸9%s Eomo>xcX9>,9{LЉᮌAeQ|B:ۗLBQԭkyʢjNהPګLtM *ԭ}+㈦ep[{)qԕTy鄦yF] b UFʼn5Sbը&N'8m8T'&N'̣Ӊm}Y4q:q[{.aӉZ8 5|]t\ބ]-go.W]n)95 !b>郔9n)sP~}k\|T#X95 !b>M79h@!b>077v5md_lac aX#Ymm*cZr_0$!&TY=iPk,q'jT2~[nm@U.kDeJͫo6嶜>}[~{lZ3[Oֺm}ߛ-䶜>}[~_{/̳\R+أrr5"J|.a> pWfȷR 'xT,jPkyCkKANu%}Ki~_~[n@Vyd21 ӷF UFʼn5Sbը&N'8m8T'&N'̣Ӊm}Y4q:q[{.aӉZ8 5|]t\ބ]-go.W]n)>}[~{K>}[~_2'Z_,sb^"p>}}-Ke }hQNr٘4Fi~_~[n@Vyd21 ӷFm9gPiOZӾL3/WPA䈾䖹g24Zq=[ȱ$}M72\osX_D)>?9~֗d/[)*綜E/Ur.Z)ZE3ug^B9r9T,>eNbq t⢩˦P]#ve4uA~jPkyejK湆(5එ*綜/̇2J Aՠ:|^M]6oͣbqϣR*ueUo䀊A~WTG$r~#Ș˳!JuAr~#Șk\ubqn NoæSm#ͅz}e|Pgh:q(OKTYGSWNryh:QQ6sCeQ|BՔPr.YO6uḾ2EG՜)״/ӰVbAeb}j81]7 54"-AeQ|B:ۗLBQԭk(PY~T}֨(bʔe͈t-ܵ-be*֏9]S6Cnk2%5e3H4SNh#rjڗimUESW.S}&N'm  [ .OkQ}PKSnoɮX+|#Ddz5v $NSUК)nשPxNDNTƩ:ND祉%ygDo2QX2Aev)x쒤X8Y<%sup=9ZTV9oub[*Ton$Ǎscp=]ѝt7oxηS]r:WNe<||쒤Xb)n^eOyG A}w*JNmwsF͖%lfS][=ʯhЬ|k=r\ h,qʧ_|k=6FOOCT>?mm*T> U>?cm lPēgm6;uvC*=2O(x@.Gec6Tzj6>յ3_jcQTz׳ʧ?}sb{fx #mϸW2AO2.1'#6,Z̡CvVVbﹲhҧ& 8H{ o+@3^WφnLibGSTza㶘̓(xuM7Fe*#&GAW}|pFƢҏ|=-ygG40vx@՗8W4>XYeuEV}Y&_|k=6FOT>?U'X:U>ÔAOm,ST>CAOm,U>I'XNR'*xjc9Y?LT>?2U?T>?rBPOm,'|T>?$>5*Jb]oU_h,qJyQWr 7gOuVTzl*;|~[W?t*x֩  GnS*.#YypDugw&bƱ!_&춸-Fspf-gCc6&*hb%xUgb1;7Zpfg+%n /IT\OVUf `VT_Ta5^%-v d8'F%)xd*k|;OLev`N&d4S]7Ax;OLe\w{;OHT\I*5v d}-ctJT>CAr||~O`'$U>? *xT JSx"mϸW8[f5 /Jg+-F+q}ncp*}P?յ3|f}3ƨ@k*ZOe  N_oq}dlFʧcc~g=^l;\ncCOu}Oe;jU3|Rҫ*=g^kS7뭅w"mϸWPKT_Bor\Y@ƆQ[5nf[gvŢҫ h|5^,>=oU>?opX_gA\֦~篇SjP?󻣪|~OJSKu66 ]#D Gc*4 4ٲ-,s]nHxQ36vׇÚM2HxQٲ:.Lj{ 1QFnmM5|q? J`efl GcUbcm]bN$:đ$UP"r1_!ÑXq#$IGn WAU$z2I GcU茾Gc܀ҫPK}z8xS3|*>=o?NuS3|*2}z8xꬫ>bjc>=o?Nu>bjc9}z8x<|gO5XXNyN7O8U jp LyN7O8|~O5XXN_'P .QU>?=oUٲwTC\c8Wfl GcUb:g\]n+^&47 w Gc*_13ӹ49HxQKÑX]'}4;]?S{8kT~BHxQ.7}4;]6 5|q?НDviÑXq'viHxQn*}إev6 Gc*_*ȭ}z8x5*mp*~ƷD|~ .VAn篇S;T~^/DV}Y7뭩*%p*>ޢ~ipJI}z8x>u}0PUpik%xGvcy#!!PrPw7~r4rʈRx7-Tq93SUU I2S|$돫n*:t'.-ߥooÑXF/:< 5kT~fs$rPAn0sUܧeU[d՗u=--K|<5|q?ucm*m-k1_HxQ>֦"WE|9gC#~sc7ۤr8kT~ n ]Zꖵ/lp$<֨@>֦6_nHxXw\5|q?\Ge99TiYgGMT~~|_|4Uy4VU}b] * t@QS]]MXW鯇] h з"ekbq*d#]E 4mlҫ\|7APTzWvS'zXt XS]]MXWirl^eݑ Ǭk/ ߩ?_wdC^h|u׊VZ*_%Ȫ/zZp$Sq?;fQ}~w*7LXWg -Kmn*Jf\wN錴=^˄HxXCec6-!zZ2fHxQaQY jc*lFB*cv`UzV3_cv`U~pTCW9-p_ov6lւ3N֚Jmq[xKZHgf7+V"յJ;\-F3 4mlTzlA>Sq?;fQ}~w*7LXWg -Kmn*Jf\wN錴=^˄HxXCec6-!zZ2fHxQaQ  F2N;>W>.|-Nq ;3t}uߝ+v-+[e}{3wC]~("r1xjA 5q?L^Mn+d?RZެ΅sa 5ȝ@>ww}r7?dKi}{kdAHBm6Jlهsm 4esæ>.iS0?1fǵ+yqE2qv1ǹaS{YPmebDLk_W-ڸes qv^4R3tnٝWQs頶>νX+ZYԬļ%^4}\,Y3MJ+c _bDN׾A|qyqKqg}{ݗUsæ>.Ȝb~N1,a~TVP3}ܝW1W%|1 s qv^4Y[txǹ}Y8Z;lj/bqO3s{Lk_ LsKqg}{v-%+iq߽>Nw3צ_9+]~ܛ}wtF`s OmVN+ߊԑi;ދ(iLsæ;f @q^AbqnϚXFQ8]BS;.əNN{߇?=>ڰbCm2P>=O}xn WҀAHU&\ز߇kdVŋ(]<7s B>ν֮8\ޝ F $wY+~ֿ"JްևSm\?CxB܆+9A>|^VqUiZiqvj?ڝWN{ vȝV  >|j2A\,eظɬbh辷i@W(zP*ɽe辷8\\FZݻ |}?9޾\s O͝~(z銟&םF ǹYY_rF:et}Ng_᪳߇&Wũ:|&I,w]ǵ*7w^.l +&fi#Zzߝq߇UVwߝo|q>NỢar9{w)Bm@gq͔ޖ}{]!q }uSvZ&YA 8eb^F\,}0Ɋõ"ISݾ;1i;ދ(ae V`:`zU+eC%A>WbaTޢ%`\RmbKZ*J+W;jKp?)1[`{w>|u3ƍ]ֿ"J.>NΗ3$)]A,wOLH[e3=qvE)Pq;$aܝNZ^ .JWhCeŽy"wɸq\O^Ѳs;6.#ZOLSq$ޟZ,t`qvVVbV;6.chqvjzOLj2F>ν*Wqe}{4s OCM+~Uq;߇/(ke/*νjD iʈZNs;[(Y>|B26N+WR(YȈZ/s O X@eZ;9x|<_FQD->NݗU7;[(?7>)NS;N`:8_ϾևSm\F-ޟ2_l>aij2\>|jz07Lsv;_JtOMw^ND}}w~$ j}{UyqwAWOm[᪳i}i\pUwWM,[\>.}EOM}N6.׈1{{N{/^ 5޻ f|QF̕}|YutwWDcr}S{ß̽a{+܁zOO)G(ܻknsæ>.֣Kb~,q)PTJ.TZԕjfnϚ=krl 8I~ }hFgO>.yzsɦ.ļ%%QL)%XSV53>|rܻ-}tP[ũ:|&ɜ.}wSuZѹ$w@X/bkU8+GLTpU/qbV+f":}\|>>aroqߵ>-頶;obNW~ܛe"FGǹYYe@])P8>n\9p%a в߇MV?{38Z;+ ޛ5ꬬ߇ڸ_#,:XZ U{ kr*ZyKCp+c%.t}P*Vqvwi⼢Vd%e*ν.q8MR1bUԕ-+QKt}$ܻkr*ZӨJ豄JVb~sJ[;p!8Zܻ4nJňUdzJ+R;p-^k{WXƕ0FSŪĩEChf:}>e*ν.q8isZΫˈ07kw^Hck e([O+s 6a ВeǗբlTuN;$Y-iBU.}~x}}\l@@ }~oqv\-8TBJY-XhYqo/\hǽο R>.ws|Lk|Q7w='ο R>.ws|߇U}oa в/FSWDJ,SvJ-Q K;.ԫCm[+לĖ"׫%]y}9zM/T^53gMq8Q{_i bUrT&*'f  +éKy9oeb(VY}\,Ns$s^QYٔ%_ټSOQBd|*c%-Q%Qf>.Kl9EYBb8%_XyKET۳&X_ 缢8u ԕb*y)Z9elJ睂MN]Jd(Fܞ59)soފ-wܻVqvn7yWN>N41?Trqvj?US.=[(v\F F\/)]b/Nrh_ҲjTr&߇g.e~,F,wb\([$+*}E+VYFZV pY><,7 Ԣ6oޟZY- }>'Ux2p?Az>W;J| DIMjge}{zߝWx^H.0!qNi*4wI2tT;C.KWss>NWU;ae}>-}ӓ[r?P ԳzjuO3q˝t;#&0Yч\yO2$7Ԇ+s'JHg'oq4ϒ Va_߇SHBZĖ\O ?-F,# XS׈ˠϷ(]A,# XS`Lk".1iN‚Q\ˌyw0eKtEYEcQI#Hj߇CCV{*9;ޫaror8BK7NDžO4sE5m4tI2t}\tՋw^.c\) 7NAcQソ; v2te@>WWXnTh_Rm.ȐV| e@}x]βjTrUڹ,7%Ӹte'r>|B OܬrwB(k )]bsq )^smw>h@;s ޟ}?9>W$H6\(^sM,[}{ i'ɠ%ΐ8Z;!M;/Qm.ȐV|vZυ&]Aڗ4(Υq1n$%f}xRzRb8[:Ŭ΂,m7cPڇk 3ߊoE;JC&U\}Ik턴;+]z+&fDIzE*7BkO{_soޟ\`pSҠUΗkŹa܄Ini pY{3w˵\*>KJWP.Mt>銟&UEq:i pYB'xn6;*[.>dH+]zqvBzWϕ2.]Qq;$)]O89IZOΝqSbwW4zRbb&"rşk ޟ-!ZS'xLCMz_ݾ]'ZS}?+f犈>/3֊\>B]qqq+8%~rN{ vk}u ;)]A,w}x 68ye}I˪Q.M-;~M+ h_RևŘ ts?ˀ}N)Ӂ |\O ?KZV pYn2}I J}x> 8U\}z6>l&JWqCᙓ(q'Q򇝴-ڗ_"7A龷܁v\6~r$ vF˰Ꮦ(^Q\I辷dpo}y pYn2t>_g%ׇgVkh@zK`̆?Z>żYnjA' vҠUi^Oٞ@ WRGxVbzENؒK3hSp 4 c6rkP3O<7\H#JɆ+9%+mtwC&QR.%Ѐ1q{@%r{q߽>n_r{qZlٞw\0I$78_m+v+F݇SH{B+ i_R \$I2t|FUc,ʖE '%f}s*[.>"7A}o?gmd}> io' p.|Gr|}?9%̸ޟ@o;czߝG6$Lr}o?g84zj @-Sr>NW_pQ2[}ɝEN}̧̧O.s]Qrqw>[H䢃zY l [T ޟ  -q<.e\OJNW'lw\+% v^1hxB7̧[~rS4Hv}}Hlm X/F"1P֭q8\;s4}\t\ObkSyZ}q ;$!-f{;hǘ q[r85FXw\`'2rVq:!-f)BZ}I\,ʴ/iY5*e|+2ڗ DI4bc̆?Zn>) |b8w)CZ6xb8wC`]'PD/Q>\iDN;}JClW\ ';"\vp"wE-en*ehe*.0)؊ZV\ 'Klɢ27g2U\ '7x eH#.h_É ^qg}@mÉPq$EY>v:b8wjSQbKt#(U\ 'Cm6JlɢlŌzY*sŢ3$=Wڇ#sS7OXr;ߊ,j)s{}>.WcԶy: @-Sr>NW_pQ2[}ɝEN}̧̧O.s]Qrqw>[H䢃zY l [T ޟ#include "libc.h" main(argc,argv) int argc; char **argv; { int c, f1, f2, comment, onequote, twoquote; f1 = fopen(argv[1],"r"); /* open file 1 */ f2 = fopen(argv[2],"w"); /* open file 2 */ comment = onequote = twoquote = 0; while((c=agetc(f1))!=EOF) { switch (c) { case ';' : comment = 1; break; case '\n': comment = 0; onequote = 0; twoquote   = 0; break; case '"' : twoquote = ~twoquote; break; case '\'': onequote = ~onequote; break; default :  Hd癮>f[L 3wٿ`^6;?@Z7 } ?ͷi_W.%xע@W g(?J،YX+KFaϹg=D &x*xsZtZt-:d.f?]o;]:^_Q76Zt-rȇiS *s?y=Ӂ9dHA->9OFVL^cW break; } if (((onequote != 0) | (twoquote != 0)) & (comment == 0)) aputc(c,f2); else if (comment == 0) aputc(toupper(c),f2); else if (comment == 1) aput!!9^#V##^#VQ! 9s#r!!9^#V!^#VQ! 9s#r!!9s#r!9s#r!9s#r! 9^#V!9s#r!ʢ!9^#V!!9s#r!!9s#r!!9s#r!!9s#r!9^#V!9s#r!9^#V!9s#rN; "'c(tolower(c),f2); } fclose(f1); fclose(f2); exit(0); } tc(c,f2); else if (comment == 0) aputc(toupper(c),f2); else if (comment == 1) aput!9^#V!!9^#V!! 9^#V!L! 9^#V!9^#V"ß!9^#Vzu! 9^#V!9^#V"ß!9^#V!ʟ! 9^#V!9^#V"`! 9^#V"! 9^#V"!Irw|g}o|/g}/o^#V#DM!99`i|z2t:#sMO`_wk=jxZAﴷQiLLi_Eܮ M}l.߹>kEV?fsj?Jo&zo&|[}|>o&|o&z2t:||/g}/o#z/W{/_ÍDM!>2))Ҡ#}o|gҸ :=2˜}:=2˜}DM!>)) =}}/o|/g#}|(|g}o{_ O{N=1uXwak+?Kc%s͟>+-bddOdEuj+?Kc%s͟q8lVb$T?o&}|>o&{_ |g}o˜|g}o~# x­!9~#!|! 9N#F͕!9s#r`i~#fo+s#r!  N !9^#V!9^#V! V! 9^#V! w IV!! 9^#V! 9^#Vw ! 9^#V!9s#r! 9~#fo+s#r!J!9^#VDM.`i!9~#fo#s#r+s`i `iI!9^#V! 9~#fo!!!9In !9^#V!9s#r& !9~#fo+s#r!9^#Vzk !9^#V͕!9s#r!X !9^#V!9^#V`i#DM+s !9^#V! 9N#F! ^#V`i^#Vuʨ ! ʨ !!9^#V`i~#fo#s#r+s!`in&s!9^#V!!9N#F! 9^#V`i^#Vs! 9^#V! 9N#F`i^zM! 9^#V`i#DM+^"IJ!!! DM! ^zʀ`i DM<u}![! 9^#V#^!+!9s#r! 9^#V^!9^#Vzʻ!þ!! 9^#Vs! s!!!9^#Vz!!! s!!w I !! 9^#V`i͐w I? !`i! 9N#F!9^#V!9~#fo!9s#r!!9s#rÅ !9~#fo#s#r!9^#V!9~#fo̓ !9^#V`i#DM+^w ʾ !v !9^#V! 9N#F!!! 9^#V ! 9N#F! s#r!! 9^#Vs! s!,!!9^#Vz>!.A!*! s!! s#r!! 9^#Vs! s!ʙ!! 9^#Vs! s!ʙ!!9^#Vzʫ!î! ! s! ^^! s#r!NrwaU! ^#Vz !m! s#rz ^!ʪ *! ^#V`i^#V#*!9s#r! ^#V! ^+!9^#V! ^#V! ^͔!`in&s! 9^#Vzʪ !9^#V*͐`i~#fos#r! 9^#VzK *!! ^#Vg! ^! , !! ^#V! ^!9s#r! "!! ^#V`is#r! s#r`i!9N#F! ^z`! ^!T! ! ^;!! s! DM`i<̓ʔ`i DM"t! 9N#F! ^#V`i^#Vu_ ! ^! !! ^#V! ^!9s#r!/!! ^#V! I !!9^#Vz, ! `in&s! ^#V`is#r! ^#V!! s#r!! 9N#F!9^#V! ! ^#V`i^#Vvʃ !!9^#V`i~#fo+s#rs!9^#V! 9N#F! !!9^#Vi!9^#V*͐! s#r!9^#V*!9s#r|! ^#V^#V#**͐`i~#fos#r! ^#V`is#r! ^#V!9~#fo! s#r!`in&s`i~#fo#s#r+^!! 9^#V͕DM± ! 9^#V͕!9s#r!ʵ !!9^#V!PY!9N#F!!9s#r !9~#fo#s#r!9^#V!9~#fo`i^#V#!9~#fos#r1! ^^! s#r!9^#V*`i~#fos#r!9^#V*c!9s#r|N  |!`in&s! ^#V! ^+*! ^#V! ^!9s#r! ^#V!9~#fo`is#r! ^#V!9~#fo! s#r!9^#V!  /;! `in&s!9^#V!I7!9^#Vz;!!!9N#F! ^#V*! ^#V`i^#V#*>|ˆ!"<">*>DM!9^#V*>">PY̓ʭ`i">!*>*<̈́*>*<#!9s#rʤ!9^#V*<"<`i*IED OTHERWISE IN ; THE COMMAND LINE. ; ; 1.3 (RGF) "UN-CONCEALED" COPYRIGHT NOTICE. I DON'T MIND ; PEOPLE ENHANCING, OR FIXING BUGS IN, MY PROGRAMS. ; WHAT I *DO* MIND, HOWEVER, IS TAMPERING WITH ; THE AUTHOR'S NAME (HIS STOCK IN TRADE). MY ͸*DM*o&͸(o&͸**+++*DM*!9N#F#^#Vkb6#> 6 #=S>6#=\ : > A[Ҁ@Ìa{`w# .ʪʒw#Ó{o|g w#´!!|a{ !9^#V*@!9}|"@|! INTENT ; WAS THAT THE DISTRIBUTION VERSION SIGN ON WITH MY ; COPYRIGHT NOTICE -- I DON'T CARE (NOR CAN I CONTROL) ; WHAT MODS A USER MAKES TO HIS OWN VERSION OF THE ; PROGRAM, BUT I MUST INSIST THAT THE DISTRIBUTION ; VERSION CARRY MY COPYRIG; ; ********************************* ; * MLOAD.ASM * ; * MULTI-FILE HEX LOAD UTILITY * ; * FOR CP/M * ; ********************************* ; ; REV 1.4 ; 05/29/83 ; ; ; MODIFICATION HISTORY: ; ; 1.4 (RGF) REPAIHT NOTICE EXACTLY IN THE ; WAY I ORIGINALLY INTENDED. ; --RON FOWLER ; 05/11/83 ; ; 1.2 (FJG) FIXED STACK BUG WHEN LOADING LARGE HEX FILES. ; MODIFIED HEXOUT ROUTINE TO USE DAA INSTRUCTION. ; CONCEALED COPYRIGHT NOTICE. ; ; 1.1 (RRED BUG WHICH SHOWED UP AS IMPROPER FILE ; LOADING IF "N:" SPECIFIED (I.E., THE ; INPUT DRIVE IS NOT THE DEFAULT DRIVE). MODIFIED ; TO ALLOW THE OUTPUT FILE TYPE TO BE SPECIFIED. ; (THE STRING AT "OUTTYP" IS NOW THE DEFAULT, RATHER ; TGF) ADDED WARNING MSG IF FILE LOAD NOT AT 100H (THIS ; IS TO ALERT THE USER WHO HAS INADVERTANTLY LEFT ; OUT AN 'ORG 100H' FROM THE SOURCE FILE, AND SHOULD ; BE IGNORED IF THE LOAD ADDRESS IS PURPOSELY NOT ; 100H). FIXED MINOR BUG WITH ONE OF THE EHAN THE FORCED, FILETYPE). A NEW SYNTAX PARSING ; OPTION ALLOWS COMMAND LINES OF THE FORM ; D:= ; WHICH SENDS THE OUTPUT FILE TO DRIVE D. FINALLY, ; THE OUTPUT FILE NOW ALWAYS LANDS ON THE DEFAULT ; DRIVE, UNLESS SPECIFICALLY SPECIFRROR MSGS. ; ; 1.0 (RGF) ORIGINALLY WRITTEN BY RON FOWLER, FORT ATKINSON, WISCONSIN ; ; ; ; FOR ASSEMBLY WITH ASM.COM OR MAC (DELETE ABOVE TITLE LINE IF ; ASSEMBLING WITH ASM.COM) ; ; THIS PROGRAM IS A REPLACEMENT FOR THE CP/M "LOAD" PROGRAM. ; W  HY REPLACE "LOAD"? WELL... LOAD.COM HAS A FEW DEFICIENCIES. ; FOR EXAMPLE, IF YOUR HEX FILE'S ORIGIN IS ABOVE 100H, LOAD.COM ; PREPENDS BLANK SPACE TO THE OUTPUT FILE TO INSURE IT WILL WORK ; AS A CP/M TRANSIENT. IT CARES NOT IF THE FILE IS NOT INTENDMMAND LINE SYNTAX ERROR OCCURS. ; ; FILENAMES MAY CONTAIN DRIVE SPECS, AND MUST NOT CONTAIN WILDCARDS. ; INPUT FILENAMES MUST BE SEPARATED BY COMMAS, AND A SPACE IS REQUIRED ; BETWEEN THE LAST FILENAME AND THE OPTIONAL BIAS. ; ; A LOAD INFORMATION SUED ; AS A CP/M TRANSIENT. IT ALSO DOESN'T LIKE HEX RECORDS WITH MIXED ; LOAD ADDRESSES (FOR EXAMPLE, ONE THAT LOADS BELOW A PREVIOUS RECORD -- ; WHICH IS A PERFECTLY LEGITIMATE HAPPENSTANCE). ALSO, LOAD.COM ; CAN LOAD ONLY ONE PROGRAM AT A TIME, ANDMMARY IS PRINTED AT THE SUCCESSFUL CONCLUSION ; OF THE LOAD. ANY ERRORS IN LOADING WILL GENERALLY INCLUDE THE NAME ; OF THE FILE IN QUESTION. ; ; IF NO OUTPUT FILENAME IS SPECIFIED, IT WILL BE DERIVED FROM THE FIRST ; INPUT FILENAME, WITH FILETYPE OF HAS NO PROVISION FOR ; A LOAD BIAS IN THE COMMAND SPECIFICATION. FINALLY, THERE IS NO ; PROVISION FOR USER SPECIFICATION OF OUTPUT FILE NAME. ; ; ; HENCE, THIS PROGRAM.... ; ;------------------------------------------------------------ ; ; SYNTAX 'COM', IF NOT OTHERWISE SPECIFIED ; (THIS DEFAULT FILETYPE MAY BE PATCHED DIRECTLY INTO MLOAD VIA DDT ; -- ITS LOCATION IS AT 103H IN MLOAD.COM). NOTE THAT A COMMAND LINE OF ; THE FORM "C:=" WILL PLACE THE OUTPUT FILE ON THE "C" DRIVE ; WITH IS AS FOLLOWS: ; ; MLOAD [[,...] [BIAS] ; ; WHERE SPECIFIES FILES TO LOAD AND IS THE OFFSET WITHIN ; THE SAVED IMAGE TO APPLY WHEN LOADING THE FILE. ; ; MLOAD WITH NO ARGUMENTS PRINTS A SMALL HELP MESSAGE -- THIS MESSAGE ; IS ALSO PRINTED WHENEVER A COFILES ; ARE OUTPUT STARTING AT 100H, EVEN IF THEY ORIGINATE ELSEWHERE. MLOAD ; OUTPUTS STARTING AT THE HEX FILE ORIGIN (ACTUALLY, THE FIRST HEXT REC- ; ORD SPECIFIES THE OUTPUT LOAD ADDRESS). THE BIAS OPTION MAY BE USED ; TO OVERRIDE THIS. ; ; AN E  XAMPLE SHOULD CLARIFY THIS. SUPPOSE YOU HAVE A FILE THAT LOADS ; AT 1000H. LOAD.COM WOULD SAVE AN OUTPUT FILE THAT BEGINS AT 100H AND ; LOADS PAST 1000H (TO WHEREVER THE PROGRAM ENDS). MLOAD WILL SAVE AN ; OUTPUT FILE STARTING FROM 1000H ONLY. IF, F33 ;SIZE OF FILE CONTROL BLOCK ; ; CP/M SYSTEM CALLS ; PCHARF EQU 2 ;PRINT CHAR OPENF EQU 15 ;OPEN FILE CLOSEF EQU 16 ;CLOSE FILE ERASEF EQU 19 ;DELETE FILE READF EQU 20 ;READ RECORD WRITEF EQU 21 ;WRITE RECORD CREATF EQU 22 ;CREATE FILE OR SOME REASON YOU NEED THE ; FILE TO START AT 100H IN SPITE OF ITS 1000H ORIGIN (I CAN THINK OF SEV- ; ERAL CIRCUMSTANCES WHERE THIS WOULD BE NECESSARY), YOU'D HAVE TO SPECIFY ; A BIAS TO MLOAD. THUS, USING THIS EXAMPLE, "MLOAD MYFILE 0F00" WOULD DO.  GETDRF EQU 25 ;RETURN DFLT DRIVE # SDMAF EQU 26 ;SET DMA ADDRESS ; ; MISCELLANEOUS EQUATES ; CR EQU 13 LF EQU 10 BEL EQU 7 ; ; WITHOUT FURTHER ADO... ; ORG TPA ; JMP BEGIN ;JUMP OVER DEFAULT OUTPUT FILETYPE ; ; THE OUTPUT FILETYPE IS L ; ; NOTE THAT THIS PROGRAM RE-INITIALIZES ITSELF EACH TIME IT IS RUN. ; THUS, IF YOUR SYSTEM SUPPORTS A DIRECT BRANCH TO THE TPA (VIA A ZERO-LENGTH ; .COM FILE, OR THE ZCPR "GO" COMMAND), YOU MAY SAFELY RE-EXECUTE MLOAD. ; ; PLEASE REPORT ANY BUGS, BOCATED AT 103H FOR EASY PATCHING WITH DDT ; OUTTYP: DB 'COM' ; BEGIN: LXI H,0 ;SAVE SYSTEM STACKPOINTER DAD SP SHLD SPSAVE LXI SP,STACK ;LOAD LOCAL STACK CALL ILPRNT ;SIGN ON DB 'MLOAD ver. 1.4 Copyright (C) 1983 Ronald G. Fowler' DB CRUG FIXES, OR ENHANCEMENTS TO ME AT: ; ; "FORT FONE FILE FOLDER" RCPM/CBBS ; (414) 563-9932 (NO RING BACK) ; ; --RON FOWLER ; 02/21/83 ; ;------------------------------------------------------------ ,LF,0 CALL SETUP ;INITIALIZE MAIN: CALL NXTFIL ;PARSE AND READ NEXT INPUT FILE JC DONE ;NO MORE... CALL LODFIL ;YEP, LOAD IT CALL CLOSFL ;CLOSE IT (IN CASE MP/M) JMP MAIN ;MAYBE MORE DONE: CALL WRTFIL ;WRITE THE OUTPUT FILE ; ; EXIT TOARM BOOT BDOS EQU 5 ;SYSTEM ENTRY (ALSO TOP OF MEM PNTR) DFCB EQU 5CH ;DEFAULT FILE CONTROL BLOCK FT EQU 9 ;FCB OFFSET TO FILETYPE TBUF EQU 80H ;DEFAULT BUFFER TPA EQU 100H ;TRANSIENT PROGRAM AREA EOF EQU 1AH ;CP/M END-OF-FILE MARK FCBSIZ EQU  CP/M ; EXIT: LXI D,TBUF ;RESTORE DMA ADDRESS MVI C,SDMAF CALL BDOS LDA BDOS+2 ;GET TOP OF MEMORY POINTER SUI 9 ;ALLOW FOR CCP+SLOP LXI H,HILOAD+1 ;HIGHEST LOAD ADDRESS SUB M ;ABOVE CCP? JC WARMBT ;THEN WARM-BOOT LHLD SPSAVE ;NOPE, !  CCP STILL IN MEMORY SPHL ;RESTORE ITS STACK RET ;RETURN TO CCP ; ; LOAD PROGRAM INITIALIZATION ; SETUP: XRA A ;GET A ZERO IN A STA LODFLG ;FLAG NO FILES LOADED YET STA BUFPTR ;FORCE A DISK READ LXI H,OUTNAM ;SET OUTPUT NAME DR FIELD DEZ NITMEM LXI H,CMDBUF-1 ;POINT TO COMMAND BUFFER CALL SCANBK ;SCAN PAST BLANKS ORA A ;NO NON-BLANK CHARS? JZ HELP ;THEN GO PRINT HELP TEXT FNDSPC: INX H ;POINT TO NEXT MOV A,M ;FETCH IT ORA A ;TEST IT RZ ;LINE ENDED, RETURN CPI ' 'FAULT DRV MOV M,A ;ZERO TYPE INX H MVI B,11 ;BLANK NAME CLOFN: MVI M,' ' INX H ;INIT OUTPUT NAME DCR B JNZ CLOFN MVI M,' ' ;INIT OUTPUT NAME TO NULL LXI H,0 ;NO BIAS YET SHLD BIAS SHLD RECCNT ;NO RECORDS WRITTEN YET SHLD BYTCNT ;NOPE, TEST FOR BLANK JNZ FNDSPC ;NOT BLANK, CONTINUE CALL SCANBK ;SKIP BLANKS ORA A ;END-OF-LINE? RZ ;RETURN IF SO ; ; HL POINTS TO BIAS IN COMMAND LINE ; LXI D,0 ;INIT BIAS CALL HEXDIG ;INSURE A HEX DIGIT JC SYNERR ;BAD... HEX ;NO BYTES LOADED YET LXI H,CMDBUF ;GET POINTER TO COMMAND BUFFER SHLD CMDPTR ;SAVE XCHG ;CMDBUF IN DE LXI H,TBUF ;POINT TO COMMAND TAIL BUFR MOV A,M ;GET ITS LENGTH INX H ORA A ;DOES IT HAVE ANY LENGTH? JZ HELP ;NOPE, GO GIVE USAGELP: MOV A,M ;NO. GET NEXT CHAR INX H ;SKIP OVER IT CALL HEXDIG ;TEST FOR HEX DIGIT JNC DIGOK ;JUMP IF GOOD HEX DIGIT ORA A ;MUST END ON NULL TERMINATOR JNZ SYNERR XCHG ;GOOD END, GET BIAS TO HL SHLD BIAS ;STUFF IT RET ;DONE DIGO HELP MOV B,A ;YEP, GET LENGTH TO B CALL MOVE ;MOVE CMD TAIL TO BUFFER XCHG ;END OF DEST TO HL MVI M,0 ;STUFF A TERMINATOR INX H ;POINT TO FIRST FREE MEMORY SHLD FILBUF ;SET UP FILE BUFFER XCHG ;FILE BUFR ADRS TO DE LHLD BDOS+1 ;GET TOP OF MEMORY POINTER MOV A,L ;COMPUTE SIZE OF FILE BUFFER SUB E MOV C,A ;WITH RESULT IN BC MOV A,H SUI 9 ;ALLOW FOR CCP SBB D MOV B,A XCHG ;BUFFER POINTER TO HL NITMEM: MVI M,0 ;CLEAR BUFFER INX H DCX B MOV A,B ORA C JN"  ! 9^#V!%DM!!9s#r6!!9~#fos#r!9^#V!9~#fo̓ʋ! 9^#V!9~#fo!!!"|‹`i!~#fo#s#r#!9^#V! 9^#V!%DM!!9s#r!!9~#fos#r!9^#V!9~#fo̓"! 9^#V!9~#fo!!""|"`i!~#fo#s#rú!9^#V!9^#V!%DM! 9^#V!! s#r!!# s!!9^#V!%DM!#!! ^#V!9^#V!%!9!.9^#V@!9!!!DM ! !! DM`i!H"B!!9s#r!9~#fo#s#r+^!9s#r!jDM!"B*#"*I5!9^#Vzʤ!9^#V^! ƒ!9^#V^! ʤ!9~#fo#s#r!9~#fo+s#rO!9^#V!/5`i*)Bs#r!9^#Vz&!9^#V^! &!9^#V^! &!9~#fo!DM`i!9^#V! -! !!9^#V!!9^#V! 9F+N+V+^+~+ngxew# X!9^#V#N#F#nxʁs# v!9~ ʩ ʩ ʩþ!9~Aھ[Ҿ!}!9~aھ{ک!!9~0ھ:Ҿé!9~a{ o&!9~A[ o&+s#r!9~#fo#s#r+^`i#DM+s!`i#DM+s;!B*Ij!9^#Vze!i͠A:$$$.SUB!!9s#rØ!9~#fo%s#r!9^#V!̓ʾ!9^#V!$^zÆ!"!!9^#V! 9^#V@!"!! 9^#V^!9^#V!!"!q!9^#V!!9^#V!Q!"!q!"!NT! 9^#V#!9^#V!$s!!9^#V!#s!9^#V!!s#r!9^#V!#%!9^#V!%DM!$ ^!J!!!$ s!#  ASPRETTY.COM Version 1.0 William Meyer 23 Dec 82 Documentation: This program makes a file into my notion of pretty. Specifically, this is written to operate on assembly source files, and to force all source code to upper case, and all comments to lower case, regardless of how they began. The one exception is that quoted strings outside of comments are left unchanged. The quotes may be single or double. No checking is done for balance. End of line terminates a comment, and end of line or start of comment terminates single or double quote. A single quote string embedded in a double quote string will work properly, but a single within a single, or a double within a double will not, as there is no way for ASPRETTY to recognize the nesting. ork properly, but a single within a single, or a double within a double will not, as there is no way for ASPRETTY to recognize DISK.DOC FOG/UTL.034 First Osborne Group (FOG) Utilities Disk ASPRETTY, submitted by Byron McKay, will beautify an assembly language source file. Place ASPRETTY.COM in drive A. At the A> prompt, type ASPRETTY infile outfile where infile is the input source filename and outfile is the output result filename. Each filename should be given in the form d:filename.typ, where d: is an optional disk drive. Also, see ASPRETTY.DOC. AU$  TOSUB, provided by Carl Flarity, works like the CP/M utility SUBMIT; however, the SUBMIT command lines are predefined in the AUTOSUB program rather than being given in a file of type SUB. The desired command lines must be typed into AUTOSUB.ASM be. If the disk name is not already present in the disk directory, it will be requested and stored in user area 15. For further information, see DSKLABL1.DOC. MLOAD is a substitute for the CP/M utility LOAD, which makes a COM file from a HEX filfore it is assembled. Then place ASM.COM, LOAD.COM, and AUTOSUB.ASM in drive A. At the A> prompt, type ASM AUTOSUB At the next A> prompt, type LOAD AUTOSUB This will create AUTOSUB.COM, which may be run just like any other program exce. MLOAD will load multiple HEX files and permits the resulting COM filename to be specified. The COM file will begin at the HEX file origin rather than always at 100H, but a load bias may be specified. To run, place MLOAD.COM in drive A. At ept that it will cause the predefined set of commands to be performed in sequence. If desired, AUTOSUB.COM may be renamed AUTOST.COM and executed automatically upon cold boot. As with SUBMIT, substitution parameters of type $n may be utilized. the A> prompt, type MLOAD outfile=infile1,infile2,... bias where all except infile1 is optional. Each file may be specified as d:filename, where d: is an optional disk drive; wildcards are not allowed. Type of outfile is assumed to be COM;  DSKLABL1, from Dennis McFerran, is an update of DSCLABEL and DIRLABEL found on FOG/UTL.009 and 013. Using an Epson printer, this program will print a label listing each file on a disk, the date, whether the disk is single- or double-density, thfor infile, HEX is assumed. Refer to MLOAD14.TXT for more details. Jim Crowell contributed MLOAD to the library. SERIAL is a 6850 ACIA contol utility similar to OSFIG found on FOG/UTL.001. The 6850 ACIA is the chip which drives the Osborne 1 e amount of free space, the disk name (e.g., -FOG/UTL.034), and a page number if more than one label is required to list all files. Place DSKLABL1.COM in drive A. At the A> prompt, type DSKLABL1 d: where d: indicates the disk to be labeledRS232 serial and modem ports. This menu driven program allows one to set all the available options for this chip. Place SERIAL.COM in drive A. At the A> prompt, type SERIAL Use capital letters when responding to menu prompts. Prompts enc%  losed by [] are assumed defaults. UNLOAD will convert a binary COM file into a HEX file, which is in ASCII format. This may be useful in order to transfer the file to another computer, where it may be converted back into a COM file using the CPOSUB .DOC CRC = 25 3F --> FILE: DSKLABL1.AQM CRC = 9B CE --> FILE: DSKLABL1.COM CRC = 38 70 --> FILE: DSKLABL1.DOC CRC = 37 1E --> FILE: MLOAD .COM CRC = 5B F0 --> FILE: MLOAD14 .AQM CRC = 62 B7 --> FILE: MLOAD14 .TXT CRC =/M utility LOAD. Place UNLOAD.COM and the COM file to be converted in drive A. At the A> prompt, type UNLOAD filename where COM is the assumed type for filename. SERIAL and UNLOAD were submitted by Bob Scott. Squeezed assembly language A 87 00 --> FILE: SERIAL .AQM CRC = C3 18 --> FILE: SERIAL .COM CRC = 99 8B --> FILE: UNLOAD .COM CRC = CA 54 ---------------------> SUM OF CRCS = 38 87 QM files may be unsqueezed using utilities found on FOG/UTL.003, 004, 014, and 031. Jim Woolley FOG Disk Librarian December 1983  sion you have. Then consider renaming it CHEK.COM on your normal disk. This saves have to remember the version number and typing the extra characters each time it is used. SYSOPS: If 0103H is 0, no disk file will be made, regardless of request. If 0104H is 0, no system files will be displayed or checked or placed on disk. You may wish to put this on your A0: drive simply as  --> FILE: -FOG/UTL.034 CRC = 00 00 --> FILE: /UTL#034.DOC CRC = 27 D5 --> FILE: ASPRETTY.C CRC = C1 28 --> FILE: ASPRETTY.COM CRC = 90 AD --> FILE: ASPRETTY.DOC CRC = E2 3D --> FILE: AUTOSUB .AQM CRC = 3F 67 --> FILE: AUT CHECK.COM so the user does not need to remember a ver- sion number. (It is displayed in any case each time the program is used). A small menu comes up if you merely type the name of the program, and do not&   ask for any files to check: A>CHEK ++ No file name specified ++ COMMANDS: CHEK [drive:] FILE Examples: CHEK B:HELLO.ASM check only HELLO.ASM CHEK *.ASM check only .ASM files CHEK *.* check all files, check disk quality CHEK *.* F makes disk file named CHEKLIST.CRC CHEK *.* FF makes disk file named FF.CRC CHEK *.* FILE makes disk file named FILE.CRC CHEK *.* HELLO.ABC makes disk file named HELLO.ABC NOTE: If byte 0103H is 0, no disk file is made regardless of request.- '