LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)SOS KRNLb.D1/SOS.INTERPŠ̠Š.D1/SOS.DRIVERР頞 0 ) (lH'&3&'&#e'#%e'%'&"$"$#%'#%h`$ej5Ÿ/ DISKNAME.DAT77*MENU.MAKER |III.UTL.023.BTu' &REVIEWt$ED *!6*SOS.DRIVER W8~!3 *SOS.INTERP4#D~!)*SOS.KERNEL ,V!-READ.ME.FIRST5"%SEG.T >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L%e,ȥ,*,- y,,,-,,,ȱ,,- yL+,ȑ,` 2"p-,-L(Ġ %>,i-i8, ȱ,%,W,pp ڠ %p`l  " ) i   !"#$%&'()*+,-./0120 `8`HiHiH ihhȱh`86)IH)heuQɸ` ` W` ] %饚0` W` ߰4`)|E8LLLRLLLLL*LLLLLhh`LLL`SOS 1.3 01-NOV-82(c) 1981,1982 BY APPLE COMPUTER, INC. ) `G`î** }*`o^`on 8 JJAj@` *?($`ΠņɠŠ堠РѠ͠஠әƆH v?c,,,,h߈ߢ~))`3PLLP*%(i&`Ѕ񩏍E H pph`XŬ̠!((ͽϠРРSOS NTRPSOS DRVR(.D1(YYYYMMDDWHHMMSSMMM̱忠ΠͽŠ堠Р͠Ю̠Ɔx߭J ʈc(()o/ e/''ʈ((''()(1i / e/''ʈ((''((''((''' ('`ŠDAY, DD-MON-YY HH:MMSUNMONTUEWEDTHUFRISATJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC٠Š@L&I/O ERRORINTERPRETER FILE NOT FOUNDINVALID INTERPRETER FILEINCOMPATIBLE INTERPRETERDRIVER FILE NOT FOUNDINVALID DRIVER FILEDRIVER FILE TOO LARGEROM ERROR: PLEASE NOTIFY YOUR DEALERTOO MANY DEVICESTOO MANY BLOCK DEVICESEMPTY DRIVER FILE '(i%%%h}%%`8 ȥ!8 !)"qȥ#q#e$ȱe%L)%`@(((( % %`((((࠰$(ɠH(@(h((((@(`%z %% %~(A{(L%`.8(.Je.&ʈ.s(1 6$P8"ȥ#L1$8"ȥ#(ϸ`"##L]$"qȥ#q0,$p)@"q"ȩq"8`*$% $% 8% $L$* $8%8 $`8 &'$% 8&$'% 8$%%`H   q ȥ q Hi hi 1  % H H ȱ h h % $$ 0 e e H i hi âz %` 1 8`    # &ȱ ' # i" i# # #`8 ȥ H h `8 6$P`8"#%#%"$w"$#%"`荚ٍ荺 荚`荺``` D ( )  * ) 4* * h* ))` L% q ȥ q Hi hi  i" i# #% $ȱ %ȱ &ȱ '`<!((g %(r(z(q( %y(i(0z %"#$ %&' $"#$%&'   `%$%ɠ%* " ~#C #p $ %*0"#)#)i $"% * %*  L! {" j% %ƌ(X#"$% "$ #%%& '   ` {" & ɠ% %)  !( (" %(r(z(q( %y(a(0: %   "$%&e$'e% R % <`` LLɠ8`ΛLL渠`ǽi `< Ȱ+<#5 ې'` ɐ /ݐE`W8`R` 5&i ` Ȱ 0i `<8> ȐT eİF cȰB)Hh5 ˭)*ȑƑȥǑ'(ȑ`L)ɭ)Ѷ*e`M) `ۅH)Ѱ%}ʈh Qܐ'``hi ` p6۽ʹZ5 HȐ/i i `гW8`0( ɐ Ȱ ʮ6E`5 խ ɐ ޢ ȰLȍ۱Ǎ X̰% & !J8` *LĢ `8 iۥƍۥǍ`ۅ %  6 )Ѱ Ѱ` 𝭧e ǐ bǰL*ۈ5ȱ۠ƍȱǍ X̐ H h1  /ݐE`ۈۅ ۅ 8ƭ X̐`LLŠǠ  ݭv̅w̅ ðzv̍ŭw̍ŭƭ ­ōō T̰]ŅƮņ X̠8iȱiiȱi ṰŅǭŅ XLōۭ۩ۅ ȱ8D`F`8eYƍťǍŠ)͠ Wٍۭۅ5ۅƭۅ X̰ ìۈۑ T̰ۅƭۅ X̰ۙ%ۍ" T`K8`)` İ ۱ۈ` ưW/ۈęۈЍ۩@` 8 MƐ  5 Q8`LŅ ۅ ۩ۍۅ Lɰ ʰۅۄÍÍۙ'Ù ۍ*ۨ  Ѝ۹ۙ8v- ðJ ¥ ð, ðLO ʰƥLT`'  mې浰``8 8 nʰ0 ̰+泱Ƴ m° x̰ ̐8` m° x̰8 ۢ8 ˰y ` ¥ nʰ泱Ƴ T̰#泪 Ѳ *Ƴ ` L:Ϡ`泑Ƴ` LaĥH8`JȘ I8`  S`ۈۥۥ۩Íۭۍۭۍ հL¢H8`Jj Ȅ ۍۆeۅiۅ Lɰ ʰWۅۄ ¦J> ɩE` eĐL Ȑ 15WL QL5WW{5 ې'`,55 ې'` ݠ B1 ȩȑ Lɦ8`5  @ R㥶i ` İG8`F`X8``éۅĩ >` T֩xxMH]@ Kۅ5H ɐE$ eİ Ȱ h`h`8`W h8`hR`hLҿ i x +ۅ5ۅ6 ǰ `E8<W`­ `0XLۅ5` ռ``ߤeI`IiţO`Ȯʆ/ )󘑡`()0zq 滅ѺY Ueۅ5Ѻ Ѻ  Qܐ'`i ҩ *C8/y.i/ ȑ  © $ E7<3W`ȽLֽȄ @8`R ) [)_[AͰ")[)_[A:0/.ЩȑΘ8e * ȩ`Loü 7)?۽۩ W٠Յ<ōōř ռV7 uM78 V榠=ü#)@5 ɐ /ݐE ) .) @L `lqhٯ޿=ϓTXIֲ̛̐~ؠIJK,-NOPQ0vt Ѷ"` ɰ Ȑ`E`Ɔ X̐8`>>5Ѷ Qܩ<`>`\ʊJJJJ ۍ۩  ˰Fȱ X̰6 0 Lɠ 0ۑۑ8ȱ`H8` ɹ $  8JJJJ8 ` ۪` H hQ)fʅ F jF jF jF &!  eװ*  ̰F湥 ƹ`Z8`@  ʰ泭ۑƳ ʐ` ʐ` ˰ ƹ Wː`ۘ . . .۪8*Jۦȱ ˦,+* ʈJj =ؠ yiȩ`y4泱ƳHhz ʠiȱizLA`L;ؠ"  `1` Đ7@8V۩ Lɠ۪8ۊ۠X)JJJƄ X Ġȱ۠ ȍ۱۠ ۭ) ۍ ð*)#  O̰``)(`N8` ) xհۈ ̰آ*գ  Ͱ ݢգ LvL{ؠ;i ڥ(8` ְ( ȱ5 HȦ)`Lxץ: ש ְ⥺i ꥻ(8`Lx Lxש u )۠0)p խ.8`)@ ϰ) ϰۈۅƭۅǭۅ5 X̰ *ƭ۬͵̶L  ΐ` Wհ> H۪ȱHۑhƳh sϰq ` ʰiȱi `)5©éՅĩ5 }JJ+`.`8`ɂ )`@ ש ְO ֤FHۑۑh8`P) հ Wհҥ,J+j泭۪ƳۑȊ ) ~ fPL ͊.>.ʱ+,EP!.E.Lw+,,ӄ*- P*e (` հB հ5 Wհ0,J۪泭ۑƳ sϰ(` L Ͱ2 ~ P kҐ#L8 T 2ΠHHȑhhȑ`Ld )N8` xհ*eȱ+eȱ,i۠Ѻ۹ۑ񥤅- ť.Lcԥ.La Ͱ$)rJ Lɰ )# Ԑ) ͰU..++,,IJ/ ӥ-.?Цե,J+jѲ4Ƴǥ4聠 H hH kh8`8-ȥ.L 8*Ʊ )8 0*-`.G.ʱ*+,EP'.E.LұE0+,,ӄ*p-e  )LBѠٳ )8`i (` )N8`*eȱ+eȱ,i۠Ѻ*ȱ+L - ť.Lkҥ. ՅL ͐Ld ~ pа.J/)@߅4N8`) ))УJ8` ۑȭۑǠۑۑȭۑ($S8`O8` "` / 򑺠+* ͐H h8` ΰi `()  *ǵ յý5Ņ4gȩυɩč5 iψ }.8` iϙLIѠ ˢ L΢ ΰ LϠ ˢ ΰ1` Đ@ АP8`B8`ۑJJJJ -ѥ +jѲ84ƳJJ 2ΐ3泑ƳLTΩ潑ƽ`ƱƳ ΰ( {Π۵*+)e`8`)` J J + ΰ" 0 ΰ 🱼ѼL8`ǩ Ϡ` ϰ ƑȥǑ` Ѻе*`)ȥ+8ۍې  ,ѺLTΠ"LΠ5 խ ɐ /ݐE`C8`)@ ϰa)ۥ,8ېu+J,\ ȱLJΠ) ϰ'#,J(] { ΰ ƑȥǑ.8` { ΰ,JѲ ƳL΅ƱƳ ΰҥ,J0`#$"0#`!qȱi 5H5Ƶ ǽ jh5`L2̩ƍv̥Ǎw̩ÎL%ϠƄǥLj̩۬L~̠HHh` ̐`*ѺG0?M`)J"u-- M8`۬` # ː`  = O̰)= I`JJJJѶQi Lˢ  0 ̐ `"L˦ `H8`8$$"$= O̰=`$0`#$"0`$Jۑĥ` İo!)N8`WپX0 ĥLä X0 ĥLà !"#$ Đ2@H AڰCŰrP` 3ڰ(` AڰѶ? İG8`Fە1 ռ İ ЩP߭)@N8`1@8` Aڰ񈱴ۈ)ۅƭۅ X̰ 3ڰLÍLT̥L㼠  ʰ` İK ХP8` LɐH80)N  հ)@LO ˰)0 ̐` M ­۠泭ۑƳѲƱƳ X̰ Rڰä,] Xx,f (I0јIFjFjFji```x@gŽPy+wLwԠ͠ŠԹ.D1 .D2 .D3 .D`HJJJJh)y` (2ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H hDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰ泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰ4 )ߍ) hjjjjۥ0CF = -$(L !LLL&L L-LJ٥eƦ ,L  # ` (L.L…ҥÅӭƅХDžѥL1LUȑ  i ߩLL )  札)  ҩLL` **éL0;` H ) abRcdTefVghXijSdfhj RR`^0U ` 0 ʠ0 8 `ůàՠԠàࠝӢӠ ȠDž̖͌͊頀ϐωŠŠӠҠȠγ`%!^0 ^)@`a R =` *^)ـooL]^)?i |TU QTU]qUoqTITsUsprRprqs]ToUXa` RL=Xa` R` *R`X`U T  *\AX[ @F\B9ɏ5\o*Ɂo)[[ @^`U V  *C?^0: ݳ ٢ ^)?i` *)@o `p^ XiH 1h `)X0 8~X 1`C X`)X0`C РǠ𠠐ŠŠӠҠȠƠŮƠҢâӠUAQY @?ZY 9ZYY^TU QZoȥɭ }`` ? }``  }`X0i 8~XX0H }h襯` ©Wéĭ }0W`F X0A */5BL. zF`LLz Lz`Y `Ơ堧 B k L( LO  %   }` ` ?!©UéĩU󥣍V }`` ?)) $p10LYeieLVȱ d0L`Hȱ hh` WɸSI I.ȩ8A 8ɸ4ɠ(H)h h8   `    i Ȣ d` $,)?P^ GL㢮 5L}P.)(Ơ L`ޠ LR  稱 I)0JJJJѤ  БĈ` H`)à`֩ нѽ>`]PU]]UPPX0 0 PPXPP  į󠠩ҙ̙ɠΠɊՐӠӢ̢ՠҠŠԠҚРĠ鱃ԠȠࠠLQ  * WHHH>%H H @`)h8`  HШБˆeЅА SYSTEM FAILURE = $hh8`hhhxآY_Z@tPRVT,p S JJJJ ) ʍL@ i0i6`îӉ͠堧ǥӥ``HhHy)(h`H` 0L?i `h` `` `x)( 8 `jjJJԥ)եӬɂ )Ӆ҅`  `H0Xh`Π'à̠ȈL` 8`څ  Lk%  Lk8Lu텚8嚅 L L Ld V ``  h` ک V `ۅץ  VLFx) ( :` H ) L  .P'pб0 &L:L5'8+8`0Fܢ` ř,Ř 0 8f)J DžŠƠŚ̮ÎȠ Ӡ̠Ӡ` LL#L/LL'Lgab `abBcd cdBrcadbho:ab.cݰdDcݰd8abҊ v+abcde0f`   cCȱcD C Ea  UV 1 ELUFVG FUUCVDեYCWZDXWXCUDV[ v`b0WXYZiUcȥVcWX eeYZ ggE` @SATRw w`svywyw w w w ww ww w t t t t`hhhyhyhhTy y xHH` yyy yy y  `tstty ty tt`svL&whhh th ths x yHH`}x|x yx|x`|x tsvzxv{xv}xȘvv v txx`xxhhsvhvhvhhvv vHH`svywyww ww w}xw w w w v`# Fv`vvv cv`v Fv`hhhhwwhhjjjjwjvj vLw wvsw }x|xHH`wswsw w`hhhhhhUsȑȭsȭsȭsȭsȭsȭsȢs y s }~)yL!&X(E'+@FGH{|}~ @ Ev0vDvvLQv1vEv `uv Fv`|v Fv`nsPnsPv`# Fv`vvv cv`v Fv`v`# Fv`vvv cv`v Fv`v`# Fv`vvv cv`v Fv` ts;ttttt ts?tt@ttt tss18tAttBttst t St8tLbut~sts tt tt t tttL ctDta s5sLub s&sLuA ssLu  s StLu CtЫsvv cv x356789:;<=>?@ABCDEFGHIJKLMNOPQRSTU t.CONSOLE.GRAFIX.PRINTER.RS232.D?tt%t.t5tsss`sss`s+s&s!ss0ss0``tstt`tҰt ̮tssssssssst9tt:tttSOS NTRPs1BLsL-xL~xLjyLyL2|LY|L|L|Le{L{L{L{LzLzL@{LP{L{L{L|L |L|L|LA~LU~L^{LwQusnssPLtLt  )* i LiHh`PQPQ>P Q,PQ"PɀQ@PAQ`8`nɀ<)nopoLpp` 0h8蘠fȊf` ab 1abo)abaݰb L9c`` a N0Ioa0H ha`pLopna n`  3ɠ/8 L %iLɠ8逨J Hh $`b >_-%^%p_^^_ab"08^c_L8^c_L8^c_L8^c_ȑcc\] ab^_ ``aV R0M bba dda `Q8STRQ ST`c\ȱc]a  b 5DU e\^e]_ ^_ ^_LH8\^]_?Je\^e]_,78\^]_ ^ݰ_ ^_LH^_ $bL@A^_aoQ*@A RQL@A `T8`RLSJTKQHIQiHiIKNJ)M8逅OPOPHMIN'a MHNILHOIPaOHPI8JHFKIGFGaHMINNMʆSTL8HSITQQST thj thh t thsth   hht t t.tU t8\Z][TZ[ te t tt e    FvHH`(LzLyhhh th th thji thht thsthhhtt FvHH` s` `svL&wLysv{v{vvv v{`{{sv{v{vvv v`{svLwsvL&wsv{v{vvv v{`{|sv|vveawvHvHL冠Xw e`veawhvhvL冠X e`eaHHL𨭙whvhwȱvHvHLhvhwhxhyyvxȥwxLȱXȘ vX)XYXHXHXevXYL ȱX khjhkjHjHLȱXvevevlPe`fQeag fHfHL Pe`fQeagfi fggHfHL gPe`fQeag hfhfLX  eg`edfaeeg fHfHL冠X  `edfaeegfi fggHfHL冠X  eg`edfaeeg hfhfL冠Xw e`HHXYp X lLhh)X0 eXXYLeTveUwUwv8vXwvYL HHLXHXHL飨RHRHL gRe`fSeag fHfHL Re`fSeagfi fggHfHL gRe`fSeag hfhfLèPHPHL g\R]S]S_\ȥ]Z[[ )z RPRRSQRRQ RȥRi fL XaXYX `&a` `a`RdSeSedvȱdevd`ȱ`Zȱ[`XiXYXiXY HH LURSTUVWRmvmwwyz{{|}}}|Fxy exxx&yvexxweyyxȩxxixyzxȱzxȱzxȱzxziz{|i|}Г\]\8\]SU T쀍VW@RRSTUVARARWXYZ[ 8 8 ť 8i杩村ƝRSTbVcWXYZd[e\Rح)pRSERRSTUVARX8  W8LZW RSUTVW@RRSTVXWRHH LRUSTUWVR3vRRvjjj)*R`pA'rFͰͰͰͰͰͰͰNj䋂 Y.D1/SYSTEM.PASCALg.D1/SYSTEM.MISCINFO<Put Reformatter disk into built-in drive. Press RETURN.!?_ @` ;*(|@΍ߞJBITڌ*xY6YsB_>3F b$9ˉ?$^V`ZRybÇԮSͰͰ lllllllllllllllla^^^^^^^hhhHH``8Zv[vvv vZ[``)s svLw`)ssvL&whhhhhhHH`tststt`tststP tt`hvhvhh h h  vvh)s1 svhhh) $v v vHH`hhh))Z[L} }    ~HH`* |8  }L} |`|` } }` }`8\] ~ h|vvv v`|svLwsvsL&wsvW|vX|vvv vV|`V|}|sv~|v|vvv v`}|svLwsvL&whhhvhvhvhvhhvvh)ssvhhh vHH`hhhhhmmvLhlhlhhLhvhwhevvhewwwHvHLhhhvhwhevvhewwwvLkmhjhkhlhm Lɢhvhwhh%wH%vHLhvhwhhwHvHLhhIHIHLXXhhQX0XŏoXf0bXE0XRXŎIE8XX&XeYei揭W8XYL XiXYL hvhwv&whxhyy8\v\]w]8\Z][L\xȥ]xL ņhvhwhxhyv&wyZxȥ[xZevZ[ew[8\Z][LL ņhvhwwZvȥ[vLhvhwwvZȱv[)@ L94)  L90 2)hhLҰ`0!ƍL`&&&0 ƃƃ`\0 2)hhhhLҰ40$494) 0-L™"L™&% 8`$ `Vvvv`w8}Iȥ}v Ì665``ō0 2)bENŃ ƃƌ!Ffff 5&Ō0*0  F2)hhLҰ0 2)`Ń 0"kgffff惩ŃO0 2):46vlhh0jH*vjHHHl`w $x$y $z}J`} $~ $ $vLח$xp$~P!0 2)hhLҰx)x~)~y̢|8`$~ $$`|)@0 2)п)8`0戨L 0 8`hh •v h0 LE LElnLdLj/ L 8L •v hI=+ L •v襀I= ƀ LȄHHLhhhhh*68jh*v #n0 2)LҰ%n HHLHHLh)vhh)hvL nhxhyhvhwEy0wyvx/1'w0+!hvhwhvhwHHLhHHL%nHHLhhh ~hxe~ |ŀ8~e|vl8 nXLLL=LN   Faf`LM hxhyhvhwXYwy`LvxvwxyaLL Lwyhxhyxyxyhvhwvwvwvxx ȱvxvx L})L8|~}L~) w~fjv|) y|f}jx8xvyz{{HzHz{{HzHzw9ޓz{9ߓ{{HzHz{v {HzHHxiHLHHLHHLV??zF~H~HLX hh&ņL0eeƆL򆥆8儅ņ 8刪8刪ƄLhh&eȹ~Ȅh)1~)wf~jjj)?vńevw9ܒ hHHLhHHL @hhHHHHh|h}h~hzxI%vyI%wzȥzLhhh ~he~Ȅ Ȅvl %~8~e~ h9 0 ʚL %~~ hI9ʚL %~0~ hʚL|v|z}{zve|ʥ~z{ƅ|}hh &hezheHzH}H|He|HHLh~hh|h}hzh{{zȱz~80 iff| ==HHLhvhwh~hh|h}| x%vvy%ww~80vwwvxyyxi v&wx&yhzh{{zȱ檥HHL펭kmhjhkhlhmXk&ljȑlLjjlLQjlLLװwvwvLVL{ he`zhea{zHzHL he`heaHHLhh a `&L揥`a lhezheHzHLXX{0{wvz{LLV^__`XȱY`ȱL+ XYXYXXYL XYXYX步kg\8孅\]\)\]H\H0X\\8\]\ȥ\ȥ^\ȥ_\\^]_8\Z][LXeXYL iIiIi挥IiIiƌ8別剰 ` gf!ffgff8fg8&&`ffgff&&`hhhh 挥IiIiHHLhhhh 挥HHLhvhwhxhyz{Ey0y{)zx!{0wEȩLLshh0HHLIiIiHHLhvhwhhevewHHLhIihIiHHLhvhwhh8vwHHLgfff fefgegfgffff`hh0 hhLΌhh"IiIiIiIi lHHLHHLfgL`| Ù`v|`4) ``5)@v|v`0  F2)hhLҰ` {ezeyexe~ a ` 8{zy~x4) ` ; a `w}"$x~yzŀ {Ł|8`w}w}x~x~yyzzv`v Ȗ| ȖvIvL2v Ȗ| Ȗ UL˛w} Lɛ|LS}%v0tn50h0 2)XLҰw } $Lɛ}v| Ś L ^%!0~0500 2)LҰ L [Fxfyfzf{F~fff8{zy~e8)/H1HHHHHHH ^{LLSRTUX Vȱ*W.XR!R4T5UVWR\]Lð``­8Ɠ ~…`LRSi TVARLWYWX8 X ΰ0 [L쨩R[SER\8居\]岅]LE08居\岅]L8\Z][ ņ8\Z][L\]eHLhzh{hvhwhxhy{wy07ȱzx0xȱx,xyL# xȱxxyL#HHLuHHLuHHxvȥyvL򆭓8~`~ȱ~wLͧ8~~vȥ~wvevȱvev~8~Ɔ`ȱUUU 1VAR WHILE WITH hhh`hahhhhLhlhmhellhemmma ʑlmLU`LmlLhhh~hhe~~hehhhhh`ehae`Ii`Iia~Ŋ.LΦ'~0 ~L~8~L~8冪HF IMPLEMEN4IN )INTERFAC3LABEL MOD 'NOT &OF OR (OTHERWIS6PROCEDURPROGRAM !PACKED +REPEAT RECORD -SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USESȑLNdoǤKKK*5@KlKĥKKK@#AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO END ELSE EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO Ihhhheȱe a{8 ȱa {8 Lu0:A[_ ҕLLqȱi8A ȹȱՀƈ4i Lȱ~ȱ~ȩȥȩLȑ  LXiXYLhvhwhxhywyvxȑvxLje`jkeakle`lmeamakm ʱjlL[`L{jlLh`ha hhhhhhhhL򆭙kmhlhmhellhemmhjhkhejjhekkXL=aʱjlmkL͢`L뢱jlL8\Z][JHjHLv| w}L5)@ w}Lwv0|0X ?lhzhhhTLsUwT8vUwv8vXȥwYzT VL SRSLȱ yxȱyxL`x8xyx8xyx zxб wvȱwvЗLABzDF@GPtI$KL nN(kPQChSU焵V!cX_Z[^]k _#ǭ`xXb'dxehSgiQYjoNln9?oIqr|otEv7w߄y @{Η|½~v``| Ȗv Ȗw?}:w}NE||0vEvvv|)0L Lv $| ,0 2) LҰ0 2)HHL8w#0 xyzL]Fxfyfzzzvxyzz aLvɀ牢L(xyvxIxyIiyxxHyHLhh' HHHHLHHHH0 2)LҰ? w֢| Lw}v |  Lv Ȗv|L^LILhhhh:ɀ ,IiIi&lh{hzhyhx Y xHyHzH{HL Y LLv ȖwLi ћ Lw8}8eP&$0 LhhLҰwe}8eL^iL^挅@Fxfyfzeee~ffffإ Lr % a `v Ȗ| Ȗ U LvE|v|w&}0  F2)2LҰv L}x ~8&&&&&&&~ȥ~ ; % a `v Ȗ| Ȗ U LvE|v|w}M0 2)LҰ FL }| L}wL w0 2)LҰL v 5Li| }8wei L i8ŧSRERL槤\]L槅  `\]e&mmeeUȱP8\\]]L8\Z][ ņ8\Z][L\8]` ৠ|8Ɠ ~5~8~8\~ȥ]~8~Ə8 ƏL>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"STANDARD )((8*,;((*,((+)((9/(p((>3  =9 :9 .(+( 8#8# %3(8 ((,+)(%.4$)?((,(103 x x ` x `8\] 6L*`8Z[0[HZHHH ~xZ[``i`iHhHliHhHlhhh|h}he||he}}hhɀ HH}H|H U~L nHH}H|H10 P{L wL yL) |L) {L) |L) hhhhL:B~ L򆥉}zL~? |$RќĆL||}z{Lv ɳ 6L| ɳ|}zЬ{~  6L򆤀+8 Ɛ x Lس``  x x ` x `8\] 6L*`8Z[0[HZHHH ~xZ[``i`iHhHliHhHlhhh|h}he||he}}hhɀ HH}H|H U~L) nHH}H|H10 P{L) wL) ||he}}hhɀL" n10LTv <=TU~ L򆥉}zL~? |$RќĆL||}z{Lv ɳ 6L| ɳ|}zЬ{~  6L򆤀+8 Ɛ x Lس``  {L |L L򆥏HHHH}H|H{HzHyHxH~ |LL |L򆥏HHHH}H|H{HzHyHxH~ zL~ zL`hhL`hhhhLhhhhhhL~[Z[h))hhxhyhzh{0Lh0{h|h}he漥HHHH ~x -x 楽HH`Y|{{{-x-x2|e{{{ `hhLHHLLȰLhh nHHLhh nLhhɀ A~L n10 @{LȅɥHHHH jyL |LȑVȑUT8U8񹅻񹅼8X廑Y弑zL뮩L審L審L/ Stack overflow Type to continueeHH LsL審L審pX8XYL審 L審 L審 L審 L審 L寢hhhhCQHPH PȱPPQL RhPhQL9 RSwR8vSwv^ȱv_ȱv\ȱv]X i RHLj RwRvȱRwVv ΫwWvVwWWURTȱRUWYRXȱRYRRRSL ӯsPQvȑ RȥST^xȥ_xȥ\xȥ]xx\y]^_WVW8\Z][LlXz C ~ƆSRSLtȱ ȱņڠRRL Xz CL Xz CPQȑL XzX )XY  ~0 LOXz L ~8~}8|~}~L~L8~lm8 ƁPȹPȹPȹPȹPȹPȹPȹP Ym~Lhl w~iviwY8vvXwvYU~iTiURSy8xyRER`hh )Lhh ΫLhhw vwLehhWwVvWw]}\|]}XiXYv8zvwv8zvw8vv~wv~\ť~8~8~~ȥ~))i )HHl0 >> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>((((PPPPBTVSPLH   5"ʘ HH` (# (=  0`)aIAHOTW\_bx{'69@IPW]`cfjmpsx} #4:=Z_bpsv{ "`I FF x (̠%L#fowz*13579;=?ACFNWaehmpx "'+@\mrv{#&+25FKQT\adgjmry~*8`AB*0 B8` L=?՝ԝϝН ` 1`*x (DEHG 1h H J IFD`* H FFLx (̠`x (̠` [   `L `` `̅˭5i ɠ)54`x* ,< ʝ88 (`…ʍ0Åˍ142;)5I)5i 4`)5;`xH)$ 45R8 h(`x ( 3  +J FF tѤ `U t`I8R & h:1ߠ*x (,< K 1x ` (`98  bLH8 xʍ6ʍ7hh)ɄJJRH88,< ʠʠ &,<0,80ʬ8ʠ6ʠ7( hL8 989::m8ʥi,;Ɂ) * <өхυ L"= N8 =i N% JL@ҭ"A N! xLC L 'Lp- >)AE)H ;LLW x0Lx:9,<0 `Ld L)(I bL)8 ʪi)- * ө<ѩ ϩ - (A= NL% AҩA N= ,>- JD)3E)X,qȑ ;?L x0LC L '5դԦ kˍ12/` N=    `H Wh (0­1í2L-., ( *x (I  ) (j` DÈ` ȑ`! (`.-LLL$?`?` hh- (*J%/hh`դ8eԅԥi ՄԐhh, (MIPLIOKN`ȑȥ.HJI̍ƅԥDžծ*x (3'͝ )X@ @ ' (  L "x) Q(`x)(` 2H1H` (& ( ( (##D0C 3 *̍m%%#$  " ` L ``(%DL8H\0`(d  $,($  ,;Profile Driver -- Copyright (C) 1983 by Apple Computer Inc.`.PROFILE&% `)ߍQI "L), (3C> S0,>!SHOLES 1!1!2@23#3#4$4$5%5%6^67&7&8*8*9(9(0)0)-_-=+=+\|QWERTYUI OP[{]}`~`~ASDFGHJ K L ;:;:'"'"ZXCVBNM ,<,<.>.>/?/?d0hp00000>" <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>8  8 iIi`9A)I@`a{ ~I)_ bJ) b) )ab)a a,h0& &+%a0 +hcefd(c,@cfabdf`cnx  (,4h`dd,9P"<:J H) +̰ H) +ʭcP h̰ʩd8,h)ec efeede`,5 H  h 4  `5!    4(P 4 4  `,g0L,10kH0 ԥ f0)ĭ9)9҅xh(ĥŐLgjox',/25:BGKORY\aelpu !$(+.147<?BFILORUX]`finsw|ʝ"`t  !#%')+;CNU\eh "*-036<BLORX_fj &+38;?DGLTot <?BGLQ΅н(I I $0;P̑бʑΈ,:JՐ̑ʈ0 Ցʭr̈A萠L: ֦ڱΑ0Б֤ h L  p,:0 JfiΥiώJe΅Хiю@ B $p̑бʑΈ0 Б̱ΑʈeمΐeمАA萿 :  `0`ՑʭrpȐ`=m@< B h AL: 8p,:Jf׮@$PA B $P@/A'ʤ˅΄ϥ̤ͅЄ B $̑бʑΈ0Ƞ h L: $)טɀIim>ٮ@8pذ `$0"8,:Jک@ׅפ؈۩MjL,:08*Ȅ B ,:J}@@8A@q==C)CB)B Crx 0, )ߍ:) J)*PR,T,V( : `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ},,P,`,g$ ( $g " x) (,`% (gL,}0, `gé ĩ `:) j:;jN;~j;O,:0'???>>8?>p<<AAA F }~L } `,}0 x) `(`hh% ( ΍ ύ逅Ñ}`` " ( ĩ~Íĩϭ & &υΠÑΈ~ F ~ҰةeÅÐн)1`Ɂ" (cefd`Hcefh) `xÙ+(`xÙ&(`)4`)5`)6`)7`)8`)9`,i0!M:0p ȱq L `" (~)y ~JJ* I `x|x|,,}P-X~9`<ȭ=` & @jI`:ȭpȭqé,i0L È`,g HH`LL! l      5  Hdcefh&+si  M0   h) `(" (  (È& 8  `)2ȱÍ3`upp<`uqq=L: vuL L L <Le Le ,g0L HH`! ( 9EKQWbmz`(" ((è%È`2ȭ3`1`d`c`+È`&È` & IMk`4`5`6`7`8`<`<p<`,ms<L=q=L: ,lXL ==L: ,lCL <=L: <,n)LL8 L8 u:L8 ;)ߍ;j`; ;j`uBL8 uCL8 u)u;) u;L8    x) `(,  LuL-%CYgu #1:CY` 9C<m><=m@=>@?AL8 >m<>@m=@<=L8 <m>?=m@AL8 C9L8 ; ;k`;);k`,@`<,m p<LҐhe…å逅h,23Lhґȥӑ,10 h0  `,g0L  ҅ӥĥŰ+,0p 4 Ls  Ls i )"|tȌs|st HH` MjH,: <J h̰ <rh,oL` i,1HȊ©L,52,9-P" a{)9 Ln90$0%,7 ҥ L$0T,8OK50P;ҥ,8 L%\   8҅¥Ӆé҅L,5,6  & @jIH,5 p  He !%*/369<?BEJMRUX]`h  2;AGMS[fot|              . 3 6 9 < ? B E H N S V \ _ b w      ! ( 0 7 I N S _  . G R Y f {    ! $ 4 9 F I P S V \ a h m p s x |  ` L ` S ` 348``  y y 8 ``  b6>#B r>@62 >?>>>>2@~|cpC p*dI"*E!EAQIGIIA@ADIAAIHAAAHAHI@EA@?Ah5 X 53e,<0m;f,<0m< X ij X h`  `0>H hJ)@$0P L S S L P  J L `J0 H/ H` d y ~ o t Z 8`8 8`8)8ILH > ' ` j 8` ) ` > ` C0 '8` P a P a J  L a 0 P a0 P a0 P a0 ) 9:`Y_Zx) ) =(`H6H 7I%h7680 9:LV 9:98;;<3ij X 3gtF t,80,[ t` ^H ))[_^Zh`3J 3L 3 ) 4J 4 ح4 ) 3 5 P L 4  J L5 P P ) ` C $ a0 ,8BkL  ,8Ii`a a tL> a0ca t L 8D9E:II  t8 t`A t\] L  67L) [,8누 ,[ Hh )bZI[J`K`IZJ[K`` H 0L06,8 `  t( K ,8`   ) J J LS HH `,80`B`#$+29Y` `` Z` [`  ) P LL ) 0)9  tL> )&d`e`BNk B L;<,b= ' 9 : , FDGE  L BLqk E: -D9%    C  tB@Bk L!8D9E:98F:G0 г氭LA t  BHbLY j` j@)` jLX@)c`@)a`@HEmDh0_^`0]\DEH j@ jhLXB j@0)HmHHh jܭ@L`@)[) L:[)L:[0 H j[ jh[ j X `[) >`b b)b`@'`)ݲ>`A@>A HH`>`<>EeFJKL.^CcHV=WwBbG? "#Rgnh*2U^wb b) b b)b``@?m` _ ^`\]LY@?m`  ٥`^_LD8?8`DE( 8DCDE` E0LXDE`DHEH hEGhDFL \DF]EGL) d>`H_E ^Db) b bh`  b)h` mDm`DE(EDmCDEhBkȌB`LBkB` `è" (ÙY`L_Ùe`Ù `` q>  ,  C[JC` ?`> HH` s) L/ d` 6H5H` D^Ol>` ,b `  L LBa@LB a @L=` ( (,=) =x)) v(cd `# (,=ȅɅŐİ  ( ,=  HH`! (88" (èYÈ`,=0L  ZHYH`Lh~}k} =@ '` 'H&H` (# (9d7="Z` Jcd % ( i    ' + < ? D G N U f k p x (+@EIR[ty} NQ .STYENTYPE A@  @ (C) 1980 Apple> 6A}5 AA>III$QIHII""M]DIAAIHIAHEHIIAA H_ AAp*@"*QIYQIPIIAPIDIAAIHIA"AHBLI@QA@^ A6$# >1fN&`6> 9?6">A@.~A>0=3&@~|cpa ,&(*,.0246;@Cchkx 2;@CNRWY[]_acegjq{'+579;=?BFKQTWZ]`ehknsvy|and it can create DIF (Data Interchange Format) files. The list of programs that can "import" a DIF file just starts with Keystroke, VisiCalc, Advanced VisiCalc, 3EZ Pieces (spreadsheet and data base), and Multiplan. We've a protean program ecords (card images, for instance) whose data are in text (human readable) format and whose data are all in the same positions in each record. A "variety of data base and spreadsheet programs?" The program can create Quickfile files directly, EFORMATTER /// lets you load structured text files into a variety of data base and spreadsheet programs. What's a "structured text file?" Apple Writer or other ASCII tables are one example. REFORMATTER /// will also work with any fixed length r table into an Apple Writer word processing document. File compatibility, however, does not imply data compatibility. You can't just take an Apple Writer table and load it into your favorite spreadsheet. That is where REFORMATTER /// comes in. R INTRODUCTION Among the advantages of Apple /// SOS is the ability to exchange files between applications. You can "print" a spreadsheet to disk and incorporate it as asuvwxyz{|}~ALLAN M. BLOOM, PhD CDP 2303 San Marcos Street, Blacksburg, Virginia 24060 Office: (703) 231-7921 Home: (703) 951-2025 REFORMATTER /// Text to Data Base or Spreadsheet Utility     ' + / 1 3 5 7 9 ; = ? D I M T Y ^ a f k q v { "&)-047CKNUX[^nqt $ * - 2 7 > C F I L Q Z d k |   * - 0 3 < ? B E H K N o x    ! $ ) , 1 4 7 : ? B J O T [ ` e j m p {  !&),14>ADHKPSW`eipuy|  "(+037:?BGKPSdilotwz   !$'048;@FIMPUY\`hknqw  %*.38AINQTY]bv{~here. How often have you needed to analyze a bunch of data records or re-analyze the data in a table? If you can get the stuff onto an Apple /// disk, REFORMATTER /// can let you do it without re-keying all the data. Is it obvious that I love the concept of REFORMATTER ///? I have a similar program (SpreadLink) for the Piece of Chunk in my office. I love the ability to pull word processor tables or small data files into Lotus 1-2-3 for my own analyses. I've missed that capacer" lines and a "footer" line. I set out to find what REFORMATTER /// would do with it. I put it on my May 12, 1986 Page | | | | | | * University of Kentucky Medical School is ignored in this table. It seemed to be a pretty good test. The table has eight lines of titles (headers) before getting to the meat of the data, and it has some extraneous "spa---|----|----|----| |Total Endowment| 0.2 3| 0.6| 0.3| | 0.2| 0.5| 0.0| 0.2| 0.2| |---------------|-------|----|----|----|----|----|----|----|----| |Sales & Svcs |12.2 7|16.4|16.4|10.0| 9.5|15.3|28.7|13.6|13.4| | | | | | | | 1.5| |Total Approp |49.8 7|54.4|54.9|55.3|60.4|55.4|45.2|42.6|53.0| |---------------|-------|----|----|----|----|----|----|----|----| |Grant/Contracts|17.2 4|10.6|14.4|26.1|16.8|15.1|10.0|19.9|18.0| |---------------|-------|----|----|----|----|---| |Appropriations | | | | | | | | | | | Federal | 4.4 4| 5.4| 7.1| 1.2| 3.0| 4.7| | | 7.8| | State Govt |45.4 5|48.0|47.8|54.1|55.3|49.9|45.2|42.6|43.7| | Local Govt | | 1.0| | | 2.1| 0.8| | Pct #| AUB| ARK| FLA| UGA| KY*| LSU| UMD| MSS| |---------------|-------|----|----|----|----|----|----|----|----| |Tuition & Fees |18.3 2|13.5|11.1| 6.8|10.4|10.2|14.8|19.7|10.8| |---------------|-------|----|----|----|----|----|----|----|-- Table 1 Selected Current Funds Revenue as Percent of Total Revenue Southern Land Grant Institutions | |VA Tech| | | | | | | | | | with actual screen displays, so you can see what you will get when you fire up. WHAT YOU GET The distribution disk didn't have a sample report file, so I used one of my own. It looked like this: ndix with instructions for installing REFORMATTER /// on a hard disk under Quark Inc's "Catalyst." Other than those quibbles, the documentation is remarkably thorough and readable. There aren't many typos. The text is interspersedre is no table of contents. There is no index. A table of contents or an index would have been useful in a document that long. The documentation promised a "quick reference" section that doesn't exist. Fortunately, there is an appem. If you plan to run from disk, get out two blank disks. Copy "side one" of the distribution disk onto one and "side two" onto the other. REFORMATTER ///, bless its heart, is not copy protected. I am a bit annoyed at the documentation. The 2 WHAT YOU SEE What do you see when you open the box? Two sides of a floppy disk and 45 pages of documentation. The "flippy disk" is a great way to distribute programs and a lousy way to run thetion to my evaluations as they apply to your own case. Let's look at the package as you would see it, from opening the box to using REFORMATTER ///. May 12, 1986 Pagebility on my Apple ///. REFORMATTER /// has some lovely features, and it could stand some improvements. I'll describe the program's features, and I'll let you know what I think of each. I hope you will note the described features and will pay atten3 hard disk as an ASCII file called /PRO/RFM/TABLE1 and promptly forgot its name. I shouldn't have forgotten its name. RFM3 is not all that friendly to forgetful people. Upon invoking REFORMATTER /// (Let me start calling it RFM3 for short, OK?), I asked it to load a report. It asked for the path name or a "?" to do a directory search. Since I'd forgotten the report's name, I pressed the "?" key. I regretted it. While the documentation implies that your rep*| LSU| UMD| MSS| |---------------|-------|----|----|----|----|----|----|----|----| |---------------|-------|----|----|----|----|----|----|----|----| |---------------|-------|----|----|----|----|----|----|----|----| |---------------|-------|----|----|----|as Percent of Total Revenue Southern Land Grant Institutions | |VA Tech| | | | | | | | | | | Pct #| AUB| ARK| FLA| UGA| KY ignores the entire line. Fortunately, RFM3 lets you see what it ignored before you have to commit yourself (via an "audit" file). Look at what RFM3 removed from the above table: Table 1 Selected Current Funds Revenue has a quaint way of handling May 12, 1986 Page 4 non-numeric fields in a numeric column. Itle, I specified an "alphanumeric" column and several "real" columns to be reformatted. I specified the "auto" formatting option, the only way to get RFM3 to pay attention to what header items to delete. Under the "auto" option, RFM3 le edited file. RFM3 will stop you from further manual processing at that point. This should be no trouble in a hard disk environment. You might not have to tell RFM3 about headers or go through any manual deletions. In the sample tabally delete any lines. RFM3 reads in a chunk of your source file. When available memory is used up, it writes that chunk to working storage. If you are working from boot disk, and if you have a large file, you may not have room to hold your whoare nice for multi-page reports. RFM3 doesn't know how to automatically delete "footer" information, so some manual deletion might be necessary. You can go through your entire source file (to the extent of available working storage) and manund ran for 8 lines. I could have said that the first xx lines of each yy-line-long page was a title to be ignored. I could have also manually deleted every line that I didn't care to see in the output file. The "automatic" options ecimal places) data. You can play until you are satisfied, even editing your layout (rather primitively, so it pays to plan ahead). Now about those report titles. I just told RFM3 that the titles started with a string whose value was "Table 1" ast, press "C" for column, specify the width of the column with the left and right arrow keys, and press RETURN. Then tell RFM3 what you want the column title to be and whether the column contains alphanumeric, integer, or real (with dalking "spreadsheet" here. For uploading to a data base, think in terms of record fields and the sequence in which each field is to be loaded. The layout process is simplicity itself. You move the cursor to the start of the column of intere that hurdle, I started picking out the columns of data that I wanted RFM3 to turn into a spreadsheet. A neat program feature is that you can pick not only the data columns you want, but also the order in which they are to be created. I'm tort file can be in a sub-directory (Witness the example of "/MYVOL/SALES" on page 14), RFM3 kept telling me that my entry wasn't a volume. If your report file isn't in a root directory, you MUST enter its full and complete pathname. Past ----|----|----|----|----| |---------------|-------|----|----|----|----|----|----|----|----| | | | | | | | | | | | * University of Kentucky Medical School is ignored in this table. Note that RFM ignored blank lines and didn't even say so. The removals it tells you about were ignored because there was text in columns specified to be numeric and because the "auto" option was invoked. The "auto" option is not necessarily all that neat. If the Universitvorite spreadsheet or data base. I used /// Easy Pieces, a notoriously finicky program. The data base imported the Quickfile version of my report as easily as the spreadsheet imported the corresponding DIF file. Error free. Very nice. The spu then get to press "Q" to quit Pascal and "Y" to tell Pascal that you mean it before getting to the same place that you would have reached by exiting the sub program directly. The final step is loading the converted report file into your fafrom boot disk. You will see the Catalyst main menu if you invoked the system from hard disk under Catalyst. If you return to the main program and quit, you will exit to the Pascal command line. Without even having the last RFM3 screen cleared. Yoprogram and recommends quitting only from the master (Reformatter) program. I recommend the opposite in this case. Exiting from one of the sub programs drops you into the operating system. You will see "INSERT SYSTEM DISKETTE AND REBOOT" if you ran one doesn't exist on the directory you specify. After the sub program has done its thing, it asks if you "want to return to the Reformatter" -- the master program. The documentation (page 36) warns against anything so rash as exiting a sub t, the special sub program comes up and asks some reasonably intelligent questions. The Quickfile converter will either add your reformatted file to an existing Quickfile directory (QF.FC and QFF.A) or create a Quickfile directory if May 12, 1986 Page 5 invokes the special sub program (QFFORMAT or DIFFORMAT) to do what you want. After a bi"auto" option). The program then asks whether you want conversion to "Q" (Quickfile) or "D" (DIF) format. I wish programmers would spell things out. Once you select the appropriate letter, RFM3 exits its main program and er "first name" you want -- a .STR file that contains the reformatting instructions, a .DAT file with the extracted data columns from your report file, and possibly a .AUD file (So you can audit any deletions that the program made under the ou work with a given type of table a lot, you can call up its reformatting instructions instead of having to enter them from scratch every time. After your template is safely stored, RFM3 starts to work, creating up to three files with whatevt happens is that RFM3 stores your template as a file named TEMPORARY.TPL on the root directory of whatever your "boot disk" is. Nice feature. You can also explicitly store your template under whatever name you might be fond of. Nicer feature. If ynd dashes and parts of titles. Everything. The documentation doesn't say so. I'm ahead of myself. Once you have your columns laid out (RFM3 calls a layout a "template"), you can press "R" (for reformat) to convert your file. The first thing thaven when I didn't specify what "header" lines to ignore. That can be a time-saver with a table structured like this example. If "auto" had been turned off, no lines would have been bypassed. The output file would contain cells of blanks ay of Arkansas (ARK) endowment fund had been entered in the table as "N/A" (for "Not Available") instead of 0.3, RFM3 would have bypassed the entire "Endowment" line. With the "auto" option turned on, RFM3 ignored the same lines of the table ereadsheet needed work after the import operation, but that is due to the nature of DIF files. DIF doesn't know about column widths or fixed decimal formats. The "data base upload" to QF or 3EZP has an undocumented feature that may be self evident. When you specify a "column title" in RFM3, that title becomes the data base record's field name. IMPRESSIONS I took a bunch of notes while trying out RFM3. As tends to be the case, they were mostly gripes. Let me /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (30 May 12, 1986 am -- warts and all. If you need RFM3's features, you need them bad. This could be a great program. As it is, REFORMATTER /// is just a pretty good program. bar. There is plenty of space (pun intended) on the screen to display all three messages and no need for response to any of them. BOTTOM LINE I gripe a bit, but the bottom line is that I wouldn't be without this progrhe SPACE bar. Then it tells you something about the number of lines in the .DAT file and invites you to press the SPACE bar. Then it tells you how many fields are in the .STR file. Guess what you have to do next. Right. Press the SPACE and temporary files should be wiped after they've served their purposes. Neither am I fond of pressing keys for the hell of it. When RFM3's main program processes, it tells you that the template has been saved and invites you to press t three intermediate or temporary files before invoking one of the sub programs. They stay around. If you re-do an operation, you are even told that "whatever" already exists, and you are asked if it is OK to overwrite it. Those intermediaten you invoke the program again, no matter against what report file, that previous template will be loaded before anything else happens. Why doesn't the documentation say so? I don't much like clutter, either. The main RFM3 program creates up to system prefix. Why can't its input and output files in that sub-directory be referenced by only their file names? I don't like surprises. If you have run RFM3 before, the program will have saved a TEMPORARY template. Wheub-directory named /PRO/CATALYST/RFM. Through the Catalyst editor, same was also the default Pascal May 12, 1986 Page 6 ly hit the "Q" key. Most programs ask "Are you sure?" if you hit the "quit" key. RFM3 just quits. At least it saves your template before actually quitting. I don't like typing full pathnames. I installed RFM3 on my hard disk in its own special se way the main program quits is also more primitive. First off, it should quit to the operating system like its brothers. Second, the letter "Q" is rather close to the letter "A" on the keyboard. One could aim for the "A" command and inadvertent share them with you, and you may take them for what they are worth. The main program is much more primitive than the sub programs. If a single letter response is expected, you must not only type the letter, but also press RETURN afterwards. Why? Th1)-984-0300 WAP /// SIG PUBLIC DOMAIN LIBRARY PDS NAME: Reformatter /// DISK ID#: 3UTL-02 Bootable?: Bootable (Pascal) REFORMATTER /// lets you load structured text files into a variety of data base and spreadsheet programs. The prog MENU.MAKER TEXT MODULESEG=0"MENU.MAKER"890&*X=11000: TEXT SLOW-DOWN LOOP ,X.1,180,22:2,280,21:2,2380,23:z:A$="LISTING "+B$(I),16,B)$=01:=0::"80C";A$;::12)>=23:=0::"(J)=A$(I),1,31)!J/2<>J/2)=4:=+1:ۙ=44B$(J);:J=J+1I:1,180,22:2,280,21:2,2380,23:8A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0UCA=128:LCA=UCA+32CT=15 IF PREFIX$= PREFIX$+MID$(B$(I),VOLUME NAME (/DISKNAME) OR DEVICE NAME (.Dx)"P12);::"80C";a$;:Zb$="CHANGING DISKS"$d=23:=0::"80C";b$;::12).n=12:=20:"MAKE A NEW MENU FOR DISK: ";N$xN$)<2110=N$ :210 I=1L(A$(I),A$))200B$0 WAP /// SIG MENU.MAKER PROGRAM (v. 6.2) =".D1"210: Coldstart (320: Warmstart &*X=11000: TEXT SLOW-DOWN LOOP ,X.1 CHANGE DISK SUBROUTINE23œ202:2200<RFa$=" YOU MAY SELECT YOUR DISK BY Reformatter /// EAD PASCAL TEXT FILES."04=10:"78C";"ANY KEY RETURNS TO THE MENU."!>G$:::".D1/MENU.MAKER",320R",220(204::"79A";""; 2D=1:F=1 <#4;a$ FD=D+1 P#5;a$ZD=60#5;12)dD=60D=1nF=F+1::d$;::Y=1100:Y x13402  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T R".D1/MENU.MAKER",220 d$="" A$="PRINTING "+B$(I),16,B)=01:=0::"80C";A$;:#3,B$(I),16,B)Z=1#3;b$:"78A";b$Z=Z+1:Z=18:1290 1260 #4,B$(I),16,B)#5,".PRINTER"+ž#4#5;12):::".D1/MENU.MAKE30C$="N"C$="n"1160;:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": $1020.202 8::Z=1B::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1170*C$="N"C$="n"79C";"PRESS ANY KEY TO HALT LISTING"::202 1020#2,B$(I),16,B)ž#242:::1160Z=1#2;A$:"78A";A$Z=Z+1:Z>1842:::Z=1980*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1016,B) THEN 240 #1, d$="":=10:"80C";d$ ž#1300I=0"I=I+1:#1;A$(I):290,#1 6L=I-1@j=1:same=0 J:SEG=0 Tœ2030^CT<1CT=1cCT>13000Zha$="{,|,~,}; selects; to new disk; G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 leve 1600 &:WW=1:0 :SEG=1;".D1/SEG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T READ PASCAL TEXT FILES."04=10:"7M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$П,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=211660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$="JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750T 0")2070H540R\A$="RUNNING "+B$(I),16,B)f"79C";A$;:=0pB$(I),16,B) z::SEG=1".D1/SEG.T"t=+B$(I),16,B) yCT=CT+1~240:=24:=0:"@ ..... "DATE.TIME.LINE" ....JM=Ҡ,4,2))BTM1630,1640,1650,0=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1 œ2120B=B$(I),16)," ")-1 B$(I),"BASIC 0")850B$(I),"TEXT 0")890 B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXB$(I);v:520: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/2)I=I+1I2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:CA)"PRINT.ALL": OA+P 3HA=(81+UCA)A=(81+LCA):::: OA+Q Quits 3IA=(83+LCA)A=(83+UCA)"PRINT.SHOW": OA+S 2JA=(68+LCA)A=(68+UCA)/Screen.Savers/HELLON=THPOS:B$(I);XA<8A>11540bA-7640,660,690,720l:=THPOS:ٺ1600 =Q:WW=0A=:A=21A=9&oldprefix$=40A=31410: Control C "aborts" program to Basic(:A=13770: Return Selects a file *DA=27:50: Escape to change disks/FA=324000: back out one directory level 3GA=(80+UCA)A=(80+L"BASIC 0":150A$="TEXT 0":150A$="CAT 0":150A$="FONT 0":150A$="FOTO 0":150A$(L),"BLOCKS")510*=27:=19:"FREE MEMORY AVAILABLE: ";=7:=20:"80C";A$(L);$:=5:THPOS=4:I=1:IBOTM=J-1:620Q=:=26:=21:ram can create Quickfile files directly, and it can create DIF (Data Interchange Format) files. Either can be imported by 3EZ Pieces or AppleWorks (or most Apple // or /// data base/spreadsheet programs.) Side One: Boot disk and Review of the progra ٪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: צ/˄5ȡ0ƀƀP̀ʀȡ0ܾaġ 00ܾ 87CONSOLE1:7SYSTERM2:7GRAPHIC3:7PRINTER6:5REMIN7:6REMOUT8ת802Ȅ&0á݂0 4 6ȡ4 0.  á5٪P,6YتPš  ȡ޾ *:Í#Í*á ޾:ˍ צ:P?P#áL۾ ݏ۾0 4ޕ P5:Ä:P.áٳ ا?ǀǓ ا?ǀ: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ܓڢڢ   "ġ$ނ#m. Side Two: Program Disk ,2-2ȡ ނ0ō>- >>+2ȡ09ō>0 ˡ c> >>0Ʉ廹> ;> > ;>c> 0Ʉ  廹> ō> 0 0,?? 19 c? ??á>0 ;? ? "  H-HSOS CHAINSTULONGINTIPASCALIOPAIDS (ǰȑ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왺ED<:520.-+*)$ f?  hh * <hhL'&$"<?  hhhhHH * <İ ȑjȑ*ȑLedbROLJI |?  hh왺 ȑL54)&#!  L?  hhhh * <Ű 깷LCB1.-,*)&# ^?  hhL  ?  hhhh * <hhʰ 쭷ȑL{@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.20g*!Procedure SOS_Set_EOF ( RefNumb, Base, Low, Hi : Integer; Var RetCode ); !Procedure SOS_Set_Lev ( Level : Integer; Var RetCode : Integer ); !Procedure SOS_Get_Lev ( Var Level : Integer ); {$ENDC} {$IFC SOS_Utility_IO} Procedure SOS_S_Fence ( Priorure SOS_Get_Mark ( RefNumb : Integer; Var Low, Hi, RetCode ); !Procedure SOS_Get_EOF ( RefNumb : Integer; Var Low, Hi, RetCode ); !Procedure SOS_Set_Mark ( RefNumb, Base, Low, Hi : Integer; Var RetCode ); umb, RetCode ); !Procedure SOS_Get_B_EOF ( RefNumb : Integer; Var BlockNumb, RetCode ); !Procedure SOS_Set_B_Mark ( RefNumb, Base, BlockNumb : Integer; Var RetCode ); !Procedure SOS_Set_B_EOF ( RefNumb, Base, BlockNumb : Integer; Var RetCode ); !Procedte ( RefNumb : Integer; Var BufPtr; OffSet, 9NumbBytes : Integer; Var RetCode ); !Procedure SOS_Close ( RefNumb : Integer; Var RetCode ); !Procedure SOS_Flush ( RefNumb : Integer; Var RetCode ); !Procedure SOS_Get_B_Mark ( RefNumb : Integer; Var BlockN6Var BytesRead, RetCode ); !Procedure SOS_S_Read ( RefNumb : Integer; Var InputBuf; OffSet, BytesReq 8: Integer; Var BytesRead, RetCode ); !Procedure SOS_Write ( RefNumb : Integer; Var BufPtr; NumbBytes : Integer; 7Var RetCode ); !Procedure SOS_S_WriOS_Open ( Var Path; ReqType, Pages : Integer; Var SysBuf, RefNumb, 6RetCode ); Procedure SOS_New_Line ( RefNumb, Flag : Integer; NewCh : Char; Var RetCode ); !Procedure SOS_Read ( RefNumb : Integer; Var InputBuf; BytesReq : Integer; ListLeng : Integer; :Var RetCode ); !Procedure SOS_Volume ( Var DevName, VolName, TotalBlks, FreeBlks, RetCode ); !Procedure SOS_Set_Prefix ( Var Prefix, RetCode ); !Procedure SOS_Get_Prefix ( Var Prefix; Length : Integer; Var RetCode ); !Procedure StCode ); !Procedure SOS_Destroy ( Var Pathname, RetCode ); !Procedure SOS_Rename ( Var OldPath, NewPath, RetCode ); !Procedure SOS_Set_Info ( Var Pathname, FileList; ListLeng : Integer; :Var RetCode ); !Procedure SOS_Get_Info ( Var Pathname, FileList;!Procedure SOS_Get_D_Nmb ( Var DevName, DevNumb, RetCode ); !Procedure SOS_D_Info ( DevNo : Integer; Var DevName, DevList, RetCode ); {$ENDC} {$IFC SOS_File_IO} Procedure SOS_Create ( Var Pathname; FileID, AuxID, Storage, EOFBlk : Integer; 8Var Reource): ZREG7 d"RETURN0 "(INTRINSI'"EG01 "ZREG'')xPxxINTEGER xHREAL &J~"CHAR \BOOLEAN STRIN Integer; Var BytesRead, RetCode ); !Procedure SOS_D_Write ( DevNumb : Integer; Var BufPtr; OffSet, NumbBytes, 9StartingBlock : Integer; Var RetCode ); $C Copyright Apple Computer Inc. 1981n in se SOS_D_Status ( DevNumb, StatusCode : Integer; 9Var StatusList, RetCode ); Procedure SOS_D_Control ( DevNumb, ControlCode : Integer; :Var ControlList, RetCode ); !Procedure SOS_D_Read ( DevNo : Integer; Var BufPtr; OffSet, NumbBytes, 8StartingBlock : { 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 := FALSE} {$SETC SOS_Plus_IO := FALSE} ! !{$IFC SOS_Device_IO} Procedurity : Integer ); !Procedure SOS_G_Fence ( Var Priority : Integer ); !Procedure SOS_Set_Time ( Var Time ); !Procedure SOS_Get_Time ( Var Time ); !Procedure SOS_Joy_Stk ( Mode : Integer; Var Value, RetCode ); !Procedure SOS_Cold; !{$ENDC} ! {$IFC SOS_Memory_Mgt} !Procedure SOS_Request_Seg ( Base, Limit, SegId : Integer; Var SegNumb, =RetCode ); !Procedure SOS_Find_Seg ( SrchMode, SegId : Integer; Var FiveInts ); !Procedure SOS_Change_Seg ( SegNumb, ChgMode : Integer; Var Pages, =RetCode ); !Proc)H(H`6h(h)h h ` )H(H`*h(h)hh a ȑ)H(H`6h(h)hhii b )H(H`Dh(h)hhii c )Hlh(h)эL h(h)΍1hhh h h h h hh h ȑ)H(H`=7531/,(&^h(h)ЍU L/ h(h)hhh h Ҟ ȑ)H(H` 8h(h)hh Ӟ ȑL h(h)΍3hhh h* h hh h ȑ)H(H`?8521/,(&`h(h)ЍGL h(h)ύ-hhhhhhh h ୠ 䭢 ȑୡ 䭣 )H(H`K9520-*#  6h(h)hhh h ̞ ȑ)H(H` 8h(h)hhh h ͞ ȑ)H(H` 8h(h)ύ"hhhhh h m m m j jȑ)H(H`K?;91.-+(lh(h)эʞ 䭤 ȑ䭥 )H(H`@>520,*' jh(h)hhhhh h hhheheL <h(h)hhh h hhh h  ˞ ȑ)H(H`64,(%" Vh(h)hhh h hhheheLhhhh ⍧ h h h hhh Ȟ 歡 ȑ)H(H`ONKIEDCBA@>42/h(h)hhh hh hh h ɞ ȑ)H(H`*'$ Fh(h)hhhhh h hh h h h ⍡  Ş 譥 正 ȑ警 此 )H(H`=<9631.+$! |h(h)hhhh  ƞ ȑ)H(H`!Bh(h)hhh hhh  Ǟ ȑ)H(H`.$!Jh(h)hhBh(h)hhhhhh ⍡  ž ȑ)H(H`)(%"TÍL č:h(h)hhh hhhhh ⍡  ȑ)H(H`I=-,)&#!bh(h)hhhhhhhhh ȑ)H(H`40/,)&#!bh(h)hhh h* h hh h h h hh  ȑ)H(H`[XUTSQNLJFEDCB964h(h)hhhh  ȑ)H(H`!h h h h hhhehe h h 䭦 ȑ䭧 )H(H`RPNL853/-*# h(h)hhhhhh 䭡 ȑ)H(H`)&#!Rh(h)hhhhhhh h ⍢ UL) 1h(h)hhhh h hh h ȑ)H(H`A.+)&" Xh(h)hhh h h h hhhehe h h ȑ)H(H`HFDB.+)%# lh(h)hhhhedure SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ); !Procedure SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ); !Procedure SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ); {$ENDC} !{$IFC SOS_Plus_IO} Procedure Up_Load ( Var Char_Set ); !Function At_Sign ( Var Ptr ) : Integer; {$ENDC}   Implementation E d_Seg ( SrchMode, SegId : Integer; Var FiveInts ); !Procedure SOS_Change_Seg ( SegNumb, ChgMode : Integer; Var Pages, =RetCode ); !Procedure SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ); !Procedure SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ); !Procedure SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ); {$ENDC} !{$IFC SOS_Plus_IO} (H`Jh(h)hhhhh h d ȑ⨪ )H(H`,(&LeCopyright Apple Computer Inc. 1981'(),` PXnZ@`Vvn&4`* N L (  ( Base, Low, Hi : Integer; Var RetCode ); !Procedure SOS_Set_Lev ( Level : Integer; Var RetCode : Integer ); !Procedure SOS_Get_Lev ( Var Level : Integer ); {$ENDC} {$IFC SOS_Utility_IO} Procedure SOS_S_Fence ( PriorƀLV~HHL,~HH~HHHHHHL,~ʈƅFHHHH恥HL,0~}ʈƅ0I愊iʈؚH恥LŁ|} ƅLw ~~8ʭ==` 5l 5 l 5lhzh{hƁhhhƁ}eʆƀƀ|ʊe~8偅z{lzhhhhhh8冐 0 h HHHL,LGIL,h hBCʈ _.ł( Ł|} ŀ}|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 ^!SECommand: 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< 0ݪPܪP0š YY0PYǠYPF D ۮ   ڪPXPšEצ:š  >#צ*צ:á >š{-NVWf-N@ȡQ-Pצ:-á:ײPN? XP ??زP>پ/ˡ צ/P?8زPtV,j8n :/˄ /P /á< 0ݪPܪP0š YY0PYǠYPF D ۮ   ڪPXPšEצ:š  >#צ*צ:á >š{-NVWf-NتPRš+R+PP4تPRšG+R+PGP4GRšزGRPزGPR0ȡپ á*š*۾١:/˄ /P /áVAR current_prefix: STRING); (PROCEDURE get_pathname(VAR pathname: STRING); ( # #IMPLEMENTATION E LIBRARYtJJ|r;t^JJ;t^; ~UUxS ^!SECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,* ( ( (PROCEDURE SetChain( Tytle: STRING); (PROCEDURE SetCVal ( Val: STRING); (PROCEDURE GetCVal ( VAR Val: STRING); # ({PASCAL 1.1 additions for application support} ( (FUNCTION set_prefix(new_prefix: STRING): BOOLEAN; (PROCEDURE get_prefix(ity : Integer ); !Procedure SOS_G_Fence ( Var Priority : Integer ); !Procedure SOS_Set_Time ( Var Time ); !Procedure SOS_Get_Time ( Var Time ); !Procedure SOS_Joy_Stk ( Mode : Integer; Var Value, RetCode ); !Procedure SOS_Cold; !{$ENDC} ! {$IFC SOSƅ  ILL, _LwLL,E0LL _Lw ILL,ELL _LwEe8刅刪ʈʈݒ&~ʈƅFyʈƅ}ʈƍƎƋƊЌإL2d|e~28ʈƅyʈƅƉ` _LWŁ|}ƅLwE||怦}ʚH恺8倅偪?˄??&@ۂ"ˡu??š???#?$???$?#ń ?#?$?ۚ?$ܚ?AAA?AˡA  5~ 09Ȅ.!~Ȅ/azōaA??@ɡ??"@?Ä?á?????,? >"Má? > >? >á @@@ Ą @ ?ˡ\?%,?%???&@?"% ,    ݂܂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= 8BLKRANGEX(=+U8IN ei|ʽ 8襁i}ƅ|L,hƀhhh8hohlhXhhhFffff80)ƅܥ#FfII懥HHL,LGhhhhhƀhh-Ȅʈƅ})H揥>ʈƅ ~擥  抦|ɥ8包~ƅLII懩&&u`hh HHHHHL,}0آ  "10ˍ8,ɡ 1ɡؿ 0ÄL2٢10ˡ103آ1 41á Ä1./-+á -á0Ná1. 2 .á0Eáa4.12,ɡ1.HH`7hhhhhhhh訪 H & *HHH`6hhhhhhhhHHHH`&hhhhhheȑȦ0+L4-I8i  L6i0i0HH`.`4j rXJF8IȱjE Ȅ橀إHH`zhhhhhhhhhh[ȱ)uD*&**u&L&*** ʈHH5qjȑ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'v :2D"\.< z 048VID K6ANU8HVIDS ZA\A!8H@DIRRANGEA~AA8MTID CAAN8HFULLID VJAA8H  type charsets = ( visible, integers, reals, alternate ); &chrset = set of char; &key_status = ( any, shift, ctrl, alpha, open_apple, closed_apple, Zkbd_on, special ); &key_info = set of key_status; "  (**) # #procedure Screen_cmd ( q, w, e, r   . ٦ׯ Pȡ P6٦ׯ0P-áȡ0PDڪPׯ P/ܓ///  ء#޳ ޚ  ȡ" ݗ 3 ܡ ۡ R8ء<צPress to continue "  2 bܳ@@ܳF N٪Pׯ PR4ǀ   ȡ#<ȡ*! :šڞ$۪Pׯɍ*šپܿۿڿٿؿ  *        implementation N E #procedure Real_to_string ( real_num : real; n_frac_places : integer; Lvar real_string : string ); #procedure Center_string ( y_scr: integer; s : string; var eos : integer ); #procedure Put_ch_in_str ( ch : char; var s : string; index : integer ); edure Str_to_int ( s : string; var num : integer; var failed : boolean ); #procedure Str_to_real ( s : string; var r : real; var failed : boolean ); #procedure Integer_to_string(int_num : integer; var integer_string : string ); string; len : integer ); #function First_non ( from_the_left : boolean; ch:char; s:string ) : integer; #procedure Get_string ( ip, y, len : integer; pad : boolean; var s : string; 0charset : charsets; altcharset : chrset; nulstrok : boolean ); #procype : key_info; Rcapitalize : boolean ); #function Get_char ( x,y:integer; legalchars:chrset; capitalize : boolean; Ceolok : boolean; var eol: boolean ):char; #procedure Pad_blanks ( var s : string; len : integer ); #procedure Pad_zeros ( var s :Kstart, len : integer ); #procedure Prompt_for_cr ( writeprompt : boolean ); #function Y_or_n ( x, y : integer ) : boolean; #procedure Put_at_xy ( x, y : integer; s : string; var eos : integer ); #procedure Read_key (VAR ascii_char : char; VAR key_ts : integer ); #procedure Array_to_string ( len : integer; var char_array : bytestream; Svar s : string ); #procedure Str_to_array ( s : string; var char_array : bytestream; string ( y_scr: integer; s : string; var eos : integeocedure Normal; #procedure Clear_screen; #procedure Clear_after_xy ( x, y : integer ); #procedure Clear_line ( y : integer ); #procedure Clear_to_eol ( x, y : integer ); #procedure Flush_buf; #function Key_press : boolean; #procedure Stall ( second, t : integer ); #procedure set_viewport ( tlwx,tlwy, brwx,brwy : integer ); #procedure restore_viewport; #procedure Sound_bell; #procedure Cursor_up; #procedure Cursor_down; #procedure Cursor_left; #procedure Cursor_right; #procedure Inverse; #pr/ T Hš $ɡ$ = ˍ <%á$.&ۡ  /-ǀ ,'á.ö.˄ݲ= -Äލ.ݲ-ǀߡ  (%ECol Load Save Refrmt Top Xcol Del Undel Find Auto Page Hdr ?help QuitתP      LjNJNjǕ $"#! < _dLnFREFORMATINITIALI &HL > n  X  R | 2H^t^*/2?/צP P5?77ȡ55=̐3577ȡH3ߞ$33ߞ$ 088P8 Ǡ8P.P77ȡJ3߀$33߀$ 088P8 Ǡ8P2 -Pab!٪POġ P--T4"xPڿPR#@F J ~ -ئ0.תP77ȡצ0P*!22?/צP P5?77ȡ55=̐3577ȡH3ߞ$33ߞ$ 088P8 Ǡ8P.$$.á0P* 2ɡ 2ئתP P.33ȡBܞ$ܞ$ 044P4 Ǡ4P2 -PY ڞ$ۡ  ./1414ȡ!1@*110-0-.0.ˡٳ Aټ00-002/0/Ȅ'2200/-//00.*ټ2.ټ[b@ڞ -0--.)wXڹU=̽^#< ׽R:oF8:'7Ž.57"3]RH>4* v-ڪPٳ.צ* 11ˡ11á.-á .  tln. ~ڪPׯ*צ --ˡ--á.-á .-/-/ȡ"-*--0ń š*צ32767*-/-/ȡ7=-7==>13== P,,M)M"á$ á%&M)*ׯ ء*+(='2)ġپ ˡ**" 2*ھ á ڶá/`*+"-ö.Ä*+ 6 j x+N- ~L?Z   ?  = d -R VR $ Ƕ R B;: OP $Reformatter ///, Version @K  # M  ...formatting C|)ڨ) +ڨ' , ~ǀ} } šނ//ȡN(á2( š'  áš ɡ-  ɡ  ɡ( ɡ(ܕɡ   آߚ~' ǀ *ڨ٨   š  š* š*܂š  آߚ۩šȄ(6 %ɡکšɡ۩šȄإ( t& ǀ (ڨ٨ Ɓ e`ʁǵhʁh`eɄʁh ́h``̂;Ƃ;ƁPƂ;/QƂ;ʁh`Ƃ;PƁi!R"   ""*å) Ä) Ä"#Please Wait....$ɡکšɡ_ÄƁjƁjÍ#Ɓf eeʁfƁjʁf ʁgʁf́geá+צ"No files of the desired type found"$`ʁǵhʁhˡD````` צ. ʁhʁh ́h/lƁ Ɓi!"`ʂ8ˡʂ8"ʂ9f`Ƃ8ʂ8ˡʂ8"f$af%bƁi ́ge^``bȡ^^^aġFfcccʂ9cƂ8ʂ9f^Ƃ8ʂ8ˡʂ8"^^'_f_ˡv``f_f_f_0Xf_Ɓj'fʇˡ Error closing Audit Trail zX $&!/ܪP۪Pʂ9ˡ ʂ9Ƃ8Volume name for lookupץ|@Ɓ "ƁXƂ8 ʂ8ˡʂ8"Xˡ'צNot a valid Volume/Device nameƁƂ:Ƃ9Ƃ8QȡQġ2 ٩   ٩R QQˡ%צError writing Output File   詇RQRQRQQˡ צError closing Output File LˡE; ˡY ۥȡ3ȡڂˡ; ᩐ;š ᩐ:ȡ 擡&ˡ ɡ㥇á ġ  ޞA <ȡZ=A<@ ة<@* $ A <ȡ.=Aš䫐 - -ȡ, l  0  ;T^ Ƃ'ƂT?ZƂ+צ?CLSRTXDUFAPHQ Pצ%reformat.help"ˡ#צERROR: Help file not found4 ت 222-22(22#22222222 22  22 Z(Х   0 š 0^$@1?NAANPA?QAP!?áNN?áڥNPNׯ* 2 ڪP-././ġ---. ˡ--..-,XB2-ߪ (ު #ݪ ܪ ۪ ڪ ٪ۡaġ zȡ !ڡ, 1 h (p1P@ۀ? NתP ? !Nצ?@1?Ná?@1?6 !צ Page length ; צ Header :  Auto ON |צOFF |'#(0ˡ!oooo oo צooo ooo o o צ o o ooo ooo צ o o o o צooooooo dOOOOOOOOצOOOOOOOOOOOOOOOOצOOOOOOOO Oצ O Oצ Od á!  㕫    ޕɡɡ)㥇)+)*%%9/#/ ܩ*á  ˡ) Error: cannot read from workfile/ 4,  á á  䓡  áF#   !  㕫 ;ړ(%%279$ # $&ݕ!ߥ!,!"ߥáݕ ݞ*á) @ɡ)š )े),)ړ$ %㕂㫇 ášX) ੇ*᥇)᥇)+!"  ˡ@ ȡ !#$ !᥇!+Ä!#áU*)!"ݩܩܫ !!+ .듡ák$Cצ .......moving-.=צ8No work space can be acquired. Confine editing to above.!#  ũń Ʉ; á    2تPš + (press SPACEBAR)ת++55 áh zצNo Current Data(5 ة K B756צJColumn Width: Use Arrows to change widt{zɡ ' !  ɡ0 ɡ{z{>צReport Name (or ? for lookup)|@V ?V?/Enter number of Repd yá{zC  ......loadingV{zߩɩń ߫~ǀ} ġ }  ݂ ݂ z --%QFFORMAT.CODE;%DIFFORMAT.CODE$DQ O$ צ)Loading formatting module... please wait. =ˡ צ  ^Dɡ< None found08<ȄTġܩ ۂڕ٤ڂٚ{ˡ{ ʀR @ ̀ʀȡ.-- -ll--áˡ ˡV-(á.)ˍ9-<á.>ˍ-.á @  j  á á deletes lines; quit, no changesٕکš צCannot delete this many:šIצ  ȡޕ  㥇ڤڤݞ  ȡ㕚  򩇵ە㕫ګġ㩕 š  צ4E8ÍwצWrite ProtectedP0wSOS I/O Error # תPw 0w 0wPצ Do you want to try againj :<>@BDlڕ ء۫šکPڦ488áwצNo Room on VolumePڦ238צ2E8ÍwצDevice not OnlinePڦ448áwצPath Not FoundPצ458áwVolume Not FoundתPڦ468áwצFile Not FoundPצ498áwDirectory FullתPbڦ2B87ܫ ةá1 6ڪP..P.צ (Y/N) W.\- -Y5 B ڪP0.0-. š..- š--.-V@8צ408áwInvalid Pathnameh; keeps new; keeps old@š@ šةáá ~ةáWá Dš-ۂšګ򩇨󕫆 ة á-ةá ort FileצץV"?V z yVw{zzˡ?á>  ? ٢ BצType of Data: A R I٢ <<+ ȡá  2 š# á  ɡš ɡ z*áǶ +An%צ=Audit Mode: use arrows to inspect, to continue ReformatPL = !Ƃ)[צ*temporary.tpl"ˡצ temporaryE3RQRQRQˡ E keeps new; keeps old ڕ: I쓫צ2,48@9;;<<2=>>AEl@ F2h33/"3^3  |*\/**+%0'nB.Rb47NLdow.firstline := 0; &{ &convert the data to screen format and display it &} &DISPLAY(buffer, .data.line[ window.firstline ].ptr^, .0, .left  #   LzȄ`e)` `876~{vsI hhhhhhhhhh iL/HHHH`FxvP ~ F Z<vX4!"#.'D) Fȱiei Lx e eieͥHH`  `%%L  ȱ  `%$ ȱ8 %Ȅ    HHHH`*hhhhhhhhhhhh8= 6  .8L/8Hh Șȩ8HHHH`Ahhh$hh#hhe#hhhhhhhhhhhhhšɡ  K 0"-'D+24hhhhhhhhhhhhee   L/ȱ Șȩ8WšH" #á ɡsġ \ɩōEˡɡ󩇪š 򩇨󕫆SáDá 2á #á áLˡ_ȡá . š  á ˡɡ.듡á  /'A9%U "-SIOu_02M%%L>Previous Template loaded.%%<L1N ásácáed,,,Matching string is ,c,  ; KL á?#Do you want to continue to Reformat = D5oAk:g;c _<[FWS6OGKJGIC4?K;?X4áM6Warning: no Page-break markers. Set Auto-Delete anyway  Jצ/Page Length or "" ,P l+++á++++áצMatching string clear