IMD 1.16: 28/05/2007 17:30:51 -FOG/UTL032         -FOG/UTL032/ AQM / COM / DOC /UTL#032DOC)*DELBR COM1HOSTCM BAS ,HOSTCM DOCML92SET COMSUBSET CQ SUBSET1 COMSUBSET2 COMSUPERSETCQ XSUPERSETDOC SUPRSET1COM8!"#$SUPRSET2COM8%&'(X AQMX COM /UTL#032CRC+vX.ASMa  !#"$&%('*),+-.0/213547698o:;=<>?@ACBDEGFHIKJLMNOPQRSTUVXWYZ[\]_^`PRݼOcf.gӝ7;@턐J)T[hiB,mSu-"RJ/T^ۦꨎHJϙJ)jӧmz䯿:ǎ  J)ҋ&T+}[s|Կ}lO|B(%Wҷ}QM^9{Abu=^QZ_~y\Ǿ`v/mZۦWOoR;9Bܸ?^QRJB,/}1բVfe;xƺ7oP/7I=en(ydζPJbSmVe܆: :5Q7JLGo,6}~<{M&9aD,b#Fs„~H"_g`BQH&\BnMm las B%T YRS`U|N`-^?]3Bx:,7}KOv tᾱps}㭥$G2P:Gxۧk1ާ9*өOBUxbl&nlh]s*¯!;uyz{^^l-K[%z`$uY _v9w7C[B(dy1&T+}掞n`_~̙fwɁz)%PJ)_Km 0D=P2XB#5s cwk3jVkb.!TzX?[[o[@Al$Q57>;yG=PW#5\= JzV@B_Uz2[z2>¯'K0sғ ~ռ3;b(ylt>;yԃ%z=o\?;fƄPt/_"wF7píG=PtξDo҇[_"BlyA#9"FJSGo1%z5K`Zr<{;yԃuY1sվJ{ݜP\U%0HT3W'oks&lHW 6'oks&lDM(F98$Jm7{Ͷ8ǎ8.$`寻|IdyAed/b#,`K7$Q0H"KJ \sO{)I0H"KJdFȾ$zH l$ojHW ՘Ʉ8D%'**_W3D|"TUDf|J&<]gwK\x}Ml 5OWKjƗB蜞PΩPtξD,罟P)9uTc&Ty^`Zr<{vcB7ͯ:ZWܾ ɓ9u7oO|B_KjƗB:|'lh%s=Oӟۛl'Tn>IOͯ`rU:oO9*%js'ylIrP$z}Anu.s_g/b#^m)AsRc[\~τ FH eF嶄"w>~sً:wK}FN}M_'o>7./b#RS%mz0/b#R-wz0/b#RPNo0/FY^%ȧH3/Q.b#,%d|B_"w$ Aw!%*Yl$QWOO%!<ӃEHhL76*uN/' BH替n+}κ! Z|%?OnoVFBB(1xF~O.ݺ !$Ѻ*\3W%ə_wC!Ts*r=IB'4$j$9n(rB_n0`-^9N骾/_"7A7٭˷śrB\U%du $g3/Qb#ҧ`c3ݎ8.!m-q͵|q#.b#R Ipab#RMIԜofIKJu!a('Sl$k6b3S=Џg$J/A'zp؇;mA` nܦ6Vm=Zدke`oAs ; H"c#B<ꜽH0:ZW ,f/p Ts*r=-$TUS:nbmq5K񦓻UinD -vls  }YBHhe\YYȺmS5M &e6:Jк,fk2{1Z`mVY?7H'Atkش=v5ifP&&.tV|/v̀e`I06K `BتtLg7Rk.L6l=ZKw^ۆ)Z öeF%6װdm+`v@2UStM%h`v)_ B(9yKOLrݾ71\%otO/׳w[b.潾5}7/71ܶLM%w9GG}x}76=;nyO'4fg}ᾛJ}obK>xғ ݼ}oQ}o~s'wҎg_X!߰gBHGOhHLcg~-Ƅ}تtLg7Rkݪ llU: 5k)4~~m6efS$TÔF͵Z2tVj2;J(f M׺Q eD&vm$h`v)_ BH?zBC$9n0V IBX?污xM-h]s邱`fs'? PΩ@?%M*xtr7[J03yz;xKwL -vls}MY'[s%Ѻ*cO.\ JSPOK034չܖPwꎓbBz>$Q[hq{wk Uz }6#Ke&s&TUu{ 3{Y?gBqRL;N uI1R=_Mu#!8p;`B:>.lh]s=^>E*<=\v۶K>OO(mjh-knasy\Jfk~M͖XOx !ҊNM!U㤘PGo)>FM!]:zK\%8FM*EBx:pH0yܓL OfY8)ls#wN%o &)jөً739{-.g}7ϕӾ{Íj1:g/>6y&Kqm_8o\ޱ&1ou.s_j}c&p^of~G_'%n0ސGͦ*uN?CF Uz|F w qlwo[f.gSB“,XΩY5]U=" oy[肒P=WUB7 UꜺɟP.RAp7NJO'Ts"'[z2>JSw>Ej_'׹7NO9p"'_A{&w$Gy_ 6 60:wkwxߛ-cާ9yGo|;F ݼuҾ7aS@w,ޜ|sO@񖚳)$zBCjԜM "wJ;-5g $ғ9鏞АfgRs6]?+POb=!mP[?ߧyye}s&[jΦ;RԝOr_~.3K0{>3/( *uN>Z*uN5\9u?\4.?7gun'ʗՌ/oOw[fOXJ/;u{΄:zK\ us*\u SL(WbBUPt.J<\ur:wkt<{'Ԍ!tUߗȌ/q^/wORTOz"woxyLB̎P干*mn%ʝ}^%XfN&TsB9nbBHxr7tӅGϦk׌P'2BHe:!0 {;BH:ܾq{G|.xǼ#9"9mķo<6 ?qF|K5\B>x_~+`-YHO$ (oߗPGo8W 3''ń$GSA:ZWُp؜n9-ޘ3oĥ&ۨ9q@xN`z>UǕ-}L;N ~=ꎓ\Ɋ6tN*uNr f.=-=P$;KnKO_y:B_Or$GSA t?LW?~LuuS6M'fXn_Ʉ/d>x-=Pwd+wv^8)`un=zfBx:%bL? B7]Obńtn>3{m3F@q}obչgf}7/-̼M7yu[z2>ᾛg_ ݼ̟-}V?f/[z2ޱ)Jq#1ouiI$|΄Po=;6:}}<9<};@;#BKM!Uk:}=zD \sO{)I0JS!x`4ޭ:>x K- X:t=&o:+BU%y5o4ޭ?c v<*},xgFo;!!$;}sOL T۸?ϧ9v{ǖxq4%R979wnDŽPd{]S=`BHnͶlB[3vz<7N |wkpY~-m߭=uI1\Ɋ6 ~ѻ5o9Dfz#G? V/IBXQi 74 $!#Ѻ~ƄIPGo+R= us!'9BqRL(W"B7?>pB=#ńXto<UPUI0mߴ5BݑU ~U$Ċ 5OWُ_$;Nғ UGߴmw򖞌  bB?+N%tͯ5~ƄGoL(W"BJ "tUWw߻fB;*¯z+&<]g?~;yKO'+Y{[z29˂k!ԓXOhꎬPO(&TZQ[t}yt?!!zkn|_'c}Gk!L{>%tU~"Awz𖞌O\52c r)"T vgBz>$x#[>ϙPJm4t^;yG=x B=QLJO'TUPioztᾱwTb*>|X^ u3ꎓbBUjQ$;yԃ1Ƿks*ɇƄd| Q2X#&VV;X52c401[t@ dodM 6=6feE6)Sm oװZ-520*!$ﶰ=6];{@5 5OWُ/́w|΄ t?*2׹1B<~oLy~W >G=x&+Bs3%^M~¯'jy Flʷwp'ꎬJUPO^d7O\SJozLKg?JSw>Ejo9ttǿ#mPΩ\K`޿5fOBE|a_Ʉ깪*2wzMWBU|jᾱ)Yuܾ턏[:L;N IR=B\*mZ?+X3N~G׏Os&[C72 UԦMIOmk4Pioz 5OW}$x/Mh]Eg?}cB:bBx: Ө'*uN5"k[wpcLS,ky-=3¯wp T[>~| `:|'$r&%̚jGwL(jm]M!]ۆVm@{{5XC;놀0lwkhNM о ?,Xt/ʝOD:ZWJSGo1:%EЇpxl./OGTΕPG*:jɇƄ $!VLyߗPt}:?uPΩs9 ~<5;yG=x߰NQ&ńJ{5+x wz0$Ċ 5OWjܹOUt#7&Ts-[}wzzPUO*_jɇȪ d|ǏjyߗPt'_"BlyPΩPU|"}m~}of6#[*JuS 5}cB*ɇƄJ;=~WǏ O'K-^'oo/N%jɗȌPGo838)&[:ΎPΩ[N}}GFry뎓bBqRL; \Ɋ6"w v<\&u-/h]s*U=r1 V9ޱG}&Tڛ@脺#ꎓbB*m Y ޟMƿs]L8XUC%u^}lk=-E*n sU {MTEA$|[z2>ޭd AVuNU<I4yKOon 'ǼN@y~W >wԃh2BP!NP!NB}Bǚ!!MJgFnF a5 XGʝS%X&׼7g*x0y|{;6Bk5|?r:ѳ߷dBHgSYѳ߷g%lFh]s]c BUtۢ|_K-ut?JS (†YlI}&'גn= UjF6;<]EgKj|_Kjj{XwA9pb!<]EgKx>c/}_ɄϦ`}_-}zGX'X3NBSA|%;yG=PG*:9uK-;yԃ 5-+w#76߬OzcdB--ғ9ꎬJBhb`e P干 m>x}2熒фM:ZWJ"́ϙP3|_Kj{XwA9pb!ѺrgutFX?+Pt-|-aOpbh]9U'oJp [)D?gvߣ*$ ϙP!NU}32BH3ݖ>c elɿ A5] A79l s깪J8p &P.%hʁPG*:DuUΩ:ZWJV9ޱG}&Tx(W r 'ń*ǣC<~6;PфJ{(PM (f uG`Zr<{ ̭m?B6pbPG몞۷]!¿?ѬØPΩF- Q̂Uj"']:ZWl!TO*5k.R\G~Ϧ`7vMm[_;B~ Դ^=<B[%{THj.}{Ǻnxϙp C.IBPOb9B=Ih]sB:"("9B=Q  L̟p !T%kn\=^J(oB,{Fm{^'BB(>6wI1wr8/P|;#)Kޱ%s&\K˚Fw>BL }$zBPG몞K&TsQ U=OORTB= B5(kn~^PΩ ;Zݘ׺(`{ z#G? .!jR65{59[}2!$)XU%yF QKIBXx3n$rz+"Ѻ*F)H-}>y}2ʿ}l u\%XkmPΩ ;Zݘ׺(`{ z#G? .!:z^=t}dž\u~[B'z܏jj'B%lQ|%2K䇠o~G=x' ~TUtX$Qc†[Cwok&TsQ~ uI;>gBz$^M>cy8B,ƛ~WBzno.'vGRT†,W" :.KO'TxSÏbd;s'[!AϿ uI1ޒ;tHgSY7v'0!Lu_%u8o~ńOJQ =ɅZdb٨:Y !s'\£T8)&T$G;Nrr%+"Tx[L̟p !5FJ +X=WU 5o9-s,_7|A>x k&[ϕPGoC|߹}F*L4ϕP?B2{5en0^'BB1\ur t1N%B:f]H5>Bwr: eJ/-K-Ak XkfojuC@{BBzn7nsж9ըP?BF-kn~ʽ[k-}>ypdBHgSJ\s-|?.a$Ċus%TsQK!tUDf| TyڷPiojb![PΩF-Q?.!j(?eb\חp z+&ԓXPObE:ZW\fPΩ@?GPO*'\Bx5'^w;B,{UvDKx~$Ċ $!#ԓXU9;9GbBeK~^s6\zv !!M2Wu.oKD|?$!VL' $Ċuʹ/*uNEB=QD?rzP԰涑筡ܻ;@>Buw2!$>&P2o~ws>F$6jkz#Tyڛl'T~#TsQ 8*xԨp !T涑筡ܻ%y_'BB(?e\缿o#τKبŃ$!VL' tU=J|`Zr<{(eh-)(Ew=JO;B=QL̟p !T\P\>cKO&PG\awyͬuCo#ɄKk)`=IK0of s ԓXPObE:ZWKEG' c>]xrAm KOY$Q&` {9VͷF ~|4\Ew ;{Ucp OD` ?}c ~>k6]'o>7p,*A'ooL}c\ЫunoL8KOY$Xz2vN}켃 rA #>7<З,>>;yK?ŘG/` {oxy  KO'Q\Ы{oxy~Lأă,)I'IF ` H`|&6`W y}ϛ$29$JynL,.(IX[Ml X.UNQ_;>gB?~Y$5'>g X.?^  9{Jw|9{-.gB\ЫSoI #" : )= ~#$ ! " 2 \NNo such file(s) $7o&)))))* :\w#~#i-" 6! 4\N 2 !: <2 ±#¥7O~q#º : <2 ! ڡ : <2 ! 54ږ: =!a>,d`ok=o}:?rA$~{Y_'rA~LWA'dB?+X.ȏp ;yG=x&+Lh 79Xֳ.(IX[Ml X.UNQ_;>gB?~Y$5'>g X.?^  9{Jw|9{-.gB\ЫSoI " : * ~\͊" !\  kʱ!\ ͊: N*/ !+ s#r!"/ : <2 ʱ:3 <23 ڪ23 :4 <24 ±Press any key to continue $q24 ñ $!\ ͊:. O*/ "/ */ !+ s#r: y!q! " !!" " "1 9" 1 >2 2 2 23 24 !l5 ͊:6 ʋ2A 2U !> ͊5 ͧͿ> 26 Unable to create output file $2V !Y "W ö** XDIR v3.6 1/2 for OSBORNE 1 ** $2 :\=2 _"  }*.: ##~2 ##n&" _"1 !" " 2 23 2 : ! s# y%* ~ʚ\͊" !\  k!\ ͊: r*/ !+ s#r!"/ : <2 !\ ͊:. O*/ "/ -*/ !+ s#r!" " * ~ #>2 * " ~  $#: <2 * @" " ð* !'_##~2 ###~#fo" #* +#~zI-1:] j:e j!]>?2  w#d>?2h": = ********************************************** * FORMAT 1 - Files fill more than one screen * $͏: -As spec ͊* @" : <2 >2 * " " : N>D#^+## :^>^ #T: Gyȇe#ko&ÐÊ'͡͡d͡ ͡}o|gڰã {00> > > !  ~#x>ified:$: u files total of$*1 ͂K $9Disk $: A:$* #͂: nK disk of which $ÉK with$: u Files $â!}uK blocks$ Used=$* ͂K Space=$* ͂K$:6 >::V 5 ͛* * #" *.^#V*1 "1 x>kG}:6 -x:$/:V bY 5 ͳ!Y "W 2V *W w#"W !V 4_~#Šɷ|g}oDIR  v/.ASMU  !"$#&%'()*,+.-0/21354687:9;o<=>?@CBDAEFr,-,zF{G,,zF{G,w;L~k|_y &o/ZW\kz}KssWԥ!=ƹK" \~' tk|_T:]CcW5=܍4}7*SBcsv, siϴlZ_HIGLKJMNRPTQOSJ̑|2ru)8)e6g2zgpəs"*4c7tޣ\Joimi[I$sp 3[zj6xZ ptޣ9-zm (Rj)gZv3XJ~Cbxh<+QzF{GBڜnׯZ:4,tK̮~E;63h;0o@t,6TJ-IJWY5xic;rWYQ¤?h YmǮ]*FYi|WYW-FqKRIxV-UVt+}]qQ yx"xz4zdׯk_(g@[6fOdf:LўݘSl33?30?Z\k6ntޣ9v.tg?G=Ep68Ft L'Av}$<Z綖0n3(p2jJ峄aS35sd/̄Z&? -ov1Eڽ Ρ 鱽pc\/x-v}8^t1ʐOUEp!kG?4O&3{<#hDς{at}/:?"{4: inzUV׎OWwnZS_4/X_hw,tk+=慿յJ- zfLG=UjEg.;D!zz2Q0>ݚ+ jsn+ j뻮_+}g_֞庮uZx{Z7+ j3[iNX_hw,tk+=  dJq=."^{\w"hCHxRNrdjNb{Mۣ_eH$$눇ZK_eH(<]Eqz$b{M=2$`:ZѸ^\\k9 hU^K;:k2u51Sr f,Ed- g3Lp&8 gAk2u51SRK-=Yjg3Lp&8 g3:X,_p]ܣ\W\uYbrvo2Ih<+QaWLkj5i(Suo7O~' tϴyr{hWLk`:ZѸ^\\k9 hU^K;:k2u51Sr f,Ed- g3Lp&8 gAk2u51SRK-=Yjg3Lp&8 !}) PROCESSOR: ASM DEPENDENCIES: NONE NOTES: Set "DUP" to true, to define a version which will write "/.SUB" out to disk to facilitate re-executing the same commands. To re-execute them, REN $$$.SUB=/.SUB then ^C. Alternatively, PIP $$$.SUB=/.SUB You might wish to name the version of this program assembled with DUP true, as ".COM (but this will "screw up" the Master CATalog system which reauires its "-name.xxx" to be the first file found) /.ASM by John M. Kodis CP/M U.G. contrubution November 1980 The "slant" program reads a command line which may contain several program invocations. A $$$.SUB file is built with these commands. This file is then executed. For example, the comman A program for quickie, use once and throw away submits. The command syntax is: A>/ [[;] ... ]   +w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!y':7?h#D/6:?>$:?$:)?$l,:>#)Ÿ#>67:+?7#*+?|°#2ͩ7#>67:+?7>#7>67:,?7#*+?"?)*K͞+RRX'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z#>7:+?7>s7>@2?#2ͩ7#)$:"?=2"?))$>s7#͎)5$2:>/$2ͩ7#3ͩ7#* ?"?*+?"?:)?ʟ$:>€$)s$>>7:+?72ͩ7#2ͩ72?#)s$>7:+?7>{72ͩ7#)¸$:)?‘$>}72v$:)?1.͎)$>&773v$:)7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o?$l,Ä#:?$u-l,$:)?>%>7l,>7>@2)?$* ?"?R3ͩ7:?2?"?|O%}@%3ͩ7V%C%4ͩ7>G>)7[%#͔+:*ͅ- :Âq í %V7ß!9DM! ^#Vr+s!|N! ^#Vr+s~#fon}-N! ~#f#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2ro~#fo#! s#r͐n}K͐n}!͐n&!e ͡! w#w=! ^#Vr+s̓+|q!{ ͡! ͡!ͤ! ~#fo~#fo! ͧ! ! ͪ! ͭ!b ! ! !@! Ͱ! s#rz! ! ͡!ͤ!! ͳ! s#r͐#|   ! ! ͡!ͤ! w#w͐͐K ͐ k! Ͷ! s#rzv ͐ k! ! ͡!ͤ͐ k! !! ͡!͐)! ~#fo͐͹! w#w͐͐)!b ~#fo4 !! ͐ͼ+| !% ͡!ͤ!! Ͷ !( s#r!( ~#fo! Ͷ s#r!6 ~#fo̓&)̓(s#r! Ͷ !* s#r!* ~#fo! Ͷ s#r!8 ~#fo̓&)̓*s#r!! ͳ !& ^#Vr+s!$ ^#Vr+sH ! ̓&!,9d!9DM! ^#Vr+s!| ͐! ͐Ϳ+|& !J ͡!ͤ! ^#Vr+s÷ ͐! ^#Vr+s! !o ͐͡!9illegal option: '%c' Strip all files from a "Novosielski" archive. Usage: delbr filename (excluding filetype) .lbrTrouble getting directory from %s Cå!y9DM! `i`i!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{rL͐y!9!9DM͐`is#r͐n}ʬ! ^#Vr+sÔ! ^#Vr+s͐ns! ^#Vr+sn}¬͐!9F!9DM! n&|annot open %s Cannot create %s %s Error reading this entry - aborting Error writing this entry - aborting w !9DM͐n}ʫ ͐͐n&t s! ^#Vr+s d<q :v!9DM! ̓0Ͱ #| !!! ͳ ! Ͷ ! n&! n&&$!9DM͐!͐!s#rzN!͐##w#w͐~#fopâ!9DM͐|‡g3͐+++|ž!j3͐##^#Vr+s|!͐͐~#fom`is#r!|͐##^#Vr+s3͐##͐?!" s#r̓"! Ͷ ))!" s#r!! ͳ !& w#w!$ 6#6̓$̓"̓&̓2! Ͷ |ʋ !! ͳ ó! w#w! 6#6͐| ! Ͷ |g}o͹ `is#r͐| ! ^#Vr+s! ͐s! ^#Vr+sÜ ! +s#r͐͐s#r͐^#Vr+sn&3!9Bu!9DM! n&?|i! n& p! n&&|ß!9DM͐ڔ!͐~#foyôäL{!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{`in}%^#Vr+s! 6.! 6#6͐|z ! Ͷ |g}o͹ `is#r͐|l ! ^#Vr+s! ͐s! ^#Vr+s ͐! 6! ͼ ! ! s#r͐n} ͐n}; ͐n}* ͐n&| ͐6.! ^#Vr+sÛ ! !4 ~#fo̓& kͿ ! ! s#r! 6#6! s! s! s͐n}-D! ^#Vr+s! 4͐n}0T! 4͐n&ͫ}q! ͮt!! s#r! ^#Vr+sn`is{.¼! ͮ! s#r! 4! ^#Vr+sn`is`in&ͱ}DU$X-O6C|Sʭ͐~#fo|$! ^#Vr+s  6-͐͐~#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! ^! ~6*u*+"*"*u#"u7:)~:,"s!"u*|*uʝ*~#t"*s*u#"u*+"a#:woʱ2w&!o  . &7:O*   > _#Vr+sns! ^#Vr+s! ^#Vr+s͐6! ! s#r! n}|! ^#Vr+s!||! ^#Vr+s! n}s!0v! sA͐! ^#Vr+sns{ʥ! ^#Vr+s|! n}! ^#Vr+s!|! ^#Vr+s6 ï! ^#Vr+s`ins! ^#Vr+s`in   !\&! , FNxg>GoyP$s*u#"u*+"a#:woʱ2w&!o  . &7:O*   > _s͐6!9!9DM͐n}D! ^#Vr+sn&"!9DM! n&|ͯq! n&|ͩ!9DM! n&|ͯڠ! n&|ͩêä!9DM͐͐ ͐^#Vr+s͐͐0͐7s!&C͐ ͐͐ ͉͐ͧ`is͐ ͐͐ )͐ͧ`in&#&C!9!9DM! n&|ͯw! n&|ͩÁL!9DM`iw#w͐~#fon&~}͐ ?͐^#Vr+snѯg`is#rÏ͐!9 7,2q*&:q):==r:qo&.7*(\!*+\,7:,*Y:*~}|2q ʯ¥:qwʠ! {w7:)~:,"s!"u*|**s  ruise Missle 8 = 8 LPI Select: $"1͆͘0!ʝ1!ʝ2!ʝ3! ʝ4!ʝ5! ʝ6!ʝ8!ʝ7͘} } ~7_#Ýfsky for allowing free distribution of programs compiled with C/80. SUBSET is intended for use with the companion program SUPERSET. Sets of special function key definitions created and saved as CP/M files using SUPERSET may be loaded for use by SUBSET. (SUPERSET also provides the loading capability, but occupies more disk space than SUBSET.) Comments, suggestions and fixes are appreciated and may be sent to the address above. /****** HEADER SECTION ***********************************************/ /* Macros specific for single or double density. The set actually used is toggled by #defining SD or DD (but not both!). */ #define SD #ifdef DD #define KEYTABL 0XE16B #define LIMIT 0XE1FA #endif #ifdef SD #define*1068 $ OKIDATA Printer options v1.3 APR 1983 0 = Correspondence mode 1 = 10 CPI 2 = 17 CPI 3 = Double Width Characters 4 = 12 CPI 5 = Data processing mode 6 = 6 LPI 7 = Launch Tomahawk C KEYTABL 0XE56B #define LIMIT 0XE600 #endif /****** MAIN PROGRAM **********************************************/ /* The only allowed usage of SUBSET is "SUBSET filename". The named file will be accessed and the key definitions specified by   that file will be overlaid on current memory. */ main(argc, argv) int argc; char *argv[]; { int i, chan; char *keytabl, *errmess; keytabl = KEYTABL; errmess = "Bad filename; try again.\n"; if (argc > 1) { chan = fopen(argv[1%pw6237!9Ly=S>wD<!gs 6#6 ~+|s#r{{ ڟ!+#^{!!Pw#w!g~<6 !|~r!N!nL}*eyb>w#%!=)${=S], "rb"); if (chan == 0) { while (*errmess) putchar(*errmess++); exit(); } for (i = 0; i < LIMIT - KEYTABL; i++) { *(keytabl + i) = getc(chan); } fclose(chan); } }btx h&{ !~!nN#F{p+pH#x¯ ڽ+!9~ !~b!5> 6> *e w`i#Q᯾*+%"H%"F%"D " " "y 6"C+6+!^6 F+N+<!* !!9~#ʗ RO"k'k +}|+#~ʂu6#~#<ʷ>!4R6#6*!* |ʴ!ͯ"r! ͯ" R Can't open > or < %,!$|!!9n&:ʟɯ2>[!9L):|!PwL#4!^w>2>2-:Ecx:-O”! DMi:- !Write error - Disk full $`i7.!9~=+SV+^+F+N "I> w+ file.$èw*6 )! 9!"6ɻ *:B<*C 2B ́F  €> _*C~+#4N s> > !+:EºF2B_~ý   > G ʘG!* ͟> !+w w##w w #~+:&~##K@~#.7K&*I++Kw#=a O! ~_#V!$r+sbk#|}o|g}o|g}o|g|!,|}!­­,ɯ|ʙ!|}!-z{!,zz{!-|!|g|}  > _con:rdr:pun:lst: ==_~O7 !"# !  #¾i& ~º!h~#~#F6}! -ɵz{!-||g}o).{ozg+|/g}/o~og~#fos#rN#F#xr~#~#[[`iDM!z>‚S\))Ҋ =‚ɯßz>|>MD!x<³z>ڸjS\>))#  =¸>>****!k"! "! 9  Lʍ ! 9L##L! ͯ"*|N *F|K *#"+F- ͨ!"*ʅ n *#"+T ***}c *""""Bad filename; try again. rb*+%"H%"F%"D " " "y 6"C+6+!^6 F+N+<!* !!9~#ʗ RO"k'k +}|+#~ʂu6#~#<ʷ>!4R6#6*!* |ʴ!ͯ"r! ͯ" R Can't open > or < file.$èw*6 )! 9!"6ɻ *:B<*C 2B ́F  €> _*C~+#4N s> > !+:EºF2B_~ý   > G ʘG!* ͟> !+  }  > _con:rdr:pun:lst: ==_~O7 !"# !  #¾i& ~º!h~#~#F6}! -ɵz{!-||g}o).{ozg+|/g}/o~og~#fos#rN#F#xr~#~#[[`iDM!z>‚S\))Ҋ =‚ɯßz>|>MD!x<³z>ڸjS\>))#  =¸>>****!k"! "! 9%pw6237!9Ly=S>wD<!gs 6#6 ~+|s#r{{ ڟ!+#^{!!Pw#w!g~<6 !|~r!N!nL}*eyb>w#%!=)${=SLʍ ! 9L##L! ͯ"*|N *F|K *#"+F- ͨ!"*ʅ n *#"+T ***}c *""""Bad filename; try again. rbbtx h&{ !~!nN#F{p+pH#x¯ ڽ+!9~ !~b!5> 6> *e w`i#Q᯾%,!$|!!9n&:ʟɯ2>[!9L):|!PwL#4!^w>2>2-:Ecx:-O”! DMi:- !Write error - Disk full $`i7.!9~=+SV+^+F+N "I> w+ w w##w w #~+:&~##K@~#.7K&*I++Kw#=a O! ~_#V!$r+sbk#|}o|g}o|g}o|g|!,|}!­­,ɯ|ʙ!|}!-z{!,zz{!-|!|g|  GHIJLKMNOPQRSTUVWXYZ[]\^_`abytv' w)Z>7>V*o 80 ;;+d\E1ZwaU+AHOܥʟ[RM7u԰CX%W*;h[n)K.Sg ۃrx&Β nxdB`cT\cP/ ang(k *Vߥ]XEsO1 ]L[,nT$7)ѡݮ}J+ǎVqewcߘ4Qm.<@:okoR VzH&qH!qiEICR~Rq<G Vpv_z.U<r+X8L*#1T!?!b!}s7&MT[g'VPhh>_?V*FuR YrP'tXzRVS,f>N>+B9n,a{P+=$c:Y+|u5*Xc}:bL(i⃺UXrx?m^!p*Φ4x[*#lv R VpQdFtX[5q #yduBʦj>>-L[>7N]G1x+ΑU4c :R7E C IG h}!V8}J%8|_dGT?ڪ"oL_*"q'i&avc0 v&superset.cc  !"$#&%(')*,+.-/1023457689:<;>=?@ABCDFEo8})RvHIE+]ɦ4TVW1JX_$ZnAGrZk8;.eTjg-0Z`{Uzr?mv}U뻃3*s|*kguRR:uUF#s}yN1 V߯>H5htr>.*aIw_A*d)sȐ%UԭBia N琡%}uc/ݍ_P ꃺU,  R w7~AEHn UԭBؾݍ_P)",%}u ~ !E9Grܧ}={l_n2g}63@V!+{ }uY`}uY2|_A*d2Wc@}utpꃺU<=+GmρUwFk}uUX8u>[B}q/O)K?(z_Cű8"9R3!G{$t!uGT?#נ8Cn[1 Gɨui@f]@H# [>ƞ[Ƃ)6g-s}nU9<#a{PnXEnKe!@F>>[eJ𿋑'^[ڦ8ig3l}}o8 Gpvb=c |P+.@.jKN|Ao ы5Ča@ T:(9ǕT|OAjAK6cSq6.0|JVcĕ Oc:󯓊w1RW!uPr#Qg0o ŐG `U:hWpg}6V[a9ub1sNEm>ze/C0>V@;{@dt}Ӏ́GT?ٕ7r?e4):Rt>2Wc4uE}OMόk#E|.M67l\Gt=}AQSg4M Tƨ5>Vjng>}>͌'T/YE!N(Φ4vT~j۪U`5*jNxa5~֪95o}ǿ!>֜bhw)ZÂ*Nva}ݖs}:*j~c^#/ 3Xo5'PB9B(4McgW 3q#RSjU4w1R>:!WZ}a9nRtXESvY|P kLF NĻ@WHNWԭr)R1 4li#s}uR1W*UԭBf^lSՙEUԭBUij:yiUԭB~n0V!itUԭBfT3m{tV!`[FOLz iVQsu @#Ҁ>VI@5`$U$n c>u3遜N(j91D/s ыmjf&fg>>u}l|.F*ݮcb4MhU4RٵZ}q M#}aVBm)|S9x~)«i#H~s@ c`կYr.ɼU d iZm{t}uYm{}u9Cnp_A*dMB0>[r#Sf>[u)US9Vw}ի;c+UԭBf^lSՙ,n2JSՙC}u7m{>[̢ϧO7Y>oۋIV!i}KjUԭBfL?ssVCW}P E|޶ꃺUȜ!@y~hI} U K K2c`կY"$>V*%K2c`կY$>V*%d_$>V*%I2c`կYr&ɼU d (ɼU dIEy~Ȓ$>Y #z@qXusFR>V*%ftB$Hnc|P6:U dHy 4) mֿMiOۭ*6:7  }_A*dMB0CW}P 3FW}P r#Sf﫦r0Zs/JũsA*2ﻏ!zMMTgV)Χ~=TV'd4M|PUij:3éi_> sbӯJŵ},|}3?V FI?04LI it>޷Yv *lJnU9k},|gn֪p*U4V)ٔݪrǢGfU d,ɼmI@5`$1ZuBU4<жsFR>V*%m%1M6FHcGXuPvȼmbc`߸ჺUTV#N4j$}AH(4MN0Z`;5m{iU-)7cXܧrVekms}Y Mc&C B6B_?V*F$XHc<rv*Ƅ2&Y   $&F֢iV.XxwO} o\et|Ao|b@m?b9ى+d\ES 9]SD>ϝ.<[&N]hnpqϿyu1172:xFL{f1ȫ3pq3>˴g>fyux*g f3H~3遼:x*g\ɴg>fyux g#OeUVѸەTiA1Ǫ>[eJHNv/pu*![%nmw[ *P wK'4MH\/ЏO5&NSQ[ s} M#ͿAEwK%c_[j~}?s&q3Йҩ-]d4 aD[:3U>N'u5SQ[D}ci65Q}Tv;u}#q=ӞA ibhxkuq @rix} BBM$}߸ ǧc,6}i&_46>ܸq#Tѐ4A*kT68$q3"_PECΦ46HꄌUptTf>UFAA 0 Qq[dF w0ZsPh'T0'N ?V*N*Ƅ2&>YMi1XtƩnU9Bq?S4Jŭ)v[4q1VXy$F'-mSl<ݪrWY aGS'NgSOQ*nMilTMC8EBkۙ@#ҀǿyCX 5~acW~2o@ [4f:_}>MoI5}x>f*}1a>UFLw1R[e>VC*uR*#ynWR1&PYE6qԭJ%X8]hM >V蠣+Bx?o} *ZiV-$nlR9>^e8NeB(]$X]ǻa]w41ئ&q@ cU K%1*%I}̿ d $>_$>_DϽ<_{"/"}Lvᑜ%vt8gS{L{cWb54ˆpxވq NXթ }ه#bOlJcchVp6?%1*%d@@d@H'ɼU_4M7[%$UH @I2c`M 8c`U6B1*%$>V}41.@~:W,H2c`M c`U6B1*%uI} ib\X}|[H0_4Mk@~'Щoai~4c*PYxJSXWao-c]$2ܾ4* :N%>mC IGC /[tXnk1&׀ǿhk]<:>^e8 m|uB[Go).q񞞁pG\'d.qP~}?s&q3Nȩ%_Hb2hU4!ӞAXC#>5~H"CEϿW,I2c` >Ve#)t~Y"d#2ހ>Ve#)t~Ƃ9lgUFψ_PQWNUV'w)z+M]$BW<#=q!Nxkhd'6"ww!NҜC676~ ncxUfxW:k Nkhl\SA%, ûЁ[HVac`72:xf_NqPohx$kSiAX &0HcK~>)r_eNchKG i@#yMBQh\\cR4) i@H]qqϿUٕ,MBl<#} ʮ`o~q9J2Wتϑ>VeW 7l|1  * |>>ug`W2I?N;u}-]z;5ml-wFk4M`Ļ@Gvx~2V?(ix?t2j !*<:(X᫫I}\AE^1xdQ#WHcKݸ@F K')}RkXK*bD1TTHc w*h}U7}N>GxB5I?~AE#9}|>^x{yXǑ.x!}5#/xi7:ClÑ.saU4q0NaU4hB5 9ESXcn9+X'qOOS*NњHjPThg-ˆ rPn<@2e%, ( x( *P..Tt.Aibϑ>4vʂjiPT$}i#}ib$}i#ͿZ}\oggαg3ZfigÕ=OO?-S|[{lsYcl MzrӒ?Ai^g9U>z>j* NwFkn#S98T_PQbH}@s}#_ǫ }=/%J6["FĿq$fqS݇њe!~AEwDGa E]M`Ĵ@鄢&C /[tYGZC>STFp<rQ[rt8Eӏv < n7wq@NEmn% cN(vzB9u:QKWY 漂t۟am}?V*C O1έlTqnWR *Qq qRDnafQ z3_PQbhKbiJ72VTT6TN(p <]RU*GhE 44i։ҩn79|_J/A1XE7ONS1遼:txϠ3Mަ ŐGKJbŐ"bz?tjCXߘ4QmW.I^>NEm)s}aD8l-rP*ͿW7^}2}NI>.Ex^:r/\\c`w7~X qA$}z *H~ߩhm:!quBB@jKFxxg|fvN^tB>G;u.NG XEc5#Rx$FX>>V*^a0% NJ􏕊S 8M'cUo 9;ŴߘMHV'iU5V*}<ݦKrTECѫhauÿai-H( 8@YPsI~GX>,E#;`;Èh:J*TFLAE>ޕtUԠى鼜@֩h`}mhN8l-rP*ͿWN *no2}NIoWAF6޽<O^"ePq *!i`u:qA_PZuVGUK~xwΰ:miVnjNI+*-#B1ZXGc>uI1w)^<<...1J BVBOǧ;u}]ZE)3쑂U9])Wܥ)ҹQ>Sqew! $^!ȩs%  YILX $:a i t>Rw]v]ZE?Wv7V*.i}ʯ:#֎ bX̜EZb#{Zeg|@O1xʈ+t8;qnQP}hħ%"BqwhԠnA>VvKe<&ebSqb7H rm2J?6VQ0cS#22qR{YvsYk?RpsK3Zfi'#CgqVY dd}sWjpnOF7qsn'#C*e[zXQMqΥϾEEOՀbʴ-r^`?׷72m˳ϾոǕi[66dX[ (baDRpZOF7^>7޷<[GY)\o Y9{â)+=XWvW)VT{O38W\OV4+=*}wc?XeΥ`ߜ-*r9@)V5O˵Je,sqYk?-W3yE9-7)}=grcY>ƞɳ,bgi\OrSBZSl2GVmR Jyv c<˳\ rR{YeM!>[p 9@>n;bΥ5Plo5|\c`UZb#;5mVuR{Y|<[>Ng̹ǢG>ov:+Ŝ5g޷\oj`}ʜKTˢ}}x*>E"q}b|Vo\hzHX{X<`ckMZ>޳u[75\]} l3R-m%?-7f`}R}cy/ղhxj>ek̹şo Yq-A"c`6{x/[߸Ve>M9w{s}dzuof-Z6}KZE̹T85moY4>8̵͔9gr-)vh}c 7g`8zPZXc- `Ve>M>~,\o,dgr-6S=Kǹi^pYk?-K>Sz l>b s6 XkZq֚6OҿŔ}3[c1 hfmR97g`8jg}#L}s_ 3"3}US9Tw4B{l*l;u}ٕ?6VQXE 4b7#x$gW ofx3x97g`Ծe},:>b =o\o\?Z\T^-XL17u}<Z:\o Ӫ5~|@K>Sz lpO{ `Υƕ al MV,[cofX9,*fYD Ma`U~57g`G~{l*l;u}ٕ?6VQXE 4b7#x$gW a negative or positive number if s is lexicographically less than or greater than t. */ strcmp(s, t) char s[], t[]; { int i; i = 0; while (s[i] == t[i]) if (s[i++] == '\0') return(0); return(s[i] - t[i]); } /* Overlay() either overlap+Xl pGk1*ݮcc5U@ͿZ}1 `ߜ-*,5Plo5zk̹\{E@pJ1R}cok ˲}1 gi\}}=g9-cc`ook }1L r GִZeM!vϳsΧ^kzys the specified RAM address with the contents of the name file, or writes a block of RAM to a new file, prompting for the filename. No testing for overflow of available RAM is performed. Overlay() performs a similar function to the C/80 library   functions read() and write(), but works with specified lengths rather than blocks of 128 characters. */ overlay(filename, address, length, mode) char *filename, *address, *mode; int length; { int i, chan; chan = fopen(filename, mode); %Y/ +ѦJwOÑaRb9-Oڜcgi=XG7ө<8%cgi=X^bHtU}6gćOg/H9{;iMS|0]3v(w OrV{mmDBsFHH㍧gz]z~$[oKklɒ\X([ołOȃNO1!!FwxW=* if (chan == 0) { printf("Bad filename; press any key to go on."); inkey(); return; } else if (mode == "rb" || mode == "RB") for (i = 0; i < length; i++) { *(address + i) = getc(chan); } else if (mode == "wb" || mode == "WB") fo`gjt6Ѧ9@rߪH؅bou"z LH': NrRY+|NZX'>%!%92>zքz LH':'։hO9,>'\FZ7ND;}KBJsepoܚPo K8D?/bo >R[K_%43џE vX%_ڈtxAsUI&ovoTSUBSET.CT ! #"$%&('*)-+,./0124375869;:<=>@?ABoCED6U{v6λ*џO_L݆ko'8P쭷A078@ 0KmQoЮ&򶺷s ׇ r(T9ׇu9,VvN5i#s(ծm`9[9|^WU^9PyۡFW|,V{;Pyۡ $Пr(TY+Tr(R{; BR(ՠJ9{; 9GIFKHLJONPQMRSłZQ y41K19&U jlQ@qz^1e9zqԁ{ר ^ogeWz;kWqJu`AC_9Xb=xZ+RjiA\S̟7nx(a˵pIH 廜T MXX*/,)KeR9\V*uo,;3Ulayܱ*ӽZs1GDs݀3:jDS[ZQ lvN5i#s(ծm`9[9|^WU^9PyۡFW|,V{;Pyۡ $Пr(TY+Tr(R{; BR(ՠJ9{; 9[xgN{;Ҵ9WU?+U}+4MӆSkx(v䙾1KOGOT+WW%ܱ*ӽZs1GDs݀3:jDS[ZQ l@hUIi?pGQ U4{;ZN땿KE7o6g42iA\n_ƋDS;@UZQ ؽvb7X4[6L*JH|8.7^YZ RETHL1 CPI 24 ;RETURN LOGIN VECTOR ? JZ RETHL1 CPI 27 ;GET ALLOCATION ADDRESS ? JZ RETHL1 CPI 29 ;GET READ/ONLY VECTOR ? JZ RETHL1 CPI 31 ;GET DISK PARAMETER ADDRESS ? JZ RETHL1 JMP BDOSRET RETHL1: XCHG BDOSRET: RET ;WITH RETUR   HOSTCM.BAS is an Osborne specific terminal interface program to the HOSTCM mainframe comms program distributed by WATSOFT, Inc. It is a little crude, but will allow error free uploading (the only thing I needed) of a file to an IBM mainframe runill of course be displayed on the screen. Press the "/" key to abort a file xfer. The > prompt is displayed when the program looks for this signal, but just hold the key down until you get the } prompt back (less than five seconds). For further inning VM/CMS. After establishing comms with the mainframe, and booting HOSTCM on it, load up BASIC on your OZZY (make sure disk is SETUP for your modem's proper baud rate) and run HOSTCM.BAS. Everything you type will be sent to the mainframe, with thformation, check with your mainframe system manager, or WATSOFT. You'll need a list of the valid HOSTCM commands at least. Enjoy! Bob Scott Silicon Valley Chapter FOG July 1983 (edited by Jim Woolley) e needed checksum and line end chracter appended. It will also be echoed to your screen in half-intensity. TYPE "BYE" to halt the program, and type "FILESEND" to send a file, all other input typed at the } prompt will be sent to the mainframe. Note that replies from the IBM will take a few seconds to be processed by the program. It uses a novel scanning method to get the host response. This is needed since the program talks to the modem by switching the console to the serial port. If it diSUPERSET and SUBSET were written out of frustration with the limitations of the Osborne SETUP utility. The present versions are not a complete replacement for SETUP, but offer the following enhanced features: 1) Sets of special function key definitiodn't timeout, a missed host response would lock the keyboard. The program will retransmit a record if negative acknowledged by the host, and will beep the bell if an error or text message is sent by the host during a file transfer. The message wns (including arrow keys) may be saved as CP/M files, which occupy 1K on double density and 2K on single density. You can save as many of these files on a disk as you have room for, and you can easily change the set of definitions in use. 2) SU  PERSET also allows display and alteration of the command issued on cold boot, warm boot or both. When function key definitions are saved as a file, the boot command is also saved. 3) The command SUPERSET alone displays key settings and allows mthe header section, as explained in the .C file. The density version of .COM files supplied is indicated by a 1 or 2 in the name. Users with a BIOS that does not start at E500 or E100 will have to make the required adjustments to the macro table enu driven alterations, but command line arguments can also be used for abbreviated operations. SUPERSET FILENAME will load key definitions from the named file. (I.e., you can set SFK ^9 to "SUPERSET KEYDEFS2.KEY^M" so that hitting key ^9 will rain the header section and recompile the .c file. Be careful with the function syswrit(), which writes edited definitions to the system tracks of a diskette, and could trash your system tracks if the addresses are wrong. 6) SUBSET.COM is smallepidly load an alternate definition set.) SUPERSET KEY K will allow editing of key K only with immediate exit. SUPERSET BOOT will allow changing the boot command only. 4) SUPERSET and SUBSET are written in Software Toolworks C/80. I have not checr than SUPERSET.COM (3k versus 7k) and includes only the ability to load files of key definitions created by SUPERSET. It may be included on disks where you want to use multiple predefined key sets, but don't have enough space for SUPERSET. SUked whether they are compatible with the version of small C in the FOG library (probably not). Those with some knowledge of C should have little trouble in making their own modifications to the source code, which is included. A .ASM file for eachPERSET and SUBSET are copyrighted, but may be used, copied and distributed freely for noncommercial purposes. These programs may not be sold or distributed in connection with any kind of charge except by the express written permission of the author. program is also supplied, but note that these files require the C/80 AS assembler and will NOT assemble as is with the CP/M ASM.COM. 5) SUPERSET and SUBSET can easily be configured for single or double density by #defining the word SD or DD in  Permission has been granted to FOG (First Osborne Group) to distribute SUPERSET and SUBSET on FOG library disks free or for the usual copy charge to members who cannot obtain it from a local group.   file.$èw*6 )! 9!"6ɜ*:B<*C 2B ́F  €> _*C~+#4N s> > !+:EºF2B_~ý   > G ʘG!* ͟> !+}  > _con:rdr:pun:lst: ==_~O7 !"# !  #¾i& ~º!h~#~#F6%pw6237!9Ly=S>wD<!gs 6#6 ~+|s#r{{ ڟ!+#^{!!Pw#w!g~<6 !|~r!N!nL}*eyb>w#%!=)${=Sbtx h&{ !~!nN#F{p+pH#x¯ ڽ+!9~ !~b!5> 6> *e w`i#Q᯾*+%"H%"F%"D " " "y 6"C+6+!^6 F+N+<!* !!9~#ʗ RO"k'k +}|+#~ʂu6#~#<ʷ>!4R6#6*! * |ʴ!ͯ"r! ͯ" R Can't open > or < %,!$|!!9n&:ʟɯ2>[!9L):|!PwL#4!^w>2>2-:Ecx:-O”! DMi:- !Write error - Disk full $`i7.!9~=+SV+^+F+N "I> w+   w w##w w #~+:&~##K@~#.7K&*I++Kw#=a O! ~_#V!$r+sbk#|}o|g}o|g}o|g|!,|}!­­,ɯ|ʙ!|}!-z{!,zz{!-|!|g| *+"#* >" !"** / * ͓S ͵ *|H !- * ͂ *ͯm * !(Ñ *ͯʇ * ! ͏Ñ * !( *ͯʱ * ! ͏ü *+* ͉͂ " * * !9Lh !9L##L!?ͯ !}! -ɵz{!-||g}o).{ozg+|/g}/o~og~#fos#rN#F#xr~#~#[[`iDM!z>‚S\))Ҋ =‚ɯßz>|>MD!x<³z>ڸjS\>))#  =¸>>>!9"*++"Lt 9LLF" * ͨh !9L##L!CͯH yͨ͟h !9L##L!k!!HuV!|E" * * ??y?͟?ͨ!!x!!R!!R!!R!K?Y 0 1 2 !9* ! *++"LL *++"L}2:G*++"L͆ *++"L"**++"L͟ !!9L͆ !9F}2!9L"ͻ !9L"!!9L͆ *F͓ *F͓͓ *#"+F û :G; !9F3 4 5 6 7 8 9 U R D L F B S Xä Vk " " *T*R*P*N!!i!k"P!"T*P ré*P##"P++*T#"T+Å*T !*T-*T|!-*T|!-*TK *#"+!9F}*6K !9F:G͟K K Y  ! *#"+F|] !"*F0~ *F9͓ʥ * s*#"+F"c ! }2! ""!"*#"+Fa !"!9L ~ !0}2!"!9L ~ !0}2|!-*T|-!*PL"N*P##L*N dV*N#"N+6*NF͐K!Ô!!x!!R!!R!!R!!!"N"P"R"T;****!"!9L ~ !9L ~ !9LF|S !9L#Q+F *+"% ! ͵ ~ ~ Y d u o x c% sͻ !9L ʠ !9L0ï !9LA *+" :G õ * !9L" *+"#*| * .|g|***!k"!9Lk!9L)*"è*"è*"è*"è*"èèY01234567894UARND[L*##"*L*L4"!"!9*LQ!!9L4*"!!x!  !R!!R!!R!G*!s!9L!9F*1"**4"*L*L**L!9L4!9F*L***##"++L*Qô"""""""3!9!! 9L*q*s}Å!!9L͛>!!9L͓͛ʅ!"q!9L*qʅi*q#"q+J! 9L*qF*s͟^*së!9L !!)!^!9L@!!(!9L!9L*!!x!!R!!R!!R!y!9!ͭ!9!k!!u!9*w*u*s*q!"q!"s!"u!!x!!R!!R!!R!!"w*sF+*w "*ͯ "*"*/*-*+!"/"-"+!9L+Q{"-͓x*+͓͓͓ʤ*/#"/+! 9L*-"+}͐I*-|·*/+"/*/"+"-"/*!9L! 9L4,!9L+Q)!*w#"w+*u*wF!*s! 9!ͭ#}! 9*u*sF!!9}*q! 9F}"q"s"u"w******!"*F"!!x!!R!!R!!R9L!9L! 9L!9LF}s!"!9L*sQ*#"+2!9L*! 9L*F}F"!!=!9L !9L **!"!9L+Q9"͓͓*#"+!9L*}û!!! 9!ͭ! 9Fæ!"ö!"ö!!x!!R!!R!!R!H""""""öY,A5B>!*͖!"!"*a*#"+!"*^ *9L*6*""*!"!9L*F!9L*F͛q*#"+!9LF|n!"&!9L*F!9L*F4gogy "!)*+++!*ogy #"+! *!! *!! *!!!!*"!*͖É*s*q! 9L!9Lͯ"s*s|·!p"q"sÅ!H!9L͛!!9L͓͛!"q!9L*q*q#"q+!9La!!9Lz͓6!9LQ!9LKEYBOOTrbKey not definable; try again.SUPERSET v 1.0 (c) 10/1/83 by David B. Ring %2d: U: R: D: L: Type 0-9, U, R, D, L to change key definition, B to change boot, F to   save key defs as file, S to save changes to system tracks, X to exit.%d character spaces available for this key %c: Disk:filename.typ for saving keys: wbCurrent boot sequence is: Command to be issued on boot (<= 7 char): Issue on 1=cold boot, 2=warm, 3=both, 0=neither: Drive on which to save current settings: Invalid drive ; press any key to go on.Bad filename; press any key to go on.RBWB*+%"H%"F%"D " " "y 6"C+6+!^6 F+N+<!* !!9~#ʗ RO"k'k +}|+#~ʂu6#~#<ʷ>!4R6#6*! * |ʴ!ͯ"r! ͯ" R Can't open > or < file.$èw*6 )! 9!"6ɜ*:B<*C 2B ́F  €> _*C~+#4N s> > !+:EºF2B_~ý   > G ʘG!* ͟> !+}  > _con:rdr:pun:lst: ==_~O7 !"# !  #¾i& ~º!h~#~#F6%pw6237!9Ly=S>wD<!gs 6#6 ~+|s#r{{ ڟ!+#^{!!Pw#w!g~<6 !|~r!N!nL}*eyb>w#%!=)${=S!  btx h&{ !~!nN#F{p+pH#x¯ ڽ+!9~ !~b!5> 6> *e w`i#Q᯾K *#"+!9F}*6K !9F:G͟K K Y  ! *#"+F|] !"*F0~ *F9͓ʥ * s*#"+F"c ! }2! ""!"*#"+Fa !"!9L ~ !0}2!"!9L ~ !0}2%,!$|!!9n&:ʟɯ2>[!9L):|!PwL#4!^w>2>2-:Ecx:-O”! DMi:- !Write error - Disk full $`i7.!9~=+SV+^+F+N "I> w+ !"!9L ~ !9L ~ !9LF|S !9L#Q+F *+"% ! ͵ ~ ~ Y d u o x c% sͻ !9L ʠ !9L0ï !9LA *+" :G õ * !9L" *+"#*| * .|g|w w##w w #~+:&~##K@~#.7K&*I++Kw#=a O! ~_#V!$r+sbk#|}o|g}o|g}o|g|!,|}!­­,ɯ|ʙ!|}!-z{!,zz{!-|!|g| *+"#* >" !"** / * ͓S ͵ *|H !- * ͂ *ͯm * !(Ñ *ͯʇ * ! ͏Ñ * !( *ͯʱ * ! ͏ü *+* ͉͂ " * * !9Lh !9L##L!?ͯ !}! -ɵz{!-||g}o).{ozg+|/g}/o~og~#fos#rN#F#xr~#~#[[`iDM!z>‚S\))Ҋ =‚ɯßz>|>MD!x<³z>ڸjS\>))#  =¸>>>!9"*++"Lt 9LLF" * ͨh !9L##L!CͯH yͨ͟h !9L##L!k!!HuV!|E" * * ??y?͟?ͨ!!x!!R!!R!!R!K?Y 0 1 2 !9* ! *++"LL *++"L}2:G*++"L͆ *++"L"**++"L͟ !!9L͆ !9F}2!9L"ͻ !9L"!!9L͆ *F͓ *F͓͓ *#"+F û :G; !9F3 4 5 6 7 8 9 U R D L F B S Xä Vk " " *T*R*P*N!!i!k"P!"T*P ré*P##"P++*T#"T+Å*T !*T-*T|!-*T|!-*T"  |!-*T|-!*PL"N*P##L*N dV*N#"N+6*NF͐K!Ô!!x!!R!!R!!R!!!"N"P"R"T;****!! 9!ͭ! 9Fæ!"ö!"ö!!x!!R!!R!!R!H""""""öY,A5B>!*͖!"!"*a*#"+!"*^ ****!k"!9Lk!9L)*"è*"è*"è*"è*"èèY01234567894UARND[L*##"*L*L4"!"!9*LQ!!9L4*"!!x!#"+! *!! *!! *!!!!*"!*͖É*s*q! 9L!9Lͯ"s*s|·!p"q"sÅ!H!9L͛!!9L͓͛!"q!9L*q*q#"q+!R!!R!!R!G*!s!9L!9F*1"**4"*L*L**L!9L4!9F*L***##"++L*Qô"""""""3!9!! 9L*q*s}Å!!9L͛>!!9L͓͛ʅ!"q!9L*qʅi*q#"q+J! 9L*qF*s͟^*së!9L !!)!^!9L@!!(!9L!9L*!!x!!R!!R!!R!y!9!ͭ!9!k!!u!9*w*u*s*q!"q!"s!"u!!x!!R!!R!!R!!"w*sF+*w "*ͯ "*"*/*-*+!"/"-"+!9L+Q{"-͓x*+͓͓͓ʤ*/#"/+! 9L*-"+}͐I*-|·*/+"/*/"+"-"/*!9L! 9L4,!9L+Q)!*w#"w+*u*wF!*s! 9!ͭ#}! 9*u*sF!!9}*q! 9F}"q"s"u"w******!"*F"!!x!!R!!R!!R9L!9L! 9L!9LF}s!"!9L*sQ*#"+2!9L*! 9L*F}F"!!=!9L !9L **!"!9L+Q9"͓͓*#"+!9L*}û!#  9L*6*""*!"!9L*F!9L*F͛q*#"+!9LF|n!"&!9L*F!9L*F4gogy "!)*+++!*ogy !9La!!9Lz͓6!9LQ!9LKEYBOOTrbKey not definable; try again.SUPERSET v 1.0 (c) 10/1/83 by David B. Ring %2d: U: R: D: L: Type 0-9, U, R, D, L to change key definition, B to change boot, F to save key defs as file, S to save changes to system tracks, X to exit.%d character spaces available for this key %c: Disk:filename.typ for saving keys: wbCurrent boot sequence is: Command to be issued on boot (<= 7 char): Issue on 1=cold boot, 2=warm, 3=both, 0=neither: Drive on which to save current settings: Invalid drive ; press any key to go on.Bad filename; press any key to go on.RBWB DISK.DOC FOG/UTL.032 First Osborne Group (FOG) Utilities Disk The program / (pronounced slash or slant) permits entry of several CP/M commands on one line. This program was received from the Denver Osborne Group (DOG). To use, place /.COM in drive A. At the A> prompt, type / 1st command; 2nd command; ... ; last command where each command is separated from the next by a semicolon. After pressing , each command will be exe$  cuted in turn as if the CP/M utility SUBMIT were being used. Refer to /.DOC. Also, see EX12 on FOG/UTL.015. DELBR, submitted by Eric Pearson, will unpack the files from a LBR file created by the Library Utility LU found on FOG/UTL.017. Place r printer is turned on, then enter a selection from the menu; option 7 aborts the program. Since I do not have the necessary equipment, I have not been able to verify that HOSTCM and ML92SET function as described. SUPERSET will display and peDELBR.COM in drive A. At the A> prompt, type DELBR d:filename where d: is an optional drive designation and filename is the name of an LBR file to be unpacked. The individual files contained within filname.LBR will be extracted and placed rmit modification of the special function and arrow keys for the Osborne 1. The configuration of these keys may be saved in a file. SUBSET (as well as SUPERSET) will permit key values to be reset from a previously created key configuration fileon the default drive (A). HOSTCM, submitted by Bob Scott, is an Osborne 1 smart terminal interface to the HOSTCM mainframe communication program distributed by WATSOFT, Inc. Scott uses this program to upload files to an IBM running VM/CMS. T. SUPERSET will also permit redefinition of the program (nominally AUTOST) automatically run at boot time (cold, warm, or both). SUPERSET.CQ and SUBSET.CQ are squeezed source code files written in Software Toolworks C/80. SUPRSET1.COM and SUBhis is an MBASIC program. Place HOSTCM.BAS in drive A and MBASIC.COM in drive B. At the A> prompt, type B:MBASIC HOSTCM See HOSTCM.DOC for further information. Bob Scott also submitted ML92SET, a menu driven program for setting special chSET1.COM are the executable command files configured for single-density. SUPRSET2.COM and SUBSET2.COM are the executable command files configured for double-density. Refer to SUPERSET.DOC for examples of use. These programs were submitted by Daracter styles on an Okidata Microline 92 printer. (This program may also be compatible with certain other Okidata Microline models, such as 82, 83, 84, and 93.) Place ML92SET.COM in drive A. At the A> prompt, type ML92SET Make sure youave Ring. X, submitted by Dal Allan, is a smaller (2K) version of XDIR. Place X.COM in drive A. At the A> prompt, type X filespec where filespec is optional and may contain a drive specifier and/or a filename with/without wildcards. Al%  so, see D on FOG/UTL.003 and 019, DIRR on FOG/UTL.015, and SUPERDIR on FOG/UTL.005. Squeezed assembly language AQM and C source CQ files may be unsqueezed using utilities found on FOG/UTL.003, 004, 014, and 031. Jim Woolley TCM .BAS CRC = 5C 39 --> FILE: HOSTCM .DOC CRC = F3 80 --> FILE: ML92SET .COM CRC = 42 EE --> FILE: SUBSET .CQ CRC = 46 90 --> FILE: SUBSET1 .COM CRC = 77 C8 --> FILE: SUBSET2 .COM CRC = F7 AD --> FILE: SUPERSET.CQ CRC = FOG Disk Librarian November 1983 urce CQ files may be unsqueezed using utilities found on FOG/UTL.003, 004, 014, and 031. Jim Woolley  B1 59 --> FILE: SUPERSET.DOC CRC = 07 89 --> FILE: SUPRSET1.COM CRC = 25 E7 --> FILE: SUPRSET2.COM CRC = 24 07 --> FILE: X .AQM CRC = 23 12 --> FILE: X .COM CRC = 6C BA ---------------------> SUM OF CRCS = 07 7C n WSPATCH2.DOC on FOG/APP.018. This will also give you smooth-scrolling and memory mapped video. I selected help level 2, insert off, and right margin at 65 as the boot parameters. ML92SET.COM Will allow you to menu select several modes of operning method to get the host response. This is needed since the program talks to the modem by switching the console to the serial port. If it didn't timeout, a missed host response would lock the keyboard. The program will retransmit a record if nation for a Okidata ML 92 printer. The program presents a menu for the operator to select an individual option. Option 7 aborts the program. HOSTCM.BAS Is an Osborne specific terminal interface program to the HOSTCM mainframe comms program distegative acknowledged by the host, and will beep the bell if an error or text message is sent by the host during a file transfer. The message will of course be displayed on the screen. Press the "/" key to abort a file xfer. The > prompt is display --> FILE: -FOG/UTL.032 CRC = 00 00 --> FILE: / .AQM CRC = 03 F6 --> FILE: / .COM CRC = 22 79 --> FILE: / .DOC CRC = C7 AA --> FILE: /UTL#032.DOC CRC = 37 16 --> FILE: DELBR .COM CRC = 07 05 --> FILE: HOSed when the program looks for this signal, but just hold the key down until you get the } prompt back (less than five seconds). For further information, check with your mainframe system manager, or WATSOFT. You'll need a list of the valid HOSTCM c&  ommands at least. Enjoy! Bob Scott Silicon Valley Chapter FOG July 1983). For further information, check with your mainframe system manager, or WATSOFT. You'll need a list of the valid HOSTCM cPEEK (3) 290 J=(J AND 252) OR 1 300 POKE 3,J 310 RETURN 320 J=PEEK (3) 330 J=(J AND 252) OR 0 340 POKE 3,J 350 RETURN 360 REM FILE SEND 370 INPUT "FILE " ;FI$ 380 OPEN "I",1,FI$ 390 IF EOF(1) THEN 530 400 LINE INPUT #1,DT$ 410 IN$="P0Z"+DT$ 420 GOSUB 170 430 GOSUB 270 440 LPRINT DM$;IN$;BT$:PRINT IN$; 450 GOSUB 560 460 LPRINT SY$ 470 K=INSTR(SY$,"x") 480 IF K<>0 AND K<3 THEN LPRINT CHR$(7) 490 K=INSTR(SY$,"N") 500 IF K<>0 AND K<3 THEN GOTO 440 510 GOSUB 630 520 GOTO 390 530 GOSUB 10 REM EL CHEAPO HOSTCM SUPPORT PACKAGE (Bob Scott July 83) 20 REM OPERATOR MUST TYPE ALL INPUT, S/W FORMS CHECKSUM 30 WIDTH 255:BT$=CHR$(27)+CHR$(40):DM$=CHR$(27)+CHR$(41):POKE 3,0 40 LINE INPUT "}" , IN$ 50 IF IN$="BYE" THEN STOP 60 IF IN$="FILESEN320 540 PRINT " *** DONE ***";CHR$(7):CLOSE 550 GOTO 40 560 SY$="" 570 FOR I=1 TO 200 580 TT$=INKEY$ 590 IF LEN(TT$)=0 THEN GOTO 610 600 IF ASC(TT$)>31 THEN SY$=SY$+TT$ 610 NEXT I 620 RETURN 630 REM QUICK NERVE CHECK 640 GOSUB 320 650 PRINT ">"D" THEN GOTO 360 70 REM FORM CHECKSUM AND TACK IT AND CR TO MSG 80 GOSUB 170 90 REM SWITCH CONSLOE TO MODEM 100 GOSUB 270 110 LPRINT DM$;IN$;BT$:PRINT IN$; 120 GOSUB 560 130 REM BACK TO USER AS CONSOLE 140 GOSUB 320 150 PRINT SY$ 160 GOTO 40 170 660 FOR I=1 TO 5 670 A$=INKEY$ 680 IF A$="/" THEN CLOSE : PRINT CHR$(7): GOTO 40 690 NEXT I 700 GOSUB 270 710 RETURN >"N GOTO 610 600 IF ASC(TT$)>31 THEN SY$=SY$+TT$ 610 NEXT I 620 RETURN 630 REM QUICK NERVE CHECK 640 GOSUB 320 650 PRINT ">" REM CHECKSUM ROUTINW 180 SUM=0 190 FOR I=1 TO LEN(IN$) 200 SUM=SUM+ASC(MID$(IN$,I,1)) 210 NEXT I 220 INDEX=(SUM MOD 16)+1 230 C$=MID$("ABCDEFGHIJKLMNOP",INDEX,1) 240 IN$=IN$+C$ 250 IN$=IN$+CHR$(13) 260 RETURN 270 REM CONSOLE TO MODEM 280 J='   HOSTCM.BAS is an Osborne specific terminal interface program to the HOSTCM mainframe comms program distributed by WATSOFT, Inc. It is a little crude, but will allow error free uploading (the only thing I needed) of a file to an IBM mainframe runill of course be displayed on the screen. Press the "/" key to abort a file xfer. The > prompt is displayed when the program looks for this signal, but just hold the key down until you get the } prompt back (less than five seconds). For further inning VM/CMS. After establishing comms with the mainframe, and booting HOSTCM on it, load up BASIC on your OZZY (make sure disk is SETUP for your modem's proper baud rate) and run HOSTCM.BAS. Everything you type will be sent to the mainframe, with thformation, check with your mainframe system manager, or WATSOFT. You'll need a list of the valid HOSTCM commands at least. Enjoy! Bob Scott Silicon Valley Chapter FOG July 1983 (edited by Jim Woolley) e needed checksum and line end chracter appended. It will also be echoed to your screen in half-intensity. TYPE "BYE" to halt the program, and type "FILESEND" to send a file, all other input typed at the } prompt will be sent to the mainframe. Note that replies from the IBM will take a few seconds to be processed by the program. It uses a novel scanning method to get the host response. This is needed since the program talks to the modem by switching the console to the serial port. If it didn't timeout, a missed host response would lock the keyboard. The program will retransmit a record if negative acknowledged by the host, and will beep the bell if an error or text message is sent by the host during a file transfer. The message w