IMD 1.17: 12/03/2010 12:49:24 concurrent cp/m-86 1.0 serial ccp-000-00258 boot disk 1982 =s3ۈ11W&Yq3ҎȎر612à1:1u 1;1t11111 1 1@Ìˎû 11<(rO*sÌȎج tInsufficient memory to load Concurrent CP/M-86 }l ( , 2 ] a b k l m n t z   q~|"y Ȏ؏t r&>tȎм(&_tUWV ^_] &ω 2 S)r 6rÊٷ.XPQ  266>YXQ!Q$YPQ 2>>YX|  ð"   P X 3ۊ. 0123456789ABCDEFð˻ 'QYÊ tP   ډ      t 3 Ë  t߻ o  6 Rȋ6  j Y t `  * Ëـ> tًȵ Ë Ê   " ؉ Ë ú ڊ " <u2 ڠ ù 2CQY á $Ë   B  ڊs t * Ë Ë ;rBR+ӋZñ  sQO  Yt :t s_È3  ~ûC:uûË Cds䠦$QY u QYLQZuR> tQSQCS t ;r[CYҋ Cˋ C  E beMt;?t:u C,$uȢrѠ Q. ""*$YË   u t u u:uGڋ;u3BCBCu¹هً:rهي 2 \t $t蠶 "" t $tu t 2561  t : rut vZ S[urg _  Gt g ` $Ȣ <s  $À> `u u 3ۉ  N{->t   < u > t K `nnpt[> `uG $u L??t??t' PË p  ÉÀ> t$> `uO t  c> u''''Bdos Err On : $Bad Sector$Select$File R/O$PCCPM SYSLoading Concurrent CP/M-86 No CCPM.SYS file on disk in drive A: Unable to read CCPM.SYS file on drive A: 111 ? ?CCPM S CCPM S !CCPM S"#$%&'()*+,-./01CCPM S23456789:;<=>?@ACCPM SBCDEFGHIJKLMNOPQCCPM S`RSTUVWXYZ[\]HELP P^_`abcdefghijklmHELP Pnopqrstuvwxyz{|}HELP P~HELP P:DATA K$0$ P$1$ P$2$ P$3$ PPggxCOPYRIGHT (C) 1982, DIGITAL RESEARCH  Concurrent CP/M-86 1.0 Copyright (C) 1982, Digital Research $؎м ..x7 n \3ێػ .G&.S_[S_[FtS_ [FtS_[F t_( +ێر G$.B &B&Dձ.hG_hG&. jt*Ou"76jGllt |uޝÝ.h_0>`u.6&4؎м6..`2؎.VWU2]_^ء0.`u 6&4.؋πt+ƠDtF@tV0^OuRZu R&Zh OOO &&&>u.6@&. [>uuu>u uq澒V^û_Gu 까ڀ>uGG3Ü\u  !76\3G؎6hGGG D$*G$.&&D CD MD D&4ucuPK:tF>u?hOt0G u5htGtG uuhGt (>u-GDtODtO@O DtOp>u8G.ÎۋZ.ЋhGR>u >u SQ& Y[(u6/=t=ar=zw%_G\3 3\>t`tX\D&QD&St46CtlD&TD&V>u 6L ֹ>uhgGtgOMGG26|tVttԌЎWX^ۜ\6\hOO&&&>u> uhg|6 6]ZX%hO ȉOGt3g(3=tP-+^ò  &6b>h9t htúA .thWAb:]&7 G&6b>h9h9^>u &.G#$.hGGtȢGtU+.>u>DDDD>uV:thGGG^$?uDGD T ЋGGDG=uGDD=t뽀? uD?uD<t#SRQV^DYZ[t v ⳻t-?u(GD;TvDGD;TvDȃ>tDDVֹj^Du3QAtQSww=YY[YݻY?uG)D;Gu ?u9D=t$Q+ɋъYt@W+W;vG)DG⽾| tQ4V^Yt=|t"|t ! +-󫠪&|tG\ uQTRRJ&YZQ Yut&&WY&G⮀>u&P>uG+ǹ.)GGGȠGG&&&R&T&V=u!&P=t&T&4V+Ҡ<t&VVZ\J ^+QS[YËޡO ;r7+ȃs0+;W vW $±3)W W  u+G u s3SG $.T[ uËG %tS+ҋG _ SX[ u3G )G ~&&SPr&Q&SD!! ZY&v XXÊX[+&QPS[XY6hDt(ÀtÃu3&.ڋ7_+uF<:u),Ar5<}1Fu<.t <:t<;tN]ou tͻ<.u] FMugt<;u &]F0*͈MuCtz6u <t< u+ZRt<*u ?CuCFuñWt .8tG< w_[T < t< tF++ɪ  &.P+PPttt4tW@PHPPԋЎعVW_^u9].G t(V^u&.&0ˌ&0à Ð4COPYRIGHT (C) 1982, DIGITAL RESEARCH ..G.8VO<O@ G..&P G..&P l'+  @&4 F 2..þ\(áh؉Wnh&\.D3ۋhG&3ۋ3ۋhW3ۋ&0h3Oڋ7tlƣlDjÿp];tDED%=t \6\Ãu+OËRVh\gD$:rD$dt*|u$=tWuVSЎ[^X_&.TЉTŽپ+9PuP9RuR9VuV9TuTڋ8 󥾀XV4`R2TLN.>hE&bb&dd&>&PEE^rT6rl6lZR&.P.;r%;Ds.;sX.+ZЋ+XZ>\u Ë\W&.^L.>~ tf ~ h G&X&2G&aG &L] &h &aG ء ~ &2&LShG[>~ u~ &N É >nu'>lu h؃uG:Gt ء B&&&.~ ء  ã"$£&ǣ(ƣ*ţ,3ێۋ8 󥾀X.hh2\.sssss&V^L D.D j&AuI?t E;w+ȋ<7Lt)M&؃?t 7Th6h6htt3QtЎ؋Թ[Y x6hh=Dh0L ?tE:Dw r !L<7n5t4hG:Ds&WL _5<tWhD^6ltlDhxh= u؋WR38 X"ء$ȡ&С*(, &&&.&>u(&6N~ d|tLzuuucllGO*u@uhG&6((X:JrP»6V+ۋ˝ûtÜ.t4tWV^_u UUUUt>t+ۋ˝Ü&.t4t5WV^_uDthGu^_ &u+ۋù Ü&.&=Et EEt hGuEUu$t7t;u M3ۋ  3PXt&.&\&|Ou@u ÍWhVG~ZʋOuOt!hGGPGX@;Gu3GOT3ɋ3PXt&.&]&uO;Ou@u ÍWhWGZʋOtGG;Gr+GGGOtGT3ۋÌ&.؋ڋwٻtt;u3ù Üt t"Gt;wuS+PԹ<X[؝Ì&.&Gu]R&.P.;rH;DsB.@;s4X.+^+9LtLD9LrDd;r3ɋXZ>^uË^W&._MW*_t ^>^םËD%t^^9ËDdQQPPQԌЎػ`V F^.uFDXXXXXËD`PPQ ԌЎXXXÜ&._tt&*uFG+ҹh~xhWph_t 9GuGGtg_tO6h&.r:lch  GQ+ۋù#&.LdQtq pd;huZ O Z~RWZR.+ 3ZG G&6&&& &x3ɋZZ? N g N ? ? N N Z N hDl5G&>)Eÿj_㲋4t TWT lFÜllÜ3PX3ɝ8g uAÜ3ɿp}t;uAË53Ʌt ;t4AÊJ2>V;t3ɋGtOIéu tuAÁgù󐐐4fCOPYRIGHT (C) 1982, DIGITAL RESEARCH ..G.&Nv+j{"- h; t$SQRnZY[6h6  tL .R > u9 X%u 6hdQS[Y6hDt SQ+ҹY[.(Ë&.T+&.TD+Ë&.T+&.T+Ë&.+\^&.T+Ë&.\3ɋ>h=t9Eu9]v&.T+V+QQRSPюٹXZ[[[^&.D u@>pukEpSR]WWwԹaXX_\>\Z[&. &G &E&EG&EG6 u&u> +ɋÉ6  R&..  _&. D+&;Et ; v%    D Ã=tQ55SԹ vu)u$[XXûv;uP[ ӻZJY[XXY&.&\&uhp4t;u;6ht"Íwދ7t"9Tt$wDD;vRV^Zu+ۋûSVRRtt .XXXZ^[u;Tt+TTtU]Ztv<;uZ tR^Z&.uUuhu6h;to=t^9Uu݉WEGEGEG_+ۊt)9uG\U7t ;Tt5? +ۋ&.& tG;rFG;s?_+ۊƒ:w-?t(u& t";rG;s;t+V^ĻE&LG;w&L;st &D%tV{^G&D&D&G+ۋ.&.&_+ۋ&TA;w*;u&;Tt&LG;r++ɋO7.SQY[uW+щUEOý+ۋ˿A;r+ɋÃ?t=tu0G;t+G}t+ċEGSQ2Y[I+G;t}t SQ;Y[+)E؎&P+ˋ[GGø&<u+N|+ɉOOË+ȺPQ?t SRV.^Z[;sYXPQtYX=t؋+۹&.+?tP&<tM &9 r?M &9 s4&L;r3=tPGG;EXt @Uߋ?u&L ;v+à ;wPH&L s;v+ѱЋX=7 +ɉO@PS[X+E7uLMLMH=t4S^+ɋWOQ+PY LD.+Ë|ttt 4SW_[^G+ۋË?t E;Dw7ÜXt3ɋ76XOOOÜ6XX7Ð4~COPYRIGHT (C) 1982, DIGITAL RESEARCH ..G.˃ 0P_COIO4.R.(ù&6du\3&duJhw$\&6dù&bu'hw 9&6b3&buh؜;t6<t/uZ^.u_>* tuS[  &0 Z&RS6h[X5!DDt S+[É6   Su\ ui6   Ë * X*б É t3  D ]?>uCCڱ( * PXP uE XuP X* Pa tiXPt Xu3 > 6@ @u[2&. > tJ> u5 t G4 <`ul ti   t > uYù ѹhG&6b9u03d u$P  26 6 >  XQ!Q$Y uPQ 2 > > YXð Ë6hD.Qَ Yù$    6hD(û     >) t!t ti ut hS A Y 0 ) t 6hL[QY6  tF< > ډ @ B H N  t  6 ' Ë .   t<t2' tBK J 6% #ڀ & 3Ҋ 6H RU Y .J  * Ë ـ> tًȵ Ë ÊJ  2 "K ؉ & Ë "/CuƱCË !Ë Ë ú  ڊ L " <u2 ڠ ù@ 2C*3  C t `*܈' uLÀ>4 `u u t$u)>3 t"~   tu[u u ; QȻY Ë  Ë  O B< sl tU@ Ë ' Ë% < ;rBR+ӋZñ S sQ D Ytt:tsEuL:tri  w@ k@   NQCCIu [ % ?% ËO % C% 8s% $QY u&QxY рF ڊR$Y QȈYQZuR> tQSQCS t M ;r[CYϋM CPR> u:t t    utˋF C> Q F < t=?t? tpu. ڊG >  Q.L ""*$YpK?u uʈ > t2*J &L :r3Ԁ" Ë    E t6%tD ~ u6% 6} 6' 6 QY uj k uBCm t > u[" % $ uu t 븡}  }    ÞuCC?u > u6% 6 6' 6 ð À> t2  Wp rXtVt p r t  t Mp r" 6t u$qu t IRQsYZ;M sBQRtsZY[Z u̻öt'"$ ĈCBR  Y ub T ?C*"tQu Ë Np  OYt t >uw  W4uup t JxRutkSKK'P>ڋ OX[KK'w*ts,.l âl 8u8 u> tÃ?uàl twl 3 u$u Ȋ/QkY:u:tȈ/x:tl3tهڋ ٱ> t u u:ur`[ڋ;u^BCBCu‹ڹSZڈ:tڟهٞu4 t :r u $ Ë K%  ' û} > t6  7O t u CPS'?C2Cu ;[Xl gn u}SQkY[> uð"u $?t; ~ u t"Jt   2 n KK$ 4 u:s> u~ y  ] : r1u  uuut C>94 t3 t,|^ ? uV 2 &$  5 t]4 @u t؈؉C > uI> uB>@ 3@6     Ê6K "C:u   &K " t :r 4 t.K "ň > u4 t `f$@u@x} Q !ڊ$PC/Հ$C ȆX't ڈR%ZtHڊ*$?u; ڊ:uiu(QtY:s4 u ZRuZ^QR$ZY t[ ~ S7CCR$@ ňz uZ[YQSRt t6YY Y2X^$DY ñu8u.kڊ ڊ'Ȼڊ$?S2CC t'7[SЋ+GrW [Ëں !ډGû PX i i à :6 tO<r3 R[u"s  w Ë X T аr  D  =u  4 < "Ţ5 C":`u"4 b"t"/l   $Ȣ  W  2$uË> ttt C/ uCC Ct t< tڍw Wg 2:uCu+ Sw g * t< tCNu [u'F2ňFuC* P u  YuӃ $ )Q6  ňFC ֋Y*2tS[t $tttuٵu~ٱË u } J } 2K # ܢ7 8 û y {  t0 t5CC6 :utQSBC[YtKK{ sKKy Ü7>{ >y 56RR7ËRuÉy 76R6{  u. t:Ft[Dt &r ZY* *ű  N~u9t9i2 OuJu:  7 꾪 } s y  u S[7 U6 #   > t6 PrŃuX6   QS.6 ͋ R R [  Z ڈ y uu2 tS#tZ2 6 M [ U [YtvX6 >) t%A. ڋ_G 0 Wp [ S: G[$uû t^3ۉ    2 Ȣ6 |h Gj ~ Su ?[>4 `u Bj  ~ &$ t  #4 u> ty4 ` $t[4 <`t u* u"sCsp  G $u4 J8 t$PY$ttQ:Yt @u*5 Pp s sp kt>Ru mr T=uM1p G:Gu$u{ y /uGS[up @ty  # j tu$@utu%p CSu [~ $u($ uN "> u~p uO}u<$@u5O u,GS[ 4 up $@u4 t $@t$ tNtm #  ! 2 ??ur??t`VSu# ! t46 >@  @#  !    : Hp k E ~ Utp $us As .j >~ t  t >Ruj "Gutj uk t{$t $tjovu^ tTuR$tH Kupk u, p @t6g $uPXg/j p $@4 >~ t /7 ðȢ >) u*ɻ ً} +Ëh_+&+ۋÌ _F =   +4 ON B  Ë6hu\+ÀT+ۋQR  P #XP #X #6  bu6 7 9 2 u tPX[,[ r+*s% 6 Pr uX6 PS6 [X uw x  u x N6 Pr uX6 >w uPS6 %[X Ctv v ts &3ɋ3ɻ&6F 3ɬ tsAKuM C+يJ 22W e~&+ɋÌ &&0&+ñA    u Mudf3 >> N$tg r/.g {Gu Z& fu uq $ut~&u N$uT$ug ~ UÉ  ~< ߱  2 S&ߐPPvvQQPB? @**?**A**C**E*ʻ=*ٜÈ*:*tV:*wQ***Yu4S6**8I*u*L*g1r㋇+[G û+*É*ø*:*vA*uI**É*Ëمtڊø*8*tt:*vh/>**ÊѸ*8*t\:*vRPێÿh/6*X+Ƈ**Yu :J*u*#>*+6*+á*ȡ*ʁ@**:I*u *;J*t0*J**I*O*h/L* *@ø**tO*h/L***I*+**ێùÀt ****à****ÀMu~69*:*.;*<*G*JH*M**I**J*3Ɋ؎h/3ۡJ*<(rO*ÊĪǪêƪt&*"ltH*ftf-3Ɋ&3*,,o-3Ɋ-,,,w'H*Et*u*ZR* Fo+7c2*$t R*uS*uQ*1*H*(*Q*t..8.*.&*.&*Ȏ؎f _^]ZY[XPSQRUVW.&*.*.&*ú'**쨀tBJú؎2*1**쨀tBJ G* ر%O*N*H V*I*&T*u I*T*>H*ftU*(t->(u( (t>(ra a (ua$a>U*tU*u>Q*tV*u  T*>( tP` _^]ZY[.(.&(.(..8.(.(.&(Ȏм(SQRUVW؎`(a aa(<u(t((u<wH&uUG&ށ拜'68:<QñYUÜ]G&:<68U"uF t:H t2Lt*Jt"uy'#uOy''뮀>(t(õ>&R:&BJBZÁ>:&uF& PR!ZXÁ>:&uF&u PR)ZXñ8?&8|Ɉt'8} >&Ɉ>&8|$Ƈo8}>&8|ɈÊP6X86D&t R<&œuutZqƇe?&8|g86D&u<&>&B&+A>&B&+AA>& ƇƇ86D&u|ƀu犇P!X y 뉋s(86D&u<&0A >@&86D&u<&B&+A 86D&u<&>&>& 86D&u<&f>&+A 86D&u<&l}5Ġ>&+Ȋ Ƈ86D&u<&/@:&?&}(>&B&+A>B&>&++Ƈ86D&u<&:?&}&>&B&+@B&>&I+A 86D&u<&KAA>&* $ ኇ$ ƇƇ86D&u:&t BÀ&u( t$w ĈÀÀÀSr[ÀÀ:&<&:&<&(tO(DZQW_Y tË拄'(@tSp([ÜH&>G&t.E&.E&߀.Y&Y&0.D&8.D&uS͵拜'ñB&A<&D&拜'ñB&A<&ؾ"t"6D&2C"l[H&ð:G20GÀ>9&tVW؎&.&.&.&2D&㋟'&3tGD&(.ع3&gt.*& 0&&G G]&&t&+' tA'0tW'uG't&&2 tG u &0q'G$.* 0&&G&2G  t'Ov  t2&I&<&>B&GGȎ؊>&_^QV<&>B&GGW 3Ɋ>&_^Ȭ.8&<t.8&.>8& u.8&H+PConsole=0 Buffer Live Printer=0 ^P=0                   Wrap Caps Num ^S   ABCDM*Dynamic    Buffer LiveBuffer FileSuspend    No Switch                HCDBAIjkYEdJloKLMNbcefpqstvwruxyz:= ) 2 ; M d n !K!}!!5"m""""""## ###$#*#7#"D##D p?PPbsssssssssssssSDIR SDIR STAT *.* STAT VCMODE D VCMODE B DSKMAINT FUNCTION HELP DSKRESET <*68E:;<=>?@ABCDGHIKMOPQRS1234567890-= qwertyuiop[] asdfghjkl;'`\zxcvbnm,./* 789-456+1230.     !@#$%^&*()_+ QWERTYUIOP{} ASDFGHJKL:"~|ZXCVBNM<>? -+**Ffh/*H++++H++,+H++$,,H++H,4,H+9+p,X,+*+ ? ? ?--~-s-y-t-s-s--s-s---s--s---:--s-s-s-s-s-Printer error Printer 0 out of paper not on line Disk error A: Track 00 Sector 00 Side 0 Write Read CRC DMA not found protect no address mark A/R/I/D?Accept,Retry,Ignore,Details?Divide Interrupt from Overflow Interrupt from Unexpected Interrupt from  Press any key to stop processParity error from ! **** MACHINE IS HALTED ! **** ..G. PێÿI2d02 00X.Zt"GG;r.Xˋuىر$*.K.P1.1ñ$<w$:&<&؎Uث;øun.1* .P >+?u(>+.o21.p228u >+.p292øùù󫸮M@@C3BB3&6&6&6&6ȫ&&&& p$N(@8t&c1s1&BJBBBB)aPR qPZ XIOS Version of 8/27/82 Hardware Supported : Diskette(s) : 4 Parallel Printer Port(s) : 0 Serial Printer Port(s) : 0 Main Memory (Kb) : 544 Memory Disk (Kb) : 64 3拜':f<LJf=ƇƇBٺR ZREZy*؎@ؾ tn(=tGG=xtGG=xu tt(=tGG=un( tBBHu .1t( t в °.%2ٺ13ɊȬVQR^ZY^   :BDNXblv !"#$ƅ%Ѕ&څ'()*+ ,- .*/40>1H2R3\4f5p6z789:;<=>ʆ?Ԇ@ކABCDEFG$H.I8JBKLLVM`NjOtP~QRSTUVWćX·Y؇Z[\]^ _`a(b2c<dFePfZgdhnixjklmnopqȈr҈s܈tuvwxyz"{,|6}@~JT^hr|‰̉։&0:DNXblvƊЊڊ  *4>HR\fpzʋԋދ$.8BLV`jt~ČΌ، (2<FPZdnxȍҍ܍",6@JT^hr|Ž̎֎&VFv֐6fƑ&VFv֓6fƔ&VFv֖6fƗ&VFv֙6fƚ&VFv֜6fƝ&VFv֟6fƠ&VFv֢6fƣVrƤ6Rn¥ޥ2Njڦ.Jf֧*Fb~Ҩ &B^zΩ">ZvʪV`jt~īΫث (2<FPZdnxȬҬܬ",6@JT^hr|­̭֭&0:DNXblvƮЮڮ  *4>HR\fpzʯԯޯ$.8BJABORT IABORT CLOCK DIR DSKRESETPIN TMP VOUT ABORT ABORT   Illegal Console, Use 0-253 $ Abort Failed.$COPYRIGHT (C) 1982, DIGITAL RESEARCH UVN]U찆PPPPPPPPP&G P&G PP>uPPo00 u@Pr@Y"s.,0< w ኏00벁>w>0u PZP>tPP v 1,  0PX]UXs8GuQPG>H u> wƇG?uGPu$`Êကt@:t sz1u GA Pq:Pk Pe> wF> u PL$P8Xs ]u sGPN*>uP sP]UltuGr)t>tt@l6rP8[t@Y"s8p+΍8]u+Jrt ֍@l맋l6r릡tlt>>H tt.À?[t'?t"l>Gt)>H u">H? ]øP-X]]UxnQOQ"Orp+x>x[u+JvuOxv@xƍlPQ"PsltS>SuE>Gu9> t ,0 > t,0<s QPQl?]t tuPzQs P]ð]U찆PPPPPPP+PPz|~PPzPz&G P Pz&GPfPz&GPK>u+Jp=r;XlnGLs rXs>H? PP?]DSKRESET@AmmmABORT CLOCK DIR DSKRESETPIN TMP VOUT  DSKRESET#DSKRESET @ @ Use drive letters "A" through "P"$COPYRIGHT (C) 1982, DIGITAL RESEARCH UVN]U Pv]U PP]U%Pv]UPP]U찆PtPPPPPPPprPPv#pPp&G P_l8%uKl6loPP6봠ƀ% t % tP(Ƅ&lƊ%tAs@PPv@Z"Pas@Ppv@Y"Y s%_%A㋇ l]mPIN @A!ABORT CLOCK DIR DSKRESETPIN TMP VOUT + **** PIN ERROR **** : Abort (Y/N) ? Flush Buffered Output (Y/N) ? SYSINIT ERROR **** No Virtual Console 0 ****$COPYRIGHT (C) 1981, DIGITAL RESEARCH 654321 MP/M-86 2.0 10/5/81 UVN]U^VNhG]UFNV (ڎ]UP6P]U^&:Nu@P:V r@Y"sP&P6w]UPPPP$PFP]UFPP]UFPP]UPv P]UPvP]U^&G$<t G"P^&O]U^&GPPk^&GPPQ^G&P]U^&gG"Pm]U|&GFSePP uPP66|S]U|p>||&G :Fu@&O P:Nu@Y |P;v@Y"s|(ġ|;w |~]U|&G%=0u]à|&:G u]66^s]&w-S|&G &G%t&g|&w|SKP6P%P&w&G%=uS4|&G%&G%=u&G &G&gS|P>|&w|&G% t|&G%@t|&G%tPPPC]U젞:t@P>u@Y"sI>uW]$_u]U|&tt&G%@t 6;]|&G%u]|&wB|S|&G% &GS|&w.|&G$<t sPPPsx|&w|&G%tP&G% &G&w|S0|&w|&g&w|S |G$P]|&w>u]U|&tt&G%@t 6]t&G%t]|&w&|Su|&O S|&wPPP>mt&G%t@|&G%u@<t@"P>t@"Y"P>u@Y"P>u@Y"sPP6먀>uH>u<>u0|&wA|&g&wG|S|G$P_PPPW]Ur~p>|PPtvp&GGȴ(&GT6Ps Ps>u >uڀ>u΀>u€>u65]GTmp0 @ABORT CLOCK DIR DSKRESETPIN TMP VOUT h$0$ SUPGTmp1 @ABORT CLOCK DIR DSKRESETPIN TMP VOUT h$0$ SUPGTmp2 @"""ABORT CLOCK DIR DSKRESETPIN TMP VOUT h$0$ SUP"GTmp3 @SSSABORT CLOCK DIR DSKRESETPIN TMP VOUT h$0$ SUPÊ22x@jhata (A7) >t'?;t">u:u_Arw@h7+ۊÉ$buÉ$C>hthFuEh>bt%GuhFw10*hF uDh>bt$GuhFtaus.t.;u.uaLR:k fZqk1d?w u00r)9w$0r9w00R Zֶ‹óÀ r R1Z 0< 59Ȏñ $   ' < O^^&^^mmy(mmmm>$ $?Not Enough Memory$?PD Table Full$?Bad File Spec$?Load Error$?Can't Find Command$?RSP Command Que Full$?CLI Abort$ Invalid User Number, IGNORED $ User Number = $ Invalid Printer Number, IGNORED $ Printer Number = $USER PRINTER Start up command: $SGVOUT0 ABORT CLOCK DIR DSKRESETPIN TMP VOUT ̇VOUTQ HVINQ @hVCMXQ  $$$ **** VOUT ERROR **** , CCB.STATE = H Queue initialization errorGVOUT1 ABORT CLOCK DIR DSKRESETPIN TMP VOUT ̇VOUTQ HVINQ @hVCMXQ  $$$ **** VOUT ERROR **** , CCB.STATE = H Queue initialization errorGVOUT2 FFFABORT CLOCK DIR DSKRESETPIN TMP VOUT ̇VOUTQ HVINQ @hVCMXQ  $$$ **** VOUT ERROR **** , CCB.STATE = H Queue initialization errorFGVOUT3 ABORT CLOCK DIR DSKRESETPIN TMP VOUT ̇VOUTQ HVINQ @hVCMXQ  $$$ **** VOUT ERROR **** , CCB.STATE = H Queue initialization errorCOPYRIGHT (C) 1981, DIGITAL RESEARCH 654321 Concurrent CP/M-86UVN]U^VNhG]UFNV (ڎ]UPv P]UPvP]U^&:NtRQ6}]UF$F< sQ0 PFA, P6I]UPPPFPPP{&G P&GP&GP|&wqPP4]U&GPP]U&GPPp]UPPaPPW<=]U>#PP0;]U=s sB;u>;sP?P;89"PP<t]>@P&GX1]U>s=sG]à;sPPQ;89!PP4<t@?@P&GX1;u?]U@s]&G PP>u@]U&G ABAЊB"s$PP<u>t@ABˠ^Bs]U@>u @È?u.]ð]U졦@;usj>t$A?C@͠@s @;vs4&G$<t PPv@Ê^]U&u&G]UCsZ&uMТCs]]UF&t@"Frr&uv&G$<t G"PV&OE>EPr@"Fs$DPFsPDP6E&gG"P [Fs8&G%;t&gPQQG$P]U츪Pjr&gCG$Pt]Uvt 򤰆PvGPP Gs P]U-PP(&GTPP|6t>PO&G򤸰P2&GP&G&GP&G &G PPPPP<sV&uK$&uk&G%tQ<sCs G&Po]ABORT EXAMPLES:  ASM86 hEXAMPLES +BUFFERED COMMANDS lCONFIG $EXAMPLE: 6eDDT86 ;WCOMMANDS CXPARAMETERS REEXAMPLES VDIR WEXAMPLES X[DSKMAINT ZDSKRESET r<EXAMPLE: yBDYNAMIC {UED ~COMMANDS EXAMPLES pERA }EXAMPLES hERAQ {EXAMPLE: FUNCTION %FILENAME FCONVENTIONS cGENCMD EXAMPLES #HELP iPIP DEXAMPLES dOPTIONS !PRINTER EXAMPLES: PREN ;EXAMPLES SDIR EXAMPLES:  SET "*EXAMPLES: @QSHOW g&XAMPLES: q6STAT bEXAMPLES "OPTIONS mSUBMIT :EXAMPLES WTOD 8EXAMPLES cTYPE 4EXAMPLES USER EXAMPLES VCMODE `EXAMPLES: $ ile.$ med $ sour$ ded $ 86. $ cial$ X, ///1abort Syntax: ABORT programname ABORT programname n The ABORT command immediately stops execution of the program specified by programname. If the program to abort is detached from this console or running on another console, include the number (n) of the target console running the program. If ABORT does not succeed, the following message is displayed: Abort Failed CTRL-C also aborts a program running on a particular virtual console. When you press CTRL-C, the system temporarily halts the program and responds with the program name message: XXX: Abort (Y/N)? If you enter a Y, the program is immediately aborted. If you enter any other character, the program continues executing. Use the ABORT command with programs running on another virtual console. Use CTRL-C with programs running on your current virtual console. If you abort more than one program on more than one virtual console, the ABORT commands are stored in the order given and the programs are interrupted one by one. ///2Examples: The following example illustrates a possible exchange using the ABORT command. The ABORT command is aborting the program TYPE executing on console number 1. The ABORT command is executing from another virtual console. The user number does not affect ABORT. 0A>TYPE DOCUMENT.TXT Dear Sir: The company is pleased to inform you tha 5B>ABORT type 1 5B> In the above example, assume that the TYPE command was issued from virtual console 1. The TYPE command is aborted from virtual console 3. ///1asm86 Syntax: ASM86 filespec {$Ad Hd Pd Sd Fd} A source file drive - .A86 d = (logical drives A-D) H hex file drive - .H86 d = (logical drives A-D, X,Y,Z) P print file drive - .LST d = (logical drives A-D, X,Y,Z) S symbol file drive - .SYM d = (logical drives A-D, X,Y,Z) F format of hex file- .H86 d = (D=Digital Research, I=Intel) Purpose: ASM-86 assembles assembly language statements, producing a file in hexadecimal format, a print file and a symbol table file. The assumed filetype of source and included files is A86. The special characters X, Y and Z indicate output to the console, output to the printer, and zero output, respectively. If no format is specified, Digital Research format (FD) is assumed. ///2Examples Examples: 0A>ASM86 PROG 0A>ASM86 PROG $SZ PX 0A>ASM86 PROG $HB PY AC ///1buffered When the output of a program running on a particular virtual console goes into a disk file instead of appearing on the screen, this console is described as being in Buffered Mode. The other virtual console mode is Dynamic Mode. Use VCMODE to switch consoles from one mode to the other. ///1commands Concurrent CP/M-86 command line syntax: 0A>COMMAND {COMMAND TAIL} Concurrent CP/M-86 accepts command lines you type following the system prompt. A command line is composed of a command keyword, an optional command tail, and a carriage return keystroke. The command keyword identifies a command (program) to be executed. The optional command tail can consist of a file specification or various command parameters. To complete the command, press the carriage return key. ///1config Syntax: CONFIG Purpose: Concurrent CP/M-86 supports three parallel I/O printers (0, 1, 2) and two serial I/O printers (3, 4). The CONFIG command lets you specify the parameters of the serial printers interactively or in a command line. Interactive Mode When you enter: 0A>config the CONFIG menu appears. If there is only one serial printer connected, only the Printer 3 column appears; if you have two serial printers a column for Printer 4 apppears. This menu shows the four sets of parameters for printers 3 and 4, odd-numbered keys for printer 3 and even-numbered keys for printer 4. The values shown when you invoke CONFIG are the current values; change them by pressing the appropriate keys, with each stroke incrementing the appropriate value. The F9 and F10 keys return you to command level. BAUD RATE is the speed at which the computer sends data  to its printer. Refer to your printer's technical manual for the correct baud rate to program. WORD LENGTH indicates the number of data bits in a single transmitted character. This value is almost always 7 or 8. Again, consult the printer's documentation to determine the correct value. PARITY monitors characters to see if they are transmitted and received correctly. Often both the printer and computer can enable or disable parity checking. Refer to the printer manual for specific details relevant to your printer. STOP BITS indicate the end of a transmitted character. See your printer's manual for the proper value; 1 is commonly used. Command Line Mode To define all serial port parameters in a single command line, use this syntax: CONFIG PORT# BAUDRATE WORDLENGTH PARITY STOPBITS In this format, PORT# is either P3, indicating printer 3, or P4, indicating printer 4. BAUDRATE is 110, 150, 300, 600, 1200, 2400, 4800, or 9600, indicating the transmisstion speed in baud (bits-per-second). WORDLENGTH is 5, 6, 7, or 8, specifying the number of data bits for a transmitted character. STOPBITS is either 1 or 2, adding that number of stop bits to the end of a transmitted character. ///2Example: A typical CONFIG command line looks like this: 0A>config p3 9600 7 even 1 This command line sets serial printer P3 to 9600 baud, with seven data bits, even parity and 1 stop bit. If you make an mistake in a CONFIG command line, the command line is returned with a question mark under the error, and a list of valid parameters follows. If you have tried to configure a serial port on a system without such ports, CONFIG returns this error message: No Serial communication options installed and control returns to system command level. ///1ddt86 Syntax: DDT86 {filespec} Purpose: DDT-86 aids debugging of 8086 and 8088 programs. DDT-86 assumes a default filetype of CMD. Use GENCMD to convert hexadecimal (H86) files to command files (CMD) before invoking DDT86. If the file specification is not included, DDT86 is loaded into User Memory without a test program. You must not use the DDT86 commands G, T, or U until you have first loaded a test program. The test program is usually loaded using E command.  If the file specification is included, both DDT86 and the test program file specified by filespec are loaded into User Memory. Use G, T, or U to begin execution of the test program under supervision of DDT86. DDT86 does not support passwords. If your A86 files require passwords, be sure they all have the same one, and set the default password to this password. To exit from DDT86, press CTRL-C. ///2commands DDT-86 Command Summary The command character can be followed by one or more arguments, which are hexadecimal values, file specifications or other information, depending on the command. Arguments are separated from each other by commas or spaces, but no spaces are allowed between the command character and the first argument. As (Assemble) Enter Assembly Language Statements Bs,f,s1 (Block Compare) Compare Blocks of Memory D (Display) Display Memory in Hexadecimal and ASCII Efilespec (Execution) Load Program for Execution Fs,f,bc (Fill) Fill Memory Block (byte) with a constant FWs,f,wc (Fill) Fill Memory Block (word) G{s}{,b1{,b2}} (Go) Begin Execution with optional breakpoints Hwc1,wc2 (Hex) Hexadecimal Sum and Difference Icommand tail (Input) Set Up Input Command Line L{s{,f}} (List)  List Memory in Mnemonic Form Ms,f,d (Move) Move Memory Block QI{W}n Read From I/O Port QO{W}n,v Write To I/O Port Rfilespec (Read) Read Disk File into Memory S{W}s (Set) Set Memory Values SRs,f, Search For String T{n} (Trace) Trace Program Execution TS{n} (Trace) Trace and Show All Registers U{n} (Untrace) Monitor execution without  Trace US{n} (Untrace) Monitor and Show all Registers V (Verify) Show Memory Layout after Disk Read Wfilespec (Write) Write Content of Block to Disk X{r} (Examine) Examine and Modify CPU Registers ///3parameters DDT-86 Command Parameters Parameter Replace With bc byte constant b1 breakpoint one b2 breakpoint two d destination for data f final address n number of instructions to execute r register or flag name s starting address s1 second starting address W word 16-bit wc word constant ///2Examples Examples: 0A>DDT86 0A>DDT86 PROGRAM1 0A>DDT86 PROGRAM2.CMD 0A>DDT86 B:PROGRAM3.CMD ///1dir Syntax: DIR {filespec} Purpose: Displays the names of non-system (DIR) files in the directory of an on-line diskette. Use DIR [SYS] to find SYStem files. ///2Examples Examples: 0A>DIR 0A>DIR B: 0A>DIR C:MYFILE.DAT 0A>DIR *.CMD 0A>DIR A*.A86 0A>DIR PROG???.H86 0A>DIR PROGRAM.* ///1dskmaint Syntax: DSKMAINT Purpose: DSKMAINT is a multi-function menu-driven command that performs these diskette maintenance operations: formatting new or re-usable diskettes, copying one diskette's contents to another, and verifying the integrity of the data on diskettes. Single- and Double-Sided Diskettes DSKMAINT only copies between two diskettes of the same type: between two single-sided diskettes or between two double-sided diskettes. Look at the box of diskettes or at the label on an individual diskette to determine if it is one- or two-sided. To make a double-sided copy of a single-sided diskette, format your double-sided diskette, then use PIP to copy files between the two diskettes. DSKMAINT copies the necessary system loader tracks onto your new diskette. Formatting Diskettes Before you call DSKMAINT, be sure your current virtual console is in Dynamic Mode. Set it to Dynamic Mode with VCMODE. When you give the command: 0A>dskmaint the main menu appears. At this point you can remove diskettes from the drives. Place your uninitialized diskette in the appropriate drive. Press key F5 to format a one-sided diskette or F7 for a two-sided diskette. If you pressed F7, the only difference is in the title, which reads "Formats two sided diskette". Press the key that specifies the drive containing your disk; F2 for drive A, F4 for drive B, and so forth. When DSKMAINT has finished formatting, it writes system loader information to the formatted diskette, then verifies the diskette contents track by track. The "Formatting track n" message changes to "Verifying track n". When the verification is through the screen returns to the main menu. Copying Diskettes Before you call DSKMAINT, be sure your current virtual console is in Dynamic Mode. Set it to Dynamic Mode with VCMODE. When you give the command: 0A>dskmaint the main menu appears. Replace the old diskettes with the diskettes you want to copy across. Press F3 to copy diskettes. Specify which drive contains the source diskette with the original files to copy. Press the appropriate key; F2 for drive A, F4 for drive B, and so forth. Specify the drive containing the destination diskette; this diskette receives the copied files. After DSKMAINT finishes copying, the main menu returns to the screen. DSKMAINT Error Messages Disk Error Accept/Retry/Ignore/Details? Type A for Accept. DSKMAINT returns to the main menu and shows the BAD DISK TRY ANOTHER ONE error message printed in reverse video (black letters on a green strip). Remove the apppropriate diskette, replace it with another, and retry the operation. If you have mixed double- and single-sided diskettes in your drives you will obtain the following error message shown in the same location and format as the BAD DISK message above: Source and destination diskette are not the same type ///1dskreset Syntax: DSKRESET DSKRESET d: DSKRESET d:,d:,d:... Purpose: DSKRESET initializes drives after a new diskette is inserted. DSKRESET with no command tail resets all drives; DSKRESET with drives specified in the command tail resets only those drives. On start-up, all of the drives are reset. Note: It is extremely important to execute the DSKRESET command BEFORE and AFTER changing a diskette. If a diskette is removed from a drive while a program is executing, the data in the open file on that disk might be irrevocably damaged. If you then insert another diskette, Concurrent CP/M-86 may write data onto this diskette, possibly overwriting files. Issuing the DSKRESET command after replacing the diskette logs-in the new diskette so Concurrent CP/M-86 can read from its directory. ///2Example: 0A>DSKRESET B: Disk reset denied, Drive B: Console 2 Program PIP Concurrent CP/M-86 has denied the request to reset the diskette in drive B because PIP, which was initiated at console 2, has an open file on drive B. ///1dynamic When the output of a program running on a particular virtual console appears on the screen instead of going into a disk file, this console is described as being in Dynamic Mode. The other virtual console mode is Buffered Mode. Use VCMODE to switch consoles from one mode to the other. ///1ed Syntax: ED input-filespec {d:|output-filespec} Purpose: ED is the Concurrent CP/M-86 character file editor. Rename or redirect the new version of the file by specifying the destination drive or destination filespec. Chapter 5 of the Concurrent CP/M-86 User's Guide is devoted to ED. ///2commands ED Command Summary Note: CP points to the current character being referenced in the edit buffer. Command Action nA append n lines from original file to memory buffer 0A append file until buffer is one half full #A append file until buffer is full (or end of file) B, -B move CP to the beginning (B) or bottom (-B) of buffer nC, -nC move CP n characters forward (C) or back (-C) through buffer nD, -nD delete n characters before (-D) or from (D) the CP E save new file and return to Concurrent CP/M-86 Fstring^Z find character string H save the new file, then reedit, using the new file as the original file I enter insert mode Istring^Z  insert string at CP Jsearch_str^Zins_str^Zdel_to_str juxtapose strings nK, -nK delete (kill) n lines from the CP nL, -nL, 0L move CP n lines nMcommand execute commands n times n, -n move CP n lines and display that line n: move to line n :ncommand execute command through line n Nstring extended find string O return to original file nP, -nP move CP 23 lines forward and display 23 lines at console Q abandon new file, return to Concurrent CP/M-86 R read X$$$$$$$.LIB file into buffer Rfilespec^Z read filespec into buffer Sdelete string^Zinsert string^Z substitute string nT, -nT, 0T type n lines U, -U upper-case translation V, -V line numbering on/off 0V display free buffer space nW write n lines to new file 0W write until buffer is half empty nX write or append n lines to X$$$$$$$.LIB nXfilespec^Z write n lines to filespec or append if previous x command applied to the same file 0x delete file X$$$$$$$.LIB 0xfilespec^Z delete filespec nZ wait n seconds ///2Examples Examples: 0A>ED TEST.DAT 0A>ED TEST.DAT B: 0A>ED TEST.DAT TEST2.DAT 0A>ED TEST.DAT B:TEST2.DAT ///1era  Syntax: ERA filespec Purpose: ERA erases a file or group of files. ERA accepts ambiguous filenames. The ERAQ command works as ERA does, but prompts you before performing the erasure. ///2Examples Examples: 0A>ERA DRAFT.BAK 0A>ERA B:LETTER.DAT 0A>ERA C:LETTER.* 0A>ERA D:*.BAK 0A>ERA B:*.* ///1eraq Syntax: ERAQ filespec Purpose: ERAQ erases a file or group of files, prompting you before each deletion. ERAQ accepts ambiguous filenames. The ERA command works as ERAQ does, but does not prompt you before performing the erasure. ///2Example: 1A>ERAQ B:*.CMD B:ASM86 CMD ?y B:FUNCTION CMD ?n B:SDIR CMD ?y B:DSKRESET CMD ?y 1A> In the example, the user instructs ERAQ to delete all the files except B:FUNCTION.CMD. ///1function Syntax: FUNCTION [filename.] FUNCTION [filename.typ] Purpose: FUNCTION specifies the operations of the 20 programmable function keys (PFKs). FUNCTION operates in two modes, specified by the command tail entered with FUNCTION. If you supply no command tail FUNCTION displays a menu to select from. If you specify a filespec, FUNCTION takes its input from this file. Concurrent CP/M-86 "comes up" with commands programmed into the ten F1-F10 function keys at the left of the keyboard. These commands are: F1: SDIR\0D  F2: SDIR F3: STAT *.*\0D F4: STAT F5: VCMODE D\0D F6: VCMODE B\0D F7: DSKMAINT\0D F8: FUNCTION F9: HELP\0D F10: DSKRESET\0D The commands terminated with \0D include carriage returns. The commands without \0D can take further specifications or parameters you supply. Terminate them with a carriage return and Concurrent CP/M-86 carries out the command. If you reprogram the PFKs, you still retain access to this set of programmed commands; pressing SHIFT- and any of the 10 function keys produces the command. Using The FUNCTION Menu When you first call FUNCTION the menu appears. The string of Concurrent CP/M-86 commands and symbols following "F-number:" is the programmed function. Press any key F1-F10 to change the programmed value. If you make a mistake, terminate the string with \00 or CTRL-@ and start from the main menu again. If you want to alter or inspect the other PFKs, press ESC. Pressing ESC from either display switches you to the other. Enter a carriage return to return to the system command level. Non-Printing Characters You can specify absolute hexadecimal values so all possible control characters and 8-bit character codes can be used. Refer to the Concurrent CP/M-86 User's Guide for a description of programming hexadecimal codes into the PFKs. Terminating Input To program in your changes, press CTRL- while also pressing @. If you mistakenly enter more than 19 characters, FUNCTION terminates the input automatically and returns to the key menu you started from, either the function key menu or the number pad key menu. Using FUNCTION With a Command File If you enter a filespec with FUNCTION, Concurrent CP/M-86 opens this file and programs the function keys with these command strings. These files must contain a separate line for each function key. Examine the DATA.PFK file to learn how such files are constructed; use a text editor like ED to create your own customized version. Refer to the FUNCTION command description in Section 4 of the Concurrent CP/M-86 User's Guide for further details. Once you have completed writing your command file and checked it for errors, you can return to the system command level and call this command file to program the specified keys. If your file is named PFK.PFK, for example, give the command: 0A>FUNCTION PFK.PFK FUNCTION reads the specified file, programs the keys accordingly, and returns to system command level. ///1filename Filename Format Concurrent CP/M-86 identifies every file by its unique file specification. A file specification can have four parts: a drive specification, a primary filename, a filetype, and a password, all separated by their appropriate delimiters. A drive letter must be followed by a colon. A filetype must be preceded by a period. A password must be preceded by a semicolon. The term "filespec" is an abbreviation for file specification, and indicates any valid combination of the filename and the filetype. This summary uses the following symbols to designate the parts of a filespec. d: represents the optional drive specification, which can be a single alphabetical character in the range A through P followed by a colon. filename represents the required primary filename, which can be 1 to 8 alphabetic or numeric characters. typ represents the optional filetype, which can be 0 to 3 alphabetic or numeric characters separated form the primary filename by a period. password represents the optional password, which can be 1 to 8 alphabetic or numeric characters. Valid combinations of the elements of a file specification are shown below: o d: o filename o d:filename o filename.typ o d:filename.typ o filename.typ;password o d:filename.typ;password Certain Concurrent CP/M-86 commands select and process several files if "wildcard" characters appear in the primary filename or filetype. The two wildcard characters are ?, which matches an single letter in the same position, and *, which matches any character at that position and any other characters remaining in the filename or filetype. The command summaries indicate which commands accept wildcard characters in the filespec. ///2conventions Command Summary Conventions The command summary lists each CP/M-86 command in alphabetical order using the following special symbols to define command syntax: [] indicate an optional item d indicates a drive number n indicates a number | separates choices indicates a carriage return ^ indicates the Control (CTRL) key RW means Read Write RO means Read Only SYS means System attribute DIR means Directory attribute ///1gencmd Syntax: GENCMD filespec {8080 CODE[An,Bn,Mn,Xn] DATA[An,Bn,Mn,Xn] STACK[An,Bn,Mn,Xn] EXTRA[An,Bn,Mn,Xn]} A = Absolute memory location  B = Beginning address of group in .H86 file M = Minimum memory required X = Maximum memory required Purpose: Converts hexadecimal object file (filetype assumed to be .H86) into executable file (of type .CMD). Switches controlling the type of memory model and group addresses can be included. All values are hexadecimal and are paragraph values. ///2Examples Examples: 0A>GENCMD PROG 3B>GENCMD PROG1 8080 2B>GENCMD PROG2 DATA[M20] 4A>GENCMD PROG3 DATA[B4C,M260,XFFF] 0A>GENCMD PROG4 CODE[A40] DATA[M30] ///1help Syntax: HELP {topic}{,subtopic}...{[P]} Purpose: To supply information on how to use CPM-86 commands. HELP with no command tail lists the available topics. HELP, when followed by a topic and an optional sequence of subtopics, displays information about that topic on your screen. At the HELP prompt ( HELP> ), you can enter a topic and optional subtopics. Pressing ENTER without a topic specified terminates HELP. Help allows up to 8 subtopics. When the P option is used, the HELP display does NOT pause every 23 lines. Examples: 0A>HELP 0A>HELP dir 0A>HELP stat options[P] HELP> help HELP> stat Examples ///1pip Syntax: PIP filespec{[Gn]}=filespec{[O]}... PIP filespec|dev=filespec{[O]} PIP filespec|dev=dev{[O]} Purpose: Copies files, combines files and transfers files between peripheral devices. The first filespec is the destination. The second filespec is the source. The source or destination can be any Concurrent CP/M-86 logical device. PIP with no command tail displays an * prompt and awaits your series of commands, entered and executed one line at a time. Source filespecs with options can be repeated, separated by commas, to combine two or more files into one file. [O] is any combination of the available options. The [Gn] option in the destination designates the USER number of the destination. ///2Examples Examples: Copy from one disk to another: 0A>PIP B:=A:DRAFT.TXT 0A>PIP B:DRAFT.TXT = A: Copy a file and rename it: 0A>PIP B:NEWDRAFT.TXT=A:OLDDRAFT.TXT 0A>PIP NEWDRAFT.TXT=OLDDRAFT.TXT Copy multiple files: 0A>PIP 0A>PIP B:=*.TXT [AV] 0A>PIP B:=*.CMD [RW] 0A>PIP B:=C:DRAFT.* 0A>PIP B:=*.* 0A>PIP B:=C:*.* Combine multiple files: 0A>PIP B:NEW.DAT=FILE1.DAT,FILE2.DAT Copy, rename and place in user 1: 0A>PIP NEWDRAFT.TXT[G1]=OLDDRAFT.TXT Copy, rename and get from user 1: 0A>PIP NEWDRAFT.TXT=OLDDRAFT.TXT[G1] Copy to/from logical devices: 0A>PIP B:FUNFILE.SUE=CON: 0A>PIP LST:=CON: 0A>PIP LST:=B:DRAFT.TXT[T8] 0A>PIP PRN:=B:DRAFT.TXT ///2options PIP Options A - Archive option. Dn - Delete any characters past  column n. E - Echo transfer to console. F - Filter form-feeds from source data. Gn - Get from or go to user code n. (default n=current user num.) H - Test for valid Hex format. I - Ignore :00 Hex data records and test for valid Hex format. K - Kill display of filenames on console. L - Translate upper case to lower case. N - Number output lines O - Object file transfer, ^Z ignored. Pn - Set page length to n. (default n=60) Qs^Z - Quit copying from source at string s. R - Read files that have been set to SYStem. Ss^Z - Start copying from the source at the string s. Tn - Expand tabs to n spaces. U - Translate lower case to upper case. V - Verify that data has been written correctly. W - Write over Read Only files without console query. Z - Zero the parity bit. ///1printer Syntax: PRINTER PRINTER n PRINTER specifies the printer used by a particular console or simply shows the printer associated with the current console. Several consoles can share the same printer, but only one can use the printer at a time. Concurrent CP/M-86 expects the first printer assigned to the system to be printer 0.   The second printer is printer 1, and so on. The printer number is specified by n. When the PRINTER command includes an n, PRINTER sets the list device to printer number n. When you enter PRINTER without the n option, the system returns the number of the printer currently assigned to your console. Concurrent CP/M-86 supports five printers: parallel printers 0, 1 and 2, and serial printers 3 and 4. ///2Examples: 0A>PRINTER Printer Number = 1  0A>PRINTER 2 Printer Number = 2 ///1ren Syntax: REN {d:}newname{.typ} = oldname{.typ} Purpose: REN changes the name of the existing file (specified by oldname) to a new name (specified by newname). You cannot specify two different drives. If the file specified by does not exist, REN displays the following message: No such file to rename If the file given by newname is already present in the directory, REN displays the following message on the screen: Not renamed: Newfile already exists, delete (Y/N)? ///2Examples Examples: 0A>REN NEWFILE.DAT = OLDFILE.DAT 0A>REN B:NEWFILE.DAT = OLDFILE.DAT 0A>REN B:NEWLIST=OLDLIST ///1sdir Syntax: SDIR SDIR d: SDIR filespec SDIR [option] SDIR [option = modifier] SDIR [option] d: SDIR [option = modifier] d: SDIR [option] filespec,filespec SDIR [option = modifier] filespec,filespec The following "exceptions" are allowed: SDIR d:[option] SDIR filespec [option] SDIR filespec,filespec [option] The SDIR utility is an enhanced combination of the DIR utility and the STAT utility. SDIR can search for files on any or all drives, in any or all user areas. Only one option list is allowed. The most efficient way to become familiar with SDIR is to use it. Type the command: 0A>SDIR [HELP] to display a list of example SDIR commands. SDIR is a passive program. It doesn't change any of the information on the diskette or anything vital in memory, so you can experiment with it freely. SDIR Formats SDIR has three formats. The first is the default or "full" format. The second format is the "size" format. The third format is the "short" format. Full The default or "full" format shows the name of the file, the size of the file in number of records and in number of kilobytes, and the attributes of the file. If there is a directory label on the drive SDIR shows the password protection mode and the time stamps. If there is no directory label, SDIR displays two file entries on a line, omitting the password and time stamp columns. The display is alphabetically sorted. The following is an example of an SDIR "full" display. Because Drive M has no directory label, SDIR displays two files per line. 6B>sdir m: Directory For Drive M: User 6 Name Bytes Recs Attributes Name Bytes Recs Attributes --------- ------ ------ ------------ ------------ ------ ------ ------------ FRONT PRN 5k 34 Dir RW FRONT TEX 3k 24 Dir RW TOC PRN 6k 46 Dir RW TOC TEX 4k 29 Dir RW Total Bytes = 18k Total Records = 133 Files Found = 4 Total lk Blocks = 18 Used/Max Dir Entries For Drive M: 4/ 64 The full format displays two measures of file size. The size of the file in kilobytes is the total amount of diskette space allocated to the file by the operating system. The number of records is the actual file length in 128 byte units. Depending on the size of a block on the diskette, the operating system in general allocates more storage than is needed by the file. The diskette block size is the minimum allocation unit. Size The second format is the size format. SDIR [SIZE] displays the file nam!e and the file size in kilobytes. Both the full format and the size format follow their display with two lines of totals. The first line displays the total number of kilobytes, the total number of records, and the total number of files listed. The second line displays the total number of 1k blocks needed to store the listed files. The number of 1k blocks shows the amount of storage needed to store the files on a single density diskette, or on any drive that has a block size of one kilobyte. The second line also shows the number of directory entries used per number of directory entries available on the entire drive. These totals are suppressed if only one file is found. Short The third format is the short format. The short format is similar to the DIR command except that SDIR [SHORT] also displays files with the System attribute on. The short format does not sort the files alphabetically, as the short format does not collect the files in memory. For this reason, the short format will never run out of memory and can display any size directory. Refer to the Concurrent CP/M-86 User's Guide for an explanation of the SDIR options. ///2Examples: The following command line instructs SDIR to list all the SYStem files of type PLI, CMD and A86 on the system in the currently "logged" drives in any user area. 0A>SDIR [user=all,drive=all,sys] *.PLI *.CMD *.A86 The following example instructs SDIR to display the filename TESTFILE.BOB if it is found on any logged in drive or user area. 0A>SDIR [drive=all user=all] TESTFILE.BOB The example below instructs SDIR to list each Read Write file that resides on Drive D with its size in kilobytes. Notice that d: is equivalent to d:*.*. 0A>SDIR [size,rw] D: The following example lists all the PRL files on drive D that have XFCBs. 0A>SDIR [xfcb] D:*.CMD The example below displays all the files on drives A, B and C in short format. 0A>SDIR [short] A: B: C: The following SDIR command lists all the files on the default drive and user area that do not have a filetype of CMD. 0A>SDIR [exclude] *.CMD ///1set Syntax: SET d:[RW] SET d:[RO] SET filespec [SYS] SET filespec [DIR] SET [option=modifier] SET d:[option=modifier] SET filespec [option=modifier] SET filespec [option] SET initiates password protection and time stamping of files in the Concurrent CP/M-86 system. It also sets file and drive attributes, such as the Read Only, System, and user definable attributes. For a full description of SET and its options, refer to the Concurrent CP/M-86 User's Guide. The SET command always requires a parameter consisting of an object and an action. The object can be either a drive, a file or a group of files. If no drive or filename is specified, the default drive is assumed. The action can be any option described in this section. The options are always enclosed in square brackets. SET accepts options affecting entire drives and options affecting files. Multiple options must be separated by commas within the square brackets. Spaces before or after the brackets and equal sign are optional. Multiple SET file and drive commands can be specified in one command line if they are separated by commas. Passwords The PASSWORD option of the SET command sets the password for the specified file to the password indicated by "your password". Passwords can be up to eight characters long. SET treats upper and lower case passwords identically. The Concurrent CP/M-86 User's Guide describes uses of password options in detail. Note: We strongly advise you to write down or remember passwords you assign to your files. If you do not remember your files' passwor"ds, you cannot access them unless the entire drive's password protection is turned off; if you assign a password to the directory label and then forget it, you won't be able to turn off password protection for the drive. Date/Time Stamps Concurrent CP/M-86 can keep a record of the time and date of the last access and update of a file. To enable time stamping, turn on the time stamping option for the drive containing the files you wish to time stamp. If the files to be stamped already exist on the drive, you must also individually turn time stamping on for each file. The Concurrent CP/M-86 User's Guide describes uses of date and time stamps in detail Special Attributes In Concurrent CP/M-86, drives and files have special attributes specified with the SET command. These attributes fall into two categories: access attributes and identification attributes. Access attributes set files and drives  to Read/Write or Read/Only. Another access attribute specifies if files are system files or not. Identification attributes include a special attribute called the Archive attribute that tells you if file has been backed up (archived). Four user-definable file attributes F1, F2, F3 and F4, are supported to allow additional identification or classification of certain files. These attributes are not used at all by Concurrent CP/M-86 and exist solely for the use of special applications or your own purposes. They are displayed by STAT and SDIR. Concurrent CP/M-86 provides a facility for creating a directory label for each diskette. This label takes an eight character name and three character type similar to a filename and filetype. 0A>SET [NAME=lablname.typ] The SET Help Option Similar to SHOW and SDIR, SET has a help option which displays a number of examples of valid SET commands. Invoke the HELP display with the command: 0A>SET [HELP] ///2Examples: Password Protection The example below affords the most protection and the most difficulty for users. Because the password protection mode is set to READ, you cannot read one of the CMD files without entering the password 123 unless the default password has been set to 123. Even if you enter the correct password, you still cannot write to the file because the file's READ ONLY (RO) attribute is set ON. Finally, DIR does not display these files unless you specify DIR [SYS]. 0A>SET *.CMD [SYS,RO,PASS=123,PROT=READ] 0A> After the above SET command is executed, the following command reverses the protection and access attributes: 0A>SET *.CMD [RW,PROT=NONE,DIR] Password ?123 0A> After the above command, there is no password protection, the files of type CMD can be read from or written to, and are listed in all DIR displays. However, they remain inaccessible from other user numbers or drives. In the example below, the password SECRET is assigned to all the TEX files on drive B. Each TEX file is given a protection mode of WRITE to prevent unauthorized editing. 0B>SET *.TEX [PASSWORD = SECRET, PROTECT = WRITE] B:ONE .TEX Protection = WRITE, Password = SECRET B:TWO .TEX Protection = WRITE, Password = SECRET B:THREE .TEX Protection = WRITE, Password = SECRET 0B> The command below assigns a default password for your console: 0A>SET [DEFAULT = password] Date/Time Stamping In the example shown below, three TEX files were copied to the B drive after using the SET [CREATE = ON] command to establish creation date/time stamping. The SDIR command is used to display the file creation times. 0B>SDIR Directory For Drive B: Name Bytes Recs Attributes #Prot Update Create ------------ ----- ---- ---------- ---- -------------- -------------- ONE .TEX 9k 71 Dir RW None 08/03/81 10:56 THREE .TEX 12k 95 Dir RW None 08/03/81 10:57 TWO .TEX 10k 76 Dir RW None 08/03/81 10:56 The command below turns on CREATE time stamps on the default drive. 0A>SET [CREATE = ON] The example below shows how to turn on access time stamps: 0A>SET [ACCESS = ON] The example below shows an SDIR display of the three TEX files after access time stamping was turned on for a week. 0B>SDIR Directory For Drive B: Name Bytes Recs Attributes Prot Update Access ------------ ----- ---- ---------- ---- -------------- -------------- ONE .TEX 9k 71 Dir RW None 08/03/81 10:56 THREE .TEX 12k 95 Dir RW None 08/05/81 15:45 TWO .TEX 10k 76 Dir RW None 08/10/81 09:13 The command below turns on update time stamps. Update time stamps record the time the file was last modified. 0A>SET [UPDATE = ON] This example shows a display of these files after turning on update time stamping. 0B>SDIR Directory For Drive B: Name Bytes Recs Attributes Prot Update Create ------------ ----- ---- ---------- ---- -------------- -------------- GENLED .DAT 109k 873 Dir RW None 08/05/81 14:01 08/01/81 09:36 RECEIPTS.DAT 59k 475 Dir RW None 08/08/81 12:11 08/01/81 09:40 INVOICES.DAT 76k 608 Dir RW None 08/08/81 08:46 08/01/81 10:15 The MAKE XFCB option automatically makes XFCBs everytime a file is created. It can be independently controlled as shown in the example below. 0A>SET [MAKE = OFF] Read/Only and Read/Write The example below sets all files of type CMD to Read Only and SYS. 0A>SET *.CMD [RO,SYS] A:ABORT CMD set to system (SYS), read only (RO) A:ASM86 CMD set to system (SYS), read only (RO) A:CONSOLE CMD set to system (SYS), read only (RO) A:DIR CMD set to system (SYS), read only (RO) . . . A:FUNCTION CMD set to system (SYS), read only (RO) A:DDT86 CMD set to system (SYS), read only (RO) A:DSKRESET CMD set to system (SYS), read only (RO) A:SDIR CMD set to system (SYS), read only (RO) A:SHOW CMD set to system (SYS), read only (RO) A:SET CMD set to system (SYS), read only (RO) The SET commands shown below set the file specified by filespec to Read Only or Read Write. 0A>SET MYFILE.TXT [RO] 0A>SET MYFILE.TXT [RW] The following SET commands set the specified drive to Read Only or Read Write. 0A>SET B:[RO] 0A>SET B:[RW] ///1show SHOW Syntax: SHOW SHOW SPACE SHOW DRIVES SHOW USERS SHOW LABEL SHOW HELP SHOW d: SHOW d:SPACE SHOW d:DRIVE SHOW d:USERS SHOW d:LABEL SHOW provides the same information as the passive STAT functions, with the addition of the SHOW LABEL option. SHOW by itself displays the drive, the Read Only or Read Write mode for that drive, and the remaining space in kilobytes for all logged in drives in the system. SHOW SPACE is the same as the SHOW display. SHOW DRIVES displays the drive characteristics of logged-in drives on the system, or for a specified drive. SHOW USERS displays the current user number and all user areas on the drive that have files assigned to them. SHOW LABEL returns a display of the optional directory label, if it has been created. The directory label is an entry within the directory and contains information that describes special attributes of the diskette to the operating system. For example, the label tells whether time stamping and password protection are turned on for that disk$ette. SHOW HELP displays a list of the SHOW options. SHOW with the optional drive specifier displays the SHOW information for the specified drive only. ///Examples: The following example illustrates the SHOW LABEL display: Label for drive B: Directory Passwds Make Stamp Stamp Label Created Label Updated Label Reqd XFCBs Create Update ---------- ------- ------ ------ ------ -------------- -------------- TOMSdiskette. on on on on 07/04/81 10:30 07/08/81 09:30 The first column, Directory Label, displays the name assigned to that drive directory by a SET [NAME=TOMSDISK] command. The second column, Passwds Reqd, shows that password protection has been turned on for that drive with a SET [PROTECT=ON] command. The third column, Make XFCBs, shows that the automatic creation of Extended File Control Blocks (XFCBs) has been turned on for the drive with a SET [MAKE=ON] command or one of the SET time stamping commands. The fourth column of the SHOW LABEL command displays both the type of stamp (creation or access) and whether or not it is on. In this example, creation time stamps are given to new files, as shown by the Stamp Create column heading. The fifth column displays the status of the second time stamp field, the update time stamp. Update time stamps display the time and date of the last update to a file, that is, the last time someone wrote to the file. In the display above, update time stamps have been turned on with a SET [UPDATE=ON] command. The following is an example of the SHOW DRIVES display: A: Drive Characteristics 3,600: 128 Byte Record Capacity 450: Kilobyte Drive Capacity 96: 32 Byte Directory Entries 96: Checked Directory Entries 128: Records / Directory Entry 16: Records / Block 48: Sectors / Track 2: Reserved Tracks The SHOW USERS command displays the current user number and all user areas on the drive that have files assigned to them, as shown in the example below: 0A>SHOW USERS Active User : 1 Active Files: 0 2 3 4 ///1stat Syntax: STAT STAT d:= R/O STAT filespec {R/O|R/W|SYS|DIR|SIZE} STAT {d:}DSK:|USR: Purpose: STAT supplies information about disk drives and files, and also changes attributes of files. STAT with no command tail returns the amount of free storage space in Kilobytes (1024 bytes or 1K) for all on-line diskettes since Concurrent CP/M-86 was started or reloaded, and indicates whether the drive is set to Read-Only (R/O) or Read-Write (R/W). R/W is the default state, and drives become R/O when you change a diskette and do not enter a DSKRESET. Use STAT to set the drive to R/O and enter DSKRESET to set it to R/W. STAT with a file specified in the command tail returns the number of kilobytes used by that file. STAT with a filespec can also set a file or group of files to R/O, R/W, SYS or DIR. STAT accepts wildcards in the command tail. STAT DSK: shows the characteristics of the default or specified drive. STAT USR: shows which user numbers contain files on a given diskette. Note that STAT accepts a dollar sign ($), square bracket ([), or no delimiter before RO, RW, SYS, DIR and SIZE options. ///2Examples Examples: 0A>STAT 0A>STAT B:=RO 0A>STAT myfile.txt 0A>STAT C:letter.bak 0A>STAT genledgr.dat RO,SYS 0A>STAT *.cmd RO 0A>STAT *.bak 0A>STAT B:*.* ///2options STAT Options: RW = Read Write RO = Read Only SYS = System attribute DIR = NO System attribute SIZE = Show the size of the file or files USR: = Shows USER numbers containing files DSK: = Shows characteristics of the default drive ///1submit Syntax: SUBMIT filespec {actual parameters} Purpose: SU%BMIT processes a command file with a filetype of .SUB consisting of of CP/M-86 commands given one command per line. Any optional parameters (such as a drive or filespec) following the filespec in the command line are substituted for their corresponding formal parameters ($1,$2,$3...) in the SUBMIT file. ///2Examples Examples: 0A>SUBMIT START 0A>SUBMIT B:START 0A>SUBMIT START C: LETTER ///1tod Syntax: TOD {mm/dd/yy hh:mm:ss | P} Purpose: TOD displays or sets the date and time. TOD with no command tail displays the system date and time. Time is represented as a twenty-four hour clock, with hour values from 00 to 11 for the morning, and 12 to 23 for the afternoon and evening. TOD P displays the date and time continuously, until you strike any key. TOD mm/dd/yy hh:mm:ss sets the date and time to that specified in the command tail. When you start CP/M, these values are initially set to zero. To set the current date and time, supply a two-digit representation of the month, day and year for mm, dd, and yy respectively, and a two-digit representation of the hours, minutes and seconds for hh, mm and ss respectively. When the time specified corresponds to the correct time, strike any key. This sets the current date and time. ///2Examples Examples: 0A>TOD 0A>TOD P 0A>TOD 02/14/81 12:00:00 ///1type Syntax: TYPE filespec Purpose: TYPE displays contents of an ASCII file on the screen. Press any key to discontinue the display. TYPE does not accept wildcard filespecs. Entering a ^P prior to the type command causes the output to be echoed to the printer until another ^P is entered. ///2Examples Examples: 0A>TYPE letter.dat 0B>TYPE a:document.law 0C>TYPE program.bas 0D>TYPE program.a86 ///1user Syntax: USER {number 0 - 15} Purpose: USER displays and changes the current user number. USER with no command tail displays the current user number. USER with a number from 0 to 15 changes the current user number to the number specified by n. CP/M assumes a default user number of 0. Files set to SYStem on USER 0 are available to all USER areas as Read- Only. ///2Examples Examples: 0A>USER 0B>USER 2 0A>USER 7 ///1vcmode Syntax: VCMODE VCMODE dynamic VCMODE buffered VCMODE size = n VCMODE specifies background operating modes for the four virtual consoles. When a Concurrent CP/M-86 virtual console is switched-out, or in the background, it operates in one of two possible modes: the Dynamic Mode or the Buffered Mode. If a console is in Dynamic Mode and you switch it out, data normally output to the screen fills a space in memory reserved for such data. If there is enough data output to more than fill this area, the oldest data is lost as the new data is written in, just as when new lines appear on the bottom of the screen, the old ones disappear from the top. In this case, when you switch back to this console some data may be lost. If a console is in Buffered Mode and switched out, data output from a running program goes into a buffer file on diskette rather than to the screen storage area in memory. When you switch in this console, the system fetches the data stored in the buffer file on diskette and writes it onto the screen. You can specify the maximum size of the diskette buffer file with the VCMODE command. If a buffer file fills up, Concurrent CP/M-86 suspends that console's program operation; no data is lost. Operation begins when you switch this console in again. As a convenience, if you specify the buffer size from a virtual console in the Dynamic Mode, the console's mode is changed to Buffered and the buffer size is set to the specified value. Try out these examples and you'll quickly become familiar with how Concurrent CP/M-86 manages multiple virtu&al consoles. ///2Examples: If you ask for help, or type anything other than a VCMODE command, VCMODE explains itself briefly. Typing VCMODE by itself returns a line telling you what the background mode for your current console is: 0A>vcmode Background Mode For Virtual Console 0 is Dynamic Entering VCMODE DYNAMIC returns a line confirming the command: 0A>vcmode dynamic Background Mode For Virtual Console 0 set to Dynamic Entering VCMODE BUFFERED returns a line confirming the command and tells you how large the maximum file size is: 0A>vcmode buffered Background Mode For Virtual Console 0 set to Buffered Maximum file size = 12K If you try to specify the maximum file size when the current console is in Dynamic Mode, you get: 0A>vcmode size=5 Background Mode For Virtual Console 0 set to Buffered Maximum file size = 5K The virtual console is automatically switched from Dynamic to Buffered Mode. SERS Active User : 1 Active Files: 0 2 3 4 ///1stat Syntax: STAT STAT d:= R/O STAT filespec {R/O|R/W|SYS|DFunction key F1 ;SDIR\0D\00 Function key F2 STAT \00 Function key F5 ?VCMODE D\0D\00 Function key F6 @VCMODE B\0D\00 Function key F7 ADSKMAINT\0D\00 Function key F8 BFUNCTION\00 Function key F9 CHELP\0D\00 Function key F10 DDSKRESET\0D\00 FUNCTION DATA.PFK 'FUNCTION DATA.PFK FUNCTION DATA.PFK FUNCTION DATA.PFK