IMD 1.16: 7/09/2007 11:51:38 CROMEMCO Cromix Operating System Copyright (c) 1982, Cromemco, Inc. Model CROMIX-L Ser.No. CX1613118 11.11 821022  >@81!>z4y0= 400 x2z43>048÷0g(CLDSDD2!"!"222>2̀8͹!:(A!x2"! N":(>22: := :<22:*o0$~2͛8+8&*["R(0:<2G: >2zSD >2ɗ2|DD >2*~#~     Fdboot version 00.09 Copyright (c) 1980, 1981 Cromemco, Inc. cromix S 9 6543210/.-,+*)('&%$#"!      <      !"#$%&'()*+,-./0123456789:;<=>?@A> 2c `c(Uͫ:::ˇ2222c  (ͫ7 (ͫ:O7ɗ2224804W =0>0͍W͛@ ͆4W 0>014W 0>27ɗ4:3O:2:1ʆ804W 0@͍O>04W 00.2@ - @ ͆$:W(_(7:͆!dͨ027:2'048484O 0͆02͆>27BWbƈ_z4{͛Wbƨ_z4{04848 K40͆͛027:O͜8 483͆027{7'K88A043#43#43#43#403>*E3*O4(2D4͍_:(!!: :g:2 4 ͛! Nͨx2>2:G7G:W(G(x 4/ >ɯ42H4͍!'͍ͨ:(}x!:W ! +}  1*!"! nfc!!Zut6:_sr nf c~ Q!8C{8>> 89!!Z{*!R8 KdC>2:2>2BKf* vCannot boot CROMIX !> 84!Z!{!Z 8!Z~(͕ fncromix.sys! !qpu t s r 66^V n f c~(7!N(73 (i Z8!8Z+}::!FN 0Oͯ G~ͯ # A[  , 3 k!  O6}@(4~= XsS A66{2>2D4>͛w ${_}ut6666̀ > ,}@(A(̀ , ~5}n ͌ ~7 ~7}y?>"! ^#Vc    ~ ~~~wf ^ V.)jutsr>"7i&:o:o:on f ^ V ^V &kjxo ! y ! q(x=(! ͭ !9>25n f ^ V z { | } 0A| }8$f V(Ϳ  ͛814 8, 25B 8!6z { >  66:wnf|(:wF Ϳ S:ˇ2 ͛84 8*"ݧ nf"!"n}2>F ~(2} 22̀ ~2:V(2^V$(H%R0 8!8NF QN(,2}2:5(n f ^{2r6k6̀ 8,>2!"͛ 882  w 66F ~w!f V(F  n&N()+NF 8f V <<^Vu t srzSDr ~TDr |DDr xSCr(LCr(SBr(lBr( *~#~{` S MR;R;R;MR;R;R;MR:R:R:! < = ( (MM( ( M$M                        >C( = z {?>70BB0 =  Ru(t)!K>utsrqp!  DM= !u*t+s,r-^(V)V^fnu.t/s0r1u2t3s4r5s6r7n*f+^,V-z1 {0 |/ }.0uMlcZ*8m n.f/^0V1N*F+BN,F-Bz R0MR:R:R:MR9S "S "MR9S S 8MR8R8R8BDMn4f5B8( u4t5ͿN4F5Ϳ^6V7z 7>n6f7 u6t7n*f+^,V- 0u*t+s,r-^2V3s2r3z }8)B0}lcZ'?z } xn(f):Z8 x(x7(_V^fnh&)))zݾ {ݾ |ݾ }ݾ(utsrz(NFnfnfT]6_V^fnh&)))   MR7R7R7 NR2R2R2mnop NR0R0R0l NR.R.S 9k )ORRS 7S*O RRR +ORRR ,ORRR  NRRS 9_bOR R R\] ORR RXYZ[>ORRRTUVW-5ORRR}6ORRR7ORRRQ8OR:R;Rt!OR.R/R"#$"OR,R-S $ !G#OR*R+R$OR(R(RAOR)R)Rhi+BOR'R'Refg.COR%R%Rabcd0pDOR"R#S 8GHIJKLMNOPQRSTUVW NR,R-R,jdNR+R+R+iNR(R(R(ghNR&R&R&f>-ORRS o.ORRR  /ORRR 0ORRS 7ORRS +2QRSHORRS 7#NOP9ORRR IJKLGOR:R;RFGH&9OR7R8R:OR6R6S 9;OR4R4R}~<OR2R2Rz{| %OR&R'R s&OR$R%R     'OR"R"S 9(OR R R EOR R!RF#FO RRR<=>?@ABCDE qGORRR56789:;gHORRR34NR$R$R$de~NR"R"R"c^NR R!R abNRRR`1ORRR +2OR R S ; 3OR R R 4O RRR =OR8R9RDE7OR6R7R56789:;<=>?@ABCOR4R4R1234. O R1R2S ;%&'()*+,-./0 =OR0R0Rtuvwxy>OR.R.Rrs?OR,R-Rmnopq@OR+R+Rjkl  I RRS *mJRRS KRRS LRRS  iMR3R3R3 jMR2R2R2 kM R1R1R1 lM R0R0R00UKR:S ,S 9GVKR9R9R~WKR7R7R~XKR5R5S ,  uM R'R'R'  vM R&R&R&  wM R%R%R%xMR$R$R$%aKR$R$RbKR"R"RcLRRR dLRRR M RRRMRRR MRRR MRRR`MCRRS qrstuN RRS ^O5RRS  2M-PPRRR mM R/R/R/ nMR.R.R. oMR-R-R- pMR,R,R,YKR3R3S +;vZKR1R1S ,[KR/R/R\KR-R-S ,yMR#R#R#zMR"S 6"S 6"{MR!R!R!|MR R S *eL RRR"fLRRR.gRRR2hRRRwxyz{|}~ M RRR M RRR M RRR M RRRQNR RRVRJR R R#BCDESJTRR R#TJ RRR" qMR+R+R+ rMR*R*R*sMR)R)R)  tM R(R(R(]KR+S 7&S 7&=^KR*R*S , _KR(R(S ,`KR&R&R}MRRR ~M RRR M RRR M RRR  M RRR MRRR MRRR MRRR R 1R 1R 1 R .R /R .R ,R ,R ,2R *R *R *  M R R R   M R R R MRRR MRRRR R R h uR R R bcdefgR R R _`aVR R R [\]^MRRRR R R R R R R R R R 4R 4R 4 !rR 2R 2R 2R 0R 0R 0WR -R .R - MRRR MRRR MRRR MRRRR (R (R (5R &R &R &R #R $R #bR !R !R ! MRRR MRRR MRRR MRRRE$R R R 789:;<=>?@ABCDEFG]R R R 456R R R 123R R R ./0R :R :R :R 8R 8R 8R 5R 6R 5R 3R 3R 3R +R +R +R )R )R )R 'R 'R '  R $R %R $     MR R R  MR R R   M R R R   M R R R  R R R $3R R R mnopqrstuvwxyz{|}R R R klR R R i MRRR MRRR MRRR@MRRS vR R R -aR :R ;R :+,R 8R 8R 8'()*R 6R 6R 6"#$%& R "R #R " PR R !R R R R R R R IRRS ) IRRS (IRRS 'IRRS &R R R R R R R R R ! R R R  R+R,R+R)R)R) !R'R'R' JR"R#R"z{|}~R R R R R R R R R SR R R IRRS %IRRS $ IURRS #jIRRS nR R R jR:R:R: $R8R8R8R6R6R6ZR!R!R!xy RRRrstuvwRRRopqIRRS )uR R R R R R R R R R R R KJ'RRR#FGHIJKLMNOPQRSTUVR4R4R4R2R2R2 R0R0R0 R-R.R-     )*+,5R +R +R +:6R )R )R )7R &R &R &]8R $R $R $!"#$AR R R BCD -S 9S 9S 9.S  S  S  /R R R  0R R R 9R !R "R ! :R R R 3;R R R <R R R %&'(EFGH11 R R R      2R 3R 3R 33R 0R 0R 04R .R .R . =R R R  &>R R R 7?R R R @R R R  IJKLijklUVWXuvwxabcdMNOPmnopYZ[\yz{|efghQRSTqrst]^_`}~  Ôrootkt ,Ì%CROMIX version 11.11 usrrbuf ino>filPmntarglckR1D fjv8y!@!)@!~! ) !!~! ) 8B!*srG!  2[ 0Q !4& ͜ !J[i) 60!"Ô+Not a CROMIX disk /etc/startup.cmdcfish-q/etc/startupUnable to read super-block Unable to open console /dev/console/etc/iostartup.cmdcf/etc/iostartup/null 8HSU|&o! CROMIX Operating System version %02x.%02x Copyright (c) 1980, 1982 Cromemco, Inc. !6A22:: S8l/etc/ttys!! 8 8 <!AR  7!! 8A 86(#  ͱ}nf͊< !R >2!S0R!   !Bv System shutdowcromix.sysQcromix.iop.sysPbinOcmdNdevMequLetcKgenJusrIdummy.msg.tmp- n in progress System shutdown complete !)@>2nf" o~0(cͱ T}02{02nf"nf"! K  8)*sr#s#r#K2J|( }|ї~0 D gtty!AR ȗ#^#V*sr!A66*|(|<#tJ8e}=(=0J8}o"0< <\!i0DM)) )i Floppy = 1, Hard disk = 2 Enter major root device number: hd0 = 0, hd1 = 1, hd2 = 2 fda = 0, fdb = 1, fdc = 2, fdd = 3 sfda = 4, sfdb+R: !L͔CR81y2fn"!"!""Ý2q$ͻ9F%p$yQ`/etc/ksam:!w$~*B8~%!˾!9ͫNFx(Ͳ* 4nf|E=(0*  )8*>.8 ZL8C> .( 1F()nfu"t#L8 n f!F( +o&Fc*(p*( *(!##^V8% 8p͔$ F9ZL0=qpsr6666 666 6!!8u&t'!u*t+ q q!B login/etc/login.bin Login:    K  8 8 !_ BjNj/dev/nLfM~ a()8   Q ~2Kn,X` %K8+~ ( ( (#6 8xwT 7 8(UP~TG8~;( *( . <+~ B ~ ($ ( ut##~:( ( ( #͝ (,#͝ (#6ut##8 +~  7^VR( +~ ( (#w~TG!0 7~TG 0 7! 8 0/^*V+,8Nj,z0 #ї7F^#V#|7( Zj  (F%(Nj 8z>7%s: Shell command %s Command not found: "%s" -c-p-q/bin/sim.binshell/bin//cmd/.bin.com.cmdPID = %d n*f+(8=0 + N !668ڼ'+J*(w v(82p A  ]8n  +F |(u(  F8@?> J(w J(*(w u( 0F +  !~<([ (= Kz(.ݾ()8@~݆8784( wzwzݖwN~8wO݆WyN8###R8 }OyO !~8O( qrsGzݾ8 r~w8y8'~݆ ~_V8{ y###R !~ ~8_###{>!x(OT]###x(O: >7 O=2Ö́ɡ(:2:~2W!?>@>@y!?@!_͓ = 5, sfdc = 6, sfdd = 7 Enter minor root device number: !  6>/2> ! !|8! 8 0/etc/mtabroot!  0Q CLU2[ l RTbk(( (( 8w@#(R(>@> @>@+96<>(>2R> ,%(:RO x:ROx@@> @> :ROx( y!Eseekwritereadhomeverify Disk %s error: Dev %d:%d, Blk %ld, Cyl %02x, Surf %x, Sec %02x, Stat %02x Disk %s error: Dev %d:%d, not ready Disk %s error: q'#4u"t#nf^#V#NF u t ##Rutyw ##W̓F ^(vR^TW FN 6  F  F v(F + !T]K8^Vz8#x(Y=(1=(2V™utv!`Z +nf!>>KI^Vut!f(srv ͂cR( !`!`>Hv [!@ut!@utfvnf@nf@x( :A +fvNF!E8s r!A.(7 etc/who6T]/w(#6t&u't(u)s t!u"s#t$u%s+r*!  8 o&0S80 !  8 0 /etc/accountW*u0t1|( 4SWZ ZW*a:^G[_:O f('|ݾ1 }ݾ0  ~??݆G>2:>21*a:^[_ V(~??@ O= @ "y22*"Dddn"f#2Gn( @(P͕(;&(]%(@N7((e͞(+͌(͕(&(;(%( (( w#J(w 6$$@((7;%(& F  ! ~ 9!'+!'+60J(͞() 50(w#( 40$07V^"V#~ J(͞(;(%( & ͍w s"r#$wJݾ͏(w#w J͌(~ mN 6n"f#~(^#u"t## S~i0 * F>#u"t#w 8%nf~#ut f(~ 0 >#6 ɧ(݆݆ݾ?nfO ^#V#srv )J(2s{!**usr##uͨ]{Q ~W0ewG!_^#Vz(S!6*>.7*^Vͨ:S"!ˆ~$Z{D>7w6h///0H[I17/y5465778S8;;99V9Z9A9R9^9b9~JsM^0k0i1v188_2l222 3383n333 4(4K4fegqYXZ[![U+RSTNTRRY4`4q444: 2F%!g8%!F !4!V!ˆ:!u!h!v˶ sr!F!nfÇ!!5:Oy/~. .(Ù!i(y[(A*(?( n#~ d(a*(Y* !0Ix ~.(?#~ i(0](,(O- i(](8y0(](~(7s,r-=w0w26bk##!!T]52 ~^,V-~0Nwy#6RN#F#^#V# (#nf|(##nf| 0 +~ n*f+8HA0~ + ~  + ##nf|(@8  +Ͳ*##nf|(8v* !# +nf|^Vz*$8 + nf| +##nf| n*f+ Dev %d:%d, write protected !9nfuJtKnfuLtMnfuDtEnf uFtGnDfEe  ) :( <2( ! ~ ! (0͸ 8uBtC! u@tA!uHtI!@! L!F !BN /v "~ ^Vz ^Vz Q^!E0##~7j +n f ++ut4 n f ##u t ++T]BDMbkut!]J!Z("Ý"""2!Bͨ!@ͨ!ͨ""S"*!u!@u!Bu:G(:****Ý:!9u"t#!!*R">2:(3B /*n2f3u2t3044 45bk)))))|= :02?*1"?!">2Ö́>@6>@6!:(y`{ xGx2banks~u"t#qp6 u t 6#6# ut~wɧnN~-(#([( *(?~ 7!Bj!: T{0| 00000.pipe ><|"'Syntax error /dev/nulln f n*f+ͷ s(r)n&f'> iBj! V( n*f+ 8Jz> C 8=p n&f' F8?!6!~(! !8͡ 0͙ & +n&f'> i͡ 8͙ ^( ۧn f R(}͞!n&f'u(t).F ^(V)Bjn*f+'+T]~#^(/ T]~# n(f)+~^*V+R#( / +6fn(f)+6 8 !# +%s nf|(~w6%4|6#^Vz*- E!#j0((0#8+O nf|*& n f!|^V6nf|*#F%( #F% &4nf^Vz*F%(5~!i!#(#!7yrewaERRor=!=nf|*Fx!T]J F9Z@(% nf@(iO~( i #J(y͌ nf|*% |( *8+46nf|(%|( Es r!ͫ$!6nf|~- ###%| *(' 0#wnf##|)8z :֝w:םw:؝w~ݶ {2֝|2ם}2؝>7y!c3 jsr^V^V^V ^VG3N3U3\3G3y ~ݶ y!c3 jx!3 j>73333srsrsr y!3 jsr^ V ^ V ^V^V33333y ~ݶ y!3 jx!4 j>7 4443s r s r sr~w}(~ݶ>7}0 >(8>(wnfutb[͈iutsrͤi>srut*Aut~ݶ>7:42KC1BKL͔C4Q`y!u5iN*%9k5p~ y >7 y^h8t88on{7(~> !--Y(.alQ(.wlI(.elA(.r!J)!9%c%c%c%c l&kjy!)i!)!9|&okhjy!)i!)! 9%3.3s-%02d-19%02d %02d:%02d:%02d%3.3s-%02d %02d:%02d 000JanFebMarAprMayJunJulAugSepOctNovDecDM7bk6 6~XݶY( ##x 8>7* .$    ̈́9z .*sr:_z>7 ~~x(z(z {8PY( ! .^ .!ӝo`:g J~("V^fnKBKÝB?0#z(!|({<8x y0`i,\^ (!ӝo`:g `{<8[PY,*| ~(3]>]~(0*[Ýz { | }(8rstuo`Kͻ98j*[Ýz { | } !!""ÝututYn f n f Nnff/*8*ut">7 h8Ynf nfNZfi~ݶ(>7y((>7͔CP > 7~wrsro`ͣ`y h  h>7͔CP > 7 ~wo`ͣ`* :D8SS2͇,8͒-͒-͇,0͔C~>7 8^h81*NFqpnfut~ݶ qputQ`͔C͉0Q`K iV ^ Y1V ^ xVsVnVi~W^^V^#6>@ ?!? ^6#V6o&))=>w#ws2?: {:*>2:?o&));>^#V#~#foi: :S"Z{D O`xÓëcccccccNA +nf|%B +)8z!0%Illegal number: "%s" iO~i #  nf|()~+(- ###%| Ex(A(xDG8h98nf|(##98 +!&^*V+Bj;'8Bj> 7(n*f+ 8nf 8p 7n&f'08R6bkJn&f'087-~w!0Jn&f'@8 F8F> 5 nfut nfu t fnu t ~wY(V^fnutsrq~( ʹ68&68b 7 1~>7(%y( ^h848y(!t`͵^͋`Q`b75ɷ5 B~ n f |(6 6 _6NF n f {_8ͣ`^ V ~ h8 nf*T/  d^ V ~ h8 nf*T/   eK<%9p4b>i}os#r+T]>i x SѝW~(Knf4~5(}< )}o~(^#V+sr[ѝs#r+"ѝ+|,7_W~<(d=(~ A*ѝ|(S^#V+Sѝ~(^V{_s#r# 6#6#ututnfs44x,{,7W~(P5nf~5(} -}o~(^#V+{_sr[ѝs#r+"ѝ,|,7*Kx yo`n f *B( :W(g ~ ݶ (͋` t`n f | *͛Y>/7=V^fnz | }8͋` t`"SÝ2:n f K(7^y(z/W{/_|/g}/o#| yD(J= NF NFJ2= FNF n f {_8,FN FNJQ`>utsr>7b<^Vz >7x 8>7 *X_*[ĝ:ͬ<8[zW!RDMnf~ FNS\<%=$<#;Mz }8 5=z(<= z(@fnutsrV^<^V4^V,"+(#.4V^>7sr ͔C͔1Q`K,7 y!1 jo`$211112$2$2$2$2$22222$292r s 92r s D2~wD2~wD2~w"(. 4>792 L~ݶ>792nf| } >7͔C[hQ`K7|0 W&km͈iy??@"?:@>@~*?-?W~$@{>@ ŷBDM~$2@C@SB>+p+q+6= "K@[B2@1s@1>@{!F>@2!,F!FRunaway program, aborted CDOS simulator required 2@~$GWxy(`{# 888x(H  s"!":{@@s{!9" {~$GWxy(n͓# 888x(H  s"!":{s*f+F ~s #~q #+'ݾ2 +'ݾ3~WW#~# # Ͳ*l* !q(!(*a:^ ~e(a*(4^VRe(>T N >R V >W n >S f >?o&nfl* [n4f5͡in2f3ͤi~%!7#0n}(%n&nn f nf!(!9!(~ B ;n(f)N&F'| !((> ~%x##(#0b*( > [_=f' PID State UID GID Ctty Pri Bank Seconds Command PID State Command %4u %c%6u%5u%4u:%-3u%4d%5u%6lu.%03u %4u %c shell ~%`~!-7iFV(~Gpy(>&7 @͔CK7NF x y>7n f | } {_t`^h8/NF n f {_8t`^h8 7͋`Q`͋`Q`77(7.7:P7~Nqw##K<~>/7NF n f {_^h8t`nf^V͵^͋`Q`K!`6~w48:*~w48Q`u t s r *FͿ5ͣ`͔C ͔C8 P Q`> 7Q`K<~>/7NF n f {_*y:vWKw8BKxk-:g Z[_(G(LWp-G(PY*"*"0*Ý#"Ý*R"| !~# ( (x !BK_:WK**x(Wb SZ(B^]R({ ( z2B(s̐#"!4 #4 #4 #4 CZ b x({z27K<"Sy2nf^V"SÝi.iY.*[Ýutsr[RY(VF>(7(s~ $^ V h8aYnf nf*T/H Y>(7 =NF n f {_8&t`~ Y9;Y̿: Y2:Y̻9͋`Q`^ V ~ 2h8O= z( D= .%yF=8z=8{=8 |=8}=}o˽%˼˻NF_V:^;f w\$>S\NF&o))^VV^fnz 5:_(#E]0\*rstu>] >\w\$>\S\4! 4 4o`͊\$>]6nfGw#w#!?i~#< !;>##~#(#79>p+q+r+sO! O!? s#r#! W>@s#r#>@>OW>@! 6 {@@!9" {~$G:OWx@^y@x~$G:OWx@^#V+y@x~$G:OWx@sy@x~$G:OWx@s#r+y@x"!"E3D/E0qD0D8D͑H0p(^Vt`͈E07 @(cF͋`Q`H͋`^G84H(/E8̀Gͣ`Q`\H(Q`>%7 \Q`.6NFnf{_D[z { z {(?;F8GHHDz>7D~( |ݾ }ݾ([E\0~ >/ ,Q`OE*T]͒-8ii0i0 .(_($ >Z͡W*f n ut f n ut.f:"f;"!""Ý2ͻ9Q`.~:݆;g͚X!ˆ.f:Ý͔C8l~> h^h8a*"! "!"!"Ý>2ͻ9zݾ {ݾ ^Vz_J8~>0}Q`7ͷWU8'*nfut~W8 !T͟VͯV6 ͡WͷW~W8V6$6%*̈́ZÞT͡W~$>7ͷWU87nf*utnf##uBK~W8!T͟VͯV6 ͡Wu,t-z(DNFx y@0  ͚XbkBs*r+!nf |(ut ##q&p's(r)PnfutnfutsrqpQ`*F(PYEe!h6!hQ`~ݶ>7͔C~FNQ`>7x K!gI8!Xb>7 6PYf!h*[:~v(&|ݾ }ݾ xݾ yݾ NF!= *:~g[v(x y % >7I8NF^Vnf*:~[~ = >7>2'K!9͑Jɗ2'KoK^V!FM#(u%(BK8tFM- #FM0 MFM. #MS]FM_L #FM, #)KFM# o((˹ ~(Y| }(,| I^Vz { 7^Vz( z { !^Vz(z {(>7˹͛Y[_y>-7y(!=0* H N#F+s#rqp>7y 0E~F(y :*R y0* N $F ^#V#z(qF fn0f1*a:^G[_ ~( | }̛Y*~F(X: Q„NF* F N#F#x >2+R6F+6+6*uPYͨ++"ͨ{DˑnHfI@(&yo| }8!uHtI####  )[|(3Z uDtE)[* )[nDfEut6D6Efile nameDirectory not accessibleFile not accessibleFile already existsDisk space exhaustedDisk directory space exhausted (inodes)Too many files open (inode table)Illegal system callFile too bigToo many devices mountedNot a directoryDirectory filePrivileged system callNot mountable deviceFile system busyNot ordinary fileDevice not mountedNo processes to wait forAll memory in useDivide overflowNo system buffers availableArg list too bigToo many linksIllegal linkNo device driverNo proz(8(_]< o`=a^8=S\88nfV^fnz( (_] \'7/ ͒->EOE͒->E>7*+"*#">h(2(~{?0E ,>/ ,...~(>7+^h8$HH8z>7(~(͑H0*OE͒-W/ K!8. (͒-. ͒-( /(>E>EWNFnf NFnf{_8z/( ^ ;F8 ͒->EfnNF^VQ`z { J{_/EIG^hIGX(4NFx yPG~ NFxݾ yݾPG>HHLG~ ~(#X $NFnf`8V n,f-!ˆ!*a[_:^G ~(0nf|ݾ }ݾ nf|( | }  N ˹y>7* n2f3^4V5N6F7 N8F9JN6F7 N8F9Ju6t7s8r9nfutnfut~Fw6 MV8i*bk66 6$6%*ٝut*nfutNF̈́ZnXfYuXtY|(4####*ٝ#"ٝ|(!*a:^G ~ z  | }([_|>!7: " nXfY|5##N%y(V:^;z { y}^*^#V&K8 :'K̆Kd9LxKu;Lc;KsLBKRM##*'KE XK@"'K*w#"*+"|̆K*"!" [!R*Rz .oKLL.Q( LL.,-( ;0 - ,3e$A(%( ;BK8   I(0L8 %(;BK0%(;{_?ЧzBK RM#-Ll 80glM##a(|(Q([M##z(a(z/W{/_|/g}/o#|  ͤiͤi{03 z(Y(>,3 i(>-3 yoKlM##A {(FM(#{( > BK8&FM(BK8#{( { )[^DVEuDtEsr)[* !"[:^G*a ~(HnDfE|(>[[R0!uDtE|  ^ ^̛Y[[z(| }0"[[_!"[!ŝki0 !ӝ 7*f(3]qp u t s r 6*i:fG[gf(V(  h3]*i:fg[gxݾ yݾ ~ 66 % ͊\~ N f~\!7PY`i͢[8x K*i:fzݾ {ݾ |ݾ }ݾ +xݾ yݾ V( hKg = ͢[8vcess tables availableBad valueNot connectedDevice open errorDirectory in useFile in useNo matchChannel access errorNot a Cromix diskBad free listBad inode numberRead only file systemProcess not foundAborted system callPipe errorKey lockedDeadlockLock table exhaustedTape I/O error!egͯVY4V* *a[_:^G ~(0nf| }nf| } 66* SͷWcS85U8(q$q%t:u;nf*ut! S͟V}Q`͡WͷWcS8Vq$q%t:u;*̈́a^V!^~ c~ \> 7a5V^fnd8>]{_at`~(͋`Q`͙d*^Vr s ^ V r s :w:w:w66tunftu"!ӝ!ӝ!ӝ͋`W*q[o:ngx y V ~ 66% b*q[o:nGV(~ 4 ht`c͋`Q`*q:nWx y |( | } { _[o *y:vW~(x y |( | } [w *a:^W ~(:x y |( | } x y |~<>7(K4o`NFpq3]FNpqo`>7\fnNFͯI{_~ 9~ 2NFnfXb ~ݶ NFx y >%7=^h86FN pqo`]~(5o`2!""Ý*| |\{<8`! * "0*Ý#"Ý*[Ýz { | }8$(":_(rstu \!ѷ#7 (~ݶ>7͔C~FNQ`>7x K@͔C~>7 m!gI?>8U7W*n.f/|(6.6/͡W!͝ki0! !͝ki>!͝7iz~WڊX66 ututBK`iunfs#r#utnf##ut| }ҒXz nfutnfutnf^#V#z(O++NFq#p#utbk~x(5nf ut| }0bk^VLbk ut͡W>7z(@NFBnf |(ut ##NFnf͡Wq&p's(r) *a:^G( > BK8FM9M8@M9M8 MD)) )O 0 ?FM^:'K]{FM^#V+:'Ku[MoK~(!M58_^#V#(XK(->:XK> XK>"XK]{( 0>^XK~@XK#>"XK> XK͆K~XK#MNbNuNNNNNNN O#O7OKO`OOOOOOOPP/P@PRPeP~PPPPPPPPQ Q.Q@QQQ]QfQ{QQQQQQQQQRR!RUnknown error numberBad channel numberToo many files open for this processChannel not openEnd of fileDisk I/O errorToo many files open for the systemFile not foundIllegal !ŝ7if~\>7f\]\!S\]nfV^#V^f n!z > 7Oa^0666 6!!tu/5 )S\0!nfB\͞^>]a^8o!S\nf8W~P *͊\^VB3]66͞^FN4! rst u!>]I83z { | }0z { | }0>*7!ӝrstuz Srst u!NFV:^;f]ldS\8^V}=W*^ NFnf͗c8 ͱd3]I8Z!|ݾ }ݾ 0K~P0D͗c85~ ~P04_#tu}# \I8#+| } ?>+8<<^ V  T]6 I8+| } #>+?h8*Nw\sr nf Zf4{jtͫsW1tƨ_z4{04848 s40Utjt02t7:tOks8 483Ut02t7{7rKt88A043#43#43#43#403>s*tE3*tO4(2tt4\t_:t(!!:t :tg:t2t 4 jt! Nwtx2t>2t:tG7G:tW(G(x 4/ >ɯ42tHs4\t!'wt\t:t(}x!:tW ! +}  +wKwkwwwwW^Vnfsr^VnfsrWnfutsrututnfR 7h>C( = z {?>70BB0 = i i Ʌo$iA[?a{?0:? ?i?i?i?ɾ8~#i~#fo~iGi ( #7 ~i~# ~#  Bj~# j*a""6 >2w$w%*ut!utut"ٝu&t'!u(t)!|G^ͦ[*srsr!ututEe!7RDMbk62!ŝ>>>>/2.!",@> @( >2.#",>>O#~>2!> !͈iNF ͡iN(,2t}2t:Hq(n f ^{2tAt6:t6Kq(n8,>2t!"tfq(n8͜q8Ep p1pp͊o66F ~w!pf V(F  n&N()+NF ͈if V <<^Vu t srzSDͅp ~TDͅp |DDͅp xSCͅp(LCͅp(SBͅp(lBͅp( *t~#~{!k< = p( p(pMpMq( q(qM7qM      = z:%w>= >ð> 2Q*,&"(!"*)Z6\:0!5 >21l!iO ͼ:1!I!IJ;6!w>͠Oͪ>͠Oͪɀ@ (ͼ##>4#4+Q>҃:0 >21l:.2/>͠`2/>>ð:$G:#G:$>͠g> 21l:1:0$ >20\>2021O>20̈́>2>2Q:/(Kj>>Ͱ!:4G(>20\!5 >21lZ6\!5 >21l\~>>ͼ*%5(%K#!5 >w!(>!("%\b[BKa\h8*Nw\sr n f Zf\deBK!S\fnff(e#nf:ӝ nf"ӝnf"՝nf"םV ^ fnutsrfn u t V ^ s r ::utsr\\>)7PY ecromix e:! 6^V h8n f Zf6 F( T/N( ͸g*!:G~(>*| }(4>ig %yG I>07g | [|>27*ut: ͳ|>22!tt6z@(4~= s,y3y"z@(~5zn @x~w~7zy?>"!w ^#Viwwwww~ ~~~wf ^ V.)jutsr>"70g6o:'o&:$o*%n f ^ V ^V k&jxo[!z_J!9ɗ2|n f ^ V z { | } 0Lz | }8>2|xnf"!z"F ̀}0( |0 66767NF ͤiN͡iKx"%y2$:|{(!z~2'~2#~"ŝ"ǝ! ut7i!ɝ"ɝ"˝!>7i!͝"͝"ϝ!R͡iEx2!7i!^#V#z()z<(srsr66nfT/!۝+!'^#V#z(z<(nfT/-l?llllFm:t!kkO6͐p@(4~= XsS A66{2t>2tt4>jtw ${_͐put6666͓nQo,͐p@(A(͓n?o~5͐pn ͟m~Jm~7͐py?>"! m 2"D~0 rQ0 gQ*++++"**,"()Z6 **<6(8!"5 > 21l(\:0(!!5 > 21l!"5 > 21l3~#~D~0!~0!~>2>2 Q0 wQ*,:.(#"(*++++"*!$~~Z6(\!5 >21l3!2F(,**"|"0(>20\! 5 > 21l**!Q0Z6\h =!r~:/>2BbPχ*("?**+6"D!= :. C>ͼ>Gy>yx~Ay>:/>(>ͼ:/˧(                  q> 2t.rq `.r(Uvq:t:t:tˇ2tq2t2t2t.r ͸r (vqs (vq:tO7ɗ2t2t2ts4͌r804W =0Þr>0\tWjt@ Ut4W 0>01ðr4W 0>2t7ɗs4:t3O:t2:t1Ut͌r804W 0@\tO>04W 00.2@ - @ Ut$:tW(_(7:tUt!dwt02t7:t2tr04848¿r4O 0Ut02t Ut>2t7BͫsW1tƈ_zW>_24>G>i8  +| >>24xAͼͼ >20\@  >20\W>=23:3( ˄5K!,J8 G!2ut4(5>$7K5 "~(͵YͿhN x w`yww#NF f(4N0F1*x y8#0x y0*| }>17(͸g*:G~(6*| } 'z(yG >ig N6[|(%z {8*+6L #~4( 56z [!6hz *^V!%6hz(0(i~#fo#|+( |(> 77*0##^(~ y (>,7hyO~ݶ I(~ ~ @Lnf| } ~(3n f |(| } ~(~(~> 7(> 7G   N#^#V~2#0 bh0 Z!"%2$2'!z"|0 ?ͥy!"%2$>2'!z"|0 ~!{(=67!{~C(%H!5z ~D(0y84Az~H(y8z8z07~- ~1807FN!11B!5z( !60B!;z(7^ V#^##~#w~#w~#wN͈iN͈iu t sr!zu t 6{0!s< = 7>       ^#Vimmm#m*m~ ~~~wf ^ V.)jutsr>"7i&:to:to:ton f ^ V ^V &kjxo[!y !zq(x=(!_J!9>2Hqn f ^ V z { | } 0A| }8$f V(nnfq81Gn8, 2HqUn8!6z { >  66:twnf|(:twF ͱq͜qnSt:tˇ2tnfq8Gn8*t"tݧnf"t!"tn}2t>F ~(2t} 2t2t͓n~2t:tV(2t^V$(H%R0 ͈i>>A>y>*(+"?**"D!= >ͼ:. B>Gy>yxbQAW>z>20>>Q>AW>z>200:G:' G>Gx >2>2;0$0 6(!5 >21lh0 !<6!5 >>2>2Q̀6\:0 !5 >21lh0!5 >21l:/(4jͥ!:4G(>20Z*%>Ͱ}>ð0*#&5~[%0Dz8{ 8> /Gz0  G~"" ~ |˿ >Ϳ|íyy  ԋgyMD!h87ʽ(ڋg>Ϳ>.Ϳx>9f"l =ˍͿu"|=N͜8!x(ͻ> y~p͵>#7~""ͬ> y!́>y ͣ xx͵888 ( (w":؝O! :؝(7(O! 0! ͦ+666!6$R6%6'66F T~ '! ͦ+8EG"n Vφx !ͦ+8Gn ~"0x ˿(x͒-0ߧ>]~ (G!"n 4˿n "f xCHsN*F+nfBut5 >Î> j~  6d6dw www"w#!>nM^(n f!u t!^VT]DMbkB0*nBMw w!nfR0Rn f!|ȗw w!T]DMnf B0 0ut̘>wõR0n$f%^&V'R/nfu"t#ѕn"f#^Vnf)ݘn&f'6+n$f%u&t'~_(N"F#q,p-~ g07 (8Cn,f-}~Gͩg^(V)n,f-<u,t-#~ 0?w(?_(^(V)n,f-R`iO)##DM#~ q,p-ͽN~(g> >\^’nf}(5~ 6+ut!Oi~/ !ͦ+87"n nu( } ~ ~}(nfͩ͞~ŜN~(>@r!͋! ͋!͋ͦ+0!-!8Y{?> 7ɧɧ{*Ý|[!R +,{ !"@X'))>v͋>>e͋>>> >ͣ>*c"cé n*<͢"͢">*cRog"céJ!!*:[:": ь6)Pis{6{ F8OyV8D́͘s#rut(> y ~y >"7>(7 0i~ 0i(T~p>"7yGy/Gnf͑ !nf͑z +| ˽˵oկ[A 鮝-{6!3:!.nf|R(>$7R{ {68RO|{8 >y y)(%O M͋>8^͘qutͪ=~ 7~( >@]><0! ~><n><4(5>$7n in progress System shutdown complete !)@>2nf" o~0(cͱ T}02{02nf"nf"! K  8)*/sr#s#r#K2J|( }|ї~0 D gtty!AR ȗ#^#V*/sr!A66*|(|<#tJ8e}=(=0J8}o"0< <\!i0DM)) )i Floppy = 1, Hard disk = 2 Enter major root device number: hd0 = 0, hd1 = 1, hd2 = 2 fda = 0, fdb = 1, fdc = 2, fdd = 3 sfda = 4, sfdb(T(P#(K%(X f( xVĠ ,8vͫn !~"0 x˿ (((<"F(͇,8Mͫ˿ 0͇,0y(~$R( ~%ͫ>  qp6͚͚G"n L~Ox(҇ˇq Úyʚ˸˿n (v(w !fs& !^(o!~xF(f't>r!  ,8w"n~!oFĄ!NFx˿ f(> W~ >rYͽnfY~ V~)"n>F^"n (A (1((#( 0 >^ڈ@v(~$R > >D!~`iO++)DM+^$V%ݘ0q,p-NFq,p- ( 8 0?Nwy ~+~=  ~000w+~0M (T8mn,f-^(V)Ru,t-<}Gͩg+^$V%ݘ0w(~w(g(0w0 ?w(~(?_n,f-Ru,t-<(n,f-^(V)u,t-( ~w}>.ͩx~}>_ͩ! R0}Di}>_ͩnnf#}xͩ^VutR0 }/o|/g#>̘>{Mw>~ /Ny>}N dy>dy/N y}/ yRn&))))&))T])}wOͣ6!\u t 4 5>$7K5 ~( Y˛čçy˿yyy yg66@6B6 B66( (>r^>r͒͘-?g^ ~~<8 >@]|͊>f "|!lQ0 4>;6>́>]~ o(w |*jQ0w |~w+#~7# ~wSEQs0pp;:P12P345678P9P 8~= 84 Á (m (( g !~ =w >́~u~ =G~=x8#N  ́~ x> Ôrootkt Ie@ICROMIX version 11.11 usrrbuf inofilPomntcarglck1D fjv8y!@!)@!~! ) !!~! ) 8B!*/srG!  2[ 0Q !4& ͜ !J[i) 60!"Ô+Not a CROMIX disk /etc/startup.cmdcfish-q/etc/startupUnable to read super-block Unable to open console /dev/console/etc/iostartup.cmdcf/etc/iostartup/null 8HS6B6 B66)5)͒-?~<8 >@]<! ,Fѓѓ)y]! -)yqg! 8!eu$t%u&t'! ͘6 ! u(t)u*t+w!bu0t1!,ubtcH>͹>! ,N|r!9u.t/n0f1!9u0t1n.f/N@@7!ͦ+8N(G~( >@rxS^ j!ޔ(p0G N*F+nf nݘ4sr4 ^$V%!n&f'w#u&t'R0?w*?O M (D !! N#fi ia 6M = 5, sfdc = 6, sfdd = 7 Enter minor root device number: !  6>/2> ! !|8! 8 0/etc/mtabroot!  0Q CLU2[ l RTbk(( (( 8w@#(R(>@> @>@+96<>(>2R> ,%(:RO x:ROx@@> @> :ROx( y!Eseekwritereadhomeverify Disk %s error: Dev %d:%d, Blk %ld, Cyl %02x, Surf %x, Sec %02x, Stat %02x Disk %s error: Dev %d:%d, not ready Disk %s error:V> > ~  7>͒-?g~ ~<8 >@]|D> 8("n n ~(=84ÿv (9 ʙ ¿~ ~'8Ϳ~ é~=G~(=x"n 8$N  Ϳ~ é> D~ !v70"n~)"n !n > Ϳ~ @ͩ6h0 5 9~'w!F(-"n 'n !~) v(6͙͚>]"n fę> Ϳ~ ͩ65~'w6> Ϳ~ 0"nvGͿ̊nꊧ! ,8v Wn~N!6* ~(7xͰ1(A((O> y ͣx8{:{{ 38>88s#r*͘ut}ͰO}ͦ0q0ͣNFB =>$7ɧ<>7(<>Ky0 Ky0Nͬww#w!!{iV+^K͋>8xTMD͋>x'^Ë>T>K>^>( !fi~#> 7ͦ:ͦ:~:(*8:hjxzy!i͖x͖x/w y  ͣ ͬ x 7Wͣx~('0$!i~(x> y~  v7G(~ n > ́~@u6 ~w G f> g6 > ́~u5 6 ́~0Ǵ͎N͘! ,WŅ^ AN!ͦ+85nu( } ؏ ؏}(n f ͩɯ ,F~(>@r!ͦ+0!-!8\)ScU|&o! CROMIX Operating System version %02x.%02x Copyright (c) 1980, 1982 Cromemco, Inc. !6A22:: S8l/etc/ttys!! 8 8 <!AR  7!! 8A 86(#  ͱ}nf͊< !R >2!S0R!   !Bv System shutdow  Dev %d:%d, write protected !9nfuJtKnfuLtMnfuDtEnf uFtGnDfEe  ) :( <2( ! ~ ! (0͸ 8uBtC! u@tA!uHtI!@! L!F !BN /v "~ ^Vz ^Vz Q^!E0##~7j +n f ++ut4 n f ##u t ++T]BDMbkut!]J!Z("@">"<":29!Bͨ!@ͨ!ͨ""S"*/!u!@u!Bu:8G(:9*:*<*>*@:8!9u"t#!!*R">27:8(3B /*/n2f3u2t3044 45bk)))))|= :02?*1"?!">2Ö́>@6>@6!:(y`{ xGx2banks~u"t#qp6 u t 6#6# ut~wɧnN~-(#([( *(?~ 7!Bj!: T{0| 00000.pipe ><|"'Syntax error /dev/nulln f n*f+ͷ s(r)n&f'> iBj! V( n*f+ 8Jz> C 8=p n&f' F8?!6!~(! !8͡ 0͙ & +n&f'> i͡ 8͙ ^( ۧn f R(}͞!n&f'u(t).F ^(V)Bjn*f+'+T]~#^(/ T]~# n(f)+~^*V+R#( / +6fn(f)+6+R:3 !L͔CR81y24fn":!""@29q$ͻ9F%p$yQ`/etc/ksam:4!8w$~*/B8~%!8˾!9ͫNFx(Ͳ* 4nf|E=(0*  )8*>.8 ZL8C> .( 1F()nfu"t#L8 n f!F( +o&Fc*(p*( *(!##^V8% 8p͔$ F9ZL0=qpsr6666 666 6!!8u&t'!u*t+ q q8 !# +%s nf|(~w6%4|6#^Vz*- E!#j0((0#8+O nf|*& n f!|^V6nf|*#F%( #F% &4nf^Vz*F%(5~!i!#(#!7yrewaERRor=!=nf|*Fx!T]J F9Z@(% nf@(iO~( i #J(y͌ nf|*% |( *8+46nf|(%|( Es r!ͫ$!6nf|~- ###%| *(' 0#wnf##|)8z !B login/etc/login.bin Login:    K  8 8 !_ BjNj/dev/nLfM~ a()8   Q ~2Kn,X` %K8+~ ( ( (#6 8xwT 7 8(UP~TG8~;( *( . <+~ B ~ ($ ( ut##~:( ( ( #͝ (,#͝ (#6ut##8 +~  7^VR( +~ ( (#w~TG!0 7~TG 0 7! 8 0/^*V+,8Nj,z0 #ї7F^#V#|7( Zj  (F%(Nj 8z>7%s: Shell command %s Command not found: "%s" -c-p-q/bin/sim.binshell/bin//cmd/.bin.com.cmdPID = %d n*f+(8=0 + N !668ڼ'+J*(w v(82p A  ]8n  +F |(u(  F8@?> J(w J(*(w u( 0F +  !~<([ (= Kz(.ݾ()8@~݆8784( wzwzݖwN~8wO݆WyN8###R8 }OyO !~8O( qrsGzݾ8 r~w8y8'~݆ ~_V8{ y###R !~ ~8_###{>!x(OT]###x(O: >7 O=2Ö́ɡ(:2:~2W!?>@>@y!?@!_͓      !"#$%&'()*+,-./01 q'#4u"t#nf^#V#NF u t ##Rutyw ##W̓F ^(vR^TW FN 6  F  F v(F + !T]K8^Vz8#x(Y=(1=(2V™utv!`Z +nf!>>KI^Vut!f(srv ͂cR( !`!`>Hv [!@ut!@utfvnf@nf@x( :A +fvNF!E8s r!A.(7 NA +nf|%B +)8z!0%Illegal number: "%s" iO~i #  nf|()~+(- ###%| Ex(A(xDG8h98nf|(##98 +!&^*V+Bj;'8Bj> 7(n*f+ 8nf 8p 7n&f'08R6bkJn&f'087-~w!0Jn&f'@8 F8F> 5 netc/who6T]/w(#6t&u't(u)s t!u"s#t$u%s+r*!  8 o&0S80 !  8 0 /etc/accountW*/u0t1|( 4SWZ ZW*a:^G[_:6O f('|ݾ1 }ݾ0  ~??݆G>27:>281*a:^[_ V(~??@ O= @ "/y2627*"Dddn"f#28Gn( @(P͕(;&(]%(@N7((e͞(+͌(͕(&(;(%( (( w#J(w 6$$@((7;%(& F  ! ~ 9!'+!'+60J(͞() 50(w#( 40$07V^"V#~ J(͞(;(%( & ͍w s"r#$wJݾ͏(w#w J͌(~ mN 6n"f#~(^#u"t## S~i0 * F>#u"t#w 8%nf~#ut f(~ 0 >#6 ɧ(݆݆ݾ?nfO ^#V#srv )J(21s{/!8**/usr##uͨ]{Q ~W0ewG!_^#Vz(S!6*/>.7*/^Vͨ:7S"!8ˆ~$Z{D>7w6h///0H[I17/y5465778S8;;99V9Z9A9R9^9b9~JsM^0k0i1v188_2l222 3383n333 4(4K4fegqYXZ[![U+RSTNTRRY4`4q444:8 2F%!2g8%!F !34!V!8ˆ:4!u!2h!8v˶ sr!F!8nfÇ!!35:4Oy/~. .(Ù!i(y[(A*(?( n#~ d(a*(Y* !0Ix ~.(?#~ i(0](,(O- i(](8y0(](~(7s,r-=w0w26bk##!!T]52 ~^,V-~0Nwy#6RN#F#^#V# (#nf|(##nf| 0 +~ n*f+8HA0~ + ~  + ##nf|(@8  +Ͳ*##nf|(8v* !# +nf|^Vz*$8 + nf| +##nf| n*f+ *f+F ~s #~q #+'ݾ2 +'ݾ3~WW#~# # Ͳ*l* !q(!(*a:^ ~e(a*(4^VRe(>T N >R V >W n >S f >?o&nfl* [n4f5͡in2f3ͤi~%!7#0n}(%n&nn f nf!(!9!(~ B ;n(f)N&F'| !((> ~%x##(#0b*( > [_=f' PID State UID GID Ctty Pri Bank Seconds Command PID State Command %4u %c%6u%5u%4u:%-3u%4d%5u%6lu.%03u %4u %c shell ~%`~!-7iFV(~Gpy(>&7 @͔CK7NF x y>7n f | } {_t`^h8/NF n f {_8t`^h8 7͋`Q`͋`Q`77(7.7:P7~Nqw##K<~>/7NF n f {_^h8t`nf^V͵^͋`Q`K!`6~w48:*/~w48Q`u t s r */FͿ5ͣ`͔C ͔C8 P Q`> 7Q`K<~>/7NF n f {_*y:vWKw8BKxk-:9g Z[<_(G(LWp-G(PY*<"<*>">0*@#"@*:R":| !9~# ( (x !9BK_:9WK:*<*/x(Wb SZ(B^]R({ ( z29B(s̐#"4 #4 #4 #4 C:Z b x({z297K<"S@i.iY.*>[@utsr[:RY(VF>(7(s~ $^ V h8aYnf nf*/T/H Y>(7 =NF n f {_8&t`~ Y9;Y̿: Y2:Y̻9͋`Q`^ V ~ 2h8O= z( D= .%yF=8z=8{=8 |=8}=}o˽%˼˻NF_V:^;f w\$>S\NF&o))^VV^fnz 5:9_(#E]0\*rstu>] >\w\$>\S\4! 4 4o`͊\$>]6nfGw#w#!?i~#< !;>##~#(#79>p+q+r+sO! O!? s#r#! W>@s#r#>@>OW>@! 6:Sw:Tw:Uw~ݶ {2S|2T}2U>7y!c3 jsr^V^V^V ^VG3N3U3\3G3y ~ݶ y!c3 jx!3 j>73333srsrsr y!3 jsr^ V ^ V ^V^V33333y ~ݶ y!3 jx!4 j>7 4443s r s r sr~w}(~ݶ>7}0 >(8>(wnfutb[͈iutsrͤi>srut*Aut~ݶ>7:42KC1BKL͔C4Q`y!u5iN*/%9k5p~ y >7 y^h8t88on{@@!9" {~$G:OWx@^y@x~$G:OWx@^#V+y@x~$G:OWx@sy@x~$G:OWx@s#r+y@x"%7 \Q`.6NFnf{_D[z { z {(?;F8GHHDz>7D~( |ݾ }ݾ([E\0~ >/ ,Q`OE*/T]͒-8ii0i0 .(_($ >{7(~> !--Y(.alQ(.wlI(.elA(.r!J)!9%c%c%c%c l&kjy!)i!)!9|&okhjy!)i!)! 9%3.3s-%02d-19%02d %02d:%02d:%02d%3.3s-%02d %02d:%02d 000JanFebMarAprMayJunJulAugSepOctNovDecDM7bk6 6~XݶY( ##x 8>7*/ .$    ̈́9z .*/sr:9_z>7 ~~x(z(z {8PY( ! .^ .!Po`:9g J~("V^fnK>BK@B?0#z(!|({<8x y0`i,\^ (!Po`:9g `{<8[PY,*>| ~(3]>]~(0*>[@z { | }(8rstuo`K:ͻ98j*>[@z { | } !!">"@ututYn f n f Nnff/*/8*ut">7 h8Ynf nfNZfi~ݶ(>7y((>7͔CP > 7~wrsro`ͣ`y h  h>7͔CP > 7 ~wo`ͣ`*/ :D8S<S:29͇,8͒-͒-͇,0͔C~>7 8^h81*/NFqpnfut~ݶ qputQ`͔C͉0Q`K iV ^ Y1V ^ xVsVnVi~W^^V^#6>@ ?!? ^6#V6o&))=>w#ws2?:8 {/:1*>21:?o&));>^#V#~#foi:8 :7S"Z{D O`xÓëcccccccfut nfu t fnu t ~wY(V^fnutsrq~( ʹ68&68b 7 1~>7(%y( ^h848y(!t`͵^͋`Q`b75ɷ5 B~ n f |(6 6 _6NF n f {_8ͣ`^ V ~ h8 nf*/T/  d^ V ~ h8 nf*/T/   eK<%9p4b'7/ ͒->EOE͒->E>7*<+"<*:#":>h(29(~{?0E ,>/ ,...~(>7+^h8$HH8z>7(~(͑H0*/OE͒-W/ K!8. (͒-. ͒-( /(>E>EWNFnf NFnf{_8z/( ^ ;F8 ͒->EfnNF^VQ`z { J{_/EIG^hIGX(4NFx yPG~ NFxݾ yݾPG>HHLG~ ~(#X $NFnf`8VWrong number of arguments ZjnfB8FutnfButBjnfB8 utn f s#r#u t 6#64 >>i}os#r+T]>i x SNW~(Knf4~5(}< )}o~(^#V+sr[Ns#r+"N+|,7_W~<(d=(~ A*N|(S^#V+SN~(^V{_s#r# 6#6#ututnfs44x,{,7W~(P5nf~5(} -}o~(^#V+{_sr[Ns#r+"N,|,7*/K:x yo`n f *:B( :9W(g ~ ݶ (͋` t`n f | */͛Y>/7=V^fnz | }8͋` t`">S@2:n f K(7^y(z/W{/_|/g}/o#| yD(J= NF NFJ2= FNF n f {_8,FN FNJQ`>utsr>7b<^Vz >7x 8>7 */X_*?[A:ͬ<8[>zW!RDMnf~ FNS\<%=$<#;Mz }8 5=z(<= z(@fnutsrV^<^V4^V,"+(#.4V^>7sr ͔C͔1Q`K,7 y!1 jo`$211112$2$2$2$2$22222$292r s 92r s D2~wD2~wD2~w"(. 4>792 L~ݶ>792nf| } >7͔C[hQ`K7|0 W&km͈iy??@"?:1@>@~*?-?W~$@{>@ ŷBDM~$21@C@SB>+p+q+6= "K@[B21@1s@1>@{!F>@21!,F!FRunaway program, aborted CDOS simulator required 21@~$GWxy(`{# 888x(H  s"!":{@@s{!9" {~$GWxy(n͓# 888x(H  s"!":{s ~<>7(K4o`NFpq3]FNpqo`>7\fnNFͯI{_~ 9~ 2NFnfXb ~ݶ NFx y >%7=^h86FN pqo`]~(5o`29!">"@*>| |\{<8`! *> ">0*@#"@*>[@z { | }8$(":9_(rstu \!ѷ#7 (~ݶ>7͔C~FNQ`>7x K@͔C~>7 m!5gI?>8U7W*/n.f/|(6.6/͡W!Jki0! !Jki>!J7iz~WڊX66 ututBK`iunfs#r#utnf##ut| }ҒXz nfutnfutnf^#V#z(O++NFq#p#utbk~x(5nf ut| }0bk^VLbk ut͡W>7z(@NFBnf |(ut ##NFnf͡Wq&p's(r) *a:^G( > BK8FM9M8@M9M8 MD)) )O 0 ?FM^:'K]{FM^#V+:'Ku[MoK~(!M58_^#V#(XK(->:XK> XK>"XK]{( 0>^XK~@XK#>"XK> XK͆K~XK#MNbNuNNNNNNN O#O7OKO`OOOOOOOPP/P@PRPeP~PPPPPPPPQ Q.Q@QQQ]QfQ{QQQQQQQQQRR!RUnknown error numberBad channel numberToo many files open for this processChannel not openEnd of fileDisk I/O errorToo many files open for the systemFile not foundIllegal !B7if~\>7f\]\!S\]nfV^#V^f n!z > 7Oa^0666 6!!tu/5 )S\0!nfB\͞^>]a^8o!S\nf8W~P *͊\^VB3]66͞^FN4! rst u!>]I83z { | }0z { | }0>*7!Prstuz Srst u!NFV:^;f"@29ͻ9Q`.~:݆;g͚X!8ˆ.f:Ý͔C8l~> h^h8a*/"!"@>29ͻ9zݾ {ݾ ^Vz_J8~>0}Q`7ͷWU8'*/nfut~W8 !T͟VͯV6 ͡WͷW~W8V6$6%*/̈́ZÞT͡W~$>7ͷWU87nf*/utnf##uBK~W8!T͟VͯV6 ͡Wu,t-z(DNFx y@0  ͚XbkBs*r+!nf |(ut ##q&p's(r)( | } [_ *:~W~(x y |( | } [ {!S\8*^V!^~P?84_#tu>]ldS\8^V}=W*^ NFnf͗c8 ͱd3]I8Z!|ݾ }ݾ 0K~P0D͗c85~ ~P04_#tu}# \I8#+| } ?>+8<<^ V  T]6 I8+| } #>+?h8*/Nw\sr nf ZfPnfutnfutsrqpQ`*/F(PYEe!5h6!5hQ`~ݶ>7͔C~FNQ`>7x K!5gI8!Xb>7 6PYf!5h*[:~v(&|ݾ }ݾ xݾ yݾ NF!= *:~g[v(x y % >7I8NF^Vnf*:~[~ = >7>2'K!9͑Jɗ2'KoK^V!FM#(u%(BK8tFM- #FM0 MFM. #MS]FM_L #FM, #)KFM# o((˹ ~(Y| }(,| I^Vz { 7^Vz( z { !^Vz(z {(>7˹͛Y[_y>-7y(!=0*/ H N#F+s#rqp>7y 0E~F(y :*-R y0* N $F ^#V#z(qF fn0f1*a:^G[_ ~( | }̛Y*/~F(X:8 Q„NF*/ F N#F#x >28+R6F+6+6*uPYͨ++"ͨ{DˑnHfI@(&yo| }8!uHtI####  )[|(3Z uDtE)[*/ )[nDfEut6D6Efile nameDirectory not accessibleFile not accessibleFile already existsDisk space exhaustedDisk directory space exhausted (inodes)Too many files open (inode table)Illegal system callFile too bigToo many devices mountedNot a directoryDirectory filePrivileged system callNot mountable deviceFile system busyNot ordinary fileDevice not mountedNo processes to wait forAll memory in useDivide overflowNo system buffers availableArg list too bigToo many linksIllegal linkNo device driverNo proz(8(_]< o`=a^8=S\88nfV^fnz( (_] \7*/ n2f3^4V5N6F7 N8F9JN6F7 N8F9Ju6t7s8r9nfutnfut~Fw6 MV8i*/bk66 6$6%*Vut*/nfutNF̈́ZnXfYuXtY|(4####*V#"V|(!*a:^G ~ z  | }([_|>!7: "/ nXfY|5##N%y(V:^;z { y}^*\b[BKa\h8*/Nw\sr n f Zf\deBK!S\fnff(e#nf:P nf"Pnf"Rnf"TV ^ fnutsrfn u t V ^ s r ::utsr\\>)7PY ecromix e:7! 6^V h8n f Zf6 F( T/N( ͸g*!:G~(>*/| }(4>ig %yG I>07g | [|>27*/ut^#V&K8 :'K̆Kd9LxKu;Lc;KsLBKRM##*'KE XK@"'K*,3 i(>-3 yoKlM##A {(FM(#{( > BK8&FM(BK8#{( { )[^DVEuDtEsr)[*/ !"[:^G*a ~(HnDfE|(>[[R0!uDtE|  ^ ^̛Y[[z(| }0"[[_!"[!Bki0 !P 7*f(3]qp u t s r 6*i:fG[gf(V(  h3]*i:fg[gxݾ yݾ ~ 66 % ͊\~ N f~\!7PY`i͢[8x K*i:fzݾ {ݾ |ݾ }ݾ +xݾ yݾ V( hKg = ͢[8vcess tables availableBad valueNot connectedDevice open errorDirectory in useFile in useNo matchChannel access errorNot a Cromix diskBad free listBad inode numberRead only file systemProcess not foundAborted system callPipe errorKey lockedDeadlockLock table exhaustedTape I/O error!egͯVY4V*/ *a[_:^G ~(0nf| }nf| } 66*- SͷWcS85U8(q$q%t:u;nf*/ut! S͟V}Q`͡WͷWcS8Vq$q%t:u;*/̈́a^V!^~ c~ \> 7a5V^fnd8>]{_at`~(͋`Q`͙d*/^Vr s ^ V r s :w:w:w66tunftu"!P!P!P͋`W*q[o:ngx y V ~ 66% b*q[o:nGV(~ 4 ht`c͋`Q`*q:nWx y |( | } { _[o *y:vW~(x y |( | } [w *a:^W ~(:x y |( | } x y |  yww#NF f(4N0F1*x y8#0x y0*/| }>17(͸g*:G~(6*/| } 'z(yG >ig N6[|(%z {8*/+6L #~4( 56z [!6hz */^V!%6hz(0(i~#fo#|+( |(> 77*/0##^(~ y (>,7hyO~ݶ I(~ ~ @Lnf| } ~(3n f |(| } ~(~(~> 7(> 7G   N#^#V~2#0 bh0 Z!"%2$2'!z"|0 ?ͥy!"%2$>2'!z"|0 ~!{(=67!{~C(%H!5z ~D(0y84Az~H(y8z8z07~- ~1807FN!11B!5z( !60B!;z(7^ V#^##~#w~#w~#wN͈iN͈iu t sr!zu t 6{0!s< = 7>       ^#Vimmm#m*m~ ~~~wf ^ V.)jutsr>"7i&:to:to:ton f ^ V ^V &kjxo[!y !zq(x=(!_J!9>2Hqn f ^ V z { | } 0A| }8$f V(nnfq81Gn8, 2HqUn8!6z { >  66:twnf|(:twF ͱq͜qnSt:tˇ2tnfq8Gn8*t"tݧnf"t!"tn}2t>F ~(2t} 2t2t͓n~2t:tV(2t^V$(H%R0 ͈i>>A>y>*(+"?**"D!= >ͼ:. B>Gy>yxbQAW>z>20>>Q>AW>z>200:G:' G>Gx >2>2;0$0 6(!5 >21lh0 !<6!5 >>2>2Q̀6\:0 !5 >21lh0!5 >21l:/(4jͥ!:4G(>20Z*%>Ͱ}>ð0*#&5~[%0Dz8{ 8> /Gz04{jtͫsW1tƨ_z4{04848 s40Utjt02t7:tOks8 483Ut02t7{7rKt88A043#43#43#43#403>s*tE3*tO4(2tt4\t_:t(!!:t :tg:t2t 4 jt! Nwtx2t>2t:tG7G:tW(G(x 4/ >ɯ42tHs4\t!'wt\t:t(}x!:tW ! +}  +wKwkwwww G~"" ~ |˿ >Ϳ|íyey  ԋgyMD!he87ʽ(ڋg>Ϳ>.Ϳx>9f"l =ˍͿu"|=NJ8!x(ͻ`> y~p͵>#7~"")> y!>y  xx͵`888 ( (w":UO! :U(7(O! 0! ͦ+666!6$R6%6'66F T~ '! ͦ+8EG"n Vφx !ͦ+8Gn ~"0x ˿(x͒-0ߧ>ڟ~ (G!"n 4˿n "f W^Vnfsr^VnfsrWnfutsrututnfR 7h>C( = z {?>70BB0 = i i Ʌo$iA[?a{?0:? ?i?i?i?ɾ8~#i~#fo~iGi ( #7 ~i~# ~#  Bj~# j*a"/"-6 >21w$w%*ut!utut"Vu&t'!'u(t)!|G^ͦ[*srsr!ututEe!-7RDMbk627!B>>>>/2.!",@> @( >2.#",>>O#~>2!> !͈iNF ͡iN(,2t}2t:Hq(n f ^{2tAt6:t6Kq(n8,>2t!"tfq(n8͜q8Ep p1pp͊o66F ~w!pf V(F  n&N()+NF ͈if V <<^Vu t srzSDͅp ~TDͅp |DDͅp xSCͅp(LCͅp(SBͅp(lBͅp( *t~#~{!k< = p( p(pMpMq( q(qM7qM      = z:%w>= >ð> 2Q*,&"(!"*)Z6\:0!5 >21l!iO ͼ:1!I!IJ;6!w>͠Oͪ>͠Oͪɀ@ (ͼ##>4#4+Q>҃:0 >21l:.2/>͠`2/>>ð:$G:#G:$>͠g> 21l:1:0$ >20\>2021O>20̈́>2>2Q:/(Kj>>Ͱ!:4G(>20\!5 >21lZ6\!5 >21l\~>>ͼ*%5(%K#!5 >w!(>!("%: ͳ|>22!tt6z@(4~= s,y3y"z@(~5zn @x~w~7zy?>"!w ^#Viwwwww~ ~~~wf ^ V.)jutsr>"70g6o:'o&:$o*%n f ^ V ^V k&jxo[!z_J!9ɗ2|n f ^ V z { | } 0Lz | }8>2|xnf"!z"F ̀}0( |0 66767NF ͤiN͡iKx"%y2$:|{(!z~2'~2#~(T(P#(K%(X f( xV ,8vͫn !~"0 x˿ (((<"F(͇,8Mͫ˿ 0͇,0y(~$R( ~%ͫ>  qp6͚͚G"n L~Ox(҇ˇq Úyʚ˸˿n (v(w !fs& !^(o!~xF(f't>!  ,8w"n~!oFĄ!NFx˿ f(> W~ >YͽnfY~ V~)"n>F^"n (A (1((#( 0 >^ڈ@v(~$R > >D!"B"D! ut7i!F"F"H!7i!J"J"L!R͡iEx2!7i!^#V#z()z<(srsr66nfT/!X+!'^#V#z(z<(nfT/-l?llllFm:t!kkO6͐p@(4~= XsS A66{2t>2tt4>jtw ${_͐put6666͓nQo,͐p@(A(͓n?o~5͐pn ͟m~Jm~7͐py?>"! m 2"D~0 rQ0 gQ*++++"**,"()Z6 **<6(8!"5 > 21l(\:0(!!5 > 21l!"5 > 21l3~#~D~0!~0!~>2>2 Q0 wQ*,:.(#"(*++++"*!$~~Z6(\!5 >21l3!2F(,**"|"0(>20\! 5 > 21l**!Q0Z6\h =!r~:/>2BbPχ*("?**+6"D!= :. C>ͼ>Gy>yx~Ay>:/>(>ͼ:/˧(                  q> 2t.rq `.r(Uvq:t:t:tˇ2tq2t2t2t.r ͸r (vqs (vq:tO7ɗ2t2t2ts4͌r804W =0Þr>0\tWjt@ Ut4W 0>01ðr4W 0>2t7ɗs4:t3O:t2:t1Ut͌r804W 0@\tO>04W 00.2@ - @ Ut$:tW(_(7:tUt!dwt02t7:t2tr04848¿r4O 0Ut02t Ut>2t7BͫsW1tƈ_zW>_24>G>i8  +| >>24xAͼͼ >20\@  >20\W>=23:3(˄5K!,ǝ8 G!2ut4(5>$7Ke5 "~(͵Y > ~  7>͒-?g~ ~<8 >@ڟ|D> 8("n n ~(=84ÿv (9 ʙ ¿~ ~'8Ϳ~ é~=G~(=x"n 8$N  Ϳ~ é> D~ !v70"n~)"n !n > Ϳ~ @ͩ6h0 5 9~'w!F(-"n 'n !~) v(6͙͚>ڟ"n fę> Ϳ~ ͩ65~'w6> Ϳ~ 0"nvGͿ̊nꊧ! ,8v Wn~N8Cn,f-~G&^(V)n,f-͹u,t-#~ 0?w(?_(͓^(V)n,f-R`iOܦ##DM#~ q,p-~`iO++ܦDM+^$V%Z0q,p-NFq,p- ( 8 0?Nwy ~+~=  ~000w+~0M (T8mn,f-^(V)Ru,t-͹G&+^$V%Z0w(~w(g(0w0 ?w(~(?_n,f-Ru,t-͹(͓n,f-^(V)u,t-( ~w>.&~>_&! R0}Di>_&nnf#x&^VK*"*Rog"éJ!-!*["ɝN͏{ͳ`{ F́8Oyӏ͕8Ds#rut}wO 6!ُu t 4 5>$7K`5 ~(͊YH`A$y˿yy`y͖ `y͜g66@6B6 B66( (>^>͒-?g^ ~r~<8 >@ڟ|>f "|!ΐ0 4>;6>>ڟ~ o(w |*ΐ0w |~w+#~7# ~wSEQ0pp;:P12P3456y!ixx/w y   ) x 7W x~('0$!i~(x> y(> y ~y >"7>(7 0i~ 0i(џ~p>"7yGy/Gnf !nfz +| ˽˵oկ[A +-ͦ(%O ʕ͋>8^}qut'=~ 7~( >@ڟ>͹͌0! ~>Ĺn>Ĺ4(5>$76B6 B66ͦ5ͦ͒-?~<8 >@ڟ͹! ,FNNͦyڕ! êͦyg! õ!eu$t%u&t'! 6 ! u(t)u*t+!bu0t1!ubtcŗ>6>! ,N͕`!9u.t/n0f1!9u0t1n.f/͕rN@@7r!ͦ+8N(G~( >@xЖ^ j![(p0G N*F+nf njZBad access list: "%s" Wrong number of arguments @@!$@:N~(g> >\^’nf}(5~ 6+ut!Oi~/ !ͦ+87"n nu( } ~ ~}(nf&͞~BN~(>@!͋! ͋!͋ͦ+0!ê!͵Y&$C!{0o $ڍ,?,? *@}7[>4ѧ4& !W{?o0$׌ڍ׌׌׌ utR0 }/o|/g#>I>{ʗ>~ ̈́/Ny>}N dy>dÿ́/N y}/ yRn&))))&))T])78P9P 8~= ܇84 (m (( ʞ~ =w >~~ =G~=x8#N  ~ x> ~  v7͒đ(~ n > ~@6 ~w đ f> 6 > ~5 6 ~0G N! ,WN$^ AN!ͦ+85nu( } U U}(n f &sɯ ,F~(>@!ͦ+0!ê!õٔЕaccess.binHbackup.binGblink.binFboot.binEcdoscopy.binDchowner.binCcmpasc.binBcompare.binAcopy.bin@cptree.bin?day.bin>dcheck.bin=deltree.bin > ~  6d6d͜w www"w#͜͜!>n͜ʗ^(n f!u t!^VT]`DMbkB0*ncBʗw w!`nfR0Rn f!|ȗw w!T]`DMnf B0 0utI>w2R0n$f%^&V'Rͬnfu"t#͌Nn"f#^Vnf)Zn&f'6+n$f%u&t'~_ҥN"F#q,p-~ g07 (KBackup version 00.08 Copyright (c) 1980, 1981, 1982 Cromemco, Inc.  (S !"  nf|/Y nf|(t" !3̀8^ 8XSv ~>7 HS " !89x2q L Q8(ͻ8#A88088![ F<(=L !!!<Kv ( 6h#6d#>0y86s#6f#6d#>aw#6!7 x2s /dev/!16T]* nf Y  80" !7 nfY !  x2t !3> !5O !31 !ut#ut 0CLU2pqrstu* t u !:t G !z׌`iy׌4|*/ .&]RWCZ͋>}o% ~gNi a ͉XэPэ@ */NF{ h&y(&y( x { >7x @<4?<7xKэ@эhэ`> HYÛY x@( RO>$qz kgFp&@A&`AOx͒-?y ͒-?o&A0&iANэx@O>&iAF{0>@{0@{0>{0@?D|s|~~{?> 7ɧɧ{*@|[>!R +,{ !":ڽՎ16>͋>>͋>>> > >*"é n*"!* ~(7x-1(A((O> y  x8{ͷ{e{ 3́8>v88s#r*ut}-O}#0q0 NFB =>$7ɧ<>7(<>Key͛0 K`yͭN)ww#w!!t{iV+^Ȟ͋>8xўMD͋>xܤ۞Ë>ў>Ȟ>۞>( !i~#> 7#ͷ#ͷ~ͷ(*8:hjxz{ͳ!ͷ!nf|R(>$7ϔ{ {ͳ8ϔO{8 >y y%(FL|.^#V#bkW%%+}<! 7Not a device backup:t G* ))T]!3͵8y0Iͦ7!;0 .|gM!; ͕8! ;* +~(#* +~(#e * B" * |(+" 7:t G:t G! utsrNFBNFButsr̀4S " +6/͎8@L :r G 7!/ x2r ̀~ ~=ا:r G * L " +646/!/ :r G*  !~(:q G!T]J:q G! !/~w(#%~t) !*  ~:q G0 7*6#"2!3"EG(!"*"!}~OG*B"^Vutsr N 6662Ϳnf|(+8 : N( N(<:F#~O! T]0K*<(K*!Ͱ^#V#nf2882"!wG #w[z "!#!+  !#/usr/lib/##~(. T]#~( .(/ !͵ ! ~# ~#A[ ɧ!FK!CK J:t G} |8 BPY B!f !1f n B8 fnR0s (bkPY :t GPhase error !1V ^ fn͵ " S ͚ :t G 0 ͵ " S K BK BS\e.)j:t G ! *9#! (2 x2t !3> 1 ( !5O 8 4 >!P ! !JT]:t G!8Ez G8:b(L  (![ C ( > y!P >7!  >)! Not a block device: "%s" :t G !1r s tu!JT]g: Program and data segments overlap Warning: Program > 64K f 8͎ (͜  ͽ:(*["*"w#w22go""<2 * #" : *#:(͂ #2* "*[s#r#[s#r#"w#w![*5*N  "! " @ **[*[:w !͸!V :W :G!͸!V  %04x %04x (%s) !}F~nf2*# |:ĩ `i*:#:(͂ >͋   L*::(! *# "">2*N#?Linker version 00.13 Copyright (c) 1980 Cromemco, Inc. *%"!T]6,!"|S8*[[FF*Bnf|~-#~n()q( r(x($!""" !"!"!~##"B*B##"*!"!"!"͋(!~-(G8EG(͚0*|!( ~wɗ22go"",,"8 ( ͽ:(:O!*^#V#z"#~G!~( # y=*!:*Ͱ~#fo>8 nf[Rsr*ut:!Ͱs#r Multiply defined symbols: **!s#r#8++[!L!:G> >2^#V#} x :G:G͸!F( nf! ---- %04x^#+> !5 6> :> [R~OG "S##"bk##͒8"*++͒(0"[8}}R[*RѧR0**++####**##*[*++Fp#FpN#F#^#V#:G(%^VnfR  (07~اG#RCrstufntu[ 8" !/~!/ ~!̰ 3BD!#:q GV^fn!/R8:q G x2q !T]J* ))DM!3T]6 !" " #" ͵8Y[ cj[ (" +))3* [ rstu3! NF NFJutsrͦ7"z Sx  "~ bk 8"| *~ B(0"~ [| 8R[~ *z RѧR0*x *~ B *z *~ *z [x *~ BD+w#R #no source specified  o g x2C * | !":G8bk+" *~#"OC!Ɨ:G DM!T] ͚8%%%%%o70:8 ag?'0Ʌo$#Record type %d: not yet implemented Unknown option .rel.mapbdipszbx{k-{!ZLZ!"3! "7[!*S" 9 # ! "! "*B##"*[*R8O:G 8E͋($~-("G8@ G(͚0!~( 3 0M f ͱ )!Fatal error: #lcZPlease insert disk #%1d in %s Hit any key when ready * ABORT * File system on disk, do you wish to continue? Please insert a different disk cromixV^fnz  !T]M 0 #| V ^ f n " S 0! ut6@!3ut$$utut62u O :u 7~(nf####ut5V^fnz( y(ut6 ͠ !y(G DM* B" * R" 0!u 6 :s G8 nfS\e.)jS\e.:F#x^#V# [*"[*"͋*~(C"G0 7*#"!3"E*~ :G[! "*"#"Multiple start addresses $MEMRY.bin /  {g {   Zx2 |2ow, z$$<2<2!"D~DwO#G+{ #z +:g.~2}Ħ, [R#*R0"+:W\kg|2:= :2g:2͓ʹ::g.:+6}:g.::gow, g.:G*Rz(:W*#!4>w>8~2::ɗ8 K CF\#w*utC>2ɗ8*#" !N#G!!!͸> Multiple library search requests: !N [!N"!"*4!}F!F*N G *"*"*"*[""*[""*[R0S!:!![͋:2b8)z %8""!͋b8z "7 >"͋ͷ8"͋ͷ8"bz7%$22͋͋x2:W!x2͋GS*]}:(=WO*]T 7B}<͋ [ RM<[GyHGyO!:o (g O mXqA *͋ "*A !  #*%<> ͰT]*7 8T]8 .$("!" :2(!"*  *%"$ *| !"[ [z("[ :(!G!^#V#^Vut "[R!8**[0&0!*R! :W :G!4"!' Warnin*B##^#V#z( - BKCA *A |( ~#(C (<A[ ~# ~# ~# ***!::W :G*[Zs#[*!Y:W :G %d multiply defined symbol(s) %d unknown symbol(s) Program Data Free memory %04x %04x %04x Start address = %04x :G!^#V#:nf!w ͸!:W :G͸! %04x *|**!F s#r#8++[!!:W:G!R*|**!V(s#r#8C++[!!:W:G!>2^#V#!͸z  Unknown symbols:   <Boot version 00.02 Copyright (c) 1980 Cromemco, Inc. *Bnf| !~ !! 8[ *%R8 RVF/cromix.sys :l?=d?>Lk [G:CG~O2CGx( <>2(<~O#V#^!<Ͱ8!GGdͽ4Z8{n!GG%~#   G~O2CGx( <>2(<~O#V#^!<Ͱ8!GGdͽ4Z8{n(#(-8 .( ~ 0 7(|.(x[(:*(?( n#(g.(c*([*((S.(O0J#~ ((:.(6](2(O- (#.(](8y0( .(](~ (7ɗww"ww%w+w,w-6*<̒6"6/66%6*Ͱ̒;!File not found "%s" n0f1]T6~ͅ 8F ͯ V #͇Ϳ8#*N $n0f1~( ###~ (7&!!p7!!7Create error Close error Device busy: "%s" Illegal CDOS filename Disk full error vY :2G!%8l,d bytes vY !%-25s K2x(>*22G2~ ((,# ~ (>.(~ (( # !2ɗ!2!Z7Pathname too long "%s" 58A 8=583!z ;x22z22z22o( 22 ! ! Not a CDOS diskette Not a block device +w#RA[ *91!9ut .w ~ 112!~X!3 O ^#V!h~ nf (͓0"͓0^#V+++"!ͨ/æIllegal system call H at H *91s#r#s#r#q#p#s#r*91N#F#N#F#N#F#^#Vwutɦ(+F+J+V+^+h++++,w!E&$$2%6"&(%"+#)59h#%'*$$vz/ &m1="0's(([%͓0| !9͓0ͥ*91112*91 ~w F ͞O8s :~  Ì0F  ͓0ͲF ͇_! Out of memory !F[2S} >22~(Y#!8;(/ ~(H#!0;0~+: ~͗ A##:2G:2( )x22~(!8; k ͗ k #k k 7a{_2 :2<ͅ *2" " 8/F [} (͈8 V(: ͇Ϳ8N( ͏ b 8 !K *2" # !w :w ݾ 8 w :x w :y ݆ w *z ^Vut:| ݶw[ * R( # #  7  : 2x : 2w 2y : 2| !: W ;>2y 2 2( G: 8.(,  :2o!| :2G:( : 2x Ͱͬ- ì-͇~ #!0z(! DM0 z 7. n-~ x y(YPͷ͇R(0So&R0ͽx-.n-^#V.n-~#foX!/w^#Ͳ.2  0<&E 18,E~(W((E ! ͨ/: (Bad directory block H ͇^V>w#!8~(E~(?͇ ~(! ~ ^^#V#.n-~#foR8ͷ x-͍- n(C~*+,(4 ~ &(&PY͏(~{/wJNCdoscopy version 00.15 Copyright (c) 1980, 1981, 1982 Cromemco, Inc. *%"6#s#r*B?nf|(A##ͅ! 8<dY(eY(lY(wY(= ͕+8 !F!!Wrong number of arguments r8vnf|U##+2 K2 88222 2 !_vY(!!VvY !lDeleted Not deleted File not found: "%s" Not deleted: "%s" r8tnf|(##!+2 2 8@! f.<! ~o0$:2OTz(#ST!2 #####( ~(*Η<7*V* ~22:G:07(*Χ:( n0f1:_6#:w#p#q # ~ 8365>ݖN(F)O0 n+f,^->ݖ=o0$0 n(f)>o0$u(t)~% *F7 X}5%*^ &F.N/p.q/!88w+q,p->݆+w+ 4, 4-N(F)n+f,^-~&^#V$s(r)6%*^ EFN"8G*f(xݾ(*pq"4%!= (*y<  n0~#(/(^(*([(?(xS2R"2!p3"} "2~ k # k 22͠ ! "[ * Bs) !2w2 *2"2"2!9%R8|( 0>w& >>!}" ! " !&1~# s#r#= .n-~.n-~#fo͋0!Ë0!91z Ì0p .}x ͓0Ox(_8x[#xGͬ-> C!:!}!s#r#p!###͏-/!!###1/^#V#w{*B18\S*@1S@1S {O_ݦ{/ݦw~%w~&w^# x-XO !͍-͍+͋=(~@7~ wn&))u t #_~/u ~ w .n-#.0n- ͬ-66 @6 6 w w0w1w2.n-6 #n!&NF ͦ0Nv(N/ͦ0B0N 0NF B0N"z * " [ * R7( !" [2"2!9R8 0 !K w2 2  2SYS DIR:  72!"* ":< 2~(: 2#22 : !7ȧ 2!"* ":< 2~ ͬ- !12ì-~*_~+W~,zq!#8,~O8x<~!( 7 zW{_ͩ!͙^#x-͋~#Ɂ ?(=_*>1~=8 #~#(>7ͩ ~ nf| !File not found: "%s" %-15s%6uK rnf|##+2 2 888dx22uw(^28+:2G +~  x2:2G84bY(:ob:2G ͫ:2G 0!EFile not found: "%s" %-25s %8l,d bytes r2nf|2## x222~<(|p3!9%%R.:2G8<B82&|  >G>w#! *:22<("ͫ:2G 55!U!cf1X~($#y0 "#V#^y???<= 8 >O 7ɧ!v(@w#6:#k (6.#k6v (w# ( ~/($# ~(# x !!7Device name too long: "%s" Device must be in /dev: "%s" /dev/~O #nf~- ##!"q*q|( ~#((<"S  "bk 8"*B(0"[ 8R[*RѧR0**B ** *[*Bss........~#( x 7 # x a{0^VR8 ~ R8ut^'V(N)y(A~&o&)))n$f%6#= yͰͬ-R0DMͰͰz x>(x-ͰͶ{=͜ͰSͬ-o&)))))Ͱ ::Gq\8{=( (~͙[7qqJ y*91Oy??!0͕"8 KͶy>>*91O ^HVINJ~KsHrIqJwKwHwIwJ6KsLrMwN^LVM~Nn f w/w>:::{?>?w !"l"n"p͋r81Q͌+c!( !Ì+(1r Press any key to continue $͉>O!͉ !͌+>8^~#^{ 0.F+R!#^{ 0.F+R!8 #!KF+U!!m!^#(F+#U! c!7 <^#̓#82~ *n#"nW(!!~G! ~(x(~XWj&))))))).n-NͿ0z(#ͦ0Ϳ0*l"l*p#"p^#x-͍-!nf^VN8#z(#Nͦ00 ͌+*p'! ͌+*n'! ͌+*l'!!͌+'!!Ì+*** $ Files, $ Entri&-+-A-E-y/y)/y/ ͝0qy2h-y2j-PY Ì02h- ͓0Eì->>*h-s/*j-+ ͓0E ͓0Oì-͍-*>1X#^#V͗-ͤ-^#Vͤ-s#r*91#2.S.".x-͍-y (( 8--3.-8-88 *.:._f  8(;S\e>o:2G8 *.:2G:2!.( !. 5:2FO(p!FW(F_(p6 !.Pqp Hq*p+>w!NFqp ~w~w/((6:M@4Z^PPPPW>W>5/5/5/5/^# Ó0#xGì-K^#̓#~G ,W   ! N ~G ͧKN(ŧ?G*>1~8x( X#~# F 8 #?( ѧ7>  ՗#~+: ~?&@8###.  ##! w! wË0~?&!/=,.(*(#>?~/͋0Ì0s/KKK^#Kv '̓#~G MKF( W( KKKKnK(6J4J(NJ((~G KN(8/ͩ͋"$^#x-K?(K! ~?(#?$>ut[91!pH (![9%(FL|.^#V#bkW%%+}<+*91'!*91' ??w ="(*(O8* BO*& 5x* /* %~ O*& ͢* ))>*#w! w*q#ww #w^#͋8~ *.n-]i&==~/{s/E! p( & = y*.n-}! n&_T~/{(&(^#q͙ ! 8w##6ͬ&>*~w ?? (&(Ͱ]T6@@ XYZ[\]^_`5/5/5/ 5/"5/$5/05/25/45/@5/B5/D5/P5/RDM !_/ _/[/! 9F+Ni`_^#VxBKͦ0BKͿ0W͐/zS0:__~͆/z0{0*91~(/0###Ĝ/+͜/##0*91.85~(.6 ~w .(.sw~ 7/   6 nb~/>_> g0 g0/F(/%/()/ 4͝0s#r͝0~#fo*91 >C( = z {?>70BB0 = *.}+".}͍-1͗1!Hp (z *$88 ^# ͓08!ͩ͋/$0 x> yz%8ͩ͋#8 ~ z%>6 ^##͝~(&=4<^#O#. n-~^(#V#b $%>ͩ͋!5$F%͋/$F% # ?(w#$%>ͩ͋!H5$F%~ˑG(w$%#a_">͋#>d&!ͬ&^#q ,͙ .!N! ~! 8w!~ 0 q'%ɗ># $#j/^#$% !>͝>0' 8! 4> )#z ""nf8z " 07++^#V#- ͋g ^#V#z7!!&!8*8%nf͌ ;nf8z ""07͋G~͋#*B##^#V#- BKC$*$|( ~#(͋(</etc/passwd/etc/groupWrong number of arguments Bad owner Bad group %s  8xwT78(UP~TG8/8 (66.++ 0 !A+ï, {0! //d+!//!%/)//~( {+({>:{2$0^#s#+ͩ++$+++,,,,2,_++ c,h,,W~((####~#fo͋,sè,z+͚,~ ܚ,7͋,ͨ,zB##~͋,#͋,ͨ,##+8z>\ͯ,ͯ,ͯ,+~ͯ,+ z(>/ͯ,ͯ,ͯ,é+ͯ,V(z +6#z(6rG{p#x 0 >^ͯ,@>ͯ,> ͯ,>> ͯ,> v ^0/(>!~4w!|#1æ.. ---/2--!-DCompare ASCII version 00.05 Copyright (c) 1980 Cromemco, Inc. :@(!F!F*Bnf 8x27nf 8x28!8b:7G!8z !"9"/"38 */[3:9(!0$:: "*Bnfnf!!FFE:9?:9*/|("^#V#S/z++͹8**++8"s#r#*):7G͢8"+"/!97:9*3|(^#V#S3z++͹8x8s#r#*%"-*+:8G͢8BK[-+#"-"3!97w#w#w#w#++s#r#*-[+RR!9##N#F#   x(~w # >2es, $ K Displayed, $ K Left ***$ $ ~/|)!F!{0_F+> ?!R!U! F+,"+EW@R USͩ" Z(>! 6#!͍-~ V ::w^ #q ~(#p#y( ! 6͋#>8!~I> ~H=w#j/6!+"  # SYS DIR="4@ G~ O ~ <(9w q w!((y!0 ^#͕"0> #>! >"8%.n-Nl&Ϳ0Gͦ0 0{G!x-4. n-n}(O N{(#F+ ( x( x( 7{-!".*>1F#~##( Aͬ- #1I1&1p3p3,"($E&>(~ <(w 6 w! ͏((>>8M! ~>'͆'0 ^#0>(sx(#r͆' #ѷ> ! ~!8>C#>O#>M*91 q#p͓0'͝0 j/6! 6w!?*91 s#r+!*@1}|0)(͝0 ~0# !(ͨ/-program too big'͝06" (s#r:H1(*@1*91H !͓0|)͝0~6*D18̈́(>8^#! ~"ͩ"(S͋^#̓#86~(~ V . n-v ! (&(!~) #*8 )% !>S))~;( *( <+~ @ ~ ($ ( ut##~:( ( ( #̈́(*#̈́(!ut##8 +~ 7^VR( +~ ( (#w~TG!07~TG 07DM͔++~͋h B8 (7! ,8$%%%%oh 7͋0:8 ag?'0! z8(%%% J̈́ 0:?0Ʌo$A[ ~# ! @ @B@@$ B   :*/"1[3S58 j0t8*Bnf[1K/Bnf[5K3!zB##^#V#^#V#!/!3!3!/nf^VNFsr:$G8#nf^V "*' K%B0֧utsrutsr0^#V#z( C' 7[/z(7*)R(0*+RDM[)RS+!/^#V#B+r+s^#V#z *3|##^#V#[R[-RDM*%R+S-!3^#V# +r+s^#V#z Wrong number of arguments Correct form: cmpasc Files are different types %s matches %s ex^*Dz*0+!|5(͔0 7v !@:YG *L[Nїw"LSN! x2Y|7 |  ~>7+~/(^(#6/# 2X! x2Z!|t( fA 8x2[:ZG :[G:X(!8 :ZG *H"R:=W:ZG*R!R8~ #z Op0pOxWȗ2XG*R"R:[Gy2XWY*R"RbkQY:[G*F[H0^#V#fn7 *HV^s#r#!| "H!| 8 |(f $vG[U*Q:ZG*S8>8 R(0=2[SW[U>8>*Q[SKWxj4 4 4 4# t̀7(&ON!\6nf^V!9Wrong number of arguments Correct form: compare %s is shorter than %s %s is longer than %s %s doesn't match %s %s matches %s exactly %06lx: %02x %02x *B##^#V#z( - BKC*|( ~#(͚(<A[ "$AB@@D@@@@ A[ ~# ~# ts copy copy ... Can't copy %s to itself %s "H@@ @ @  B DL Dcheck version 00.12 Copyright (c) 1980, 1981, 1982 Cromemco, Inc. {*B nf|(ͷ##nf|(͠8#! ͵8 ~(ͷ !!F!End of dcheck 8u!k!f! ( s! ( 8bx2 ͕8G!- f n " Sz :DMS 8.[R0#* [ 6 !"Ͳ]!J!cCannot read super block Out of memory Cannot read inode %u Device: %s : G!!- !͕6!uto͍ !#* ͕nf|V^( R( actly Memory overflow -----> %s P; !@4|(n(I 8A5V^#V^#V#V#V# |(54|(n(=5V^"V^"V"V"V"|(5Rsource = destination no source specified no destination specified cptree %s  %(FL|.^#V#bkW%%+}<!F0!(~# G~# 6 +6.!>!F!F*@+)DM*BWSI~#(O( (  70xA[? SUnda@Copy tree version 00.07 Copyright (c) 1980 Cromemco, Inc. *F"H2W"Pnfs8Zfn"JSTnf|s8G*TRfn "DKJB *TR!(*!W48!Fo&:W(F ! !! F!| +"N! +"L x2Y8M0 (:YG 7!\ !~(t7 !|  #[N͖[L͖!| ~(H2VV^ST*!|5(͔t(f :VO[To/*!|5(͔ͩ07!|v !@Vsr~wfn[ R(~!!-; !! ͼ 8|:(nf#ut:g:o͕~<(wV(nf[ R(.sr"nf| * ut [ R(F !fn^VR(* !7* !?Inode %6d, error reading directory Inode %6u, cannot read inode ![ 2 ͕n(%~ ~ ~(0!c!~H~ 0!c!*F(H^(0!c!Hf(!c!uN(0!c%(FL|.^#V#bkW%%+}<0{d(!z>7 ft(f(A8Qx2:G ѧ8;x2 !8$:Gbk!8R  !8:Gbk!8R >:G 7:G :G:(!8 :G *":=W:G*!R8~ #z 202xWȗ2G*":Gy2WY*"bkQY:G͇+~/(^(#6/#"T]~#(^(/ T]~# ~#(!fɅo$*B##^#V#- BK!5C"*|( ~#(( !\ #y8!Z!Z~ 8 >. #y8> %06lx: %02x 6NFx( - ##nf| @NVnf ^ V F(NF NFJutsr##]8 5b utsrfe utsrfk S\e.)js ut s r fo u t srf!GfIllegal option: "%s" DM>++~5h ͟8 !7Illegal number: "%s" ! 8$%%%%oh 750:8 ag?'0! $8(% 8 x(x7(_V^fnh&)))zݾ {ݾ |ݾ }ݾ(utsrz(NFͪnfnfT]6A[ M#CROMIX Screen Editor version 01.35 Copyright (c) 1980 Cromemco, Inc. 1!͆2(2'<2(>>2 lEHCAKJFZZlmPLM  !ͨ({ z Sgm:g(͋:h͠!ͨ(2h2gm!ͨ2h2g> 2h{>:g> :h !#((<A[ ~# ~# !!HHA   EXit will return to Screen "shell!64~!{!^!\!\!\!6"&xT! C!^x(=( !.!!s:!!g$E!͌6TCQUContinue Quit Update Continue - update and continue editing Quit - exit without updating Update - update and exit - return to editor >Exit: Continue Quit Screen aborted Update : >( (( $ p,(H $ O:(22:(=>2(<,(H $ :>( J: Gf! (s! >2 7: (R͵8M!#tu~(:~ .N( ^Vrs~w^( ^Vrs+S[ S\e.%: G8~#( x 7k͉ ~/($# p~͚ (# x !1!M7Device name too long: "%s" Device must be in /dev: "%s" /dev/~͚ O͚ #! 8x2 : G8: G!8!: G8/etc%% J. 0:?0Ʌo$A[ ~#   @ B@@%(FL|.^#V#bkW%%+}< a !  8!Fͮ!| S/[/*2R8Bk8~( 0ͮ:,G ͨ*g#:g!<(͈#&!ͨ*g:!hG:g &!W!R!M!H!C!>!s_ ( ( 0͇;> þ!g^ (:h :(W&~̺#~ <ŗ *i'Si>@2kR(*iw#"i!k5_!/ { 0 >^ͦ{@ͦ!=󀁂 Wm#{`ex!_( ~#{ y: <28G(x2:8B(2!@::2!ͥ- % $|(@%(FL|.^#V#bkW%%+}<^(N F NFJutsr!Z8 7 ~ > nf^( $ ::<:L:<:G:(<8:(2ͯ>:(=(2(: $: > (( :($ ,(8:(=0<$  H $: > >(( $ ,(H $ >>><2 <m: :(m!. 1ͅ$(: >(:= T:= Page! ~>>w:h2'! 1ͺ< x(&j(E\(: (ar ̈*g:("( 2 t[g:/ x ,(8x!(5( xCL !h~O~> (8> r~y0Ins/mtabnf~- ##!"9 *9 |( ~#(͚ (< Ru(t)!K>utsrqp!  DM= !u*t+s,r-^(V)V^fnu.t/s0r1u2t3s4r5s6r7n*f+^,V-z1 {0 |/ }.0uMlcZ*Ϳ 8m n.f/^0V1N*F+BN,F-Bz R0BDMn4f5B8( u4t5 N4F5 ^6V7z 7>n6f7 u6t7n*f+^,V- 0u*t+s,r-^2V3s2r3z }8)B0}lcZ'?z } xn(f):%(FL|.^#V#bkW%%+}< 8nͮ(> 8!F!%snf~- ##!"*|( ~#((<A[ B @*+v #62Į:,G 6S! x2,++>/#(w#":,G *~(!1 RWrong number of arguments Do you REALLY want to delete all of %s? .*-|(^#V#z*'8a !> !  delete %s? > y~. .(þ(y[(A*(?( n#~ d(a*(Y* 70Ix ~.(?#~ (0](,(O- (](8y0(](~(7 # *B##^#V#z( - BKC*|( ~& .>58"'S'!~4F222>2s*'['>x> '@T: 26!1<2!3͝(8 2:y:!ZCEdit: @ Copy Delete Exit Find Insert Jump Move Other Page Substitute Xchng ZapEdit: % Beautify Home List Other Read Tabs Verify Write@%BCDEFHIJLMOPRSTVWXZ <,->.+4#"7 :  "( v+ TtY]  CC!͸T>Shell:!.!@ +| H8E8A@x :A5   ert: t:g_:=:'W&J*[(0~#0=< >[Rx<[) (5O(x\(*($j(&  (.H!)q6x  ͇ ܇͇~͇ yCx 8j(8A8 [8a8{8F !% ( !( ^I^M!W g'xQ(q [g&!x &!'l 2'>,!)wl ȗ2'$$ :'Q x :'(TL! g# ͺ&< ͺ&(&ͥ x!  C~<0!)~(x0DF#~0$ 0[(*([(R(=DM*(R(>S(8S( *(S(+*(B"(*B""("("("*([(R*[(RѧRͣ!"("(*"("("("(*R<<T]à! [(*R([(RDM[*(S((+S>2*(">22*([R[((@[(R[([(0S(+S(S(SS(ST*([0#P: kT*[(R(I[(R([(*(R( R(*8%bk+S((#"(`!( *([(RDMbkS((1W???! zit? (y/n) !o !^ 8>  $!(6!^ 0!g1:(ͺ!(4 w/dev/prtError: List: !1 8 ͆LRead: >2(':(7:(W K!RDM!)T]~# (* :( %> 2(!'  y *'|#>ߗ2(2(!)8 BK ͡!)(2(͒83!(8!(V(;:(G g  !1L;!(!T]J abort!( ( N  ( 0 >^ͮ@w#{ͮ> :(!RT]!)!8 :(2($$$.$$2x!W0!xͽ̓!(CSet Marker: >>̓á:xOG^x<8!o!y(̓ ̓ɇ!y !͡Jump: !͡͡LZap: 1!_!W!f!kG!>,  W!L(00!x0$k̓ !W !_(!fC1234567CBECursor Begin End 1> (8 ( (, O~ #*([(R(S(!(Nq:`!( $x0&:$!%&!u%1W (Y_!$P(!$L(!$*R(C&!%Ͷ%8Fw:$0O:$0 ( :$0 pC$Beautify: Paragraph(xxx) Left(xxx) Right(xxx) %ȧ(%ȧ(%ȗCo&(&3!*& :'( !(> T'$u' (&'(,ͺ6!(+'T':'8  ,ͅ>u #~r͆:)(G,Substitute: [Query] , Query :Substitute Query: Yes No YN! g!'l 2'2'$(ͅ$:'Q 6:'LFind: yr[g ̈*g"(z8`:(PW, >22y ( !ͪ :($+$ 6 S(O! ~>>w!31<W(WO(0 ( y (G[(0S(y*(+w*g> ()*g(x (:I"(͋22 S(r,*gz8:a{ |0> rz<!8!1:G1>  { > :G>1:8>0<)! :G ^#> 0>T[g&:G!)^ W(0 (/ (_T(C7 s#^!) TA{wSet Tabs: #!(( 8 (0,Ʌo$0?:a{_R*|+"ɗ2s'RRdR R>0 >2s*[(R:"GW <ɗ6!!B"ͺ!"6 J*Bnf^VS )|x!z 2"" )̀6!:"w  8!z>6!x2)@6!x2) (j( 8!6$[<LV6G0 ͈~#:!gG(( (#7:g$:(O(0 y2f6 #ͅ &3![&*zVxxxxx!W#(0"0oW0T])))0 !W"O~ȹ(#".̈́!0 .!F̈́!8:)(G !"6:)G!}2(T]K@8x2)!S".F * ):)G!":)G(4:"w( 2)8!x2)H:)G 8:"_ 6!@:)O:)2)Gy2):"_ 6!* )A% %l,d bytes written to: %s Please make space with DELetenew fileNo input file .bak.bin.com.rel.$$0.$$1H A͂"+w͂"+̓('ԋ">!"!"2);ͪ8:)G( ͡?Ժ͆LCopy: Move:З!W ( ( 0 y8O?zɗy*([(R(9:f!(!( (( ($ 055j$[(S(:w0N͐:(?<[(! [(!*(R0   x(PY~#z y2([(8,0G,(,(0  y yG(0 y A+4 A+5N !()!)͡:kRЗ!?(5[(*(BR0]!?([(j [(0! |([(R͸8*(0͸0:̺!?(*(R [(8|( *($ 8[(,(#ͅ'(͔' 2)6 ;' (,R'6~G:'> > ,*(6 *(+6 !(6> r!(Nq,8 G:'!(x "'}]).?! ,"(:(G[(8z8 (S(,[(Xchng: E()'''("(2(: > E(',!'*([(R|x!(p*([(~(6#*(8("?(\_(:((*(!(F*(#8: > <(~(#*(?(\(_ 2("(x2("(~#*?+>\0 ( ?~#Oɿ:_ : >,:'O?*\:'*(?O:((yO!$!(6!(=E0, 9!1!x_Y 8u'6Write: to already exists. Delete ;6!x2) 6!  |(b"v"{"* )͘b͘* )#~( /(. T]z bkb!b"͠> ~< <~#G~ # !"F(*(:)G(5!"ˆV 7*(:)G8$CT]:"O~# ( (ˡ!"qS(!"7aˡ > :"O(=*(R:)G($C[(+~ (S(!" (ˮ!"ˎ7!" )nˮ*( ([(02~# ("(! ):)G8>  !" !"( )R"):)G?8 !! )[)!"*(:)GR8"( !!:h2~!(vz!K͝(!ZC!zvæDelete: <,->.+/ ͯ($ :h2~$( C: >$(ͨ(! >>X($ X($ C0:~!h0C$ XC0:h!~0 XC0$ : >(:,8(v!(0 x<<!z!(5 48/(!z0!h:(O> y !z !v!(:4( ̈5,0:(0<<N(q=7GN1?!.1:xO0>{>>  Tͺ*'EL!)[(S(!"G!('͋"!"'ɗ2)2)!$:)([g &!$&W!$W((2)$z!(͡!~:$2L͐ͮ(ߗ(*W|(Ͱ8>2=ɗ!7Missing name :/2! !=2%s ~. .(G (y[(A*(?( n#~ d(a*(Y* 0Ix ~.(?#~  (0](,(O-  (](8y0(](~(7! s#r#s#r#(!   ! sr##z ! nf|(> ##! Z>  y^Vz## # ? ;{}shell-%(FL|.^#V#bkW%%+}< /etc/group8c8Onfʹ !0" 7~TG 0" 7DM ++~ h J ͗ 8 (7! ́ 8$%%%%oh 7 0:8 ag?'0!  8(%%% J  0:?0Ʌo$A[ Ʌo$~# ~# ! 7Illegal number: "%s" ! V8$%%%%oh 7ͻ0:8 ag?'0! ͤ8(%%% Jͮ 0:?0Ʌo$~# A[ I @@@@!   B@%(FL|.^#V#bkW%%+}< ͏8!F͊F!:FY88I)8~( Y8͊: G*W ͏܊"W+ 4 #6Ċ: G !  x2 J Free version 00.09 Copyright (c) 1980, 1981, 1982 Cromemco, Inc. {!58@*@+|(*Bnf|(%͡##%8!:8 ~(͡ !F!k8b! 8mx2!8cz d78K͙*[S\e.%*[:*[!!n!!5!!TCannot read super block: "%s" Not a block device: "%s" %-10s %6l,d blocks %6l,dK %11l,d bytes !""V#^#*"0*#"V^fnz(%S\e.%:G!8*|p(!,<8~(<=2!G7!57fdcbBad type operand Missing type operand !0^fn R7!z!N7nc"!V^fn!V ^ f n * R *R:(+( ?(8 2 =|0 W&kmSy??< x(  { (#~#+(-(+2' "S !N!Z7Bad number Missing number / (#* K 8V^R(.}=2!7' 8z(7!Missing user name Unknown user name ͎ (*K 8V^R(! 7' 8znf~|89tnft~# Ͱnf( #|!X77Name or password incorrect ~(#!ͪ> Password: ͻG~ͻ # !8+~ ( ( (#646T] ~ͻ(7jj#~!0 bk!y(!Y"HB!@A"$$ @ D BH%(FL|.^#V#bkW%%+}</#(w#"W: G *W~(!  RWrong number of arguments .*B22!Y<8.y(.:Gy=x(/(y=:( 20ɠ!:!7Too many right parends Unknown binary operator (!b<!0!*!7(!b<!8y ~#foMissing operand Unknown operator  # #~ 7)-a-o(!-blocks-exec-group-links-mtime-name-ok-print-size-type-user)(5}]\NjELEEwLE!4i!<8 y !5!+" *+" ! 7Cannot read block %ld :G!!~#( x 7 ~/($# ~͌(# x !!7Device name too long: "%s" Device must be in /dev: "%s" /dev/~͌O͌ #! 8x2:G8:G!8!:G8/etc/mtabA[ (7! Missing group name Unknown group name ! F!! 8?* " 5 8(nf' 8z nf s#r# x(" C! N!! 8?* "5 8(nf' 8z nf s#r# x(" Cx7( ##  ~#foɹ/etc/passwd/etc/group 8xwT" 7A 8(UP~TG8~;( *( l <+~ @ ~ ($ ( ut##~:( ( ( # (*# (!ut##8 +~ " 7^VR( +~ ( (#w~TG !)j0NF NFJ0 ####>9a{8Ƶw#= Z2Yckyd(vP)*||, BE~FN0qRL$BbLgj]zbF{IkEpƨshSϴr:<}W?ڼ}gƳy2alL 8xwT78(UP~TG8~;( *( %<+~ B ~ ($ ( ut##~:( ( ( #͐(,#͐(#6ut##8 +~ 7^VR( +~ ( (#w~TG!07~TG 07DM͵++~ͻh l8   8s z(~(Q B0I*!!81~( ( (#z 6 ~ #!) /usr/help/help.msg/usr/help %s%s ŗ2P{_z(! " *' B[' > ~#(5.  *# !!:P< > 2Phlp%-14s  8$!P80 7  73~#(!*$#"$*"|ʼ+"":&G*[ !ڥ:(_: :!K( !G(!O *$K+ !!"3"5*3[5z { | }! + !7: <*[  0"S rst u!>2:(: *$!:&G*[ !0*$!H Inode %6u, ---- Bad usage count ---- Inode %6u, ---- Cannot write to inode ---- :&G!!j:&G!!jf n <<FN 0"-S/^f .%"S f nK !dSK T !dR* [ R(! 6*!> !Fs[1 S S] >  ! p    : G! " S >*]* "]2 : G!ڧ * " ! : 9 ͒     G \ o u U b3 B3 r R q Q h H  !V *# w  !V *%w  !Vck %6lu !jk6>2g!prstu"hz 0:gP Ͳ 8# <2g*hrstu "hBlock %6ld, ---- block in free list ---- :g2kS\e.%:&G8!j:g2k!jB:&G!8!j!jzݾ {ݾ |ݾ }ݾ0!:0 :/ :. :-(07!l"'F N V^888x Gz(B8?")89"+V ^ :::"1[R0*'6#z 7  w /w Gwx$BA"!!~O #! 8x2:G8:G!8!:G8/etc/mtab!l>2jnf|(48s#r#s#r### y2k:kl    = 7nf~- ##!"2*2|( ~#((<DM ++~h u8 !_7Illegal number: "%s" ! ͬ8$%%%%oh 70:8 ag?'0! 8(%%% J 0:?.hlp? # ɶ /usr/help/ ""!"$V:^;f0K' (K) !S >2K) (!:(!s!W 7Block %6lu, inode %6u, ---- block used in file ---- , ---- bad block number ---- , ---- duplicate block number ---- :(͔@4*-[/K' 0!c #| zݾ {ݾ |ݾ }ݾ8˧ >2 2 ! r3 " : G "]!S- >2 2 ! !"]: G !" )  !V - !P !V : G!ڧ * " ! d : (*[   ! >w: § : 2 >  :  d *[   7::: {G7:&GS\e.%8&*1"1[R0"8! 7\Cannot read block %lu *1R"1*9*7*=*;*A*?*E*C*I*G*M*K*Q*O*U*S*Y*W*]*[*a*_*e*c! !09 Blocks missing: %6l,u Bad free blocks: %6l,u Duplicate blocks in free list: %6l,u Bad blocks: %6l,u Duplicate blocks: %6l,u Device files: LIcheck version 00.15 Copyright (c) 1980, 1981, 1982 Cromemco, Inc. {!j*Bs> >2a> >22jb(   ͖nf|(nf|(%##/8!jD8 ~( !F!u8t!!:( 8}x2&!8sz t͂8HͼS 8I22e ͵8":(>2e ͭ !:(!!!*$!<!!Cannot read super block Out of memory Cannot read inode %u Not a block device: "%s" Device: %s !78060Ʌo$~# A[ AE%cKBlock %6lu, ---- block missing ---- FNx(M  V^fnz(*͖8!x( ++++, ͚ ##FNx  840K' (K) !R![ !; !!_ 7Block %6lu, ---- block in free list ---- Block %6lu, ---- bad free block ---- Block %6lu, ---- duplicate block in free list ---- ! V ^ fn| + 8K' !; : 8  8!7Cannot write free list blo" S ͭ " bk ͳ 8" * Bͳ (0" [ ͭ 8͝ ͝ R[ * RѧR0* * B * * * [ * B  +w# RH!@@@ HHD @  $D$H@!B ! A@BD"!$ $H@I@ %6l,u Ordinary files: %6l,u Directories: %6l,u Blocks used in files: %6l,u Indirect blocks: %6l,u Free blocks: %6l,u Free inodes: %6l,u 4~#(K$!Block %6lu, Inode %6u: !: :j(8*$~#( x 7 ~/($# ~(# x !!7Device name too long: "%s" Device must be in /dev: "%s" /dev/ KIdump version 00.06 Copyright (c) 1980, 1981, 1982 Cromemco, Inc. !*Bnf|&!y x2s! zb>) ?&##nf|(aͮ+z4+|ݾ }ݾ 0~#+FN !! 0S\e.:!:sG!t8ͥ!F!FÐ!y!V!Ðnf!pÐNo device name Not a block device: "%s" Invalid inode number: "%s" Inode %5u, byte %06lxH !)z(#y !8N!1# !7z("~ 8 >.O  ! ! 7 9 !; !. :,ͱ :,2,G>[ *,*,!͜:, :,8:,(>2,ͣ :,G:,0 <2,ͪ :,82,ͣ :,:,/ :,W> >[ > / *3>04802,@x!ËOxy >[04002,!:,Wʋ!Ë:,(!= :,Pﰱ4>(y( PN 2N N 6NN( :  %%%oh 7͋0:8 ag?'0! t8(%%% J~ 0:?0Ʌo$~# A[ 2'2'2'>2'͜!͜ɗ2).͋(?F:).<2).ͭx0͓!T͋͜G~ <:,2,!!͜'n&͹+MD>4:,2,!!͜F!2.~( y2(."+.*).!a!͜*+.>(P:,8R~2,#^#V#(Efn+~87S,:  5 _ W~ **,*,!͜!!͜[+.>4!͜*+."+.:).=o&N+FN *).!a!͓͜fn+!͜U!<'(qH~U >2,cfn+~0!\͜S,*,!B͜U!W'(H*,~0!\͜{2,[, 9!a!Z͜h͓!͜:,*,*,! !͜U!.' ͓*,'H*,~0!\͜[,~0!r͜",:, 4ŗ4:,xWWyW(:,2,:,O( (/ $:,˗2,͐*," *,*,!͜j!,v}:#'g:"'o!,![!7!C,0Cf :,(!,!-:#'2,:"'2,*,*,*,!,P:,2! ͚͐)jͷ>5!5>0> ++ing CTRL-C to abort program Warning: INIT can destroy all disk data Incompatible with operating system Use single-user or simulator CDOS %02x.%02x or higher Initialization inhibited in this machine Disk to initialize (%s)?devnameTesting: Formatting: Declaring Alternate Tracks: Labeling: Disk type (C=CDOS, X=Cromix)? <_>CX $densitysided Single or double %s (S/D)? <_>SDWarning: This CDOS has been GENerated for single %s operation only 4FDC not capable of double density operat!:# !=>O0z %04x: %02x %c :sG!!~#( x 7N N -NN2 O~2'2'e$$]%$boͥ Ϳ  ~2'ͮ  !‹͐+ "0ɗG!=OŸ !͜!0͜*"S"[4!^ž = !H͜>G>"=G0({ !`#( ({ !ld+++!͜!xX+8J!͜~8(~0-x8(~0 8(~!X8(!]!'͚)!b͜0j2$'2'2'2'>2'!2."{'͒$$!U!"!a!͜U!ͅ' ͓>N͓NT72qInitialize Disks version 02.71 Copyright (c) 1979, 1982 Cromemco, Inc. 1(.2,! ͗͜!͜1(.͓j!͜]!͜͠͵X͢ͺ([2,x8S yR8L02,2,2,2,2O-2Q-2S-2*.94G42,4!͜2,2,!R!!I͓͜ :,_3 +! ^#V#",A,~#(y>, # D!,!͜U!,ͅ'(,(2,A2,*,̈́^#V!1,2,F!,!!͜U!V'(+8!, 0z(!͜ 8{2,wz=,(*,*,!͜ !͓͜2.>>42'2'2'>2'͜>2'ͅ2.>4>2'͜!͜:,=([,*,RV^~!͜!2."{'2$'͒$!Ë!2."{'!70"}'>2$'" $!Ë:,_!*̓͜Ϳe͡!{f(!T-2<-28-2N-x27-2P-y29-2R->2.-f n(:,(:,w(!  ~2:-#~2=-#~2;-#^#N#~2_-*,~8!*,~8yf(=  :,( 7!T-!͜U!V' ͓!T- /-> 4/-~#*R-*N-*P-!͜U!V' ͓+#~( ͉0we}29!͜n!+!͜:,(!= > 4>04#00ͷ!͜P2,2,:,(2,G:, ͹:,g(!:,g(w:,_w:,_ :,˗2,:,2,:,2,˷2,:,2,2,2,:,2,:,2,G:,2,:,2,(>2,>2,xí[2FH#y9F Surfaces (0-%x,All)? 9A ~9 illegal value  second number must equal or exceed first illegal device Cylinder, Surface: restore %00u., %x Formatting aborted just prior to writing cylinder %u., surface %x Drive Diskette in %s is write-protected Can't %s %s, Status %04x SelectRe-zero%s not ready InitRestoreSeekWriteRead%s error: %s, Cylinder %00u., Surface %x, Status %00xH PIO's and direction y͗ ~/($# ~~͋(# x !?![7Device name too long: "%s" Device must be in /dev: "%s" /dev/~͋O͋ #DMͅ++~͋h <8 !7Illegal number: "%s" ! &8$%2.>4:,=:,(2,2'*,","'$$}%$!͜!͜Pn&͹+MD[>4*,*,!͜##$*"{' $:,=(:,G:,<(2,2'2,2'[,*,~0 #","' *h :,*,( =>4:,_>H(>Cw:,2,! ͜*,"""!" ͓:,G /!q!6!͜U!ͅ' ͓>NN(:,2,:,O /!q!J!͜U!ͅ' ͓>NN(:,2,͓2).͋F:).<2).~:,(W(O_(I~2, 2,2,#^#VS,U:, 4w#[,s#r#:{w#s#r(= 3{W 6!6M6 6!6(6 >4f >22,!xH",͓f R ͓!:!'(!(( կ!Q >X >C2W6!Zͅ' ͓:WC(:,2,ffnNy=2,+V^",nf +",v>S(>D2!h!n͜U!ͅ' ͓:S>( v !h!͜>2,:,>S(n(>D2!`!n͜U!ͅ' ͓:S( n !`!͜:,(xn(2,͓!Æ*,"#"*!*,!!͜U!.' ͓H*,~0!\͜S-e}28-e}27-:=-o&))"]-*]-!͜U!Y' ͓(e@~0!\͜~0,,}2=-!>-w#::-O:=-(0x0!>-:;-( s#r#s# 9[:, ͜(:)G>͜( )!)F#~ 0 y2))ͩ(:)(:)( (0)͉(}(2)q(͌(z(͌(:)G> ͜(:)G>͜( )!)F#~ 0 y2))ͩ(!)~G(!#~(w!)~G#~(()͉(!)")}(C)S)")K)[)*)((͜( _G ( p#H *)O~(Gyx (#˸#8˾8(#ya{0J"{'++++"' ['!'*L; :N= :'2'!!/' >>>>/2 '!"'@> @( >2 '#"'>>O >2'> 2' $ x$c"$ m$*{'++++"'*'"'!*'&&%$ *'$$(8!'5 > 2#'$(#:"'(!'5 > 2#'$!'5 > 2#'$ $ $$ >2'>2'$c"$ w$*': '(#"'*{'++++"'!'!!&%$(#!'5 >2#'$3!$'F(,*{'*}'"{'͕"{'$(>2"'#!'5 > 2#'$*{''*{'!'$e$$%$#% %(FL|.^#V#bkW%%+}<2#'$%$! '5 >2#'$:!'(4&H#!+&:&'G(>2"'%ͩ$*'>\&}>\&e$$*'&''~['0Dz#8{ 8> /Gz0#͸#= Ͷ#z#:'w>= >\&> 2 '$*'&"'!w'"'!%$#:"'! '5 >2#'$!['O _$:#'!;'!;'<';6!i'F$>L&OM$>L&OM$ɀ@ (_$##>4#4+$ͩ$>~&:"' >2#'$: '2!'>L&`2!'>>\&:'G:'G:'>L&g> 2#'$:#':"''& >2"'#>2"'2#'V#z[v ?nf##|(!M 5!b 5  88x2m  ?9++~/(#6/#"v ͖ͮ80!T]:m G 2͖0:m G  *v :m G!6!~(~. a  ק !  2*v *c #"c V ^ f n Ke "e *g Z"g V^fnKi "i *k Z"k e b (sn&~G!] -nu (i (#x(.("bn^p -V^fnfnfn V ^ f n a `il  ':g  FNV ^!f"n#̈́! ! ~G!Z -^#V#u (x fno you wish to %s %s (Y/N)? YNformat drive anywayre-declare existingdeclare any additionalalternate trackalternate tracks %s %u.: unassignedillegal entrycyl %u., surf %xallno %s alternate tracks are now defined Alternate track table written to disk cylinder (0-%u. or Unassigned): 9FU surface (0-%x):9 cannot be assigned an %s UserdiskHarddisk Disk name (up to 8 characters)? <%s> Date on disk (mm/dd/yy)? <%02d/%02d/%02d> Number of directory entries (64-_?>͜(> ͜(}(!9~#(e%(ͪ+~- #~0 ́+~. #́+S]~_L #~, #(*( ( _(~#^#V'*d*xD*u*c:*sX++~##ê+ͯ*ͯ*.Q( ͯ*ͯ*.,-( ;0 - ,3e}A($%(;ͪ+> ͛*> I(>0͛*$%(;ͪ+}D_0 (ͪ+ ~#;*l 80gn#f#a(|(Q( ^#V#z(a(:!'O>2"''$>2'>2'$:!'(K&>>\&!+&:&'G(>2"'#!'5 >2#'$%$#!'5 >2#'$ >>h&*'%(%K'!'' >w%(>%("'W>_2&'>G>i8  +| >>2&'xAh&h&͌& >2"'#͌&@  >2"'#$&!{"'H#!+&O(>L&G$ x/@>>2"'W>&=2%':%'(V^fn V ^ f n ! ( &nn! ! FNV^fnͥ:! FNV ^!f"n#ͥ! F$N%V&^'f(n)ͥn&! ! F*N+V,^-f.n/ͥV^! > ! e (`l g  V!K ' * "V < 8(nf. 8z s#r#nf?9 x(" Cn CV !? ' * "X < 8(nf. 8z s#r#nf?9 x(" Cp CX * "r 6#6*%%"t K*t B"t t  ՗St  !  *r R0?*r s512)? <%d>6:6 :4 Z 4@ZPLGSMCLCSSSDSSDDD^ 'H8-1|'H8-2|(&H8-3P$H8-4'H5-1TPϳG!!!!!"L*{'"J!: '(#I(#"'!A(!3"H:!'>(>2N "&  $& " $ >2> 2$<͹%$(:"'( !5 > 2#' !5 > 2#'$$ &>2>2$<͹%$( !5 >2#'<>G>0 >2'>G>0 >2'2'*HV#"H*z/W{/_|/g}/o#|  ++{03 z(Y(>,3 i(>-3 yo\*n#f#~(#  A(+~3yol*~ͣ+8ͣ+8 MD)) )O 0 ?_>C( = z {?>70BB0 = ,͟, ~/($# ,~Ͷ,(# x !G,!c,7Device name too long: "%s" Device must be in /dev: "%s" /dev/~Ͷ,OͶ, #ͽ, A[?/'!!:!'>24'bPχ*'"1'*'+6"6'!/' : ' C>h&>Gy>yx\!Ay>:!'>(>h&:!'˧(>>A>y>*'+"1'*'"6'!/' >h&: ' B>Gy>yx"QAW>z>2"'>>Q>AW>z>2"'͈"$:z'G:'w" G>Gx >2 '>2'"$&#$ $(! '5 >2#'$&&%$ !w'$$!'5 >>2 '>2 '$##$#:"' ! '5%(FL|.^#V#bkW%%+}<)"!=!!0 ![ !Wrong 000JanFebMarAprMayJunJulAugSepOctNovDec.%,u files %l,u blocks %l,u bytes Directory: %s DCB%11l,u %c %2u %7u:%-4d%c %2u %s owner: %-5u group: %-5u %-12s %-28s%11l,u %s %u:%u created: modified: accessed: links: %-5u dumped: inode: %-5u directorycharacter deviceblock device/etc/passwd/etc/group  ! 2 W# $ 83 $ 8 3 55@@$ $ A@$@"@@ B @%(FL|.^#V#bkW%%+}< 87mail.tmp !px2 =: G!!=;8O!3 8Ax2 : G!B 8 : G0% !: G v\ != !"<!=! 7Mail not sent to %s Mail sent to %s /usr/mail/!B !  8) 8^V  !  number of arguments Not a block device: "%s" Cannot make file system on mounted device Cannot read super block ŗ2 2% 2* 2/ rr͌ >2/ b͌(i͌(s͌(! !% !* 6#nfͦ8DMq#p#s#r##:0 G!!5 :0 G!!5 f n <<FN 0"1 S3 FNV^fnxc yr /zo {m %|i }x !! 8O~̓y K!5 6 6Uturcmo!xipqrstu38ͬ8 :87Existing file system will be destroyed. 8xwT) 7H 8(UP~TG8~;( *( s <+~ @ ~ ($ ( ut##~:( ( ( # (*# (!ut##8 +~ ) 7^VR( +~ ( (#wnf~- ##!"t *t |( ~#( (<l&kjy! " ! !9>|&o|&khjGy! " ! ! 9%3.3s-%02d-19%02d %02d:%02d:%02d%3.3s-%02d %02d:%02d 000JanFebMarAprMayJunJulAugSepOctNovDeco$DM ++~ h h ͵ 8 !R 7Illegal number: "%s" ! ͟ 8$%%%%oh 7 0:8 ag?'0!  8(%%% J  0:?0Ʌo$~#>Mail version 00.06 Copyright (c) 1980 Cromemco, Inc. {͢89*BB a\ (g\ (nf|(ͦ ,͂!0!F!m!c [x22b:G!B 8>2b[[:bRy\ ((n\ (b!!B 8g:B n(Ey :G!8S!}8Jx2:G!B 8 :G8& *:G 8":G!$ 3 8 !7/usr/mail/mbox Should mail be saved ? No mail 48nf|( ͇##yy7nf|(C' 01nf!Y!N 88 8Endevice typeIllegal device number%s makdev DM#++~h ̈́8 (7! ͻ8$%%%%oh 70:8 ag?'0!  8(%%% J 0:?0Ʌo$A[ ~#  @ @  Continue (Y/N) ? :0 G8lcZ:!* (R8 B8`ir s tu!* !7Invalid system size "%lu" !  !2|(88qr( #?Ϳ"Ŀc *!:(G ##nf| !F!dF x2!"""#"!:G!S6+~ =[ ~/($# B~̓(# x !!7Device name too long: "%s" Device must be in /dev: "%s" /dev/~̓O̓ #nf~- ##!"*|( ~#(̓(<DM}++~̓h 48 !7Illegal number: "%s" ! 8$%%#((<A[  B$!D@"DDDBBH"DD@HA@    %(FL|.^#V#bkW%%+}< > (˿ 0>^@!6B8 ~#fo.^V##z7++V=͇-̇G~O͋( y͙8####~(Ч͇G# 7?7˿͒a{?A[?͇-(8- !RWː!͇(O,(^(VH(q:(0K(A` )DM)) i!`V ^ fn| +'8͑8 8!=7Cannot write free list block %6lu !8 9 6>25 !> rstu"6 :5 P 8#`<25 *6 rstu "6 :5 29 S\e.%:0 G8!8 :5 29 !8 Q B:0 G!8!5 zݾ {ݾ |ݾ }ݾ0:4 :3 :2 :1 (07:0 G^f .U%8J!!. 66666tutu8#8 |ݾ }ݾ 7!8 9 6tu:0 G!8 0( (*#"*["*#"*#"cbXlM!!*!*[W!*~^2(E"S#~*(E(1(~[(?(\N(:7*[8~  ~[(?(\7N77#~+~*##~(.](*N(A#~- #~(](N(0۸8#~(] 7~^#~+e( ~ONWrong number of arguments match ... %04lx: %d %d %s %%oh 7̓0:8 ag?'0! l8(%%% Jv 0:?0Ʌo$~# A[ $@A!!@$!  @!H!H  H@@" $ $@$%(FL|.^#V#bkW%%+}< B8\N#F#^#V# "* 8* 8B **[ͥ+~/(^(#6/#"T]~#(^(/ T]~# *B##^#V#- BK!5C"*|( ~#(͜( 0!!h(#!/("!c G!z_!P 77Illegal argument: "" MODE cannot be used with block devices such as: "No terminal is connected to character device %u:%u Illegal baudrate for character device %u:%u G!KB> hM!~MN#GqF#h( ͞q:zK^#V#H(``ig o&X(x s     x x jj &P! O####~#( y(##~#fo! DLECho Kill FNkeysDIScardTANdemABaudCBreakARAWA BINary Erase DELECho LKillEChoAIMmediateechoEVenparityODDparity@CRDEViceLCaseAFNkeysADELAYcodeLength BMargin FFexpand PAuseWidth W~/($# y~r(# x !:!V7Device name too long: "%s" Device must be in /dev: "%s" /dev/~rOr #-6T] ~r(7jj#~!0 bk!y(!R !)j0NF NFJ0 ####>9a{8Ƶw#= Z2Yckyd(vP)*||, BE~FN0qRL$BbLgj]zbF{IkEpƨshSϴr:<}W?ڼ}gƳy2alL 8xwT78(UPCorrection (seconds/100 days)REWindRWUNLOADERASEALLFile ZBlock ̚InblklnZOutblkln͚EOFcloseABLKSwrittenϚ IB$@$  BH@$! @  @@B@)JR %(FL|.^#V#bkW%%+}<*@+| eʹF8,!{8:{(!!{! !!/dev/%-10s %s nf|F^Vz(zStrX s8m8e8!{8 ~ %(FL|.^#V#bkW%%+}<0t!z>7 ft(f(A8Qx2:G ѧ8;x2 !8$:Gbk!8R  !8:Gbk!8R >:G 7:G :G:(!8 :G *":=W:G*!R8~ #z ,M0M,xWȗ2G*":Gy2WY*"bkQY:G+~/(^(#6/#"T]~#(^(/ T]~# *B##^#V#- BK!5C"*|( ~#(( 88nf~# Lͩnf( #7!U7mountPassword: Invalid password /etc/passwdrG~r # ! 8+~ ( ( (#6~#( x 7~(#t͒ Messages disabled Messages enabled nf)8! 00! !08[nf; ! 8V!R(RI!!$_!88/ ;!4> nf!C7 nf!\77!{7/dev/Message from %sEnd of message User not logged in "%s" Can not send messages to "%s" Unable to determine where he is ODDparity@CRDEViceDELAYcodeLength BMargin FFexpand Width WRAParound@TABexpandCRDEViceLength BMargin FFexpand Width WRAParound@TABexpandDIScardBaudEVenparityODDparity@CRDEViceDELAYcodeLength BMargin FFexpand Width WRAParound@TABexpandDIScardBaudEVenparityODDparity@CRDEViceDELAYcodeLength BMargin FFexpand Width WRAParound@TABexpand  HA@D @H $ B@@@mount.bin)move.bin(msg.bin'ncheck.bin&passwd.bin%patch.bin$priv.bin#restore.bin"root.bin!screen.bin9sim.bin sort.binspool.bintee.bintestinp.bintime.bino$Wrong number of arguments move move ... Can't move %s to itself %s <"H@@$ B  D@   !R7(I~ 06@#z _2 !\;2 !x> 1!! 8 !08zݾ* {ݾ+ 7!7Unable to determine who i am /etc/who4|ªx2S! ڝx2T:TG!08<~(! 8Q:SG!88!:SG!U80  :SGnf|( 7!7Broadcast message .... Must be privileged user !8 !U8@ Passwd version 00.09 Copyright (c) 1980 Cromemco, Inc. {*B5͐ nͪ ( dͪ ( ͧlͥ!F!4| !Must be privileged user nf|5!% ڙ! ! gͪ ! ^ ڙ 89(0^Vnf|((##68QڟŸ͙ͺ8!% 8R^V! ! gͪ ! ^ 86 8#(nf 8Q8͙vnf|0!% ڍ! ! gͪ ! ^ ڍ 83(*^Vnf|((%(FL|.^#V#bkW%%+}<2u!J  8t:u( ! Directory: Starting program: User names: Invalid number 8! gͪ !  8 8 77!"++nf~  ]5 nf~(͟8W#-(.*~#"8(> ͟89y== O>:͟8)##> ͟8> ͟8!5  7!PASSWD line too long !)98z(+~ ( ( (#6͡ G~H  @@$" B@ H%s" ! < 8$%%%%oh 7͡ 0:8 ag?'0! ͊ 8(%%% J͔  0:?0Ʌo$~# A[ 0  > msg.tmp !x( ~(# 7 G~ # nf~- ##!"*|( ~#( (< 8xwT 7*8(UP~TG8~;( *( U<+~ B ~ ($ ( ut##~:( ( ( #(,#(#6ut##8 +~  7^VR( +~ ( (#w~TG!0 7##6ړ“͙ͺ! 8!% 8G^V! gͪ ! ^ 8/ 8(nf 8͙NT 8 A !% 87^Vz( (##!Name not found: "%s" 4|(nf 8 ѧR !27!I7Invalid entry in file Can only change your own password vnf|(,! ut8Ͷ##nf| ! 8ͶQ8/8*8%gͪ (nf 8[Z "8[\ "8! V^*t! ~ KV^:u z(:!J 87!v 8~(x͖fnGo /( x(!>/ >x(~( # =(7DM͝++~h T8 !7Illegal number: "%s" ! >8$%%%%oh 70:8 ag?'0! ͌8(%%% J͖ 0:?0Ʌo$~# nf~- ##!"*|( ~#((<A[ !>2nf|(8 # /etc/passwd/etc/group/etc/passwd.tmp 8xwTb 7 8(UP~TG8~;( *( ͪ <+~ B ~ ($ ( ut##~:( ( ( # (,# (#6ut##>Patch version 00.03 Copyright (c) 1980 Cromemco, Inc. *Bnf|(* 88!>(2ͭ8͟oF!Fno file specified patch ͆#"!ͱ^#V#N# ( dehst!? ̀0 *[j0!T]0!T]"S̀8Í̀0 *[EO!ʹ>.8(̀8?z} ET͆(#, ~̀0'()-(. "S K ͙(C'(T%06lx: %02x s!F̀0!%lx %l,d. jC:L8~TG 0 7A[  B @@ D @$H"@@ B  @ut Name: %s !I!98 ~7(ut Name: !!8$~(g Sut!Password: %s _aWa_~(#s#r#6gͪ (y!!8cut;8"Z !!8Cut;8"\ ! !@8#~(ut !X!k8u t !!8ut;8!{!@8ut!ut u t ~( !7User number: Group number: s#r#s#r### y2:    = 78 +~ b 7^VR( +~ ( (#w~TG!0b 7~TG 0b 7͊ ͳ 6T] ~͡ (7jj#~!0 bk!y(!  !)j0NF NFJ0 ####>9a{8Ƶw#= Z2Yckyd(vP)*||, BE~FN0qRL$BbLgj]zbF{IkEpƨshSϴr:<}W?ڼ}gƳy2alLnf~- ##!" * |( ~#(͡ (<DM͛ ++~͡ h  R 8 ! 7Illegal number: " > L8>-> L8> L*6!!4 %s !D%06lx: E8^o&͡*w#"!x%02x *#"*~#͙( (+"ɧ ( >.:!":>#| | +x2s!z!T]2t(!"mSo*.%[RTE:=O*"qut6q 66ɗj͠~ѧ͠wj"mSo*qNFxF :t"mSoa ͱ0=f!qNFx(:F(-~ ~ ~ NFqpKq"qqp7N! ! : G! [ cj" ! ~ !!! ͅ?lr (vr * .* [ R(^S  ͕ ͭ* ~(=(4~OV^x2 Aͧ~(0! 8! R* ! $7~>7#~(/ 68zw (7: G lcZNot a backup disk Wrong disk number No source specified /dev/backupnames.names.%s " [ z^Vͬ##^Vz 7" GOp#y8(x 7~6/w#~. .(z͌ (y[(%(FL|.^#V#bkW%%+}< 86nf~# .ͅnf( # in %s Hit any key when ready Wrong disk * ABORT * S\e.)j#B*B##^#V#z( - BKC * |( ~#(͌ (<A[ ~# %%%oh 7͋0:8 ag?'0! t8(%%% J~ 0:?0Ʌo$~# A[ I  @ H@@ B@$V^f_j8:n :o :p :m_ftsr_fw, .:sG*oR [mR?͆7ͮ8͆ͮ0 C!T]`iͱ͆ͮ0( ~̀)7~ɨ-+-+v*/A%~ڹͤͤz T8i7 TTU~8kͤͤz T0 TT ~86ͤͤzٲ ız Sz S 0<7S~͹8 Z7~͹8BRA*(?( n#~ d(a*(Y* 0Ix ~.(?#~ ͌ (0](,(O- ͌ (](8y0(](~(7 8S5V^#V^ #V #V #V #!T] #### 5!T] 5V^"V^ "V "V "V "!T] """"5V ^ f n " S 0! ut6@!ut$$utut62 O ~(nf####ut5nf^Vz(%y 3: (ut6 i!777!T7systemPassword: Cannot find privileged user Invalid password /etc/passwd͋G~͋ # ! 8+~ ( ( (#6~(# 8xwTĀ7͝8(UP~TG8~;( *( <+~ B ~ ($ ( ut##~:( ( ( #%(FL|.^#V#bkW%%+}< !F!F!5! ! $# x #((^#VRoot device not found in /dev root/de>Restore version 00.05 Copyright (c) 1980 Cromemco, Inc. O ̓8,!" 8@0 (w ![ Fw<(=H! >$ͦ!" #" : G 0! NFBNFB" S  (S !Jf n ))T]!: G" nf|" ##lA !+ ݾ!>>7!Q!fV ͕ nf|([ ͕ !V  8ͅ0 nf ͅx2 !z>!7Not a device !sx2 (: G!T]J7! W: G! 8* |#|(! : GCS*]}:(=WO*]T 7B}< x~(8~(x~(#x2! ͆7DMb.(CK!T] K,l\\\ JU K0C0:?0Ʌo$)jDM!T]͎,l\\\\o ͎0h 0:8 ag?'0z0/ͱ}/o|/g{/_z/W,$A[ u: Gnf87 ! Wͬ: G[ * z B8B0" S PY: GT]! 6!y(G͟(8DM* B" * R" 0! 6S\e.:* +))V^fn!V fn[ R!!>7inode %1d: bad inode Wͬ! NF NFJ! F N I 8 FNI 06 : G4V ^ fnK BK B" S : G !V n&!(< x2 !J80T]! 8'  A  A ! >!+ rPlease insert disk #%1d7(,#7(#6ut##8 +~ Ā7^VR( +~ ( (#w~TG!0̀7~TG 0̀7ͨ 6T] ~͋(7jj#~!0 bk!y(!. !)j0NF NFJ0 ####>9a{8Ƶw#= Z2Yckyd(vP)*||, BE~FN0qRL$BbLgj]zbF{IkEpƨshSϴr:<}W?ڼ}gƳy2alLDMͅ++~͋h <8 !7Illegal number: "%s" ! &8$%v/dev/smem/dev/ h SIM*7|(+"7*5^#V#"575*] 81!z> &!!58775*]'6PCannot set user / group ids !6!z222 2 2 !" 1>2Z͇͠!@+"|(!@!@"B9!8/!z {>(" >22!"!"K@[B<PError during loading of program  O{((F*>>>x>>.xz/!mo0$~G*G!o0$^#V#~EHDCABKJbc][iI0PQMLWX12@RSZZgh89   < = G2l!/!wm*l*d*:@;*~( (#>Gy0 *>?*G* {™ !"">"22ɗ2!"{=(2_:_2n n.~# ~"8G~!(p w >27P 0!t!s"r#f 2 .(: _Z> B(>2ɗ2 !" {2 6 (!P 0(  0_>3͏2  t Z2Sz 2y $x2 \: G!  k : ([z 3} ~(#! !}  " S { z $${>2x 2| :| G<2| :x 8:y 2O<2y [z ! >SORT version 00.06 Copyright (c) 1980 Cromemco, Inc. *B*P[RF S"!6:"!"!"*">2>28M: G(*#")):w80  >8$ :!ͥ8>8 R !2 2 2 ! nf|q(n~- :#~08:89! |͉! w͉! ##nf|(=(4~-(+ /#q6~. #q ! 4 ##mubdfin r6~(/t #~(#2 G((ݶw#~- '#~o #~ nf|(##8x2<:! ~#<( (  <+F !~<( !^Dp# Too many opened files ! ~(   6!Zz {@ | }8@!%}lc(#V :R8| }8>w 80> a_ # x ~#3 Z?( 0=: o&)) 3O~(##~ (# ~ (>.~ (#!ͼ  ~.( #ͼ ~ ?(O~~.((#/b//c//d//e//f//g//h/8":8A8[8a8{0V###y~(! z(j+~~(G: x y(#M(F^( 8(N( 8(08:8A8[8a8{0V~A(z(+~(# a{_A[ sorttest"qSs͉ "wbk ͏8"u*wB͏(0"w[u͉8yyR[w*qRѧR0*s*wB *q*w *q[s*wB+w#|R% %!hBatch not allowed s""SC1"yQ)02^ P0_>2 4 .4 >ݾ ~ <(w 66 ~ ݾw>26 (PB0 _>3͏2^ P @!P! $0_Z>2: 2S  s!|S!z(!@>  ~08 0 GyO#nf|(## 8 x27*[%%R8;+r+sR:G8+~# (ܧ(!7##7 8 <*Input line too long U:!:G~#fo~#fo̓ : g( # 2RR(O++!"Sog*S|(: O(̓(:RGSSR(*S:RG*͢*#"͢!8*))px2sort  T{0 ![*6sr +| !"}*"!F N @%(FL|.^#V#bkW%%+}<2>22224"i*"*B}!0!F Ua6d6v6h6l6k69q6 c6p6m6e(ͱ>2>2>2>2nf8-hNV^it-------!7hJump table not allowed  %%Y%Y%Y%%z2z2z2:W8:W:W:hq 'G N S `  5 $ , ^ p / U  EP`g  o i q    .diI*G( 882.(Z! ~{( (6 .(Z:G !, x282.(Z/dev/rdr:G !4 x2{.(Z/de $I$$! B$B!HH! #~+: ~@8##@ .  #@ ! w! w"~!/=,.(*(#>?BKS"BKTS">2!R"bh1Z0Z{2|2}2bh3Z2Z{2|2}22 5 ! ~ ! ~<( w! 6͏8* _>*>( 6#= !B B ^ ї2 5 * 0 ( ( P_>>2ɗ2 >? $Z! 0Z:([!͑ !{O_:G2{/2! ~! f.<o0$\ejFnf8Z*}^V|(̓ : O( 8S}" *+"| *}|(":G8* 7: ): 2 b ( ( ~( ( 2! : G~?( x(Fx2 b  :=2 v(*~( ͻ = ~(ͻ(= ~(#~<4 = ~(4(= ! f(FĬĬͻ(Gͻ((?f(ͻ(<7<~ ( #! ~(f~( G: x(N (J^( 86(2N( 8((0  z #} 0 *| ##2!=7!PPriority to large Privileged priority nf8z }2##!7Too many copies requested ͦ 8enf| !2UFt 8Si:( !QU8:(tnfi8$##nf| 7H87i----AGJ shell-pdaemon%s x2Ͱ8dx2!0:( [:G:G*"O 8**%%R8 ́ :G8  :GJ 87 ڬͤ ڬ! "[*0BP!h 3̀8 !7Illegal number: "%s" ! j8$%%%%oh 70:8 ag?'0! ͸8(%%% J 0:?0Ʌo$~# A[ x20"1S3t"5͞"7:0G*3*5*7*1!9*1Q*7Q*5Q*3Q> & User - %s Date - %s Time - %s Filename - %s 2{!6:#z6:#{6!0|!6/#{6/#{6!o& T}0w#{0w#O "M"O*%%R"K!"I>2:2:2:2:2*|2}2!  :2<2!""!! 8)tu͘ 8!08!8%8 7!  ~.o&͈ ~/o&͈ ~o&͈ fn͈ /usr/spool/sq!m 0<4! User id = %d & H!B ! 9!0 *g8#o#!8|8 }8 7/usr/spool/sequence_numberSequence number locked out O 8T""! 8V 8P! 83:(*sqR ! 8 0O 8"8 8x   0`  0`   D$ BBBBBBBBBHA@!A H I"DHH I@ B@ II@@ BI! 0%(FL|.^#V#bkW%%+}< $ - ګ: *|( V^R ~(!(!!V^8 !! n-&f+n,f)n*n& n/&n.fn!-> Filename User Seq Device Pri Pages Lines Copies %3s%-24s %-9u%-9s%5u %1u:%-2u%-5s %1u %5u %5u %5u ͤ ڃ$ 2nf|(.b8>286:( !:( ##nf!nf!%-16s not found %-16s not deleted %-16s deleted ͘ ! ~*Mw#"M[ISI*KR&[Iz(*O"M:0G8!"I~(0!G~((###>*#~#foN#F>$ͦ# > { > Wz8>  a@bXcpdefghijk0lHm`nxopqrstu v8wPxhyz012345(6@7X8p9/:.*_$   >   77/usr/spool*"[*R87( *0"*8"[R0!u 7Not enough memory  T{0 nf|(9  ~/($#   :8!  8## !!  !  8 ; 8 7prt/dev/!82z 4!8'z2{2B_S ZS7! 7Not a character device: "%s" ~#( /( ^(x~.ݾ. '~/ݾ/ ~ݾ ~ݾ fnV^R  H I$$ $    I@    @@ ""H@@@@D@ @"A$!!  B  DHI$$ !@@@@I$I$I$I$I$I~O # 8xwT788(UP~TG8~;( *( c<+~ B ~ ($ ( ut##~:( ( ( #(,#(#6ut##8 +~ 7^VR( +~ ( (#w~TG!07~TG 07nf~- ##!"N*N|( ~#((<"S "bk 8"*B(0"[8R[*RѧR0**B ** *[*BPP+w#RDM++~ ~$ 2nf|~b8U>2͘ ! ڕ!:ݾ(Rw8K͘ %8A !88:( ! :( ##nf!nf!%-16s not found %-16s priority not changed %-16s priority changed ͦ 8ͤ '$ -8- 8):ݾ. :ݾ/ *|ݾ }ݾ( | :(nf0 ^V- 8.Q(y |ݾ }ݾ *|( |ݾ }ݾ ! :͈ 87/usr/spool/st!/6ͥ :000000000 0`c3  0  @    0 0` 3c`O 8K"!!u 8B,8/nf8 O 86"s#r#nf 77/etc/passwd!z(~# 0L (1 (L !"f+n,#t+u,*#"[R0f)n*#t)u*!"*#*}o0$"[R8"Ê *KB?8 { #z ## ~#( x 7G~ # 55 %(FL|.^#V#bkW%%+}<Testinp version 01.01 Copyright (c) 1981 Cromemco, Inc. *Bnf|͙fͳ :2dͳ :2rͳ :2nf" 8L!0 > 8:##nf|(8:G( !:W('!"!B0 :ˏ2!:W(!O( *8F%(FL|.^#V#bkW%%+}<t|(d|2|(4| ؗ2%(FL|.^#V#bkW%%+}< Version version 00.09 Copyright (c) 1980 Cromemco, Inc. 5{*#"8e"*B%nf|(6 8*z( G##nf| &* "U\&!!F!! Not a file or a directory: "%s" CROMIX version % #~1(+ <+4O~4 ; A[?Wrong number of arguments Correct form: testinp [-dfr] file string1 [string2 ...]  # ͯ ~/($# ~a(# x !W!s7Device name too long: "%s" Device must be in /dev: "%s" /dev/~aOa #!" 8x2,:,G8:,G!8!":,G8/etc/mtabnf~- ##!"_*_|( ~#(a(<A[ !@ww: Eo0{ ;.u}<01~<0*g~0"_2| MLK!ai3!͊02stu0stu|0 W&kmSy??<͟x( Y͟~͟Ts~!̀!de|(5^~!̀!k^^^!l~͟!x~!̀^!rC(p8_Of(8Gyw80>27y*|~#"nf##| "++*~#"0 ?ɇO؇؁=͟~#fo! "P{6 '.6@IPJanuaryFebruaryMarchAprilMayJuneJulyAugustSept(! 5(~(g!RV ^ f n NF NFJutsr!VV^fnNF NFJutsr:cʵV^z :bG *^͵86"^! x2b+~/(^(#6/#Ñ*ZFN[\0 ^#V#Bq#p#"\7R %s Logical file space: %l,d bytes Physical disk space: %l,d blocks unmount.binusage.binversion.binwboot.binwho.bin02x.%02x ڨ>/ ڲx2*"! :G8:( 8! S Q !"*[ b*8 !* "[R !77 Pathname too long v? ! 8nz{ 8b*8^S ~#( A ># ##*R8*>ݾ # !BR! l!z  ! !%-25s%c%c No version number: "%s" Not a file: "%s" ~#( x 7 #*"*nf~- ##!"*|( ~#(4(< B!@@@ ! !B @   emberOctoberNovemberDecemberSundayMondayTuesdayWednesdayThursdayFridaySaturday %9s, %s %d,%d %s %d %2d:%02d:%02d  %02d%02d%02dCan't set system date Can't set system time DATE (mm/dd/yy): DATE (dd/mm/yy): TIME (hh:mm:ss): *B##^#V#z( - BKC*|( ~#(͖(<A[ Ʌo$$H BA A $"@   UUUU@~# ~# $HD" !" @ D H  R8!7Out of memory nf~- ##!"W*W|( ~#(Y(<A[ "S "bk 8"*B(0"[8R[*RѧR0**B ** *[*Bbb+w#R$$@@@ H@  @.shutdown.msgcheck.cmdinstall.cmdfixsb.cmdnewdisk.cmdnewuser.cmdq.cmdquery.cmdrunqd.cmdruntu.cmd shutdown.cmd togcurs.cmd update.cmd nf|(^Vz(7!)7Cannot boot from this device Wdpp/etc/sfdboot/etc/fdboot/etc/hdboot8!r  8!8z 8b( 7!r !7>)Not a block device: "%s" !x: hڟA!ڰ!ڰ8vA!8t8p!8^!8J!fn | }0!++"*|(0+"!8 A8 A 7!7Boot too large ~#( x 7% This procedure is used to install CDOS programs on a Cromix disk if '#1' = '' goto argerror if #1 = fda goto install if #1 = fdb goto install if #1 = fdc goto install if #1 = fdd goto install if #1 = sfda goto install if #1 = sfdb goto install if #1 = sfdc goto install if #1 = sfdd goto install %argerror echo -e Wrong number of arguments echo -e 'Syntax: install fdx where fdx = fda, fdb, ..., sfda, sfdb, ...' exit %install del install2.cmd >* /dev/null cdoscopy #1 install.%(FL|.^#V#bkW%%+}<2! 8S!=08:(:M( 4!F!! 8 !=08zݾ* {ݾ+ !/etc/who!=!M!$!=F N!V"^#f if '#1' != '' goto checkargs echo -e No device specified exit %checkargs if #1 = fda goto begin if #1 = fdb goto begin if #1 = fdc goto begin if #1 = fdd goto begin if #1 = sfda goto begin if #1 = sfdb goto begin if #1 = sfdc goto begin if #1 = sfdd goto begin if #1 = hd0 goto begin if #1 = hd1 goto begin if #1 = hd2 goto begin echo -e Illegal argument: '"#1"' exit %begin echo -n Now creating new disk #1 ... mode -pause init makfs #1 if #1 = hd0 goto newdisk  A H@@H System shutdown in 5 seconds r ͐ ~crx if -r install.crx goto continue1 %noinstall echo -e install.crx file not present on CDOS disk exit %continue1 ren install.crx install2.cmd if -e /usr/pkg goto continue2 %createpkg makd /usr/pkg chowner bin /usr/pkg %continue2 install2 #1 del install2.cmd echo CDOS software from disk #1 now installed on this Cromix disk $n%͎f(n)f&n'!2%-10s %-10s %5d %5d l&kjy!!!9>|&o|&khjGy!!! 9%3.3s-%02d-19%02d %02d:%02d:%02d%3.3s-%02d %02d:%02d 000JanFebMarAprMayJunJulAugSepOctNovDeco$@  @ if #1 = hd1 goto newdisk if #1 = hd2 goto newdisk wboot #1 %newdisk create /drive mount #1 /drive cptree / /drive unmount #1 del /drive mode pause echo echo Finished creating disk #1 %(FL|.^#V#bkW%%+}< /cmd/fixsb.temp testinp -d /cmd/fixsb.temp 'RB Makfs version 00.13' if -err go warning /bin/makfs -r #1 /bin/icheck -s #1 /bin/boot exit %prompt echo Call by: fixsb devname exit %warning echo "Fixsb requires Makfs version 00.13"  help newuser sion >/update.tmp testinp -dr /update.tmp 'CROMIX version 11.11' if -err goto begin %vers_err echo -e 'Update must be executed under CROMIX version 11.11' echo -en 'Now running under '; version exit %begin d / echo -n Now updating disk #1 ... mode -pause create /drive mount #1 /drive if #1 = hd0 goto updatefiles if #1 = hd1 goto updatefiles if #1 = hd2 goto updatefiles wboot #1 %updatefiles cptree -f /bin /drive/bin cptree -f /cmd /drive/cmd%This command file will configure the Cromix system to use IOP/Quadart %terminals; /dev/tty1 (on the 16FDC) remains the console device. d / ren cromix.sys cromix.orig ren cromix.iop.sys cromix.sys ren etc/iostartup.iop.cmd etc/iostartup.cmd ren etc/ttys etc/ttys.orig ren etc/ttys.iop etc/ttys echo 'Ready to boot and use IOP/Quadart terminals' console fdafdbfdcfddhd0hd1hd2iomemioplpt1lpt2lpt3lpt4mtty1mtty2echo -n 'Z' sfddzsmemytimerxtp1wtp2vtp3utp4tttystty1 tty2rtty3qtty4ptty5otty6ntty7mtty8l d /usr/query if '#1' = '-s' goto s_option if '#1' = '' goto no_arg %query_match match #1 query_data shift; if '#1' != '' goto query_match exit %s_option shift if '#1' = '' goto no_arg_s %system_match match #1 sys_data; echo match #1 jsys_data; echo match #1 mode_data; echo match #1 tmode_data; echo match #1 query_data shift; if '#1' != '' goto system_match exit %no_arg echo 'Syntax: query [-s] [string]' echo 'Contents of query data file:'; echo ty query_data exit copy -f /cromix.sys /drive copy -f /cromix.iop.sys /drive cptree -f /dev /drive/dev cptree -f /equ /drive/equ d /drive/etc move -f motd motd.old move -f startup.msg startup.msg.old d /etc copy -f fdboot iostartup.iop.cmd login.bin motd sfdboot /drive/etc copy -f startup.msg ttys.iop /drive/etc d /drive/etc chowner bin fdboot group iostartup.iop.cmd chowner system login.bin chowner bin motd mtab passwd sfdboot startup.cmd startup.msg chowner bin ttys ttys.io%This command file will restore the original Cromix configuration. d / ren cromix.sys cromix.iop.sys ren cromix.orig cromix.sys ren etc/iostartup.cmd etc/iostartup.iop.cmd ren etc/ttys etc/ttys.iop ren etc/ttys.orig etc/ttys echo 'Ready to boot and log in on 16FDC/TUART console' mtty3mtty4nullprtqslpt1qslpt2qslpt3qslpt4qtty1qtty2qtty3qtty4qtty5qtty6qtty7qtty8 if '#1' != '' goto check_arg echo -e No device specified exit %check_arg if #1 = fda goto check_vers if #1 = fdb goto check_vers if #1 = fdc goto check_vers if #1 = fdd goto check_vers if #1 = sfda goto check_vers if #1 = sfdb goto check_vers if #1 = sfdc goto check_vers if #1 = sfdd goto check_vers if #1 = hd0 goto check_vers if #1 = hd1 goto check_vers if #1 = hd2 goto check_vers %arg_err echo -e Illegal argument: '"#1"' exit %check_vers vertty9ktyp1jtyp2i %no_arg_s echo 'Syntax: query [-s] [string]' echo 'Contents of system call and query data files:'; echo ty sys_data; echo; echo ty jsys_data; echo; echo ty mode_data; echo; echo ty tmode_data; echo; echo ty query_data p who access rewa.. iostartup.iop.cmd login.bin startup.cmd d / makd /drive/gen >* /dev/null cptree -f /gen /drive/gen cptree -f /usr /drive/usr d /drive chowner bin bin cmd cromix.sys cromix.iop.sys dev equ etc gen usr access rewa.. cromix.sys cromix.iop.sys access rewa.e.e etc %update complete d / unmount #1 del /drive mode pause echo echo Finished updating disk #1 msg -a */dev/null echo -n 'Time until system shutdown: 5 '; sleep 1 echo -n '4 '; sleep 1 echo -n '3 '; sleep 1 echo -n '2 '; sleep 1 echo -n '1 '; sleep 1 echo -n '0 '; kill -2 1 qtty9qtty10qtty11qtty12qtty13qtty14qtty15qtty16rootsdiloadsdisdi0sdi1~sfda}sfdb|sfdc{ cromix.iophioprun.bingU!QSP!Q@Q!USPoWgN#F!@@B 2!S~( > P76#6#6#s#r#6!#q#pq#poWg@@^q#Vpi`R(!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!UO?8 K!SO Q*K7I"Knf87}!KO(Q!VsPsISI"IH8:!H*I*I*I!9ut!SO(Q{I 8 > ͻI  P !OO*K!9ut1@*K(Q!"KqJ IH8SKHGox (/(2(90A&))B^#V#N#Fo&y(( ~#fo_U BGH>GH>>"7!US Q?##J_ JJ!QS(QJnfP^ ͺKG!QS Q8##p#q#s#r!US(Q]T(>íXw>ͫJIw7\  7(>ͩI0>!0! /h666!6$R6%6'66F `~ '! /h8QG"n VYxY !/hGn ~"0 x˿( ~x( KNKGK>UK~ ( ^G!"n 4˿n "f (T(P#(K%(X f( xVP͒h8v;[n !~"0 x˿ (((<"F(i8M;[˿ 0i0y(~$R( ~%;[>  qp6\ͭ[ͭ[G"n L~Ox(ZZq í[yʭ[˸˿n (v(w !f†[& CS*[RDM[$$+K[*@q@ÏH V 8_b!@#~#~#fo~#foP#M Cromix IOP System version 11.11 Copyright (c) 1980, 1981 Cromemco, Inc. Version 11.11.00_qtty_qslpt_iomem !@#~#( ## > 7~#fo!A@@s#r#!KOP!8LpQ!OOP!SOP !YOP!YO"WO!SO!OO!NQ8 xݾ eQ!YO ͽO0 7*WO(= !OR0!*WO!SO͙QP"WO!CPw#!CP~( 0#7~wz!CPPzG7/w K>(7 0P~ 0P(P~p>"7yGy/GPPɅo$˽˵oկ[A wwwwU!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!U!UVM6gVV$W'WnWW*W![W! Vc81 IY!kWutp*~(~"w"4(Nf~* K5>$7xe͂K0f>ëJf~nf"^J ^+V,zJw+w,5 A~(͂K0W.>UKW>ͫJI8 K"~( _~*sd K>>6>} KJ|z(-͌K K@(x(z( KPK>>6nfP}>:J|*KfJ|>UKIG(GO͌K Kw ({y{0>@{0@!^(͂[!~xF(f'tY>ëJ! ͒h8|"n~!̂[Fė[!NFx˿ f(> \~ WĊ]>ͫJ ^g[ _nfJ~ V ^~)"n>F^"n (A (1((#( 0 >^[@v(~$R \> \>Y\!V> \> ~  7>͌Kg~ ~<0 K|Y\>@UK> 8("n n ~(=]84]v ɧ "n] ] (7 ʳ] )]]~ ~'8]~ ]~=G~(=x"n 8&N  ]~ @ ̀H<@##~#foBBB"CPC~CCCD6DdDDDDEJExEEEF0F^FFFFGDGrGGGG*HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU(Q y nf}7~w#~w+www#w+^Vut{ ut}|}( #V+^{7^V{  }|~(srww~#+~~# w~w ^V~#~w#~ww+w+w+wUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!B ##~#(# 7p+q+V+^BR}!BPw#w1@@|G^HPgͅOYS!@B>> KHSK JJqJ ISP!KO Q8 z!w!sP7O!SO(QOOKww"VNFxex4ffjY,\N`~"O(o ~ |˿ >]|ûZn^Ney͌K( ($_GK\n+f,K͌Kg K͏K|()(;!W2X _(U(@*_GK.7Kn+f,|Wq+p,Kn+f,|WB`i>"7Nxfe>]>.]x>9f"l =ˍ]u"|=Nfx(Bex}(@_~ąX8*x ~ | 6͞X0 >.~4f8!|p"FbV|0W>.7>"7>UK~NFxfx4ff>ͩIe~f8F ~4f8_Y0(+Y0( ! ( ( ]> Y\~ !v7]Q]"n~)"n !n > ]~ @]6aQ] 5 4~'w!F(("n "n ~) v(6 ͳ]í["n fij]> ]~ ]65~'w6> ]~ 0"ngW|]]]n ^!͒h8v Wn^N~(g> >g^¸^nf}(5~ 6+ut!f^P~: !/h8F"n ( /h84 ;nu( } ^ ^}(nfP^ɯ͒hgFxͷe|!^"IJIͩIx͓e^^N~(>@N(a0pp;:P12P345678P9P 8~= ܣa84 'bɧb (m (& b ʺa'b~ =w >'b~b~ =G~=x8%N  'b~ z> a~  v7ͮaa(!~ n > 'b~@b6 ~w a f> b6 > 'b~b5 6 'b~0gW|4b'b4bN>b!͒hWNMb^ LN!/h8@ /h84 ;nu( } b b}(n f Pbɯ͒hgFxͷe|!b"IJIͩIx͓eMbbF~(>@ëJ!/h0!ÚP!åPPc9c gx {8/w_y!gPNfyfO 0!gP!5g~6fc<!{e6#!g"Nf#!gs#!gN#͇fLe ͧf!g:gWf#!gNy#IKik@BDF`bdf( 80H@XPh`xpTtLMNPlmnp@ !zi>P}o~#+ s#r+T]>P x SxiW~(Knf4~5(}< )}o~(^#V+sr[xis#r+"xih|h7_W~<(d=(~ A*xi|(S^#V+Sxi~(^V{_s#r# 6#6#ututnfs44inly IOP1, IOP2, IOP3, and IOP4 allowed No input file IOP is improperly addressed or not in system IOP talking to Quadart No response - the IOP is busy The IOP Monitor RAM test failed The IOP Monitor ROM test failed .iopTcpcPc:c<(2c bXH8rH2 c: c K>$7 K!c5: c̀H#~ˆ* c}(+" c* c~#" c KNK͌KG* c}( +" c* cp#" c͌Kg K͏KGK|( C cogB +" c! cƧ>"7!cP~+!cP6+6{c8DXH8Tͽd8Q.AP}cq#put}͓dwO}͘e}͓erHG^#V^#VnfB =>$7rH̀H̀HFxcNxͼexͷexXew!gP~!gP~͟d͟d͟dͱdtS8@͟dMDtS8-ͷd etS8ͫdetS8ae7ie7%(FL|.^#V#bkW%%+}<}o(!b_(!g(!8]::Gy8tz8!>ݾ w# s#^#V#SS#### 8&:Gy0 l*r8 !:G{ i7W~(P5nf~5(} -}o~(^#V+{_sr[xis#r+"xiji|ui7 $A$@!$@@$  $@DD>ëJ!_! _!_/h0!ÚP!ͥPg[6gF__P____!_!8_c8! !`6!_u t p _~GK4 5>$7 K5 ~( b~sdQ`Nx˿'`NMbNey͌Kb͌Kg K͏K|!_8bGKNfx~(|4f8|͘e|͓e~p>"766@6B6 B66( (>ͫJ^>ͫJ>b͌Kg^ (~Č`8"~<0 K|a>@UK>Kf |!a`0 4>;6>'bÂK~ o(w |*``0w |~w+#~7# ~wSEQqe77N >0yN fg| %n-t-\~f|((|((Le~fqV >y VͫdͷSͷdͷS͟dͷSͱdͷS !{eP xw>y!{eP x/w>y >(y > >yhy Ͳe>ͩIe>(éI͎e f 7 x >>PQ>y>yR>y>dy.PtS_x05!gP~(+W{!gPNx(>ͧff{!gPf>"7fN>GyQ >yyO>yy=f!gP g>yx>D >Ly |efyf͋e> >yy >!g>>y>y Y Q F!R5(:O! i a2ij(!!a*@}8*Bnf| >!'7 8Ͷ!!a*@}8%*Bnf|(###~5018_!~2!>7ξͣ 70> ͊x@  x  7! - % *!T*"~#͊z :Ox@  x ~ > w͊:~# Gxxxx {_0͊:ͣ >!y7 y!:Ox- % ~#  #~(. 7|}0:8RS O hl) get current directory name .setdir equ 03H ;setdir(hl) change current directory .mount equ 04H ;mount(c,de,hl) mount file system .unmount equ 05H ;unmount(hl) unmount file system .delete equ 06H ;delete(hl) delete file .chkdev equ 07H ;chkdev(d,e) check for device driver .create equ 08H ;b=create(c,hl) create & open file .open equ 09H ;b=open(c,hl) open file .chdup equ 0AH ;c=chdup(b) duplicate channel .close equ 0BH ;close(b) close filead equ 0 ;read only op.write equ 1 ;write only op.rdwr equ 2 ;read and write op.append equ 3 ;append only op.xread equ 4 ;exclusive read only op.xwrite equ 5 ;exclusive write only op.xrdwr equ 6 ;exclusive read and write op.xappend equ 7 ;exclusive append only op.truncf equ 80H ;truncate on create flag op.condf equ 40H ;conditional create flag ; ; C-register file position modes for .setpos ; fwd.begin equ 0 ;forward from the beginning of the file fwd.fchstat(c,de,hl) change file status .cchstat equ 23H ;cchstat(b,c,de) change channel status .flink equ 24H ;flink(de,hl) link to file .clink equ 25H ;clink(b,de) link to open channel .faccess equ 26H ;faccess(c,hl) test file access .caccess equ 27H ;caccess(b,c) test channel access ; equ 28H ; equ 29H .getdate equ 30H ;d,e,h,l=getdate() get date .setdate equ 31H ;setdate(e,h,l) set date .gettime equ 32H ;e,h,l=gettime() get time .settime equ le types for st.ftype ; is.ordin defl 0 ;ordinary file is.direct defl 1 ;directory file is.char defl 2 ;character device is.block defl 3 ;block device is.pipe defl 4 ;pipe file ; ; access bits for access flags ; ac.read defl 0 ;read access bit ac.exec defl 1 ;execute access bit ac.writ defl 2 ;write access bit ac.apnd defl 3 ;append access bit ; ; C-register modes for .setuser, .getuser, .setgroup, .getgroup ; id.effective equ 0 ;effective id id.login equ 1 ;login id id.program equ hell process .shell equ 49H ;shell(de) transfer to shell process ; equ 4AH .fexec equ 4BH ;fexec(bc,de,hl) fork and execute program .exec equ 4CH ;exec(bc,de,hl) execute program ; equ 4DH ; equ 4EH ; equ 4FH ; equ 50H .indirect equ 51H ;indirect(a,b,c,de,hl) system call in A-register .update equ 52H ;update() update disk I/O buffers .mult equ 53H ;dehl=mult(bc,hl) multiply .divd equ 54H ;de,hl=divd(dehl,bc) divide .version equ jsysequ.z80fmodeequ.z80estructs.z80dtmodeequ.z80c .exchg equ 0CH ;exchg(b,c) exchange data in files .trunc equ 0DH ;trunc(b) truncate open file .pipe equ 0EH ;b,c=pipe() create a pipe ; equ 0FH .getpos equ 10H ;dehl=getpos(b) get file position .setpos equ 11H ;setpos(c,dehl) set file position .getmode equ 12H ;d=getmode(b,c) get device characteristics .setmode equ 13H ;d=setmode(b,c,d,e) set device characteristics .rdseq equ 14H ;de=rdseq(b,de,hl) read n bytes .wrseq equ 15H ;de=wrseq(bcurrent equ 1 ;forward from the current file position fwd.end equ 2 ;forward from the end of the file bak.current equ -1 ;backward from the current file position bak.end equ -2 ;backward from the end of the file ; ; C-register modes for .fstat, .cstat, .fchstat, .cchstat ; st.all equ 0 ;all of inode (128 bytes) st.owner equ 1 ;de = owner st.group equ 2 ;de = group st.aowner equ 3 ;d = owner access, e = mask st.agroup equ 4 ;d = group access, e = mask st.aother 33H ;settime(e,h,l) set time .getuser equ 34H ;de,hl=getuser() get user id .setuser equ 35H ;setuser(hl) set user id .getgroup equ 36H ;de,hl=getgroup() get group id .setgroup equ 37H ;setgroup(hl) set group id .getprior equ 38H ;l=getprior() get process priority .setprior equ 39H ;setprior(l) set process priority .getproc equ 3AH ;hl=getproc() get process id ; equ 3BH ; equ 3CH .ksam equ 3DH ;ksam(c,de,hl) ksam call .lock equ 3EH ;lock(c,de,2 ;program id id.hl equ 3 ;id contained in HL register ; ; Signals ; sigabort defv 1 ;CNTRL-C key siguser defv 2 ;user-specifiable key sigkill defv 3 ;kill sigterm defv 4 ;terminate (catchable) sigalarm defv 5 ;alarm clock sigpipe defv 6 ;broken pipe sighangup defv 7 ;modem hang up sigmax defv 8 ;maximum signal number ; ; SYSTEM CALL NUMBERS ; .makdev equ 00H ;makdev(d,e,hl) make device entry .makdir equ 01H ;makdir(hl) make a directory .getdir equ 02H ;getdir( 55H ;hl=version() get system version # .boot equ 56H ;boot(hl,de) boot new operating system form ;* error code definitions -- RVH Jan 30,1979 ?badchan defv 1 ;bad channel # ?toomany defv 2 ;channel already open ?notopen defv 3 ;channel not open ?endfile defv 4 ;end-of-file ?ioerror defv 5 ;I/O error ?filtable defv 6 ;file table exhausted ?notexist defv 7 ;file does not exist ?badname defv 8 ;bad file name ?diraccess defv 9 ;directory access ?filaccess defv 10 ;file access ?exists list off ; list noxref ; (Permitted only with ASMB versions 03.08 or higher) stdin equ 0 ;standard input channel stdout equ 1 ;standard output channel stderr equ 2 ;standard error channel argc equ 40H ;location for argument count argv equ 42H ;location for argument list vector arg0 equ 0 ;arg offset arg1 equ 2 ;arg offset arg2 equ 4 ;arg offset arg3 equ 6 ;arg offset arg4 equ 8 ;arg offset ; ; C-register modes for .create, .open ; op.re,de,hl) write n bytes .rdbyte equ 16H ;a=rdbyte(b) read 1 byte .wrbyte equ 17H ;wrbyte(b,a) write 1 byte .rdline equ 18H ;de=rdline(b,de,hl) read a line .wrline equ 19H ;de=wrline(b,hl) write a line ; equ 1AH .printf equ 1BH ;printf(b,hl) print formatted string .error equ 1CH ;error(a,b,de,hl) print error message .fstat equ 20H ;fstat(c,de,hl) get file status (inode) .cstat equ 21H ;cstat(b,c,de) get channel status (inode) .fchstat equ 22H ;equ 5 ;d = other access, e = mask st.ftype equ 6 ;d = file type st.size equ 7 ;dehl = file size st.nlinks equ 8 ;de = number of links st.inum equ 9 ;de = inode number st.device equ 10 ;de = device number of file system containing inode st.tcreate equ 11 ;de-> time created st.tmodify equ 12 ;de-> time last modified st.taccess equ 13 ;de-> time last accessed st.tdumped equ 14 ;de-> time last dumped st.devno equ 15 ;de = device number if inode is a device ; ; fihl) lock key .unlock equ 3FH ;unlock(c,de,hl) unlock key .signal equ 40H ;signal(c,hl) set up to receive a signal .kill equ 41H ;kill(c,hl) send a signal .sleep equ 42H ;sleep(hl) sleep for hl seconds .alarm equ 43H ;alarm(hl) set alarm clock .pause equ 44H ;pause() pause for alarm clock .wait equ 45H ;c,de,hl=wait() wait for child process .exit equ 46H ;exit(hl) exit process (close files) ; equ 47H .fshell equ 48H ;fshell(de) fork a s  defv 11 ;file already exists ?nospace defv 12 ;no disk space left ?noinode defv 13 ;no inodes left ?inotable defv 14 ;inode table exhausted ?badcall defv 15 ;illegal system call ?filsize defv 16 ;file size too big ?mnttable defv 17 ;mount table exhausted ?notdir defv 18 ;not a directory ?isdir defv 19 ;is a directory ?priv defv 20 ;privileged system call ?notblk defv 21 ;not a block special device ?fsbusy defv 22 ;file system busy ?notordin defv 23 ;not an ordinary file ?notmount defv 24_110 equ 3 ; 110 baud ; equ 4 ; 134.5 baud S_150 equ 5 ; 150 baud ; equ 6 ; 200 baud S_300 equ 7 ; 300 baud ; equ 8 ; 600 baud S_1200 equ 9 ; 1200 baud ; equ 10 ; 1800 baud S_2400 equ 11 ; 2400 baud S_4800 equ 12 ; 4800 baud S_9600 equ 13 ; 9600 baud ; equ 14 ; External A ; equ 15 ; External B S_19200 equ 16 ; 19200 baud S_CTSWAIT equ 125 ; wait for Clear To Send S_NOCHG equ 126 ; no change of baudrate S_UNINIT equ 127 ; baudrate has not been initialized yet Sdefv 37 ;directory in use (delete) ?filuse defv 38 ;file in use (exclusive access) ?nomatch defv 39 ;no match on ambiguous name ?chnaccess defv 40 ;channel access ?notcromix defv 41 ;not a cromix disk ?badfree defv 42 ;bad free list ?badinum defv 43 ;bad inode number ?readonly defv 44 ;device mounted for read only ?noproc defv 45 ;process does not exist ?signal defv 46 ;system call was aborted ?badpipe defv 47 ;bad call on a pipe ?locked defv 48 ;locked ?deadlock defv 49 ;deadlocked ?lcktabe is output NOTIMMECHO defl 1 ; do not echo characters typed-ahead NOECNL defl 2 ; do not echo NLs SGENABLE defl 3 ; send SIGUSER signal if MD_USIGNAL key pushed ABENABLE defl 4 ; send SIGABORT signal if CNTRL-C key pushed XFF defl 5 ; expand FFs WRAP defl 6 ; wrap-around if page width is exceeded SIGALLC defl 7 ; send SIGUSER signal for every key pushed ; d-register & e-register bits for MD_MODE3 calls ESCRETN defl 0 ; ESC causes input line to be returned FNKEYS defl 1 ; response to 3102 tc. MD_MODE3 defl 5 ; flags: CBREAK, VRAW, etc. MD_ERASE defl 6 ; auxilliary erase character MD_DELECHO defl 7 ; erasure echo character MD_LKILL defl 8 ; line kill character MD_USIGNAL defl 9 ; SIGUSER signal key MD_LENGTH defl 10 ; page length (lines) MD_WIDTH defl 11 ; page width (columns) MD_BMARGIN defl 12 ; bottom margin (lines) MODELEN equ MD_BMARGIN + 1 ; more c-register values for .GETMODE and .SETMODE system calls MD_STATUS equ -100 ; check whether input queues empty MD_IFLUSH , RAW, or BINARY mode, ; it won't be accessible until a whole line ; is entered) ; ----------------------------------------------------------------------------- ; old names md.ibaud equ md_ispeed md.obaud equ md_ospeed md.mode1 equ md_mode1 md.mode2 equ md_mode2 md.mode3 equ md_mode3 md.erase equ md_erase md.dlecho equ md_delecho md.kill equ md_lkill md.signal equ md_usignal md.length equ md_length md.width equ md_width md.bmargin equ md_bmargin b.9600 equ S_9600 b.19200 eq ;device not mounted ?nochild defv 25 ;no child processes ?nomemory defv 26 ;not enough memory ?ovflo defv 27 ;divide overflow ?argtable defv 28 ;argument table exhausted ?arglist defv 29 ;bad argument list ?numlinks defv 30 ;too many number of links ?difdev defv 31 ;cross-device link ?nodevice defv 32 ;no special device ?usrtable defv 33 ;user process table exhausted ?badvalue defv 34 ;value out of range ?notconn defv 35 ;I/O device not connected ?devopen defv 36 ;device open error ?diruse fl_AUTO equ 7 ; (bit 7) input CRs from keyboard to set baudr ; d-register & e-register bits for MD_MODE1 calls TANDEM defl 0 ; send XOFF/XON to control filling of input buf XTAB defl 1 ; expand TABs LCASE defl 2 ; convert alphabetics to lower case ECHO defl 3 ; echo input CRDEVICE defl 4 ; on input, map CR into NL, ; on output, change NL to CRLF. RAW defl 5 ; on input, return after each character, ; no erase, linekill, or EOF characters, ; no output PAUSE or output width truncatle defv 50 ;lock table exhausted ?tapeio defv 51 ;tape I/O error ?badio defv 52 ;bad I/O ; list xref ; (Permitted only with ASMB versions 03.08 or higher) list on function keys enabled HUPENAB defl 2 ; hang up modem when device is finally closed SIGHUPALL defl 3 ; send SIGHANGUP signals to all processes which ; use this TTY device if modem hangs up CBREAK defl 4 ; on input, return after each character, ; no erase, linekill, or EOF characters. BINARY defl 5 ; on input, return after each character, ; no erase, linekill, or EOF characters, ; no output PAUSE or output width truncation, ; treat X-OFF & X-ON as regular input, ; no tandeequ -101 ; flush input queues MD_FNKEYS equ -104 ; turn function keys on or off ; d-register = 1 to enable fnkeys ; d-register = 0 to disable them MD_PSIGHUP equ -105 ; signal current process if hang up ; equ -106 ; (this value reserved) MD_BREAK equ -107 ; output break (QTTYs only) ; d-register = 1 to start break ; d-register = 0 to stop break ; d-register values for MD_ISPEED baudrate calls S_HANGUP equ 0 ; hang up phone ; equ 1 ; 50 baud ; equ 2 ; 75 baud Su S_19200 b.auto equ ^Sfl_AUTO md1.tab defl XTAB md1.echo defl ECHO md1.lcase defl LCASE md1.cr.nl defl CRDEVICE md1.raw defl RAW md1.odd defl ODD md1.even defl EVEN md2.pause defl PAUSE md2.later defl NOTIMMECHO md2.noecnl defl NOECNL md2.sgenable defl SGENABLE md2.abenable defl ABENABLE md2.ff defl XFF md2.wrap defl WRAP md2.esccr defl ESCRETN st.charrdy equ INOTEMPTY hangup equ HUPENAB huptty equ SIGHUPALL list xref ; (use this line only with ASMB version 3.08 or laion, ; treat X-OFF & X-ON as regular input. ODD defl 6 ; parity function bits EVEN defl 7 ; ; special definition for the big version of the TYP printer driver AUTOPRO defl RAW ; automatic proportional spacing ; d-register & e-register values for MD_MODED calls NLDELAY defl 03H ; (pairs of bits) TABDELAY defl 0CH ; CRDELAY defl 30H ; FFDELAY defl 40H ; (single bits) BSDELAY defl 80H ; ; d-register & e-register bits for MD_MODE2 calls PAUSE defl 0 ; wait for CNTRL-Q after a pag list off list noxref ; (use this line only with ASMB version 3.08 or later) ; ----------------------------------------------------------------------------- ; mode definitions for terminals and printers, ; TTY, QTTY, MTTY, LPT, SLPT, QSLPT, and TYP ; c-register values for .GETMODE and .SETMODE system calls MD_ISPEED defl 0 ; input speed MD_OSPEED defl 1 ; output speed MD_MODE1 defl 2 ; flags: RAW, ECHO, etc. MD_MODED defl 3 ; delays for NL, CR, etc. MD_MODE2 defl 4 ; flags: PAUSE, XFF, em mode (i.e., no input buf control), ; no abort signal (^C), no user signal, ; no changing or checking parity bit, ; no delays after control chars such as NLs, ; no echoing, ; no character transformations (i.e., ignore ; the LCASE, CRDEV, and XTABS modes) ; no function-key decoding. DISCARD defl 7 ; discard the device when it is no longer open ; d-register bits for MD_STATUS calls INOTEMPTY defl 0 ; there is a character in the input buffer ; (but if not CBREAK ter) list on er TPBLKNO equ tpmmin + 8 ; block number TPOBLKLN equ tpmmin + 9 ; block length for next block written TPIBLKLN equ tpmmin + 10 ; block length of first block read TPOBLKS equ tpmmin + 11 ; number of blocks written TPSTAT equ tpmmin + 12 ; get error (status-2, status-1) tpgmmin equ TPMODE ; minimum getmode number tpgmmax equ TPSTAT ; maximum getmode number tpsmmin equ TPABORT ; minimum setmode number tpsmmax equ TPOBLKLN ; maximum setmode number ; TPMODE bits EOFCLOSE equ 7 ; wroup id in.aowner defs 1 ;owner access in.agroup defs 1 ;group access in.aother defs 1 ;other access in.stat defs 1 ;file status in.nlinks defs 1 ;number of links to inode defs 1 in.size defs 4 ;file total size (in bytes) in.inode defs 2 ;this inode number in.parent defs 2 ;parent inode number (for directories only) in.sdevn defs 0 ;special device major & minor numbers in.dcount defs 2 ;number entries in a directory in.usage defs 4 ;number blocks actually used in file in.tcreate defs 6 ;timefdbootbgroupaiostartup.iop.cmd`login.bin_motd^mtab]passwd\sfdboot[startup.cmdZstartup.msgYttysXttys.iopWwarningVwhoU.warningVf name defs 4 ;reserved dr.stat defs 2 ;status & flags dr.inum defs 2 ;inode number of file dirsize defs 0 ;directory entry size (32 bytes) mend struct ds.alloc equ 7 ;entry allocated bit 483͆027{7'K88A043#43#43#43#403>*E3*O4(2D4͍_:(!!: :g:2 4 ͛! Nͨx2>2:G7G:W(G(x 4/ >ɯ42H4͍!'͍ͨ:(}x!:W ! +}  1*!"! nfc!!Zut6:_sr nf c~ Q!8C{8>> 89!!Z{*!R8 KdC>2:2>2BKf* vCannot boot CROMIX ; ; super block definitions ; frbcount equ 80 ;free block list size fricount equ 80 ;free inode list size frbsize equ frbcount*4+2 ;free list size in bytes frisize equ fricount*2+2 ;free list size in bytes struct 0 sb.version defs 2 ;version number sb.cromix defs 6 ;'cromix' sb.istart defs 2 ;first inode block sb.isize defs 2 ;number of inodes sb.fsize defs 4 ;max block number sb.time defs 6 ;last modified time mend struct struct 512-frbsize-frisize sb.nfree defs 2 ;free block countite EOF to tape when device closes ; TPSTAT status bits, returned in e-register (obtained from PIO input port A) DRVBUSY equ 7 ; drive busy WRRDY equ 6 ; FIFO ready for input (used for write) RDRDY equ 5 ; FIFO output ready (used for read) LOADPT equ 4 ; load point FBUSY equ 3 ; formatter busy ONLINE equ 2 ; on line IDENT equ 1 ; ident? RDY equ 0 ; ready ; TPSTAT status bits, returned in d-register (obtained from PIO input port B) HISPEED equ 7 ; high speed status HARDERR  created in.tmodify defs 6 ;time last modified in.taccess defs 6 ;time last accessed in.tdumped defs 6 ;time last dumped (backed up) in.index defs 4*20 ;block pointers inosize defs 0 ;total inode size in bytes mend struct inocount equ 20 ;size of inode table is.type defl 7 ;file type mask (in.stat) is.ordin defl 0 ;ordinary file is.direct defl 1 ;directory file is.char defl 2 ;character device is.block defl 3 ;block device is.pipe defl 4 ;pipe file is.alloc defl 7 ;inode alloca>@81!>z4y0= 400 x2z43>048÷0g(LGSSSDST2!"!"222>2̀8͹!:(A!x2"! N":(>22: := :<22:*o0$~2͛8+8&*["R(0:<2G: >2zSD >2ɗ2|DD >2*~#~     Fdboot version 00.09 Copyright (c) 1980, 1981 Cromemco, Inc.  list off list noxref ; (use this line only with ASMB version 3.08 or later) ; mode definitions for TP tape devices ; c-register values for .GETMODE and .SETMODE system calls tpmmin equ -60 ; minimum mode number TPABORT equ tpmmin + 0 ; re-initialize tape driver TPFMARK equ tpmmin + 2 ; write file mark TPSECURE equ tpmmin + 3 ; security erase TPREWIND equ tpmmin + 4 ; rewind TPUNLOAD equ tpmmin + 5 ; rewind and unload TPMODE equ tpmmin + 6 ; mode bits TPFILNO equ tpmmin + 7 ; file numb!> 84!Z!{!Z 8!Z~(͕ fncromix.sys! !qpu t s r 66^V n f c~(7!N(73 (i Z8!8Z+}::!FN 0Oͯ G~ͯ # A[  , 3 k!  O6}@(4~= XsS A66{2>2D4>͛w ${_} sb.free defs frbcount*4 ;free list address sb.ilist defs 0 ;i-list address sb.ninode defs 2 ;free inode count sb.inode defs fricount*2 ;free inodes mend struct eject ; ; inode buffer definitions ; struct 0 defs 2 ;avail list pointers defs 2 in.devn defs 2 ;inode device number in.inum defs 2 ;inode number in.flags defs 1 ;flags byte in.ucount defs 1 ;usage count in.begin defs 0 ;beginning of inode on disk in.owner defs 2 ;file owner's user id in.group defs 2 ;file owner's grequ 5 ; hard error FLMARK equ 4 ; file mark CORERR equ 3 ; correctable error WRPROT equ 2 ; file write-protected EOT equ 1 ; end of tape RWINDING equ 0 ; rewinding list xref ; (use this line only with ASMB version 3.08 or later) list on ted (bit in in.stat) if.lock defl 0 ;inode locked (in use by a process) if.want defl 1 ;inode wanted by another process if.modf defl 2 ;inode has to be written out if.modt defl 3 ;update time modified if.acct defl 4 ;update time accessed ac.read defl 0 ;read access bit ac.exec defl 1 ;execute access bit ac.writ defl 2 ;write access bit ac.apnd defl 3 ;append access bit eject ; ; directory format definitions ; struct 0 dr.name defs 24 ;name of entry namsize defs 0 ;size o> 2c `c(Uͫ:::ˇ2222c  (ͫ7 (ͫ:O7ɗ2224804W =0>0͍W͛@ ͆4W 0>014W 0>27ɗ4:3O:2:1ʆ804W 0@͍O>04W 00.2@ - @ ͆$:W(_(7:͆!dͨ027:2'048484O 0͆02͆>27BWbƈ_z4{͛Wbƨ_z4{04848 K40͆͛027:O͜8  ut6666̀ > ,}@(A(̀ , ~5}n ͌ ~7 ~7}y?>"! ^#Vc    ~ ~~~wf ^ V.)jutsr>"7i&:o:o:on f ^ V ^V &kjxo ! y ! q(x=(! ͭ !9>25n f ^ V z { | } 0A| }8$f V(Ϳ  ͛814 8, 25B 8!6z { >  66:wnf|(:wF Ϳ S:ˇ2 ͛84 8*"ݧPassword: *!!F ...timeout + G~+ # ! ! 0+ CLU25 ; !* *$ !? :F Logged in %s on %s !8+~ ( ( (#6BDMn4f5B8( u4t5ͿN4F5Ϳ^6V7z 7>n6f7 u6t7n*f+^,V- 0u*t+s,r-^2V3s2r3z }8)B0}lcZ'?z } xn(f):Z8 x(x7(_V^fnh&)))zݾ {ݾ |ݾ }ݾ(utsrz(NFnfnfT]6_V^fnh&)))w(#6t&u't(u)s t!u"s#t$u%s+r*!  8 o&0S80 !  8 0 /etc/accountl&kjy!" I ! !9>|&o|&khjGy!" I ! ! 9%3.3s-%02d-19%02d %02d:%02d:%02d%3.3s-%02d %02d:%02d 000JanFebMarAprMayJunJulAugSepOctNovDeco$DM% ++~+ h ͏  8 !y 7Illegal number: "%s" !  8$%%%%oh 7+ 0:8 ag?'0!  8(%%%%(FL|.^#V#bkW%%+}<F ~(2} 22̀ ~2:V(2^V$(H%R0 8!8NF QN(,2}2:5(n f ^{2r6k6̀ 8,>2!"͛ 882  w 66F ~w!f V(F  n&N()+NF 8f V <<^Vu t srzSDr ~TDr |DDr xSCr(LCr(SBr(lBr( *~#~{ 8xwTė 7͸8(UP~TG8~;( *( <+~ B ~ ($ ( uusers : :1 :user1,user2,newuser,gm  J  0:?0Ʌo$~# A[ "II$H @T@$   H!  $ @    B@sh-q.startup.startup.cmd-c[#8![#8Z#8 #8 # 8!80 ! nf~#( 8 z(!/usr/mail/You have mail *78%78*5858nf 87!!'38nfN 8"nfN 8"7/etc/passwd͗8cͬ8Onf4 ͈ nf~89ͽnfͽ~# ͜ nf( #͈ !77Name or password incorrect ~(#!!@" !C͹!C*  @*> system : :0 :0 :/ user1 : :1 :1 :/usr/user1 user2 : :2 :1 :/usr/user2 newuser : :99 :1 :/ :newuser bin : :32767 :32767 :/bin ! < = ( (MM( ( M$M                        >C( = z {?>70BB0 =  Ru(t)!K>utsrqp!  DM= !u*t+s,r-^(V)V^fnu.t/s0r1u2t3s4r5s6r7n*f+^,V-z1 {0 |/ }.0uMlcZ*8m n.f/^0V1N*F+BN,F-Bz R0t##~:( ( ( #N (,#N (#6ut##8 +~ ė 7^VR( +~ ( (#w~TG!0͗ 7~TG 0͗ 7Ϳ 6T] ~+ (7jj#~!0 bk!y(!E  !)j0NF NFJ0 ####>9a{8Ƶw#= Z2Yckyd(vP)*||, BE~FN0qRL$BbLgj]zbF{IkEpƨshSϴr:<}W?ڼ}gƳy2alL! 8 0/etc/who6T]/% Remove comment signs, "%", in order to load IOPs with the QTTY, QSLPT, % and IOMEM drivers: /dev/iop/ioprun /dev/iop/cromix iop1 % /dev/iop/ioprun /dev/iop/cromix iop2 % /dev/iop/ioprun /dev/iop/cromix iop3 % /dev/iop/ioprun /dev/iop/cromix iop4 % Remove a comment sign "%" in order to load an IOP with the TP % and IOMEM drivers: % /dev/iop/ioprun /dev/iop/tape iop1 % /dev/iop/ioprun /dev/iop/tape iop2 % /dev/iop/ioprun /dev/iop/tape iop3 % /dev/iop/ioprun /dev/iop/tape iop4 Message of the day: welcome to the CROMIX Operating System  >@8!!>z4y0= 400 x2z43>048÷0g(LGSSSDST2!"!"222>2̀8͹ !:(A!x2"!N":(>22: := :<22:*o0$~2͛8+8&*["R(0:<2G: >2zSD >2ɗ2|DD >2*~#~   Sfdboot version 00.09 Copyright (c) 1980, 1981 Cromemco, Inc. time; time -s ty /etc/startup.msg if -r /etc/.warning ty /etc/.warning ren /etc/warning /etc/.warning >*/dev/null !@ 84!\!}!\ 8!\~(͗ fncromix.sys! !qpu t s r 66^V n f e~(7!N(75 (k \8!:\+}::!FN 0Oͱ G~ͱ # A[  . 5 k!  O6@(4~= XsS A66{2>2D4>͛w ${_1:n :tty1 0:a :tty2 0:a :tty3 0:a :tty4 0:a :tty5 0:a :tty6 0:a :tty7 0:a :tty8 0:a :tty9 1:n :qtty1 0:a :qtty2 0:a :qtty3 0:a :qtty4 0:a :qtty5 0:a :qtty6 0:a :qtty7 0:a :qtty8 0:a :qtty9 0:a :qtty10 0:a :qtty11 0:a :qtty12 0:a :qtty13 0:a :qtty14 0:a :qtty15 0:a :qtty16 0:a :mtty1 0:a :mtty2 0:a :mtty3 0:a :mtty4 0:a :mtty5 0:a :mtty6 0:a :mtty7 {! < = ( (MM( ( M&M                        >C( = z {?>70BB0 =  Ru(t)!K>utsrqp!  DM= !u*t+s,r-^(V)V^fnu.t/s0r1u2t3s4r5s6r7n*f+^,V-z1 {0 |/ }.0uMlcZ*8m n.f/^0V1N*F+BN,F-Bz R0%(FL|.^#V#bkW%%+}< 2=͗! !!> >2>?A_ P !F Character device drivers Block device drivers Sl2n66##= 2onf> 2c `c(Uͫ:::ˇ2222c  (ͫ7 (ͫ:O7ɗ2224804W =0>0͍W͛@ ͆4W 0>014W 0>27ɗ4:3O:2:1ʆ804W 0@͍O>04W 00.2@ - @ ͆$:W(_(7:͆!dͨ027:2'048484O 0͆02͆>27BWbƈ_z4{͛Wbƨ_z4{04848 K40͆͛027:O͜8 Type "system", "user1", or "user2" to log in initially. For information about this version of Cromix, log in as "newuser". Any user may access this same information by typing "help newuser" once logged in. ut6666͂ @ ,@(A(͂ . ~5n ͎ ~9 ~7y?>"! ^#Ve    ~ ~~~wf ^ V.)jutsr>"7i&:o:o:on f ^ V ^V &kjxo ! y ! q(x=(! ͯ !9>27n f ^ V z { | } 0A| }8$f V(  ͛816 8, 27D 8!6z { >  66:wnf|(:wF  S:ˇ2 ͛86 8*"ݧ If you have reset the computer, immediately execute "check -s". BDMn4f5B8( u4t5N4F5^6V7z 7>n6f7 u6t7n*f+^,V- 0u*t+s,r-^2V3s2r3z }8)B0}lcZ'?z } xn(f):\8 x(x7(_V^fnh&)))zݾ {ݾ |ݾ }ݾ(utsrz(NFnfnfT]6_V^fnh&)))|(cnnfnf!p~ !~( ~,*l^#V#"ly(n sr## :o<2o:o %-29s %-s <%c> ? %-29s %-s !h7!@7n7y !!!( e #~(!ut###> 0+}(2=!! !(e #~(+ut!ut####! "7 User supplied character drivers (Y = Yes, N = No) ? Enter driver entry point (blank = none, E = End) %7d - Enter names of rel files which contain drivers (E = End) ? -s!483͆027{7'K88A043#43#43#43#403>*E3*O4(2D4͍_:(!!: :g:2 4 ͛! Nͨx2>2:G7G:W(G(x 4/ >ɯ42H4͍!'͍ͨ:(}x!:W ! +}  1,!"! nfe!!\ut6:_sr nf e~ S!8E}8@@ 8;!!\},!R8"KfC>2:2>2BKh, vCannot boot CROMIX 1:n :tty1 0:a :tty2 0:a :tty3 0:a :tty4 0:a :tty5 0:a :tty6 0:a :tty7 0:a :tty8 0:a :tty9 0:n :qtty1 0:a :qtty2 0:a :qtty3 0:a :qtty4 0:a :qtty5 0:a :qtty6 0:a :qtty7 0:a :qtty8 0:a :qtty9 0:a :qtty10 0:a :qtty11 0:a :qtty12 0:a :qtty13 0:a :qtty14 0:a :qtty15 0:a :qtty16 0:a :mtty1 0:a :mtty2 0:a :mtty3 0:a :mtty4 0:a :mtty5 0:a :mtty6 0:a :mtty7 nf"!"n}2>F ~(2} 22͂ ~2:V(2^V$(H%R0 :!:NF SN(,2}2:7(n f ^{2r6k6̀ 8,>2!"͛ 884  y 66F ~w!f V(F  n&N()+NF :f V <<^Vu t srzSDt ~TDt |DDt xSCt(LCt(SBt(lBt( *~#~crogen.binTcrolib.relSdefault.binRiolib.rel "9~!8#6#"5>  Automatic login name ? !";!(ny ! (n( y !";!>>(O8z }(02<= !>(*O8z }!}>(O8z }02; Default root device (Y = Yes, N = No) ? Boot disk (Y = Yes, N = No) ? Major device number (1 = Floppy, 2 = Hard disk) <2> ? Minor device number (0 = hd0, 1 = hd1, 2 = hd2) <0> ? Minor device number (0 = fda 4 = sfda) (1 = fdb 5 = sfՑTSӠudU%4UMI 9RUSRSIZTԕ d%Td4H UM%jBUFTBLSӕ d4%9=Q 2FILCNTSVddD$59Q 9RMNTSIZS d$t4HIM%jARGTBLӕ d441 -Q 2CPUTYPEG@:*Jztt|*!*GH2Jt**!&GI22rt!*)GJ22dt$'*GL2JrzJt$'!&GM22Jbrt#$)GN22Jbdt&*!*GP2jrJu&**!&GQ2 :ru  #GR2 :du<&!*GT2bZJuH&!!&GU:ʂ,He"y4X#n F"eΧ3H GS00 &xI Ɠa@ , '#8P 3X@& *iolib.sys ͉ ͨ ͷ Ϳ Q y ͸ :>o&##)[ " :=_"! > CONFIG> [>  > ͦ > ! nf|ȗ  ! nf|^V>  I * 2 : B bdevtabcdevtabrootdevlognamacctabl!u % :; :< *9% !?% root:>!͊ :=!B_ͫ C^Vz(ͫ ##{ z ![ :> !B[ :=Gnf|( > ##~ (>_~ ( dM"`8~k BUGA gaʡC~O0 EMA#SpF膗3@p=  [9 FsnP1v<|Zmv>g`Ka0L&?56 0P9y fՐ@L& mhR<!;!.jeY*mӘAr@p AhFtl2EVd0#Fm:̮SFE@,0FÂm }pV 2Yp#j@m/ڀVmd@MNf MA"huADcap<@H0!kD h(n:NB@BH!$@ @ $D $!@ " H  @D @!$@ @((PUUT@$ HI$H!$"DDI $A@$DA/өt#MG阊ͤ /+uRmm[0h: q,x27l gp, 0p, 6mt8RC`Ԁ:D H~ /+DB@]b&LgBA gto3Myc sI\b4ai7,Xh88P<&j[V@ 4h\He; V+L~簁a h8 j k 4^& ; 22 `K$b\0Y >C  ? !y?!|( ͭ8!?[r[r[~w#Default access for created files ? SSS8~?~( #.(+(,!~ ## +~W{_7rewa-*5"5[5*R8~( ( (#6#"5~,â Y Y| Y| Y Y Y N N0 NN NW N 1 - Console (Tuart) 2 - Console (Quadart) 3 - System 4 - Timer 5 - Parallel printer 6 - Typewriter prinJʈ(I :)(I J*H(I 8SU DH%91%9OUTLINEURSeEEUHQQeMQRPIDENT`eu%E$II5MDSKTYPG@"JrJt$&$"gzbJr,v*,GkzvD*, GZ@rJ"*rt'')",W򺒢|w")&q"Zʄ1 ͯ#xpCJpCe@ Q ^4#N@ 6hXm*n ӐEZ@Y! 3L0f@n8fp D0fa"t !I`@d4`P^e:3t:3is.fN1ya9((# J! 0 ͒ ͋ x~ #` } 8p y} ~͸  # 7͒ } 7͒ xd { z > O (͒ :2:=2:G:2Ha{_! 8x2!"!">27config.relͦ 7:G :*w#"*#"R 7!"!">2![z:GâDM&++~,h ͐8 !z7Illegal number: "%s" ! 8$%%%%oh 7,0:8 ag?'0! 8(%%%io9Fy@d2&3(u6!Ѐh2 X 4"b, !@2c!@= 1 "cD!`d24s3 "h,Cz 31 d24"Si7Bt cI 7M#)t KlD6(#b'X+T!@ #bݫrCzY8Cb(<*83c$^e:ӡ9Fb[^ͬ 0f03k`Ś0Z.녒uhhR(ThLFmgPEp;m`0 (nU;7m|faX0fPax@|[f| DPb1<<9KuoØdjvC6k6LWݧ2Px $@ys2M` @ AH$BD@D! @GE@2** $t")"!v:**Jtw!'@<8r( 0rYp>Z.K~\!2(ؠ ,ژ8Z,Kd\Vn\Y@a  @u7N荺#??B[(?B`0f۰(X# 5 ( ӨtDma nPȬ0‰bP@nY.VtnU;gPE\p\V+T#B3##6- %?X͠#v $ g3PS et5$X]!=QQfWHOUSRU`utDX]!=U%WHOGIDUetUH]!= 1JACCUPDG@2Bz,t+'*,N2Bzu' "\:BzJj,u`+'GW2Bz:J$uter 7 - Serial printer (Tuart) 8 - IOP memory 9 - Serial printer (Quadart)10 - SDI11 - Tape(E = End, Y = Yes, N = No) Must be present (Y = Yes, N = No) Y Y 1 - Floppy disk 2 - Hard disk    ' - 3 7 tuttyiodevsysdevfdctimertulptprtyptuslptiomemiodevsdiiotapeD J fdccbhdccb! " *Bnf|([5S ~(#! ~#*7! ut! ut66* ! !  L Creating %s /bin/blink.binblink-nq-bcromix.sysconfigcrolib-sTa1 @r2Le9 LFy  e yn㙼e!/13yS^i7Άpͦ@@N1ys:NGC/7M E8 ~ rXLrܢn de"y4XSi73e6So7\% y9L惠Pc#X G! o6M3x@I7hp>mK0ʒ0 LTN tm0ͻAHt1·C-0'@d#C@͵bZv2@&xpnrhCbٶ 8 hh6ށL&A5> l6 h1n?LVmK 0 ܢv"+62^ʓY"lڊͷ J 0:?0Ʌo$~# A[ i:@#) (v2&c "Nf 2F@D2S JdFXJl2 3ɰ@% Lr3`e1X ) 'A`2<A@h(i9Sr9Cv L)X 7΂dBNKFREEPPTt44h5511>MEMFREEQSRSU tT$xM !SLEEPSQK`uD4Ĕ8]%RWAKEUPp:  rZv<'%&'m:rZ2*,t)"]zj B t&'nj*j2*,w $GI:j*jb ?@AmӸCJ8fWPE`0DmA>ͱST"mD0'[ b[P0!r8'ں8 t H68uӐ~ ۧp83m#6-vCBtAۥ` 6ϱśmCtFDau`Am-+u7D7"O@nKDmA{ 녂aӀ6+U  `OFWROfE%B(t"epX+;J7-2`> )C|73@ _f }eSGCHECKt$DALARMUPt$4΀USRCNTeU5%4hUSRTBL5U5CURPRIOpAypn Ӑ 0nz@`,N ۬ @" @n-Ұh6zYL tn@e^/+EQdY`"ajA"#vC4z@~!M' E0 I&HP2NE&NPR"&  '#)o9@4K"NFSr< l6.pi:,@t4+!LI#t7HM(Le2@t0Pp2a6@\I*I Dyt<FKXzY|pjo)N(84 ni[ W!yBd@p@dC#`n%f-p1fݥ"!4Ntn.땢 V Ә1rF9p[t44U8$GETDATE4UDDH$GETTIME4UED($GETUSEE4UEU4XH$GETGROE4UDu$h$GETPRIE4UE$Ɉ$GETPRODT%$UPDATEDTH( $DIVDEdU%4H $BOOTD4($MOUNTrETT8 $WAITDUHh$FSHELLE4Tʈ $FORKDdUT8ʨ $EXECU44TH$SIGNALD$SLEEPD$($PAUSEҀu4t4T4Ϙ$PRINTF5U5CURBANKu5tDd̀KERNELuU5$UEU(USLOAD1uU4C(USSTOR2D4$UNLOCKSTTRD4-Ma%Rjjh)@ -dd# ["9A7Pn@ 6 P:;(i,[[`63NY,n6D:ۧpK6pG@*b**w$)"KzJjbJt+GO2 Z*Wy[W땺*Qt1>-E,@n ` 4 lp\Kz@mf0voV+UnGvOna@_ DCu|0۬5,~P# 3ۮ}^l> ,}7誤`T@C + m?eߨ`, .^W0?\d=6dEB eU+*"*\"KKL n7L7eedq@Q"Apxf  ͫ-ͫ.?\- x\b+^iNDWlj[WzZPCe*05D$6πD$ 6GTGUD*.QUIr( U$.QձbzzZt 'G]jJr4w*"&i2"*v!#GNBbj-XV1 jp, 0p, 6hͮ, gmH mfp 0z@` <. '@1naB0)n-fmfӠ En?L6D:ٶp n 0FFho`q 6ـ  mCB_7^?Jmk Ax$pn][`<0ڴ ۊ`aڀmn )۬ X0Ы`\Q0 j\-ӈ p7N`V  Ѱ Ѱ( ѰX ѰrD#eu7Nq nEMӠ g7N!00 nB0pFt"na5tDdKERNELԔdx IOCNTԔ8@ IOPOSցt5U%T(0CURMONTt5U%4T48LBOLTt$D$Tt'BOTDESTt$E4XH'TOPBEGIuDDU5Hx'TOPSIZEրU4C(0USSTOR2t$u$DXBKLOAD1t$5D#TS u544UMII=JSPSAVEQԑU&`1hJIQ hi(H9izZV6^V!laUrET$7tٴ&nh{D6+ ӹ!`|2^K1ALC\VlET"_#pݺ* jnҳNcNVCFhg E6[#pZ,h=pwF $>)#0j7`h`2+N"ۦct ۧPct ʅ땂v &b5nÅu?NHmPVt*nip6˂6hfpW+yAF!# 7)q%FpY-R#qϋQ@j@L>`@ hCvhpl pj5Mհj `\PAh0U `G0gcq$Js f) 1ͦ N` m6MAtSqt  Nb PZc Ni/1M.1Ml6#I^ͦAx\b4ͦ@@DDS (i jQ`\ih*<i qZWꈪjhq hhq j@Ȩi ѝPN3kE [ @F,Bf2àB+64D40i`,[ӛr|[ ! 87`7Yb0 GT`)a3@8ʹ?Lg."  E$ q8t%nVvx@Ht1g3 :@7NC߀Xv ڰdOQ e 0DRFINDdd$THINRELEARDUH`BNKALLOt$e$TXUSPdU$TKSLOCKt44TH΀KSBANKTdxIOCNTЀT8PIOPOSd$tDxLOCKeT4TS U4T1==-UBDOCMDRSQTDU$ IIJCOFFTD55E)04t"&Gm@fmӨt),fHwnp@07Y`%3uGc6- %N(P,_,n0A%XF9ۧ Bė+4f!@ =-Өt@/ tn-Ѱ,r[Pct c`:@{ts'[p %Ne ,N`9Oh$#Sؠ @Y.WX@uMP(C` ϋQ i8@! d?L2KD %3ɸa< # ̆Su6`JIQ* jQP.hɩjQjjSРDt)ht#'K@ct rY`uO7Y`3t*nl9!Kt&n4u@ na@YE@[St+z@t"nm  j[QU.SJB*\`#` (B{tUf@[t3 N&f07FA 4bHR)>c6;ߗ Uq"+tݥ'ՠ\`!P|ZER@EU@60 B3) V6 Ƈp"cC08 6ҁ4lh6ƍ :0ud#!d?,-d V땺*@J-ڐ,6>nGudZQԐI T B 2?ۂ>@` 0e_T uM"ibG :+hY&# s?1\(@߀F<@zJq@#tn)!&8 Vm]xNS w` tntI#-pfeatnKt n1RnB ӠD7N#dY`34l7Y`4fӠ&mn$a!0åx@Y%% X< `<#8@n@x( gۤ`<3m0Q dY`$su;  0U nZx-1 00B xD0f07x+OK6C6g8= Gu+0 ~-X!`˖-0 ~.Q x+_Pf,f9ڬ~ӐeRX ?\pB78 N) P ͹`v ͹`Cu; nWY2: 8 7N8pk eLp*p7ۦ`8 7M4 G@gk j7Y`32Y`"s#5pϨ$ERRORrDDTUDXh$CREATERDTΈ$CHDUPbD44XΨ$EXCHGbEE%T8$PIPEDdĔ8$CLINKrE$DĔXx$WRLINErE$D%DXX$WRBYTEbE$E4U8$WRSEQrDtUDH$SETMODrDtUE8$SETPOSހrDDUhX$CHKDEV߀rDD($GETDIRrE4UDD($FSTATbD55DH$FCHSTAD445DH$FACCESD4IhJѕHȈ0Lh*QHCi ɨ)h*Q<Ȉ(ѕ0DoI(ѓ0JH)ȑHH*8KjiJ8SE44 !=1:NEXTRTT U45Me95Mkhh)p,Oȫ :Eij jڐ<-f6T3 ٴpP`f 8 }[8@nI,_@! g۬ 6`ͧm7Y`uw3jxT(N,n'a@I Yx,0Ymb ]nLmn&@Y%E`<d^E@0 $8 7Y`&0`~p_qS* (B8ӀyM[3t' 0yb26C,(pD˭QG v,fP9w@fh7MfN>3iX6 9w@xP ;E7`jRϬ}x[3t'nE Ӡ0y x[Ct)fT3 `uk / Ox T.Y`F3h0,<0`\+z[ۦ tn'tj0@)>t[EXVJaH&9[ H@b3E[.>ϊvx8nz5\+/J7t>-YVF T.h#/p foxʹP f0ȁ#fRP<@x@uc2_>-YW@y[ XP fCO"ý-Ѡa 3ϋQ@Qy[Ũ3ȭ@9Y,tl?M'|Zh.Db6mlRP'F6>7`Fh8bStg[a M'|Z!7.h %oG3͐7pI&aa6 SirBSb\m 'L r jq`@ S~gŨR~ g@ _7Ff` `H?"!D#SC誈Ɋ<c)H1<`)ʩɉq 6)Ɉ0*)q*ʪjH(8i(1@.c}iI*ȱ`>( 1<8STS rDDUh !-Z$MAKDIRUTrE4UDD(MQR$CSTAT`rD445D N$CACCESUU rE4UDDHQQ%6$SETTIMUT`rE4UEU4XQI>$SETGROU`rE4UE$QAI>$MEMORYTU`RDTH%Y$VERSIOI&@H?i h`Ht誈*QڀHĈj*0Hi j1.HLc71 m6M@P@P$3eidC@ ģcju(fu QJ66EQ FQ@%1e6@+U? YN7x]pc =AMQUB2T##UMIQ 22<TԔV6= -1=3ВQ #`UMI 9R3U ̣/%YpUUS TU%$(AUQMQJPRACCESSQ`u%5DX Y %:OPSETUPT uDU5DU48MQMBADARGCTT&@Q0* jQh J)pjI)P jhhq I :<.rEYdP\YDPܦY$P\YPzb@rp(7dnA7`)dvH͠Mhͥ Lml1_C ~O0-G-mf6H/Ngn#;\ r}-"> HeL#ݒr1 :ڢ`m@ ?enjxSA0f@0AbX&m 8{pJx>|>:wn#w|--> Pel#ݒy߰6m<n ӓnnҰ/`;%^7JKtn,%w3 7OF D7 u@LͣPnJl OA)#tn 9-Ә!rO"ͣӛr|-)V[ct dKXn ҳ`hVJy[DȆ3jH!Cf0> ;!^7J`iZP04N;BA1A.SJNK'7YxFVKN(ade**zg&))F}@2f "$& ozzbz*SPS EEX IQDELETESSQ`4D(5-%JPCMDTU&1XjH* H)pɨ)h*Q Jh0n?L3P~ߢ73OV@80np"7M¦V D0 X̤ [%wQrDo~'Ũ 3#<t3japY.W땚?Do~'Ũ6@49ܢnq] w~O0 d?KGX zYxpg?A!~gū!n\ @~T#+ ݥ;N?tn Ba`H6sa`#mӨt7N6nm0ۣ@~@jsuh^.* NVWy\ t[ Ѩ nLCպ5 0 Og?‱xFV i8 tnݴ9BRh^.*>)ۮ %⭠/ar\P%Ѐy]D"Ybʽ#g_l8 v!4 ev%ef+` ٠@*!R@ #I.xݥ!>-DQ e U0- T1b xsnŒj[Rꄁݤ*`-Uv<,EvY@SeYYHP=B@eC*4! '6`VBINuDtU(8TESTESCTD4H INBUFTDU$HBRDERRUHSKPSPԕ54UECHOLN΀e54xȨCMPSTRTU%$)QSSӠdDT鬀 t" K@5l^7J¶hf ӨtM'|Zp 5l HP8fxp=?B8MӐɺslԼ` H!誈*>H誊)p>H誊h`NHD誈IנNH誊 I1NH誊 IH䊪*߀JH *ȑ^H'I[EAPn7"~/ӐqsNA6h'@fc @ |@ml2(7 ߧ;YO.PL,pv) qVh{%ٶXnzld ڲ~.`;> p -Uv~0q 7N7 3ۧPtnհ\@ nBӀ]u 7N4d Vfmd@~/p)f@tD1)Jc)Lrܦ)Ph0˅> S{49MNS! ڮ0˅%g1h`22 F#(dd F# J0BQ3J0Q:FA0 Fqb&NDȚa@%9UAR2Sc4@U9AUQF38SU#YIM%=:3T#1%=13RSӕ#0`%=1=2TQPT)} UI5=9R2TVc8 } UI!=UJ3TRSc9 } UIM >2 TԑPQ#?=UM]I%Q3zPP#`} 1=%:2Uc) -I%Y3 US M!@%Y# ;>-DFT3 !1!` ` <6dm˾@3ϋQ@;Y-ѰtJ3ƍՀDl@ ERRORt4UEU̸OPTESTt$D$t9PS $h=Q>REPEATTQ e$UtH] 5KILLQT U$( 5ANkI(p*H*Հ\H)ȑi)0& I)Q(-~OҰ e@E m4 ҜP0f bO ~ū*3̀@3OV@ ;_n3OVU4 m7Cf>7`~祛*3hpۧ 0B3l+4@plA7' |lpe_snhY,V~YpZ,KYhI*j<]ɊH(>Q H(5,[t*nl3tg.V)sDg@k u|2\,WCHr#sL+T4Bb58pc6 5=YMQJ2S%9 t()@8Q ( 5 gߢt=_GAmx^?Ju;£# 'C +C 7C 3CLrM:@[p[/pf]6h~O0͚:nV%q|`rMYP_~.W3ܯpf[-W(,؄$Cq Y ~9B(~/pFH,`P %f1kDcӭ13k`P` K`2$@P$3e @G$y #H@B0bfmd\@ `5`_l `6ڀs@n 70`pL-/Ұ)^ ~ ߥ`x`+"ߥ`+~ӫt|NodJ'x&?KgX?KGX ?\\\ \ Jx:vKtnlH f@$ fߐ63h %A[p!FM͢-9ͥLb_Ax|,G DfҐnpY xY@{@Vd [+xoV ہ[&ml?N@f& ~ml?OR&~̖ml?OR&~ml?OR&~  E8. 0ml?\K3@%~7VV@ 3 U M1@y!13& U'S`rDDTUDX IQ$OPENT bD44Xa !$TRUNCIT`bDdĔ 1%9.FLCLOSEÂG]""*b*,v!""@)"z*twx!"*GA@q"bz,u "!#V"rvd($"}@"2bJr\td!$%Hz2bbz, f m f +Uys6ZVp~O0.``&7Yͧ{~Ө!tMg:@[~Ө1tO0w2"~0Yn NF 9 ;-8[(3o4ͭ#W ~/ `[`00@ @8cq~&7 Yg@%3ipfMy BKLOAD2ВԌ`t$5D#(%9RSUBINTTU `IꈈjH1Ψ i+H`)ʊIܪʪhOLʪjH(]i(1_ejjF1ʏeIh͏܄OIjH(ͯ`Ii(1ǏeIjjF1ʿeP()ʑ *IꪊR+U`h~ #[ 0ق#ApEg!Y'M u6Xsb+ &3 ВSU#3`}I==QZ3<S:=Y 1=M2 S##@Q1B3ёUc&`%9I2, SSPc4 }%911=3Sc0 y%91= .3&SS99 11Z2~RUT#(%1 9R2 SV'%1Q 23T#/} ! .3lUc)Y!1pSRSrE$DĔX]I1%9$RDBYTEԐU`bE$E4U]IMF$GETMODUS rDtUE8MQA=NFLREADѓԒU`e$THAA]I%QjH)ȱHHK*HĊHh1ѐ Hn誉֠HX誊 q`.HzɊH(~ H(߀-@E @ h b($UvگE!"&tOm!@8Z- E@v/ij[-W( ohl;OmWel Ep> 7OF)W<0^oV+Uz\q@=nu7!ac,p ,p "@, l\iͪ4_@2"iO8Z- Esh VU BȉAô6\-!pX/? qOvgyi ? qOvg#+ -2}[#:?һ -2}[#:?һ g!Y@<0\Ld"FRz:B*\fT&FSr ,dFv r\d#& LrZ*r*de` "$& K@rRjBdTP dE$dHIQ&DRSEARCԑPU&u4THXUSPԔdxX IOCNTT8(CURTIMEeU4dISUU tdtUDdQ !FGETBUFёU`tdtUDUi t##&(GE:2:*B t#!*G~:2:*b,uH#&"K@\~Ұpb7hZpFcT!łX Y.QTv`,eaXqfa[0!"!5n7Lp˭ndO0X0qN@`ͯ` +UŒ,$Č,$2l,vM=,ւ)=,ւ6K1@E}@Ϳ \BmJwRjwRwROwRpX,X ox2עW-xx2aVK~_#C`2+<~j Y|Pf n_ E8+Hx> $r\ 4~X+tnV녺p7N!,8r\,F?I~CpV% >X#0r\,8u\+Unp}N?HVh͹@O+upX,+u?\w@9nOdn0n7LvhD8[D8 #yDQn۶8?H8: ~ӈukۮVueV녚7\-In(F'땺~Y[\,HD tD7DR@ bEUD|Z.04Qu( @ *ZAHkd--! * ఀ}~ D:`90~BkEd"Mb\`i|Uz8Z,Lg#)f 3hP%hpfFlp) %n&+~ 87`ij( 3@pFl ?\,J'`K ~lpf j\1VO@f~O0 * pnhZ+ ~p r\pfEV0c[`P00_%68?@f`:V+UrP/`Kt nc? H{~)ڮ B 7‿O0 C\\e €;svy> ߮ E0 p,۾~[ 66 O|Ct 63 ۨ8-m[ 0fEU$v@_|X@>Wq@Dp~ӘUt ?Nvm  %ۮ Eb\Xͯ@PKr@ z~ G, _฀B!V<E$/ӨQt Ng.ͮ-p1f@ H誈1@HjH*+uD3ijπ>ٶl`qfp՜@m;g@!/`;U3o8YPhY< f ~CmLn\,۔826̀ r\ 4~CmOn_+uY Pfn[mfud VurV8$#ۦtf-v|o@@ ߫0~ʹC;֗f FmmS@| un[P >7W_F0n\,ێͳ@N nͳ u`\!rmt f4f4@!_A$$7`L_@E*ű@?:q`ڔ{mP \$pX,:~oӠu\/+6߀hͻ !6?\.j_W8#DxR/`8epJx3fZ@/lN0@r?N`:٠rm 0fذmBfݐj@Y(pX,B ?F 4@hͻ ,rFPtnr9FwN &3 ВS69 I3БU#6= I138БԒU#:= 5=%3XБSSVc9=%95=%2HT#/5%=12RSTTSt$D$Tt =QMRBOTSIZEQ`uDDU5HQ=AM%iIPAGES eU4dHUM=Q>USRETURTԑPQ uU5u$DXUM1=USLOAD2TԌ`uU55D#( -=Q>BKCALLԑPQ t$u$DX -1=""g2 JeT#&$FQzz"*fX#!*Fx@Jr* $f )""ZA:Jrjz"J4e| &'CA:Jrzre!'M2Jrbz\e`*&'zbfd $!wj* g ( "FMg\&#mjJzrf'n*Jzzd"Szzbz*eH'FUzJ"J:JSSS bDTHU95=U:MTGETFSUPTtE$T t&*Gm@9"rjztu0##)B@zj* u( "K@#ulXoí~0qN@ | Kb60[Eq!ͩ/|YXpP~0u7N 3ۧPtnӐq7Nvm n[)rYr\,o ^~_C ~O0-pmY@p f6,~ fmf f&mdZ fp0xͦa@ fp0ͦa Pfp6n_Venpq?N#;녂fp&!n_C ~O0-y#67`+tn͡lvѰH?XG"hhtr[??[w8͡6_땢:@k ~Hǫ͠/ śY@Y `66``Kf߀1)P0 | _[B,ڲ~ ^7d?I7`[6 6+UP0!+It ~$* zpAhc`LX7F0 `[P0~,7Vő@4Dgp2{0Ij43Lo 43Lo43Lo+43Lo;43LoK43Lo[43Lok43Lo{43LoЋ4 3LoЛ|iUPuEZd>UTa i]rOFX-2bݤ"!5p>-2@m2@;Jd |_³+0ǢD:ݤ[!nʜyNmWL1? ;OmW 3>*"  gYba;O"g9Mo9 @Q O)fia:Bu4@P%~1HҹzZPCPC4!!Lv ,p @USHBX, 7O(@a$pX,n7L@b\3UK@ ~0Yn bAϯͼ-+{Y0[iNHP@7`k6\-K4l?MG /`;tn-ӛr},ڲ~ P7d?Y`?y\//s#>-DDS CU'`(%N?Hw[`Cb_C ~O0-8X#cF ?IpK~i)f}RӨtN`gd\,7W1_u|-@ n0B[Wt~ӻ61p*?ȊH)ȑ 䊪*p )H1.*Hj `.pJH`.1 HjH*, HH騩Hkhi@8d)h .ʪjHiʑ,ʪjJIAjj,v)ɈP^)q6ʪh.e䊩ɉiq 8U t$u4tUHIMAURBUFALLOЕQQ`u$44XAI IRPRFORKQ`ttUD%TdhI1M UjH8TTbDU%$)$t")'K@te[pKd#+!1Pf04 Gæm&|"fph{SO>/3i@fa>3jͫ@ ~s ھhP NNj S6ˀvoh U, W+d8W| P::K@HZ uÁ0;Znh@wQJP NA*x%ałY@KR k Yw7 # 7M#)B03An2㩴e9 xa7DcIsSpo9I@p9fSC4M)@n7"y@f4 !kEr7Cy@m0"1e9 )@f7CA@s<ΆShi6Dy@f7MD$l2&l2 iD43yBNKFREEt44h MEMFREE4TUXSGINHEReU5$4HͰUSRSIZǀeU5%D$H USPd$uDPROCIDeU4dHHUSREADU5u$DXȐUSLOAD2d4U(AVALLOCQӐS rE4t-%12$SLEEPST`bEU4XMM9SGTTYSISTu4t4T41I5>ALARMUPSTP&@QאHi)HĈ)*IҐ,Hhhȑ@h)Q0)*Iڀ.1)*IivZ|pP,>-Dx +OOD@=Wݺ^7JSP =?WQ_x+OK1@@_DC|A%f0[)"&GH"2z\u#""l)"**B3@h4~,@nilv,@~ t>?W_W 0n0|_DC|`6T3j K0hfӀ՚ ӈqNvrM:Q@:>[ f vK:٠Uf mnl3i>͢ ӈqNvrEVD3@0j\,^np ~mӨ!tL:@x3@t;D@<.26Ԁ 麆٠B2t:a V땊3@?\w|&h80E0  B HQ "VeEYd[ ۫&/`lS4 ٠a@d@C 8[PSt nӐ5#`(nb\+tT;7Y`C08e €cu{7\m :#Y3l t2m7\.r\UFT;S $@na@9=+Y!uk3kh0x]G6n\-X"Y- ŒeXe̖,fP f>-X Ͱ ,ښfmMd{:zz"*fX"+)"+FKjb**ed+F}@22rd!*)F|22deDdYt|()$*#G@2ʚ*w!GDzzJrLt#&*@V~G~AL`Y)qfy+:ߢ 6^Vfp!Pu Evmpyo8` 2,d 6mqˮ69`hٷ ,mF3o8{ ᠚P^0aueg ͸(0\;2 E6Y.vODwLwpX|7* ( Ϳ #4[@q XNdZQPL"*! TxXW+ur.! wiI*`*wiHb p\.ͷ.Vmrͷ.Vmrh;x @=FfQ#,( Eśx, *Hh誑`.J) Hih HIqK誈J-b\+6 "hCjk Rڰn HnP:@UBnCӠ}N~?Hhr@`0 n,?LŖ԰:OQ@24nۢ7#9hY,VRtB?E@#YbrOK1InC|pPvd n\'ūhXݒf XS`z\+7Mņ防~OV DacpX/Kr\p Ұ^ }0f`t*nmѰ Wb\荺#9녢d[Wi]nt.n6o+u7NAc2fʀ#MQtLf3)i1 1eM#)yO"Nfa1DSu9 @s5 t7"c2 As:LAo2NbPoL&Ȁi6Nbyn &y :LF(I6 s @s<ΆSha6cI :*iy cIsMSqdA@d43y@ '#)o9DcIʀ('cIg23e6 faN7yt0Qv4̨1e'3 1Ng8tFCIr< ƓaD2&3(o: e2 o1Ng3)@t7I@f7a@m2M#ȀnNfPv4 yr3 p8 9NgC)@b:S@a;M& eNFqs:xi3 xa7DIs[en<ѻ$# `u0 II8FFg&8>V 4nX+E@4j ,V+Vp6Z,=PpY,V~Yi!n$?LĖYP.` gp ө!t$DmF HT@~[ Eyij(i u o7NFЊͦ B n"7LV:>[b 6"x0}^lb/b+tDnӛr|i*@,&?X540: Eʹ 87 <ٶͮ;UU[t~_ӣ`C\|nfР@j\,ۼf6뀎x -ѰrEW 3n,:~Y? :Q e u~Yfz~"G _p0z~ G&Y$P p ÷6 Q@v >TT?h)mlDK6?DoP|>fc&003Yn6DoDl-@|CmYE(oFBeal͖[zb^g>3@ @6(r 4qi`0^0afZ!e["X ,GרyluC@ߢ7荖A0ͼJq@:# e<)q  qW87 +|zYpfNg7`~pfeaf('opFDg~#Xj xXpf_P>?BFx +٠ ~@Ӡ0~Z/ ftnx9_PzY WN?H+~'Ũ~AӠ$DaC~0n?L6hfL8 ۧ1Ct)n gɌtd44X@M)l &Zo cI 2'c)N7#ys9sNIb6@# @v0P8tqt2C)c2 )@e9 r2Ά@i73*i6Dps2 t13An2s9 #'΂r7M's5F r2DI!LId2 Sir n6DcI 9NgC)P9fS@n7cydLFd'3 1M@p2 #%O"ak2C)l7`ak &#a@e< 'Sd '(/' #D4UHCOUTINIt4UDdXUSLOAD1TREtHa%R$FSHELLS RDd$a$EXECԁ|" Jt"$Go@y"2B*bdw0b\(Z`!#EW鸈3OQ@[KwiH`өt"8 r_y{yh7inbAt Wc;Kt* ?\.Hi(t)h09i(H,ʪjJi+Q ,)*j&WhIȩ`ji(Qe8QTd$e$TH Q 2BFRELEAБԒU`t$du$H ]I%RBFMODIFБTU t$ddU4 U55fkFHH(ހMHH1H*I*oHɩ(|HɊiP-n@h0D 4p,n  _> ߮K~\!20ڰpX,+UrNAG*:PfZ oӐysNB'`*]n^Ұ^Lz Ѱ ѰzYs`{6lDn^#P@f d\+=zhzͶ tnW,xگWX/_`=,֋Q@%S/ 6π@e Vmxd|@r2* $g4##!&FJ2*b* g# $FEz2"Jgl&$FGzj:*2e*$RS`d$TH%9I1INMODIFSSdH%9 =U9RINFLUSHSTU t44X%91= .INUNLOC@2Jr* $wX)""}:Jrjz"J4u &'_A2JrJrJwt !*GW#`Œ=,Gil TdOK1)* /AV@mp\0 fmM?j+OQ@pY#0*v+nDoX ( ?O0@ <0X7a#˘Onհ@eEg"k~հABctn _X?+@ͺn7LP>?W_Dw\ABߧ#q@ | \. %Wy\+tn-p f_9[tn 0pN`'pZ.%Wy\p fN&r[0tr\-+u?N:@}ZV3[V[JB0f0%An! Xqead@@=GX 7ea&XUV` ! AH@u,ڼkX(y~Bj(਀}~p_C|OQ@0_DC|CWil~Z!Q*@]|/@>-E|@5]hD #d[W 6Gx +ߢ~/p~%#~_@[Y p\-KU; K3tj\'WbXmݢb\+eX ?IG 7`;fA-rY-߮`ZV~Yn_hBh}n[FfA1u~h/ ,$rC/Ӡ u\/E~O70 @fp녺 *_d\ 8Ϗ4@>WV8 nj,xKX ~oӨt@!?8n) #XLlv, !`,6"àWC+u-Өt@:8|EXpD:P  l "F~DXE@ Gl#;J@@ O "7D;auC$ 2 OJ1n[0tnMӐ 6`(7`;4pb@Heaf( cCͪp_f`aɗ`@Z$DUeD((CDEVTABu$DDUhDVMOUNTHCALLDVtTԔH0USRTBLdED$ϸARGCNTuDDU5HAVINSERdDdCiUeD((CDEVTABu$DDUhDVMOUNTHCALLDVtTԔH0USRTBLdED$%91UM"2dSTU#29 11Z3TQT#5`9]-UB2T#(=M]%Q13TSQc+= -I%YpUSU`RD4U91= .LOCKSt44T4 1=%:AVREMOVUSTtd8 !I%YBKDRIVEUS MtTDDH%YDIVD16Q`dTQ=UAAJTOLOWERTTTt4tU(%M%%RSWITCHTde5E( =9 RENDSTRS@q H䊩ɉiqyʩɉiq (i)0.*)hQ.iI*ȱ ɪ&.ȉ*ȆfQPW*j QDMͯ++~͵h f8 !7Illegal number: "%s" ! P8$%%%%oh 7͵0:8 ag?'0! ͞8(%%% Jͨ 0:?0Ʌo$~# A[ I@@@Jr2bDv *" GJzJrbz,w$&'DzJrrbzrjH(xn!庾 [0Be€sug9[W 4p%4ـ0)jK`t2 (fpaBeѰ$ͯ@ +pY-Vn_,VbTPF땢ͣCUf`rY tnӨtY`uO3@,FCyph nZ,j @~_V! n^,,dY`3c2C9rYtY`3'2B9~\,dXW+[XD(?IG 7`;6?"c9B fm~+,f,VbTPFmpX/Kur@U` ^7Jw脼~_,ڮc(S{@HtjAAl?cK/ͪ`c6 ?dͩgާtZS6Lڌ`LFv!W- $#[l# ˅jkq6ͶmK58dcz"* f"* Fb@zzz"*e"F_r Z*g&!*FHrbZJgx&!!&Fv@ZeH*"NUP`u54$H%9%QUMBUSPTSt5U%$M]%Q1KERNELUd44-M =U9RKSBANKTԕP t%TeD$%9=Q 2FILTABLSP t4D$IQ 2AVBUFFEUUP td$uD%=1IOCNTRST8AI= %CURYEARTSӕ d5U$D UI!=UJCURMINUw녒j_WD 0 6;Vj@ % uPj`_Vmg _`|+\,ʸBKDELETd$e$TH'BFRELEAt$du$HȘ'BFDWRITt45D$`/MTGETFS4TUWAKEUPU5$4H̸USRSIZU5%D$8INOCNT4 INOTBLd4H FILSIZdD$ MNTCNTE4MNTTBLU5HAVITABLt5U%DXLBOLTte$Th`AVINSERtd9UP`dEdTY 1=MDVMOUNTSS`dEe$Eu(Y 12k^ȊhɩʑӀ@ȊHQ-r\+4N~3@9_C %(FL|.^#V#bkW%%+}<Default version 00.01 Copyright (c) 1981 Cromemco, Inc. *B*@++++|(+|nf x2!8mSͰ8gnf8Lnf8@}w#s#nf |(!:G8 ![8 8!F!!!rootWr>e*h(*<i jQ`<ih*<ɈjRm,~:X(9E@ +|f6m[p#H`7`3lPa3W 4 ,OQ p]hgŨd7d9_U~@ӠӸ  ?N0F{,V~0pYb0h' az8Fx WV||1apX,m,~(ꅀ߬P6[|@'=,S\e>jh6XrXl5] B %|Z@=D jEW"@X},hd@r? +6Kjģ@ l~?V%hѻ?FX/_ef?M6mI0666?Ya͢,۬M3h+tT7KFX 90[t noӐ1s:P':Pp' .+l@?N67`;~C/+""]lQ 8Հ@je p[KUrJ7UB:s|/@~a9~~dJ m\Vl pZ,+U~_-ְ!n#Y`4r\/%4ٕ~@DYX7녢d_P*C^W?Wq_S /]X BT[ _@"|Z _PjK`2 OP: TPt5U%DX1 =1RCBLISTl#MY@cMeM ==R< SUT# UMB<TS UIAI%>< Uc -I92<U`-M1= .<S#-M 9.= TԕP#݃ UQ 2=(oSP#=%1Q 2UUP#`YIQ<$RSѓ`%= 9R<*RS%=A=N<^Q#  UIeJ default Can't modify this CROMIX z( (#z 7 ( #7 QTՠTD4it$K@\r2c)i7`2'`TdD44),t"!KA+t  װk4 ``dn(#a@4O耰9e16` d3@|il;X ͸+~BӠD0~`~"f܀&m  XL ېͮoN~@,ml7Y`Cpͺ-NY~,ۊ<i$^lNɩ 58Հ??O@ ~NK ~Ұ8\ݦ:>ۧ7tdCvILr{tܣnM0-^7J֫^7J059Ot.Q<q@ BF$A$ @c4 Y%9%Q%>3@ SP#5IiI>3 PQ# ]I%Q38 QUc;M Q=J3 UP:!3LUQ<@ UJ3UQ=IH2~ U M&%Y3 US M3yM-QeB3BTT-yII=H2>ST#4yMeMIJ30UTgSRQdDM1 RREADUԒU`E4TTIiI>PREADԒU`dDt=M.PREPRWԔ TdU%"HII=HCLERROQU`DTHQI .SECTORQTUd%TdhY1LENGTHQdD4]%QeBHDDTYP@2JrJJ|t<)"GP"* $w4$"b**\v-"']* $w,(+$"or"j :lw4"' Aa  h X 8X2U M" 5U1P3Qc3@yM.3DPQ#0`Y]I%R2R#/yU913HU51f2Q2 yM R3SU#*yM%3.QS7` U2T#?YMA28Q79II5M3nc9 9]IQAI>3dT#99MeMIJ2vST'ddDXM.FDREADԒU ddDT5HU91GETDSKQSV`TdEE$M RFDUNITQ`TdDT UFDCURTQ ddDdyHt#"$'F22"**\uD#")"GY22"Jw #""!G{2"rb$w #")G"*b t"*)%P2"*u )\|i[nG3ݦe ʾY _AXGW@tꐁL`|GiO 7kmLeYA!if؀6m}`3j`;63k(&Ͱ`De_ٶVٵlmAY@ 27H3lH+65j pa2ʳl+6恳l+!jAU5j #*ͷ mfVa!Q|Wvmd;(3m36D(68GVG!}d8+6:ѦpL; ͡ Wq0#`'in`vl'Z/Pp=C/c`el+60Y=6ٵkkP ́`z ~,|aa(eZٶxU^Au qwf`&mf0VC6Ԃ;րq> ;6܂2\Q K644)Dt"!KA,W 9lSiv CD4L Ղͽ`YP~g?GfـFm  XL?TfްVu7lX?TXۧ(ݒͽ` ?`A%YZL<`o0 ~aC ߧ+tdLx+Kjn_Mӣs|7NOHD7d@;47G@Lr{T9[St nҰ5n Ұ$&9MNS7@˔B3@H9|R*<7`[t n ߫p|~! |3(8#*<ͥpf  X 3@md$@Vh͠``@ [`(nrXp!F@-;%y&7Tf@8l`gdm t_aǬk6?N'dY/p "2xeVm( ٠`| vOK6cvK~=\X<٠|;O"@5``Sxv fpI`Gm@- vA]8\/D|),W(:fLu$+@ 7   @1d@2JrJdX**S@:Bg*$"FRzrj d**Vz**$d*'"G@2z*tf<*$)",U2* $f\*$(*Fs:J2beX*#&*FW:J,g**'(g@:zf*#"t:jz",f#(ezJj,f3@H9|G}nM0-^7J|o8@ >?W_0_C| @~ea@qA Df6h8kXUb KqD?@^`a@#tlZQՎ~OpAf@D$ p[!@f hfp0)BCDb\ Gٴpf!HTPȊف8Z,Ad\.Kn7LqB+$7`OX 2X (2+4}`2+dn@e€-2 l~AA Jv4h]b0f78#A-4KY`2p 2áq>Lu_ATC ~aeaY.7FPͬ` Ѱd@m] d@r*u+()'G_Aj2*$v ")'Ggrb*|u)$"\AB* $u) ]*zwX!*#"Gv24u#& ]Ab*r:Du)+")Gb"j zlu+$,G_B""ʄ|i^r78snUxʽ@!ymAnG1P ?UF" =n6K6C*> x;6Ȁk(ͳͯ;68V+8;63j;6ӂl(<* bAY P8q> ;6܂ R: !Q| Wvm 5j Kc*ͷ ;ͮ,"ͯ*ͭ ­#ʶC*ͳͯ68꽃8V+;C\A @`͹`,ڶʹ ( mH D e_#"*$GP2"J",u "&"GQ@2"24u#"!*GO2"*$u #"#& @&64Z Q(eOٷ`@-0MVmh6MQBzuRެ8ʤleR#*~T 6mhC )ͭ-T@LVvA`#Un@Z-Y0S2xݒS1BTp6muipi6іWC160#6b,͡@m, qA0K,:2(|` 21eN씻64ƃ~U 2Tp6"ʡ@lڂ8 12p|` D Oi meq>0{l Bݶsm  U We@nS5;%B&@6*tL ~2jvK6ԀM1lh #lh&tm\,+u_6X0`p``zn 8F Oٷ|fbx;J  MB(hH(Fdk@a4`ƂK6j+M>3h;m{܃#8ʿm#$u^Un`*|aaqsqpst9u\A5gd*ͷ ~?#B54vD7a>;6Ԃ2G}WvKm'1}fFH2@ʵl(b[6ۃM7 ͿQ &͹Ձeqe_AٶCZƢh 2rfpVmd3mH D Ae_ٶ͵ # M>3hH8YP%v8!@PP/6 r l8%:`sE\ٴ 68DU0@;-YU 2mSQ  U ~  E~vCpB˭G .D0iz K,&'2 a0L&o_ʰ2Y6 Lh"qJUA _6mfڰ@0@?fQ"`qVCGWp _WD. ߧਆ XCU;$ nQ%nl03tW ChAD""  ZGG,~nmS\,"$   ZGg,~jÁ`GpE`Far[Z 7O6p\ JvHݒ#b1SHBB (F;!ࢀݒ/0 axFoӸT#~‡pI@0?Im~AӠ5s?N@ ~AOӠ-6,S0D4d+FPz"*b b`eEDTQQ%9IfTTREADSU uEDdU8QQ1UM"TTWRITEU`uEDUEXQQ5=TTSMODEЂ@2z*tw *$)",H@2* $u*$(*G]zJ2bu*#&*GtJ,u**'(oA:zv4*#"dzjz",6ߣ`a6_a!I6_a8a6 `a~aQ~)q,f)w, VbX, }peP ip#Yap?_B1 vKc LO`PS*Yv#@"77X ?₣((?W1A- he€x~f fmd~~9ᖿ7n+͵ Lں8 l8(ͯ@|ͬڤͷmѰnVHe?݀@e d2 Y`2~da2~Z. u@j&?Y`2p)IͧoX ?Y`22ì,:/`8d"?N9 {%'Df۠A/X <?%B#6X ~i`"@~mfKW?Y`53[O Lͷ@Cf۠A@TS!3m &6P ~nKs/X yd`˖KD7dP&&& 6HR&l&@`P 0( ( 0H< @P@ a  80" PH ٶ03vYP,]`w(;68DWX_AEae_AٶC[AƢ02r 8E n8 v"}. @Ճ%gY<_AX N Ͱ`V%x-(ؠq vUnFV<1A3"+VDCb.cf:`q ^pi@9>#O#r= 7#@r9 winG3ZnVۑi# $^r;r2-r/1=n{Mp;H##Mʯv@mwAd8EcUEdA6(;Vj|fАu{M:@By;>@;O-# r;O^sQ;H rnG3ZnVۑig@2엘>ݣMp;J##Mv@dD>0{ٴ( 0S72qٴ( |S1 ͬEw61Lh{dh6lTM10m〓FmSF¹-|`}hP6*t~#vuRdC6M|pmpBc:s'Ad ,R%06Xeax6Ɓlf`c@a3W0m}6>mAKlf>@3kÌ3TP6I=4sDʝn@LhrhP!#xT :@c*zcG0@ f0B '3i`2cʝV,A#pAGT6Y\Pedq@ <= ^2FJ4S6I!.ͮM160 'f6mi(:@jq@ }<0Y"@uReq B 1E``AVSR`TDB, W p bk#`EU%p0C`#dB;6@rfЀGW vna}W8wM7s%40* | ϋQ| hZn0{Y$z܎gMdr97#%KAۑ̀dDe_AٶͥbAr9 åiۑ̀2RmvU;z:P}Y2pUU`UEUEE t**,@ N*X@2A1l~Ѡ PS/Ѩ |$Ķh~@bk"? K60mSa WN]c,v6Y?'@~,ό Y`G0pifՐ8 3@8` WXYZ[\]^_`abcdefghijkl> [4yF15 vhYf w%P`U~@i;dv_KW,3\iCh@VmxC; p 8@f ͪ@ݓʊ)*`Vꊪji p航ћ ꊨiȱ _ I*`| ꪊ 舱8US UETIt*(*K@ \ i-66h{YpO`O &@0q3@~@Ӡp;;2x`Cf@PS S. {F1nx8C[6<ߣPe€;4,@;ͮ 0p[yeE;%2ͻ#+S^/X zzY`Cs2<\K~?I&hb_s&Y|7, ~`qU,n ?LP~Cp@ ~1[~b x @mZ ߬@~쳨>Nc.cϢ-7_`4~mWpT,~ 0~C%;##rBmpD 6@mp!m>"ChyhɌȂtUDDX̸/SETMODEtUEx$PUTQTUE˰IOPUTCdtUD8SGTTYSIET4D('TUUNMTBTtH`/HWAKEUPDD.HLADDRttU$4ST`dDYt$ "@n?Lhe`*m~ý,t!,l0}Y"xA誉舱 .誊1( )*.D)誈q,8TT U%EAIU95QfPRMSKTY@*ʄu4 )*&,UjZ̴V+_@*\O)-B4+@Ā3@ oL3Ii0,3mX͵`7io땺*3u{s0,&pT_T ZØ >g>.1@sF@ I-jmv`W w+Ø(}, O ӈ;66Ӏ& 0ͣ` A< vYo l0y2DK66 `#!NmX@'얨ifѰ aͤf"('FB:JzJ*gt$*!z2Jz:*f*,j@2:*r$dD "$*FO*b**ft+FQST`tE(%=A%YjD) Q-= 1{mh=XW+68Z,a~N@`,ff' $w  jq|@f64C ,2^5;V"0# 8T# ߦ_6YoA0~oVR˭n?Lsu?Nu;ԵL09Ӹi0V d 'D5!fcKH @67ڀ+(Em 4 \J_yͿ/Xe<~O0n ?L;~COӠm5 :.>3o sFKldw_c#͵J;p"~lm6A 0nfڀ uB!/ A ~!@:_ D&nT72!6X^;q 6ߦKJChPUxdYb"0 =ee l@0ٴ@`<H) OY-q ?N8WmPaRe_ڦUja6G~F1~&`*wUeDSeYUL e߬@gDPww,BfaR'L ?YbͥOX^d?Yb#sd?B (( ?W1@M ^6Ɂmݧ[ydY8+j,hl1 ꊪiq(ʊ )ʑꊪ)ȑ航ѓ  I*p舱Ɋi8 dT1A]I%QLPOUTQSU tUEX1A5=LPSMODET&Q C I*, ) `.舱.Ɋi"~d2B~'6~HFK&("s %7/X~(ͤ .d@@~~[c 0}$0 ,fQ f÷~ P f) )* )JI1P航ѐ@ 航葐8RSQS`TT٫t@ PK)<*XCCna<B#dh f`ͨ f@A @h7`5YX[4h,,ê ) )*2)iqB) I*Q) sRSUTDUhYMQIVDEVOPENUtDUdtHYM5=k)航航@航@-,@\@ lp:0 %c`60ma =@CCT А3OwiHPSv6?\Iv0)ٴpf"{6oby`X`1^o_C)~0R 1ܦI< e[F#=Ȅ:_c-dH\.ObXElr!5+~ҰYF X8 Y/piF N"Z2_WPp 00w< L4:W[" (!~ C NpW`MAn?PgOe8 [q;~9, 0}0 p(~FQ(W/Ѡe^)@x_UE5TUU~ ._ xw O~9p8X|XwP=\/X X| pͯ a A@˘ z2_ nf05;%z@X~/ae3!7c6?O1ͬ@Ѱd43oH~B'~X(Yb#pNe )SX(?Fp`eڤͪ`C6?Yb#peJ>3k# svmb~ 0~Ӹa@k6?O0SeN)^ͯͰXf0@e~:7,*|rH68F`!wϏ?dY`G$V#e@yOG0=l;l|c(p@ 2( D 6H 䠀gW/Ѡ5@,(PmE5y_UT ~>3hs p;O0!Hhz<0G7,"NӸ4| f'$6O0@dYa3ݐͲ*vK6m6@ ~ 9vm~2;,ی }OXD>/0 l L?08}_Pc%6 ~ 9z#ٴ `Y4  .dD Pe8Y.һe Lp>,W+//pBYj7YgQ@-}W \UWeE&[-id_verlpET0IOPINITtT@IOPCLOSt$TH͠IOPWRIT݀ttHΈIOPSMOD5U5 St%$T%=A ]I&j)JH1@-a'A00vgq-O=`@d4io2@ 8_n,(|@Aa vA0U (ɸIOPCMDt4T8IOPMSGdUD8pIOGETCS tH%=A 5IOPCHECSTtT%=A 1=NIOPREADSԒU ttH%=AM5=j:) )*Ѱ c)iqp ) ) H(p߬ɸ|bQp7(l> g,B~D'0~FK6?F5;%AyOWp ~h@6fXf KUa@7+6Y 0 0f@#S-;$B 00NODEVuEU4T8PTYINITEUEX`TYBUF?tUDDXʀSETMODEdDDHIOGETCUE`HWAITځEtHZEROT eEHQe=UQAVTYBUF?L2JrJuh,(*f1rD&Peu?NWL: !e@ӨtNVdh Nb!өt1nͨ@ @8ԭ h\: ߦ1|D u?N\3 , LxP+ ]'X: ^ۊ͠;6o#V/ a+6P?Ygq@ e'pw _)?~(s,~ғ,~ۊ[?+6ςpfK‡XR~EӠ0@@`eP;Y.Vm zY dYa!f`Q}LZ"`R#f >/i+E~&Cn?L6~Ұuu?NԻOy^g ڪ >=۬͠`Ͳq{vG,~@cLdvG<, I c}]KN)8Y/pXLE"H) &2SUc+AI5M-Qf3RUT#7@QF2Uc#iI>3 QgUPT eETHQU ! .TUPCHECTP.train.datbanner.bintrain.cmdyahtzee.binWHB(pGA%Nm*#~#foN#F>$o# > { > Wz8>  a b!c9dQeifghijklm)nAoYpqqrstuvwx1yIza0y123456 7! 89 9Q /i : . * _ $    > 000000000 0uEU54UEXQUMM!URTUSFINDTS uEU4UHQUA%9TUSPEEDPӓ`uEUT8QU5M.TUUNMTBST Ҡ,Dꊨiiq>ꊪjJq@.ꊪji ."ʊ )ʑP.ꊪ)ȑ>ꊨiȱ>ʊ*iqp>ꊩijRER ooooooooo `P`````````P` oo d @`````D d oo d d d d @`````````D `P``P` d H`````L d d @`````D d d d ````P`````\`````````\`````P```` d d d d @```D d d d @`````D @`````D d d H`````L d d d d d d =ZGETMODEUS`EU$!1JLOWERCARUQ TtH!]-UBHSWITCHSVS&`航`h舱 (Qאj)*(` K )hPZ舩+);$|(_р}OvK0 =Y,gܥ> '/S,+~,,( =\pfkP4pZ6zYb@hYkZjodU Adm2]1p A)*` 8`54D$t$@(pTS`=a=Y"EG@T` N 8 4l dKeF'% qk0Th {Q'pyn%(FL|.^#V#bkW%%+}<2nf|(nf|( ##!F!z!FWrong number of arguments banner [word1 [word2 [...]] !""!"!"*w#"[S*R[z(*":Ggmhelplibmailpkgqueryspooluser1user2`c3  0  @    0 0` 3c`8x`[SA_V t$p43kPw;DeXF~nߎi~i"`@ ACCH@F?>N3! N6EQU T| fU  >3jݒ:O@"[Ґ 8Ȅ &Z0 KH@D$g#yxFc98!"    0`  0`   A[ H !@@@@ $I$I$I$I$I$_ Bonus Bottom total ___________________ Top Total Top total ___________________________ Total 2_g"] *] %S "] S#![d z [f z [h z [j z [l z [n z "~ | }?8#S [ z " ![p z [r z [t z [v z [x z [z z [| z " [ z " ! 8 ~o (T !F DMN ++~T h ͸  8 ! 7Illegal number: "%s" !  8$%%%%oh 7T 0:8 ag?peat 2 echo -n "Ha @" echo -n "9"; repeat 44 echo -n "Ha @" echo -n "8"; repeat 20 echo -n "Ha @" echo -n "9"; repeat 10 echo -n "Ha @" echo -n "8"; repeat 2 echo -n "Ha @" echo -n "9"; repeat 2 echo -n "Ha @" echo -n "8"; repeat 2 echo -n "Ha @" echo -n "9"; repeat 44 echo -n "Ha @" togcurs; mode pa access.hlpbackup.hlpblink.hlpboot.hlpcdoscopy.hlpchowner.hlpcmpasc.hlpcompare.hlpcopy.hlpcptree.hlpcreate.hlpcrogen.hlpday.hlpdcheck.hlpdefault.hlpdelete.hlpw!c ^+^+^+^+^+!+Dice = %d %d %d %d %d͘ !*d | !!}!*p | !!}!!{*f | !!}!*r | !!}!!{*h | !!}!*t | !!}!!{*j | !/!}!/*v | !@!}!@!{*l | !Z!}!Z*x | !k!}!k!{*n | !!}!*z | !!}!!{*| | !!}!!{*~ | !!}!!* | ! !}! * | owner permitted access, the second indicates group access, and the third indicates public access. Each cluster is composed of zero or more of the following flags given in any order: + add the specified privileges r read access e execute access w write access a append access Notes The Access utility allows the user to change file access privileges in several different ways. The first of these is to ree'0! = 8(%%% JG  0:?0Ʌo$~# A[ B@@  UUUDD@@@!B !@D "@D "B "@D "@D!@ %(FL|.^#V#bkW%%+}<Yahtzee version 00.05 Copyright (c) 1981 Cromemco, Inc. p !d 6#6#A !I ( 8!I [8!I (y(n !F Dice to be rolled again ? Enter column number (1 - 13) - Do you wish to play another game ? _ !ACCESS CROMIX Instruction Manual ACCESS utility: ACCESS purpose: This program changes the access privileges associated with a file. user access: all users files owned by the user privileged user any file summary: access [+rewa].[+rewa].[+rewa] file-list arguments: access privil! !}! !{* | ! !}! !{* | !; !}!; !F * | !d !}!d !{!{ %s%3.3uEYAHTZEE YAHTZEE YAHTZEE YAHTZEE 1 One.......... 7 Three of a kind.....2 Two.......... 8 Four of a kind......3 Three........ 9 Full house..........4 Four......... 10 Small straight......5 Five......... 11 Large straight......6 Six.......... 12 Yahtzee.............___________________ 13 Chance..............Total __________________________nter each access privilege for each population segment, making the desired changes. For example: %access rewa.rw.a xyz %l -l xyz 312 1 rewa r-w- ---a test Mar-09 18:25 xyz The second method for specifying access privileges involves the use of the plus sign (+) in one or more of the access population clusters. When used in this manner, the plus sign indicates that the attributes for the specified population segment are to remain the same, or the plus sign may be follomode -pa; togcurs ty .train.dat echo #1 #2 #3 #4 #5 #6 #7 #8 #9 echo -n "8"; repeat 20 echo -n "Ha @" echo -n "9"; repeat 10 echo -n "Ha @" echo -n "8"; repeat 2 echo -n "Ha @" echo -n "9"; repeat 2 echo -n "Ha @" echo -n "8"; repeat 2 echo -n "Ha @" echo -n "9"; repeat 44 echo -n "Ha @" echo -n "8"; repeat 20 echo -n "Ha @" echo -n "9"; repeat 10 echo -n "Ha @" echo -n "8"; repeat 2 echo -n "Ha @" echo -n "9"; repeat 2 echo -n "Ha @" echo -n "8"; re @@! @{ }~o (+8)#~o (+#1?_ _0ɧ!L7*** Error *** ~o (#6w 8Bz =}(905!~#fo!d ~(6#6+!7A!7*** Error, already used ****** Error ***:b!_ ~ O#q_ Hkb # <( w_ Hkb # <( w!_ ~#(y( z==(= >wN_ w_ (w!_ ~# >2w!_ ~#ege specifier string one or more pathnames options: none Description The Access utility allows a privileged user to change file access privileges. The changes are effected by calling the Access utility with an access privilege specifier string and a list of the files whose access privileges are to be changed. The access privilege specifier string contains three clusters of access flags separated by periods. The first cluster indicates  wed by access privileges which are to be added to those already existing for the given population segment. % l -l abc 517 1 rewa re-- re-- test Mar-09 18:26 abc % access +.+.+a abc % l -l abc 517 1 rewa.re.re-a test Mar-09 18:30 abc uti the hex value of the starting address for an IOP program. The -n option causes a link map not to be created. If this option is not used, the link map is written to a file with the filename extension of .map. The -p option must be followed by a space and the hex value of the program starting address. The -q option causes the link map not to be displayed on the terminal. If this option is not used, the link map is displayed on the terminal. The -r option causes the output file ot fit on one floppy disk, the Backup program will prompt for additional disks. Only files whose names match at least one of the names in the file list will be backed up. Ambiguous filenames which are enclosed in quotation marks may be included in the file list. Options The -t option will cause a file to be backed up only if the source file has been modified since it was last backed up. The -v option will cause the names of all files to be displayed as they are being backed up. NBOOT CROMIX Instruction Manual BOOT utility: BOOT purpose: This program loads an operating system into memory. user access: privileged user summary: boot [filename] arguments: filename (optional) options: none Description The Boot utility loads an operating system into memory. If boot is entered alone, the file /cromix.sys will be loaded and execution will begi -d data section address -i IOP starting address -n no map -p program address -q do not display map -r relocatable binary -s search library -x bitmapped -z size (use with -r) Description The Blink program is a two pass virtual linker. One or more input files can be specified.  there are no detached processes running on the system before executing the Boot utility, or data may be lost. One quick method of determining if there are any users on the system is to execute the program status (Pstat) Shell command : # ps -a PID State Command 1 S - 112 R Shell 105 R screen letter 18 S login 1 19200 tty6 94 S shell 16 BACKUP CROMIX Instruction Manual BACKUP utility: BACKUP purpose: This program will copy a directory and all subdirectories and files to a block device. user access: all users summary: backup [-tv] source-dir dest-dev file-list arguments: source directory destination device one or more filenames (optionto be generated in relocatable binary format. Programs in this format can be executed with another process in a single bank of memory. The -s option must be followed by a space and the filename of a library to be searched. More than one library can be searched by preceding each library name by a -s. The -x option will cause the output file to be a bitmapped self relocating file. The -z option must be followed by a space and the hex value of the size which is to be used with the -r opotes The data which has been backed up may be restored only by the Restore utility. A disk which has been written to by the Backup utility may only be accessed by the Restore utility. If the source disk is modified while Backup is in progress, a phase error can result. The disk in the destination device must not be mounted (do not use the Mount utility to mount the disk).  n. When used in this manner, the Boot utility can be used to reboot the Cromix Operating System. Example: # boot Floppy = 1, Hard disk = 2 Enter major root device number: 2 hd0 = 0, hd1 =1, hd2 =2 enter minor root device number: 0 Here, the Boot utility is executed and the Cromix Operating System is reloaded. The root device is specified as hard disk (2) number 0 (0). If Boot is followed by a filename, An executable binary file will be generated. Options The -b option must be followed by a space and the name of the binary file which is to be created. If this option is not used, the output file will adopt the name of the first relocatable file specified on the command line. The output file will have the filename extension of .bin. The -d option must be followed by a space and the hex value of the data section starting address. The -i option must be followed by a space andS shell 15 S shell 14 S shell 89 S login 1 9600 tty1 Here the Pstat command is executed with the all option by entering ps -a in response to the Cromix prompt. The display shows that one user is running the Screen Editor program and editing a file named letter (refer to the line starting with the process id number (PID) 105). If the Boot program was to be executed at this point, the user would lose all editing changes maal) options: -t time -v verbose Description The Backup utility program will copy the source directory along with all descendant directories and files to the destination device. Disks which are to be used with the Backup utility should be initialized for use with the Cromix Operating System. Note that data existing on the disk in the destination device will be destroyed. If the destination device is a floppy disk and all of the data will ntion. BLINK CROMIX Instruction Manual BLINK utility: BLINK purpose: This program links relocatable files. user access: all users summary: blink [-dinpqrxz] [-b outname] filename [-s libname] . . . arguments: one or more filenames library name following each filename (optional) options: -b output file name the file is assumed to have a filename extension of sys. If the user needs to boot CDOS from the Cromix Operating System, the file cdos.com can be copied (using the Cdoscopy utility) to the root directory and renamed cdos.sys. From this point, the user types boot cdos to load CDOS and begin execution under this operating system. Notes Because this program loads an operating system, it will interrupt any active processes. Be sure to check that no one else is executing a program and that de during this session. As long as all lines of the Pstat display show a command of shell or login, no processes are running and it is safe to load an operating system. The Boot utility may only be executed by a privileged user. CHOWNER CROMIX Instruction Manual CHOWNER utility: CHOWNER purpose: This program changes the owner or group of a file. user access: privileged user summary: chowner [-gv] ownername file-list arguments: name or number of the user to whom ownership is to be transferred or name or number of the group to which ownere user's current directory. The second command line will copy the Cromix file named notes from the user's current directory to small floppy disk drive A. In the first case, the file is converted from a CDOS format to a Cromix format. A Cromix format to CDOS format conversion takes place in the second example. The Cromix Operating System cannot read CDOS disks. Programs to be executed and data to be read under the Cromix Operating System must be transferred from CDOS formattenership of a file is changed, the group with which the file is associated changes to reflect the group with which the new owner is a member.  Because an ambiguous CDOS file reference was used, it was placed inside quotation marks. The second example will write all of the files in the current directory to the CDOS hard disk designated as F (Cromix Operating System designation hd1). No quotation marks were used because the ambiguous file reference was a Cromix Operating System ambiguous file reference. The final example will display the directory of the CDOS disk in drive B (fdb). Refer to Appendix E for a list of deviCOMPARE CROMIX Instruction Manual COMPARE utility: COMPARE purpose: This program compares two files. user access: all users summary: compare file1 file2 arguments: 2 filenames options: -t terse Description The Compare program will compare two files and report on differences in length and content. Compare lists differences between the two files on a byCDOSCOPY CROMIX Instruction Manual CDOSCOPY utility: CDOSCOPY purpose: This program copies files to and from CDOS disks. user access: all users summary: cdoscopy [-blvw] devname file-list arguments: Cromix device name name(s) of the file(s) to be copied options: -b binary file -e erase file -l listship is to be transferred and one or more filenames options: -g change group -v verbose Description The Chowner utility changes the owner or group which is associated with any type of file. If the file abc is in the current directory and is owned by mark, the L utility might display it as: # l -l abc 27 1 rewa re-- re-- mark Mar-11 19:59 abc Usind disks to Cromix formatted disks before execution can begin. Note that if a file pathname is specified, CDOS will only consider the lowest level filename (the part of the pathname following the rightmost slash). After the following command line is executed, the CDOS format disk in drive B will contain a file named memo. % cdoscopy -w fdb /usr/mary/memo If an ambiguous CDOS file reference is used, it must be enclosed in quotation marks. The file named /usr/lock musCMPASC CROMIX Instruction Manual CMPASC utility: CMPASC purpose: This program compares two ASCII (text) files. user access: all users summary: cmpasc file1 file2 arguments: 2 filenames options: none Description The Cmpasc utility program will compare two ASCII (text) files and report on differences in content. Differences are indicated by displaying the text of ce names. Options The -b option is used for copying binary files. When this option is used, the 1Ah will not be stripped from the end of the file. The -e option causes the specified file(s) to be erased from the CDOS disk. The -l option causes the contents of the CDOS directory to be displayed. The -v option causes the files to be displayed while being copied to and from CDOS disks. The -w option causes the file to be written to the CDOS disk. te-by-byte basis, displaying the address of the difference in hexadecimal, then the byte in the first file, followed by the byte in the second file. It does not adjust for offset if one file lacks one or more bytes in the middle (insertions, for instance). Options The -t option causes the list of differences to be suppressed. When this option is used, only a message indicating that the files are the same or are different is displayed.  CDOS directory -v verbose -w write to CDOS Description The Cdoscopy utility program will copy files from a Cromemco Disk Operating System (CDOS) format disk to a Cromemco Cromix Operating System format disk and vice versa. In its simplest form: % cdoscopy fdb letter % cdoscopy -w sfda notes The first of these command lines will copy a CDOS file named letter (located on large floppy disk drive B) into thg the Chowner utility, ownership can be transferred to cindy: # chowner cindy abc # l -l abc 27 1 rewa re-- re-- cindy Mar-11 19:59 abc Options The -g option allows the Chowner utility to change the group with which the file is associated. This option is used in the same manner as described above, with the group name substituted for the owner name. The -v option will cause the name of each file to be displayed as its ownership is changed. Notes When the owt be present in order to execute the Cdoscopy program. Examples: % cdoscopy -v fda "*.Z80" % cdoscopy -vw hd1 ** % cdoscopy -l fdb These examples assume that the disks in drive A (fda) and B (fdb) and the hard disk (drive F or hd1) are all formatted as CDOS disks. The first example will copy all of the CDOS files on drive A (Cromix Operating System designation fda) with the filename extension of Z80 into the current directory. the first file, followed by text of the second file which differs from the first. Notes The Cmpasc utility will adjust for internal differences between the two files (insertions or deletions).  COPY CROMIX Instruction Manual COPY utility: COPY purpose: This program copies a file. user access: all users summary: copy [-dftv] source-file destination-file or [-dftv] file-list dirname arguments: two single filenames or one or more filenames and  is not invoked and another file exists with the destination pathname, an error will be generated. The -t option will cause a file to be copied only if: 1. the file does not exist in the destination directory, or 2. the source file has been modified more recently than the destination file. This comparison is performed on a file by file basis. The -v option will cause the name of each file to be displayed as it is being copied. Ne pathname of the destination directory is specified. The file abc exists in the current directory and is being copied to the directory /usr/fred without having its name changed. This form of the command can be used to create an archive of all of the C language programs in a given directory: % copy *.c /usr/archives This Copy command will copy all of the files in the current directory with filenames ending in .c to the archives directory. The files will maintain privileges. They will be owned by the user who created them and will be in the domain of the group to which their creator belongs. An error will be displayed if the specified pathname already exists. Notes This command will only make a standard data file. Refer to the Makdir command or the Makdev utility program if you need to make a directory or device file. CPTREE CROMIX Instruction Manual CPTREE utility: CPTREE purpose: This program will copy a tree. user access: all users summary: cptree [-ftv] source destination file-list arguments: source directory destination directory optional file list options: -f force -t time -nter RETURN. 1 - Console (Tuart) (Y = Yes, N = No) [Y] ? Are the standard tty drivers (16FDC, 4FDC, and TU-ARTs) to be included in this system? Respond with Y (for yes) or N (for no). 2 - Console (Quadart) (Y = Yes, N = No) [Y] ? Are the IOP/Quadart drivers to be included in this system? Respond with the Y or N. 3 - System must be present This is the main Cromix module and must be included. There is no user response for thi a directory name options: -d directory & device files ok -f force -t time -v verbose Description The Copy utility program will copy one or more files. This program does not alter the source file(s). In the first mode of operation, (in the simplest format), the file abc can be duplicated as file xyz, with both files residing in the current directory: % copy abc otes Ambiguous filenames which are enclosed within quotation marks may be included in the file list.  their original names. Options The -d option allows directory and device files to be copied. If this option is not specified, these types of files will not be copied. The -f option will cause the copied file to overwrite an existing file with the same pathname. If this option is not specified and another file exists with the destination pathname, an error will be reported. The -t option will cause a file to be copied only if: 1. the file does not exist in the destination CROGEN CROMIX Instruction Manual CROGEN utility: CROGEN purpose: This program generates a Cromix Operating System. user access: all users summary: crogen [pathname] arguments: optional pathname options: none Description The Crogen utility will generate a new operating system. It allows the user to add and delete system drivers which will provide the largest pv verbose Description The Cptree utility program will copy the source directory along with all descendant directories and files to the destination directory. All links which exist in the source directory will be preserved. If the optional file list is used, only files whose names match at least one of the names in the file list will be copied. Options The -f option will cause the copied files to overwrite another file with the same pathname (if one exists). If this options driver. 4 - Timer (Y = Yes, N = No) [Y] ? Is the operating system clock to be included in this system? This question should always be answered Y except when another clock is being added. 5 - Parallel printer (Y = Yes, N = No) [Y] ? Is the dot matrix printer driver to be included in this system? 6 - Typewriter printer (Y = Yes, N = No) [Y] ? Is the fully formed character printer driver to be included in this system? xyz A copy to or from a directory other than the current directory is slightly more complex: % copy abc /usr/fred/xyz Here the pathname of the destination file is specified. The file abc exists in the current directory and is being copied to the directory /usr/fred and is having its name changed to xyz. If the previous example were given as: % copy abc /usr/fred we would have the second mode of operation of Copy. In this mode (in the example), thCREATE CROMIX Instruction Manual CREATE Shell command: CREATE or CRE purpose: This command creates a file. user access: all users summary: cre file-list arguments: one or more pathnames options: none Description The Create command is used to create one or more data files. The files will have a length of zero bytes and will have default access directory, or 2. the source file has been modified more recently than the destination file. This comparison is performed on a file by file basis. The -v option will cause the name of each file to be displayed as it is being copied. ossible number of system buffers and Shells. Crogen also allows the user to add user defined character drivers to the operating system. Crogen is a menu driven utility which resides in the /gen directory. To use Crogen, perform the following: Select the /gen directory and begin execution of Crogen by giving the commands: d /gen crogen Crogen will prompt you with the following commands. To give the default response (the response in the brackets), e  7 - Serial printer (Tuart) (Y = Yes, N = No) [N] ? Is the X-ON, X-OFF serial printer driver (interfaces with TU-ART) to be included in this system? 8 - Serial printer (Quadart) (Y = Yes, N = No) [N] ? Is the X-ON, X-OFF serial printer driver (interfaces with Quadart) to be included in this system? Block device drivers (Y = Yes, N = No) [Y] ? Disk drivers to be included in this system? If the answer is Y, Crogen will respond with the followirmine if it is presently the day specified. This program is useful in applications that require tasks to be done on specific days of the week. Notes When used without an argument, Day will display a message containing the name of the current day. the following question: Minor device number (0 = hd0, 1 = hd1, 2 = hd3) [0] ? Which hard disk should be the root device? Answer 0, 1, or 2. Automatic login name [none] ? Should this system automatically login when the system is booted (used for turnkey operation)? Answer with the login name if this function is desired or RETURN if if not desired. If a user name is specified, it must not have a password. Default access for created files [super block The super block cannot be read. Out of memory The disk contains too many inodes for Dcheck to check. Make a new disk with fewer inodes and use the Cptree utility program to transfer the contents of the disk to the new disk. Cannot read inode xxxxx A disk I/O error occurred while trying to read the inode. Inode xxxxx, error reading directory A disk I/O error occurred while trying to read a directory. Inode xxxxx, cannot read inode A disk I/O error occurred while trying to r moved into the root directory.  error indicates that the specified inode has the wrong number. Use Dcheck with the -s option to correct this error. Inode xxxxx, unallocated inode with xxx links This inode is unallocated but it has names pointing to it. Use Ncheck to find these names, and then delete the names. Inode xxxxx, allocated inode with 0 links This inode is still allocated although there are no names for it. Use Dcheck with the -s option to correct this error. Inode xxxxx, bad directory entry count Thng two questions: 1 - Floppy disk (Y = Yes, N = No) [Y] ? Are floppy drivers to be included in this system? Answer Y or N. 2 - Hard disk (Y = Yes, N = No) [Y] ? Are hard disk drivers to be included in this system? Answer Y or N. Default root device (Y = Yes, N = No) [Y] ? Should the system automatically select a root device number? Answer Y or N. If the answer is Y, Crogen will respond with the following 2 questions: MDCHECK CROMIX Instruction Manual DCHECK utility: DCHECK purpose: This program verifies that the internal structure of the directories is correct. user access: all users summary: dcheck [-f] [devname] arguments: optional device name options: -s salvage directory structure Description The Dcheck utility verifies the accuracy of the drewa.re.re]? All files created under this Cromix system will initially have these access privileges. Crogen will now respond with the following message: Creating cromix.sys (or other filename if specified) This indicates that Crogen is creating the new operating system and writing it to the filename specified. In this example, Crogen has written the operating system to the current directory (/gen/cromix.sys). It is suggested that the newly created operating system ead the inode. Inode xxxxx, directory with more than 1 parent A directory has more than one parent that are in different directories. Use the Ncheck utility program to locate the names of the files and delete the names that have different parents, then run Dcheck with the -s option. Inode xxxxx, directory with wrong parent This error indicates that the inode is pointing to the wrong parent. Use the Dcheck utility with the -s option to correct this error. Inode xxxxx, bad link count xxxxxDAY CROMIX Instruction Manual DAY utility: DAY purpose: This program executes a command on the day specified. user access: all users summary: day [day-of-the-week command-line] arguments: day of the week command line options: none Description The Day utility will execute a command on the day specified. Day uses the system clock to deteis inode is a directory. The number of directory entries in the inode differs from the actual number of directories. Use Dcheck with the -s option to correct this error. Options The -s option fixes problems reported by Dcheck. Notes Immediately after running Dcheck with the -s option, Icheck should be run with the -s option. After both programs are run, the system must be rebooted. Refer to the Boot utility for additional information. It is not necessary to reboot iajor device number (1 = Floppy, 2 = Hard disk) [2] ? Is the root device a floppy disk or a hard disk? Answer 1 or 2. If major device is a floppy (1), Crogen will respond with the following question: Minor device number (0 = fda 4 = sfda) (1 = fdb 5 = sfdb) (2 = fdc 6 = sfdc) (3 = fdd 7 = sfdd) [0]? If the major device is a hard disk (2), Crogen will respond with irectories' internal structure and should be run on an unmounted file system. If the file system that needs fixing is the root, then this program should be run with no other users or tasks running at the same time. If another task is writing to the disk, the results of Dcheck may be incorrect. If the -f option is used while another task or user is accessing the disk, the directory on the disk may be irreparably damaged. Messages Returned by Dcheck Cannot read be tested before it is moved into the root directory; this is done by using the Boot utility (boot /gen/cromix). If the optional pathname for Crogen were Crogen /cromix, Crogen would overwrite the operating system in the root directory. If the newly created operating system were not configured correctly, it would not be possible to cold boot that disk. It is suggested that the new operating system is created in the /gen directory, tested by booting that operating system, then , should be xxxxx There are a different number of names in directories pointing to this inode than the inode expects. Use Dcheck with the -s option to correct this error. Inode xxxxx, more than 255 links There are more than 255 names for this inode. Use Ncheck to find all the names. Delete enough names to bring the total number of names to 255 or less, and then run Dcheck with the -s option. Inode xxxxx, bad inode number in inode Each inode contains its own inode number. This f the -s option is not used.  3. be the root directory of a device. Options The -v option will cause the name of each file to be displayed as it is being deleted. y, but in the /gen directory. ied tree (directory). Normally, Deltree will prompt the user with the file or directory name and (y,n). If the user types y, the file or directory is deleted, otherwise it is not. If the -a option is given, Deltree asks if the user really wants to delete the specified tree. If y is typed, all files and subtrees are deleted and their names displayed. If n is typed, Deltree returns to the Cromix prompt. If this program is used from within the directory specified, the program wl no longer be accessible through that link, but it will remain on the disk and will be accessible through any one of the remaining links. The following example concerns itself with part of the /dev directory. As the Cromix Operating System is shipped, the dummy file prt is linked to the dot matrix printer driver lpt1. In the first listing following, the link is demonstrated by the number 2 preceding each of these filenames. When the file prt is deleted, the file lpt1 remains intacthout any arguments. When given with a directory pathname, the Directory command will cause the specified directory to become the current directory. DEFAULT CROMIX Instruction Manual DEFAULT utility: DEFAULT purpose: This program sets default parameters for automatic login. user access: all users summary: default pathname majornum minornum [login-name] arguments: pathname major device number minor device number optional login namdeltree.hlpdirectory.hlpdump.hlpecho.hlped.hlpexit.hlpfind.hlpfree.hlpgoto.hlphelp.hlphelp.msgicheck.hlpidump.hlpif.hlpinit.hlpinput.hlpDELETE CROMIX Instruction Manual DELETE Shell command: DELETE or DEL purpose: This command deletes a file. user access: all users summary: del [-v] pathname(s) arguments: one or more pathnames options: -v verbose Description The Delete command removes the specified link to a file. If there is only one link to the file, then it is no longer accesill disallow the deletion of that directory. In addition, all the files must be deleted from a directory before that directory can be deleted. Options The -a option will delete all files and subtrees automatically after asking once for verification.  and the number of links is reduced to one. # l 5:5 xx 2 lpt1 5:5 yy 2 prt 6:5 zz 1 typ1 # del prt # l 5:5 xx 1 lpt1 6:5 zz 1 typ1 A directory may be deleted by specifying a directory pathname. In order for a directory to be deleted it must not: 1. contain any files, 2. be the current directory for any user, or DUMP CROMIX Instruction Manual DUMP utility: DUMP purpose: This program displays a file in hexadecimal. user access: all users summary: dump [-b #] file-list [-e #] [-k #] [-s #] [-o #] arguments: one or more file pathnames options: -b first byte e options: none Description The Default program will allow the Cromix Operating System to use a default root device and login name when booting the operating system. If the login name requires a password, the user will be prompted for the password; otherwise the boot procedure will execute automatically. Pathname specifies the directory and filename into which the new Cromix Operating System will be written. Notes This program is not in the /bin directorDELTREE CROMIX Instruction Manual DELTREE utility: DELTREE purpose: This program deletes the specified tree, including all files and subtrees. user access: all users summary: deltree [-a] pathname arguments: pathname options: -a suppresses user verification Description The Deltree utility will delete all files and subtrees in the specifsible and the space which it occupied is made available for use. In the following example the file schedule is deleted from the current directory. % l 3,016 1 letter 200 1 memo 1,408 1 schedule % del schedule % l 3,016 1 letter 200 1 memo If there is more than one link to a file and one of the links is deleted, the file wilDIRECTORY CROMIX Instruction Manual DIRECTORY Shell command: DIRECTORY or D purpose: This command displays or changes the current directory. user access: all users summary: d [dir name] arguments: optional directory pathname options: none Description The Directory command will display the current directory when given wit  -e last byte -k first block -s swath width -o offset address Description The Dump program will display the file(s) specified by the pathname(s). Dump will display any type of file. The file will be displayed in hexadecimal with an ASCII equivalent to the side of the dump. All numeric arguments to the Dump utility are assumed to be decimal numbers unless they are followed by an h (for hexa ECHO CROMIX Instruction Manual ECHO utility: ECHO purpose: This program echoes its arguments to the console. user access: all users summary: echo text arguments: any text options: -e send to stderr -n do not print newline Description The Echo program echoes its arguments. Options The -e option causes arguments to be echoed to the stan number -group name or number -size n -blocks n -mtime n Action Specifiers: -exec command-line -ok command-line -print Logical Operators: -a -o Description The Find utility locates a file. The pathname is the for a complete discussion of the Screen Editor. This write-up only covers those features of the Cromemco Cromix Screen Editor which are different from the Cromemco CDOS Screen Editor. The Cromix Screen Editor is a special version of the Screen Editor, which was designed to take advantage of some of the features of the Cromix Operating System. It utilizes Cromix Operating System calls and does not use the CDOS Simulator. Because of this, full pathnames may be used when calling th The file specifying keyword name is followed by a list of one or more unique or ambiguous filenames. If an ambiguous filename is used, it must be enclosed within quotation marks. The Find utility will find all files which match the file list. -type b block device c character device f file d directory decimal). Example: dump -b 1000h -e 5000h filename This will dump the file filename starting with the 1000th (hex) byte and ending with the 5000th (hex) byte. Options The -b option allows the user to specify the first byte of a file to be dumped. The -e option allows the user to specify the last byte of a file to be dumped. The -k option allows the user to specify the first block to be dumped. Th -s option allows the user to specify the swath width ofEXIT CROMIX Instruction Manual EXIT Shell command: EXIT or EX purpose: This command exits from a Shell. user access: all users summary: ex arguments: none options: none Description The Exit command is used to exit from a Shell. If there is no higher level Shell active, the Cromix Operating System will log the user off the system. dard error channel. The -n option causes the echo of a newline to be suppressed.  pathname of the tree, directory, or file to be searched, and expression contains what is to be found and what is to be done with it. Expressions are composed of combinations of file specifying criteria and actions connected by relational operators. Refer to the following list. Parentheses may be used to change the order of evaluation of the items in the Find expression. When parentheses are used, the expression must be enclosed within quotation marks so that the Shell will pass theme Screen editor. The only outwardly apparent difference to the user is the addition of the % command. This command will cause the Screen Editor to create a Shell process, which will allow the user to execute any commands provided there is enough memory in the system. Even without any additional memory, any of the Shell commands, such as List and Type, may be used. The user can return to the Screen program at any time by entering the Exit command in response to the Shell prompt. The file specifying keyword type is followed by one of the characters b, c, f, or d, as specified above. The Find utility will find all files of the specified type. -links n The file specifying keyword links is followed by a number, n. The Find utility will find all files with the specified number of links. If the number (n) is  the dump. The -o option causes the specified offset to be added to all addresses which are displayed by Dump. FIND CROMIX Instruction Manual FIND utility: FIND purpose: This program locates files. user access: all users summary: find pathname expression arguments: pathname expression(s) options: File specifiers: -name -type x -links n -user name orSCREEN CROMIX Instruction Manual SCREEN utility: SCREEN purpose: This program allows the user to edit files. user access: all users summary: screen filename arguments: name of file to be edited options: none Description The Screen utility program enables the user to edit files. Please refer to the Cromemco Screen Editor Instruction Manual (part number 023-0081)  to the Find utility. When one of the action specifiers is used to execute a program, the return code of that program can be evaluated and used within the expression. Note that -print is always true. The following command will find all files with filename extensions .z80, compare them to /usr/fred/new.z80, and delete the file if it exactly matches the new.z80 file. # find / -name "*.z80" -a -exec cmpasc {} -a -del {} Options File Specifiers -name file-list   preceded by a plus sign, all files with more than the specified number of links will be found; if a minus sign is used, all files with fewer than n links will be found. -user name The file specifying keyword user is number followed by a user name or number. The Find utility will find all files which are owned by the specified xpression used with the Find command is evaluated from left to right. Items to be found as well as actions to be performed may be logically combined by use of the -a and/or -o logical operators. Either of these operators will combine the sum of the expression to its left with the subsequent item in the expression. For example, find / -name ted -a -print find / -name ted -o -name mary -a -print The first of these examples will find all filesnumber of blocks (actual number of blocks occupied by the file). If the number (n) is preceded by a plus sign, all files occupying more than the specified number of blocks will be found; if a minus sign is used, all files with fewer than n blocks will be found. -mtime n The file specifying keyword mtime is followed by a  on the specified device(s). If no device list is specified, then the free space is displayed for all devices which are mounted. of the file which the Find utility found. -ok command-line The action specifying keyword ok is used in the same manner as exec. When ok is used, the Find utility will prompt the user prior to executing each command line. The user may respond with a y (for yes) if the command line is to be executed, or n (for no) if the line is not to be exe be ignored by the Cromix Shell. If the Goto command is given with a nonexistent line label, execution of the command file will be terminated. Example: %sample_label x y z % this is a comment goto sample_label This sample command file will cause the commands x, y, and z to be executed repeatedly. The first line of the command file is a line label, as indicated by the leading percent sign. Notice the use of the pe user. -group name The file specifying keyword group is number followed by a group name or number. The Find utility will find all files which are owned by the specified group. -size n The file specifying keyword size is followed by a number, n. The Find utility will find all files of the specified size (containing n bytes with the filename ted and will print the pathnames of these files. If the print instruction was left out of this command line, all of the correct files would be found and no action would be taken (their names would not be displayed). The second example demonstrates the use of the logical OR. All files with the filename ted OR mary will be found and their pathnames printed. The exclamation point is used as a NOT prefix.  number, n. The Find utility will find all files which were modified n days ago. If the number (n) is preceded by a plus sign, all files modified n or more days ago will be found; if a minus sign is used, all files modified fewer than n days ago will be found. Action Specifiers -exec command-line The action specifying keyword exec is followed by aGOTO CROMIX Instruction Manual GOTO Shell command: GOTO or GO purpose: This command causes control to be transferred within a command file. user access: all users summary: go label arguments: line label options: none Description The Goto command is used to transfer control within a command file. Control is transferred to tcuted. -print The action specifying keyword print is used to display the path names of files meeting the find criteria. Logical Operators -a The a operator is used to logically AND two other items in the Find expression. -o The o operator is used to logically OR two items in the Find expression. Notes The ercent sign to indicate a comment on the fourth line of the file. The fifth (last) line of the file will cause control to be transferred to the specified label (sample_label). ). If the number (n) is preceded by a plus sign, all files with more than the specified number of bytes will be found; if a minus sign is used, all files with fewer than n bytes will be found. -blocks n The file specifying keyword blocks is followed by a number, n. The Find utility will find all files which use the specified FREE CROMIX Instruction Manual FREE utility: FREE purpose: This program displays the amount of unused space remaining on one or more devices. user access: all users summary: free [devname1 ... devnameN] arguments: optional list of device names options: none Description The Free program displays the amount of unused space remaining command line. This may be any valid command line (i.e., any line which can be entered in response to the Cromix prompt). This command line will be executed each time the Find utility finds a file meeting the find criteria. When used within the command line, a pair of braces ({}) will be replaced by the name he line specified by label. This can be used to repeatedly execute the same commands within a command file. When used in conjunction with the If and Shift commands, the Goto command can become part of a conditional loop with varying parameters. A line label is any line within a command file which begins with a percent sign (%). If a percent sign appears as a character other than the first character on a line, it indicates that the balance of the line is a comment and will  HELP CROMIX Instruction Manual HELP utility: HELP purpose: This program displays pages from the Cromix manual covering Shell commands and utility programs. user access: all users summary: help [command-name] [utility-name] arguments: command or utility name (optional) functions: b beginning ICHECK CROMIX Instruction Manual ICHECK utility: ICHECK purpose: This program checks the integrity of one or more file systems. user access: all users summary: icheck [-s] [-b blk# ...] [devname ...] arguments: optional list of device names options: -s salvage -b blocks Description The Icheck utility will verify tan be accessed at any time by pressing the r key (return to menu). The Help program displays the manual entry one page at a time. A percentage and the word MORE will be displayed at the bottom of the screen. The displayed percentage reflects the percentage of the file that remains to be viewed. There are several functions to aid you when viewing the manual entry. When the space bar is pressed, the next page of the manual entry will be displayed on the screen. When the RETU Device files: 16 Ordinary files: 269 Directories: 44 Blocks used in files: 13,546 Indirect blocks: 172 Free blocks: 6,212 Free inodes: 3,871 Blocks missing All disks (also referred to as block devices) are divided into units of allocation called blocks.pics) is found in the file named /usr/help/help.msg and can also be modified. ystem and the problem should be corrected immediately by executing Icheck with the -s option. No files will be affected. Duplicate Blocks in Free List This message indicates that the same block number appears twice in the free list. Duplicate blocks in the free list do compromise the integrity of the file system and the problem should be corrected immediately by executing Icheck with the -s option. No files will be affected. Bad Blocks This is similar to Bad free  h help q quit r return u up RETURN next line space next page Description The Help utility program provides a convenient online manual for user reference. The Cromix Instruction Manual entries for Shell commands and utility programs are the only accessible entries. Information regarding system calls and other manuahe integrity of a file system. After a power failure or after resetting the computer, it is a good idea to run the Icheck program on all devices which were mounted at the time the problem occurred to make sure the file systems are in order. If no device names are specified, Icheck checks the integrity of all mounted devices. The list of mounted devices is obtained from the file /etc/mtab. If no options are specified, Icheck will produce a report on the file system but will not alter it. A sRN key is pressed, the next line will be displayed. Pressing the u key will cause the previous page to be redisplayed. The u key and the space bar can be used to move back and forth through the manual entry. The b key causes the program to jump to the first page (beginning) of the manual entry. The h key will display a list of the available functions for the Help program (Up, Beginning, Return, Quit, and Help). To exit from the Help program, press the q key. Modifying t A block is 512 bytes. Every block should appear in a file or in the free list. Blocks appearing in files include those which are permanently physically assigned as either system or inode blocks. The free list is a list of all blocks available for use. A block is missing if it does not appear in a file or in the free list. Missing blocks do not compromise the integrity of the file system and the problem does not need to be corrected immediately. If a block is missing, it is simplyEType "help" for a directory of all topics. Type "help topic" for help with that topic. Type "help help" for more information on this program. Directory of topics:  blocks except that the Bad blocks appear in files. Bad blocks do compromise the integrity of the file system and the problem should be corrected immediately, as follows. Icheck will report the inode number of the bad blocks. The Ncheck utility must be used to determine the names of the files containing the bad blocks and these files must be deleted. Duplicate Blocks This is similar to Duplicate blocks in free list except that the Duplicate blocks appear in files. Duplicatel entries must be obtained from the Cromix Instruction Manual. Help can be called alone or with an optional program name. If unsure about the name of a utility or command, enter help followed by a RETURN. The Help program will list all of the available topics and ask you for the topic you wish to read about. If help is entered with a program name, the Help program will list the manual entry without displaying the list of available topics. The list of utilities and Shell commands cample report and explanation follow. If the -s option is used while another task or user is accessing the disk, the directory on the disk may be irreparably damaged. % icheck Device: /dev/hd0 Blocks missing: 0 Bad free blocks: 0 Duplicate blocks in free list: 0 Bad blocks: 0 Duplicate blocks: 0 he Online Manual The database for the online manual can be found in the /usr/help directory. Each topic is contained in a file with the name of the help topic and the filename extension .hlp. Additional topics can be entered in the directory /usr/help for the purpose of providing online documentation for user programs. The files must have the .hlp filename extension so that the Help program can access them. The message written on the console (above the listing of Help to not available for use. The problem may be corrected by executing Icheck with the -s option. Bad free blocks This message pertains to blocks which are located in the free list. The term bad indicates that the block number is out of range. A block number can be out of range if it is: 1. past the end of the disk, 2. in the system area of the disk, or 3. in the inode area of the disk. Bad free blocks do compromise the integrity of the file s   blocks do compromise the integrity of the file system and the problem should be corrected immediately, as follows. Icheck will report the inode number of the duplicate blocks. The Ncheck utility must be used to determine the names of the files containing the duplicate blocks and at least one of these files must be deleted. After this, the Icheck utility should be run with the -s option. MESSAGES RETURNED BY ICHECK Cannot read super block The suIF CROMIX Instruction Manual IF Shell command: IF purpose: This command conditionally executes another command. user access: all users summary: if -err command -rewa filename command string-1 = string-2 command string-1 != string-2 command arguments: access method and a filename cified block is used. Block xxxxxx, inode xxxxxx, ---- bad block number ---- Refer to the previous discussion of Bad blocks. Block xxxxxx, inode xxxxxx, ---- duplicate block number ---- Refer to the previous discussion of Duplicate blocks. Block xxxxxx, ---- block missing ---- This message is printed when the -b option is used to find the status of a certain block and the block is missing. Refer to the previous discussion of Blocks missing. Block xxxxxx, -en two spaces. The If command is most frequently used in conjunction with the Goto command and is terminated by a semicolon (;). The following example demonstrates a method of checking for a null parameter: if x#1 = x goto abcd If #1 is a null string, the left side of the equality will be equal to the string x. If #1 is not a null string, the left side of the equality will not be equal to the string x. The right side is always equal to the string x. Thus, the equality will be processes.  If a RETURN is entered in response to any of the questions followed by square brackets ([]), the Init program will take the value specified within the brackets as the desired response. These default responses are standard and should normally be used. After a disk is initialized, the make file system (Makfs) utility program must be run on the newly initialized disk. After this, the disk may be mounted as a Cromix Operating System format disk. per block cannot be read. Out of memory The disk contains too many inodes for Icheck to check. Make a new disk with fewer inodes and use the Cptree utility program to transfer the contents of the disk to the new disk. Cannot read inode xxxxx A disk I/O error occurred while trying to read the specified inode. Not a block device: "device name" The device specified is not a block device. Inode xxxxxx, ---- Bad usage count ---- This inode has an incorrect usage count. The usage count i or two strings separated by the equal (=) or not equal (!=) relational operator and a command line options: none Description The If command is used to conditionally execute another command. The first format of the If command listed above will execute the specified command if the last program executed returned an error. It does this by checking the return --- block in free list ---- This message is printed when the -b option is used to find the status of a certain block and the block is in the free list. Block xxxxxx, ---- bad free block ---- Refer to the previous discussion of Bad free blocks. Cannot write free list block xxxxxx When running Icheck with the -s option, the free list is recreated. This error message is printed when there is an error in writing the free list. Cannot read block xxxxxx This message is printedtrue if #1 is a null string. IDUMP CROMIX Instruction Manual IDUMP utility: IDUMP purpose: This program displays the contents of an inode. user access: all users summary: idump blockdev inode list arguments: block device name list of one or more inode numbers options: none Description The Idump utility will display the contents of the specified inodes. INPUT Cromix Instruction Manual INPUT utility: INPUT purpose: This program reads a line from the standard input and sends it to the standard output. user access: all users summary: input string arguments: none options: none Description This utility reads a string from the standard input and upon reading a newline sends that string to the standard output. This utility can be used to write interactive cs used by the Usage utility program to calculate the amount of disk space used. This error can be corrected by running Icheck with the -s option. Inode xxxxxx, ---- Cannot write to inode ---- This error message occurs when the Icheck utility is attempting to correct an inode and an error occurs. Block xxxxxx, inode xxxxxx, ---- block used in file ---- This is not an error message. This message is displayed when the -b option is used. It indicates the number of the inode in which the spe code of the program and executing the command if the error code is nonzero. The second format of the If command listed above will execute command if the specified access method applies to the specified file. The third and fourth forms of the If command will execute command if the specified relational condition is true. These formats of the If command do not require that the strings be enclosed in quotation marks, but do require that the relational operator (= or !=) be located betwe when a block cannot be read. Options The -s option will salvage and recreate the free list. The -b option will display information about blocks. Notes Immediately after running Icheck with the -s option, the system must be rebooted. Refer to the Boot utility for additional information. It is not necessary to reboot if the -s option is not used. Do not execute the Icheck utility when other processes are being executed. This includes detached processes as well as other user INIT CROMIX Instruction Manual INIT utility: INIT purpose: This program initializes a disk. user access: privileged user summary: init arguments: none options: none Description The Init utility will destroy all data on the specified disk. Init will prompt the user to determine which disk is to be initialized and what type of initialization is to be performed. ! ommand language programs by redirecting the output of the utility to a file and then testing the contents of the file with the utility testinp. Refer to the (on-line) manual entry for the utility testinp concerning command files using input and testinp. Input reads a maximum of 255 characters from the standard input or 512 characters if input is redirected from a file and terminates reading upon reading a newline or the maximum number of characters. Example % input > temp This cKILL CROMIX Instruction Manual KILL Shell command: KILL purpose: This command will send a signal to a process. user access: all users summary: kill [-12345] [PID] arguments: process id options: -1 abort -2 user -3 kill -4 terminate (default) -5 alarmINSTALL Cromix Instruction Manual INSTALL command file: INSTALL purpose: This program allows the user to copy certain Cromemco software packages that are on CDOS disks to Cromix. user access: all users summary: install devname arguments: Cromix device name options: none Description Install is an easy to use program for moving CDOS programs to Cromix. Install will copy only those files on the CDOS disk that need to be copied for the software pae process. The -6 option is sent by the system when a broken pipe is detected. The -7 and -8 options are reserved for future use. IOPRUN CROMIX Instruction Manual IOPRUN utility: IOPRUN purpose: This program loads a program into an IOP. user access: privileged user summary: ioprun filename [address] arguments: filename of program to be loaded into IOP base address (in hex) of IOP (default CEh) options: none Description The Ioprun utility program loads a file into ast Shell command and an L utility program which perform similar functions. The Shell command, unlike the utility program, does not produce a list in alphabetical order and does not require a separate bank for execution. Options The -a option causes the names of all files, including invisible files (those files whose names begin with a period), to be listed. The -b option causes a brief list, which will only contain names, to be listed. The -d option causes information ommand line will read one line from the standard input and send it to the file temp.  -6 broken pipe -7 reserved -8 reserved Description The Kill command sends a signal to the specified process. If the signal type is not specified, Kill will default to a terminate signal. If a signal is sent to process 0, the signal will be sent to all processes that belong to that user. If the user is a privileged user and a user signal is sent to process 1 (kill -2 1), system shutdown will be initiated. ckage on the specified disk to run under Cromix. Install works only on Cromemeco software shipped on CDOS disks that contain a special file, install.crx. This file contains the neccessary information for performing the copy. Install will issue an error message if this file is not present and terminate execution. Thus, install will only work for certain CDOS disks which have this special file on them. To copy files from CDOS disks that are not designed to work with install, refL CROMIX Instruction Manual L utility: L purpose: This program lists directory or file information. user access: all users summary: l [-abdeilst] file-list arguments: optional file or directory pathname(s) options: -a all -b brief -d directory information -e everything n IOP. This utility is normally used to load the IOP/Quadart driver (cromix.iop) into the system IOP. about the directory, rather than the contents of the directory, to be listed. The -e option causes everything in a directory to be listed. The -i option causes an inode number, rather than the file size, to be listed. The -l option causes a long list of information to be listed. This option does not display as much information as the -e option. The -s option causes a summary of the directory to follow the directory listing. The -t option causes the time a file was lastinstall.hlpioprun.hlpkill.hlpl.hlpmail.hlpmakdev.hlpmakdir.hlpmakfs.hlpmaklink.hlpmatch.hlpmode.hlpmount.hlpmove.hlpmsg.hlpmsg.msgmsg1.msgKill -1 1 will consult the /etc/ttys file and allow any terminals which have been added to be logged on. It will also log off any terminals which have been deleted from the file. Options The -l option causes an abort signal to be sent to the process. The -2 option causes a user signal to be sent to the process. The -3 option causes a kill signal to be sent to the process. The -4 option causes a terminate signal to be sent to the process. The -5 option causes an alarm signal to be sent to ther to the Cromix Instruction Manual entry for Cdoscopy. Example % install fdb If the disk in floppy disk driver b was the recent Cromemco release of WriteMaster, for example, then the appropriate files needed to run WriteMaster under Cromix would be copied to /usr/pkg . If the disk in fdb is not set up to be copied by install then an error message will be sent to the console and the files will have to be copied using the CDOSCOPY utility program.  -i inode number -l long list -s summary -t time modified Description The L program lists directory or file information. If no pathname is specified, the contents of the current directory will be listed. If a directory pathname is given, then the contents of that directory will be listed. If a file pathname is given, then information about that file will be listed. Note that there is a Li!  modified to be displayed. MAKFS CROMIX Instruction Manual MAKFS utility: MAKFS purpose: This program sets up the structure for a file system on a disk. user access: all users summary: makfs [-i #] devname arguments: device name options: -i number of inodes Description The Makfs utility sets up the structure for a file system on a block device. This includes estabrs. To do this, the message is entered after the RETURN is depressed at the end of the command line. A CNTRL-Z will terminate the message and return the user to the Cromix Operating System prompt. Options The -a option sends the mail to all users. The list of users for this option is obtained from the /etc/passwd file. The -g option sends the mail to all members of the specified group(s). Members of groups are defined in the /etc/group file. The -n option will cause mail to aMAKLINK CROMIX Instruction Manual MAKLINK utility: MAKLINK purpose: This program makes a link to a file. user access: all users summary: maklink [-fv] file-list dirname [-fv] srcfile destfile arguments: filenames followed by a directory name or source file followed by a destination file opsociates a device name with a device number and a device driver. After the execution of this program, all references to the specified device name will refer to the device specified by the device number. Options The -c option causes an error message to be displayed if there is no device driver corresponding to the device number specified. MATCH CROMIX Instruction Manual MATCH utility: MATCH purpose: This program locates occurrences of a string within a file. user access: all users summary: match [-bcl] string file-list arguments: string file list options: -b block -c count -l line number Description MAIL CROMIX Instruction Manual MAIL utility: MAIL purpose: This program sends mail between users. user access: all users summary: mail [-agnvy] [user name] arguments: optional list of user names or optional list of group names options: -a all -g group -n do not savlishing the number of inodes and the blocks which will be dedicated to the inodes, the blocks which will be dedicated to the system, and the blocks which will be dedicated to the user. Makfs must be run on all floppy disks and on some hard disks before the disk can be mounted for the first time. The Makfs utility will destroy any existing data on the specified device. It will warn and reprompt the user before destroying data. Options The -i option allows a file system to be estabutomatically not be saved. The -v option displays a list of users who received the mail. The -y option will cause mail to automatically be saved. Notes If there is mail for a user, the user will be informed of this upon logging on the system. tions: -f force -v verbose Description The Maklink program will link one or more files into a directory. This program does not alter the source file. Options The -f option causes the new link to overwrite another link with the same pathname (if one exists). If the -f option is not used and another file exists with the link name, an error will be generated and the Maklink program will be aborted. The -v option causes the names of files being MAKDIR CROMIX Instruction Manual MAKDIR Shell command: MAKDIR or MAKD purpose: This command makes a directory. user access: all users summary: makdir dir1 [ ... dirN] arguments: directory pathname(s) options: none Description The Makdir command creates directories.  The Match utility will search through the file list for all occurrences of the string and display each line containing a match. Options The -b option causes the block number to be printed together with the matching line. The -c option causes a count of the matching lines to be printed. The lines themselves will not be printed. The -l option causes the line number to be printed together with the matching line. Notes If the ambiguous characters * or ? are used, the strine mail -v verbose -y save mail Description When given without any arguments, the Mail utility will display mail which has been sent to the user. After the mail has been displayed, the Mail utility will ask if the user wants to save the mail. All saved mail will be appended to the file mbox (in the current directory). When given with one or more user names as arguments, the Mail utility allows mail to be sent to one or more uselished with a nonstandard number of inodes. This option should only be used if you are going to need more files than the default allows. MAKDEV CROMIX Instruction Manual MAKDEV utility: MAKDEV purpose: This program makes a device file. user access: all users summary: makdev [-c] devname b/c majordevnum minordevnum arguments: device name block or character device specification device number options: -c conditional Description The Makdev utility aslinked to be displayed. Notes No link can be made between two different file systems. That is, links cannot extend between 2 different devices (disks). " g should be enclosed in quotation marks ("). If match is used to search a file that is not a text file, control characters may be sent to the terminal. This can result in the terminal becoming locked up. If this happens, either CNTRL-Reset or turning the terminal off and then on again will restore the terminal to operational status. ces) ------------------------------------------- The mode characteristics for the printer devices are described with those for terminal devices below. TIMER (System Clock) -------------------- Correction This is the number of seconds per 100 days which are added to or subtracted from the system timer. The range is -32768 to 32767. Only a privileged user may change this value. TP (Tape Devices) ----------------- Block To move to a block within a tape file, use the argument "blockst argument (not counting the optional "-v"). If no arguments are specified (except, possibly, the device name), Mode will display the characteristics of the specified device without altering them. Mode characteristics can be altered by specifying the desired settings as arguments. For example: mode lpt1 width 132 length 66 bmargin 5 -tabexpand Some characteristics are switches which may either be turned on or off. A dash is used to turn a switch off, e.g., "-tabexpand". Omit the dash iof the file. Tape files are numbered 1, 2, 3, .... The following example will move to the sixth file on TP1: mode tp1 file 6 If a file number is specified which is larger than the total number of files recorded on the tape, the device will move to the end of the tape reel. This motion can be aborted by taking the tape drive off-line and pushing the CNTRL-C key of the terminal keyboard. To take the drive off-line, push the ON-LINE button on the front of the tape drive until the ON-LINE light, the user signal key. Either "mode sigchar 0dh" or "mode sigchar ^M" would accomplish this. When displayed, the first part of the name of a mode characteristic is capitalized, e.g. "PAuse". The capitalized part of the name, at the least, must be used in changing the characteristic. For example, either "mode tty1 -pa" or "mode tty1 -pause", but not "mode tty1 -p", can be used to turn off pause mode of TTY1. Notes In CBREAK mode, or RAW mode, or BINARY mode, no calls for reading charactendard character. When on, pressing CNTRL-C will cause a SIGABORT signal to be sent. In order to disable the signal function of CNTRL-C, the user can include the argument "-abortenable". The argument "abortenable" will enable the signal function of CNTRL-C. Baud This parameter determines the baudrate of the serial devices TTY, QTTY, MTTY, and SLPT. To change the baud rate, use the argument "baud" followed by the desired baudrate. For example: mode tty5 b 9600 The baudratMODE CROMIX Instruction Manual MODE utility: MODE purpose: This program displays or alters the device mode. user access: all users summary: mode [devname] characteristic(s) arguments: optional device name, characteristic(s) options: -v verify by displaying mode characteristics after changing them example: mode -v tty2 fkkeys width 79 -pause see also: tp, " followed by a space and the number of the block. Tape blocks are numbered 1, 2, 3, .... The following example would move to the second block within the current tape file on device TP1: mode tp1 block 2 If a block number is specified which is larger than the total number of blocks in the file, the device will move to the beginning of the next tape file. BLKSwritten BLKSwritten is the count of the number of blocks written the last time a tape file was written to the tape device. It cann order to turn it on. Other characteristics have numerical values, e.g., "width 132". Numerical values may be expressed as decimal numbers, or as hexadecimal numbers, e.g., "delaycode 7fh", or by using the kilounit operator "k", e.g., "outblkln 8k". Other characteristics have ASCII characters as their values. Terminal devices, for example, have a linekill character which, by default, is CNTRL-U. Character values may be expressed either by pressing the ASCII key itself, or by typing its hexade goes off. Inblkln Inblkln is the length of the first block of the last file read from the tape device. It cannot be changed with the MODE command. Outblkln Outblkln is the block length used for writing files on a tape device. To set it, use the argument "outblkln" followed by a space and the desired size. The following command will set the output block length of tp3 to 8192: mode tp3 outblkln 8k REWind To rewind a tape device, use the argument "rewind". For example: modrs (.RDBYTE, .RDLINE, nor .RDSEQ) wait for a line terminator; they all return after a single byte is entered. The Shell, which is the program through which Cromix reads command lines, sets the mode to non-CBREAK, non-RAW, and non-BINARY each time it prompts for a new command line. A program, PROG, can be run in BINARY mode, for example, by typing mode binary; prog A description of the mode characteristics for various kinds of devices follows. LPT, TYP, SLPT, and QSLPT (Printer Devie designated "Auto" is a special case. This mode causes the driver to try different baudrates until it reads a carriage return from the input. BINary (See the discussion under RAW below.) BMargin If BMargin is on and a printer device, LPT, TYP, SLPT, or QSLPT is within BMargin lines of the bottom of the page, a formfeed will be output in order to take the device to the top of the next page. The length of a page is determined by the parameter Length (see below). CBreak (See the discusddump, system calls .SETMODE, .GETMODE Description The Mode utility program displays or alters the operational characteristics of a character device. If program is run without any arguments (no device name, no parameters), the current operational characteristics of the device from which the system received the Mode command will be displayed. In order to display the operational characteristics of a device other than the user's terminal, a device name must be specified as the firnot be changed with the MODE command. EOFclose If the EOFclose switch is on, a filemark will be automatically written on the tape when the tape device is closed. A filemark marks the end of a tape file. If the switch is off, no filemark will be written. A filemark will also be written on a tape when a .SETMODE system call is made for the tape device with the c-register containing TPFMARK (0c6h). File To move to a file on a tape, use the argument "file" followed by a space and the number cimal value, or, for control characters, by pressing the uparrow key "^" following by the character. Thus the linekill character can be changed to CNTRL-A by any one of the following methods: (1) Type "mode lkill", then press the "A" key while holding down the "CNTRL" key; (2) Type "mode lkill 01h"; (3) Type "mode lkill ^A". All commands are completed, of course, by pressing the "RETURN" key. The second and third ways provide methods for making the "RETURN" key, for examplee tp1 rewind UNLOAD To unload a tape device, use the argument "unload". For example: mode tp2 unload TTY, QTTY, MTTY, LPT, TYP, SLPT, and QSLPT (Terminal and Printer Devices) ------------------------------------------------------------------------- ABortenable This switch indicates whether or not CNTRL-C is to function as a special input character for the terminal devices TTY, QTTY, and MTTY. When this switch is off, CNTRL-C will be treated in the same manner as any sta" sion under RAW below.) CRDEVice This switch indicates whether or not the designated device is a carriage return device. For a carriage return device each carriage return character read from the device is translated into a newline character by the driver before passing it on to the calling program. The driver then echoes a carriage return, linefeed sequence to the device. On output to a carriage return device, newlines are translated into carriage return, linefeed sequences. If a de, also referred to as backspace). To change the auxiliary erase character, use the argument "erase" followed by a space and the desired character. For example: mode erase _ This command line will cause the underscore character to function as an auxiliary delete character. Note that DEL and backspace still function as delete characters. EVenparity (See the discussion under ODDparity below.) FFexpand If FFexpand is on, every formfeed character (hexadecimal ded for multiples of one-tenth second. Two bits of DELAYcode determine newline delay, 2 bits determine TAB delay, 1 bit determines backspace delay, etc. These bit assignments are as follows: Character DELAYcode Bits QTTY Values TTY Values (seconds) (nulls) NL (newline) 0 and 1 0, .1, .2, .3 0, 4, 8, 12 TAB 2 and 3 0, .1, .2, .3 0, 4, 8, 12 CR 4 and 5 0, .1, .2, .3 0, 4, 8, 12 FF 6 0, .8 0, 128 BS (backspace) 7 0, .1 0, 4 For examplewill be logged off by the resulting SIGHANGUP signal if HUPSIGall is enabled. IMmediateecho This determines the way in which the terminal drivers TTY, QTTY, and MTTY deal with type-ahead. If IMmediateecho is on, characters which are typed ahead of the time they can be read by the system are echoed immediately. They will be echoed again at the time they are read. If IMmediateecho is off, they will be echoed only at the time they are read. Length This is the page length of the designated d the location of the data area depends of the port address of the interface card used. For example, terminal TTY2 and serial line printer SLPT2 both use the TUART interface card addressed at 20h. For this reason, after TTY2 has been accessed in any way, SLPT2 can not be opened until the driver for TTY2 has first been discarded. If the command "mode tty2 discard" is entered, the data space for TTY2 will be discarded when the device TTY2 is closed. Then SLPT2 can be opened. ECho This switch ind + neither checks for parity nor strips parity bit PAuse If PAuse is on, then terminal devices TTY, QTTY, and MTTY will pause after the number of lines determined by Length is output. The output will resume only after an X-ON (CNTRL-Q) is entered on the keyboard. RAW CBreak, RAW, and BINary are parameters of terminal devices TTY, QTTY, and MTTY. If any of these parameters is enabled, all reads from the device will return after each input character. These parameters also serve tHIJKLMNOPQRSTUVWXYZ0b) output to printer devices LPT, TYP, SLPT, QSLPT will be converted to enough newlines to bring the output to the top of the next page. The length of a page is determined by the parameter Length. If FFexpand is off, the formfeed character itself will be output to the device. FNkeys If FNkeys is enabled, the terminal drivers TTY, QTTY, and MTTY will perform the handshaking that the 3102 terminal expects whenever a function key is pressed. (The driver echoes a CNTRL-B for each of the two byte, "mode qtty1 delaycode a3h" would set the QTTY1 newline delay to 0.3 seconds, the CR delay to 0.2 seconds, the backspace delay to 0.1 seconds, and the TAB and FF delays to zero. DELECho This is the character which will be echoed in response to any one of the delete characters for terminal devices TTY, QTTY, and MTTY. When the Mode utility displays the delete echo character, the word DELECho will be followed by the selected character. If the letter "R" appears in place of single character, it evice, given in lines. When the Mode utility displays the page length, the word length will be followed by the specified page length. To change the page length, use the argument "length" followed by a space and the desired page length. LCase If LCase is on, terminal devices TTY, QTTY, and MTTY will convert upper case alphabetic input characters to lower case. LKill The LKill character is used to delete the current input line for terminal drivers TTY, QTTY, and MTTY. ODDparity Ticates whether or not characters are echoed which are entered on the terminal devices TTY, QTTY, and MTTY. In order to disable character echoing, use the argument "-echo". To enable echoing, use the argument "echo". Erase This is the auxiliary erase character for terminal devices TTY, QTTY, and MTTY. The auxiliary erase character may be used to erase characters entered on the current line. In addition, there are always two standard erase characters. These are DEL (7Fh) and CNTRL-H (08ho disable the action of various other parameters. These effects are listed in tabular form. (A "+" means that the parameter causes the given effect, a space means that it does not.) Effect CBreak RAW BINary return after each character input + + + no erase, linekill, or EOF (CNTRL-Z) characters + + + no output PAuse or output Width truncation + + treat X-OFF (CNTRL-S), X-ON (CNTRL-Q) as regular input + + no tandem mode (i.e., nvice is not a carriage return device, then it is a newline device and these translations are not made. The hexadecimal code for the newline character is 0AH. It is a single character which performs the function of a carriage return, line feed sequence. DELAYcode The DELAYcode is the decimal equivalent of a byte which determines the amount of delay inserted after certain characters are output. For TTYs the delay is accomplished by outputting nulls. For QTTYs the interrupt process is sus- pens the terminal sends.) HUPenable If this switch is on and an IOP terminal device, QTTY or MTTY, closes, its modem will be hung up. HUPSIGall If this switch is on and the modem of an IOP terminal device, QTTY or MTTY, hangs up, the signal SIGHANGUP is sent to all processes controlled by the device. A process is controlled by a terminal if it was the terminal with which the user who owns the process logged in. For example, a user who has logged in on MTTY1 and hangs up without logging out indicates that a three-character sequence will be echoed in response to a delete character. This sequence is space-backspace-space. To change the delete echo character, use the argument "DELECho" followed by a space and the desired delete character (or the letter "R"). DIScard When a driver is first accessed a data area is acquired for it in which its parameters (including its mode characteristics) are saved. This data area is reserved for the driver until it is DIScarded. For most drivers he two characteristics, ODDparity and EVenparity, are combined to produce four conditions for terminal devices TTY, QTTY, and MTTY. These are listed in the following table (where "+" means enabled and "-" means disabled). EVenparity ODDparity Function - - does not check parity but strips parity bit + - checks for even parity before stripping parity bit - + checks for odd parity before stripping parity bit + # o input buffer flow control) + treat CNTRL-C and SIGChar key as regular input + no checking or changing of input parity bit + no delays after any output control chars such as tabs + no echoing of input + no function key decoding + no character transformations + (i.e., ignore the LCase, CRDEVice, and TABexpand settings) SIGenable, SIGChar, and SIGALLchars If SIGenable is on but SIGALLchars is off, pressing the SIGChar key will cause terminal dethe root directory. A file system which has been mounted must be unmounted by use of the Unmount utility before the mounted disk is removed from the system. If this is not done, the integrity of the data on the mounted system cannot be assured. Options The -r option causes the file system to be mounted for read only access. program running in a non-detached mode which does not either ignore them or trap them will be aborted by a SIGUSER signal. (The .SIGNAL system call provides means for ignoring or trapping signals.) TABexpand If TABexpand is on, every tab character (hexadecimal 09) output will be converted to enough spaces to bring the output to the next column divisible by 8. Width The Width function specifies the number of columns which will be displayed before truncation or wrap-around. If Width = 0, nd and the Move program will be aborted. The -t option causes a file to be moved only if: 1. the file does not exist in the destination directory, or 2. the source file has been modified more recently than the destination file. This comparison is performed on a file by file basis. The -v option causes the names of the files being moved to be displayed. lists the currently mounted devices. A device may require a password before it can be mounted. To implement password protection, place an entry in the /etc/passwd file. This entry should include the user name mount and a password. Refer to the Passwd utility for additional information. Example: % create newfilesys % mount fdb newfilesys % l . . 145 D newfilesys % In on and) a user or device name and a RETURN, a message may be entered. The message will be transmitted to the destination user after each RETURN is depressed. A CNTRL-Z will terminate the message and return the originating user to the Shell. Two way communication may be established by the Msg utility. When one user receives a message: Message from xxxx that user should type: msg xxxx This will allow both users to send messages to each other. vices TTY, QTTY, and MTTY to send a SIGUSER signal to all processes controlled by the terminal. The SIGChar key character will not be put into the input stream. If SIGenable is off, then the SIGChar key is treated like any other key. A process is controlled by a terminal if it was the terminal with which the user who owns the process logged in. If SIGenable and SIGALLchars are both on, then pressing the SIGChar key will cause the SIGUSER signal to be sent to all processes controlled by the termiMOVE CROMIX Instruction Manual MOVE utility: MOVE purpose: This program moves file(s) from one directory into another. user access: all users summary: move [-ftv] file-list dirname [-ftv] srcfile destfile arguments: list of filenames and a directory name or source file and a destio truncation or wrap-around occurs. WRAParound If WRAParound is on, and the device output column reaches the page Width, an extra newline will be output so that the remainder of the output line will be printed on the next device line. If WRAParound is off, the remainder of the line will be truncated when the column reaches the page Width. If Width = 0, no truncation or wrap-around occurs. MSG CROMIX Instruction Manual MSG utility: MSG purpose: This program allows messages to be sent between users. user access: all users summary: msg [-any2] [user or dev name] arguments: text terminated by CNTRL-Z options: -a all -n disable -y enable -2 Cromemco  the above example, the user first created a dummy file. After mounting, the name of this dummy file will become the directory name of the root directory of the file system which is mounted. After unmounting, this name will revert to being a dummy filename. The Mount command was given with the device name (refer to Appendix E for a complete list of device names) of the location of the file system. The L utility shows that the new file system has been mounted and gives the name of  In the above example, xxxx represents a user name. If two way communication is established, it is recommended that a protocol be established to prevent the confusion which can arise when two messages are transmitted simultaneously. One suggested protocol follows: One user transmits at a time. A single o (short for over) is transmitted as the only character on a line to indicate the end of the message. Upon seeing the o, the other user responds, terminating the message with an onal, but the SIGChar key character will also be put into the input stream. If SIGALLchars is on but SIGenable is off, then every terminal keystroke which is pressed before a system call to read input has been made, will cause the SIGUSER signal to be sent to all controlled processes. (Only characters typed-ahead will send signals.) The characters will also be put into the input stream. Note that Shells are set up to ignore SIGUSER signals, so a user will not be logged off by them. However any nation file options: -f force -t time -v verbose Description The Move program will move one or more files from one directory to another directory. This program destroys the source file(s). Options The -f option causes the file which is moved to overwrite another file with the same pathname (if one exists). If this option is not invoked and another file exists with the destination pathname, an error will be generateMOUNT CROMIX Instruction Manual MOUNT utility: MOUNT purpose: This program enables access to a file system. user access: all users summary: mount [-r] devname dummyname arguments: device name file pathname options: -r read only Description The Mount utility program enables access to a file system. When given without any arguments, Mount 3102 terminal Description The Msg utility allows messages to be sent between users or from a user to a device. Sending a message to a device could be useful if a terminal was on line but no user was currently logged on. If msg is typed and followed immediately by a RETURN, then a message will be displayed which will inform the user of the status of incoming messages. Incoming messages may be disabled by the use of the -n and -y options. When msg is followed by (optionally the -2 opti# . When the entire communication is finished, one user should transmit oo (short for over and out) followed by a CNTRL-Z. The other user should type a CNTRL-Z also. Options The -a option causes a message to be sent and broadcast to all users. The -n option causes incoming messages to be disabled. The -y option allows incoming messages to be received. The -2 option sends messages to the status line of a Cromemco 3102 terminal. Notes To clear the status line of a Cromemco 3102 terminag section carefully. If you are updating a previous version of the Cromix Operating System then you may skip the next four pages by pressing the space bar 4 times. Throughout this note "version 10" refers to any version of the Cromix Operating System with a version of the form "10.xx", and "version 11" likewise refers to any version of the form "11.xx". Information for new users of the Cromix Operating System -------------------------------------------------------- First, input the dTopic ? ------ MORE %d%% ------ ------ PRESS SPACE BAR TO CONTINUE ------ ------ COMMANDS: Begin Help Quit Return Up ------  and type Q) when you're ready to continue. Current Cromix documentation ---------------------------- The current Cromix documentation consists of the manual, Cromemco Cromix Instruction Manual, 023-4022, June 1982 and the following Software Update Service Notes: Cromix-2 Part number 0233-9511 This note describes the differences between Cromix version 10 and version 11.05. There are important differences so you should read it if you are still using Cromix versionectory and all subdirectories. If no arguments are supplied, Ncheck uses the / directory. Options The -i option displays information about the specified inodes only. y disk D sfdd = small floppy disk D The "newdisk" command file will first execute the Init program. Init will prompt the user to determine which disk is to be initialized. Respond to this prompt with the correct disk drive name from the preceding list. Be sure to properly specify the correct disk drive as all data on the specified disk will be destroyed. All other questions may be answered by pressing the RETURN key as a response (thereby supplying the default answl (after receiving a message which was transmitted using the -2 option), type CNTRL-shift followed by CNTRL-1. ate and time as prompted. Note that each response must be terminated by depressing the RETURN key. Respond to the "Login:" prompt with the user name "system" to be a privileged user (to be used while copying this disk, for example) and the user name "user1" or "user2" to be a non-privileged (or ordinary) user. Following this you will get the Cromix Operating System prompt (#). At this point you can enter commands and converse with the system. Refer to the Cromix Opermsg2.msgncheck.hlpnewuser.hlppasswd.hlppatch.hlppath.hlppriority.hlppriv.hlpprompt.hlppstat.hlpqslpt.hlpquery.hlprename.hlprepeat.hlprestore.hlprewind.hlp 10. Cromix-3 Part number 023-9516 This is a short note listing a few known problems with Cromix version 11.05 and the August 1981 manual. Cromix-4 Part number 023-9532 This note describes the differences between Cromix version 11.05 and version 11.10. Cromix-5 Part number 023-9540 This note describes the differences between Cromix version 11.10 and version 11.11. Copying the distribution diskette --------------------------------- To make a copy of this dNEWUSER Information for New Users of the Cromix Operating System NEWUSER This note contains information for both new users of the Cromix Operating System and existing users who are updating their systems to version 11.11. Existing users should read the Software Update Service Notes Cromix-4, part number 023-9532, and Cromix-5, part number 023-9540, for a description of the new features and changes of this version. If you are a new user of the Cromix Operating System, then read the followiners). The "newdisk" command file will then execute several other programs and display the message "Finished creating disk fdx" when the new disk is completed. Note that "newdisk" may be executed only by privileged users. Updating from version 10 to version 11.11 ----------------------------------------- If you are still using Cromix version 10 then please read the Software Update Service Note Cromix-2 before attempting to update to version 11.11. Among otTopic ? dP%d%% MOREd@ dPPRESS SPACE BAR TO CONTINUEd@ dPCOMMANDS: Begin Help Quit Return Up d@ ating System manual for additional information. In particular, read the sections on passwords, groups, and accounting to learn how to change the login names and add password protection to them. The preferred mode of operation is as a non-privileged user. Note that the Cromix Operating System sometimes displays one full screen of information and then the terminal beeps. If this happens while you are viewing terminal output, simply press CNTRL-Q (hold the CNTRL key downNCHECK CROMIX Instruction Manual NCHECK utility: NCHECK purpose: This program displays file information. user access: all users summary: ncheck [-i # # ...] [dirname or filename] arguments: directory or file pathname options: -i inodes Description The Ncheck program displays the inode number, link count, and pathname of all files contained in the specified dirisk, type the command "newdisk" in response to the Cromix Operating System Prompt (#). The command "newdisk" must be followed by the name of the drive on which the new disk is to be created. The permitted names of the disk drives are: fda = large floppy disk A sfda = small floppy disk A hd0 = 1st hard disk fdb = large floppy disk B sfdb = small floppy disk B hd1 = 2nd hard disk fdc = large floppy disk C sfdc = small floppy disk C hd2 = 3rd hard disk fdd = large flopp$ her important changes, the password encryption scheme has changed, which means that Cromix 11.11 will not recognize any passwords that you might be using with version 10. This will prevent you from logging on to your newly-updated diskette unless you have first run version 10 and removed all passwords from the /etc/passwd file. You may use the Passwd program to add passwords as desired once your system has been updated to version 11.11. Other major differences betweengram permits you to specify a default root device without running the crogen program. Please read more about the crogen and default programs in Chapter 9 of the Cromix Instruction Manual. Configuring your Cromix system for multiple users ------------------------------------------------- The Cromix operating system is a multi-user, multi-tasking operating system, which means that it can accommodate more than one user and that each user can run one or more programs.d execute the Update command (followed by a block device name -- see the "newdisk" description above). Do NOT mount the old disk to the new file system. This method will not preserve many of your old Cromix files. You can also do the updating manually with the copy and cptree programs; however, this is not recommended. Configurations of system files on distribution diskettes -------------------------------------------------------- The cromix.sys file in the root (i.ePASSWD CROMIX Instruction Manual PASSWD utility: PASSWD purpose: This program can be used to change the passwd and group files. user access: all users summary: passwd [-dgn] [user1 user2...] arguments: user1 user2... options: -d delete -g group -n new user Description The Passwd utilitrivileges yes Configuring your own Cromix.sys file ------------------------------------ Cromix version 11 contains a facility for generating your own Cromix operating system which can contain different device drivers than those supplied as part of the standard Cromix. The program for doing this is called "crogen" and is located in the /gen directory along with the libraries needed. The utility program default.bin is also located in the /gen directory. This pro Name: fred Password: xxx User number: 5 Group number: 0 Directory: /usr/fred Starting Program: Name: # The Passwd program first prompts for a user name. The response to this prompt is the user name which the user will type in response to the Login prompt when logging in. Don't forget to type RETURN after entering the name. Next, the program prompts for the user pa the Cromix version 10 and version 11 occur between the contents of the new and the old /bin and /dev directories. Devices in version 11 have associated with them both a major and minor device number; hence, Cromix version 11 requires a completely new /dev directory. You can preserve your old /dev directory by renaming it to "/olddev". Many of the Cromix version 11 bin (executable) programs will not execute correctly and differ from their equivalents under Cromix  The Cromix system as supplied on distribution diskettes is not fully configured for multi-user operation because of the many hardware configurations possible with Cromemco products. You can reconfigure your system for multi-user operation on your specific hardware configuration quite easily by following the procedures described in Chapter 6 of the Cromix manual, "Booting and Setting up the Cromix Operating System"; Appendix A, "Setting up - Hardware"; and Appendix B, ., /cromix.sys) was generated to have the following configuration: 1 console (tuart) yes 2 console (quadart) no 3 system yes 4 timer yes 5 parallel printer yes 6 typewriter printer yes 7 serial printer (tuart) no 8 IOP memory no 9 serial printer (quadart) no 10 SDI no 11 tape no Block drivers 1 floppy yes 2 hard disk yes Default root device yes Boot disk yes Automatic login name no Default access privileges yes The cromix.iy has three functions. It may be used by any user to change that user's own password. It may be used by a privileged user to add and delete users from the list of users who may log on to the system. By using the delete function followed by the add function, the privileged user may change the log on status of any user. In any one of the three modes of operation, the user name(s) may be specified either on the command line or during the execution of the Passwd program. If only the pass~ssword. If no password is desired, type a RETURN in response to this prompt. Notice that the password is never displayed on the console. When a privileged user is entering a password while running the Passwd program, the password encryption is displayed after the password and RETURN have been entered. When a user is logging on, nothing is displayed when the password is entered. In the above example, the password mountain was typed in response to the Password: prompt. The Passwd p version 10. Again, you can preserve your old bin directory if you wish by renaming it to "oldbin" and copying the Cromix version 11 bin programs to a new /bin. The next section describes what you may do to update to version 11.11 once you have done the preceding things. Updating from an older version 11 system to version 11.11 --------------------------------------------------------- The easiest way to update your present Cromix system is to boot up this new disk an "Connecting Terminals with the IOP/Quadart". op.sys file in the root (i.e., /cromix.iop.sys) was generated to have the following configuration: 1 console (tuart) yes 2 console (quadart) yes 3 system yes 4 timer yes 5 parallel printer yes 6 typewriter printer yes 7 serial printer (tuart) no 8 IOP memory yes 9 serial printer (quadart) yes 10 SDI no 11 tape no Block drivers 1 floppy yes 2 hard disk yes Default root device yes Boot disk yes Automatic login name no Default access pword is to be changed, enter the command passwd followed by a RETURN. The Passwd program will then prompt for a user name and a new password. Establishing a New User A new user may be added by means of the Passwd program. In the following session the user logs on as the privileged user system and then creates a new user fred with a secret password mountain: Login: system Logged in system Jun-24-1980 17:12:15 on console # passwd -n $ rogram then displayed the password encryption. The next two prompts are for the user and group identification numbers. Each of these fields is an unsigned integer between 0 and 65535. A zero in the user field indicates a privileged user. A zero in the group field indicates that the member is not a member of any group. Any other number only has significance within a given system. The Directory: prompt allows the specification of an initial directory. This will be the user's current dthe extension cmd options: none Description The Path command will search the current directory for the file with an extension of bin, com, or cmd. It will then search the /bin directory for a bin or com file and the /cmd directory for a cmd file. ogram will allow the privileged user to change any user's password and will allow any user to change his or her own password. To change a password, call the passwd program as follows: % passwd Name: fred Password: xxx Name: Notice that once again the password encryption is displayed only after the password and a RETURN have been entered. Changing the User Characteristics If the privileged user has occasion to changeority of 0. If a command line is given as an argument, then the specified priority applies to the process(es) initiated by the command line. If no command line is given, the priority applies to the current Shell and all children of the current Shell which are created after execution of the Priority command. If Priority is executed for a second time without a command line, the new priority will only affect subsequent children of the Shell. Notes If the Priority command is note, and e for exit. These commands function in a manner similar to the Cromemco Debug program. d execution of the utility is aborted. If the user named system is found and if there is a password associated with the user, the Priv utility prompts for the password. If the user responds with the correct password or if there is no password associated with the user system, a new Shell is formed in which the user has the status of a privileged user. Upon exiting from the newly created Shell, the user's previous status is reinstated. irectory immediately after logging on. If this directory does not exist when the user logs on, the root directory will be the user's current directory. Finally, the Passwd program prompts for a Starting program:. If a RETURN is typed in response to this, the user will have full use of the Shell program. If the name of a program is entered here, the user will be brought up running the specified program and will be logged out upon exiting from the program. Any valid Shell command line may PRIORITY Cromix Instruction Manual PRIORITY Shell command: PRIORITY purpose: This command changes the priority of a process. user access: all users (priorities 0 through 40) privileged user (priorities 40 through -40) summary: pri [priority-number][command-line] arguments: priority number (optional) command line (optional)  user characteristics other than the password, the user must be deleted and added again with the new characteristics specified. Options The -d option causes the specified user(s) or group(s) to be deleted. The -g option causes the /etc/group file to be altered (instead of the /etc/passwd file). The -n option causes new user(s) or group(s) to be added.  used, a process has (by default) a priority of 0. PATH CROMIX Instruction Manual PATH Shell command: PATH or PA purpose: This command finds the full pathnames of a file. user access: all users summary: path file-list arguments: bin filename less the extension bin or com filename less the extension com or cmd filename less PROMPT CROMIX Instruction Manual PROMPT Shell command: PROMPT purpose: This command changes the prompt. user access: all users summary: prompt [char] arguments: any character options: none Description The Prompt command changes the prompt. Char is the new character which the Cromix Operating System will use as a prompt. This must be a sbe entered in response to this prompt. Deleting a User A user may be deleted from the list of users (/etc/passwd file) by running the passwd program with the -d option. In the following example, the user fred who was established above, will be deleted: # passwd -d Name: fred Name: RETURN # Note that only the privileged user may delete a user. Changing a Password When called without any options specified, the Passwd pr options: none Description The Priority command establishes the priority of a process. Priority numbers range from -40 (highest) to +40 (lowest). The highest priority a nonprivileged user can specify is 0, the lowest is 40. The highest priority a privileged user can specify is -40. If the Priority command is executed and a priority number is not specified, a default value of 10 is assumed. All processes which are run without using the Priority command are assigned a priPATCH CROMIX Instruction Manual PATCH utility: PATCH purpose: This program patches files. user access: all users summary: patch filename arguments: filename options: none Description This program will display and alter specified bytes within a file. The Patch utility prompt is the greater-than sign (>). The three Patch commands are d for display, s for substitutPRIV CROMIX Instruction Manual PRIV utility: PRIV purpose: This program allows any user to have the status of a privileged user. user access: all users summary: priv arguments: none options: none Description The Priv utility examines the /etc/passwd file for a user named system. If this user is not found, an error message is displayed an% ingle character. If no character is specified, the prompt will be changed to the pound sign (#) for the privileged user and to the percent sign (%) for any other user. Notes Changing the prompt from a percent sign to a pound sign does not give a user the privileges of a privileged user. ables included in the drivers as shipped are as follows: db 'SEQ' ; marker for command sequence tables seqtbl2p: dw seqtbl2 ; address of table-2 seqtbl1:; table for the initial characters of command sequences db ESC ; db ^CMDSEQ|^CSBEGIN ; may be a 2, 3, or n-character seq db DC2 ; db ^CMDSEQ|^CSBEGIN|^CSNXLAST; 2-character sequence db DC4 ; db ^CMDSEQ|^CSBEGIN|^CSNXLAST; 2-character sequence db 80H ; end of table seqtbl2:; tabluted bank memory bank in which the process resides command line the command line which invoked the process Options The -a option causes the status of all processes to be listed. If the -a option is not selected, only those processes with the id of the user giving the Pstat command will be displayed. The -b option causes a brief display of the statuses. The -l option causes a long list of the statuses to be displayed. QUERY CROMIX Instruction Manual QUERY utility: QUERY purpose: This program displays a short description of a specified utility program or Shell command. user access: all users summary: query [-s] [name] arguments: one or more names of utility programs or Shell commands options: -s search Description Ththe printer. These tables may be located in the driver by searching for the ASCII string 'SEQ' which immediately precedes the hexa- decimal address of the second table. The first table follows this address. The first table describes the characteristics of the first character of a command sequence. The second table describes the characteristics of the second character. Each entry in these tables consists of the ASCII character followed by a data byte. The byte 80H is used to denote the end of sr/help/query_data as a database. Options The -s option searches the file /usr/help/sys_data for system calls related to the name given before searching /usr/help/query_data. Example: The following example demonstrates the use of the Query program. % query delete query_data delete - removes a file or directory from a file system deltree - deletes a directory and its descendents passwdPSTAT CROMIX Instruction Manual PSTAT Shell command: PSTAT or PS purpose: This command displays the status of a process. user access: all users summary: pstat [-abl] arguments: none options: -a all -b brief display -l long display Description The Pstat command displays the following information e for the second characters of command sequences db ';' ; db ^CMDSEQ|^CSLAST ; this is the last char in the sequence db ':' ; db ^CMDSEQ|^CSNXLAST ; this is the next-to-last char in seq db '1' ; db ^CMDSEQ ; NUL-terminated sequence db '2' ; db ^CMDSEQ|^CSNXLAST ; this is the next-to-last char in seq db '3' ; db ^CMDSEQ ; NUL-terminated sequence db '4' ; db ^CMDSEQ|^CSLAST ; thiAn option has been added to the SLPT and QSLPT drivers. As before, if the minor device number is less than 128, the driver uses the XON/XOFF protocol. I.e., if the printer sends the driver an XOFF character, the driver will suspend output to the printer until the printer sends it an XON character. Now, however, if the minor device number is at least 128, the driver uses an ETX/ACK protocol. After outputting 60 characters to the printer, the driver normally sends the printer an ETX character, ane Query program searches a file containing one line descriptions of all of the utility programs and Shell commands for the name given as an argument. When using Query without an argument, a listing of all of the one line descriptions of utilities and Shell commands will be displayed. Since the list is long, the terminal will beep throughout the list as the screen becomes full. To continue viewing the list, enter CNTRL-Q. CNTRL-Q is entered by holding down the CNTRL key andthe tables. Command sequences may be 2- or 3-characters long. They may also be of indefi- nite length. These latter are terminated by an ASCII NUL (00). An entry's data byte determines the characteristics of the command sequence according to the following bits: CMDSEQ equ 4 ; this character is part of a command sequence CSBEGIN equ 5 ; beginning of a command sequence CSNXLAST equ 6 ; this is the next-to-last character CSLAST equ 7 ; this is the last character The command sequence t - changes a user password, adds or deletes a user In the above example, the Query program has displayed all of the descriptions of Shell commands and utility programs that contain the word delete in their one line descriptions. on the status of a process: PID process identification number state state of process: Sleeping Ready Terminated user id # group id # Ctty controlling tty, the tty of the user or user's process(es) Seconds number of seconds the process has execs is the last char in the sequence db '5' ; db ^CMDSEQ|^CSLAST ; this is the last char in the sequence db '6' ; db ^CMDSEQ|^CSLAST ; this is the last char in the sequence db '7' ; db ^CMDSEQ|^CSLAST ; this is the last char in the sequence db '8' ; db ^CMDSEQ|^CSNXLAST ; this is the next-to-last char in seq db '9' ; db ^CMDSEQ|^CSNXLAST ; this is the next-to-last char in seq db 80H ; end of table d suspends further output until the printer responds by sending the driver an ACK character. The exception to this rule which is described below. Certain sequences of characters are reserved as command sequences by some printers. For example, sending an ESC character followed by ';' to one printer sets its width to 132 columns. The driver must not send its ETX in the middle of one of these sequences. The driver includes a pair of tables whose function is to describe the com- mand sequences of  simultaneously typing Q. The Query program will consider names that are part of other keywords. When the name fil is given, Query will find all occurrences of the name file as well. This is useful when the correct spelling of a name is unknown. After using Query to find the name of the command desired, additional information can be obtained by entering help, followed by the name of the command. For further details refer to the Help utility. The Query program uses the file /u% RENAME CROMIX Instruction Manual RENAME Shell command: RENAME or REN purpose: This command changes the name and/or directory of a file. user access: all users summary: ren oldfile1 newfile1 [ ... oldfileN newfileN] arguments: one or more pairs of file pathnames (existing pathname first, followed by new pathname) It nullifies the effect of any Shift commands given within the batch file. After the execution of the Rewind command, #1 will represent the first argument with which the command file was called, #2 the second, etc. ples: % repeat 5 echo "this line will be displayed five times" this line will be displayed five times this line will be displayed five times this line will be displayed five times this line will be displayed five times this line will be displayed five times % Notes The Repeat command is terminated by a semicolon and any command(s) following a semicolon will only be executed once. RUNQD CROMIX Instruction Manual RUNQD utility: RUNQD purpose: This program is used to switch from using the standard 16FDC or TU-ART console to using a console connected to the IOP/Quadart. user access: privileged user summary: runqd arguments: none options: none Description The Runqd program performs the seore filenames are specified, the specified files will be restored into the current directory. If the optional file list is included, only files with names exactly matching those in the file list will be restored. Options The -l option lists the names of all of the files which are backed up on the set disks. It may only be used with the first (number 1) disk in a set of backup disks. The -v option causes the names of the files to be displayed as they are restored. RUNTU CROMIX Instruction Manual RUNTU utility: RUNTU purpose: This program reconfigures a system to run with a 16FDC or TU-ART console from a Quadart/IOP console configuration. user access: privileged user summary: runtu arguments: none options: none Description The Runtu program reconfigures a system to run w options: none Description The Rename command will change a filename and/or the directory in which it is located. This command will not move a file from one device to another. root.hlprunqd.hlpruntu.hlpscreen.hlpshell.hlpAshift.hlp@shutdown.hlp?sim.hlp>sleep.hlp=slpt.hlpsort.hlp t fred 36 5:5 prt 5 2 95 1 u fred 37 5:5 prt 5 2 107 1 w fred 38 5:5 prt 5 1 42 1 x eged user. In a similar manner, only the privileged user or the user who added a file to the printing queue can delete the file from the queue (by use of the kill option). Any user can list all of the files in the printing queue by using the la (list all) option. Ambiguous file references must be used with caution. When an ambiguous file reference is expanded, it generates a list of file names which match files in the current directory. An ambiguous file reference will work prnt file, 2. name of user requesting printing job, 3. sequence number of printing job, 4. destination device of printing job, 5. priority of printing job, 6. pages in printing job, 7. lines in printing job, and 8. copies to be printed. A privileged user always gets a list of all jobs in the printing queue. The -la option causes all printing jobs  xxx is the device name of the printer being spooled to (usually prt). This will also restart the spool at the beginning of the interrupted print job. The third method (least satisfactory) is to delete all spool jobs using the command line: # spool -qa and then respool all unprinted jobs. Options The -d option causes all specified files to be added to the spool queue and deleted from the directory in which they reside. This option may include a device name, and it fied by the pathname will be added to the printing queue. A device name may be specified. Notes If more than one option is used, and one (or more) of the options requires an argument, then the syntax of this example should be followed. spool -hv -m 3 -p 1 filename The options which do not require arguments (h and v above) should be grouped, preceded by a dash (-), and followed by a space. This group should be followed by the option(s) which do require arguments. '  fred 39 5:5 prt 5 2 115 1 y fred 40 5:5 prt 5 2 115 1 z fred 41 5:5 prt 5 3 160 1 The arrow at the upper left of the listing indicates that the file t is currently being printed. All of the jobs have a priority of five because no priority was indicated when the jobs were put in the queue. Next we will change the priority of file y to 2 and change the priority of the file with the sequence number 39 (file xurrence of the strings YES, OUI, or SI. If the file contains one of thesestrings, then the system will be shut down using the kill command. If the file temp did not contain an occurence of any of the strings mentioned above, then testinp would set an error code and the following if command would pass execution to the label noshutdown, skipping the kill command. In other words, if the user of the program answered no to the question generated, then the system would not be shut down. The lof the report pay7000. % spool -h m 3 pay7000 will print 3 copies of pay7000 with one header page at the beginning of each copy. % spool -m 3 h pay7000 will generate an error, as will % spool m 3 pay7000 A pipe can be used to redirect output from a program to the printer. The following command line will generate a list of the current directory on the printer. % l | spool me program displays or changes the time and date. If no arguments are given, the current date and time are displayed. If the -s option is used, the user will be prompted for the date and then the time. Although the date is displayed with the "/" separator, and time is displayed using the ":" separator, any convenient separator character (such as a space or a period) can be used when entering the date and time. Options The -s option allows the user to set the system clock. The -eill match a string that is in upper,lower, or mixed case. The -f option will check only the first character of the file passed as an argument against the first of each of the control strings. The -d option will delete the file passed as an argument after the test. This option is useful in many command files that use a temporary file created during the execution of the command file. Refer to the (on-line) manual entry on the utility input for information on its use in command filder is referred to the Dump utility for information on displaying other types of files. ) to 3. Then we will delete the file u from the queue by use of the -k option. Finally, we will add a message to the printing queue by use of the message option and display the revised printing queue. % spool -c 2 y % spool -c 3 39 % spool -k u % spool this is a message ^Z% spool -l Filename User Seq Device Pri Pages Lines Copies -> t fred 36 5:5 prt 5 2 95 1 ast line deletes the file temp created by the input utility on the second line of the command file. If the -d option had been used with testinp, then the temporary file would have been deleted automatically by the testinp program after the test had been made. TESTINP Cromix Instruction Manual TESTINP utility: TESTINP purpose: This program tests the contents of a file for a particular string or strings. user access: all users summary: testinp [-dfr ] file string1 [string2 ... ] arguments: One file name followed by one or more strings consisting of one or more characters options: -d deletes the file passed as an argument after the test -f compares the first character of th option causes the time to be displayed in the European style, with the day and month reversed. The -s2 option allows the user to set the clock on a 3102 terminal. Notes The 3102 clock may be set by the -s2 option, but is not utilized by the Cromix Operating System. es. Example echo "Do you want to shut down the system? " input > temp testinp temp YES OUI SI if -err goto noshutdown kill -2 1 %noshutdown del temp The above example is a typical command file that uses testinp and input. The first line sends the string within the quotes to the standard output. The second line uses the utility input to send the user's response to the file temp.On the third line testinp is used to test the contents of the file temp for the occUNMOUNT CROMIX Instruction Manual UNMOUNT utility: UNMOUNT purpose: This program disables access to a file system. user access: all users summary: unmount devname [-x] arguments: device name options: -x no disk eject Description The Unmount utility program disables access to a file system. A file system which has been mounted must be unmounted by use of the Unmo y fred 40 5:5 prt 2 2 115 1 x fred 39 5:5 prt 3 2 115 1 w fred 38 5:5 prt 5 1 42 1 z fred 41 5:5 prt 5 3 160 1 ---- fred 42 5:5 prt 5 1 2 1 Remember that a message must be terminated by a CNTRL-Z which will echo to the console as ^Z. To spool multiple copies of a job, the -m option is used. Example: % spool -m 3 pay7000 will print 3 copies TIME CROMIX Instruction Manual TIME utility: TIME purpose: This program displays or alters the time and date. user access: all users summary: time [-s -e -s2] hour minute second arguments: optional hours, minutes, and seconds options: -s set -e European style display (dd/mm/yy) -s2 set 3102 clock Description The Tie file to the first character of each of the strings. -r Sets the error code when a match occurs Description This utility compares the contents of a file with a string or strings and sets an error return code if the strings do not match the contents of the specified file. The -r option reverses the sense of testinp by setting the error code if a match does occur. The test made by testinp is case insensitive; a test string can be in upper,lower, or mixed case and wTYPE CROMIX Instruction Manual TYPE Shell command: TYPE or TY purpose: This command displays a file in ASCII. user access: all users summary: ty file-list arguments: one or more file pathnames options: none Description The Type command will display the file(s) specified by the pathname(s). Type may be used only to display ASCII (text) files. The rea( unt utility before the mounted disk is removed from the system or the system is powered-down. If this is not done, the integrity of the data on the mounted system cannot be assured. Options The -x option causes a floppy disk not to be ejected when it is unmounted. he specified process id (PID) has terminated. If the process id (PID) is not specified, Wait will suspend execution of the current process until all other detached processes which belong to that user have terminated. y and all of its descendant directories and files. If only a single file is specified, then the size of that file will be reported. If no pathname is given, the current directory will be assumed. Knowing the number of blocks occupied by a directory is useful when using the copy tree (Cptree) utility. WHO Cromix Instruction Manual WHO utility: WHO purpose: This program displays a list of users who are currently logged in. user access: all users summary: who arguments: optional /etc/account or optional am i options: none Description When the Who utility is called without any arguments, the /etc/who file is examin appearing in an entry indicate that the file is a Relocatable Binary file. This type of file may share a bank of memory with another process. Options The -v option causes the pathname of a file to be printed. UTILITY PROGRAMS and SHELL COMMANDS Cromix Instruction Manual access - changes access privileges of a file backup - backs up a directory and its descendant files blink - links files together, used with the Crogen utility boot - loads an operating system into memory and begins execution cdoscopy - copies files to and from a CDOS disk chowner - changes the owner or group of a file cmpasc - compares 2 text files compare - compares 2 files (any type) copy - copies a file cpusage.hlp6version.hlp5wait.hlp4wboot.hlp3who.hlp2WBOOT CROMIX Instruction Manual WBOOT utility: WBOOT purpose: This program initializes the boot track of a floppy disk. user access: all users summary: wboot devname arguments: device name options: none Description The Wboot utility will write the contents of the /etc/fdboot (large floppy disk) or /etc/sfdboot (small floppy disk) file tVERSION CROMIX Instruction Manual VERSION utility: VERSION purpose: This program displays the version number of the Cromix Operating System or a utility program. user access: all users summary: version [file and/or directory list] arguments: optional file and/or directory list options: -v verbose Description When called without any aed and a report is displayed showing the users who are currently logged on together with the time each one logged on. When followed by am i, the name of the user calling the Who utility is displayed. If the file /etc/account exists and the Who utility is called, followed by this pathname, the information contained in the account file will be displayed. WAIT CROMIX Instruction Manual WAIT Shell command: WAIT purpose: This command suspends execution and waits for the PID specified to terminate. user access: all users summary: wait [PID] arguments: optional PID number options: none Description The Wait command causes the Cromix Operating System to suspend operation until ttree - copies a directory and its descendents to another directory create - creates a file crogen - generates a Cromix Operating System day - executes a command on the specified day dcheck - checks the internal structure of a directory default - sets the default root device and login name delete - removes a file or directory from a file system deltree - deletes a directory and its descendents directory - changes or displays the current directory dump - displays the contentUSAGE CROMIX Instruction Manual USAGE utility: USAGE purpose: This program displays directory size information. user access: all users summary: usage [file-list] arguments: directory or file pathname(s) options: none Description The Usage utility will display the physical disk space in blocks and the logical file space in bytes which is occupied by a directoro the boot track of the disk in the specified device. This, together with the cromix.sys file in the highest level directory of the same disk, will allow the disk to be used to boot the Cromix Operating System. rgument, the Version utility will display the version of the Cromix Operating System which is being run. When called with the name of a utility program, Version will display the version number of that utility. When called with a directory name, Version will display the version number of each of the programs in the directory. The following command will display the version numbers of all of the programs in the /bin directory. % version /bin The characters RB jsys_datafmode_dataetmode_datacquery_data1sys_data0( s of a file in hexadecimal echo - sends its argument to the console exit - exits from a Shell and/or logs the user off find - finds files free - displays the amount of unused space on a device goto - transfers control within a command file help - displays the online manual icheck - checks the integrity of a file system idump - displays the contents of an inode if - executes a command within a command file conditionally init - initializes a disk by erasing all data on SYSTEM CALLS Cromix Programers Manual SYSTEM CALLS .alarm - sends an alarm signal after a specified number of seconds .caccess - tests channel access .cchstat - changes access privileges .chdup - duplicates a channel .chkdev - checks for the presence of a device driver .clink - establishes a link to an open file .close - closes a file .create - creates and opens a new file .cstat - determines the status of an open file .delete - deletes a directory entry .divd - divides ones the user status to that of a privileged user prompt - changes the prompt to the specified character pstat - displays the status of a process query - locates Shell commands and utility programs rename - changes the name of a directory or a file repeat n - repeats a command n times restore - restores data saved by the Backup utility rewind - restores arguments in a command file to original positions root - displays the device containing the root directory runqd - reconfigur - creates a new directory .mount - enables access to a file system .mult - multiplies one number by another .open - opens a file for access .pause - suspends execution and waits for a signal .pipe - creates input and output chan. for interprocess communication.printf - outputs a formatted string to a specified file .rdbyte - reads the next sequential byte from an open file .rdline - reads a line .rdseq - reads the next specified number of bytes .setdate - changes the Cromix c lists the users presently logged in < - redirects the standard input from a file > - redirects the standard output to a file >* - redirects the standard output and standard error to a file >> - appends the standard output >>* - appends the standard output and standard error to a file >< - sequentially pipes the standard output only ><* - sequentially pipes the standard output and standard error | - pipes the standard output only |* - pipes both the standard output and stsequence_number/it kill -1 1 - consults the ttys file for changes kill -2 1 - kills all processes and shuts down the system kill 0 - kills all detached processes started from your terminal kill n - sends a kill signal to process number n l - lists information about a file mail - handles mail between users makdev - creates a device file makdir - creates a directory makfs - makes a file system maklink - makes a link to a file match - finds all occurrences of string in a file mode -e number by another .error - displays an error message .exec - executes a program .exit - exits from a process .faccess - tests file access .fchstat - changes the status of a file .fexec - forks and executes a program .flink - establishes a link to a file .fshell - forks a Shell process .fstat - determines the status of a file .getdate - returns the current date from the system clock .getdir - returns the pathname of the current directory .getgroup - returns the group id .geres the system to use an IOP/Quadart console channel runtu - reconfigures the system to 16FDC console channel screen - calls the Screen Editor for editing files shell - creates a Shell process shift - shifts arguments within a command file shutdown - shuts down the Cromix Operating System sim - allows CDOS programs to run under the Cromix Operating System sleep n - puts a process to sleep for n seconds sort - sorts or merges files spool - spools files to a printer tee - T lock to the specified date .setdir - changes the current directory .setgroup - changes the group id of the current process .setmode - changes the characteristics of a character device .setpos - changes the file position pointer to the place specified .setprior - changes the current process priority .settime - changes the system clock to the specified time .setuser - changes the user id .shell - transfers execution to a Shell process .signal - sets up to receive a signal .trunc - truandard error .. - refers to home directory  displays or alters the mode of a device mount - enables or displays access to a file system move - moves a file from one directory to another msg - sends a message to another user ncheck - displays file information newdisk - copies the contents of the root device to a blank disk newuser - displays the contents of an information file passwd - changes a user password, adds, or deletes a user patch - patches files path - shows the path to a specified command priv - changtmode - returns the characteristics of a character device .getpos - returns the logical position of the file pointer .getprior - returns the priority number of the current process .getproc - returns the process id of the caller's active process .gettime - returns the current time of the system clock .getuser - returns the user id .indirect - executes the system call .kill - sends a signal to a process .lock - assists in locking records .makdev - creates a new name for a device .makdipipes output to a file as well as the standard output time - displays or alters the time type - sends the contents of a text file to the standard output unmount - disables access to a file system update - updates a disk with a newer version of Cromix usage - displays directory size information version - displays the version number of the Cromix Operating System wait - waits until all detached processes have finished wboot - initializes the boot track of a floppy disk who - ncates an open file .unlock - assists in unlocking records .unmount - disables access to a file .update - updates all current files with the contents of their buffers .version - returns the system version number .wait - waits for the termination of a child process .wrbyte - writes a byte to the specified file .wrline - writes a line to the specified file .wrseq - write sequentially to the specified file ) tty1systemS ,System shutdown in 5 seconds NKxmenu.cmdachcheck1.cmdbconot.cmdcxdeposit.cmdddbasemod.ovrexcancel.cmdkaccnts.dbfxnewentr.cmdxdepcanc.cmddbasemai.ovrdbasejoi.ovrdbasebro.ovrdbaseapp.ovrdb1.cmdchcheck2.cmdagain3.txttues.txtmike.frmmike.txtmike.bakthur1.txt[wed1.txt]again2.txt^all.txt_again.txt`sfdbado.combcust1.dbfcxco.ndxdudate.cmdesrchscrn.cmdfsearch.cmdgscrn2.cmdhscrn1b.cmdiscrn1a.cmdjrstoref.cmdkrstalldt.cmdlrst1dt.cmdmrepslct.cmdnrepprnt.cmdoreport.cmdprepldate.cmdqrephelp.cmdrrepfddis.cmdsdbasemsc.ovrtrepfdcpy.cmdurejchar.cmdvrcndtbl.cmdwrclrbtm.cmdxprstrctr.cmdyprcntnts.cmdzpause.cmd{leads.dbf|keycheck.cmd}enter.cmd~delete.cmddbaseupd.ovrdbasettl.ovrdbasesrt.ovrdbaserpg.ovrdbasemsg.comaccntpay.cmdxbalance.cmdread.memaillttr.cmdmaillab.cmdmailinfo.cmdmailfmt.fmtmailentr.cmdmail.dbfmail.cmdjulcal.cmdinstall.comexamples.docdbase.comdater.cmdchreport) * P~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:987* + + , , P- - . . / P&%$#"!      / 0 0 1 1 Pvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('2 2 3 3 4 P~}|{zyxw4 5 5 6 6 P     7 7 8 8 9 Pfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 9 : : ; ; P~}|{zyxwvutsrqponmlkjihg< < = = > P> ? ? @ @ PVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      A A B B C P~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWC D D E E PF F G G H P F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                           H I I J J P  ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H GK K L L