LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)TABLE INFORMATIONCI4Current date is Hd*Bƣed on U.  P ? Apple //X @{BB@6bBB@ijpbZb ԳԳ@dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L$< $ \ &PASCALSYUSERPROGINITIALIGETCMD UCSDFILE EXTFILEMEXTFILEMš]6W.TEXTת .CODEתš!!Ȅ!!P!x!P ( >ˡ 뚹  צ`&Ꟛ צ.CODE$.BACKׯצ.ASCIaF*:˄/˄&ڲ#áצ:áD6>,ת(.Ä !á צ[š!!!(4צ4848@צ/44צ:.Í4šצ/44š>444ȓ4.484854צ/46444ȩ4å.ˍo˩4ń\88P.TEXTׯ74צ:4*å#Í%Í4ōM4á@4Pá/á *á?@%áΪ@:ץ44ȡAá+#Ó4צ/ˍ4@תP4á7\5P6ת@ת,š[ץ44š7]ץ114á7g14š^743355 5073331é731é14Ä3*á74147Í4!ץ44á4" ,Í ˫T \$ á (ȡ*龫 ȡazȄaA3>,ء4ت /6: á :@4 @ A P @6d2& |" "%: ˡ J#鿥  &'azȄaAB%Type to continue% " ġ2 2fj <32 &ˡ 2 26!ˡ 2Rˡ 2=˄+&ȡ   ,á- .ت/S# /أ d-, P# /أd-, I# /أ -.@0! áצ IO error # / d-צ Exec err # /d-.  !"#$%&'()*+,-./0123456789:>?@O^^PROTOTYPE RUNTIME SYSTEM.PASCALš#ńW   0  𓍡ńȄ (˫/ ˡ   Í wˡ ˡ ! ˡ(  ,  & "ë 넡6 & Í< š˄ u 8 ÍáN áEF > 섡/ F >"ˡFFFFF>N >=" "ˡ v  á ń# Ȅ ꚹ~á^"Ä<7=+ > ˍ >  BFF >"ˡFFTFPd= šš > "ˡ "Lá"  që   N "ˡ  )á á áˡ  šá áK<"á83 ɻ  X\Hب&̂(ʂ( ʂ(ʂ(ʂ($ʂ(̂)ʂ)!&ʂ)ʂ)ʂ($ʂ($ĻD<ꓡ"á삫ûš > "ˡ˫   ɡĻ2꓄ > >"ˡ ꄓr<Lá > "á=ˡ땏ˡ 3ء #צ ۂ #ء >  >݂"ˡ ޕ݂ނɡ  <Ąɡ낫š ꓡ š땫@ >'@ ;> )#%0ë>>@@@| V  )šá4?š?VP>:+>P:X;髁@@@˄@#@ˡ @@#>@@ O@ ˡ? @ ?>@ > ? @ ?>쓡 @ ?>@ > á@ > :@ >:@ >:![L&á'횩)ˡ8 >#> \ˡآآآ*:UU šC+P VVPVU _aaO@á ( ˄ ë 9:ץaššë 铄˄dS79P7 a(7 آآ-? :آ&آ#> ?  ڢڢצڢ ڢ  آأأآآآ 9Pš8P8>뫀 8a a:a aa>ʁ@ צ" ˄ Ʉ8>ʁ@"ؚ"álʁ@&ʁ@ > "áVʁ@ ʁ@"Ä:ʁ@铡-@ ʁ@ >ʁ@ @>ʁ@ @>ʁ@{ 7( آڢآآ"٢ڢ٣ PSYSTEMPW\PIj 8́@́AƁAa@ƁAǐƁAP:ץaá:/Pa8ʁ@ >"á"ʁ@ˡ ʁ@ʁ@ʁ@ צʁ@ ʁ@á áÄڡɡá ɡ 럚肚`諁6"  >  >b) á إaaġ00000תȡ  ڕ0ق ꫀ𩀄򩀄"7ũ  @š& "ˡ鿩/ȡšš  > ; ɡ'áצ-32768 ` 逫-ġ@00ń0ˡ ɡc ȡꫀZš "1諀멀ȡ!E ʃE ʃE  ʃEʃD̃EʃEʃEʃEʃEʃEʃEʃEʃE  ʃE 4$Ƃ+̂dʂdȡ+٤ ̂eʂeתʂeʂeܣʃDܢʃD%ܢ% ʃD>ʃDʃD+ >&?̃DʃDʃDʃDʃD%̃E ʃEʃEʃEʃEʃE ʃEʃE ʃ٢ š٢ ٢٢ 4$  ؗ(/  ؗ(Ƃ+ ƃ*SYSTEM.MISCINFOתPƃ"á̃DܢʃDʃDܢʃD(7SYSPASCAL/RUNSYS.TEXT*:>tZt^+ZJtZt^+Z |LPRt^DEVO/SYSPASCALtJJ|r;t^JJ;t^; ~UUxS ^!SECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,*No user programתP4text? [C Compiling... ~UUkUSYSPASCAL/RUNSYS.CODE:JJzׯ{ y@צ>>  OQSUWY[] ''A>zˡ@*B;̀̀آA'ʀˡBʀáʀá>??>D;TPVvP jLV~ &"#n####&XHv4  R: thd z  `"B$>"z>@t!-ǀ@? ? צPEz>ׯ{ y@צ>>  OQSUWY[] ''A>zˡ@*B;̀̀آA'ʀˡBʀáʀá>??>D;T ,+z>>"ȡ{ˡo!צError # . closing FILE or DEVICE opened by last program$>"z>@t!-ǀ@? ? צPE š:X fˡ ؞!؟?!? ?ˡMx?š3ġ  ?w?v?ádt J~*!ˡ !蟚dt*ńȄ4šáRתPńȄ ,ń.áš蕿@šQȡ2é000+-Í-ë0^ 000á'3á 000 {]\ ȡ3"#쾿 > 9dá. 6áá:00áQP 0á0 뾿 9šš > | á1á3  ] |Nš  Ȅ٤ ̂d ʂdʂd >ʂd׷ړ ؞&"ڡؿʂdá ʂd ʂd.áʂdʂdʂd ˻عcʂdצCONSOLEjʂdSYSTERMתYʂdצGRAPHICHʂdPRINTERת7ʂdצREMIN(ʂdREMOUTתk\M B3&ʂddʂdضáSʂdšJ?ʂd1Ƃ;צ*SYSTEM.STARTUP.P1 Ƃ;P צPGתPˡǀ?P:ײP)@$$1v*ƁP!1Execution aborted. Put in system disk and reboot.Td ءPšP T6ˡ!PPƂ/ƂPƂ̂iƂiƂPƂiƁǠƂiP?̂e?>ʂe?>"ˡ$Unable to open ̂iv̂jʂjʂj1ʂj ʂj 1> 1Ɓ1ƀƀƀ ired library files are not present 3L?Required intrinsic(s) not available (possible bad library file)X PުPvƁnPvƁΪPƂ;PƂ;ƂƁƂgƂf̂dƂPʂd צP:Ƃá:+3w w+w+b43  n 4ńV54̂.5ʂ.ȡ;5575) ʂ 5554 Ƃצ*SYSTEM.LIBRARYPxƂ ʂx+3:-Error: RequȡIP  ٲ7)؞7)ؿ؂پ$áڸ444Z ȡ+ؾaġ +ز+ؾ $ 2تPww"á\w++L+IÄ)++LIBRARY FILES:ׯ w  " تP"á 3 Gצ&Warning: Cannot open the library file + <+צ Warning: צ is not usedR پ$ò$ÄZ11خu تP"á T n$2$ $š$$צ.CODE $$ š$$ צ:š/:n@A$P.LIBTPZ ȡ6ݤˡ&ޢ`ݤۼޢݤ> Xأأ أ > ,11ȡd1d1ٲ ٲ  ٗ 1!&ءdt >? ? ޢ ȡڤ ˡpݢڤ?Xܢ0ۤ ݢ`ڤáޣ!ݢ`ڤˡ  ޣ ר d't!צPΦתP22>  pq%sy!{P{ %צSystem re-initialized& j28h4rP  צCONSOLE:(#צSYSTERM:(>z ë0???JanFebMarAprMayJunJulAugSepOctNovDec?????????ר d't!צPΦתP22>  pq%sy!{P{ %צSystem re-initialized& j28h4 צCONSOLE:(#צSYSTERM:(>z ë0???JanFebMarAprMayJunJulAugSepOctNovDec?????????$  wx55ȡ"5555vu *?    H2צ*צ:צ??"?[צ0Bצ0tצ0,Vb& |"̂iƂiƂPƂiƁǠƂiP?̂e?>ʂe?>"ˡ$Unable to open ̂iv̂jʂjʂj1ʂj ʂj 1> 1Ɓ1ƀƀƀ ( ́ ́ ʁ ʁ צ ʁ ʁ ˄ʁ @˄ʁ ˄3 ʁ ! ʁ Þ"Ä  = &)ʁ á ʁ   "ń,ʁ !  ʁ ޾ٳ ا?ǀǓ ا?ǀ:1!&ÍXÍc(ÍEÍ QáG'á@=+á3@á)Fá Gá Há >z? ؚ21!$4YP>3$M l 0 nL T "&"ˡ.&"ˡ$  " áP$ނ š: -Ʉ  $ $ $šš$%&$۞$$ۂۂەߓf%%&"ˡ|ɡ& & "ˡN$ߡá4 á,á"$࣡ $ $šš&$۞$$ۂۂە R%%&"ˡ.&"ˡ$  " áP$ނ š: - ݓۤ ۤ Äݓ š ۤ  ɍX ޚ "ˡ8ˡޚ   dܓڢڢ   "ġ$ނ#˄ɡۤ  dáߢ  dá ߢ &ޣ˄ ߢ  ߢ ۤ ߢޣ"ߢ ޣ#ޢ ޢۤ ޢ á٢á( ת$&(0!    š ڪ 0ޢߢšáޢޣߢ  dޣ"ޢ#ޣ$)ޣߢ  dÍÍޢ  ܓۤ ۤ Äܓۤ  dÄÍߢۢڤ   ڪP44444444"ߚ44 4 4!4"d4$4% 4#44#4á74-4& 4&44&4T ڢڢ& ڢ&ڣڣڢ$ڢڣ"ڢÄڢá     á ۢڤ š sá ŶÄ)ڤ ܢɡ ڶá  á ġMáš6 ܂ۻݪ d ( ڣ"ڣ١ڢڣڢ#ڣ$ڣáڣ$ڣ#š ڢ#ڣ$ڣ%fڢ%ڢ١ڢ&ڣ$ڣ$ ڢ&ڣڣڢÄڣ% ܣġ ۤ ٤ ڨ ܢܣ*@ٕ۶š ڸ۸۶ š۸ ڸ:   ȡQ  ȡ   ȡ? ȡ  ġܡ=" áܡ ܓצ $  ޓ(ݤ ߢܯߢ  d˯7 H ۣȡڤ  ۣ צۣۢ0H dō (ܓ(*(ܡ )*) *)* ܓ)ת) (!($IKPz(  Íܡ  , Ąܓ"á    (( )(á (((ܡ( **(( *Ä(*Ä**Ȅ*Ą*MȄ*)v*ȡO(ۤ +++ō++ɍ+ ō+ ȍ+ 5٪P,6YتPš  ȡ޾ *:Í#Í*á ޾:ˍ צ:P?P#áL۾ ݏ۾0 4ޕ P5:Ä:P.áš: צ/˄5ȡ0ƀƀP̀ʀȡ0ܾaġ 00ܾ 87CONSOLE1:7SYSTERM2:7GRAPHIC3:7PRINTER6:5REMIN7:6REMOUT8ת802Ȅ&0á݂0 4 6ȡ4 0.  á{@H?hhhhhhjWȑ jȑ(!Hh0?H&h*0HH`?  hh *h < L+*(" B?  hh * <` hhL&ȑ`W CL& hʈL&fi` hhHj*H*HHL&SOS-PARAM-TABLE߻5޻5ݻ5ܻ56; ; ;  <  3 5=(=2hx? ?"? ? ?  . /202hh%hh%HH`%ʎ%HHXWɡ?#X?#XW?"XWš?#X?#XW?"X?"W?"?#VVVU2 R2 ػ%2تP3+&+2T'á  ܚ2"  P ٨ ب5 5#0á-=?#?"?#?"?"?"002 ,٪PتPZ,PƀPZ3ƀ3ZƀU$UáVV?"ɡYV?"YB?#V,á?#VZ,,ZYYV?#VVY,W?"Wǐš ?"VUiV, ;?  ō> ? 0*2 )2ܪP/ۻ0/ٻ1 23/3"32\ 6۪Pá? ?"11ǐȡs. .ٻ..3P33? 223.20;> > ;>c> 0Ʉ  廹> ō> 0 0,?? 19 c? ??á>0 ;? ?,2-2ȡ ނ0ō>- >>+2ȡ09ō>0 ˡ c> >>0Ʉ廹> ٪P3-, ,á55תآ1آ 0 5 6633 ȡ 6363 dȡ 6 3 65 4/ á5  5 -5 ---525 ˡ 5. 5.2,2h  ػ!2 jڝ?"ɡ6?#?#ھá?#٧?#ڝ?"ٕ?"ڕ?"?J=á=2áˡL2" ۝?"ܓ?#۾á ?#ܡ$?#RšR?#ئתPVdá;<:PP#PC/š:7צ:P; ./Ad ?3 1ˡI á+ݢˡڦתRáצ!צ2ڧ? š ǀڧ?ǀǀ Ǔš@:צ!á צ!P$;ئ00000תP  0ڂȡ۾0Ʉ< R<87  áG:/ |77áBš2@/áf9šoá+ھ.á ھ/á 2á9&á9á  áán8ڧ? á 6ȡ/ݾ!á ݾ /P޾ /P 5RR3ۂɄݓVá(۾'ۂ@n ȑL54)&#!  L?  hhhh * <Ű 깷LCB1.-,*)&# ^?  hhL  ?  hhhh * <hhʰ 쭷ȑLED<:520.-+*)$ f?  hh * <hhL'&$"<?  hhhhHH * <İ ȑjȑ*ȑLedbROLJI |?  hh왺z Z   :    ( tV8$@hvhwhhxylxh:vwlv8<<+-Í-۲0ݡߑ ع       &  * عteVG8  )   uh[NA4'á NTEGER[36]) /END; ' " "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION L E ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:I;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~g:./ H-6>UeLONGINTIPASCALIOSOSIO DIRSTUFFDIRSTUFFPLUTIL PLUTIL2 &McǰȑHH`0&# L? zD<F`"tL>nRJRl: * ( 2  R     6&>@). Calls the SOS routine GET_MARK.}  :?  hhҰ L0? hhhh Ӱ HHL#6?e ?hhhhhhưȑHH`# D?hhhhhhhh   * <L*?   d *hhhhL#"!6?   * <L*?   * <b L%$:?   * <c L%$j** * <LedbVRQPONMLKJIHFDCA>963?  hhhhhhꍴ0 ȩhh * <Ȱ ȩLa`XMJ0-*('& ~? * <LGF=:43-,+*%" f?   d *hhhhL#"!6?  hhhhϰ j쭳j*쭲L=<40.-,% V?  hhhh왺==` 5l 5 l 5lhzh{hƁhhhƁ}eʆƀƀ|ʊe~8偅z{lzhhhhhh8冐 0 h HHHL,LGIL,h hBCʈ _.ł( Ł|} ŀ}|ƀLV~HHL,~HH~HHHHHHL,~ʈƅFHHHH恥HL,0~}ʈƅ0I愊iʈؚH恥LŁ|} ƅLw ~~8% ,    ݂܂F  -    ޏݏ@܏ޏ@ݏ܏ޏݏ܏܏ ݏ ܏- +$&!&%š#$ە##š##$"$##ɡ#"ɡ2ݓ&&Í&&&á&"&!)&%&&Í&&"&!)$%&&!!$$#ȡ!ˡ ء##ȡ''0'Q'Pˡǀġg/  ( ǀ > *ڨ ɡ(MMMM܏M܏T+ܨ ء '$' \)  ɡ-Í á ܑ ) '!Í ) % ɡ    ~ɡ  ~"(&آڢ٢آ&'ڢڢá ޡ?šڢڢ'ޡڢڢڢ~ڢ n( ȡ ۞$(@ $( $( ۡ#š #ȡšڢۑڢ.!ɡܢڕܢښ $"ڢܢۢڢ`` ڢ 2#آڢ٢آ*$آڢ٢آ(%آڢ٢آɄɡ& 8ݍ á ބݍݍܓ܄>ۢۢۢۢۢNۢۢۢܕ( trToNum(VAR decstr: string; poweroften: integer ): real;  procedure NumToStr( r: real; fixed: boolean; placecount: integer; 4var s: string; var expon: integer );  IMPLEMENTATION E and: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,) PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); PROCEDURE FWRITEREAL(VAR F: FIB; xx: REAL; e1, e2: INTEGER); FUNCTION SUPER_MOD(A,B : INTEGER) : INTEGER; FUNCTION SUPER_DIV(A,B : INTEGER) : INTEGER;  function Shhƀ 0ȑƀ0hJJJJ 0ȑ) 0ȑƀĆLOL,3-'~{vvvvvvvvvvvZTNlb3 `\[TOG@;:3(  T[Fc= YP12 &%& FTYP13 &%& FT ei|ʽ 8襁i}ƅ|L,hƀhhh8hohlhXhhhFffff80)ƅܥ#FfII懥HHL,LGhhhhhƀhh-Ȅʈƅ})H揥>ʈƅ ~擥  抦|ɥ8包~ƅLII懩&&u`hh HHHHHL,}ʈƅFyʈƅ}ʈƍƎƋƊЌإL2d|e~28ʈƅyʈƅƉ` _LWŁ|}ƅLwE||怦}ʚH恺8倅偪ƅ  ILL, _LwLL,E0LL _Lw ILL,ELL _LwEe8刅刪ʈʈݒ&~??@ɡ??"@?Ä?á?????,? >"Má? > >? >á @@@ Ą @ ?ˡ\?%,?%???&@?"ˡ?˄??&@ۂ"ˡu??š???#?$???$?#ń ?#?$?ۚ?$ܚ?AAA?AˡA  5~ 09Ȅ.!~Ȅ/azōaA5qjȑHHHH`\hhhhhhhh  0<Ȱ& u E   ؠ ) JJJJ 0ȑ ) 0ȑᘠHH`hhhhhhR0H*v  u&&v&E& &詀&L&&ť&&ʈHH`o'hhhhhhhhhhhh bL)5Ffeyumꩀ5JA1SKQL51QF55(5ȱ0 fLfJJJi䨩ȩ50,8 &5&  6 F5L L5HH`~u$hhhhhhhhhh訪 横 Ji&&0 fL]fJJJi&&⠊hhhhhhhhhhhh&FffHHHHHH`Phhhhhh⨥HH`,hhhhhhhhhh訪 横v E 詀 vE 詀  LjH`:hhhhhhH50HHH`*hhhh LHH`4hhhhhhhhhhhhhhhhȑ**ȩȑ&HHHH`h hhhhhhhhHHHHHH`(0 2) l` 0 2) l` 0 2) l` 0 2) l` hhhhhh404)@ 4) HHH š)  ȡ0ˡ š  *ݡ W~ ٦***תP(š_ۡɡڑ ɡá0PÄ,ߡצ-QP<ˡ;,ɡ#??P?0Q?P>>.P>8??P?8U?P/ؑ>,>Nš N>>š3=>?=?ȡ#@@P@צ0Q@P==ȡ5=?=?ȡ#ˡ/14 ڡؼáڡؼZš0áۀ š ۀ*ByO7>zS8ȡ ȄPšPMšM/(<<<0Eá4+á4-á4.1.Ǹ ɡ ۏ01ۑ+-4.L0Ná=;á/Ä ڡؼ1A3N3'Ä!4' Ä1./-+á -á0Ná1. 2 .á0Eáa4.12,ɡ1.0آ  "10ˍ8,ɡ 1ɡؿ 0ÄL2٢10ˡ103آ1 41È8IȱjE Ȅ橀إHH`zhhhhhhhhhh[ȱ)uD*&**u&L&*** ʈHHHH`7hhhhhhhh訪 H & *HHH`6hhhhhhhhHHHH`&hhhhhheȑȦ0+L4-I8i  L6i0i0HH`.`4j rXJF Function SOS_Set_Lev ( Level : Integer; Var RetCode : Integer ) : Boolean; Function SOS_Get_Lev ( Var Level : Integer ) : Boolean; {$ENDC} {$IFC SOS_Utility_IO} Function SOS_S_Fence ( Priority : Integer ) : Boolean; Function SOS_G_Fence ( Var Priorlean; Function SOS_Get_EOF ( RefNumb : Integer; Var Low, Hi, RetCode ) : Boolean; Function SOS_Set_Mark ( RefNumb, Base, Low, Hi : Integer; Var RetCode ) 7: Boolean; Function SOS_Set_EOF ( RefNumb, Base, Low, Hi : Integer; Var RetCode ) 6: Boolean; ean; Function SOS_Set_B_Mark ( RefNumb, Base, BlockNumb : Integer; Var RetCode ) :: Boolean; Function SOS_Set_B_EOF ( RefNumb, Base, BlockNumb : Integer; Var RetCode ) 8: Boolean; Function SOS_Get_Mark ( RefNumb : Integer; Var Low, Hi, RetCode ) : Boor; Var RetCode ) : Boolean; Function SOS_Flush ( RefNumb : Integer; Var RetCode ) : Boolean; Function SOS_Get_B_Mark ( RefNumb : Integer; Var BlockNumb, RetCode ) :: Boolean; Function SOS_Get_B_EOF ( RefNumb : Integer; Var BlockNumb, RetCode ) 9: Bool Function SOS_Write ( RefNumb : Integer; Var OutputBuf; NumbBytes : Integer; 7Var RetCode ) : Boolean; Function SOS_S_Write ( RefNumb : Integer; Var OutputBuf; OffSet, 9NumbBytes : Integer; Var RetCode ) : Boolean; Function SOS_Close ( RefNumb : Integemb : Integer; Var InputBuf; BytesReq : Integer; 6Var BytesRead, RetCode ) : Boolean; Function SOS_S_Read ( RefNumb : Integer; Var InputBuf; OffSet, 8BytesReq :Integer; Var BytesRead, RetCode ) : Boolean; Integer; Var RetCode ) 9: Boolean; Function SOS_Open ( Var Path; ReqType, Pages : Integer; Var SysBuf, RefNumb, 6RetCode ) : Boolean; Function SOS_New_Line ( RefNumb, Flag : Integer; NewCh : Char; Var RetCode ) 7: Boolean; Function SOS_Read ( RefNue, FileList; ListLeng : Integer; :Var RetCode ) : Boolean; Function SOS_Volume ( Var DevName, VolName, TotalBlks, FreeBlks, RetCode ) 5: Boolean; Function SOS_Set_Prefix ( Var Prefix, RetCode ) : Boolean; Function SOS_Get_Prefix ( Var Prefix; Length : Function SOS_Destroy ( Var Pathname, RetCode ) : Boolean; Function SOS_Rename ( Var OldPath, NewPath, RetCode ) : Boolean; Function SOS_Set_Info ( Var Pathname, FileList; ListLeng : Integer; :Var Retcode) : Boolean; Function SOS_Get_Info ( Var Pathnam981 1982 1983 Apple Computer Inc.rce): INTRINSI''')xPxxINTEGER xREAL &J~CHAR \n SOS_D_Info ( DevNo : Integer; Var DevName, DevList, RetCode ) 5: Boolean; {$ENDC} {$IFC SOS_File_IO} Function SOS_Create ( Var Pathname; FileID, AuxID, Storage, EOFBlk : Integer; 8Var RetCode ) : Boolean; ,Copyright 1D_Status ( DevNumb, StatusCode : Integer; 9Var StatusList, RetCode ) : Boolean; Function SOS_D_Control ( DevNumb, ControlCode : Integer; :Var ControlList, RetCode ) : Boolean; Function SOS_Get_D_Num ( Var DevName, DevNumb, RetCode ) : Boolean; Functio { Set to TRUE to compile SOS calls for: } {$SETC SOS_File_IO := TRUE} {$SETC SOS_Device_IO := TRUE} {$SETC SOS_Utility_IO := TRUE} {$SETC SOS_Memory_Mgt := TRUE} {$SETC SOS_Plus_IO := TRUE} {$IFC SOS_Device_IO} Function SOS_v :2D"\.< z 048VID K6ANU8HVIDS ZA\A!8H@DIRRANGEA~AA8MTID CAAN8HFULLID VJAA8H ity : Integer ) : Boolean; Function SOS_Set_Time ( Var Time ) : Boolean; Function SOS_Get_Time ( Var Time ) : Boolean; Function SOS_Get_Analog ( Mode : Integer; Var Value, RetCode ) : Boolean; Function SOS_Terminate : Boolean; {$ENDC} {$IFC SOS_Memory_Mgt} Function SOS_Request_Seg ( Base, Limit, SegId : Integer; Var SegNumb, =RetCode ) : Boolean; Function SOS_Find_Seg ( SrchMode, SegId : Integer; Var FiveInts ) : Boolean; Function SOS_Change_Seg ( SegNumb, ChgMode : Integer; Var Pages, =RetCode)hhhhh\h[`[ x)H(H`2h(h)hhhhhh[a[ x\ȑ)H(H`>h(h)hhhhhhii[\]b[ x)H(H`Lh(h)hhhhhhii[\]c[ x)H`hah^h_h]hh\h[[ xȑ)H(H`?97531.*(' fh(h)hhhhЍ L h(h)hhhhhhh\h[[ xȑ)H(H`"@h(h)hhhhhh[[ x\ȑ)H(H`>h(hȑ)H(H`A:7431.*(' hh(h)hhhhЍL h(h)hhhhύ1hhhhhhh\h[`[ x]_ȑ^`)H(H`M;7421.+$! th(h)hhhhэL_ h(h)hhhh΍5hhh[ xȑ)H(H`"@h(h)hhhhύ&hhhhh\h[[ xm]m^^m_j^jȑ)H(H`MA=;:2/.,) th(h)hhhhэNL7 h(h)hhhh΍7hhh _h*`^ah]hh\h[[ xh(h)hhhhhhh_h`hhh\h^][[ xȑ)H(H`86.*'$"!^h(h)hhhhhhh_h`hhheheL :h(h)hhhhhhh\h[[ xȑ)H(H`"@h(h)hhhhhhh\h[hh^hh]hh\h[[ xȑ)H(H`,)&" Nh(h)hhhhhhhhh_h`hh^]h\h[[ xaȑb)H(H`B@742.,+(! rh(h)hhhhhhhhh_h`hhheheLj @Lh(h)hhhhhhh^hhh]\[[ xȑ)H(H`0&# Rh(h)hhhhhhhhhhe]dhcha[t_u`hbhhh\[ x^ȑ)H(H`SROMIHGFEDB8652h(h)hhhhhȑ)H(H`QA10-*'%$lh(h)hhhhhhhhhhhhhh_]^\[[ xb`ȑca)H(H`A@=:7541.'$ h(h)hhhhhhhh]\[[ xȑ)H(H`%"hh]\[[ xȑ)H(H`%"Lh(h)hhhhhhhhhh_]^\[[ xȑ)H(H`-,)&#! ^ÍL č>h(h)hhhhhhh`hhhhh_]^\[[ xh\h^`]_ a[[ xȑ)H(H`8430-*'%$ lh(h)hhhhhhh fh*geh]hdhhbhchah`r^s_hh\[[ xȑ)H(H`]ZWVUSPNLHGFED;865h(h)hhhhhhYL) 5h(h)hhhhhhhh^_h]hh\h[[ xȑ)H(H`G0-+($"!`h(h)hhhhhhhhhh[\][ x^ȑ)H(H`+(%#"Zh(h)hhhhhhhhhh ) : Boolean; Function SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ) : Boolean; Function SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ) : Boolean; Function SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ) : Boolean; {$ENDC} {$IFC SOS_Plus_IO} Function Up_Load ( Var Char_Set ) : Boolean; Function At_Sign ( Var Object ) : Integer; {$ENDC} Implementation E Integer; Var FiveInts ) : Boolean; Function SOS_Change_Seg ( SegNumb, ChgMode : Integer; Var Pages, =RetCode ) : Boolean; Function SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ) : Boolean; Function SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ) : Boolean; Function SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ) : Boolean; {$ENDC} (H`Rh(h)hhhhhhhhh\h[d[ xȑ⨪])H(H`0,*)Veh(h)hhhhhhhhh`hh^h_h\h][@[ xaȑ)H(H`:7531.,+& hh(h)hhhhhhh]hh\h[e^ȱ_A[ x^L8 )H(H`DA=:7310' lh(h)hhhhhhhhh]hh\h_^[B[ x^ȑ_)H(H`<93/,*)& jh(h)hhhhhhh\h[dC[ x; curs_at_eol: boolean): boolean; &FUNCTION search_directory(VAR name: string; VAR selections: bytestream; AVAR max_selected, rc: integer): boolean; # PROCEDURE get_pas_error(iorslt: integer; VAR msg: string); & &PROCEDURE get_sos_error(sos_rc: ile_entry: f_entry_bufr): boolean; & &PROCEDURE read_keyboard(VAR line: string; max_len: integer; >delimiters: setofchar; VAR delim: char; >curs_at_eol: boolean); > &FUNCTION prompt_for_filename(prompt: string; VAR x, y: integer; DVAR fname: string&FUNCTION expand_filename(prompt: string; VAR x, y: integer; @VAR fname, prefix, suffix: string): boolean; & &FUNCTION open_directory(dir_name: string; bufr: dir_bufr_ptr): integer; & &PROCEDURE close_directory; & &FUNCTION next_dir_entry(VAR fir(line1, line2, line3, line4: string; setting up a codefile} )dot_text_code: boolean; {true==>add .text/.code if required} )error_is_up: boolean; {true==>an windowed error is displayed} )err_bell_sw: boolean; {true==>let write_er} )error_is_up: boolean; {true==>an windowed error is displayed} )err_bell_sw: boolean; {true==>let write_error ring the bell} )lib_sw: boolean; {special switch for "libmap" and "library"} )esc_to_stop: char; {esefix: string; {current Pascal-system filename prefix} )exec_prefix: string; {executing program prefix} )prev_prefix: string; {"$" global prefix} )prev_suffix: string; {"$" global suffix} .text/.code if requirede to some routines} )dir_bufr_ptr = ^dir_bufr; {pointer to directory I/O buffers} )dir_bufr = PACKED ARRAY [0..511] OF 0..255; {a standard dir buffer} & f_entry_bufr = PACKED ARRAY [0..38] OF 0..255; {file entry buffers} & &VAR )curr_pr # &{$p--------------------------------------------------------* '| DirStuff - Directory Processing Unit - Updated 09/20/83 | '*---------------------------------------------------------*} &TYPE {[j=15/40]} )setofchar = SET OF char; {a param typ:.oolean; Function SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ) : Boolean; Function SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ) : Boolean; Function SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ) : Boolean; {$ENDC} H` Dh(h)hhhh)H(H`Copyright 1981,1982,1983 Apple Computer, Inc.2347h*h+HH+H*H`&&&&v~.T4JPVz :@* : 8 R  x]L( )H(H`40-+*!Vh(h)hhhhhhhhh\h][D[ x^ȑ)H(H`,*'%$Th(h)hhhhhhh\h[E[ xȑ)H(H`"@h(h)hhhhhh  x)H(nteger; VAR msg: string); & &PROCEDURE init_dirstuff; & #IMPLEMENTATION 4{$p----------------------------------* 5| Declarations hidden from the user | 5*-----------------------------------*} &CONST {[j=14/40]} X E & &PROCEDURE get_sos_error(sos_rc: i//6ɡ ƀצƀ6ƀƀӪ/Y/ⓄNƀ.TEXTׯ 6ƀ.CODE׷'6̀ƀ6ƀӦ.CODEƀӪM/Dƀ.TEXT׷ƀצ.CODE'6̀ƀ6ƀӦ.TEXTƀӪ6Lš?̀ƀ6ƁS;ƀӦ/ƀ6ƀӪK66̀ƀӦ.ƀ6ƀӪ666 6/.66/š6š6ƀƀצEXEC//  6.6/˄6#˄Ⓞ&6̀ƀӧ/Pƀ6ƀӪ66߾.áǀš ƀ š\66 ˡ,6̀ƀ PƀӦ/Qƀ6ƀӪ6̀ƀ PƀӦ QƀӪ6̀ƀ Pƀצ QƀӪá@66̀ƀӧ/Pƀ6ƀӪ6 6/á6š}6 ˡ(6/6̀ƀ6ƀӪ:66*áV6á%6̀ƀӦ#4:ƀ6ƀӪ"6̀ƀצ#4ƀ6ƀӪ6#áƀ  6 Ą.0ܝ/ڝ/ŕȡ ڂ 6 ܳ ƀǀǓ ƀVVP_f J š%۾/ˡ./Í/ @צQ   Ȅ2  ߿6̀ƀPƀӦ QƀӪ6%á'66̀ƀӧ/*PumberPצSegment not foundPئInsufficient heap spaceתPצ?No files were selected from directory or the directory is emptyPئ%Pathname does not specify a directoryתPZ0mP<&u_C+bVVצ SOS error le would be exceededPئPosition out of rangeתPצAccess not allowedPצ File is busyPצNot a SOS volumePצDuplicate volume errorPצNot a block devicePצSegment request deniedPצSegment table fullPצInvalid segment nndתPצResource not availablePצ I/O errorPئDevice is write-protectedתPצInvalid pathname syntaxPئPath not foundתPئVolume not foundתPئFile not foundתPئDirectory is fullתPצIncompatible file formatPצEnd of fi76.077.078.080. VV ǖVצ(082.087.088.225.226.227.228.251.252.253.ǾV ɡ(VVצ00VV.VGdɡ'VV0VV.VVVVצ.V šڹئDevice name not fouئ File is busyתPئ&Volume format neither SOS nor Apple ][תP}ئDuplicate volume errorתP_ئNot a block deviceתPE&8" ~P3 bF33P3T3PJ ( צ8016.037.039.043.064.068.069.070.073.074.0te-protect errorPئ(Too many files open for system to handleתPئDevice is not availableתPצPath not foundPצVolume not foundPצFile not foundPצDirectory is fullPئ Attempt to read past end of fileתPئAccess not allowedתP33.3333צ.3 šڹئIllegal pathnameתPئNo room on deviceתPצUnit is not on linePئ#No such file in specified directoryתPצDuplicate pathnamePצFile is already openPצWriئתPġّڞڿ0 áۡڞ-8Zš2ڡ  šńۑ D  צ907.08.09.10.11.12.16.19.36.68.69.70.73.76.78.80.82.87.88.P ɡ'330nteger; VAR msg: string); & &PROCEDURE init_dirstuff; & #IMPLEMENTATION 4{$p----------------------------------* 5| Declarations hidden from the user | 5*-----------------------------------*} &CONST {[j=14/40]} ƁSƀӦ..ƀӪP6POQS ߪP צ*%Í/$Ä bbPbǠbP$bbPbǠbPġ^á6۪P655á 6צP@5/65 445á 6תP!66b54bP6/6צPצ^ˍצ/Äbb6PbǠbP2$á+/ábbPbǠbP$áO/צ:ÄbbPbצ/QbPbbPbǠbPܦPšP!(ؓ%ء*#ɡ#! ! Ä/¡/ٝ/5  /ٝ/ǚ á //(i(ƀǛǀƀ ƀƀác..I (or E or CTRL-E) for . . mode%.AAצ3D (or CTRL-Y) deletes from cursor to end of line, 3AצCTRL-X deletes whole lineLAצ'ESCAPE restores original line (if any)/n0/)/ZZ'ɾ؏0.'#ġ! /!-.,! Z/'replaceת insertת//צ and move cursor, צ5 (or CTRL-D) and (or CTRL-F) delete charactersLƀ̀/¡؝// //ƀQ* t/</ܝ/ޝ/۝/*&//(&%/J#؂""š#ؕ,","8-"š,#؂"/ʀƀR ƀǝ//Ŀ/̀ƀʀʀ/ſƀʀʀ/̀// /ƀƀ,h,?,,ʀá//((&.ʀƀʀʀ ƀʀʀc/ƀƀ//ƀʀ//ƀƀ̀ƀצh׷?׷׷̀ƀ̀hʀšh̀?ʀš?̀ʀš̀ʀLšL̀Lʀ/ܝ/ʀ/ʀ/ޝ/ʀ/ʀá>/ܝ/ޝ/۝/*&//ƀ̀(ʀʀ+̀ƀƀƂ66ȡ/(ǐ()66ȡ/(ǐ(&/,Td+ئ׷^šá )'1Ƕ Ƕn,ƀPhP?PP"̀//+/+/T<'/ġ&//ؿ//((((()()()(*Z/(()nj(66ȡ Ǒ(Ǎ()ǎ(66ȡ Ǒ(Ǐ((()ǖF)))&#Ǘ3Hxp#ǘ6***"#ǙF)))&#ǚ3Hxp#/T "//֝/á//////؞!/ /ɡ/֭V%/š////*&تP++/š&#lj  #NJnjnjnjnjnjnjnj#NjnjnjnjǏnjnjnjnj#nj| #Ǎ #/ǎ |#Ǐ #ǐ #Ǒ#ǒ ? #Ǔ"U#ǔU"#Ǖ6***"#/̶ؿ$$࿶$$$$$$$$0#//֝/š."(ɡ//."/؞ /./Z///F///// dž*I#LJI*#Lj" /ɡ/á$/Н/ . /՝/ѝ/վˡ/'š'/ѝ/ݞ/՝/҂/՝//ԝ/ԝ/š/ˡ /$O!ؓbP.ˡ ۦתPܪP ܪPڦתP,.0XT۪P /1..u11˄_0/..F//.. +/ѝ/#/ҝ/$/ӝ///h/ġ //Э׷ צč*צ=/Í  .3/|/!3ábbPb.QbPTL55ɡ _צ_b5b_צ.CODEbbPb.QbP55/5 445ˡ(b54bPb544ƀƀǛ ̀ʀȡƀ/ƀ$!  š %&%/ád#šQ##/':##Ǜ#// /LjZ#šG-##.',Ǜ/,! / /á'M#ɡ7#####Ǜ/ /S#š%Line is too long!צצ'#š ## ###ǕX'###ȡ.-.' Z J ڕڞ:0 ڕڞx=nELName File Type Blocks Modified Time Created Time Length תPL Lnnھ/ánڞ/Ŀ/ſná/(7.:    ^ ڕڞ-/ -   ת  < ˡǘǙǚ/ / 6ǑǑǑ/ / 6|5 ( Ǒ(ǒ( ( (ء/(٢'ء/(/(>7ڟɄ7/(ښڟˡ7ښ/(5@8á/(7.9ƀʀ̀ʀ¢ƀʀ¢ ƀƀʀ¢ ƀʀ¢ƀʀ¢ƀ!ʀ¢ʀŸʀ¢=ʀ¢>á ʀ>=ʀʀ=  2()(((( 6ˡǘǙǚ/ /6ǑǑǑ/ /6R:4W۪P.ڪP٪P.̀̀ƀ/(WẀƀWPƀצ.QƀªPWʀˡ .2>=ƀ ƀ̀ƀʀƀƀʀƀá!ƀ̀ƀƀPƀצ/QƀªP34(@ɡ .2á00P0צ/Q0P.1ܑ/ ܑˡ0݂ݑ0Pš00Pצ=š00Pɡ0ݕ0P^1š.R03š!6543!53árl  áۧ/P/00P0.Q0Pܑ/ ܑá#۪Pۧ/P//ܾ/á)á צP0݂ݑ0P݂ڦתP٦תPئתPá.1ܾ/Ɓצ.QƁP8799š9=á9=/á/*ۦ*SYSTEM.LIBRARY.תP/Sׯ/|ׯ#mתZ?צZ65m?;צ65ۧ/S/|;;. 8799š9.á99Ɓ9Ɓˡ1ƀ́ƁƀZƁצ.[Ɓ צ.Press RETURN to continue, ESCAPE to terminate.ם/Ǘ/>>/á. ́ƁPƁƀaƁP9/b9/ˡZ9ɡ ?תZ?Ɓ9ƁZ?.TEXT׷?.CODE׷́ƁP=w=/=/Í/Í^́ƁPƁ/QƁṔƁPƁצ=QƁP87/==/ˡƀ۪Z/́ƁPƁ.QƁPm/SZ?/|Zצ65m?. /2ƀ21 ƀɪP1787 צ=š<./á"<́ƁPƁ=QƁP<ړ876Ɓ/< @(( ުPġ ׷ 8ƹǛu'á תPZPˡ/ؓ%ء # #ǯǿ0&%//&%#'Ą%Line is too long!צצ'CǛ,!  /'##G'>'-.Ǜ, á!,ġ  ! /T'B#! ˡ/!  / ?/n  Un ɡType = תProDos=תn ooo(on #ڕڞn%h(h)hhhhhhh;hhhhh;;;;;; ;ȑ)H(H`QA10-*'%$l/h(h)hhhhhhhhhh;;;h;h;;;;;;h;hhh;; /5h(h)hhhhhhhh;;h;hh;h;; ;ȑ)H(H`G0-+($"!`/h(h)hhhhhhhhhh;;;; ;;ȑ)H(H`+(%#"Z/h(h)hhhhhhhhhhh;h;;;; ;//ȡ ڏ/ڂ '...JanFebMarAprMayJunJulAugSepOctNovDecתP //ȡڏ////////Ч/S/P/|תP9//// s0 ;8L 8  AsciifileDatafile Binary Fontfile תP//ȡ ڏ/ڤ HFotofile BasicprogBasicdataWPfile Sosfile Type = 13Type = 14DirectoryתP//ȡ ڏ/ڂ 6RPS Data RPS IndexAFDiscardAFModel AFReptFMTScreenLibתPš[/"//////Q/P/پ/ˡ////P//Q/P/*ΪP/*>/*š[/*"/*/////*Q/P/*پ/ˡ/*///*P//Q/P?HUnknown Badfile Codefile Textfilê?Ƃ?PƂ?/QƂ?P/ƀ!nFq , //// / / / / /////ö,/ / /.CONSOLEתP/#/??/P/>/ٹ( V "$rrǕá;[ and move up and downצ selects, unselects gives directory infoƀá~˄ʂ> Ʉ+ߞ߂ ̀̂?Ƃ?Ƃ?צ is no longerƂ?#ƀצ selected.#ƀƀ š1ƀ̂?Ƃ?ƀ#Ƃ? $Ƃ?ƀGƂ?#ƀ #ƀfrom the list.ƀƀ////*&/Ɓ%/ƀ޹á//( 79á//( 7:á&ˡ ˄  á0 /( ̂?ʂ?ġ /( 7)7ƀ̂?Ƃ?צSelect max of Ƃ?ƀƂ?צ filesƂ?#ƀ̂?Ƃ?צOnly Ƃ?ƀ Ƃ? files may be selected Ƃ?#ƀá!ƀ̂?Ƃ?ƀ#Ƃ?צ $Ƃ?#/ 57&/ /¡ // á/ޝ/Ý////*&/Ɓ(+(//)'()NJ( ̂?ʂ?ȡ Ǒ( Nj()()(/(ʂ>8/ȡáCƀʦSelect only one fileת#ƀOnly one file may be selectedת#ƀWTGD/h*h+hh/0h-h,+H*H`20'$"J/hhhhhh    eȄ HH`T/T>*.!f###'t'\(|((()4)++),P==@^RdH65H: Lx,-F--05$$`,F.= DOWN1 XDOWN2 lDOWN3 FTEXT PhFASCII FCHAR FCODE CONSBUFF; CONS procedure X_TO_Y (x: long_12; y: integer; var result: long_12); 3{Returns X to the Yth Power }  procedure OPEN (var FILENAME: FILETYPE; {FILENAME: Internal name of file} N{FILETYPE:User-defined data TYPE} N{ } procedure UPPERSTR (var str: string); 3{Change string variable to upper case }  procedure UPPER1 (var str: string); 3{Change string to mixed case } rs, or range of chars } 4 dest: string); {Dest chars, or range of chars } * {Transliterate chars in string } procedure UPPERCHR (var ch1: char); 3{Change char variable to upper case anks if lengthened } procedure NIBBLEX (inchar: char; var outhex: string); 3{Returns 2-nibble representation of char field } ( procedure TRANSLIT (var xstring: string; {String to be transliterated } 8source: string; {Source cha* procedure NEWLEN (var STR: string; {I/O string whose lgth is to be changed} 4LGTH: integer);{New string length. } 3{Change length of a string, pad with blt MI Last, Suffix format. } 4var out_name: string; {Last, First MI, Suffix format. } 4var out_last: string); {Last name. } 3{"First I Last, Suff" name to "LFIS" & "Last Name" } teger; 3{Integer from a numeric string }  procedure IOERROR (IO_ERR_NUM: integer; var IO_ERR_NAME: string); 3{Return the name of an I/O Error from its number } procedure LNAME (in_name: string; {FirsX4 (value : integer; var str : string); 3{Return hex representation of fullword } procedure INC (var counter: integer); 3{Increment a counter }  function INTSTR (strg: string): in3{End Include VARIANT} 3 function BASE_TEN (strg: string): integer; 3{Base-10 representation of a hexadecimal string }  procedure BLANK1 (var strg: string); 3{Strip double/lead/trail blanks from string }  procedure HEPUT 8$maKEYBOARDN$ FALSE 2TRUE H&NIL bMAXINT * BYTESTRELWORDSTREd@\ 3{  ival }  :'')PBBINTEGER xppREAL : CHAR  BOOLEAN v{ STRING 0 TEXT :$ INTERACT* INPUT &$inOUT] of 0..255); <3: (nybl: packed array [0..3] of 0..15); <4: (bit: packed array [0..15] of boolean); <5: (bool: boolean); <6: (octl: packed array [0..4] of 0..7); <7: (word: char); <8: (ch: packed array [0..1] of char); Fצ,PōצInvalid error codePT ɡI@ɡ#--(SOS)-U-P!--צ(SOS)-U-Pצ(SOS) צError not in tableP  ////.2/.P2צInvalid sys buffer parmPئDuplicate volume errorתPئNot a block deviceתPئ Invalid levelתPצInvalid bit map addressPf@Z6jV@,t`E6&n[zǀɄצSystem call errorP Pj V ead after endfileתPئFile position out of rangeתPئIllegal accessתPئUser buffer too smallתPצ File busyPئVolume not SOS or Apple-2תPצInvalid length in parm listPئOut of memory for sys bufferתPئBuffer table fullתPצles openתPצInvalid file reference noPئPath not foundתPئVolume not foundתPئFile not foundתPئDuplicate file nameתPצOverrun on volumePئDirectory fullתPئIncompatible file formatתPئUnsupported storage typeתPئRdPצInvalid byte countPtצInvalid block noP\צ Disk switchedPG .!gO9/@Ʉצ Device errorP PL v@ڹצInvalid pathname syntaxPئToo many char files openתPئToo many block fi+ t^G P1  ?ڹצInvalid request codePצInvalid status or control codePצInvalid control parm listPئDevice not openתPצDevice not availablePצResource not availablePצDevice write protecteal pathnameתPئNo room on disketteתPצUnit not onlinePئ No such fileתPئDuplicate pathnameתPئFile already openתPצ File closedP~ئBad input formatתPfئWrong disk formatתPMצDiskette write-protectedP-"ybF /qs  ڹצNo errorPצNo filename storage spacePئBad unit numberתPצIllegal operationPئIllegal directory specתPئUnit no longer onlineתPצFile no longer in directoryPئIlleg/-7-7ȡ38-8צ 12345678903 3  3//3-$--.///   /  š áK `צ0123456789ABCDEFPئ0000תP..ȡڕ(X ZڪP.á-á.77P+á77PšڪP/-0š-Ʉ11צ0123456789ABCDEF..á(11צ0123456789abcdef..á/-.--/ צ šצ š á for the file. } 4DISPLAY_NAME: string; {English title of for display } 4IO_METHOD: string; {Either RESET or REWRITE. } 4var PATHNAME: string); {In: Default PATHNAME or null} N{Out: Actual PATHNAME if OK. } -.-ȡ!2---2IIIׯ2צII2esqׯ2Esqׯ2ESQׯ2INCׯ2Incׯ2ATCׯ2DEDׯ2DEdׯ2EDDׯ2EdDׯ6[2P Q[ǡP/.צ á&g/JڪPƀ " " ÍPō٦תPئתP[צP š  11צ.š. 00/1ˡ1/0ˡ/á function ALLBLANK (var txtline: string): boolean; *{Returns TRUE if a string contains only blanks} function ERR_23 (s:string): char; *{Err msg at screen bottom. AMB 10/85}   procedure JUSTIFY (var j_str: string; direction: char; lgth: integer); WPW ʀƀʀ ƀ̀ʀ̀ʀ̀ʀʀġʀʀ̀WצQUITצP̀WצABORT ʀá j:Pr . F` ( 8Th.2"̀ʀáWPʀˡʀ  invalid̀ʀƀERROR: ƀצPress RETURN to retryצEnter "QUIT" for no file' or "ABORT" to terminate this programWתP̀ʀXצEnter pathname of the .: N.. צ#̀צNo file}צREWRITE"̀_"̀ʀŦ.TEXTÄ;ẀƀPƀ.TEXTUƀPW"̀ʀpassed = "צ".צ Fix the calling program, please.צEXIT triggered by subroutine.̀ƀƀƀƀ ?̀ƀƀצ** ̀ʀƀʀ ƀš =/|P<< =0 /<<m 72468":.ڪP٪P צREWRITEצRESETצ,Procedure OPEN error: Invalid IO_METHOD parmצI/O method =ܛܛ|?06á7á =#/ܛܛ|>0;á-/<š = <<0:á5ɡ =<<>V0809Í>/<</' !0 ڦתP< 05˄0/0<á = P<<ܛ0M<š<<AAPA QAPܛ0ɡ? =07áP<š =;/'<š3 P</ NšNɡš ɡقPšPٕ1113335678Lj:Ǖ; @> ?=9ڪP0ڡ ٛٛ hš ġؼ# T11 []<Mš @3  & ȡ,ٛ ٛٛ 4 D   ȡaٛړ ٛٛ ,ٛƀ/WW...ƀƀ., -٪PتP-VƀVƀš5ƀ́XƁXƀƁXƀƁƀƁƁX́ẂXʁWʁXȡ7ƁYʁWƁYV́VʁVšʁWƀʁVʁẂWB9ABCDEFPئ00תPTR ٪P-*..W.W.ȡW-WWɄOW,W/,/ȡ*-,000-0,,)///ƀW0/ 0/š0////.ƀ/.ƀP/.צ š̀ƀPƀ, RƀǢƀP[צ)̀ƀPƀ, Rƀ[ǢƀPrPō ؿɡ ڕ 0 צ012345678 procedure NOTICE (pgm_id,pgm_name,version,year: string); 2{Full screen copyright notice 07/89}  procedure STRIPSTR (var j_str: string); 3{Strip lead/trail blanks fr string} procedure WHEREXY (var x, y: integer); 3{Cursor location AMB 12/19/84}  function YN_23 (s:string; default: char): char; *{Prompt for "Y" or "N" response at screen bottom } *{Allow a default response or require a "Y" or "N" }   IMPLEMENTATION N E rection: char; lgth: integer); ƀ.YƁƁ**ׯ Ý́/Y|ŹƁצEnter pathname of the Ɓ.fƁ: hƁPZƁƁʁ. ̀ʀצPXšX.áXצ"WNo filexREWRITEׯ ڪP٪P  צREWRITEצRESETZ,Procedure OPEN error: Invalid IO_METHOD parmתPƀ́ƁצI/O method passed = "ƁeƁצ".gƁPƀ Fix the calling program, please.תPƀզPress RETURN to exit program.תPZƀƀƶ צ4 Press RETURN To Terminate9 Press ESCAPE for the PASCAL Systemá:%áצ šá*2.C,dgg$AWEZP @@.Yš. ./ڳ@./i&Please answer "Y" or "N."B PRESS ANY KEY./&.E ^r:* +++P3^T n ?ڞ N۪PYš &/Bš0B0PBצ (Y | N) --> ڳ@N.. All Commercial Rights Reserved̀Òʀʀȡ_ʀ̀&B PRESS ANY KEYƀ&]0N تP+š á ++++š á +۪̀PWڪP.٪PتPƀ: WDAMB v..̀Òʀʀȡ_ʀ̀̀̀ʀʀȡʀ̀  Copyright צ by Allan M. Bloom0 Q0Pٳ'ɡ00 0Q0Pٳw//./.-/.0/0ȡ#11צ 1Q1P///-0/0ȡ#11P1 Q1P//P 7j>ƀš  ɡ*ڪP&Aš.A.PB PRESS ANY KEY-&-ڪPȡ00Pٳ'ɡ00P procedure NOTICE (pgm_id,pgm_name,version,year: string); 2{Full screen copyright notice 07/89}  procedure STRIPSTR (var j_str: string); 3{Strip lead/trail blanks fr string} procedure WHEREXY (var x, y: integer); 3{Cursor location"W["WWŦ.TEXTÄ9ŹƁPƁ.TEXTUƁPZ"WWáZPWˡYWZ.ŹƁPƁצ is invalid. ]ƁZǭƁPƀPress RETURN to retryתPƀ# or Q to quit with no fileתPƀצ# or A to abort this programPZƀƀƀ ƀ.ʀئתPWʀ WáW  *R3 תP,צ P,)3U,Uɡ(Ǡ,P%%š%%,,P,Ǡ,P%%š%%ӥ,,P,צ_Q,P%%š%%,,צ_,Q,P.BMׯ צ.UT.LIׯ צ.PNp.SPׯ]""Bypassed Apple Writer command. #ӥ,,P,*P Já .PMׯצ.PN.FFׯ צ.LM.RMׯצ.PI.PLׯצ.TLá ]Pצ.BLá 4P צ.TMʀTʀ}ʀ šʀ}ʀʀ̀P?*#ƀ  תP'̀')̀)ʀ)ʀ'CD $إ/./ɡT$ تP$ɡ *á + P+ƀʀƀPʀšPƀ̀ʀá TتPئתP0ʀá T PTƀʀƀPʀ}تPצP+T}+L3TC3}R3תPL3̀3̀ʀʀȡU+ʀ šʀ+ʀTʀ š Pٿtإ/./ɡ//š///áئ תPLƀ Pƀ  ?ƀ Pƀƀá+ PT P} PšPƀ̀ʀá +تPצP0ʀTɡMצ P//P ,,צ.lm+,T,P+إ/./ɡ//ئ תP/<إ/./ɩ. //ɡO33PšP3 20צ33PšP3إ/./ɡBئ תP /1++THإ/./ɡ:R$إ/./š//++ɡP+/צ P//P ,,צ.lm-,T,P,.fjׯ צ.rj *V إ/./ɡš תPTL +צPإ/..++P/ɩ. //ɡئ תP 0TT')̀)ʀ)ʀ'CD $ إ/./ɡT$ צ PPT( )*تP+,+,ȡ.+++ ++ئ תP.cjׯ )Aצ.lj TƀʀƀPʀ}تPצP+T}+L3TC3}R3תPL3̀3̀ʀʀȡU+ʀ šʀ+ʀTʀ šʀTʀ}ʀ šʀ}ʀʀ̀P_?*#ƀ  תP'̀ƀ Pƀ  _?ƀ Pƀƀá+ PT P} PšPƀ̀ʀá +تPצP0ʀá + P+ƀʀƀPʀšPƀ̀ʀá TتPئתP0ʀá T PsB  ڪPצ+--š -T@ڏڂ?ˡ ۏ1צ Pۿ,ˡ۫,ڂق_?ˡ ۏ1 תPۿ+ˡ۫+U,U',ǀ,VVPV,ǠVVتšɡ̀ʀȡiá>̀ʀȡѥѩٛ%%š%%ӥšٛ ӥצ P%%š%% תP%%š%%"eu ȡ+ ɥ~ō 4צ 4 4תP]ױ ]]צPh   תP4ױ 4 4צP]צ ]]תPRt/ ,  PUP,P/쥁/ '(.é(''UP/P ZZ楂Y[⩁/šL/ '('.á-P  צ.FF (צY YZY Z ȡ䥁YZ áL'('/ /á.á (צP/P 詁///YZ/Oš,תPUצPP áw/dáM áA.U,  ȡѩ.-  ȡѩ 0\AppleWriter lines read = Y[תP/P [š]תP,+ צ"Loading EZP/AppleWorks header data.,  ȡѩO.T  ȡѩ=  ȡ!ѩ|\: \e&X ܥإ.:1 0f2 PAWEZPצ(AppleWriter to EZP/AppleWorks Conversionצ08/89צ1989תP'()*\0P.EZPTPצBlank-RETURN exits programOutput EZP/AppleWorks fileצrewrite\\ 8No output file.\: ȡ򥄫 AMB v.08/89Oȡ_Oȡ=Press RETURN to exit program0צPצinput AppleWriter fileresetץ00 .צNo input file.O:Bȡ \ȡ ǐȡǐ=r,/AWEZP: AppleWriter to EZP/AppleWorks ConversionD *@+*+ȡ*_*?** ** ++.bl+S+P j @.PRINTERת??ȡ??ȡ?? ?ȡ_??ȡ?   Záצ.fjP <áצ.cjP áצ.rjP ?ˡ|צP@ *@+*+ȡ**?** ** ++.tl+S+P_?ˡ|צP@ͩš2P ++.pn +T+Pš2P ++צ.sp +T+Pš2P ++.li +T+P ɡ P\P\áצ.ljPP ++.pi +T+PP ++.pl +T+PP ++.tm +T+PP ++.bm +T+P ɡ2P ++צ.pm +T+PP إ[6 20*צ P*צ PP ++צ.lm +T+PP ++צ.rm +T+P33PšP3צP*0Pצ/*š**SSP*/*SSPSSYS.PRTWSPإ"áGצ'Blank-RETURN for Apple Writer defaults.PئApple Writer SYS.PRT fileצRESETץ PšצConvert another file?NNá:.//.:P-;=lY`bv|&X T&PzFddx #fF#> PUP,P/쥁/ '(.é(''UP/P ZZ楂Y[⩁/šL/ '('.á-P  צ.FF (צce file lines processed so you know something is happening. At the end of the conversion, the program offers to convert another file. AWEZP August 2, 1989 Page 1 Bloom file name. If there isn't a SYS.PRT, you'll be asked for the pathname of a "SYS.PRT" file. If you specify none, you get the Apple Writer default page printing values. At this point, the conversion begins. An "odometer" ticks off the number of AW sour) file to set up the EZP/WP commands for page layout. If a SYS.PRT file exists in the same directory as your Apple Writer source file, that print command file is picked up automatically and presented to you as the default. You may change it to another etc -- but the program will die if you direct the output to a "character" device like a printer or your console screen. There are a lot of unprintable bits and bytes in an EZP/WP document. AWEZP uses the Apple Writer "print command" (usually SYS.PRTETTER02, the default for the output file would be .D1/LETTER02.EZP You may accept that default by pressing RETURN, or you may enter another pathname. You may direct the output file to any "block" device that you have -- floppy disk, hard disk, RAM disk,king for the pathname of the Apple Writer source file to be converted. The program then asks for the pathname of the converted, EZP/WP file, offering a default as the input pathname with ".EZP" added to the end. For example, if the input file were .D1/Loperly, please take the time to send me a note about it and a disk containing the offending document file. I'll see what I can do about it and get back to you as quickly as possible. Program Usage AWEZP begins by ases can not be translated to EZP/WP, either elegantly or at all. AWEZP is intended to give a good basic translation that should be sufficient for most purposes. If you find an Apple Writer document that does not convert to EZP/WP, or that does so imprmay be edited first to take advantage of EZP/WP's special capabilities or to address the few AW/EZP differences that this program does not handle. AWEZP doesn't do everything. EZP is a different program from AppleWriter, and some AW commands and featur AWEZP transforms an Apple Writer source file into the format used by the /// EZ Pieces (AppleWorks) word processor. The resulting file, once added to the EZP desktop, may be printed by EZP/WP without change, or it @Copyright 1989 by Allan M Bloom All Commercial Rights Reserved Introduction  PšצConvert another file?NNá:.//.:P-;=lY`bv|&X T&PzFddx Apple Writer to EZP/AppleWorks Your interaction with AWEZP is essentially confined to one command screen. When first invoked, the program reminds you that it is copyrighted with all commercial rights reserved. You can pass it around, but please don't sell it without my permission. After the "shark repellent" screen clears, the AWEZP screen appears. It looks like this: ___________________________________________________________________ | be bypassed. You may want to note it. At the end of a conversion this message area asks if you would like to convert another file. If not, it tells you that the job has been completed and invites you to press RETURN to clear the screen and emmands. The program is no speed merchant. It has too many things to do. G: Information and error messages appear here. During conversion, AWEZP will display anything appearing to be an Apple Writer command that it does not recognize. It will August 2, 1989 Page 2 Bloom Apple Writer to EZP/AppleWorks F: This "odometer" counts the number of input file lines, exclusive of imbedded "dot" coa file named SYS.PRT in the same directory as the Apple Writer file, it is offered as the default "print command" file. You may enter another file name, or you may press "spacebar-RETURN" to just get the AW defaults. AWEZP that is OK with you, press RETURN, else type in a different path name. Use the same editing commands as in A. D: The program is doing some necessary housekeeping. This message just lets you know it hasn't died and gone away. E: If there is . Openapple-L-Arrow: Delete left. Openapple-R-Arrow: Del right. Openapple-ESCAPE: Default reappears. Up-Arrow: File selection menu. C: The output file's path name defaults to the same as the input file's, with an "EZP" extension. Ifpath name of the AW text file you wish to convert. You may edit the pathname (after the colon) as follows: ESC: No file. Pgm ends. RET: Accept bracket contents. L/R Arrows: Move cursor. Openapple-I : Toggle insert | G: | Convert another file? (Y | N) --> N | |___________________________________________________________________| A: The program identifies itself, plus author initials and revision date. B: Type the = 15 | | | |===================================================================| | | Enter pathname of the AppleWriter SYS.PRT file: .D2/SYS.PRT | | | | | F: | AppleWriter lines read ... | | | | | E: | Blank-RETURN for AppleWriter defaults |-RETURN exits program | | Enter pathname of the Output EZP/AppleWorks file: .D2/TEST.EZP | | | D: | Loading EZP/AppleWorks header data.. | B: | Press RETURN to exit program | | Enter pathname of the input AppleWriter file: .D2/TEST | | | C: | Blank | A: | AWEZP: AppleWriter to EZP/AppleWorks Conversion AMB v.08/89 | |___________________________________________________________________| | xit the program. If you invoked the program from within the Pascal development system, you may ESCAPE to the Pascal command line instead of going to SYSTEM REBOOT or to the Catalyst/Selector menu. After you've exited AWEZP, your converted file(s) should be capable of direct loading into EZP/WP. If all goes well, you'll have a graphic vision of how well the conversion process worked, especially if you "zoom" the EZP/WP file. It may not go all that well. EZP/WP may tell you that it has "encoing via a negative paragraph margin and an increased left margin. For example a ".pm-5" and "lm+5" pair will start it, and a ".pm 0" and "lm-5" pair will end it. EZP/WP would use a simple "IN 5" and an "IN 0" in that case. AWEZP covers as best it can. We sufficiently shortened to have another word added in final printing. EZP/WP does not have AW's "paragraph margin" command. If you like your paragraphs indented, you'll have to do it yourself in EZP/WP. 6. OUTDENTING (EZP INDENTING): AW does outdentIf you use a lot of underlining in AW, especially with the backspace character (to remove inappropriate blanks), EZP thinks the line is shorter than AW does. Apple writer counts the control characters in its "line length" calculation. You may find a linal page layout, AW is just screwy. My best efforts yield the same text that starts lower on an EZP/WP page than on an AW page. The only "fix" is starting your printer a tad higher on the paper page when printing from EZP/WP. 5. PARAGRAPH FORMATTING: "PAREN LESS-THAN" and "GREATER-THAN PAREN" strings used to identify a page footnote. These will be passed to EZP/WP as is. 4. PAGE FORMATTING: AWEZP tries its best to create an EZP/WP file that will replicate the results of AW. In the realm of verticth a backspace. AWEZP August 2, 1989 Page 3 Bloom Apple Writer to EZP/AppleWorks 3. FOOTNOTES: The program does not recognize the o be a nuisance in converting between computers and programs and printers. AWEZP removes a variety of AW underlining commands -- straight underline token, underline token in combination with a backspace, actual underscore character (_) in combination wink in the output file if you had anything between the CTRL-V delimiters that were actual printable characters. If I were a sweetie, I'd have had the program delete the stuff between the CTRL-V delimiters, too. 2. UNDERLINING: I've found underlining ts of the program. 1. PRINTER-DIRECTING COMMANDS: AWEZP does not handle the CTRL-V sequences used to send special commands to a printer from AW. With few exceptions, all non-printing characters in an AW file are simply deleted. That will leave some juusefulness. Other limitations are due to the basic incompatibilities between what AW can do and what EZP/WP can do. Damnlittle can be done about that. Yet other limitations are due to my very own ignorance. Let's look at what I know to be the limitationtations are by my choice, either too much of a nuisance or too difficult to implement. Note that AWEZP is already no speed merchant because it handles many nuances. Adding functions to the program will further slow it down. Maybe without adding to its slike thinking that it puts out stuff that EZP/WP cannot even load. Program Limitations As I said at the outset, AWEZP has built-in limitations. Limitations are separate from bugs. I try not to build in bugs. Some limiThat will isolate the problem. Send me the AppleWriter file that caused the problem and any information you might have that would help isolate it. I'll get back to you ASAP with a modified AWEZP program. I don't pretend AWEZP is perfect, but I really diuntered errors" in trying to load the converted file. If so, you've found a bug in AWEZP. There is nothing for it. If you're the stubborn sort, you can pass successively smaller subsets of the Apple Writer file through AWEZP until EZP/WP will load it. hen it sees a negative ".pm" command, it issues the appropriate EZP/WP "indent" command, plus a "left margin" change to offset the ".lm+" it knows is coming. Or has already come. If your AW file has the ".lm+" before the ".pm-" command, all you'll notice in EZP/WP is a pair of offsetting "left margin" commands (in zoom mode). If you reverse the order, however, EZP will panic and think you've changed the minimum left margin, so everything will be shifted right on the EZP/WP screen. It doesn't hurt Press RETURN | | | Max Files Allowed Open: 3 | | | Program Path: .PROFILE/AWEZP/AWEZP.CODE | | |_______________________________________________________________|_____| ame: Press RETURN | | | Screen: Press RETURN | | | Keyboard: Press RETURN | | | Prefix: | | Display Name: AppleWriter to EZP | | | Interpreter Pathname: CATALYST/PASCAL | (A) | | Extra Drivers: Press RETURN | | | Character Set Pathnrogram to precede. 4. Press "A" to add a program entry. 5. Respond to the "Catalyst" queries as follows: _____________________________________________________________________ | | stem under "Catalyst," follow the instructions in the section titled "Installing Simple Pascal Programs." Briefly, 1. Select "Catalyst Edit" from the main menu. 2. Enter "1" to "Edit Catalyst Menu." 3. Arrow to highlight the menu entry you want the p CATALYST INSTALLATION Create a sub-directory .PROFILE/AWEZP and then copy the boot disk files .D1/SYSTEM.STARTUP --> .PROFILE/AWEZP/AWEZP.CODE .D1/SYSTEM.LIBRARY --> .PROFILE/AWEZP/AWEZP.LIB To install the sy13. FORM FEED: EZP/WP automatically issues a form feed (new page) command after printing a document. AW needs an ".ff" at the end of the source file to eject the last page. AWEZP bypasses an ".ff" if it is the last thing in the AW file. ong lines to 80 characters. 12. PLATEN WIDTH: AW has no command corresponding to EZP/WP's "PW" command. AWEZP assumes a platen width of 102 characters (8.5 inches at 12 cpi) and computes an EZP/WP right margin accordingly. It doesn't seem to hurt. Apple Writer to EZP/AppleWorks 11. LINE LENGTH (.RM - .LM): I'm too lazy to rewrite all my useful string handling routines to handle "long" strings (Very different animals to Pascal), so AWEZP lops extra ling comments in its documents. AWEZP bypasses "comment" lines -- anything starting with a dot (.) that it does not recognize as an AW command. AWEZP August 2, 1989 Page 4 Bloom ters a string. No fix for that incompatibility. 9. PARAGRAPH MARGINS: EZP/WP does not support paragraph margins. When AWEZP encounters a non-negative ".pm" command, it issues an "IN 0" EZP/WP command. 10. COMMENTS: EZP/WP does not support non-print to ensure any prior justification is cancelled. 8. CENTER JUSTIFICATION: EZP/WP looks like it honors trailing blanks in a string to be center justified, but it ignores them when it comes time to print the string. AW honors trailing blanks when it cenommand. AWEZP assumes each right justified line is a date or return address line or something like that and outputs the line with enough leading blanks to appear right justified to EZP/WP. A "left justify" command is issued when an ".rj" is encounteredanything, but it looks yucky. Just delete the pair of offsetting "left margin" commands (openapple-D), and your deathless prose will return to the left margin of your console screen. 7. RIGHT JUSTIFICATION: EZP/WP has no counterpart for the AW ".rj" cNOTE (A): If Pascal 1.2 is installed via "Super PMove", the interpreter pathname is "SOS.INTERP". If the Pascal Runtime Interpreter is installed from the GUCSPAR disk, the interpreter pathname is "RTPASCAL.1.1". Verify via other Pascal program menu entries. 6. If all entries are correct, enter "Y" to the final question. Press ESCAPE twice to return to the edit menu. 7. Enter option "5" to update the INTERPS file. You do not need to re- calculate the minimum load address. 8. Exit to AWEZP is the diskette's SYSTEM.STARTUP file, and all required intrinsics are in SYSTEM.STAR.LIB, both on side 2. AWEZP August 2, 1989 Page 6 AWEZP August 2, 1989 Page 6 requires the special intrinsic units SOSIO, DIRSTUFF, PLUTIL, and PLUTIL2 in either the Pascal SYSTEM.LIBRARY or in its own program library. As supplied, intrinsic units SOSIO, DIRSTUFF, PLUTIL, and PLUTIL2 in either the Pascal SYSTEM.LIBRARY or in its own program library. As supplied, AWEZP is the diskette's SYSTEM.STARTUP file, and all required intrinsics are in SYSTEM.STAR.LIB, both on side 2. ed as a two-sided boot disk. Booting side 1 results in a request for the Pascal system disk. Flip the disk over and press RETURN when side 2 is face up in the internal disk drive. AWEZP is written in Apple Computer's UCSD Pascal. It requires the speciale needed to get to the editor menu. 8. Select "Save the menu file" from the editor menu. 9. Exit to the Selector main menu by choosing "Quit Editing" from the editor's main menu. Distribution Disk AWEZP is suppli KEYBOARD LAYOUT file.................................: Press RETURN | |_____________________________________________________________________| 7. If all entries are correct, press "openapple-A" to accept the entries. Escape however many times arAWEZP/SYSTEM.STARTUP | | LANGUAGE file..................: .PROFILE/LANGUAGES/PASCAL/RTINTERP | | DATA prefix..............................................: .PROFILE | | CHARACTER SET file...................................: Press RETURN | |ne. 6. Respond to the Selector queries as follows: _____________________________________________________________________ | | | PROGRAM file...............: .PROFILE/PROGRAMS/it the menu file" from the editor menu. 3. Arrow to highlight the folder you want to be in. The arrow to the menu entry you want the program to precede. 4. Press "Control-I" to insert a program entry. 5. Type "AppleWriter to EZP" on the inserted li .D1/SYSTEM.MISCINFO --> .PROFILE/PROGRAMS/AWEZP/SYSTEM.MISCINFO To install the system under "Selector," follow the instructions in the section titled "Installing A Pascal Program." Briefly, 1. Select "Menu Editor" from the main menu. 2. Select "Ed SELECTOR INSTALLATION Create a PROGRAMS/AWEZP sub-directory and then copy the boot disk files .D1/SYSTEM.STARTUP --> .PROFILE/PROGRAMS/AWEZP/SYSTEM.STARTUP .D1/SYSTEM.LIBRARY --> .PROFILE/PROGRAMS/AWEZP/SYSTEM.STAR.LIB the Catalyst main menu via entering option "7" AWEZP August 2, 1989 Page 5 Bloom Apple Writer to EZP/AppleWorks