IMD 1.18: 14/07/2014 11:05:31 os-9 gmx I v 1.2    d` .S 7OS9 Level I V1.P 2S 9.OS9Boo startu:CMD@SY7DEFP  S 9.S /?.$4D3?)5D' 5p?2j&C9ERROR #/:0 K('/2u01䦀 &Blgd$jh $0iK0K(?2k9K'A&oI?/%_o? I?/$ܦAI?/%E&K? K'$I?/%''oI?/%o9y сRB&$^a%54#?d?154AʀB%5x%K!''j#l$' 'j# l_ 4 Ƈ4A 4@d?0%Vl"!D '0D!/'K$' '204 ?5 %#!?#%D03 #Z*_54d?15C A$ K0&&S9$9A/$9$9A4 IOMa* =4 =_?(%*0o"b0˟`d?0%d?10$:1?29n3ԫD4p*M4`|% mH&o3IZ&`h%\mH&M4DBoBoC`cB'03IZ&aKHD 04@5@a _?)aaoDoEoH5Da3IZ&O5S5D'{5[N5%4 2{BBr%&"/'4&4VOW$2h2ekhi5V:+<-% m'b$& % `35?%#O  eZŊa %U(p*&ĞK ACMEOHc'% !'5c9$9A4 4d?/5%9$9A4Ba554M''50 D Z&2a9#0 j%4Ao5 A%j"m%&m"&~?+S6& KO%&%94t$2a &# 0=4dK%&o%540K o?I?/o&5D愮O44* b' F'3IZ&S9_u H ZN=S&G,0 0" 4X05nS9oZ*AiD?%&d$OlK0ˆ?%dI0ˆ?$3?2S5f* `D'1d&B& 4H'?+5 nDl&Ĭ& BbmH'j3IZ&n&0aa p%|45g2e v5Ro4 {54V3 4V3O_6d"54 =%&D5&-4&(!Ā&/5!%5 O_+-ħ3IK/_9I%C@M%9%4(Ąč*%&Q.D';ma'bZ =0&XPb% Z&b"AFH52dH'0 Z&_94P  J& ja&oJ&52dS9b* 1)Z'"#'&4$5$%94@D%lBDH&'A)0F5?%o2v4pfd&df0g ?%?&5i?(%0 Z&f0i1W?0%W`D'3IJ& b&1n _?(%zbo"lboAd %\nZ*Di Ĥ i&mj'ŀ'lH2_9HjHFD?3?3?_9%4A %5A95Ai%l"9K0&Om' L%S99%4R 5R%A熧A94Aw% 5%A954   784=5> k A (/  o* NOm"&#!'# x%4&6' $  9C5 4('?)5 (H40C?5H94 !!%ОK!5!' 4!' 4"$_ 4 %5&m4'B%m&D N%d(j' &O_/ %M45(쮨&&ma%"g olgg7%eM'(3mO_?4mc& d%jc5$/i# ikghme'je h'iOg'g(kiki?g%G'JgJ_HYHYHYklic hiihiDV$_ kC2o5O!&!=B@&0 "%(N5&4& H4I5dhtH%y/&Uoboc!%^Eh0dhf%H Lt%=m'1daO?f%@45 hM+?0fdO2d5&C 4d/' f&54f4758+:-<5. .$ l-&l,&%1 7485m %z:+<-%o J*'EH,&D+'  `%D+H-9:!4v 1!'Z&fQj5vb09a 'b&]&FbF2h9F%'F94-/,+%& ]&$'_5S2b9ˍ 4v5v09& _2h9DF4*&%m.&m[/+-$ A,m.'4FCS'04$lk$ 2d&$ C9%T5(K/I_L04 &'/+%&b%bO_%b0%O_2d94r$l dffdfDV$_'>DVDVDVۡ",$l+ %*& % _%.(_9?4$(_4.5&\0M+ %/Z0]&S5154%"(K 'A5'HHH䄿4ġ' 2bC5 5O_+-94PZ& %N&'Gu%?+-4P/+-5P+-$(&!'& m'0&M&.$.$C55b' 0pf& f%(O.3Pb#b4ba..& ~l-&l,&l+dbn4 _F'D1?' & @PFF5 F' %4&H5&0**9`&b2h_9-+/%"#4@//4P5P$/54pb'#1T$T$4  7&%2b5B' &oBOL"%b%(?c3$C5 ?+% &%9K6'#OM'C9O_)4%&o5O_4P% %**54P%**5,+%"$_94@m%TO_(0(4'!+" &,"0%O_S /94P%5%0(O_IK0'i(L4 _'JJ$lI0%S2b0%c45&5&/F(CS4DVDVDV~& % 턦JJ$lI54v oZ&eck#0 DVdkfl$ackm$ DVdkfl$%m-%&oB9& /DH9& +D-H9&%&FM'D( B&D03" n&<5&m4'7!'(DH/% &%/+-4o5P+-9S9 S9*?(%(&4p2|O_45/&Z%0f #@'/0!K3$'3FC4D5#>  2b54%_%$5*&%o**45 w%]\4v#B ?+D&%Db4@ 5@D$a54#섮 d545 4'5'S9,+9_4P*'**' **'5lEG6C!^@5 E#__5]% !%C 'ija`a4# f5Og5S9222 40Ae' %( &l`;o`  &l`(o`_ DE? E&['u5b!"d#a0eB$Z*9m`&j' 4? 5 \j$9&$'9$**o*4? 50&2a bm&'"o5_9@&.&& & &_9S9S9 &S9S9S9S9<%(40m&'Z*b$''''''%o_5S5#% 'c'o&'' ' ' S9_9_9A000Ч000F0O0&Z&4@?(15@%0q1?*%_9CE'm'joE?_9R%ܮo4"Ko^5J&" P4/$'?';m'75 m'5m'9'9$['$9eaal`zo`υ'0k'?kk?''16'm*S?9A@' E'am`&j45oE?_9 !012?&'' 'S9a@a~&s&o_%ga@affO_Ǯ&0'>4(4(d5(% 4`Oƀ13ˮ&& 5`5o?*?)9;,!#&P DRBG6a,!#&P DRBG6L,!#&MDRBG6%,!(&$D$45 %z(0ƨ6aS5'j'? j+ m"*]+m&m'@m'om'DE2? mE&m"*]+9Z&9& $454 $'I5D&%Ѯ(ƈ8j2d_9 g-iI$@&=Om g4l$4l@45f55]%¬!%S _940%&bX50%졪aac4e1"i5Ao?*9q,!#&2 HRBXBR?,!#&2 HRBXBNO с#&MDRBG61xၠqXBLtmEAO_b`ƀ焧1OF\1&J&1 01?*%_9]&&%40c]Z*_509%% !F$44(c\'?\0O&=0]o#4 f5a_& 0SY$%fi%bĦ!F$Uo40O&=0'coO.50##'o 5S9]&Y'K$H+$+ 8_4T$c&l$ l$'o5_9S944T$'Hh5  SC$! E#;&D4 ?%?+0?$tD5 !'>?(%f(_ bYkee* B lbm1 I r|j+y5OZ &Z&#')B(D6'0!G4!H?% *O95S9m"&*'?('?)O9&'04 # 05n&'4 1?*%'FA4P턦o500&_9_9DE554? K6'#O 'C5%cA4P&"(&SoF!F!45'(& !+F!`%5_95'F!!_95S9A&Q% +9F!o 'F! !E'?oE_e0ୄ5)ACI` A!%%&&F焦m+O_A01?*% AFʀ_9)0"P':\c#__N':oNS94DE? K6'#_52fC90:\'#_P '!'!&F_1 Z&_9S9%l,F'=4DH% M',&2b4!S50%m$'@0'+'%2b&Fa%F'mF'4-%' )'.\1#-#-0% 30    40 )X0b5 Y F ) o v5 : 82b&0FD(+&2b!9$('&&S9("% $_9(&S9&"% &$&o(_94 F'@& M'4 55KA' 4P(&5o!?*9E4*[+.BB _>SCPIև сPipeMa*'s <9& &S9'S9KDCP &F?*9A|NN&91 'O\'#_ &Fʀ焦!!E'?oE9''IO'WK')L')M'10":\c#_& NN   4C5 ϮI'˧ Ǧ!&Fʀ焊!_9!!&F_9;2b0'+ 4 č250'm#' (90'3_0m"' 2 u q+čՍ`-'0b$ '+&3_094p*# 4p#*'B(G0' 0Id5m!' a%z" 9m$& &m%&9 $ &4.5K#*'&o94''245?+l/K65'C9S9_9&D4 ?%&?+0?$D5 ?(% (39S5"& (?) +&0* /&0.' 'o?_9 - o-0*%9F'5DD4 40*5%%m-'-'%FF& _0*  o0.A%;F'7DD4 40.W5%%0m''%_4bFF5:,03 ,TERSCACIyV8,.1  ,TSCACIn_8,Q.1B PSCACI;=PIskh0) $&0"A%& 2Fo00/ 0 84'O5Ko/#%*'%m/&o,&9 l,DF'=m,&B & m%&:%& 4% 3_#'ԡ+&m,&&DF?454R*'Z &X /4R# &NmH& m''jG& %/&/'oH #m,&&4m%' %j*O2a5ҍ54roE   0. ]'!%'!l"&A?+j4K65'C9%_9\"''o%4? K65j]&_9C94EK&& 54'&S5%(_5&S94%(&o5(Pipe_9_9_9_9_9_9[+V&M&?%DO??46440a/\d$:Z $瀋0 02e5 %#?9_0 " 4 =$廬%]&2bōٖ? 9`0 &% $1w9?$ .& '10O9S09$4 C% 줭5 $9O55 4 m+&54 ',' 04"52b '09401"䦀a% H&$?%%O51?*b&S5TO<028??L4 G ?9O 9 O9 O9 &PipPipeMaPipe + Clocn8즈'On4O4 ZY[HP0ן22{THDa@b () !#&;<> 1%Q 'M (&$10 1΍~(')&% &  $%1c01>% &   ******************** ******************************************* ** ** ** CAUTION !! ** ** dsavdumechexbiformafreidenlinS 9SA ** ** OS-9 Version 1.2 is not completely ** ** compatible with the disk formats ** ** used by earlier versions. Please ** ** read the documentatiolisloalogimakdimdimergmfreos9ge.@attIbackuMbineSbuilWcmYcobblekn enclosed with ** ** this disk before using this version ** ** with disks from earlier versions. ** ** ** *************************************pia.bidi printerprocpwpxrenamsavsetimcopndatrdchectdebudedeldididispla****** -t setime 83   shel"slee(te*tmod,tsmo0unlin2verif4/S 9SN DAtt Use: Attr {[-]} opts: -d s r w e pr pw pe -a You do not own that file. Use Makdir to create a directory ERROR; the directory is not empty dsewrewrO?$?$ ?%;0H?%._&1H/& . PBacku/d0 /d1 Use: Backup [e] [s] [-v] [/dev1 [/dev2]] e - abort if read error s - single drive pause messages -v - inhibit verify passReady to backup from toOk ?:Ready Source, hit a key:Ready Destination, hit a key:Sector Number%/&@ 0H?%o4@?5@%|0h?%p? 'i&v%9$_ &N4@?5@%=0h?%1?%,?%%'3h0 1xX%-* 0x_ 0b4?S5?_0 0_ 4p@?d%0( ?% m'0_ 5p&9A of sectors copied: Verify passNumber of sectors verified: is being scratchedDisks are not formatted identically Backup Aborted244@ P    1WU'J쀁 ','E&0$ S&0$ -&V& 0$ ¦/' &+01]D@SRWEPRPW PE ','-&0140'B'?+50* 概0$('ŀ' 'cg5&h?h_9_5C5″/S 9SJ  UC ',' & /&011U1SY&@ &?%50P?%(??%1 &@ ?0?%/0P?4P3?5P%&'10P?1~1^1FSY&֖0P?/S 9TSXx R0BineCopyright 1982 Motorola, Inc.?$??% /S0-00130"?01?1?'"' 4Z011Z*0Z.0K?0L?1?&V0L ?%'&; 1. L'*0?4 <%4@3?5@0P?%?0?%05??%}1u0P0P' ?%S &1 &M1?%4?%-0?%# 0Pc &1h ?1S??$ '= &?$  '4@T |CBuil ?%10-?O0A?%' ?$ ?%_?? U/?05?5 5߁Y'_?  0IO愫Z&C0I1/\vZ& 0-s?%  j&ӆ9.'.  HHHH4 ,,90+ /"90-?f4DDDD 509#9** NON-HEX CHARACTER ENCOUNTERED Enter n_?5@ 0$90WU1 1 '3460O?1X!5694?5%˦^Z*9T*942U0WUU?51rٖ  1  4DDDD5M' '09#4UU5]/S 9SZame for header record: Enter starting address for file: $ ** Not a binary load module file. Proceed anyway (Y/N)? P/S 9xST   ! Kcm2z@@Y2f@ 2b292z@@.2f@ 2d29@dh2f92|2~hje'e%&hjee -&O_'hjeO_0mc*ccfcecdcceecce4e4 m'CSCS$04 4 ~&~'&DVFV$4djdbihb5hiihigif 55oM*cSCc*cSC44 b2dmc*SC b44b2dFoM*cSCSC$0mc*ccfcecdcceeO_b'CSCS0'O_&2b&n0'}\ /0A 54nb2dyn@54d,f54&, e0&0hjee0.He9-9, Ig054,hjee.&ihjee0.He9-9& g054&hjcce4e4 >md*SCSC$0mg*cccbcacbb$ee2a 94 4 f"% h#91!f"%h" 'XIYI DVFV1?4jjhh5hcibiaif"%h% hgflcdffgfhfi1?&կfh9b0'@DV0 bd1'7DVFV1? b0'XI0,O_,b'8,,0&-O_bO_&3,,O_,b'-dfO_,",,O_,eO_e l&O_''hjeln0g #@ f2h@ f2h@ f2h bd1'XIYI1? 9b2b909/d0/include/099@4@9r' w'9b4?$ ' c?5%O9c?9c2~A?$ 2b ' & 9ec & /%)&9 ' &  h&l$940a?5O gbd?% 29O_X2b9em2d99~'9O_9~'9O_9b' 0'1?&b'wbpoM*cSCc*cSC44 {m'FSC>b44b0oM- cCSCS$jlnplnbbde'jlg-jlgdo$xScsjlgjO_2f92t2z@nO_&2b/ &  1? ob99  eb1' ' &40?5 4"0a51'?9_ ' '\14 &o &o04O04#0X1椧瀦!!1>4 %_?2|2|00O_00&00O_0/S :Sl$"$,(*O_&2b& 0Q2b"$0F2f(*0G2f&H0Z2b& O_2b 00 H2d 00%2d2h9Cmp: unknown opt0&0 0 00O_ffl/lhjj-&s'adfhc'=02e "c0  Cobble Use: Cobbler to create a new os9 bootstrap ERROR - os9boot file not contiguous This disk will not bootstrap. OS9Boot _/&?%׆/'1+Z*)@ 0+?%)1/*4@?5@%0D?ion -%c standard inputrcannot open: %s use: cmp {-opt} path1 path2 Differences byte #1 #2 ======== == == %08lx %02x %02x None ... Bytes compared: %08lx Bytes different: %08lx %s is longer %s is longer b$%)"*?% 2dO_2b-&0O_d80b2ddO_&02dO_(2b0O_&)0b0f`0O_&)0b0f%'0+?O_0+?%ohff?%[0I?%R?%94@_?5@%70K?%+c&)[\$?%_ 04?S5?0_ 4@?5@%0D?%9 b,"$"O99Kf0#'2dO_2bDO_(*"$0 2b02b'0~2b''k(*(*O_&2b& 0=2b"$02j"  /S :So''_ 42o__O0,*(&040p2b0402b""/&0&-&&'Obb'wd'm'bo'}p'os'aw'y=&,'&40ps2b40a2b\04W2b_OSG/S :Ss 2PCopReady SOURCE, hit C to continue: Ready DESTINATION, hit C to continue: Use: Copy [-s] -s - Single drive copy ( must be a full pathlist) 24@ P 4-' & 쀈S&0$ 5?$ 'ȗ ' >_O6 . &_O'. O404 2d_O"bw''"'_O' _O. 6& 66' 66&&0}42b_O_O&/'0c0/&b]' pDat, 1???JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember403H?4T&  (?%_?-: !1a' "*Z&)1D/Ld$0&3_:J $09*9pq/'40K?%&  4@?%5@5 ?%t0K?%i&&4@?%P5@0P E?%;?$' ,O,2?$&?%_ 0Z?_? '<404M& 0@! 0W&?0O?C' 5&̍50c0b 0b@' 0c0@0c0o40e2b&0c4042d_O4_O4_O42f0x0xO40xO_**O2*40xO40xO_&&(0xO40xO_,,4&,0x40/S :'Su(509420MP?5wM  Ov2b_O. 0L040x 0c0o&0c40O40 2d*402b&& 0" &40)2b0840L2b0840"2b0840x^2b08402b0c&0+4g2bc&ohxf4kdl2d0L4iba2b.0L40fK2b/@.&4084ib2b0B40f2b0B40840:2db (b'.& ,,_O2i9&g0]&g0]& g',.&Cg0O4ib0O_4$4C2b0462b94O4bO_4O404j12h944b42d'042b2b942'-'4042d_O.'2/0 *402b.& $$*t&*404L'''Sz&40 4$2d_O _O40"40p4x 2f'40$404z z2f0xO0x' _O440x42f4042d&&402b_O.0c&$404_O4"4x2hib4_O4"4x2h~'@b 9g0O4ib0O_4ib44$4zH2hAb'_O2i9Ā'O2i94d怯d瀯%o2b942&()~'(40l4(2d&(& _O40l4(2d040l42b040404&40.402dH d664@4_O4j02f 404h-2d''""040X2b&R.&#&4044$4z 2h &&404_O4"4x2h~&k_O4_O4042f0x`0x~'9040h~2b0R0cb&0; o' *&&'.00c*0 *'+*402b*' 00&'+&402b&' 00('+(402b(' 00z,'+,40g2b,' 0u2j.';040l2b&40b40 /2d4440 2fo4o4&4&4$2h~'29'GV0&''x&'q"XI0]'"14$XI0O442f.&"XI004$XI0'TJ&&&XI003f6&C0(40(4hN2dd>660f6 Zd_O4*4*4j2f0fd&660&2,942y_Obg0]&g0]& g',g0O4ib0O_40S0J&10O4072b,& *&&' 00$& 0 $402b"& 0 "402b&__O44_O4"4x v2h"&0p'._O444$4z D2h$& 0x_OU2$90  oo"XI00&%o/._Ooo4oo4&4&4$2h~'29"XI0]'14$XI0O442f.&"XI00"XI00oo&&Z&'&4'XI0&o/._Ooo4oo4argument dcheck: illegal option '%c' dcheck: no device specified dcheck: cannot open %s Volume - '%s' on device %s $%04x bytes in allocation map 1 sector per cluster %d sectors per cluster %s total sectors on media Sector %s is start of root direcn2b/&4 o2b&404 2d _O,0o *4 *b*4 $~'bb_O4d4XIXIXIXI_4_O4$2f44"2d&_O4_O4_O4$2fb.&44"2d&U&4&4$2h~'29"XI0]'"14$XI0O44*2f.&"XI004$XI0_O2942xod_Od'dĀ]'4n4l4&40m 2h0840gd2b.&r1&0840 = 2b**]2&0840 = a2b&tory FD dcheck: cannot chd to root directoryNo memory available for bitmap buffer (%dK req.) $%04x sectors used for id, allocation map and root directory Building allocation map work file... Checking allocation map file... Pathlists for questionable XI00_O XI00294h2-j4-.& 02b9fXI0h.fXI0h,_O4hXI0_4_O4j2f4b4h2d&fXI004j44XIXIXIXIh'8_O4hXI0_4_O4jh2f4b4hg& 93&0'0840 L 82b(( 0840 i 2b'4.&,0&*0&40g44$4z32h_O0 d'XJ&d2j92v_O44_O4 2f_O4_O4_O4"4xe2h0xx_Odf_O*$f0xh]'*&$,4 clusters: %d previously allocated clusters founds %d clusters in file structure but not in allocation map %d clusters in allocation map but not in file structure %d bad file descriptor sectors '%s' file structure is not intact 1 directo2d&BfXI004j4l_bl_O2b92~_O, XI0402b 0X402d942|d怯d]&ddd瀯dh怯h]&2f92~40o2b&"0^42b0t42b`z2b9/D0/D0dcheck: -w= requires pathlist 4'XI0&4ihf0xhi]'#34kO4h4 N4j(2fhi]'#24kO4h4 !4j2fdd-!_Odd44_O4"4xs2hff- _Of0xu2j942 4 4040j z2f0d4  ry %d directories 1 file %d files Usage: dcheck [-opts] device_name -w = pathlist to directory for work files -p = print pathlists for questionable clusters -m = save allocation map work files -b = suppress listing of unused clusters -s = dg4k~b4d $d0 d7g4kVg'-g4kCb4d $d0 d7 îoO2e9 42{_Ob']e&Gb'b4b odeqeOl&de#d'2g92g9b2!,OL"L-1 ' 94' 2b9N c40f4f4d2d2b9b420440d2d40b 2b290X420440d2d02942怯]'%'  4b 0midog hofisplay count of files and directories only $%02x%04xdcheck: fatal read error dcheck: directories nested too deep (%d) %sdcheck: cannot chgdir to '%s'..*** Bad FD segment (%s-%s) for file: --> setbits: Start=%s Count=$%04x Sector=%02x Byte=%02x g94]'& ' '&2b9 2b9_E42~_OO('怯O4b4 0 2d9?4 4b2b2b9R42{_OeBbb,1ede4dgeb4fbb2g942 a0gc-&gO]'0&0h0Fb _Ob.&0"df怯O d'u'Hx'Ho'Hc'ls'@,#ii4-@Pbb a a aaO4쁯40m 2dO4dbdiBit=%1x <-- Cluster %s was previously allocated Cluster %s in file structure but not in allocation map Cluster %s in allocation map but not in file structure Cluster %s in path: /dcheck%02x%ddcheck: cannot open workfile '%s' *** Segment out of range' &/ 40i4O2d&2 90gcN &6c0g444ee'*cc4 ee cc4aaioc0g4''0g240i4O2d&2 92 93 4 4b2b2b94d섃i4쁯bbBf&d쁯k '(d'$ii4m怯mddbb o 0mig&&bb/  4j ڮi怯i ]'   g'bb/  4j   4bo 2942} in file: %s/%s .dcheck: cannot open '.' directory Pathlist is:  ?   O _ 0 jQ  d W + &   ^  #  X  r { _ '~'0 'n&o oO_4 ' 4 4040~40o%53^0 0 0&#  -4cO 4f4eO2d2b944b2b2b942}dbg'g0'2e9j' _O4i4g&.g&(g4&g _Og]'4j'_40d4kO2d&Dg/S :S9b{4c5 45 bb4c5 2}4b&5 >amb+hcibla fofogb$b igifdbfcja&5%4f5*@Pc2gn4@4405M*@P940@P4 ?5 5%09O9?$9O_92|fbh dfafb$ lb&la&l 2e9'-4i4kO2d&g 2e9g4i]'_O gj'-g&4fg4dO2e94_O4b4_O2d2b9.42xhDVDVfb&0|b|_O~f%Kf& Mdebu(C)1981Microware 4 54TTTT5 #094d3 o%l 4a051?&5'd 0#'B%'d$'02|qv$A%F# a%xf"t 7b&{XIXIXIXIbla 2|9>%NbXIbXIXI%Sb%O%Ibla 2|0%&T&#icidfADV$ObnaDVDVDVOlDVDVDVj2d9O_dXIXIXIfXIXIXI$lh$lb hiiGV&9bdA$lO_9b"% A" %O_999?%dbO_ 9c?%bO9?%WO_94 df?5%B94 df?5%-94 d -ģfXIXI4b4hb2j9&/fXIXId&_O2j9d4hdbe42|dbb#%b%b"%bXIXI&4bĮ bb%0la O_bd90%9#9090ma'b 2d9 '094c=4bd=4dgef b'2h9=cc$lb946& d_hcibYI+lc jd&b2f9&94`C 5450 4p-&@P +& 5024N*&&4bT$ /&ߍ4br$f?5%94 df?5%9O9c+4?5P$4?5%0?%O94dd_ff5gbdZ& ?% Z&?%dcb?%O_9?%O_9? O994 ? !5 9dchecVXIXIb&4d b2f9d4a0% a9" _O2b94aO'a aO2b94aA% aZ" _O2b944f怯f]&2b942~b'  b2d92{o3ag-gbh=cah=_ccbg=_cm*@Pe2inM*cb@P   5 0#4&&a !& a 0^&SC -& @P90(&a4Ձ)'6 [&N4]'2b5<&4O4>' 05.&09'&O9"&09:&0%M+O99$' 4sp'SP& 0 21 {} [-x] 'X0?% &_? ','-&"094 ','-' &59  X&90zPO?_ p.3A OKjj'  '"1#Z&W1LKH%v04@45@ ̆?9%WK?$J?94p &_\"814O!5V&I0˯*_(#sO_1! &O0 ?%?%9shell_?%4@M& ' ' ' &00"151#j&5CCDPPCABDXYU22t1jA000ܟ o%0?? 1;11a% 1#'&0!3<  ?9˦.& & % 4/(5 /S :S&5'&502b?Interactive DebuggerDB: SP CC A B DP X Y U PCBKPT: .=  1-:\K*MwCBGGLREq$QS Q !#'1! ?9PO?95 A%'⍲  Ǟ415q%4$#5IS%M'9o':p%g4"b&5"M* * 5 %{95 %r91/| [Zg 9&K 4';1#j&2a%4' $Deldi(C)1981Microware:%*w$%!%%?%?% &_ 4?5??% ,?%*?O\F/& ?%  0D90D?%D3'_ _9 Deleting directory file. List directory, delete directory, or quit/S :S' 2b594@  ' 1#Z& 5't%֍&O_9 $oZ&9' W%*  ' ħ"'?1#Z&;R%4Fb$ 1?b1!%5ƞ 4j&a~" $.j&2a %9%4#5̀ġ&DdZ& ,- 0   ? (l/d/q) Continue? (y/n) ]&/0O?%!Z%&_ %0?%;9DIR E 4@3J4@0FZ 05@0Ԇ_?5@%?90JP?%1 'Y'L'D'   _ 9DELDIR .. 'G4@@?5@;%-?%/H_4@3$ Displa#41% 5?%_?,& '1?%4% hhhh_590 #1% " %1!9S9_J$?%0q?4@@?5@ b '^ &1O<"E"& >4@._,?5@%>0/ ?%207vqlj!11O0O ?$&_}?,&-$  58+: 4DDDD5M' & 09#  45dsewrewr/0?5@%?%0?$&_ 90$ ?%'??? O\H9ATTR -D 4@3J4@FZ 005@0_?%?5@9Z]&9C9/S ;S0X%-ߦ*9Ԧ*942 0<P?502  / :怆/d%_Ld$0':J $~0w쀁 ','E&0$  X& 0$ 9/S ;S2 Q42z_O,*(&$"o)oQo $0$o0$o0 dIff/jjj-&Sb' i'v'$m'(s',l'b'"_O,&(_Oddd0$44#b0%5b9"-d,/S ;S NDi0 directory of. @ Owner Last modified attributes sector bytecount name ----- ------------- ---------- ------ --------- ---------- 1<Φ &0t4?5%?%41C>%2b0I?0LT& '0  %dd0$44dd dd0$44K0$doq$ib=&B_Odbb'dd044d 0do  O40 (4 92dbbff/. /'0 40)V2b 40)0 40s2j,'4b40O40 40d2h2b942|_ObdĀ&.  d4fbdo2f940c2b 404S2d 40y4A2d0y40&.0y40&0y40.042b_O @"-402b.h$&402b.-404Is2d404I4Y2f0&&040 40252d90i040 402d04042bo0O40G2b 040)52bff/5*j/'040Q2bj40Q2b 040Q2bf/04 m2boO0O4o0q @*'0Q40b .2b0_ #0g ,' 0e &H 0yO&9_O942}_Oaac')ca ]'aag4b'2e9agO2e942|_Od'  _Obd4djbbh'--04A2b_OC2f942~_Ob'  /.-%0O44bbF2b040O52b040O$2b "<0 402b0402b402b.04i2bk "oO040O2boA0]/"'!0 4o..20yO0yO0:4012b'U'_O,04 2b 0O&0O&0O&0000yO0yO0yO )040M2bK0)0O440Obd .042b_O2d94,4042d2b9042b042b04|2b04o2b0 4b2b04U2b0+4H2b_OJ9* Skipping directory: '%s'. Error #%d dsave: unknown option- %c //D0//D194o&'" " 404d2d '2b92b94_O4"4 4f2f,042b2b94.&n04b~2b&Y&"0O40 40Q40 4062h&"040 40Q40 40 2h_O2b94b40O40$4G2b0O/&0S40O2b 0)40O2b _O.',' 0 0! 0% ~_O 2h92.."'Z0 44 0 44 0 o/04 2b 40 2b  dsave: unprocessed arguments t chd %s tmode .1 -pause load copy load cmp ..rdsave: error in reading path /..rrunlink cmp unlink copy tmode .1 pause dsave: dir level too deep for indent .dsave: cannot open directory %sMakdir %s %sChd %se&Gb'b4b odeqeOl&de#d'2g92g9b2g94]'& ' '&2b9 2b9_E42~_OO('怯O4b4 0 2d9#4 4b2b2b9R42{_OeB2d02942怯]'%'  4b 0midog hof-&gO]'0&0h0Fb _Ob.&0"df怯O d'u'Hx'Ho'Hc'ls'@,#i r/%sChd .. ..r.dsave: cannot open directory dsave: seek error os9boot%sOS9Gen %s %s%s/OS9Boot %sOS9Gen %s %s%s %sCopy %s %s/%s %s %sCmp %s/%s %s .dsave: error path too long dsave: error path too long dsave: cannot change directory to %sbb,1ede4dgeb4fbb2g942 a0gc' &/ 40i4O2d&2 90gcN &6c0g444ee'*cc4 ee cc4aaioc0g4'i4-@Pbb a a aaO4쁯40m 2dO4dbdii4쁯bbBf&d쁯k '(d'$ii4m怯mddbb o 0mig&&bb/  4j ڮi怯i ]'   Use: DSAVE <-opts> opts b = include bootfile i = indent dir levels l = only one dir level m = omit makdirs s = alter mem size v = verify copied files  '0g240i4O2d&2 92 9=4 4b2b2b94d섃-4cO 4f4eO2d2b944b2b2b942}dbg'g0'2e9j' _O4i4g&.g&( g'bb/  4j   4bo 2942}g4k~b4d $d0 d7g4kVg'-g4kCb4d $d0 d7 îoO2e9 i42{_Ob'] ) 0  _ '~'0 'n&o oO_4 ' 4 4040~40o%53^0 0 0&#!,OL"L-1| ' 94' 2b97 V420440d2d40b 2b290X420440d  g4&g _Og]'4j'_40d4kO2d&Dg 2e9'-4i4kO2d&g 2e9g4i]'_O gj'-g&4fg4dO2e94_O4b DumAddr 0 1 2 3 4 5 6 7 8 9 a b c d e f 0 2 4 6 8 a c e ---- ---- ---- ---- ---- ---- ---- ---- ---- ---------------- '0 9'?%'  ?%]&0ča0@[0yU0 ?Z&0RN00H0I09O9?$9O_9c?%bO9?%WO_94 df?5%B94 df?5%-94 df?5%94 df?5%9O9c+4?5P$4?5%0?%O94dd_ff5gbdZ& ?% Z&?%dcb?%O4_O2d2b9842xhDVDVfOb&0KbOK_OMf%Kf& -ģfXIXI4b4hbO2j9O&/fXIXId&_O2j9d4hdObe42|dObb#?%/ SZ' N @Z& X0 % P?9&_?4DDDD5 #0454 %~%.5A_9?%O_9?dsavY%b%b"%bXIXI&4bĮ bXIXIb&4d bO2f9H4a0% a9" _O2b94aO'a aO2b94aA% aZ" _O2b942~b'  b2d/S ;"S/S ;S92{o3ag-gbh=cah=_ccbg=_cm*@Pe2inM*cb@P9b{4c5 45 bb4c5 2}4b&5 >amb+hcibla fofogb$b igifdbfcja&5%4f5*@Pc2gn4@4405M*@P940@P4 ?5 5%  "  Ech?%_?_901+ ')0 '0G@&4 ?5 @?&0 %߁Y'_Q';N&4 *_+0 y߁N'Y& '0 ]߁N'Y&0 C߁N'Y&0%0?%2b)0XP?94v0O?%/S ; S/S ;S5v90 &0 '0( O_>$0.#"4#"a%4[]' 02b&9oJ&bc'DV$ cffbeecXIcbIb 2e54dfafb5db&9 *0 "&߁Y'N&9?%LT0_ ' & '  v+9Forma(   C(PN  N N NNR.w5}WD?_?1B4 1o"5/' N?% G/' 1GZ*0H O?% %D@ 0G?%9;90 0ExbiCopyright 1982 Motorola, Inc.?$??% Name= 0?%0S'& ئ0' & J&Ǎ q '4 ' ' 0  : 5P *L'0?_N& 0?''?%~\%%9'J& '  09  & &  X0 &;1)v큜%=? 0=10 \  $? 94$""01&0"@46OL&2f5:d%0b&0_?%45T   %_9 1%%4"15$I&!O91$m&C9RYDrY@"B:rS1s-D)d%1'2#'N/_(), 9991g "'Z&"' $  '1?_99M'9M'%PZ%'%c 0?$T%'HHHH4 90+ /"90 ** NON-HEX CHARACTER ENCOUNTERED ** CHECKSUM ERROR DETECTED ** NON-CONTIGUOUS ADDRESS SPACE DETECTED 4  b ^#"%O& '' O '' '& 0?01gm'* 308 z0!O?$ &0XA 0oZ'Ӧ01@4 ぬ%2bb\V0??%0?0G?%җ0?ouble density? Change from 96tpi to 48tpi? Double sided? Number of good sectors: $ TABLE OF FORMAT VARIABLES Recording Format: FM MFM Track density in TPI: 48 96 Number of Cylinders: Number  Or0 Ob0 !0+8&5   0 +0 10  w1g930>/ 1$4 '/00 &/ 5 ا 2b0#9'd %&&94&0 $ %1?&5%?0G?%9C'0Ą߁Y'N&CO_40/:0608O2%)(O& '' +%D%+,$ ,& + ,-%=+& ''* C&.0?$?߆( /&0+" 0_%9 C&& 444Abof Surfaces: Sector Interleave Offset: Disk type: HARD Sectors/Track on TRK 0, Side 0: Sectors/Track: Both PHYSICAL and LOGICAL format? Physical Verify desired? 5?02T?_? OS-9 Disk Format Utility Use: FORMAT /devname opts: S/D - density; single or double R - Ready "disk name" 1/2 - number of sides 'No. of tracks' (in decimal) :InterlF&2d )&9 (&404(%)/00&\"%#$/0[(16'? 6(Fi ::%:68& f069DDDD009#9#9O0L%O44T%hbiai 5 444 4A2g94 O2&0O-_?%0{"/% "/S Seave value: (in decimal) /Cluster size/ (in decimal) Formatting drive y (yes), n (no), or q (quit) Ready? ABORT Interleave value out of range Disk name: How many Cylinders (Tracks?) : Bad system sector, FORMAT ABORT Cluster size mismatch D$1$225l0P0?0O@ *Z20". 2>*Z&945 0O_Z&9?%9O23_?%9/1_$0 805. +40 '0'00# 0'00 0   aFre Use: Free [/diskname] tells how many disk sectors are unused " created onCapacity sectors -sector clusters Free sectors, largest bloc sector1M'. '(/'0R@?04?5%妀;$@2-0M?% 0]???%_ ?%   $4@ ?%5@0r?$&t a&s4P 3]$0?%O5P0?%?4P$ $0?%'5P0!?%k_ 0Q?_? &#11 "1 . & 5 Iden Use: Ident [-opts] [-opts] to display module header. -m to display module in memory. -s for short form. -v for no CRC verification -x for file in execution directory Module header is incorrectHeader for:Module size%" 1| 15o150]11 c4o02c1%O_ 4@?5@00?%GF'c$ j&2a%aa"̍@0D1΍T0G1ߍI]?%_?_'H%\4 c $ 54 "& #7M' 1T 1E1(&'&1)n1+_145O1f'jTTTT0˦1C1<0!1-ŀ' 1 1*9 ' $1 19M&$2 ' Module CRC:Hdr parity:Exec. off: Data Size: Ty/La At/RvEdition: modre-enon-sh(Good(Bad) $)-27":i& ..reads (std input) pathnames until eof, merging paths into new os9boot file. Can't find: ERROR - os9boot file not contiguous This disk will not bootstrap. RENAME TempBoot OS9Boot _/&  /S S/ 4pwpwd: bad name in path .. read error 0 0Q  r'#0͍4?%*0-b;s  ??_??9?90N ?9%a0N01I&9&90C1F9+-+-90N?% Z&/901b' 1d'1f1Mm$1!b> No Clock module found <<  >> Clock Initialization Errors << yy/mm/dd hh:mm:ss Time ? $20!?0 O?2z<8a4b0c,d(e0?$& 0H" 0`(?_?_ '/':' ,'.'0/S gS/S S90% " 04 =9皣g OSav1?40b$F/?%? &䦀 ','0O?%#0?4?f5% b%?%_?v 4Renam%?$ &|?%s0 ?%g?%b &_c%X ?%IZ\& 1?$ ?$*&&0'?%:<?%?%?%_? . Dā/' /'3 0+%%0!$'?%/' $O9S9?$_3  /S S#M eSleeO_ ? _?40% "04 =ab =5nK&0=M&0 %S%  &2d_B%&M O4?M&&#'?o %'m']'4-5]'C59"RunPascal%Run?%X0 ?4?5%  4pO?%K?'I 0m'w'm*  %0d $Shel Shell OS9:oab;2{46#0? 5' %g &`0 &X0 &OO0$?$ '- &3? " 0 '$]& eof &0_?P?9oZ*9CHCH[EKIL-zz-{|-SETPk#9/S }S+%RX P -0?$?%,4@ & K ;?5@4%? ?5C5/pipe 40W5%RH%M&?%DO??46440a/\d$:Z $瀋0 02e5 %#?9_0 " 4 =$廬%]&2bōٖ? 9`> () !#&;<> 1%Q 'M (&$10 1΍~(')&% &  $%1c01>% &0 &% $1w9?$ .& '10O9S09$4 C% 줭5 $9O55 4 m+&54 ',' 04"52b '09401"䦀a%} UTe_oN'Z1A ',' '0 ?%>N\N NO0O?$'"C L?mN'_1A0O?%\N& _?/S MS) H&$?%%O51?*b&S5TO<028??L4 G ?9O 9 O9 O9 &94O L#f54m'??'o?5WHAT? 0_C9    m&4 m&4 ?%Ŧ?a&?  ?a5 &  /S S-8 UnlinO_?%?%?% ,'馂 &_?{/S S1 >Tmodupbsbsechlnulpauspa bs de eo eo reprindupsaborquibsbeltypxoxof19O.& 1!0$0F?% '$%o &?%_?,&/S S5 TsmoLOGIN ;%# 'O?L?L??%??%:?%50? O0?2a%_03?%?& ? '1?9-& 1!0%5* 0F &!=&1!M&?_0 "M41! ='0_?SYNTAX Error: P?9%%45$_HHHH4ত ' ',' 0 #1% " %1!9S9/!0G 041F_\ % _?4v' 0 Verif2  '_U&  % &&  &_? _J&&\'0 0 S焞1=G&#<&'0 0W 0?%O?%9$%| '?' ?%g & 9O#/S 8S3*1?&5um*"'-i54 40W*5=Km&)/Ld$:J $0+5 0&# &9DDDD509#  460& ' \2% & _54pb0H&$bO50*3_&C5W?  ? 9P?9Module's header parity is correct. Module's header parity is INCORRECT ! Module's CRC is correct. Module's CRC is INCORRECT ! .S S8.7errms@passworN  S  dSA iteral 23 -- Illegal Relational 24 -- Illegal Type Suffix 25 -- Too-large Dimension 26 -- Too-large Line Number 27 -- Missing Assignment Statement 28 -- Missing Path Number 29 -- Missing Comma 30 -- Missing Dimension 31 -- Missing DO Statement 32 -- Memoryt Module 235 - Bad Name 237 - RAM Full 238 - Unknown Process ID 239 - No task number available 240 - Unit Error 241 - Sector Error 242 - Write Protect 243 - CRC Error 244 - Read Error 245 - Write Error 246 - Not Ready 247 - Seek Error 248 - Media Full 249 200 - Path Table Full 201 - Illegal Path Number 202 - Interrupt Polling Table Full 203 - Illegal Mode 204 - Device Table Full 205 - Illegal Module Header 206 - Module Directory Full 207 - Memory Full 208 - Illegal Service Request 209 - Module Busy 210 - Bo Full 33 -- Missing GOTO 34 -- Missing Left Parenthesis 35 -- Missing Line Reference 36 -- Missing Operand 37 -- Missing Right Parenthesis 38 -- Missing THEN statement 39 -- Missing TO 40 -- Missing Variable Reference 41 -- No Ending Quote 42 -- Too Many S- Wrong Type 250 - Device Busy 251 - Disk ID Change 252 - Record is locked-out 253 - Non-sharable file busy 1 - Unconditional Abort 2 - Keyboard Abort 3 - Keyboard Interrupt 10 -- Unrecognized Symbol 11 -- Excessive Verbage 12 -- Illegal Statement Construcundary Error 211 - End of File 212 - Returning non-allocated memory 213 - Non-existing Segment 214 - No Permission 215 - Bad Path Name 216 - Path Name Not Found 217 - Segment List Full 218 - File Already Exists 219 - Illegal Block Address 221 - Module Not ubscripts 43 -- Unknown Procedure 44 -- Multiply-defined Procedure 45 -- Divide by Zero 46 -- Operand Type Mismatch 47 -- String Stack Overflow 48 -- Unimplemented Routine 49 -- Undefined Variable 50 -- Floating Overflow 51 -- Line with Compiler Error 52 -tion 13 -- I-code Overflow 14 -- Illegal Channel Reference 15 -- Illegal Mode (read/write/update) 16 -- Illegal Number 17 -- Illegal Prefix 18 -- Illegal Operand 19 -- Illegal Operator 20 -- Illegal Record Field Name 21 -- Illegal Dimension 22 -- Illegal LFound 223 - Suicide Attempt 224 - Illegal Process Number 226 - No Children 227 - Illegal SWI Code 228 - Process Aborted 229 - Process Table Full 230 - Illegal Parameter Area 231 - Known module 232 - Incorrect Module CRC 233 - Signal Error 234 - Non-existen!  - Value out of Range for Destination 53 -- Subroutine Stack Overflow 54 -- Subroutine Stack Underflow 55 -- Subscript out of Range 56 -- Parameter Error 57 -- System Stack Overflow 58 -- I/O Type Mismatch 59 -- I/O Numeric Input Format Bad 60 -- I/O Conver.Pos9defs.Yos9sysdefs.los9iodefos9rbfdefs.os9scfdefs.li.equate S SOsion: Number out of Range 61 -- Illegal Input Format 62 -- I/O Format Repeat Error 63 -- I/O Format Syntax Error 64 -- Illegal Path Number 65 -- Wrong Number of Subscripts 66 -- Non-record-type Operand 67 -- Illegal Argument 68 -- Illegal Control Structuresystypsysdefs.gimisuperuser,secret,0,255,.,.,shell steve,open sesame,3,128,.,.,shell sally,qwerty,10,100,.,.,shell startup;ex shell bob,,4,128,.,.,basic09 bill,WGP,0,250,.,.,shell basic09;ex shell  69 -- Unmatched Control Structure 70 -- Illegal FOR Variable 71 -- Illegal Expression Type 72 -- Illegal Declarative Statement 73 -- Array Size Overflow 74 -- Undefined Line Number 75 -- Multiply-defined Line Number 76 -- Multiply-defined Variable 77 -- IS @SQllegal Input Variable 78 -- Seek Out of Range 78 -- Seek Out of Range 79 -- Missing Data Statement "  le F$Fork rmb 1 Start New Process F$Wait rmb 1 Wait for Child Process to Die F$Chain rmb 1 Chain Process to New Module F$Exit rmb 1 Terminate Process F$Mem rmb 1 Set Memory Size F$Send rmb 1 Send Signal to Process F$Icpt rmb 1 Set Signal Intercept F$Sleep rmb 1 Suspend Process F$SSpd rmb 1 Suspend Process F$ID rmb 1 Return Process ID F$SPrior rmb 1 Set Process Priority F$SSWI rmb 1 Set Software Interrupt F$PErr rmb 1 Print Error F$PrsNam rmb 1 Parse Pathlist Name F$CmpNam rmb 1 Compare Two Names F$SchBit rm S %SZ&b 1 Search Bit Map F$AllBit rmb 1 Allocate in Bit Map F$DelBit rmb 1 Deallocate in Bit Map F$Time rmb 1 Get Current Time F$STime rmb 1 Set Current Time F$CRC rmb 1 Generate CRC F$GPrDsc rmb 1 get Process Descriptor copy F$GBlkMp rmb 1 get System Block Map  opt -l ttl OS-9 System Symbol Definitions pag ************************************************************ * * System Service Request Code Definitions * ORG 0 F$Link rmb 1 Link to Module F$Load rmb 1 Load Module from File F$UnLink rmb 1 Unlink Modu#  copy F$GModDr rmb 1 get Module Directory copy F$CpyMem rmb 1 Copy External Memory F$SUser rmb 1 Set User ID number F$UnLoad rmb 1 Unlink Module by name ORG $28 Beginning of System Reserved Calls F$SRqMem rmb 1 System Memory Request F$SRtMem rmb 1 System Mde Definitions * ORG $80 I$Attach rmb 1 Attach I/O Device I$Detach rmb 1 Detach I/O Device I$Dup rmb 1 Duplicate Path I$Create rmb 1 Create New File I$Open rmb 1 Open Existing File I$MakDir rmb 1 Make Directory File I$ChgDir rmb 1 Change Default Directorymb 1 Get Free High Block F$AllTsk rmb 1 Allocate Process Task number F$DelTsk rmb 1 Deallocate Process Task number F$SetTsk rmb 1 Set Process Task DAT registers F$ResTsk rmb 1 Reserve Task number F$RelTsk rmb 1 Release Task number F$DATLog rmb 1 Convert DAemory Return F$IRQ rmb 1 Enter IRQ Polling Table F$IOQu rmb 1 Enter I/O Queue F$AProc rmb 1 Enter Active Process Queue F$NProc rmb 1 Start Next Process F$VModul rmb 1 Validate Module F$Find64 rmb 1 Find Process/Path Descriptor F$All64 rmb 1 Allocate Proces I$Delete rmb 1 Delete File I$Seek rmb 1 Change Current Position I$Read rmb 1 Read Data I$Write rmb 1 Write Data I$ReadLn rmb 1 Read Line of ASCII Data I$WritLn rmb 1 Write Line of ASCII Data I$GetStt rmb 1 Get Path Status I$SetStt rmb 1 Set Path Status I$T Block/Offset to Logical F$DATTmp rmb 1 Make temporary DAT image F$LDAXY rmb 1 Load A [X,[Y]] F$LDAXYP rmb 1 Load A [X+,[Y]] F$LDDDXY rmb 1 Load D [D+X,[Y]] F$LDABX rmb 1 Load A from 0,X in task B F$STABX rmb 1 Store A at 0,X in task B F$AllPrc rmb 1 Allos/Path Descriptor F$Ret64 rmb 1 Return Process/Path Descriptor F$SSvc rmb 1 Service Request Table Initialization F$IODel rmb 1 Delete I/O Module F$SLink rmb 1 System Link F$Boot rmb 1 Bootstrap System F$BtMem rmb 1 Bootstrap Memory Request F$GProcP rmb 1 GClose rmb 1 Close Path I$DeletX rmb 1 Delete from current exec dir ************************************************************ * * File Access Modes * READ. equ %00000001 WRITE. equ %00000010 UPDAT. equ READ.+WRITE. EXEC. equ %00000100 PREAD. equ %cate Process Descriptor F$DelPrc rmb 1 Deallocate Process Descriptor F$ELink rmb 1 Link using Module Directory Entry F$FModul rmb 1 Find Module Directory Entry pag ************************************************************ * * I/O Service Request Coet Process ptr F$Move rmb 1 Move Data (low bound first) F$AllRAM rmb 1 Allocate RAM blocks F$AllImg rmb 1 Allocate Image RAM blocks F$DelImg rmb 1 Deallocate Image RAM blocks F$SetImg rmb 1 Set Process DAT Image F$FreeLB rmb 1 Get Free Low Block F$FreeHB r$  00001000 PWRIT. equ %00010000 PEXEC. equ %00100000 SHARE. equ %01000000 DIR. equ %10000000 pag ************************************************************ * * Signal Codes * ORG 0 S$Kill rmb 1 Non-Interceptable Abort S$Wake rmb 1 Wake-up Sleeping Pr rmb 2 Device Driver Name Offset rmb 1 M$Mode (defined above) M$Port rmb 3 Port Address M$Opt rmb 1 Device Default Options M$DTyp rmb 1 Device Type * * Configuration Module Entry Offsets * ORG M$IDSize MaxMem rmb 3 Maximum Free Memory PollCnt rmb 1 Entiptor (Y-bytes at [X]) TTL Structure Formats pag ************************************************************ * * Module Definitions * * Universal Module Offsets * ORG 0 M$ID rmb 2 ID Code M$Size rmb 2 Module Size M$Name rmb 2 Module Name M$Tocess S$Abort rmb 1 Keyboard Abort S$Intrpt rmb 1 Keyboard Interrupt ************************************************************ * * Status Codes for GetStat/PutStat * ORG 0 SS.Opt rmb 1 Read/Write PD Options SS.Ready rmb 1 Check for Device Ready ries in Interrupt Polling Table DevCnt rmb 1 Entries in Device Table InitStr rmb 2 Initial Module Name SysStr rmb 2 System Device Name StdStr rmb 2 Standard I/O Pathlist BootStr rmb 2 Bootstrap Module name pag *********************************************ype rmb 1 Type / Language M$Revs rmb 1 Attributes / Revision Level M$Parity rmb 1 Header Parity M$IDSize equ . Module ID Size * * Type-Dependent Module Offsets * * System, File Manager, Device Driver, Program Module * M$Exec rmb 2 Execution Entry OffSS.Size rmb 1 Read/Write File Size SS.Reset rmb 1 Device Restore SS.WTrk rmb 1 Device Write Track SS.Pos rmb 1 Get File Current Position SS.EOF rmb 1 Test for End of File SS.Link rmb 1 Link to Status routines SS.ULink rmb 1 Unlink Status routines SS.Feed r*************** * * Module Field Definitions * * ID Field * M$ID1 equ $87 Module ID code byte one M$ID2 equ $CD Module ID code byte two M$ID12 equ M$ID1*256+M$ID2 * * Module Type / Language byte * * Field Masks * TypeMask equ %11110000 Type Fieldset * * Device Driver, Program Module * M$Mem rmb 2 Stack Requirement * * Device Driver, Device Descriptor Module * M$Mode rmb 1 Device Driver Mode Capabilities * * Device Descriptor Module * ORG M$IDSize M$FMgr rmb 2 File Manager Name Offset M$PDevmb 1 issue form feed SS.Frz rmb 1 Freeze DD. information SS.SPT rmb 1 Set DD.TKS to given value SS.SQD rmb 1 Sequence down hard disk SS.DCmd rmb 1 Send direct command to disk SS.DevNm rmb 1 Return Device name (32-bytes at [X]) SS.FD rmb 1 Return File Descr%   LangMask equ %00001111 Language Field * * Type Values * Devic equ $F0 Device Descriptor Module Drivr equ $E0 Physical Device Driver FlMgr equ $D0 File Manager Systm equ $C0 System Module Data equ $40 Data Module Multi equ $30 Multi-Module Sbrtn equ $20 ***************************************************** * * Error Code Definitions * org 200 E$PthFul rmb 1 Path Table full E$BPNum rmb 1 Bad Path Number E$Poll rmb 1 Polling Table Full E$BMode rmb 1 Bad Mode E$DevOvf rmb 1 Device Table Overflow E$BMID ition Codes register R$A equ 1 A Accumulator R$B equ 2 B Accumulator R$D equ R$A Combined A:B Accumulator R$DP equ 3 Direct Page register R$X equ 4 X Index register R$Y equ 6 Y Index register R$U equ 8 User Stack register R$PC equ 10 Program Counter registSubroutine Module Prgrm equ $10 Program Module * * Language Values * Objct equ 1 6809 Object Code Module ICode equ 2 Basic09 I-code PCode equ 3 Pascal P-code CCode equ 4 C I-code CblCode equ 5 Cobol I-code FrtnCode equ 6 Fortran I-code * * Module Attrirmb 1 Bad Module ID E$DirFul rmb 1 Module Directory Full E$MemFul rmb 1 Process Memory Full E$UnkSvc rmb 1 Unknown Service Code E$ModBsy rmb 1 Module Busy E$BPAddr rmb 1 Bad Page Address E$EOF rmb 1 End of File rmb 1 E$NES rmb 1 Non-Existing Segment E$FNAer R$Size equ 12 Total register package size Entire equ %10000000 Full Register Stack flag FIRQMask equ %01000000 Fast-Interrupt Mask bit HalfCrry equ %00100000 Half Carry flag IRQMask equ %00010000 Interrupt Mask bit Negative equ %00001000 Negative flag butes / Revision byte * * Field Masks * AttrMask equ %11110000 Attributes Field RevsMask equ %00001111 Revision Level Field * * Attribute Flags * ReEnt equ %10000000 Re-Entrant Module * * Device Type Values * DT.SCF equ 0 Sequential Character File Ty rmb 1 File Not Accesible E$BPNam rmb 1 Bad Path Name E$PNNF rmb 1 Path Name Not Found E$SLF rmb 1 Segment List Full E$CEF rmb 1 Creating Existing File E$IBA rmb 1 Illegal Block Address rmb 1 E$MNF rmb 1 Module Not Found rmb 1 E$DelSP rmb 1 Deleting StacZero equ %00000100 Zero flag TwosOvfl equ %00000010 Two's Comp Overflow flag Carry equ %00000001 Carry bit IntMasks equ IRQMask+FIRQMask Sign equ %10000000 sign bit true equ 1 useful name false equ 0 useful name ttl Error Code Definitions pag *******pe DT.RBF equ 1 Random Block File Type DT.Pipe equ 2 Pipe File Type * * CRC Result Constant * CRCCon1 equ $80 CRCCon23 equ $0FE3 pag ************************************************************ * * Machine Characteristics Definitions * R$CC equ 0 Cond&  k Pointer memory E$IPrcID rmb 1 Illegal Process ID rmb 1 E$NoChld rmb 1 No Children E$ISWI rmb 1 Illegal SWI code E$PrcAbt rmb 1 Process Aborted E$PrcFul rmb 1 Process Table Full E$IForkP rmb 1 Illegal Fork Parameter E$KwnMod rmb 1 Known Module E$BMCRC rmupt polling routine D.UsrIRQ rmb 2 User irq routine D.SysIRQ rmb 2 System irq routine D.UsrSvc rmb 2 User service request routine D.SysSvc rmb 2 System service request routine D.UsrDis rmb 2 User service request dispatch table D.SysDis rmb 2 System service S  S b 1 Bad Module CRC E$USigP rmb 1 Unprocessed Signal Pending E$NEMod rmb 1 Non Existing Module E$BNam rmb 1 Bad Name E$BMHP rmb 1 (bad module header parity) E$NoRam rmb 1 No Ram Available E$BPrcID rmb 1 Bad Process ID E$NoTask rmb 1 No available Task numbe reuest dispatch table D.Slice rmb 1 Process time slice count D.PrcDBT rmb 2 Process descriptor block address D.Proc rmb 2 Process descriptor address D.AProcQ rmb 2 Active process queue D.WProcQ rmb 2 Waiting process queue D.SProcQ rmb 2 Sleeping process q opt -l ttl Direct Page Definitions page ************************************************************ * * Direct Page Variable Definitions * org $20 reserve first 32 bytes D.FMBM rmb 4 Free memory bit map pointers D.MLIM rmb 2 Memory limit D.ModDirr rmb $F0-. reserved E$Unit rmb 1 Illegal Unit (drive) E$Sect rmb 1 Bad SECTor number E$WP rmb 1 Write Protect E$CRC rmb 1 Bad Check Sum E$Read rmb 1 Read Error E$Write rmb 1 Write Error E$NotRdy rmb 1 Device Not Ready E$Seek rmb 1 Seek Error E$Full ueue D.Time equ . Time D.Year rmb 1 D.Month rmb 1 D.Day rmb 1 D.Hour rmb 1 D.Min rmb 1 D.Sec rmb 1 D.Tick rmb 1 D.TSec rmb 1 Ticks / second D.TSlice rmb 1 Ticks / time-slice D.IOML rmb 2 I/O mgr free memory low bound D.IOMH rmb 2 I/O mgr free memory hi bo rmb 4 Module directory D.Init rmb 2 Rom base address D.SWI3 rmb 2 Swi3 vector D.SWI2 rmb 2 Swi2 vector D.FIRQ rmb 2 Firq vector D.IRQ rmb 2 Irq vector D.SWI rmb 2 Swi vector D.NMI rmb 2 Nmi vector D.SvcIRQ rmb 2 Interrupt service entry D.Poll rmb 2 Interrrmb 1 Media Full E$BTyp rmb 1 Bad Type (incompatable) media E$DevBsy rmb 1 Device Busy E$DIDC rmb 1 Disk ID Change E$Lock rmb 1 Record is busy (locked out) E$Share rmb 1 Non-sharable file busy opt l '  und D.DevTbl rmb 2 Device driver table addr D.PolTbl rmb 2 Irq polling table addr D.PthDBT rmb 2 Path descriptor block table addr D.BTLO rmb 2 Bootstrap low address D.BTHI rmb 2 Bootstrap hi address D.DMAReq rmb 1 DMA in use flag * TABLE SIZES BMAPSZ eq opt -l ttl OS-9 I/O Symbolic Definitions page ************************************************************ * * Path Descriptor Offsets * ORG 0 PD.PD rmb 1 Path Number PD.MOD rmb 1 Mode (Read/Write/Update) PD.CNT rmb 1 Number of Open Images PD.DEV rmary Module P$SWI rmb 2 SWI Entry Point P$SWI2 rmb 2 SWI2 Entry Point P$SWI3 rmb 2 SWI3 Entry Point P$DIO rmb DefIOSiz default I/O ptrs P$PATH rmb NumPaths I/O path table P$Signal rmb 1 Signal Code P$SigVec rmb 2 Signal Intercept Vector P$SigDat rmb 2 Signu 32 BIT MAP SIZE SVCTNM equ 2 NUMBER OF SERVICE REQUEST TABLES SVCTSZ equ (256-BMAPSZ)/SVCTNM-2 SERVICE REQUEST TABLE SIZE page ************************************************************ * * Process Descriptor Definitions * DefIOSiz equ 12 NumPathmb 2 Device Table Entry Address PD.CPR rmb 1 Current Process PD.RGS rmb 2 Caller's Register Stack PD.BUF rmb 2 Buffer Address PD.FST rmb 32-. File Manager's Storage PD.OPT equ . PD GetSts(0) Options PD.DTP rmb 1 Device Type rmb 64-. Path options PDSIZE eqal Intercept Data Address rmb $40-. unused P$Size equ . Size of Process Descriptor * * Process State Flags * SysState equ %10000000 TimSleep equ %01000000 TimOut equ %00100000 ImgChg equ %00010000 Condem equ %00000010 Dead equ %00000001 opt l s equ 16 Number of Local Paths ORG 0 P$ID rmb 1 Process ID P$PID rmb 1 Parent's ID P$SID rmb 1 Sibling's ID P$CID rmb 1 Child's ID P$SP rmb 2 Stack ptr P$CHAP rmb 1 process chapter number P$ADDR rmb 1 user address beginning page number P$PagCnt rmb 1 Memu . * * Pathlist Special Symbols * PDELIM equ '/ Pathlist Name Separator PDIR equ '. Directory PENTIR equ '@ Entire Device page ************************************************************ * * File Manager Entry Offsets * ORG 0 FMCREA rmb 3 CreateS  GS ory Page Count P$User rmb 2 User Index P$Prior rmb 1 Priority P$Age rmb 1 Age P$State rmb 1 Status P$Queue rmb 2 Queue Link (Process ptr) P$IOQP rmb 1 Previous I/O Queue Link (Process ID) P$IOQN rmb 1 Next I/O Queue Link (Process ID) P$PModul rmb 2 Pri(   (Open New) File FMOPEN rmb 3 Open File FMMDIR rmb 3 Make Directory FMCDIR rmb 3 Change Directory FMDLET rmb 3 Delete File FMSEEK rmb 3 Position File FMREAD rmb 3 Read from File FMWRIT rmb 3 Write to File FMGSTA rmb 3 Get File Status FMSSTA rmb 3 Set File S ;Srmb 2 Device 'Base' Port Address V.LPRC rmb 1 Last Active Process ID V.BUSY rmb 1 Active Process ID (0=UnBusy) V.WAKE rmb 1 Active PD if Driver MUST Wake-up V.USER equ . Driver Allocation Origin **********************************************************Status FMCLOS rmb 3 Close File ************************************************************ * * Device Driver Entry Offsets * ORG 0 D$INIT rmb 3 Device Initialization D$READ rmb 3 Read from Device D$WRIT rmb 3 Write to Device D$GSTA rmb 3 Get Devic opt -l ttl Random Block File Manager Definitions *************** * Modification History * 82/07/13 PD.Exten added to path descriptor by RFD. * 82/07/13 PE entries defined by RFD. * 82/07/15 V.FileHd inserted in drive static by RFD.** * * Interrupt Polling Table Format * ORG 0 Q$POLL rmb 2 Absolute Polling Address Q$FLIP rmb 1 Flip (EOR) Byte ..normally Zero Q$MASK rmb 1 Polling Mask (after Flip) Q$SERV rmb 2 Absolute Service routine Address Q$STAT rmb 2 Static Storage Address Qe Status D$PSTA rmb 3 Put Device Status D$TERM rmb 3 Device Termination page ************************************************************ * * Device Table Format * ORG 0 V$DRIV rmb 2 Device Driver module V$STAT rmb 2 Device Driver Static storage V$DE * 82/09/10 Level One/ Level two cond added by WGP. * 82/09/17 Record Lock cond added by WGP. * 82/09/17 PD.SLE renamed to PD.Creat by RFD. * 82/09/17 V.DiskID, V.BMapSz, V.MapSct added for smart * multi-sector bit$PRTY rmb 1 Priority (Low Numbers=Top Priority) POLSIZ equ . opt l SC rmb 2 Device Descriptor module V$FMGR rmb 2 File Manager module V$USRS rmb 1 use count DEVSIZ equ . ************************************************************ * * Device Static Storage Offsets * ORG 0 V.PAGE rmb 1 Port Extended Address V.PORT )  map searching by RFD. * 82/09/20 reserved areas added in static storage. *************** * * Record-Locking Switch * RCDLOCK set 0 pag ************************************************************ * * Random Block Path Descriptor Format * org PD.FST rmb 2 Max ticks to wait for locked segment PE.Owner rmb 1 Process ID of owner of locked segment * PE.Lock status codes Unlocked equ 0 no portion of file is locked RcdLock equ 1 record from LoLck to HiLck locked FileLock equ 2 entire file locked EofLock ributes PD.FD rmb 3 File descriptor psn PD.DFD rmb 3 Directory file descriptor psn PD.DCP rmb 4 File directory entry ptr PD.DVT rmb 2 User readable dev tbl ptr * State Flags BUFMOD equ 1 Buffer modified SINBUF equ 2 Sector in buffer FDBUF equ 4 File descr PD.SMF rmb 1 State flags PD.CP rmb 4 Current logical byte position PD.SIZ rmb 4 File size PD.SBL rmb 3 Segment beginning lsn PD.SBP rmb 3 Segment beginning psn PD.SSZ rmb 3 Segment size PD.DSK rmb 2 Disk id PD.DTB rmb 2 Drive table ptr org PD.OPT rmb 1 equ 4 End of file is locked endc * * Device Descriptor Format * org 0 DD.TOT rmb 3 Total number of sectors DD.TKS rmb 1 Track size in sectors DD.MAP rmb 2 Number of bytes in allocation bit map DD.BIT rmb 2 Number of sectors/bit DD.DIR rmb 3 Address of iptor in buffer EOFSEC equ 8 End of file sector EOF equ 16 End of file ifne RCDLOCK ************************************************** * Random Block Path Extension Format org 0 PE.PE rmb 1 PE path number PE.PDptr rmb 2 back ptr to this PE's Path DescrDevice type PD.DRV rmb 1 Drive number PD.STP rmb 1 Step rate PD.TYP rmb 1 Disk device type (5" 8" other) PD.DNS rmb 1 Density capability PD.CYL rmb 2 Number of cylinders PD.SID rmb 1 Number of surfaces PD.VFY rmb 1 0=verify disk writes PD.SCT rmb 2 Defaultroot directory fd DD.OWN rmb 2 Owner DD.ATT rmb 1 Attributes DD.DSK rmb 2 Disk id DD.FMT rmb 1 Disk format; density/sides DD.SPT rmb 2 Sectors/track DD.RES rmb 2 Reserved for future use DD.SIZ equ . Device descriptor minimum size DD.BT rmb 3 System bootstriptor PE.NxFil rmb 2 Drive Open-File list ptr PE.Confl rmb 2 circular File Conflict list PE.Lock rmb 1 Path lockout status PE.LoLck rmb 4 Low Locked Logical addr PE.HiLck rmb 4 High Locked Logical addr PE.Wait rmb 2 PE ptr to (next) locked-out PE PE.TmOut sectors/track PD.T0S rmb 2 Default sectors/track tr00,s0 PD.ILV rmb 1 Sector interleave offset PD.SAS rmb 1 Segment allocation size PD.TFM rmb 1 DMA Transfer Mode PD.Exten rmb 2 Path Extension (PE) for record locking rmb PDSIZE-.-13 PD.ATT rmb 1 File att*  ap sector DD.BSZ rmb 2 Size of system bootstrap DD.DAT rmb 5 Creation date DD.NAM rmb 32 Volume name DD.OPT rmb 32 option area * * File Descriptor Format * org 0 FD.ATT rmb 1 Attributes FD.OWN rmb 2 Owner FD.DAT rmb 5 Date last modified FD.LNK rmb 1 LiS  S  V.USER Reserve required V.NDRV rmb 1 Number of drives rmb 8 reserved DRVBEG equ . Beginning of drive tables * * Global Storage For Disk Drive Tables * Each Table Contains The First 'DD.Siz' Bytes * From Sector 0, And The Current Track, Stepping Rate, * Bnk count FD.SIZ rmb 4 File size FD.Creat rmb 3 Segment list extension FD.SEG equ . Beginning of segment list * Segment List Entry Format org 0 FDSL.A rmb 3 Segment beginning physical sector number FDSL.B rmb 2 Segment size FDSL.S equ . Segment list entry opt -l ttl Sequential File Manager (SCF) Definitions page ********** * Static storage requirements * SCF Devices must reserve this space for SCF ORG V.USER V.TYPE rmb 1 Device type or parity V.LINE rmb 1 lines left until end of page V.PAUS rmb 1 immit-Map Use Flag, And Disk Type * org 0 rmb DD.SIZ Device descriptor, sector 0 V.TRAK rmb 2 Current track V.BMB rmb 1 Bit-map use flag V.FileHd rmb 2 open file list for this drive V.DiskID rmb 2 Disk ID V.BMapSz rmb 1 Bitmap Size V.MapSct rmb 1 lowest rea size FD.LS1 equ FD.SEG+((256-FD.SEG)/FDSL.S-1)*FDSL.S FD.LS2 equ (256/FDSL.S-1)*FDSL.S MINSEC set 16 * * Directory Entry Format * org 0 DIR.NM rmb 29 File name DIR.FD rmb 3 File descriptor physical sector number DIR.SZ equ . Diectory record size ediate Pause request V.DEV2 rmb 2 attached device's static V.INTR rmb 1 Interrupt char V.QUIT rmb 1 Quit char V.PCHR rmb 1 Pause char V.ERR rmb 1 Accumulated errors V.XON rmb 1 X-On char V.XOFF rmb 1 X-Off char V.RSV rmb 12 Reserve bytes for future expansisonable bitmap sector rmb 8 reserved DRVMEM equ . opt l **************** * * Static Storage * * * Overall Disk Static Storage * * Note: This does Not reserve Any memory for Drive Tables * Each Driver is responsible for reserving sufficient * memory for the appropriate number of tables. * org+  on V.SCF equ . total SCF manager static overhead *************** * Character definitions C$NULL set 0 null char C$RPET set $01 (ctl A - SOH) REPEAT LAST INPUT LINE C$INTR set $03 (ctl C - ETX) KEYBOARD INTERRUPT C$RPRT set $04 (ctl D - EOT) REPRINT CURRENrmb 1 reserved PD.D2P rmb 2 OFFSET of DEV2 name PD.XON rmb 1 ACIA X-ON char PD.XOFF rmb 1 ACIA X-OFF char OPTCNT set .-PD.OPT Total user settable options PD.ERR rmb 1 most recent I/O error status PD.TBL rmb 2 Device Table addr (copy) opt l reserved for Status routine ORG PD.OPT rmb 1 DEVICE TYPE PD.UPC rmb 1 CASE (0=BOTH, 1=UPPER ONLY) PD.BSO rmb 1 BACKSP (0=BSE, 1=BSE,SP,BSE) PD.DLO rmb 1 DELETE (0=BSE OVER LINE, 1=CRLF) PD.EKO rmb 1 ECHO (0=NO ECHO) PD.ALF rmb 1 AUTOLF (0=NO AUTO LF)T INPUT LINE C$QUIT set $05 (ctl E - ENQ) Keyboard Abort C$BELL set $07 (ctl G - BEL) Line overflow warning C$BSP set $08 (ctl H - BS ) BACK SPACE C$LF set $0A LINE FEED C$CR set $0D CARRIAGE RETURN C$FORM set $0C (ctl L - FF ) Form Feed C$XON set $11 (ct S {S PD.NUL rmb 1 END of LINE NULL COUNT PD.PAU rmb 1 PAUSE (0=NO END of PAGE PAUSE) PD.PAG rmb 1 LINES PER PAGE PD.BSP rmb 1 BACKSPACE charACTER PD.DEL rmb 1 DELETE LINE charACTER PD.EOR rmb 1 END of RECORD char (READ ONLY) PD.EOF rmb 1 END of FILE char PD.Rl Q - DC1) Transmit Enable C$XOFF set $13 (ctl S - DC3) Transmit Disable C$PAUS set $17 (ctl W - ETB) PAUSE charACTER C$DEL set $18 (ctl X - CAN) DELETE LINE C$EOF set $1B (ctl [ - ESC) END of FILE C$SPAC set $20 SPACE C$PERD set '. C$COMA set ', ******************************************************************** * * OS-9 Level I Definitions * * Definition of Level I symbols renamed under Level II * F$UNLK equ F$Unlink Unlink Module F$CHAN equ F$Chain Chain process to new module F$SLEP equ F$Sleep PPR rmb 1 REPRINT LINE char PD.DUP rmb 1 DUP LAST LINE char PD.PSC rmb 1 PAUSE char PD.INT rmb 1 KBD INTR char (ctl c) PD.QUT rmb 1 KBD QUIT char (ctl q) PD.BSE rmb 1 BACKSPACE ECHO charACTER PD.OVF rmb 1 LINE OVERFLOW char (BELL) PD.PAR rmb 1 PARITY CODE ******* * FILE DESCRIPTOR OFFSETS * ORG PD.FST PD.DV2 rmb 2 OUTPUT DEV TBL PTR PD.RAW rmb 1 READ/WRITE OR RDLIN/WRLIN MODE PD.MAX rmb 2 READLINE HIGH BYTE COUNT PD.MIN rmb 1 DEVICES ARE "MINE" IF CLEAR PD.STS rmb 2 Status routine module addr PD.STM rmb 2 ,  rocess Sleep F$SPRI equ F$SPrior set process priority F$PNAM equ F$PrsNam Parse Name F$CNAM equ F$CmpNam Compare Two Names F$SBIT equ F$SchBit Search Bit Map F$ABIT equ F$AllBit Allocate Bit Map F$DBIT equ F$DelBit Deallocate Bit Map F$STIM equ F$STime set E$DIRF equ E$DirFul Module directory full E$MEMF equ E$MemFul Memory full E$USVC equ E$UnkSvc Unknown Service Request error E$MODB equ E$ModBsy Module busy E$RNAM rmb E$EOF+1 returning non-allocated memory E$BBND equ E$BPAddr Bad page address E$BPN equ E$ equ I$SetStt set status I$CLOS equ I$Close close path S$ABT equ S$Abort Keyboard abort signal S$INTR equ S$Intrpt Keyboard interrupt signal COBOL equ CblCode COBOL module type SS.RST equ SS.Reset Reset Device SS.WTK equ SS.WTrk Write Track SS.SIZ equ S current time F$SRQM equ F$SRqMem System Memory Request F$SRTM equ F$SRtMem System Memory Return F$APRC equ F$AProc enter active process queue F$NPRC equ F$NProc start next active process F$VMOD equ F$VModul Validate module F$F64 equ F$Find64 Find process/BPNam bad path name E$LNEM equ E$MNF Module not found E$DESP equ E$DelSP deleting stack ptr memory E$IPID equ E$IPrcID illegal process ID E$ISC equ E$IPrcID+1 E$NOCH equ E$NoChld No children E$PRCF equ E$PrcFul Process table full E$KMOD equ E$KwnMod Known S.Size File size SS.FEE equ SS.Feed Form feed SS.DCM equ SS.Dcmd Hard disk command M$STAK equ M$Mem Module Stack Requirement P$PCNT equ P$PagCnt Memory page count P$PRIO equ P$Prior Priority P$STAT equ P$State Process state P$QUEU equ P$Queue Queue link (ppath descriptor F$A64 equ F$ALL64 allocate process/path descriptor F$R64 equ F$Ret64 return process/path descriptor F$IODL equ F$IODel delete i/o module I$ATCH equ I$Attach device to system I$DTCH equ I$Detach device from system I$CREA equ I$Create create module E$BCRC equ E$BMCRC Bad module CRC E$USP equ E$USigP unprocessed signal pending E$IFKP equ E$IForkP illegal fork parameter E$RD equ E$Read Read error E$WR equ E$Write Write error E$NRDY equ E$NotRdy Device Not Ready REVMSK equ Revsmask INISTR equ Inirocess ptr) P$PMOD equ P$PModul Primary module ptr P$SIGN equ P$Signal Process Signal P$SIGV equ P$SigVec Signal intercept vector P$SIGD equ P$SigDat Signal intercept data address E$PTHF equ E$PthFul path table full E$IID equ E$BMID Illegal module ID blocknew file I$MDIR equ I$MakDir make directory file I$CDIR equ I$ChgDir change default directory I$DLET equ I$Delete delete a file I$WRIT equ I$Write write data I$RDLN equ I$ReadLn read line I$WRLN equ I$WritLn write line I$GSTT equ I$GetStt get status I$SSTT-  tStr TYPMSK equ TypeMask LANMSK equ LangMask IRQM equ IRQMask FIRQM equ FIRQMask NPATHS equ NumPaths SYSTAT equ SysState TSLEEP equ TimSleep *************** * * Level One defs renamed under level * D.MODD equ D.ModDir Module directory ptr D.BASE equ D.Ini Type Definitions * org 1 G68 rmb 1 DCB4 rmb 1 ExDiskII rmb 1 PD5 rmb 1 H58 rmb 1 PosiDisk rmb 1 ProfDisk rmb 1 ifeq LEVEL-1 Cms9670 rmb 1 endc DiskType set 0 ************************************************************ * * Clock Type DefinitionS St ROM base address D.ISVC equ D.SvcIRQ Interrupt service entry D.UIRQ equ D.UsrIRQ User IRQ routine D.SIRQ equ D.SysIRQ System IRQ routine D.UREQ equ D.UsrSVC User service request routine D.SREQ equ D.SysSVC System service request routine D.USVC equ D.UsrDs * org 1 MC6840 rmb 1 MC6840 timer VIA rmb 1 VIA timer M58167 rmb 1 M58167 clock MC146818 rmb 1 MC146818 clock MPT rmb 1 Swtpc MPT timer card ClocType set 0 opt l use ../../defs/sysdefs.gimix  opt -l ttl System Type Definitions page ************************************************************ * * CPU Type Definitions * org 1 Gimix rmb 1 SSB rmb 1 Kodak rmb 1 MotGED rmb 1 Primal rmb 1 Helix rmb 1 Positron rmb 1 Profitel rmb 1 Gimix2 rmb 1is User svc dispatch table D.SSVC equ D.SysDis System svc dispatch table D.SLIC equ D.Slice Process time slice count D.PRDB equ D.PrcDBT Process Descriptor Block table D.APRQ equ D.AProcQ Active process queue ptr D.WPRQ equ D.WProcQ Waiting process queue D S S ifeq LEVEL-1 Exorsr rmb 1 S09 rmb 1 Swtc rmb 1 Cms9609 rmb 1 Mm19 rmb 1 Percom rmb 1 Elektra rmb 1 endc OneMHz equ 1 TwoMHz equ 2 CPUType set 0 CPUSpeed set OneMHz ************************************************************ * * Disk Controller.SPRQ equ D.SProcQ Sleeping process queue ptr D.MNTH equ D.Month D.TIC equ D.Tick D.TSLC equ D.TSlice Ticks / Time-slice .   ttl Gimix Dynamic Address Translator Definitions page ************************************************************ * * Dynamic Address Translator Definitions * DAT.BlCt equ 16 D.A.T. blocks/address space DAT.BlSz equ (256/DAT.BlCt)*256 D.A.T. block s-MC6840 CPort equ $E210 endc A.Term equ $E004 A.T1 equ $E020 A.T2 equ $E024 A.T3 equ $E030 A.T.init equ $15 A.P1 equ $E000 A.P equ $E042 DBG.DP equ $E4 DBG.Time equ $E210 ize DAT.ImSz equ DAT.BlCt*2 D.A.T. Image size DAT.Addr equ -(DAT.BlSz/256) D.A.T. MSB Address bits DAT.Task equ $FF7F Task Register address DAT.TkCt equ 16 Number of DAT Tasks DAT.Regs equ $FFF0 DAT Block Registers base address DAT.Free equ $FC Free Block Number DAT.BlMx equ $FF Maximum Block number DAT.BMSz equ $100 Memory Block Map size SysTask equ $20 Gimix System Task number IOBlock equ $FE ROMBlock equ $FF ROMCount equ 1 number of blocks of ROM RAMCount equ 1 initial blocks of RAM LastRAM equ IOBlock maximum RAM block number CPUType set Gimix MappedIO equ true ClocType set M58167 DiskType set G68 DriveCnt set 4 ifeq DiskType-G68 DPort equ $E3B0 endc ifeq DiskType-DCB4 DPort equ $E3C0 endc ifeq ClocType-M58167 CPort equ $E220 endc ifeq ClocType/  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O