IMD 1.18: 21/01/2023 17:51:55 PRQ-SFT-GBD-9 3RCC PERQ UTILITY PROGRAM BINARY DISTRIBUTION FLOPPY Copyright (C) Three Rivers Computer Corporation, 1982 single density, double sided D.6 Group name Command file UTILITY.BINARY BIN.CMD LINK.CMD  write.`c`kkklNjkkkjkk ki'mkiLmc}}c````c}p}3c````}^LcaN ( (! N`COPYN`cɜcɜcca )PN`^c  p}^^c c}p}^^cc}p}^^ckHkk`k' km`{ # N`COPYN`; $ N`COPYN`͌R3~cFile to cc}pu3}3danki'mkiLmfkiJkfk)/ko`kf`kn`kf`km`kfHfkfk)kn`ki`kh`opy: `cLc``cLcɜcɜcca )PN`R4N} a \ }}*N`a}}d}(c}}``c} ac* DeR3cCopy `c`c to: `cLc``cLcɜcɜccastination file: "`}c`c " will contain wild cards.`c)`-* Are you sure this is what you want )PN` R4Mc+** Specify the output file name first here.`c to do? P`N`a \ NN}(Nț``c7`Ndc}cR4R4 # N`COPYN`/ ! N`COPYN`>N` ap(}`p`JdP}}pH`}pJ`JdP3Sd帛 d帛 >'c *N`cS aN c cɺ aN N5``crm: Pk,*Νk,'N\] N`}N`` N`}N``N`}N``dc}c}aq'Jc ** Directory `c`c not found.`c\c`** `ccS`N`}N``   c}33}3dc}a(Nl3}dc}a(Nkkk @c and `cc `c3 do not have the same wild cards in the same order.`c\  c````3}dc}ic}haoc3c}c}ic}haoc}c `cc}`c ==> `cc}3`kk mko`c``````c```c4`NNN)Copy 5.3'Vcc** `cc}`c is a directory; can't copy.`c`')b PJ. Type /Help for helpJPNJ)&ASK ask before copying a file.P帛`N`a \ckl 3}3dc}gc}gankn(ac* `cc}3`c already exists!! DNJ)+NOASK don't ask before copying files.P帛NJ)0CONFIRM ask before copying to existing file.Pelete? `)P`N`a \kn`'Tc** `cc}3`c! is a directory; can't overNJ)(6NOCONFIRM don't ask before copying to existing file.P帛NJ)HELP print this message.P帼c mwJ'.i Jp'iw;*p'w**& w*h""W* @}23}w#o'fw *,\Xw* #twJ w c** `ccS`c not found.`c\Sdcɺ c Ɋ``cc Ɋ`c a NPAScopy rad>n2(z2  ,=~ /.65J@ %JSTREAM Stream.PAS%%a%`N`3Sd3 dmcSa N`N`c a N`'ndzn  ,=~ / ||4 *POPCMDPAPopCmdParse.PAScopy FOOSTN`3Sd3 dj+,))ffV IC6,zV%copy J@zPOPUP PopUp.PASddndzmg 33=33>]33^}33~3  ia'W%ApQUICKSOR QuickSort.PASu   copy COM>c** `ccS`c not found.`c\Sdcɺ c Ɋ``cc Ɋ`c a N6,WRITER WRITER.PASrad>newos>d.6>copy.PAS`N`3Sd3 dmcSa N`N`c a N`STREAM STREAM.PAS copy DYNAMIC DYNAMSYSTEM System.PAS| {P Psys:user>brad>newos>d.6> POS D.65 b-boot CMDPARSE CmdParse.IC.PAS%cCA4#\READER READER.PASPASQP|4+ dFILEUTIL FileUtils.PAS4t26 Jan| |4|*JCOPY CONFIRM ERROR HANDLESWDOONECOPDOEXIT RED#\#\X aFILESYSTFileSystem.PAS! /$SETERRFSNOTFNDFSBADNAMREWRITEECHECKDESGETDIRNABADPATTE>copy.PAS`NcSɺ ɜXN ca HՊJ`N` J)ϏXN cX0aRV% F<E=FILEDEFS FileDefs.PASJJpZPzY<Sc cN` aTN3XN Jd3dH)qlvlvGETTIMESGetTimeStamp.PASCz5 copy ; P &c** No files found.`c}3SdcLa(fcO** When copying from a device, you must speciASCAL copy 6,z6PERQ_STRPerq_String.PAS%%% N  j h 8 *%wJp'wJ=qwj p'(w * d9kwJ fZw * (=w#* (w * w wJp''w *t!w JVqMw(@w9 wh~wzwJ':dwJsQwJ:d|~w$JHw(~wwwwJ2ewe"wjv Nw* zwsQw&j w(iw* p'w*~:d9*9wVw-JwwJ2ewe"wjv Nw*  ^* zwsQw&j w(iw*  * p'w*ɛ*)P) |``c}ɛ*K`}巛` TYPEFILE$sys:user>brad>newos>d.6>typefile.PAS * N̓}R3#N`FontoN`"3}doN`ʷ3.N`}oN` d E}}]\]TYPEFILE}J}4z} cɜcɜccaN N`N` N`}J{N}R3,c** Filename is empty.`c}a N`N`c3)# .Pas .Micro .Cmd .Df k#c** Profile malformed: `mN`}k N`cc8 Type is used to print files on ths .Doc .Prose P}c'c) a$$' N`}N`N''%'L%)e PERQ display.`cc$ Command line is of the form:`cc0 Type FileSpec {, FileSpecTypeFile V4.2. } J`P` JP N c^C`c "  \} {/Switch}`cc The valid switches are:`cmn)?c `*mNJ)ccȊBcc ** ^Q for MORE **` N   N` cc ccc τ`cmHmn)ccO An entry can be put in the user profile to specify the default settings`cc H   +rc ** ^Q for MORE **` N  `` c ``` ) of switches and the default font.`cc6 It has the form: #TypeFile /Font=FontFileName`c ] cc ----- `c`c  -----`cccc} c}c}c}c}c} " c+ /NoWait`cc\]c3) .KST Pc}c}7c}: a6k6'ϝ" } ʷ|JkHk|H {}LJ  }$` ʷ}} ʷ}}c}c} } sH}} ʷ}k5cQ** Profile error: `c** Font `cc}`cm not found.`}k5 c\(c{ U} ʷ}}} )Lkk}}utzuk`k` k'Z}uNN v ' )sing default.`c\c}9k7``k7`}k98k7J;k8k;)k6`k8`k9k8Kk8H8k8k;)} 3} }v ' v 'vN` c}c} uHut+N k' k'`%`cc"  s'c*Ɋ`a}R4#N`:WaitoN`N}R4%N`NoWaitoN`(cc&** WARNING: Number of blocks in file (`cs``c#) does not agree with length hint (`cɉ'` SYSTEM System.PAS,lxlw"\exp>3 She.SCREENSIZE Set the size of the screen."CLOCK Clock.PAS}tN`ʷc-Moving disk heads to center of disk (address ` }ac`` I` )cc:exp>($BSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptGETTIMESGetTimeStamp.PASATISTICS + ``}c```}c`}}}N`cc** Turn off machine now. **` c]c** Tu| - Turn printing of statistics on or off." sys:exp>$ CONTROLSControlStore.PASurn swapping on or off. Partrn off machine now. **` c\] c````c````NJ)-OFF - Turns off machin is the partition for swapping.+TYPE File CMDPARSE CmdParse.PASile File.osubX$$e after logging out.P帛NJ)EWAIT - Moves disk heads to center and waits until ^C or power down.P帛NJ)H?uhPsys:part3>Segs> DISKIO DiskIO.PAS.5 p-boot Pascal.Run ''ELP - This message.Pc  /c c cI /c c  /c c cIXARITH Arith.PASamp.PAS7D7FF=Pepper V1 bX$$ c cII3rͧIc`arrÿ́cc"Bye is used to log off of the PERQ` cc%The Bye command line is of the form: ` cc Bye [param]` cc$Where param is one of the following:` ccsUsU)-sNJ)cc` csHssU)c\^c}5** Illegal argument to Bye. Type "Bye Help" for help` c\d}~  N cUser ` ccBYE BYE.PASm (allows use of default fileSHR *SCAVENGER Run the disk NV H` c logged off at ` cIccI` c ByevLogIn.  .Run J JPPsUsU)csHssU)N` r'-ct Goo dBy.Bin````ct ` r'033.)c\^c}5** Ille Lj r HelpP*NJ)6WAIT wait for ^Q when typing a?LEffD"!!sys:user>braDISKIO DiskIO.PAS #\ddndm  ^L; (The default).P帛*NJ)NOWAIT don't wait.P帛*NJ)2FONT FONT=FontFile uses FontFile for the fonW%AARITH Arith.PASewos>d.6>typefile  ctP帛*NJ)HELP print this message.PN  ɺa mCOM6UTILPROGUtilProgress.PASwos>d.6>typefile.PAS`c).`cc6** The file was probably not properly closed.`ccP** Unless the file isIJ46 ())"&Kh  a directory, suggest you delete the file or fix the length`ccL** by running the Scavenger and rebuildiSYSTEM System.PASP Psys:user>brad>newos>d.6> POS D.65 b-boot CMDPARSE CmdParse.ng the directories with the`cc** lengths checked.`c  ]}帜PPASQP|6>* dFILEUTIL FileUtils.PAS#\c}c}aNk (k ($ N`TypeFileN`cɜcɜccaNN N`z#\X aFILESYSTFileSystem.PAS! pe/$N`N`R4 %N`}TypeFileN`R3 mcFX0a|64>44>4=#\FILEDEFS FileDefs.PASDDZPY ile(s) to type: `c}c``c}cɜcɜccaNNoc````clvlvGETTIMESGetTimeStamp.PAS>d.6>typefile s"#"sys:user>brad>newos>d.6>typefile ````"  ʷ)#TypeFile V4.2. Type /Help for HelpP*NJ)6WAIT wait for ^Q when typing a  ,=~ /IO_UNIT IO_Unit.PASys:user>brad>newos>d.6>typefile N #ߪ#4X ^L; (The default).P帛*NJ)NOWAIT don't wait.P帛*NJ)2FONT FONT=FontFile uses FontFile for the fon IO_OTHER IO_Others.PAS>newos>d.6>typefile.PASSCREEN Screen.tP帛*NJ)HELP print this message.PN  ɺa mPAScom ~ POS D.65 b-bo   17:JPERQ_STRPerq_String.PASewos>d.6>tIJ46 ())"&Kh ypefile.PASREADDISK ReadDisk.PASZfX  4" 4 COM BYE.WRITER WRITER.PASallows use of default fileSHR *SCAVENGER  Run the disk STREAM STREAM.PASlete /Help" for more details.]$bX@'Run>FDETAILS ParBYE.PAS/noqueryyem detailt08NN \﷛ P}R is not a unique switch.P}) is an invalid switch.P帼s. DYNAMIC DYNAMIC.PASore in/noqueryb,dT2LDIRECTORY Give a directory of files. "Direct /HeBYE DOWAITcaAR4[c** `cc`cR does not take any arguments.`cN\ RESETERR \MEMORY Memory.PAS"\,"\ Aͮ }PUT3}GET3}RENAME3NJNH[c!** ASK is not a valid switch for `cc} 4" 4 COM BYE.WRITER WRITER.PASallows use of default fileSHR *SCAVENGER `.ccN\A }PUT3}GET3}RENAME3NJNH]cY#** NOASK is not a val Run the disk STREAM STREAM.PASlete /Help" for more details.]$bX@'Run>FDETAILS ParBYE.PAS/noqueryyem detailid switch for `cc}`.ccN\ͣ}PUT3}}GET3}COMPRESS3} DUPLICATE3 G 55} FLOPPYGET3} FLOPPYPUT3 ND]c$** VERIFY is not a valid switch for `cc}`.ccN\}PUT3}GET3}COMPRESS3} DUPLICATE3} FLOPPYGET3} FLOPPYPUT3 ND_c&** NOVERIFY is not a valid switch for `cc}`.ccN\}PUT3}GET3}D IO_UNIT IO_Unit.PASllows use of default fileSHR *SCAVENGER Run the disk IO_OTHER IO_Others.PASows use of default fileSHR *SCAVENGER Run the disk STREAM Stream.PAS l FLOPPYUTFLOPPYUTILS.PAS.PAS45 pPsys:part3>Segs> POS D.5 p-boot PaPERQ_STRPERQ_String.PASP4x`"w3'  \MEMORY Memory.PAS"\,"\   2(%X% READER READER.PAS}3 }0N}0}0}0NmHH !}0EDITORINsys:user>wjh>Editor>EditorI.PASS LN}0JN˼˼"aNY.%center InitFilled`c/ (ic <0 <'Jc&** Replay transcript of file creation.`c0P` apN  Fc$** Correct device no longer mounted.`cN\`  ao(o NJ o'Hc'** Correct partition no longer mounted.`cN\``}c``I`}0pNPc0: .$center InitEmpty`cc}H``H` m`N` n+dNm``oc`oN` c0o NJ c0>N` c0}  }} }c`c** Replay tPROFILE Profile.PAS"#"" sys:user>brad>newos>d.6>typefile MEMORY memorHKHN\N߭``ooNoc;}ʷ}HKHN}N}N}}y.PASomfcWRITER WRITER.PASrad>newos>d.6}  Jn+NHKHHNN>typefile.PASSTREAM STREAM.PASN.$cexit InitEmpty`cNY/ 'ϒ}0Pc0 ac3) .Pas .Micro .Cmd .Dfs .Pro2(%X% READER READER.PASse Pc0cc a' c0 cc** `cc0`c not found.`cc%** TYPEFILEDOERROR DOHELP READFONTDOSWITCHREADUSERPNOTFOUNGETFILEIVERYFASTCTLC DOFF Type new name or RETURN to create `cc0`ccc File name`c c^ DOCRLF HANDLELIcWRITER WRITER.PASrad>newos>d.6^c NYc0cP`P`c(Yς`=}P 'NY(Xc}Reading `c>typefile.PASSTREAM STREAM.PASc0`\Nm*ϰ}0c;}0}3ʷ}3HKmHN}3N}3N}3}3}3 ETE3NF^c%** CONFIRM is not a valid switch for `cc}`.ccN\}PUTcnHno)țț} \} }}pHp]Ncc}`c3}GET3}DELETE3} DIRECTORY3}ZERO3}RENAME3} DUPLICATE3} FLOPPYGET3}FORMAT3cP`P`cR3cccca Fc** `cc`c*NLN4}DELETE3NF`c'** NOCONFIRM is not a valid switch for `cc}`.cc is an error.`cN]Ncc}`ccP`P`c3k* N\ N\N}FORMAT3 N+ac(** DblDensity is not a valid switch for `cc}`cccca Ec** `cc`c is an error.`c[sR4Gc.ccN\B}FORMAT3}ZERO3} DUPLICATE3} FLOPPYGET3} FLOPPYPUT3,c/** Input arguments have already been specified.`cNcț P}+})N}}+cc)** SingleSided is not a valid switch for `cc}`.ccN\}FORMAT3 N-})ccca) Pcc`cNKNLENFINJGNHCNDNc"** Test is not a valid switch for `cc}`cN\} DIRECTORY3 NBPc#** ,N1]cA GET FloppyFile(s) DiskFile(s) - copy floppy file(s) onto disk.`ccQ Valid switches areShort is not a valid switch for `cc}`cN\͞} DIRECTORY3 NBOc"** Long is not a  ASK, NOASK, CONFIRM, NOCONFIRM, VERIFY, NOVERIFY, and HELP.`c] GETPwy.What floppy file(s) should be cvalid switch for `cc}`cN\-} DUPLICATE3} FLOPPYPUT3} FLOPPYGET3 N/Rcopied to disk? PN.What hard disk file name(s) should they have? P) P͔!͋ .c_** Th&** NoDelete is not a valid switch for `cc}`cN\͓}TYPE3 N0Pc$** NoWait iis floppy has not been formatted. ** Call the FORMAT command before doing anything else.`cN.R3s not a valid switch for `cc}`cN\%Nc** `cc`cc})`c)wPa ) PR3@c )NPN` a ͍) PzNc** `cc`cc}R`cͪͧͤNc** Illegal character found.`ckNsMR4﷼ɺaɺa(Ϧc ** There are `ɺac``c input arguments and ELETE3} DIRECTORY3}ZERO3}RENAME3} DUPLICATE3} FLOPPYGET3}FORMAT3$NL}DELc** `cc`cc})`c.dJLI)Vry \]^/]mno)  ' cc6Y 'c6cc7cc7˼:.(c Nnp) n?NNnHnp)) ( np)0 n?NN nJ?NNnHnp)'  exit InitFilled`c]0PN/N.N-c}c}+ aN*k* (~k*='N`}N` &  ?NN ?NN  ?NN ?NN ?NN ?NN k*~'#N`pEditorN` k*,'" N`EditorN` c}c}+ aN*k+ @0c3 0?NN ?NN ?NN ?NNnp)% n?N nJ?N1nHnp)# }P#N`cEditorN` ͨc} }aD13 N/͉}D23 N.q}cD33 N-Y"  ?NN ?NN ?NN? ?NN88 ?NNp ?NN REPLAY} a'}DEMO3ϥ}DEMO3N8 N/ N/ 3>Editor.Transcriptd` ?NN ?NNnp)/ n?NN nJ?NNnHnp)% $ ]cc `c5 c})a1 k)L4 1 '5 '- N`Editor.TranscriptN` {HELP} c[[t)+[NtN\[N[H[[t)N[\N߼3 >Editor.Swap$da\N߭'?ca'63!>HelpDir>EditorHelp>EditorK.Indexd \N`}N` {03/ 'Kc file namecCannot open swap file.`cN\1 3 2 6 N/ N8 ``6 c`c. ```c cc0cP`P`cc}`` ` o`` c`o`` c`o`` c` ` IINNNNNNN8NPN   No`` c`o`` c`?np)/mq) n?NmNmHmq)nHnp)  B   IPN>N NNNZNc˼N`cNc˼N`cranscript on file `cc0`c8 .c** Type RETURN to begin.`c03/ '`=B  B  B ?NN? ?NN< ?NN< ?NN> NYc˼N` Nc NcNcc?NN' ?NN# ?NN ?NN ?NNp ?NN8 ?NY,˼`c˼I`cN ?NN ?NN ?NN ?NN ?NN ?NNc˼N` 'c ?NN+ *  ?NN ?NN ?NN> ?NN ?N 4c** Illegal use of wildcards.`c*c}a CN`#** Filename cannot end with a quote- this takes a long time.)`cc1 Valid switches are VERIFY, NOVERIFY, and HELP.`c] COMPRESSPN`c}a BN`#** Filename cannot end with a quoteN`͉}{.P>N}l) P3$* .c_** This floppy has not been formatted. ** Call the FORMAT command before doing `ɺac``c) output arguments. They must be the same.`c͚﷛ χ}RP}{N` al( c}`l` c}}{c}R3}d)}P  k]c& COMPARE DiskFiled帼c}Rac}{a4c** Illegal use of wildcards.`c%c}Ra CN`#** Filename cannot (s) FloppyFile(s). `cc?3 Read the two files and See if they are the same.`cc HELP is onlyend with a quoteN`c}{a BN`#** Filename cannot end with a quoteN`̈́}).P> valid switch.`c] COMPAREPwi'Which disk file(s) should be examined? PNt3Which floppy file(s) N}RkN` ak( c}R`k` c}R})c})}RP3}{d  pcA should they be compared with? P) P͕#͌ .πc_** This floppy has not been formatted. ** Cal PUT DiskFile(s) FloppyFile(s) - copy disk file(s) onto floppy.`ccQ Valid switches are ASK, NOASK, CONFIRM, l the FORMAT command before doing anything else.`cN.R3π)wPa ) PNOCONFIRM, VERIFY, NOVERIFY, and HELP.`c] PUTPwi.What disk file(s) should be copied to floppy? PR3@c )NPN` a ͍) PzsR4﷼ɺaN+What floppy file name(s) should they have? P) P͚"͑ .πcL_** This floppy has not been fɺa(Ϧch ** There are `ɺac``c input arguments and `ɺac``c) output aormatted. ** Call the FORMAT command before doing anything else.`cN.R3π)wPa rguments. They must be the same.`c͚﷛ χ})P}P帼c})ac}a4c** Ille) PR3@c )NPN` a ͒) PxR4gal use of wildcards.`c%c})a CN`#** Filename cannot end with a quoteN`c}﷼ɺaɺa(Ϧc ** There are `ɺac``c input arguments and `ɺac``a BN`#** Filename cannot end with a quoteN`̈́}{.P>N}kN` ak( c) output arguments. They must be the same.`c͟﷛ ό}P}d帼c}ac}ac}`k` c}}{c}R)})P)}P  pcE COMPRESS - Compact the floppy. (Warning  sNNsNNsHst)azst)OsNNsHNNsHNEDITORKE EditorK.PAS\ PASCAL.RUN|6 ?K)9(wjh> !BHELPER Helper.NsNNsHst)б09st)sNNsHst)!/st)sNNsHst):@st)PAS com EditorI/Err B~<EEB CC C CJMEMORY Memory.PAS%%a%sNNsHst)[`st)sNNsHst){~st)sNNsHst)  .NNndnB  ,=~ / ||6 ?)FILEUTIL FileUtils.PASEditor>EditorI.PAS ;NN !NN ?NNNN NN  NN CMDPARSE CmdParse.PAS#\dndmB NNN09DAZDYazDYNNN-  + `* `N```."cCW%ACPERQ_STRPerq_String.PASHC  C#$##\ exit EditInit`c] 5,  torI/Err DISKIO DiskIO.PAS%Cc edcom6;6;} ndsNNsHst)[`st)sNNsHst){~st)sNNsHst)  .NNARITH Arith.PASDCON:uErr EditorI/Err POS D.69 c-boot 28 Jan 82 12:29:49vALLOCDIS AllocEDITOR Editor.PASP Psys:user>wjh>Editor> POS D.69 c-boot IO_OTHER IO_OthersDisk.PASEditor>EditorI.PASREADDISK ReadDisk.PASedcom.CMD.PASQP |6?>*   dFILESYSTFileSystem.PASditor>EditorIZ |2Ja| |6? )J B\sys:user>wjh>Editor dc.PASFILEDEFS FileDefs.PAS! (/$om2(%X%cJ@ZIXWRITER WRITER.PAS((\LZ[ (((Z0a?&44@4?#\GETTIMESGetTimeStamp.PASCC='". CoEMPTINITFILLREADFILEGETPARAMINITPOINcJ@ZIXWRITER WRITER.PAS((\LZ[ (((mmand line is`cc" of the form:`cc5 DirTree [directory Name] {/switch}`DIRTREE DIRTREE.PASllows use of default fileSHR *SCAVENGER Run the disk  cc, The switches understood by DirTree are:`cc HELP`cc> WAIT - A llow picking the path. This is the default`ccK NOWAIT - Don't allow picking the path; exit after displa ying tree.`c\Ȋ ϮcDir `cc}3`ct found in `cc}`cu . Numdirs=`cɊ``ca level =`ckf``c parent=`ckg``cH}i``c8` }i}i4P ccC DirTree is used to create a picture of the directory structure`ccA of your machine. It巜 6}i}i6巜}i}i3}i}}3JdPTdNJF}3TdN erases the entire screen and then draws`ccF the picture. Afterwards, it will allow you to select a directorJF }id帛TdNJFDkfTdNJFCkgTdNJFEkhkf NJߜkf NJ߭HȊJm NJ߭HL qcy`cc; which will then be the new path. Do this by selecting`ccN a directory by pointing  ~~~~level `cm``c size=`m NJcɭ``c yOffset=`cq``cqHHrs)at it with the cursor and pressing. Exit without`ccC changing the path by pressing away from a directory naTrdNJFDm'ϓ` TrdNJFKon,ooH,xTrdNJFC(6TTrdNJFCdNJFtB(tB`t@`*cme or by`ccB typing any character. If you specify a device, partition, or`cc F directory TrdNJFATrdNJF@TrdNJFB`p`TrdNJF}3'TrdNJFc`TrdNJFNTrd contents.`cc7 Valid switches are NOCONFIRM, SINGLESIDED, and HELP.`cc5 SINGLESIDED create͚}Floppy.Scratchd}}a.  Jd3}d1,`Ms a directory for a single-sided`cc' floppy; the default is double-sided.`c]N4, -ZER3}d`3}dcF FLOPPYGET [~DiskFileName] - dump contents of floppy onto hard disk.`ccOP) PZ)Q .c_** This floppy has not been formatted. ** Call the FORMAT command before doR Valid switches are VERIFY, NOVERIFY, CONFIRM, NOCONFIRM, SINGLESIDED, and HELP.`cc 8 If a disk file ning anything else.`cN.eR4 R4=c$** Zero does not take any arguments.`came is specified, the contents of the`cc6 floppy will be dumped into a set of files with that`cco4 NL 1 ZcCreated new directory for `c,``c-sided floppy.`ccA / name. The default is Floppy.Scratch.A --> n.`c]  FLOPPYGETPN/) P+cDUPLICATE [~DiskFileName] - duplicate one floppy onto another.`cc0 Valid switches are VERIFY, NOVERIFY, CONFI Insert floppy to be copied.`c .c_** This floppy has not been formatted. ** Call the FORMAT commaRM,`cce. NOCONFIRM, NODELETE, SINGLESIDED, and HELP.`cc 8 If a disk file name is specifiednd before doing anything else.`cN.'﷛oR4ϰɺa,>c&** Only one disk file name is a, the contents of the`cc6 floppy will be dumped into a set of files with that`ccc/ name. llowed.`c}d帼c}a BN`#** Filename cannot end with a quoteN`k}: NOWAIT types the file without pausing at each FormFeed.`cN0 TYPEPwWhich file(s) shoulThe default is Floppy.Scratch.A --> n.`cc3 If NODELETE is specified, the scratch files will`ccd be typed? P) P͚(͑ .πce_** This floppy has not been formatted. ** Call the FORMAT commaE not be deleted after copying and can be reused by FLOPPYPUT later.`c]  DUPLICATEPN/) Pnd before doing anything else.`cN. R32)wPa ) P*ctInsert floppy to be copied.`c .c_** This floppy has not been formatted. ** CalR4;c#** No output file may be specified.`c}﷛ m}P帼c}a CN`#** Filel the FORMAT command before doing anything else.`cN.V﷛ R4ϰɺa,>c&** Only one dname cannot end with a quoteN`)}P ̊]c@ Zero - writes new directory on floppy. Destroys old isk file name is allowed.`c}d帼c}a BN`#** Filename cannot end with a quoteN` dNJF!k4H`!k4J`JTdNJF!TdNJF !dTdNJFDTdNJFCTd(2``}c`m``}}`` }c`c3````c````N )"DirTree V3.2. Type /NJFE5 NJ`3}dk5` K}d帜35﷜6﷜ 4巜cHelp for HelpP``c7`  ) NJH ) cc ccccc8`NmΏN N NJ)HELPP帜NJ)DEBUGP帜NJ)WAITP帜NJ)NOWAI HJHH  NJ߭' J  )`H )銰H`H`TP}}!帼c}c~aNl (l (# N`DirTreeN`~c~c~ cc}3dcca  )6TdNJFE'`H )( aNl N`}N`~  ~  ~ c`al)~ R4N`~\ N` N`  ]ii_`  44 k FD,`H Xccin dirScan, dir=`cc}`c index=`ck3``c}}: N`lDNN DN :N 0N`~ N`d~ ~ 0~'ϏFJGkFkG)\ kFN }`}J`JakFE]kFHFkFkG)Фc ** Device ~R4#N`DirTreeN`~ $ N`DirTreeN`~R3 !  `cc}`c not found; aborting`c\F GkFkG) kF NJ kE kF NJ 'ϑ}6 kF NJd !~d帛!!:'c!!>(c!>N`c!3!dc~c~a' N`!c}6>N`3}}6Jdc}Cc}CaD3}d3}6dTk3dNJFDH`k3`kD`N`]TmdNJFnBnAJHnAJn@J0nAJn@J0af]TmdNJFnBnAJHnAJn@J0nAJn@J0afkFHFkFkG)>Xc}6c}DaB`}6,1}6}6J.'"}4}6}6J``Jc}4 }4DRnBnAJ HnAJn@J0nAJn@J0afccH`H J``cQ Press to change path or exit; any 3}6}6`}6J`J}6..3occ ** Directory `cc}`c* contains a badkey to exit; for more help, type DirTree/Help.```` ]  ϛ(\c} c}   directory: ...DR; aborting`c\c}6>N`3}d3}6dTk3dNJFDH`k3`kD`ͨȜN}!pw)`TpdNJFATpdNJF@TpdNJFBvt+vr)us J+us)pq(q(q` p` ppHpw)Рq(q` ^q(q` qd!`!J`J>N` a4H`H`cRoot is `cc!`k4(;Tȼ am(F(`m`TmdNJFc N`3TmdNJF d \ ]3DirTree.Cursordc}c}am  `ccM6 If a disk file name is specified, the contents of a`cco6 set of files with that name ts.`cbN`)! Do you really want to do this? P`ca'jbN`) Are you surwill be copied onto the`cc floppy.`cț  FLOPPYPUTPN/) PU,Lce? P`ca'-+'}singleP}doubleP,'+'LybN`)LThe default soInsert blank floppy.`c .πca_** This floppy has not been formatted. ** Call the FORMAT command befetting is Double Sided, Single Density. Is this what you want? P`ca'qc Formatting Sides = `core doing anything else.`cN.͘﷛cR4ɺa,>c&** Only one disk file name is allowed,``c , `cc}`c density.`cN.c FLOPPY Commands are:`c.`c7}P帼c}a BN`#** Filename cannot end with a quoteN`3}dc}*c})cc5 GET - Copy a floppy file onto a disk file.`cc6 If there are no argumea+k+'Ccc}`c does not exist on hard disk.`cx}Floppy.ScratchP}}nts you will be`ccy# prompted for them.`cc0 PUT - Copy a disk file o.  JP3}d`3}dc2 FORMAT - reinitialize (or initialize) a flnto a floppy.`ccl6 If there are no arguments you will be`ccn# oppy.`ccl9 Valid switches are NOCONFIRM, DBLDENSITY, SINGLESIDED,`cc TEST, and HELP.`prompted for them.`ccA COMPARE - Verify that disk and floppy files are identical.`cc3 cc : The default formatting is single density, double sided.`cc. DBLDENSITY formats double-de COMPRESS - Coalesce free space on the floppy.`cc/ DELETE - Delete a file from the floppy.`cnsity floppies.`cc- SINGLESIDED formats single-sided floppies.`cc' TEST verifies formatticA DIRECTORY - Print the directory of the floppy. If there is a`cc? second arg, the ng with a CRC.`c] FORMATPN4N-) P-,NDclChecking the floppyoutput goes to that disk file.`ccC Directory takes the usual switches, plus two more:`cFloppy.Scratchd}}a.  Jd3}d`]cB FLOPPYPUT [DiskFileN.`c N+) P4 NLR4TR4?c&** Format does not take any arguments.`came] - dump files DiskFileName onto floppy.`cc> Valid switches are VERIFY, NOVERIFY, SINGLESIDED, and HELP.?. Lc#* This floppy is already formatted.`cc, Reformatting it will destroy its conten   is the partition for swapping.+TYPE File SCREEN Screen.PAS file File.oslbX$$B$ Login to the PQ ODYNAMIC DYNAMIC.PASH8MOUNT Device Mount the deviPsys:exp>utility>file> FILEDIR FileDir.PASllows use of default fileSHR *SCAVENGER ce specified by Device.DIRTREE DOHELP ADDIT DOONELEVUPPEREQUDODIRSCABREADTHFREADCMDLTOGGLEBOTOGGLEHITRACK HELPKEY CHANGEPA Run the disk PERQ_STRPERQ_String.PASSbX$$GETCURSOeO , COM :part3>segs>dirtree=dirtreeWITH0HESTREAM STREAM.PASply a simple help message.*+CMDPARSE CmdParse.PAS08:10:00>,,06 Jan 82 08:10:ALLOCDIS AllocDi----.5.R0LINK {File} LWRITER WRITER.PASam File.//S/EL5RN"i3sk.PASoweof d5  "=894j $ `ARITH Arith.PAS l FIXPART FIXPART.PASllows use of default fileSHR *SCAVENGER Run the disk  pPsys:exp>utility>file> POS D.5 p-boot PaREADDISK ReadDisk.PASP4x`"w3'  \DISKIO DiskIO.PASBg3 ,""\ ]$]$ COM :parIO_OTHER IO_Others.PASows use of default fileSHR *SCAVENGER 6l   DF LJTV Run the disk IO_PRIVAIO_Private.PASws use of default fileSHR *SCAVENGER Run the di HJHH  NJ߭' J  )`H )銰H`H`sk IO_UNIT IO_Unit.PASore in=dirtreeegs>dirtreeIMPOLDIRECTORY Give a directory of files. "Direct /HeUTILPROGUtilPFILEUTIL Fileutils.PASASexp> She.SCREENSIZE Set the size of the screen.FILESYSTFileSysterogress.PAS (;DISMOUNT Device Dismount the device specified by Device.RAISE ;RECORSYSTEM System.PAStreeegs>dirtrm.PASBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptFILEDEFS FileDefs.PASS9STATISTICS + eeeO , COM :part3>segs>dirtree=dirtreeWITH0HESTREAM STREAM.PASply a simple help message.*+| - Turn printing of statistics on or off. sys:exp>$ GETTIMESGetTimeStamp.PASurn swapping on or off. Part----.5.R0LINK {File} LWRITER WRITER.PASam File.//S/EL5RN"i3  d floppy.`ccE FLOPPYPUT - Copy the disk files made by FLOPPYGET onto a floppy.`ccA nfirmation before deleting or overwriting`cc a file.`ccL NOCONFIRM - Doc? SHORT - gives a short list of only file names.`cc= LONG - the defau The scratch files from FLOPPYGET will be deleted`cc= unless you specify that they remlt. Gives other information.`cc, FAST - Set to NOASK and NoConfirm.`cc5 SAFE ain with the`ccC NODELETE switch. The SINGLESIDED switch specifies `cc%  - (The default) ASK only on wildcards.`cc> CONFIRM, except for DELETE of non-wild names.` single-sided floppy.`cc0 FORMAT - Format (reinitialize) a floppy.`cc= cc; RENAME - Change the name of a floppy file in place.`cc< TYPE - Print a file f This command takes, in addition to the usual`cc& switches, three more:`ccrom the floppy on the screen.`cc$< NOWAIT switch disables "** ^Q for MORE **".`ccC DBLDENSITY - double density. Default is False.`ccC SINGLESIDED u5 ZERO - Write a new directory on the floppy.`cc= The following additional switch  - single sided. Default is false.`ccE TEST - test during formatting. Default is False.`may be used:`ccC SINGLESIDED - single sided. Default is false.`cc> DUcc QUIT - Exit FLOPPY.`cc9 DENSITY - Find out whether the floppy is single or`PLICATE - Copy the contents of one floppy onto another.`cc @ This creates a set of scratch filecc double density.`cc- @ - Execute command file .`cs on the disk`ccB which will be deleted after they have been copied`cc= cc5 Commands that can also be used as switches follow.`cc9 When used as commands they are glo unless you specify that they remain with the`ccC NODELETE switch. The SINGLESIDED sbal and when used as`cc8 switches to a command they are local to that command.`ccc? witch is used to`cc0 specify a single-sided floppy. `ccB FLOPPYGET - Copy HELP - When used as a command it prints this message;`cc? As a switch, it provides inf the contents of a floppy onto the hard disk.`ccF The SINGLESIDED switch specifies single-sideormation about the`cc( command it accompanies.`ccD CONFIRM - Require co  u#}N}N߭}N dt}u`}}}a`ɼ}a`]cqac`` c End = ` qac`` c Free = ` q ac`` c nHmHmp)c **Illegal**` c \ c Partition "` }raNc ": Start = ` }vac`````` c```` c cFixPart ` cV0.5` c c c<***************************** c End = ` }xac`` c Free = ` }acp`` c ]}+k+,+,k+-k,k*******************************` c c9 WARNING WARNING WARNING WARNING WARNING WARNING WARNING` c c6 -)%}rk,NJ}k,Nk,H,k,k-)k+H,-k,k-)"}rk,NJ Nk,H,k,k-)ȼ}a x !!!!!!! This program is for expert use only!!!!!!! ` c cH< It is an experimental program to fix the partition and d}}}}ɼqJ`ɜ}}ɺ}}a`ɼ}a`} disk` c cO information blocks` c cR9 WARNING WARNING WARNING WARNING WARNING WARNING WARNING`  pN\ }}}cɜcɺ}} N}}q}}ɜʷ}ɜzɺaaNc ** Addr is too big. Maxic c<************************************************************` c c c/Type Control-C now to abort omum is ` zac`` c **` c }pN` a N} }}}} c}cɺ}c}cɺq$}}r CR to continue: ` c c N``fc```hc`Ne`ʷo?oɜʷ} } ɜʷc%** Addr is not legal. Next Higher = ` } ac`` cP, next lower = ` )6#o@No?N%o?NoHoo)c Fix harddisk (H) or Floppy (F)? ` c^^c }ac`` cQ **` c  N\ cc}` }*4&c [` cc}*` ]c c? c f' FNh' HNH'F'xF' N N 'ϔk D)Is this` N|c}ScP`P` c }S3 }S}*P}S,}SyBYBYnBYNBYXN|k| Uc} Yes or No` }*4& a 24 MByte diskP)YesP帺 a N A)Is this a 12 MByte diskP)YesP帺 aN ikc [` cc}*` ]c c? ` k|Q}SyBYBYXN]N\  }a}a}aJ*NppNߜpN߭!p﷛!ɜfɜhN`f(f"(f"(b)<** This does not look likN*},k*k,)1}k*AZDazDY09DY.BYX Nk*H*k*k,)NNru)c}rNJNs 'N.sc **Illegal**` c  lNcDevice #` cɊl`` c Device name: ` occAZDazDY09DY.BYXtNNsc rHru)Н]}}}ʷs*N]}}ʷ}a}}` c  mp)m NJq q l'cB #` cn``  c qcc` c : Start = `  4 R4@c'** Confirm does not take any arguments.`cNKNEcR NOCONFIRM - Do n Ps4jeR4`R4>c%** NoAsk does not take any arguments.`cNINGot require confirmation before overwriting or deleting files.`cc 9 Sets this to true globally. HELP is only vc1 VERIFY - Check correctness of data transfered.`cc9 Sets this to true globally. HELP is only valalid switch.`c]  NOCONFIRMP) Po0feR4iR4Bcg)** NoConfirm doesid switch.`c] VERIFYP) Pk5bR4R4?c &** Verify does not take not take any arguments.`cNKcD SAFE - Require confirmation before overwriting or deleting files. any arguments.`cNC]c5 NOVERIFY - Do not verify correctness of transfers.`cc9  not require confirmation before deleting or overwriting.`cc8 ASK - Require confirmation on each fil`cc A Ask for confirmation on wildcards. Sets this to true globally.`cc HELP is only valide name.`cc> NOASK - Do not require confirmation on each filename.`cc6 VERIFY  switch.`c] SAFEP) Ṕ1xR4 R4=c$** Safe does not take any a- Verify correctness of data transfers.`cc4 NOVERIFY - Do verify correctness of transfers.`crguments.`c NKNINGNE]c8 FAST - Do not require confirmation on any files, even`c; DENSITY - tells whether the density is single or double.`cc HELP is only valid switch.`ccce; if overwriting or deleting. Sets this to true globally.`cc HELP is only valid switch.] DENSITYP) Po.fnR4lR4@c'** Density does not take any arguments.``c] FASTP) Py2pR4eR4=c$** Fast does not take any argumentsc  .πct_** This floppy has not been formatted. ** Call the FORMAT command before doing anything else..`cNKNING]cG ASK - Require confirmation on each name. Sets this to true globally.``cN.̀+'8c This is a single density floppy.`c?+'6ct This is a double densitcc HELP is only valid switch.`c] ASKP) Pq3hmR4sR4y floppy.`ccH CONFIRM - Require confirmation before overwriting or deleting files.`cct9 <cl#** Ask does not take any arguments.`cNINGc4 NOASK - Do not require confirmation  Sets this to true globally. HELP is only valid switch.`c] CONFIRMP) Pu/leRon each name.`cc 9 Sets this to true globally. HELP is only valid switch.`c] NOASKP)  lock says partition ` cɊo`` c is in the wrong place` c cAddr in DIB = ` #o@Naczɜʷ%o?NPNvN` a oc)* The next addr isn't on a track boundary` c %o?NPe a file system floppy. Continue? P)NoP帺 a \f"'K)Is this a Single Sided FloppyP)`` c but should be ` xac`` c xr Gc*Since is first partition, DIB probably bad` YesP帺 a N G)Is this a Double Sided FloppyP)YesP帺 aN ppNߜpN߭k!c Ne%o?NNxɜfɜhN`` aN~~ !c&** CANNOT READ PARTITION INFO BLOCK!! ` cp﷜r!ɜʷrcɜcɺ!alz N`ʷ!ɜfɜhN`` aN}} Hc*** Bad news!! C %o?NN}e7c#DIB is suspect, but using it anyway` c v#oH@N﷜v ican't read Device info block` c Ne;o?o),#o@Nfzo?N﷊oHoo)o#@@NDIB[` oHc`` c!]=0; assuming done all partitions` c vzɜʷv5vfxɜ`ʷ#o@N oHoo?,Sc6Disk Info block doesn't think there are any partitions` c NeooʷfcName of Partition is "` fraN"c c  R)* The name seems (gc1DIB says first partition not at index 0 (it says ` cɊo`` c).` c Ne#@@Noxbad; is it badP)YesP帺 a%o?N@Nfvx c * Partition ` cɊo`` c info blorcDoing partition # ` cɊo`` c at address ` xac`` c o?Nx﷊} #ock ` xac`` c" has wrong data in its start block` c c * Conjecture that PIB messed up.` @Nx﷜x Nc%Address is zero, that can't be right.` c %o?N N͜xN` a ωcAddrec %o?N0Nfxz #oH@N *cDone all partitions` c cH* Partition goes ss ` xac`` c is not on a cyl bndry` c cIt must be wrong` c %o?N N#to end of device but DIB says there are more partitions` c e=c&* This is probably because DIB is bad.` co@N Mc0Disk says address is zero. Assuming DIB is bad.` c Ne#o@NN` a {c8Dis -cAssuming DIB is bad` c Nel#oH@N Yc@* DIB says no more partitions but PIB says not k Info block says partition starts on a non cyl bndry` c c DIB must be wrong` c Nei%o?N yet to end of dev` c %o?N߭(dc(* This is probably because PIB is wrong.` c vzɜʷ%Xc &Disk addr seems OK so using it instead` c x#o@N﷛o?Nx﷛#o@Nx 6cDisk info bo?NPN͐e9c#This is probably because DIB is bad` c Qc* Assuming PIB is wrong` c v  VW3XZ,[YY[Q\\]^^F__D` floppyutils IO_UNIT IO_Unit.PAS%%%%floppyutils N /^#\8 ^`))R    ' ( 9 : f )*h $ *+& S IO_OTHER IO_Others.PASAS.PASIOERRMESIOErrMen^p! #h&'r*O+B-ssages.PASASUTILPROGUtilProgress.PASa%j./V24D6b89L<>STUFVVW4XrA1ndnA  ,=~ /yut ||6 .)PERQ_STRPerq_String.PAS8f/XYYZ.[[R\\]^^D__B`F__D`?LERYf/DSCREEN Screen.PASv v X8dndmA `))R    ' ( 9 : f )*h $ *+& S 3W%A3fFLOPPYTRFloppyTransfers.PASn^p! #h&'r*O+B-FILESYSTFileSystem.PAS !% dNDN#'dndSets this to true globally. HELP is only valid switch.`c] NOVERIFYP) Pm6dR4j./V24D6b89L<>STUFVVW4XR4Ac(** NoVerify does not take any arguments.`cNC]c QUIT - Exit program FloppyPOPCMDPAPopCmdParse.PASPSys:user>dcf>exp> POS D.65 b-boot CMDPARSE CmdParse..`cc HELP is only valid switch.`c] QUITP) P7vR4 PASQP|6.>* dPOPUP PopUp.PAS0R4=cv$** Quit does not take any arguments.`cccN2\]))T  .#\#\X aFLOPPYDEFloppyDefs.PAS! (/$ p+`n!S #g&R'p*)P+X0a|6.&%pyutJ@IO IO.PAS%DDD3f3ZPYA @-l./3X243F6`8,9K<)>SATASTUHVvlvjIO_INIT IO_Init.PASf/*=  floppyutils /f/  %o?N߭(nHnc Partition # ` cɊo`` c thought to be bad.` c %o?N+c PIN`N` aN~~#o@Nx﷛o?Nx﷜x "cReading Partition # ` cɊo`` c addrB could not be read` c %o?N &c Not on cyl bndry` c %o?N,co It disagrees w ` xac`` c xɜfɜhN`` aN|| 2c**CANNOT READ PIB**` c ffith DIB` c %o?N0+c Its start addr is bad` c %o?N@%c Its name is bad` cɺcPartition name` |%o?N@ :c [` fraN~c] :` c: ` c %o?NP)c Its end addr is bad` c %o?N`2c It has an illegal free count` ccP`P` c 3|%o?N@ N~)PaN~~ $c** Illegal name.` c N#oH@NN` av#oH@Nc* Disk next is also messed up.` c c0** I have no idea w oHoo)c e8c!Disk information block seems bad.` c bn(6cDisk information block here next partition starts **` c c'** Please type next addr or ^C to abort` cnc c vl`n`seems OK` c $c ** All OK **` c \c c%-------------------------------------` c cʷvN`N` aN~~Έ)}fxz #oH@N #oH@NN` a ^c@* Next DIB addresNow try to fix errors.` c c%-------------------------------------` c )$Do you want to try to fix ts bad but PIB one seems ok. Assuming Disk bad.` c Ne͈v#oH@N rc* End addr for partition `he errorsP)NP帺 a \cDismounting device` c l`c Part # DiskPart PartPart` c cɊo`` c/ does not match start of next according to DIB.` c %o?N߭(Zc * This PIB definitely s no?o)#o@N o?N oj)Ͼc ` cɊo`` c ` #o@Neems bad.` c %o?NPNv#oH@N͒e,cAssuming DIB is wrong` c `c)* Assuming ac`` #o@No?N c ** <> ** ` nc ` o?Nac`` cPIB is wrong and DIB is right.` c %o?NPNv#oH@N﷼xɜvɜɺ a ;c* Free count is wro oHoo)c n(Ec2 (PartPart numbers are likely to be more correct.)` c o?o)#ong` c %o?N`Nxv﷊oHovɜzɺaAoJjc c%-------------------------------------@N o?N oj)Ec xo?NcAddress for partition # ` cɊo`` c ([0] means del` c c Summary` c c%-------------------------------------` c no?o)ete) [` xac`` c] ` ^^c .cnc n'xxl`n`ʷc x  2(%X%>4>#'dFLOPPYFOFloppyFormat.PASFLOPPYTRFLOPPYTRANSFERS.PAS$ FLOPPYCOFloppyCopy.PAS% sW. #\HFILEUTIL FileUtils.PASd#'dd PMATCH PMatch.PASS WRITER WRITER.PAS$!NJHLHLJ} R}  ϒ} 'yN yo}  N W} ( N >} } } STREAM STREAM.PASH}} } } 巉YJY}c`̍} } etKY*+c** Directory Full`c\} R﷉YtJHtREADER READER.PASLnq|)N߉qn(NqH NNnN߉Nspt)qJtKpHY)} FIRSTSWIRESTORESGET PUT COMPARE COMPRESSDELETEFIDIRECTORRENAME TYPEFILEZERO}ʷrHN}rHN}rHN}rHN}rHN}rHN}rH COPYFLOPDUMPTODIDUMPTOFLFORMAT HELP SHOWDENSDOCONFIRNOCONFIRFAST SAFE DOASK NOASK DOVERIFYNOVERIFYQUIT DOSWN}(7Lok)(rHoHN}oNJoHok)rHHLHs}H} } ﷛rHNpH} ITCHBIGBEEP NEXTINPUNEXTOUTPSIZE GETINPUTGETOUTPUWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRIT﷼qJKH`}  N`a \zH qJKHH`}  N`a \qHq|);NțR }R ﷛Rc`R}FILEDEFS FileDefs.PASON:uflo floppyutils POS D.65 b-boot 28 Jan 82 15:50:33 |GETTIMESGetTiEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELWRITEHELmeStamp.PASf/c0#\.#\STREAM Stream.PASPASFIRSTSWIRESTORESGET PUT COMPARE COMPRESSDELETEFIDIRECTORRENAME TYPEFILEZERO|2Ja| |6. )JQUICKSOR QuickSort.PAS#\\  COPYFLOPDUMPTODIDUMPTOFLFORMAT HELP SHOWDENSDOCONFIRNOCONFIRFAST SAFE DOASK NOASK DOVERIFYNOVERIFYQUIT DOSW  e put a write-tab on it.` c c cd**** CANNOT WRITE PIB!! ****` c c7 You need to reforma{|7RS*8JXLWt the device or re-partition the` c c= entire device putting the partitions in different places.` c c-----------------------------------------------------------` c cB*** YOU SHOULD NOW RUN THE SCAVENGER ON A****************************` c ) Continue with FixPartP)}NP帺 a \oHoo)сc NY PARTITIONS CHANGED ***` c cB------------------------------------------------------------------` c cc"Writing the Disk Information block` c !ɜfɜhN`` aN}} .c(** CANNOT READ DIB` cDISKIO DiskIO.PASPASASfile.exp>3 She.SCREENSIZE Set the size of the screen.ARITH Arith.PAS fc Disk name` }:c [` fraN~c] ` N~c: ` ccm.PAS($BSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptFILEDEFS FileDefs.PASS9STATISTICS + P`P` c n4)PaN~~ $c}** Illegal name.` c ~(4f)P| - Turn printing of statistics on or off. sys:exp>$ GETTIMESGetTimeStamp.PASurn swapping on or off. Partn?n),fzn?N#n@N巊nHnn)Ԝf!巜fNf" Nh!巜hh is the partition for swapping.+TYPE File ALLOCDIS AllocDisk.PASows use of default fileSHR ~4f)Pc Partition start address will be ` xac`` c fvx巛oHh巜hNJ߭n!ɜfɜhN`` aN~~ nNJ߭(Xc c7**** FLOPPY?N vzvoH?NɜʷcPartition end address [` vac`` c] ` ^ NOT WRITABLE, please put a write-tab on it.` c uc cM*** CANNOT WRITE DISK INFORMATION BLOCK, YOU NEED T^c cnc vl`n`ʷc tvɜʷtN`N` aN~~fxvn?O RE-FORMAT THE DEVICE ***` c c \c cNow mount the device` c c l`c cn)"fzn?N巊nHnn)ޜf!巜fNf" N%o?N`:c** Setting free countB------------------------------------------------------------------` c cB*** YOU SHOULD NOW RUN THE SCAVENGER ON A to zero` c fcWriting partition # ` cɊo`` c hx巜hhh巜hNY PARTITIONS CHANGED ***` c cB------------------------------------------------------------------` c cNJ߭nxɜfɜhN`` aN|| ϭnNJ߭(Xc c7**** FLOPPY NOT WRITABLE, pleas 0)*KLzd|++f NR Y}}﷼`} N`a \}N}N**c** Bad Directory`c\}c}) P} P帉\c~CONSOLE:````}RN}R-Nc}{c}{c}{})c}N㭅}N㭝}N㭝K,Dc*** Directory contains too many extra bytes`c\'ϒc-** c}{c}c -c}c}{c -c}c}{c} -c}c}{ -c}c}{c}No space in directory to preserve "Bits In`c Last Block"`cbN`) Continue?P`ca})c}c}c}c}ɺaN/l/ #cDATE dd-mmm-yy`cl/mt@+t* uHt@J}u'\HLH}N㭝s(s("}﷼sKH`} N`a \nHsKH`} N`a \N㭇(NNmu@KJ}t(L(NN}t(M(NN]NnN` aNoN` aNpN` aNrHN(rtH*gYHY} ``c`} } ʷ} rHN} rHN} rHN} rs(*s(Nn(sHs('bc** Character "`ncc " cannot be written on a floppy.`c\HN} rHN} rHN} rHN(5Lp{)'} pNJߛrHpHNpH}s@Ks(*s(No(sHs('ac** Character "`occ " cannot be written on a floppy.`p{)tH'rHN*rHN,} NJ} } qq} H} R} } } }} rtHc\}}s(KHs(*s(Np(sHs('bcY** Character "`pcc* " cannot be written|N]+}'I+E*},k*k,)4}k*09DXk+ K}k*0JH+I\k*H*k*k,)k+N}NJ)JAN on a floppy.`c\}}sHN]6>k6k>)}7k6N Nk6H6k6k>)6}3}/k6})}k6.(k6)P}NJ)FEBP}NJ)MARP}NJ)APRP}NJ)MAYP}NJ)JUNP}NJ)$}k6*'}/}7k6}k6k6H6}/Ck6(9c** Illegal use of wildcards.`c\v}7N߭JULP}NJ)AUGP} NJ)SEPP} NJ)OCTP} NJ)NOVP} NJ)DECP帼)}N`}7N߭N`}7N߭N`})ɺa \}7N߭N`}7N߭N`}7N߭N`}+ɺa \}1}k6.(k6})P帺a)}P帺a}c} `alI'\l ,l'l,\lBBY BY BYXl,\k6H6k6}, }-5>k5k>)}7k5 k5H55k5)k6k5H})(}7k5}k6k5H}7k5߭*'}1k5H5}1B l,\lP*lc,\ lHJXTlNXlNXlNNNc}}CONSOLE:````}k5(8c\** Illegal use of wildcards`c\#}7߭`}7߭`}7߭`}-ɺa \}3}}ʷ}o``}N}-N}R'7cMDATE `c}ɛXT`X`X`c\c}Rc}{c}ɺa $cDATE dd-mmm-yy`-``pR}}ʷ}JAN`W}}ʷ}FEB`=}}ʷ}MAR`#}}ʷ}APR` }}ʷ} PASPAS .jp289j $ `IO_UNIT IO_Unit.PAS l <cI** `cc}`cc})`c\cc? MakeDir is used to create new directories. The syntpPsys:part3>Segs> POS D.5 p-boot PaSTREAM STREAM.PASQP4x`"w9'ax for`cc2 the command is: MakeDir `cc The only switch is HELP.` \WRITER WRITER.PASB,""\cc\]k0 N`}N`} e} }c `a2k2%*N`}" 4COM fixpREADER READER.PASfile Src to file Dest.AY ,BEGIN CASE CONST GDN` dk}}̒}R4} #N`MakeDirN`} # N`MakeDELETE DelDYNAMIC DYNAMIC.PASete /Help" for more details.EXPORTS 1FILE FDETAILS Parfixpart.pas/noqueryyetailirN`}R3N;}}>'}}``}a N`N`}a1}s. FIXPART CHECKNAMWRITEPARDOUBLEGTROUNDDOWSHOWPARTOVFLLI ASSIGNNAROUNDUP OKADDR CHECKANDASK CHECKFREOVFLLI MYDISPLAOVFLk1' N`}N`2cNew directory is: `}c`cN] c````cLI  \WRITER WRITER.PASB,""\````)"MakeDir V2.2. Type /Help for HelpP NJ)HELPP帜帜P帼cca" 4COM fixpREADER READER.PASfile Src to file Dest.AY ,BEGIN CASE CONST GDN ( (# N`MakeDirN`cɜcɜccaNɜɜ)PN`ELETE DelDYNAMIC DYNAMIC.PASete /Help" for more details.EXPORTS 1FILE FDETAILS Parfixpart.pas/noqueryyetaila pcDirectory to create: `cc`` ccɜcɜccaNfMAKEDIR MAKEDIR.PASllows use of default fileSHR *SCAVENGER Run the disk  u\\9:01irectory is: `}c`cN] c````c*SCAVENGER Run the disk READDISK ReadDisk.PASlows use of default fileSHR *SCAVENGER   Run the disk MEMORY Memory.PASg.PASbX$$ SYSTEM System.PASSllows use of default fileSHR *SCAVENGER Run the disk EXCEPT Except. tH̰țFLOPPY JPXTX XQHJ՛ Rmo)mHAmHmHɺkf`cc}hɺke`cc}hɺkd`cc}hɺk_H`c}fc}ec}dɺkf`cc}hɺke`cc}hɺkd`cc}hɺk_H꛼$.'mo)m0mJHmH Jmo)mmKHMmH[``c```Vc```Tc`c}fc}ec}dɺ.*ckf*cke*ckd*ckhk) *cHkjHj```c`.+_`+'`JHa`c_}}`V``˼}ɛ[[(r *"rWkW(kk cc `koc ---------`&k_Hgc}gT`}g`}g`c Block:`MAY`}}ʷ}JUN`}}ʷ}JUL`ͻ}}ʷ}AUG`͡}}ʷ}SEP`͇}}H`V``˼}ɛ[Л[(q+_`+'`JHa`c_[(r *"rH`V``˼}}OCT`m}}ʷ}NOV`S}}ʷ}DEC`9}}ʷ} `d 7Og[Л[( .\ +'ZZ,' LKZL KZLm (}}ʷ}m`` }}HB }}ʷ}-``qHH}``]mZK}sLsM} M߭s,9rHrH' r,rr} M߭'rHsJk}(4)}Pc}\c}[c}Zc}Vc}Uc}TɺkT \ XX}R ϐ})'cCONSOLE:````bc})3}}r]} M߭}HqH' q,qqr'qH%q qrH'}}H} M߭}q2uk2)7)dc}qc}q apkp(ϊLσc* `cc})`c}rr' Already exists on hard disk. Delete? 帼b3tk3) `}n`q`˼}ɛ[['[}4ʷ} )}4` )JPc** Floppy Error: `cc} ``)}rP`ca(\ 3})d aYkY'>c ** Cannot create file `cc})`c\ c}4I'c\cJ [SoftStatus = `}4c``c, HardStatus = `}4c```c})c````cOutput being directed to file: `cc})`c}Rij}]﷼`}]`a \ }]] `cu't'c} ** Aborted`c Track: `}cɭ``c Sector: `}c}]*}]KH(+c** Bad Directory.`c\ kX c}]aH}]LHbkbH'Mc5*ɭ``c\c Retry.....`c Track: `}cɭ``c Sector: `}c* No room for "Bits In Last Block" in this directory`c`k`(}k`( }]﷼k`KH`}]`a \ k]H]k``ctH`}``˼}ɛ[uH]n*n,Kc3 ** Block `cn``c out of range`KH`}]`a \ `c_k_H(k_kbH*oWk_H'@kXkkW c `c\}}ZL vLn`c} c} ɺZt|)J} w} xHq`}v`˼} a{ \tZ(ruHc} c} ɺ `okik_HHidkX k_Hk\'k_Hk['kVk_HkZ'kU+hc `k_H`c}fc}ec}d ````)"MakeDir V2.2. Type /Help for HelpP NJ)HELPP帜帜P帼ccaN ( (# N`MakeDirN`cɜcɜccaNɜɜ)PN`cc}` N|}*4&[c cc}*` c] `  }S}*Pcc}S` c c}ScP`P`CMDPARSE CmdParse.PASSASexp> She.SCREENSIZE Set the size of the screen.FILEUTIL FileUtilsc }S' }S}*P}S,}SyBYBYnBYNBYXN|k| c Yes or No? ` k|:}SyBYBYXNc} c}* }}.PASSBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptFILESYSTFileSystem.PASSTATISTICS + *3NN,N*-k*k-)Z}k*N+k+ ' N,0k+AZDazDY09DY.BYXk,NNk*H*k*k-)ЦN| - Turn printing of statistics on or off. sys:exp>$ FILEDEFS FileDefs.PAS Turn swapping on or off. PartϤ,gc c** Ran out of automatic names! Type name: ` c Nc}cP`P`c 0} is the partition for swapping.+TYPE File GETTIMESGetTimeStamp.PASFile.oslbX$$ NJPcc}` c Hc}cP`P`c })\N}p}p,p-}-.k-/k.k/)Psys:exp>utility>file> PERQ_STRPERQ_String.PAS-boot Pascal.RunR *SCAVENGER }k.}k.Nk.H.k.k/)k-H.p/k.k/)}k. Nk.H.k.k/)]Nc Partition name (up to 8 chars): ` } Run the disk WRITER WRITER.PASg.PASSbX$$`aϪ)}P帺aoN?pq)\)@p?NP)}P帺a.c** Name already in use! ` NSTREAM STREAM.PAS2 08:14:43>,,06 Jan 82 08:14:READER READER.@pHpq)Ф'c}** Name is illegal.` c oȼ} ao'cbogus!` \o NJ pNccPASPASoweof d5  "=894j $ `MAKEDIR MKDIRERRDOHELP HANDLELI` :c o NJcc` >c }ɛ'ɛ%N`%I(%} cbogus!` 'c `DOPARTIT PARTITION.PASows use of default fileSHR *SCAVENGER Run the disk    }  qy)}q}rqNJNqHqy)}'Noϥ4`c!Device Information Block Summary: ` c cDevice name = ` cc}` c cDevice type = ` }"c`` c c Partitions: ` c ? qy)}zq?N/ cq`` c: DA = ` }zq?Nac`` I` }E } 7H'k4H*k4H, }-}-k4H\k8k4HH8k4k7H46]n`T`a \qr) J J Jb`)}_P`ca(\}[R}[ Ϝ}['σ}[kZ'}[kYTq}q(\qHc})J}i Get [FLOPPY] }c '}[kX'f)})Pc}^c}]c}^ɺk],LϨ}_ })# already exists on FLto })  ?  J J J Jb`)}iOPPY! Delete?  J Jb`)}_P`ca(\LL)})PkL}[kWP`ca(\)}Pc}ac}`c}_ɺk`'Pc** `cc}`c not found on Floppy.`c}[kV}[kUc `cc}`c renamed to `cc})`ca \\}[}[ [\ k`I'\3})dc}\c}\ abkb(ϊLσc* `cc})`c}i}' Already exists on hard c** `cc}`c was not found on floppy.`c]}[T}^}dc 3c}c}Vc}U aZc}disk. Delete? 帼b`)}iP`ca(\3})d abkb'?c** No room on disk for `ckZ'Zc** `cc}^`c was not found on the hard disk.`c\ kVI'\ )})Pc}Yc}Xckc``c Size:`k_Hc``c Bits:`kbH'k_H*k_H,c``c})`c\c [Floppy]`cc}`c ==> `cc})`cD,c Verifyingck_Hc``ckck_HHck_kbH_|c `ckj``cN File` transfer`c ^k`Jk^k)(]kak^H`V`a kb`k^`V Dkak^H`Vɺack]H]k] ,6ckj(s*ckX c in Use`cc `cki``c` Free Block`ki(s* Too many failures, aborting`cͪc* Block `ck^``c" incorrectly transferred, retryin*cckX c])}Pc}3c}2c}1c}>c}=c}<ɺ}+Ik< \k>k=5c** Illegal use of wilg`ck]M'`T``˼}gɛ[cckck`L` k^H^kb`k``k_`  ])}Pc}Zc}Yc}Xc}Tc}dcards`c\}/﷼`}/`a \}/}/*}/KH(*c`** Bad Directory`c\}/Sc}RɺkR \kTkSHc/** Rename does not permit the use of wildcards.`c\)})Pc}Wc}Vc}Uc}Tc}S6H}/LH75}+k5(9k5('}/﷼k5KH`}/`a }+I\k/H/k5KH`}/`a }+I\c}RɺkR \kTkSHc/** Rename does not permit the use of wildcards.`c\a \J}_584k4H(k4k7H*ϯk4H(υk4Hk3'k4Hk2'k4Hk1'Y})k8}+k4Hk Rename } to })c ?  J }}ɼqJ`ɛ+}}ɺ}}a}aJ`]}}G}}}N"}}list will not be set up.` c )+Do you want to initialize partition pages? P)YesP帺a Uc=* You s} IN"]pq)c}ɺ }pNopHpq)]}}st)c}ɺ }sNJrsHst)}o`}hould now Scavenge the partition to recover the files.` c \)(Do you want to test after initializing? P)}o`}}o`}]qr)#}qN}qNJqHqr)ț!}ʷYesP帺aNAlAk@,?c%*** Sorry, partition too big to test.` c NAlA N)'Do you want tzq?Nɛ'ɛ%N` pz)}p'rpNJNpHpz)c , Name = ` cc}` c qHqy)c c}/}}}ɛ+a}7 "}/}}ɛ+b}+ ,}}ɛ+}Boots: ` c  qy)} qN/ }>qN/ ϖqaHc c: System = ` } 4`}/}=*}}ɛ+}}ɛ+]}} }}'}}'}} }} qNʷ} ɺc c Interpreter = ` } 4`}>qNʷ} ɺc qHqy)84`c$Par N]}}BE]cInitialize partition ` cc}` c c }3})}5}3ɛ+ʷ}7}5ɛ+ʷtition Information Block Summary:` c cPartition name = ` cc}` c cStart DA = ` }7a=}+a>k>k=JH@.k>k=JBk.lB)}Ak.NNk.H.k.lB).JBk.lB)#k.Nk.H.k.lB)}vac`` I` c cEnd DA = ` }xac`` I` c cRoot DA = ` #}7巛#}+巛#k@`巛#}5巛#/.Bk.lB)&#rk.NJ}k.Nk.H.k.lB)ڛ#v})巛#x}+}ac`` I` c cFree head = ` }ac`` I` c cFree tail = ` }巛#9巛#N#"1N!}3巛!!!/巛!/巉 ϕ}AN}3ɛ#ɛ!N`` aN}ac`` I` c 2}cNumber free = ` 2Ncɭ`` ,c 2Ncɭ`` I` c cAN'}AN}3ɛ)ɛ%N`` aN}AN}AN!ɛ%ɺaN}AN}AN#ɛ)ɺRoot directory = ` }ac`` I` c cBad segment = ` }ac`` I` c caN}AN c5** The partition information block Cannot be written.` c c c** This device is iDevice type = ` }"c`` c ]}}ʷ}a}}u#}N}N߭}Nn trouble!!` c c=** Reformat the device or put partitions in different places.` c \#ɺ)+Do yo d}u`}}}a}aJ`]}ax d}}u want to initialize partition pages? P)YesP帺a c cG* If you do not initialize the pages, the free  ͔kZ`kT`}[ SkSk)φVkS}[kS(i]c' ** The files are not equal at addr `ckT``|cc}`c is empty.`c\ a \ }^}\R}\ X}\~"ʷ~"'6~"kh+'}^ }^}\ckS``c kSHSrkTHT*kVL`  kYkVHJ`V`a \ kZ`kVJ`}[ SkULJkSk)|VkS~"}^*}^}\~"'~"kf'~"ke'~"kd'L}l}3# already exists on }[kS(_c ** Files not equal at addr `ckT``|cckS``c*kSHS|kUMRkRfloppy. Delete?  J}l* }l Jb`)}lP`ca' ~(ϓVkULkRJT}[kULkRJSkTkS(cc ** Files not equal at addr `kVJc``|ckU"\ ~"}\~" ͟}^ @c** No room on floppy for `cc}3`c\ }^kh,|}\Jc``c̀k] zc Disk file `cc}`c$ and Floppy file `cc})`c are ``c`}\~"ʷ~"~"}^khJ~"~"X~"J~" }^ ~" }^ khHYHY }\}^ identical.`c c^C`c \ 0=cc ** ^Q for MORE **`c}^~"ʷ~"~"kf~"ke~"kd~"kh~"~"X~"Jkg~" }\ c `c)}Pc}-c},c}+ɺk,'Xco** `cc}`c was not found on the floppy.`c\ c}`c ==> [Floppy]`cc}3`cD,c- Verifying transfer`cckhJ"kcl") k,I'\ c}/V *k,J1k*k1)bk,L` k-k*H`}/`a ͵)2k)k2)(}/k) '}/k)c-bk``kc`V }^ kcH`V`a ͝D}^ kcH`VɺakbHbkb +3cToo many failures, abortingk)H)k*H*̖k,L` k-k,HJ`}/`a Q)k+LJ1k)k1)(}/k) '}/k)ck)H)c`c:c* Block `ckc``c" incorrectly transferred; retrying`ckbM'`T``˼c}WɺkX'Xca** `cc})`c was not found on the floppy.`c\ kXI'\ ca Compc )}3Pc}fc}ec}dc}kc}jc}iɺki \ kkkj4c** Illegal use of wildcards`c\ }}dare `cc}`c with [FLOPPY]`cc})`ckVkX(kUkW(c ** `cc})`cc 3c}c}hc}g a`c}k`'Sc** `cc}`c not found on the hard disk.`c\ J length: `ckX``|cckW``c is not equal to`cc `cc}`}l Put } to [FLOPPY] }3 ? c length: `ckV``|cckU``c\ ] TkVJkTk)kVL` kYkTH`V`a  J J J Jb`)}lP`ca(\ kh'Bc** `c ɛ#ɛ!N`` aN}Ak.k=JN Xc k.H.k.*k>*!k.k>,!\c k?H?k?k=H'Ac lA<k=?k?.}/ c }/4`k.k=HJ`ʷ}3ɛ#ɛ!N`#}/巉 }3ɛ#ɛ!N`}/ɛ#ɛ!N`!/巛!k? 4`k.`ʷl@ }/ɺ}/ak?JM' rc }Ak.k=JN+}Ak.k=JN}/ɛ)ɛ%N`` aN}Ak.k=J}/ɛ#ɛ!N`}/4`k.k=HJ`ʷc Last good is ` }/ac`` I` c }/ɛ#ɛ!N`!};N}Ak.k=JN!ɛ%ɺaN}Ak.k=JNl@}Ak.k=JN#ɛ)ɺaN}Ak.k=JN Xc k.H.k巛!};a }/ɛ#ɛ!N`};ɛ#ɛ!N`!}/巉 };ɛ#ɛ!N`k-' k>k=JH.k-.k.*k>*!k.k>,!c k?H?k?k=H'c l@k=?k?.}/4`k.`ʷ}/ɺ}/ak?JM' wc  }Ak.k=J.H.;k@-.k>k=JBk.lB)$}Ak.N k-J-k.H.k.lB)k-k@(%c]* Updating free count; lost ` k@k-Jc`N+}Ak.k=JN}/ɛ'ɛ!N`` aN}Ak.k=JN Xc k.H.k.*k>*!k.k>,!Sc k?H?k?k=H'8` cc blocks.` c }3ɛ#ɛ!N`#k-`}/#﷉ }3ɛ#ɛ!N`k?k=(ρc6Fix fillec k=?k?.}/4`k.`ʷ}/ɺ}/ak?JM' rc }Ak.k=JN+}Ak.k=JN}/ɛ)ɛ%N`` ar word of last block since first free changed` c }/ɛ#ɛ!N`!k? }/ɛ#ɛ!N`c cWo write each block twice? P)YesP帺aN@N@.JBk.lB)#k.Nk.H.k.lB)## N}Ak.k=JN}Ak.k=JN!ɛ%ɺaN}Ak.k=JN}Ak.k=JN'ɛ)ɺaN}Ak.k=JN XcN## ROOT.DRPc#N#I#}5巛#I#}5巛#!}5巛!I!k=!/ k.H.k.*k>*!k.k>,!c k?H?k?k=H'c lAϲk=?.k.k>k=J)7}Ak.N c* Block ` k.k=Hc`!/巉 Ϛ}AN}5ɛ#ɛ!N`` aN}AN'}AN}5ɛ)ɛ%N`` aN}AN}A` I` c bad, removing from Free List ` k.-}Ak-N k-k>k=J*k-H-}Ak-N -cup to ` k-k=HN!ɛ%ɺaN}AN}AN#ɛ)ɺaN}AN c8** The partition Root Directory block cannoc`` I` c c} indexes are ` ck.`` I` c and ` ck-`` I` c k-' };/};4`k-k=Ht be written.` c c c** This device is in trouble!!` c c=** Reformat the device or put parti`ʷcNext good block: ` };ac`` I` c k.'cFirst block bad` c }3ɛ#ɛ!N`tions in different places.` c \#ɺ #ɛ'ɺ !/巛!!k=!}+ɛ+巛!/巉 }+ɛ##};巉 }3ɛ#ɛ!N`k-(sk-k=H?cRewriting NextGoodBlk as head ` c };ɛ#ɛ!N`!/巉 ɛ!N`c l@ !ɉ4` k=?k?.}/4`k.`ʷl@ }/ɺ}/ak?JM' wc  +}Ak.k=JN}/ };ɛ#ɛ!N`!cAll blocks bad` c ͦk-'cSLast blk bad; last good is ` k.k=HJc`` I` kcl")VkckcHcb}^ khHJ`V`a D}^ khHJ`VɺakbHbkb +3cToo many facxcwc}`c} c} c} ɺycxcwc.c}`c} c} c} ɺyilures, aborting`cͪc* BLOCK `}^ khHJc``ck" incorrectly transferred; retrying`ccxcwcco}HYHYR R} } }}}}} }``c`}}ʷ}kbM'`T``˼}ɛ[ka khL`  ]Lb`)}Zero the floppy? P}X}J} } o}pR R} } }巉YHYcWriting the Directory`c`ca' 1\cw/* Zeroing the floppy will destroy its contents.`cb`) Is this what yoa \c'** Sorry, your Floppy Directory is DEAD`c\].)}Pc}-c},c}+c}1c}0c}/ɺk/ \u want to do? P`ca' 1\,(Ljb`)9The default number of sides is 2. Is this what you a \})R2}) Ͻ})}ʷ}'Ϝ}k-'}k,'k1}k+'k0y2}7Delete }73c}7k3 H` want? P`ca' 1\,' LKZL KZLKHR``c`R}ʷ}}X}}`c}6c}5c}4ɺ}7k3Hk6}7k3Hk5}7k3Hk4}`c}6c}5c}4ɺ}7k3Hk6}7k3Hk5}7k3Hk4}7k3H.}`c}6c}5c}4ɺ}7k3J} } }n} JYa cc+* Compressing the floppy takes a long time.`cHk6}7k3 Hk5}7k3 Hk4}7k3 H?}7k3 H L)b`)}7P`ca(kr}.}7}7kb`)) Are you sure that you want to do this? P`ca'\a \{+ct Verifying comp3H` ` Jc `cc}7`c deleted.`c})} :k2Sc** `cc}`ress`ccDirectory Loaded`cY}}R﷛R} }}ʷ}'gc Skipping `c was not found on the floppy.`ck. a  :55 2 k//  }c``c blocks`cp}H}} }c`}}͑o} (ϏcMoving [`}c``!! > l"\\"!b%RRd%P)RRAR).)) /0TTzc] `}Jnk)@} nH`V`a onH`V`a ͹{} nH`V`a ͚onH`Vɺ\\08O))?GB8::?a mHm+@c$Too many failures, leaving bad block`c }cBlock `cn``c" in)* 0 @ 0 $/}ɛ[kkhL` kcHck``kc`V kgMckc((VkgLaVkgLkakcJkcJkgHLc"correctly transferred; retrying`cmM'`T``˼}ɛ]  znH͹} o}`c} c} c} ɺy }ʷ}ɼɛ+ʷ}c}cɺ}ʷNc)Name for root partition (up to 8 chars)es? ` NϘ}}ɛ+ʷ)@?NP}ɺ}}﷜H?N}c cn%Name of second half (: ` c;`aNnι? x) 2ʷ?N﷛2﷛2N߭(2N߭* 2N߭c Thenew partition)? ` cɺ mz)"@H?NmmNmHmz))P}ɜɺ]c c(About to merge re are` co`` c pages available for partition` cɊ`` .c c c}0How many pages would you selected partition with: ` c H?Nɛ#ɛ!N`#ɺ) Are you sure you want to merge? P)Ylike in it? (0 => all) ` &o`'*o`'cm`` c c}cc Nm'om*2c Too few pagesP帺a \H?Nɛ'ɛ%N`'x)@?NPɜɺH>mn)7m?NmH?Nes. How many pages? ` Nmo,3c!Too many pages. How many pages? ` N}ɼm`ɛ+ʷ}c@m?N@mH?NmHmn)ɜ??N/mn)@??Nm NmHmn)ț9ɛ#ɛ!N`; }cɺ} m`}ʷ2}﷛2N߭(2N߭(p2} c'Not a track multiple. Next smallest = ` 2Ncɭop);o#roNJNoHop)?op)ϛo?N#zo?N﷛@o?No 帜o?N/ OmHo?`` c. How many pages? ` Nnncɺ@?N}ɛ+ʷ)@?NPɜɺ}Nɛ'ɛ%N`nq)&@o?Nn'rnNJNnHnq)oHop)eop)74oN# oN﷜hoN#>oɼm`ʷ/ Hx)ȼ)x Are you sure you want to split? P)HYesP帺a \NoHop)ɛ#ɺ)N"Do you want to rename the Device? P)NoP帺a[c**** WARNING ****` c c>m(4mH?Nm?N﷛@mH?N@m?NmJĜc} cɺ ?N}ɛ+ʷ}c} cɺC* After renaming the device, no programs currently on it will run!!` c )$* Are you sure you want to do this?riting root Information Block.` c c Jmn)#mNmHmn)mn)#rmNJ;mNmHmn)}ɛ+ʷ}aaJc There are ` cs`` c pages available.` c c1How many pages #v7巛#x5巛#9巛#N#"1N?mn) #zm?Nm?NmHmn)mn)7# mN4mNwould you like in the first half? ` Nc}cc Nr*4c Too few pages. How many pages? ` N巛#>mNhmNmHmn)ɛ!9巛!!!/巛!/巉 9ɛ#ɛ!N`#ɺ]? qx).rs,5c!Too many pages. How many pages? ` N}ɼr`ɛ+ʷ}c} cɺ} r`} q?N/﷛@q?N qHqx) qx)#4qN/﷜hqN/qHqx)ݜ7ɛ+ʷc}cɺ 2} ﷛2N߭(2N߭(r2} c'Not a track multiple. Next smallest = ` 2Ncɭ`` c.. How many pag ssages.PASASUTILPROGUtilProgress.PASa%STREAM STREAM.PASrA>ndnA  ,=~ / ||6 =)PERQ_STRPerq_String.PAS8fGXFLPBLK CONVERTNLOOKUP VERBLOCKGETRAD50PRINTDATGETFILE INIT DO8Py. /... a  :55 2 k//  ?LERYfGDfloppytransfSCREEN Screen.PAS#\8dndmA !! > l"\\"!b%RRd%P)RRAR).)) /0TTz8W%A8pFILESYSTFileSystem.PASS.PAS\\08O))?GB8::?FILEDEFS FileDefs.PASJ@6=Xnd)* 0 @ 0 $/GETTIMESGetTimeStamp.PAS floppytransfers STREAM StreaFLOPPYDEFloppyDefs.PAS PSys:user>dcf>exp> POS D.65 b-boot POPCMDPAPopCmdParm.PASomfGcQUICKSOR QuickSort.PASse.PASQP|6=>* dCMDPARSE CmdParse.PAS|2Ja| |6= )JSYSTEM System.PAS#\#\X aPOPUP PopUp.PAS! (/$2(%X% FILEUTIL FileUtils.PASX0a64?44?4>#\IO IO.PAS%DDD8p8ZPYA PMATCH PMatch.PAS%mvlvjIO_INIT IO_Init.PASs fG*9floppytransfers fGCLOCK Clock.PAS@6I=vJX ,=~ /;IO_UNIT IO_Unit.PASloppytransfers%= N G 48 DYNAMIC DYNAMIC.PAS IO_OTHER IO_Others.PASRS.PASIOERRMESIOErrMeWRITER WRITER.PAS roNJoNoHop)9ɛ#ɛ!N`\Nc'Which partition do you want to modify? ` ccP`P`4H NJ})})3ΔNȉ1d m*Ͼcc** Number of names prc ,ϯ op)ooNoHop)?op)l)P)@o?NPa?Novided: ` cɊ`` c is less than` c c%** the number needed for the device: ` cm`` c coo?Nɛ'ɛ%N`o?N﷜'xoHop)Дc 'ɺc m@*K)%Do you want to split D ** Aborting!` c \]9ɛ#ɛ!N`` aNm#9 #(#"1(!9 ͽcthis partition? P)NoP帺a\?*oH?N/ Y)3Do you want to merge this partition with th5*****************************************************` c c3** WARNING WARNING WARNING WARNING WARNING WARNING`e next? P)NoP帺a\)l*Do you want to initialize this partition? P)NoP帺a#)@?N c c5*****************************************************` c c c c0** This disk appears tPɜɺ\)*Do you want to change the partition name? P)tNoP帺aψcs**** WARNING ****` co contain useful data!!!!` c N)2Do you want to destroy the contents of this disk? P)NNOP帺a7 cF* After renaming the partition, no programs currently in it will run!!` c )$* Are you sure you want t)Are you sure? P)NOP帺aNc```` c```` N   N  co do this? P)NoP帺acINew partition name: ` cɺɛ#ɛ!N`op) #roNJo0Device Partition initialization program version ` c3.2` .c c c )/Do you want to debug?NoHop)Hop)#roNJ NoHop) ɛ#ɛ!N`c #ɺ\]c#F** For /Build s (does not do any writes) P)NoP帺aN c +`ʷ/`ʷ-`ʷ``#c```'c`witch, need device (F or H) followed by partition names` c \]c  /c} c c}) /c``)c```!c```%c` Ϧc&Partition Harddisk (H) or Floppy (F)? ` c^^c } c  /c} c c}) /c} c}) }) 3\d})BUILD4Tc?<** Illegal arc f' FNh' HNH'F'rF' N1N11'ϒF)Is this a 2gument to Partition. BUILD is only valid switch` c \c  /c} c c}) /c} c})4 MByte disk? P)YesP帺a N1C)Is this a 12 MByte disk? P)YesP帺aN1Ͱc1I P)NoP帺aϗcNew device name [` #cr`` c] ` c`aN >op) # })3(})H' N1})F' N1c  /c} c c}) /c} }) h occurance will be printed.` c c0 NOTE: A carriage return is printed as: ` c c c }c` am)}cR4N`}N` miNuNlNcNZUN crO If /NoContext is used, then only the first occurance per file is noted and` c c no context is `}N` 5N`}N` d}}}rR3u4*cFilgiven.` c c cA The first argument to FindString is the pattern to look for.` c cD The see Pattern to search in: ` #cPattern to search for: ` c}3c``c } i3P}cond argument is the file pattern to match files against.` c c*@ FindString looks in all files matching the filPcFile Pattern to search in: ` c}3c``c  X}d{4X4LN`,** The pattern for` c c the first pattern.` c cB NOTE: To include a space, comma, or slash inere are only two inputs for FindString.N` }P帛X}d} Z} IN` ,*RENAMEDOCOMPARDOTYPE DODIRECTPUTFILE FINDSIDEDODELETEZEROFLOPSQUISH WRITEDIRUNLOADDILOADDIREGETVAL SETDATE GETDATE GETCURDAPU the pattern,` c c/ precede it by an apostrophe (').` c cM An output may be specifiTRAD50FIRSTSECNEXTSECTFLOP WRITECHADOFF CTLC WRITER WRITER.PASed which will be a file for the output to go to.` c c; If there is no output, then output goes to the screen.FINDSTRI1sys:perqfile>utility>others>source>findstring.paso  ` c c c# A sample invocation might be: ` c cB FindString screen, :boot>os>*.pas ~ scre enUsers/noContext` c c c The valid switches are:` c m)Ac* ` ̉NJ )cc` c Hm)пc cn3 The defaults are /Context and /NoCaseSensitive` c c \]N c}}aSc}cXN`a; c` cc}` cc: ` c \̘N]cm``  c c cL FindString is used to search through a number of files for an occurance` c ccK of a parti cc}` m( cc}*` ]}3}cP帼c}3c}1 aN2k2 (k2 (' N` FindStringcular string. It has two modes. If /context switch is used` c cM then about 10 characters on each side of eacN` }c}c}cc} aN1 P帛Xd帛%dNNk1 N`}N` } }   is the partition for swapping.+TYPE File ALLOCDIS AllocDisk.PASows use of default fileSHR EDITORUTsys:user>wjh>editor>EditorU.PAS# *SCAVENGER Run the disk READDISK ReadDisk.PASSows use of default fileSHR *SCAVENGER  s this a Single (S) or Double (D) sided floppy? ` c^^c c s' SNd' DN Run the disk IO_UNIT IO_Unit.PASPASws use of default fileSHR *SCAVENGER Run the diskD'S'hD' N1N11N` ʷ51N`ʷ25﷛2N2Nߛ2N߭72﷛97﷼9 PERQ_STRPerq_String.PASs use of default fileSHR *SCAVENGER Run the disk MEMORY Memory.a44`͆)y,Do you want to initialize the whole device? P)NoP帺a6)Are you surPASPAS .jp289j $ `SYSTEM System.PASPASows use of de? P)YesP帺a)"Do you want the device remounted? P)YesP帺a4`87;efault fileSHR *SCAVENGER Run the disk CMDPARSE CmdParse.PASP4x`"w8'RS*RS)*{,| 6 8  \WRITER WRITER.PAS^8 ,""\ T V   F H w -- x < > " 4COM PARTSTREAM STREAM.PASfile Src to file Dest.AY ,BEGIN CASE CONST GD p! r!%%b)d)**1RJ2341H2ELETE DelREADER READER.PASlete /Help" for more details.EXPORTS 1FILE FDETAILS ParPARTITION.PAS/noqueryyail44"5$577)"Do you want the device remounted? P)YesP帺a4`87;s. DYNAMIC DYNAMIC.PASore in/noqueryN.PAS IMPOLDIRECTORY Give a directory of files. "Direct /HeDOPARTITASK ARITH Arith.PASPAS.PASfile.exp>3 She.SCREENSIZE Set the size of the screen.FILEDEFS FileDefs. UPPEREQUOKPARTNAGETNAME GETPARTNWRITENAMPRINTDIBROUNDDOWROUNDUP RANDOM RANDOMIZLABELRANCOMPLEMEINITPARTSETUPLABEQUALLABEQUALBPASSows use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk GETTIMESGetTimeStamp.PASATISTICS + UFWRITEROOFIRSTPARSPLITPARMERGEPARREPARTITPARTPARSREPORTERCHECKNUMCHECKINIe Dest.AY ,BEGIN CASE CONST GD| - Turn printing of statistics on or off.VENGER Run the disk DISKIO DiskIO.PAS- Turn swapping on or off. PartELETE DelREADER READER.PASlete /Help" for more details.EXPORTS 1FILE FDETAILS ParPARTITION.PAS/noqueryyail P帛J)2CASESENSITIVE Case is significant when searchingP帛J)'NOCASESENSITIVE Case is not significantP帛J 'HH c ͎c cFound ` X`)matchP)esP帺c in ` `))"HELP Print this messageP)}%FindString V2.1. Type /Help for Help.Pc c cFilesfileP)sP帺9c matches in ` `)fileP)sP帺c out of ` `)fileP) matching "` ccX` c" containing "` cc` "c &c  (case ignored)` c cFILEUTIL FileUtils.PASP Psys:exp> POS D.65 a-boot FILESYSTFileSyste c  ``c7`X>` a(^ X`` JdPXXH`Xm.PAS P 6Psys:exp> POS D.65 a-boot FILEDEFS FileDefs.PASUN.J` Jd dc c"ɺaf "` ʷʷʷ㭝 'QP44x( .GETTIMESGetTimeStamp.PAS'Um$.$LɉH'L#﷛# ` #ʷ#ʷ L@$.$-#\#>pascalG<XHaPMATCH PMatch.PAS(ZP[!G(k`Xla` a '+c ` c *Match` HϨ ɉHcZ~tX}HREADDISK ReadDisk.PAS@#\ .'01 Feb on line ` cɉ`` c: ` J J*HH+J)c 44#D%DISKIO DiskIO.PASsscalle>utility>others>source>findstring.pas :exp>findstringlity>others>source>findstr* There are only two inputs for FindString.N` } $ N` MakeDirN` } R4 %}Hc *c rH\(HJHI*1H#﷛#ʷ#ʷ d帛X 44N0k0 +}3}c}c}cc} aN1k0πc a N`N` cX 'HH c ͎c cFound ` X`)matchP)esP帺c in ` `) a N`tN` c% a N` N` %i4RcOutput being directed to fifileP)sP帺9c matches in ` `)fileP)sP帺c out of ` `)fileP)le ` cc%` c cɛ%c```` c```` c```` J)FNOCONTEXT Show only the fsP帺c scanned.` c % 4c ] :3nSSpirst match in each file with no contextP帛J)GCONTEXT Show about 10 characters on each side of each occurance *c rH\(HJHI*1H#﷛#ʷ#ʷ  HN` HoJn JJ0 oJn JJ0 af]c}c} HnJm JJ0 nJm JJ0 afn K)HmKuHpJpJo IPN;H to continue ***`  N N IPN;H˼}c} c}.c}-`=`c c}`k.`k-`}NrNN/ '`=@Y]AN`/ ( a_N`]/ ( aN/ (Ϩ0 '6<0 <0 <NN``f0 '\N`?/ '\<0 }N}'N@]N'''N]N'''N]`n`q'N} N}0N<NNʹNiN NNNNc  `Tm c c q``q)  c qc)  c q )  c }qc}Uc}T}j Z`=`=`=`=}N}N} N}0Ns`= K)H LHKu 4P`` c c c}`  IPN;Hc}c}m@(*˼})c}+ `=`c c}+`})kU`kT`.}c}*c})``c c}`  N N rs>source>findstring.pasCMDPARSE CmdParse.PASindstring %.$ -.'topics: %Introduction %HELP (the HELP key) %Pointer - to select text %Q - Quit (Leave the ed01 Feb  4G4'STREAM STREAM.PAS}/?LERYitor) %Scroll - see adjacent view %Thumb - see remote views %Keys - Special keys during Insertion % /D@WRITER WRITER.PASexp>findstring findstring.pas :exp>findstring @"!#\ %Accept - (Use INS) %X - Keyboard Thumb Bar %Reject - (Use DEL) %N - Note current view 01 gSepOctNovDREADER READER.PASerqfile>utility>others>source>findstring.pas :exp>findstringI>pascal s>PASCALile>util %INS - Repeat last A,I,D,R,S,F,G %LF- Keyboard Scroll %T - Top (redisplay selection) %< > - Change directioityDYNAMIC DYNAMIC.PASring.p BexCBsys:perqfile>utility>others>source>findstring.pas :exp>findstring +FINDSTRIDOHELPn for F,G,L,W,R %B - Bottom (similarly) %digits - Set number of repetitions %Space - Space, RETURN, BACKSPACE, T NEXTFILENUMWRITEHANDLELI  4G4'STREAM STREAM.PAS}/?LERYAB, etc. select next or previous character %W - Word select %L - Line select %I - Insert before selection /D@WRITER WRITER.PASexp>findstring findstring.pas :exp>findstring @"!#\%* - Select entire file %A - Append after selection %G - Go to a character %S - Substitute for selecti01 gSepOctNovDREADER READER.PASerqfile>utility>others>source>findstring.pas :exp>findstringI>pascal s>PASCALile>utilon %F - Find a string in file %D - Delete the selected text %M - Turn More mode on/off %R - Replace occurrenTRex 540 31744 2 Charly 540 31744 4 ces of string %E - Extend selection to pointer %V - Set Verify mode for R X X - Thumb bar (X-Coordinate selection)  The thumb bar cursor is placed on the thumb bar line at the top of the screen. The following characters are active:  INS - Display the part of file corresponding to current position of thumb bar cursor. DiARITH Arith.PASing ;@ N   j .h"PERQ_STRPERQ_String.PASility>others>source>findstring.pasUTILPROGUtilProgress.PASlity>otheEditor V1.5 Help Copyright (C)1981, 3RCC Explanations are available for the following  }}}}}}﷼CaNdoNp}Np)`Exit CreateEmptyPageP帺 } }qN}}`aN}}qHN}d}NNq}+ϧ}㯄qpJ}]}H}'}}}N}}HN}'&}}}}JN}}}} }㯄qp*} } }qN}}`aN}}qHN}JN}}opHt*U}}}  t}Ht+} } }tNzt}+a}d}NN }qN}}oHN}d}N}NN]sI}} } !t}Ht㯇tsJ}}} tH}㯇ts*} } }tN }tN}}ʷ}}, }}}} ItpHt}} ps*N/}}'}}*N}}*N]}} pND)6internal error: attempt to Detach an unattached cursorP帺]}}ʷ}}ʷ}B)4internal error: as)N/}}'}})N}}*N]}} ps'N]}} ps(N]}} ps,N/}}'ttempt to Attach an attached cursorP帺}}}}`aN}}}HN}N}r'N}}},N}},N]}} ps+N/}}'}}+N}},N]p(} c}ɺd}NN}d}N}NN]}}ʷ}}ʷ}}'J}}}}}HN}p(} c}ɺ˼}˼"aNȼ˼}˼"aN)} Enter TextPosP帺m7NJ' }d}N}NN5}ɺ}}˼}N`}˼}N`}}ʷ}}ʷ}$d}:m7NJnq+˼qqJ`}ɺ˼qn`}ɺ) Exit TextPosP帺])}Enter ScreenPosP帺}Iv``c Swap out page `rHMc ``c  to file `rHLc `` N``\rN}N}N}H}*)}}HN}}HNp} a}}}N}HLN߭`rHM`rrNnN) Exit CleanPageP帺])} Enter MemP帺NNp'NpHNnd}`aN}}N}d}NN}d}N}NN}}ʷ}}ʷ}pN'NdpN p'No(εo'ϽCaNdpNqnNq.w``c  Swap in page `$d}N}N}N},)}}JN}}JN~} o}}}}qHMc ``c  from file `qHLc `` N``\nHLN߭`nHM`qpNpNJN}}`aN}}}HN}d}NN}d}N}NN)Exit MemP帺])}Enter CreateEmptyPageP帺}cɺ;}}ʷ}NHN}N}N}}ʷ}}ʷ}$d}N}N}N}oHq*ϝ}}}  q}Hq+}  B B - Bottom The line containing the end of the current selection is moved to the screen. If already there, it i flag. If the More Flag is set, the selection is extended to the found character. M M - More in selection EL - Aborts the thumb bar. Current selection is unaffected. TAB - Moves five character positions to the right. s moved to the bottom. T T - Top The line containing the current selection is moved to the screen. If already control-TAB - Moves five positions to the left. SPACE - Moves one position to the right. BACKSPACE - Moves  there, it is moved to the top. W w, W - Change the current selection to be a word. If the previous selection wone position to the left. RETURN - Moves to end of file position. Control-RETURN - Moves to beginning of file as a word, the selection advances to the next (but see the discussion of Reverse Direction). If the previous sel- position. Digits - Set repeat count for TAB's and SPACE's. S - Move to the S marker on thumb line. This marke ection is smaller than a word, the new selection is an extension of the previous. If the previous selection r indicates the location of the current selection. O - Move to O marker on line. This marker indicates this larger, the first word is chosen from the previous selection. This command uses the repeat count and Dire text that was displayed prior to the last thumb bar selection. N - Move to the N marker on the line.ection Flag. (Unshift-w chooses words that are either letters or non-letters; Shift-W chooses words delimite This marker is set by the N command. The current selection is unchanged. However, if any keyselection d by blank-space.) L L - Change the current selection to be a line. If the previous selec- tion was a line, the selec commands (C, W, L, G, space, ...) are used, the operation is treated as though the first character of the scretion advances to the next in the text (but see the discussion of Reverse Direction). If the previous selection ien had been previously selected. N N - Note The current screen display is noted and an N is placed in the s smaller than a line, the new selection is an extension of the previous. If the previous selection is larger, t Thumb Bar. The thumb bar may be used to return to this current display by selecting the N. LF LF, Controhe first line is chosen from the previous selection. This command uses the repeat count and Direction Flag. l-LF - Scroll LF repositions the screen window so it displays text starting with the 37th line of the previou G G - Go to character After typing "G", one more character is typed. The editor searches the rest of the s display. Control-LF scrolls in the other direction so the previous top of the screen is near the new bottom. screen for the character. If found, it becomes the current selection. G uses the repeat count and direction  reenPosP帺]}pH}qLH L` ` c ` ` c ` ` c ` ` c |J{0 afs7' N sH8NPN){HJPN cɺwcɺȼ˼˼"a N c` ` c ` ` c ) LJKuH LHO K)H HKuH LH OHOL  ' ˼m` N ) Enter DrawP帺}ʷNt)&s7NJ}s'}Nt*.N!s' I`DaH ˼Da ˼Da ˼Da ˼Da ˼Da ` `O c `` s`` PNs`` N!s`t`s't'5s`I`˼}&aN`  N```N N c˼} `N c ` ` c ` `S c ` `( c ` `) c ) LJKuH LHN`˼˼ a N A˼˼$a N }s8NtPNN ˼˼}) LJ7KuH H N 'Gm ' c - N`m (m 'N` mN`$m (m '"aN N ˼˼"a}s8NtPNN xy *ϋ}y ';`Hx  '}N` mN`mN]`J`mN`{N`˼}˼#a˼}˼"ac}ɺ} }OL J N``HN yN`6˼˼"aN` yN``HtHPNJ} k,˼} ˼}#akJc} ɺ}}OL Jk,˼}˼}#akJc}ɺ} } k,˼} ˼}rJkk*k #,Jkk*ktkHP,PtJ}"dN%k%kH$c}c}#akJc} ɺc˼}N` N˼˼} #a˼˼} #a FcɺƼ˼˼} #akk}}"k%k$Iu k J˼kJ`c}ɺk`HtkHPNs`t`tP'N wxrN s7N` c  c  c  c c˼}cɺNcɺ˼˼}#a FcJ}s7NJtsH8NPNs7,N x (s7NJk! s``s``xχs7,˼'a`ɺܺFk ' N`cɺ}N`m͛IN`˼˼E͍DN`˼˼EnFN`˼}Ns7&sk&)Es8Nk&8Ns7NJ'k'k'k'sHsk&)cɺvJN˼˼}EORN`˼˼E0SN`˼˼Ed ^{]tPN t K)HsK HHuHu' !a } } }˼}˼} k`k`N`Gu*) Exit DrawP帺)Enter UnderLineP帺˼}˼8N}}H8N˼}˼}7NJ!a}7'˼}˼}7NJ%ar˼}˼}   u'  c˼}N` '%cɺ ( cɺ tJPN N˼˼}"aN7NJ!a0}˼}˼}7NJaPN}7H8N}PN}I8N}PN)Exit Sc  'k 'NNk tHPNkt(tP'wψtvJ K u' |HxJ zx|J{0 |J{0 af{Hyx|J{0   the front of the file instead of the end. Commands affected are C, W, L, F, G. The flag is turned off by all other commands  Control-w and Control-W are synonymous with this command; shift-control-W treats a word as any consecutive except M, E, V, N. It is also turned off by F, but the old direction is remembered if the F is repeated with INS. Typin string of printable characters. RETURN - Move to first character of line following the preg a ">" sets the forward direction (toward the end of the file) for Find and Replace commands. "." and "+" are synonyms vious selection. Control-U is synonymous with this command. Control-RETURN - Go back to first for this command. "<" sets the reverse direction; "," and "-" are syn- onyms. The current direction is displayed preceding non-blank that follows a CRLF. Control-OOPS is synonymous to this command. A A - Append text after  Turns on More Flag, so all selection commands extend the current selection rather than change it. The selection grows  as an arrow in the upper left corner of the screen. space Character Selection Space, BackSpace, Return, Tab, and a only at the end indicated by the Direction Flag. The character motion commands (SPACE, BACKSPACE, RETURN, etfew other keys behave as if the selection line were a cursor for insert. These selection commands move to a chc.) can cause the selection to shrink at that end. In this mode, they do not select a single character, nor do taracter related to the current selection. They all use the repeat count. None are affected by the direchey change the direction flag. The mode is extinguished by any one of the commands: A, I, S, R, D, *, M, E, Q. (Ttion flag. All reset that flag unless the More flag is set. When the More flag is set, these commands still move in thus M is a toggle.) Accept Accept and Reject Many Editor commands require that the change be Accepted or Rejected. Accepheir usual direction; thus they can be used to reduce the selection. SPACE - Move to the charactertance is signalled by typing the INS key. Rejection is signalled by typing the DEL key; in this case the change is not made.  following the previous selection. BACKSPACE - Go to the character preceding the previous  Reject Accept and Reject Many Editor commands require that the change be Accepted or Rejected. Acceptance is signalled bselection. Control-H is synonymous with this command. TAB - Advance five characters from end y typing the INS key. Rejection is signalled by typing the DEL key; in this case the change is not made. < < > - Reverseof previous selection. Control-TAB - Go back five characters from beginning of previous select direction. These keys control the Reverse Direction flag. The Reverse Direction flag causes most commands to work toward ion. Control BACKSPACE - Go to the beginning of the word preceding the current selection. &aΫ˼`c} ɺcɺpo,˼} P`c} ɺqPJpJpo,")mKuHnmJoJHK z,*)Jz|J{oKH}}}ɺ;}}}㯇}} ʷ} } }}  } }} }sJN} }sH a}˼}˼$a}˼}˼}!a*˼}c}c}ɺ)˼}˼}t`u`sN`G)Exit UnderLinJ0 |J{J0 af)JoK|J{J0 |J{J0 afnmoHqk+&q7NJqoJ7NJqJqk+n7'eP帺])enter OnScreenP帺q7,r*N3˼}c}c}ɺ)sq*˼&aNsr)N/I``q7)r77NJ*m'˼} ˼}``-BmmoHJqk)2q7NJkkkqHqk))Exit Scro+Fc L=`c s``c  C=`c t`` c c L1=`c q``c  L2=`c r`llDownP帺c˼}N`˼'a hcɺ '˼'a '˼'a cɺ (c`q7,r*c  Off`msq*:˼&ac  On`c  Off`-sr)c  On`ɺ '˼'aΘ}cɺ˼}˼}p`q`-˼}`7J`/a˼}c} c}ɺ)vH8N 78N˼}c  Off`c Screen` N``) enter ShowP帺˼}p`q`/a ϼ7Lc˼}N'a v`` ͑c}ɺu,˼u7NJ˼}#a uJ8Nμ˼u7NJ˼}"auv+˼}'a v``cɺrH 'cɺ (cɺ 'srOHPLJs)˼&aΫ˼`c}ɺcɺs*˼}P7`uvJ`1˼}˼v`I`-)enter RefreshScreenP帺`````)P `,`,`,`,`,˼`c}ɺsH˼}˼`I`-) exit ShowP帺)Enter ScrollUpP帺nm,ϵm'˼'a'˼oJ˼`I`-N  N N N >N IPNc}};H W to write to another file E to exit wit of the selected text. When you type "F", the top line shows the prompt Find: enter target strihout updating R to return to the Editor : Type one of these letters followed by RETURN. Thng Type the string you want to search for and then Accept or Reject. Rejecting aborts the Find command. e RETURN is required so that you get a chance to change your mind before it's too late. If you update  If you Accept immediately after typing "F", the previous target string is used. Lower case letters in the taor write to a file that already exists, the Editor saves the old version of the file by adding a "$" to the end the selection. Type text until you are done, then either Accept or Reject the insertion. If you Accept immedirget string will match any letter in the text, but upper case letters in the target string will only match upperately after typing "A", the most recently inserted or deleted text is inserted. If you Accept, the text you have  case letters in the text. If the target string is found, it becomes the selected text. Note that the target s just typed is displayed at the top of the screen inside of I{ ... } . D D - Delete the selected tetring is shown at the top of the screen inside of F{ ... } . A Find command can be done in the reversxt. If you delete text, it is displayed at the top of the screen inside of D{ ... } . The chare direction (toward the beginning of the file). See the section "Reverse Direction". You can ask the Editoracter which immediately follows the deleted text is selected. E E - Extend the selection Once you have sele to search for a specified number of occurrences of the target string by preceding the command with a numbercted some text, you can extend the selection by moving the pen to another piece of text and then typing "E. See the section "Repeat Count". I I - Insert text before the selection. Type text until you are done, then either   '1 `3 `6 6 2 N0 2 H2 2 +2 3 H3 ]/ '86 2 Nm2 H2 2 ))-rA ))B )) )) 9  +>2 3 H3 / 'ϱ2 (Ϩ3 '1 'e3>Editor.Transcriptda1 1 '4)'Could not create EFkl]^klEditor.Transcript fileP帺1 (*1 `3 `6 1 `3 H`2 K`]0 '.}!Replay: About to press o`b8:JL\^n tabletPͼ}Replay: About to type P *(v'''#c}` BACK SPACE 12KL*\ !} }} LH} } M} }N} }sHN}} ʷ} }N} }N}}s5'''"c} BACK WORD '''!c} BACK LINE ͸`5) Exit SplitP帺]) Enter JoinP帺}}}}}}'}}H}'l}}uN}}'''c}INS ̀'''c}DEL H 'c}} }}}}}HN}}}}uI`5}}}}˼}:) Exit JoRETURN !c} control char c}N` } Replay: About to type next lineP}inP帺ȼ˼}˼#aho(c}ɺ6r}J(˼}`c}ɺc}ɺ6} }}  ,} } } } } `5} Replay: About to execute P'c}Ins 6'c}Help c}N` c}c `]} }N}cɺ;}} 1 }} }}}}} }  command %}PNd =}4 )}PN ' N/  ' N} } }  NszoHNoJNN roJNN/  ' N/ ʹ'9N/ )e Replay: SPACE, CR, LF, INS, DELP帺r'N/ NKT rNHN}}ʷ}}}㰇}}H} :}}ʷsrLHrM}s}rr'93>HelpDir>EditorHelp>Replay.Helpd 4N c Nȼ`c}an'Mm/ +L`c}an}H}}̽c. `` ` ;6 J. ``} `),*** Replay finished, suggest Qu'Mp/ (/ (Nghit-Update *** JP8 N]/ ' 0 `=͉3 5 +3 5 J'2 4 +0 N/ KU2d02c9:.f ur file. You will lose the new version of your file, and the old version will be in the backup file. If you tysection "Direction of Find and Replace". S S - Substitute new text for the selected text. This command is spe control-C before writing the new file or type "E" to exit without updating, your file will remain unchanged regard- imilar to the sequence "Insert, Delete". Type text until you are done, then either Accept or Reject the insertion. If  less of any changes you made with the Editor. R R - Replace occurrences of a character string with another character  you Accept immediately after typing "S", the most recently inserted or deleted text is inserted. If you Accept, th string inside the selected text. Typing "R" causes the prompt Replace: enter target string at the toe text you have just typed is displayed at the top of the screen as the most recently inserted text inside of p of the screen. Type in a string and then Accept or Reject. Note that the target string is displayed inside of  I{ ... } and the text you have just deleted is displayed at the top of the screen inside of  F{ ... } just as though you were using the the Find command. Capital- ization is ignored. If you Acce D{ ... } . After substituting, the character immediately following the deleted text is selected.pt, the prompt Replace: enter replacement string is shown at the top of the screen. Now you can type in th Be careful with this command. It is easy to confuse Substitute with Replace. There is no way to "undo" a Subse new string which will replace occurrences of the target string. If you Accept before typing any characters of titute command because you cannot re-insert the deleted text. Attempting to re-insert the most recently i the replacement string, the previous replacement string is used. This means that to replace with nothing, you nserted or deleted text will merely re-insert the text you just typed in. The deleted text is gone forever. This mmust first type a character and then delete it with the BACK SPACE key. In the absence of a repeat count, all eans that if you type "S" when you means to type "R", you may accidentally delete a large portion of your of its name. This allows you to get the old version back if you decide you made a mistake. You can safely edit the occurrences within the selection are replaced. If a repeat count is typed immediately before the "R", a spe backup file since it has a different name than the new version of the file. While it is never a good idea cified number of occurrences are replaced, starting at the beginning of the selection. See the section "Repeat to type control-C while you're in the Editor, you should not type it while the Editor is writing the new copy of yo Count for Find and Replace". The direction can be changed in the same way as for the Find command. See the  888wjh>editor> POS D.69 c-boot IO_OTHER IO_OthersIC.PASr fcxj\Bv#\NEXTPOINMOVEPOINONPOINTEDRIVENPO.PASQP |6>*   dFILESYSTFileSystem.PASditor>EditorUOFFPOINTMOVEPENCCLEARLINWRITECHAERASECHADELETECHINSERTCHCLEARSCRKEYSTRUCNEXTCHARACCEPT REJECT PROMPT STATUS ERROR WARN .PASFILEDEFS FileDefs.PAS!  /$MEM CREATEEMADD1 SUB1 ADD DETACH ATTACH REATTACHADD1C SUB1C ADDC SUBTRACTLT LE EQ NE Z0a|6&%orU/J@GETTIMESGetTimeStamp.PASZPY  GT GE BOT EOT TEXTPOS SCREENPODRAWTHUMDRAWSCRODRAWLN DRAW UNDERLINONSCREENSHOW SCROLLUPSCROLLDOJOINSCRE {lvlvSYSTEM System.PASf s  EditorU/Err fREFRESHSFIXUP SPLIT JOIN COLLECT COPY REORDER NEWCHUNKNEXTTRANSENDTRANFLUSHTRACHECKREPGETQUOTECTLSHFTCWRITENUMCLEANPAG%%&&;(<(;) <)-+.+--#/$/00 EditorU/Err SCREEN Screen.PAS%%%%ErrtorU r 02 223344 5 5+6,66664777IO_UNIT IO_Unit.PASh>editor>EditorU.PASMEMORY Memory.888editor>EditorU.PASCLOCK Clock.PASwjh>editor>Edito ^  !0066627)8;;rU.PASHELPER Helper.PAS}<%&&;(<(;) <)-+.+--#/$/00%%\PERQ_STRPerq_String.PAS:j\dndm 02 223344 5 5+6,66664777W%A U/ErrH  &% EditorU/E file and have no way of getting it back. V V - Toggle Verify mode. When you type "V", Verify mode is turned on o pressing a command tells how many times it is to be done. For Find and Replace, the number specifies the number of ocr off, depending on whether it was off or on before. When Verify mode is on, a "V" is displayed in the upper, right-currences of the target string that you want to find or replace. This number is displayed in the top, right-hand cornehand corner of the screen. In Verify mode the Replace command gives you the option of replacing, not replacing, or r of the screen after the letter "R" (which stands for "repeat count"). The number of occurrences actually found or replaaborting at each occurrence of the target string. The prompt Replace: INS replaces, doesn't, DEL aboced is displayed in the same corner following the letter "C" (which stands for "count"). This number increments as the Finrts is displayed for each occurrence of the target string. The target string is indicated by a double underld or Replace command executes. Scroll The Scroll Bar -------------- The area to the left of the lefine and by the cursor arrow (if you keep the pen away from the tablet). This double underline is difficult to st-margin line is called the "scroll bar". If you move the pointer into this bar, it changes into an up-pointing arrow at ee, but it's there. You may now Accept the replacement with INS, you may skip over this occurrence by typing the left side and a down-pointing arrow at the right side. If you press down on the pen when the arrow is pointing up, the  the space-bar, or abort the replace command with DEL. Verify mode is turned off after execution of most cline that the pointer is next to is scrolled to the top of the screen. If you press when the arrow is pointing down, the ommands including the Replace command. * * - Select the entire file from beginning to end. INS INS - Repeat the lastop line of the screen is scrolled down to the line that the pointer is next to. Thus if you put the pointer near the top ot command. Typing the INS key at command level repeats the last command. Only certain commands may be repef the screen, by pressing repeatedly, you can scroll slowly through the file. If you put the pointer near the bottom of thated this way, since it is kind of silly to repeat some commands (e.g. "*", "E"). The "A", "D", "F", "I", "R", ane screen, you can move through the file in large jumps of pages. If you put the pointer near the middle of the screen, d "S" commands may be repeated this way. HELP HELP - Get explanations Type the HELP key or DEL HELP to get explanyou can move through the file in half-page jumps. Thumb The Thumb Bar ------------- The top-margin lineations of the editor commands. digits Repeat Count ------------ Typing a 1- to 4-digit number before is called the "thumb bar". When you move the pointer to this line, it changes into a circle. Think of the thumb bar as   }ɺ a $ccc}ɺN<m<'˼c}ɺ a !ccc}ɺN͔}N߭τc cc}ɺ˼˼#aNc˼ccc}ɺ˼˼#aN ) l  m>'Ϥ}N߭ c˼'a   *e H ccc}c˼}N` 'c ' }cc˼}N` 'c ' }ɺ a  8ccc}ɺc˼'a ̏ͱc˼}N߭ c˼c}} '}} (}  * n'  L, Km>'Ϗc&a   *e H ccc}ɺa  8ccc}ɺc˼&a ̏c˼N`p*S 'Nc˼'ao ' c H  p+ΰcp` ' N]N˼}'aNu 'c}u 'NNc}u 'c}u 'N]N} }cc˼N`p*qc 'Jc '˼&a! Hp*  H cN߭ } ' }} ( N}"}'˼}'a NqΒ}}1]˼}a }} H  p+ΒcpI` ' c˼`c}˼˼} a cn'  L ɺN} ' }`˼}'aN}}1NN} }N߭ } ' }} ( c]uN c}} xN} uN NuN c}} xN} uN N}}}N}}'NrΥ˼}˼"aN}}}}1]}}ɺa}}ɺa}}1N㭼˼}'a׼˼}'a}ɺ NN}}1]}}N ˼}&a  }}}]˼}a}}ɺa˼}&aNN}}ɺ] c˼N` mm>'c˼DOT D WRITECH DRAWUNDEADVANCE F FULLSEGMEXITTRANREPLAYPRCONTROLRACCEPT REJECT PROMPT STATUS ERROR WARN NN}}1]}}}N }}}1}}}N }}}1N˼}MEM CREATEEMADD1 SUB1 ADD DETACH ATTACH REATTACHADD1C SUB1C ADDC SUBTRACTLT LE EQ NE }ɺ a˼}&a }}}N}}}ɺ*}}}ɺa}}}ɺN]}}EDITORKEsys:user>wjh>editor>editork.PASB8A# l ^T]jj%* `||  cɺaNȼ}}cɺaNc˼N`N ϥm>'c˼}N߭{m>'˼c Keys Special Characters ------------------ Action Character Alternate ------ -e tablet when the pointer is an up-and-left-pointing arrow. If you move the pointer until it points at some character a-------- --------- End-of-line RETURN control-M,control-J nd then press down, the character is "selected" by underlining it. If you press twice in the same place, a word is selecte -or- control-M,LF Erase character BACK SPACE control-H Erase word control-BACK SPACE controd by underlining the entire word. If you press three times, the entire line is selected. You cannot move the pen betwa linear representation of your file. The left end of the bar represents the beginning of your file. Special characters arl-W Erase line control-OOPS control-U Accept INS control-Y Reject e used to represent other interesting parts of your file. ^K - Represents the end of the file. S - Represents  DEL control-N Quote control-" -none- Since these special keys are pre-de the position of the beginning of the selection. ( - Represents the position of the beginning of fined, in order to insert them into your file you must type control-" (the Editor quote character) followed by the sthe displayed text. ) - Represents the position of the end of the displayed text. The thupecial key. When you type control-", the insert cursor changes from "_" to "^@" to indicate you typed the quote charactermb bar is used to rapidly move around in your file, but it is not very precise. When you put the pointer on the thumb bar . Pointer Pointer The PERQ text Editor is a "point, act" Editor. This means that to perform an editing action, you and press down, the portion of the file represented by that portion of the bar is displayed on the screen. When you press afirst "point" to a piece of text in the file and then perform some action on it. Pointing is done with the tablet. Yout the left end of the bar the beginning of the file is shown, when you press the "^K" the end of the file is shown, and wher PERQ probably has a Summagraphics BitPad tablet. When you move the pen on the tablet, the pointer (cursor) moves to fn you press the "S" the beginning of the selection is shown. The thumb bar can also be used to extend the selection. ollow the pen. The pointer changes shape depending on where it is on the screen. It may be a up-and-left pointing arrow,  When you type "E" while in the thumb bar, the selection is extended to the position in the file which is represented by an up-pointing arrow, a down-pointing arrow, or a circle. These different shapes indicate that different things will happe that particular portion of the thumb bar. This is usually only useful for extending to the beginning or end of the file. n when you press down. Pointing at text (also called selecting text) is done by pressing the pen down on th m>'˼a ccɺ (m<'˼a ccɺ V˼a ccɺ >' n>'cɺ˼˼$a˼˼ a"  c˼˼a ccɺ  ) m>'z˼'a   *T H cc ˼˼N`.mRnN`N` )nN`N` bɺ bɺbɺbɺdɺa  +ccɺ˼'a ̠͇c˼˼&a   *T H v~|zxvtrpnljhfdb`^ccɺa  +ccɺ˼&a ̠cNcɺm>'< ˼`7`\ZXVTRPNLJHFDB@><:86420.,*(&$"   /aa˼˼ a(}c}˼}˼N`. cɺ˼˼N`.˼˼~|zxvtrpnljhfdb&^ a,cɺ˼˼N`.A˼`7`/a˼˼N`.˼\ZXVTRPNLJH:DN@><:86420.,*(&$"  N`N]  )`7`0˼cc)? ˼`7`/ag˼˼$a.}c}c}ɺ˼˼}   *! H m`7`%`1`7`%`2 ˼c}c})n';n,n7) `7`n`1#N`. cɺ˼˼N`.˼˼ a,cɺ˼˼N`.A  ˼`7`0m ˼c}c})n7'>n+n7*`7`7nJ`2#  ˼`7`0 d˼`7`/a˼˼N`.˼`7`0˼cc)`,*OJPN]  %) ˼˼$a˼˼ a" ˼˼N`~|zxvtrpljhfdb`^\ZXVTPNLJHFDB@><:86420a,*(&$"  .cɺm[ N`N` ͹ N`͝ N`́ N`rdCwlhfdb`^\'˼&a˼'a ˼cc)*7,8NOJPN]`*`c ZVTRPNLJHFD@><:86420.,](&$"  I N`]c˼N`R ` 09DX]m'()Repeat count too largeP\`*mH` c  n KH0JmH ̖n   *, H cc}a  țc ) m B BY BY BYX >N<N   PN N`o`X c  o  09DXao H o Jo KH o KJ  t" to a piece of text in the file and then perform some action on it. Pointing is done with the tablet. Your PERQ prIn order to make the selection smaller, you must start over by selecting a character, word, or line with the tablet. Aobably has a Summagraphics BitPad tablet. When you move the pen on the tablet, the pointer (cursor) moves to follow the fter selecting text, you can perform some action on it. You can insert before or after the selected text, delete the sele pen. The pointer changes shape depending on where it is on the screen. It may be a up-and-left pointing arrow, an up-poincted text, search for a character string starting at the beginning of the selection, or any of the other Editor actions. Theting arrow, a down-pointing arrow, or a circle. These different shapes indicate that different things will happen when you  top line of the screen shows the command prompt, error messages, and prompts within commands. Most Editor commands r press down. Pointing at text (also called selecting text) is done by pressing the pen down on the tablet equire termination by either Accepting or Rejecting the action. Acceptance is signalled by typing the INS key. Rejectionwhen the pointer is an up-and-left-pointing arrow. If you move the pointer until it points at some character and then pre is signalled by typing the DEL key. When typing text to the Editor, BACK SPACE deletes the most recently typed ceen presses if you want to select a word or line. Another way to select an entire line is to move the pointer until it poiss down, the character is "selected" by underlining it. If you press twice in the same place, a word is selected by underlnts at the left margin line. One press here selects the entire line. Introduction Introduction ------------ ining the entire word. If you press three times, the entire line is selected. You cannot move the pen between presse It is probably a good idea to sit down at a PERQ and try out the Editor as you are reading. A good file to edit when s if you want to select a word or line. Another way to select an entire line is to move the pointer until it points at the  you are first trying out the Editor is the Editor's help file. This way you can read the help file while you are editing. left margin line. One press here selects the entire line. Once you have selected some text, you can extend the selectYou should copy it to a scratch file so that you won't have to worry about accidentally changing it. Do this with the systion by moving the pen to another piece of text and then typing "E". The selection is extended to a character, word, or em "Copy" command: Copy Editor.Help Scratch.File Now ask the Editor to edit this new scratch file: Edit Scratline boundary, depending on the type of your last selection. Commands that change the selection (other than Extend) setch.File The PERQ text Editor is a "point, act" Editor. This means that to perform an editing action, you first "poin the type to character. Unfortunately, you can make the selection larger with Extend, but you cannot make it smaller.  b`^\ZXV) PNL]m N͒)Go to. Enter characterJP``.PASQP |6* sdFILESYSTFileSystem.PASditor>editork  '''\NnNnNN >'˼˼$a˼˼.PASB8A# l ^T]jj%* `||FILEDEFS FileDefs.PAS!  /$ ac˼N`c˼N` cN߭ ˼˼%a} X0a|6>'%ork J@GETTIMESGetTimeStamp.PASd ZPY      dh~|zxH   +˼˼%aΖ˼˼$a˼˼ ac˼N`cvtrpnljhfdb`^\ZXVTRPmLJHFDB@><:8e[20.;A(&$" -  ˼N` cN߭ ˼˼!a} H   +˼˼!a%~|zxnNNn' ,ϓ ˼˼N`.}n'  '  J ccvtrpnljhfdb`^\ZXVTRPNLJHFD"@><:86420.,*(&$"   BSBYɺ N`˼cc)Nc c   J |JprsBYBBYbBYOBYoBYNBYnBYX N5 BBYBYBY BYBYBYTBYtBYX Np*p , `o`S X IJ c  pPN*aaNao (\} o *o ,  qS˼`7`  JLtv0˼`7L`0˼}˼`I`-˼˼`I`-`7`%`1͸o '˼`7`0o fhV   '1˼`c˼˼`I`-͌o '˼`7L`0mo '`7`%`1Vou'˼}˼  zI c   J |Jpr`I`-5o '˼˼`I`-NoPNd s S X IJiL.~|zxvtrpn^jhfdEDITOR Editor.PASP Psys:user>wjh>editor> POS D.65 b-boot IO_OTHER IO_Others dicated by a "^J" in the left margin--this is the beginning-of-text marker. When the last character of the file is showing#aEc '-J```` Ncc 'L N˼˼"a on the screen, it is followed by a "^K"--this is the end-of-text marker. You may select this character, but try as you ccHH N`H '''y˼˼#a]cmay, you cannot delete it. J '#c ' Jc+````k '''\N˼˼"aNWc (F ',+c ' J cN cNm Jmw˼˼#aϑcJ˼˼#aX]cJ˼˼"aX ̼˼˼#acH* `` `` '''ς'c˼EDITOR sys:user>wjh>Editor>Editor.PAS9 >JcJ 'c (c '* `` ``O '  c4c 'N` N`HO,(`` cJ``{˼˼ #aO*[cN`` N`H˼˼"aO'ΰ````Wharacter, control-BACK SPACE deletes the most recently typed word, and control-OOPS deletes the most recently typed line up to and including the carriage return. The RETURN key (carriage return) is used to mark the end of each line in your f)0 0 af`(` c Reading Help File: EditorK.Index` c3y!>HelpDir>EditorHelp>EditorK.Indile. The Editor does automatic indenting for you by supplying leading blanks on the new line to match those on the previouexd 4ȊN'''N]N'''N]c˼}N` 's line. You may BACK SPACE over them or type more. When the first line of text is showing on the screen, it is inc ' }c˼} 'c ' }cȊ  ' ' '^˼˼ ISWDSTARISWDEND FWDWDSTABCKWDENDFWDWDENDBCKWDSTAPREVWORDPREVLETSPREVPRINPICKWORDISLNEND FWDLNENDFWDLNSTABCKLNENDPREVLINEPICKLINElp for help` c \]mc cH Setsearch is used to modify the search paths of the current user` cREFOCUS COUNTUNIGATHERNU ,=~ /rk  ||6 )WRITER WRITER.PASfX c c> Usage: SetSearch [{directory_name,}] [{-}] [switches] ` c c cB directory_naHELPLEERfD\STREAM STREAM.PAS65.Runr>ediddndm me: is a valid directory name which will be` c cB added to the top of the search list. W%Ad PICKUNITCHARMOVESCROLLCMKEYTHUMBGOTOCHARISLNSTARBCKLNSTALFOFCRLFCROFCRLFBACKCHARPICKCHAR ` c c cC "-": specifies that the current top item of the search ` c cC ISWDSTARISWDEND FWDWDSTABCKWDENDFWDWDENDBCKWDSTAPREVWORDPREVLETSPREVPRINPICKWORDISLNEND FWDLNENDFWDLNSTABCKLNENDPREVLINEPICKLINE list is to be deleted. ` c c cD If you opt not to enter a directory naSETSEARC SETSEARCH.PASows use of default fileSHR *SCAVENGER Run the disk  me or "-", you will` c cG be prompted for a [single] dirname or "-". A CR in response` c cvlvlvxEDITORUT EditorU.PAS#\Jan   editork ff editork itorSYSTEM System.PAS%%%%editork N HK p)  PERQ_STRPerq_String.PAS#\( PASCAL.RUN|6 )!CMDPARSE CmdParse.PAS com editork ~ ddF<  J K%%a% 3NJ34;INnHn+N3nHNJ34NonNnHn,N3nNJ3dndn  ,=~ /rk  ||6 )WRITER WRITER.PASfX4Non,n]c mn)Ϥm'cHead: ` /m'c,Tail: ` c ` [cHELPLEERfD\STREAM STREAM.PAS65.Runr>ediddndm  cm`` c] = "` 3mNJ3cc` "c c mHmn)\c ]c **ERROR: ` cc}` cW%Ad PICKUNITCHARMOVESCROLLCMKEYTHUMBGOTOCHARISLNSTARBCKLNSTALFOFCRLFCROFCRLFBACKCHARPICKCHAR \]} R4ςc7**ERROR: Input Directories must be separated by commas.` c c Type SetSearch/he "a aaǼan˼}˼}8˼˼"a}}+}˼I`}ȼ˼}˼!a˼˼}!a}˼}˼!a˼˼}!a}]˼˼c6cc`,mccɺccɺ d]N˼˼"a()n"aύ˼˼"a=)no text in I and D buffersPNN4o pattern in F bufferPA˼˼a*!)pattern too longPNȼ˼˼aH `,`,n)Insert: copying last insertionPcc7˼˼9c6np) nNߊ nHnp)c˼N` mJ NmN߭ HNm˼˼]c˼7NJN` 'cHc]˼I`7NJc7NJ"aNcoΨcȼ˼˼aH np) nNߊ InHnp)c˼N` ImH H8NHH7,J8N```1 `7``27NJPN,M NNmN߭ HNm˼˼"aNcoΨcȊ >'  ]˼ J`c}N˼"ac6cc7cJ̫``')PNc˼``c˼N`c˼}N`c˼}˼}˼$aN N߭m,˼}m`c}c``c˼7NJc 'c (cJ7L*˼&a ```2J˼N˼˼"aNHcc'+N߭ NH(Nq(8NH`7``17NJJPN````]  ' ' 'p˼˼#aWcΒq'E N߭˼˼aJm,˼}m`c}c}q(q'}c '?'&JPN```` Ncc 'l> N˼˼c˼ J`c}Nc˼N`c˼}N`c˼}˼}˼ aN "ac6cc7cHPN/ (N`? N`HPN< ''' N߭m*˼}m`c}c˼N˼˼"aNHcc'+w˼˼#a[c'% 'c (c&JPN````ͨ N߭ NH(Nq(Βq'F N߭˼˼aHmI*˼}m`c}c}q(q''''N˼˼"aNVc (+ ',c (NNNN aa c˼N`c˼N```N˼˼}cc]Nr cc\  >' ` c c cD Entering a CR by itself will terminate the SetSearch command` c c ͂ c cc= which contains the shell program. Without the Shell,` c cC you will not be able to run any uF If the last item is popped from the search list, some critical` c c H system utilities such as the tilities or user programs.` c c c@ If you leave SetSearch with the current search list, you` cshell will not be available to you.` c c cD If you answer no to the following question, the last item o c; will probably have to reboot. Adding sys:boot> or ` c cA sys:"your boot partition name"> tn` c cF the search list will not be popped as requested, and setsearch` c c/ will conto the list will probably` c c( enable you to access the shell. ` c c c= If you answinue with any remaining input.` c c cB If you answer yes to the following question, the last item` er no to the following question, you will ` c cB continue in SetSearch and have a chance to add directoriesc c D will be popped from the search list. Critical functions will` c c, not run. A reboot` c c@ to your search list. If the Shell still can not be found` c c@ when you try to l will be necessary.` c c c cB Some of the system utilites (such as the linker) fill the ` ceave SetSearch after adding directories` c cB you will get the warning message again and get an infinite` c C first item of the search list temporarily. If you fill the` c c1 first item, these uti c cB number of chances to modify the search list and insert the` c c@ directory which clities will not run.` c c cB@ If you answer no to the following question, execution of` c contains the shell. (Just keep answering` c c. NO when the warning message comes up).` c c c. to the prompt will exit the program` c c c= Note: The CURRENT directory is always searched % Setsearch will continue, but ` Zc` c will not be` c c3 added as the first itemfirst.` c c c(( The only valid Switch is: /HELP ` c c  c c> Entering a  of the search list.` c c c`5 If you answer yes to the following question, ` Zc` c cdirectory name followed by a CR will add a ` c c- directory to your current search list` c c ? will be added as the first item of the search list, and` c c9 SetSearch will continue with any cA Entering a "-" will remove the top item (lowest numbered)` c c$ from the current search listremaining input.` c c c c> The current search list does not include the directory` c   cɺ`,`,cc7cc7*cc7aNV˼˼"a˼neplace: INS replaces, doesn't, DEL abortsP aa ' c ۼaNa\  'N`o`3˼˼`I`-V+˼`7`/a˼cc)]˼`7`0NV˼'a -˼˼I`c˼`c ˼c}c})͡˼˼%a˼˼!aN˼˼' JPNnΆX˼˼#ak˼˼#aX1cX'c}c})˼I`c˼'ac˼`cc6c6cc7˼ JPN̫X c``m '''I ' c.c˼8˼˼˼Nccɺ*`,`,`,˼m`n`3N`HPNP'PN)P``]8NPNnPN)Pm`n`˼`7`/a˼cc)])Find: enter target stringP`aNVV  a >'(c˼N`cc7cc7'$7NJ'N˼˼"a˼`c˼I`c%˼`c˼I`c N)FindingP '   'c6cc7 aaβ˼˼"aNNKaCm8NnPNNj ˼˼"aNG H )P >'˼`c˼I`cs΁˼˼I`cc6`,cc6c6Ȝ``mA'_˼'a9˼'a #a}}ccɺN`,*˼`7`0˼˼"a.˼}c˼`c˼`c˼I`c˼`7J`0˼c}c})n`o`nH`˼}N`.˼˼N`.˼`7`/a˼cc))pattern not foundP])Rep7``2˼˼n7NJnH`o`-c6mA'3)!Append: INS accepts, DEL rejectsPmmI'3)!Inserlace: enter target stringP`NaNVVd a\)"Replace: enter replacement stringP`˼t: INS accepts, DEL rejectsP3)%Substitute: INS accepts, DEL rejectsPn`o`WNN ˼"aNaNȺmό˼˼"a˼I`c NNacc75aa mS'˼'a ˼˼8˼'ac˼  )p ReplacingP )FindingP)P NN˼˼"aNͨ˼"a˼`c˼`cc6˼˼˼Nc H  ˼`7`0˼˼N`.˼cc)- ( Ɋ+ `* `N- ``)3R  to run the shell (and will` c c! probably have to reboot).` c c d 683]N}a!!'?c)**ERROR: Search list is empty, cannot pop` c !'N # cC*WARNIN #N}}}R4Ocy2**Error: No arguments may be specified to switches` c N\}}G: It is dangerous to pop the last item from the search list` c bN`))Are you sure this is what you want c} }c^Ɋ`atp`NuNkNac **ERROR: ` cc}` c is not a valid Swito do?P`\ca$\`aN0$'3!NJ3d3!NJ3doZR4ba!!'Actch.` c N d}}}N}R3N'} }-R4} } ***ERROR: Sorry, no room on search list. **` c !'N # cC*WARNING: It is dange}vJ`` JPc} } .DR3}vJ`` }}>(}>N` }3}rous to fill the first item of the search list` c bN`))Are you sure this is what you want to do?P`dc}c}ar'Jc **ERROR: ` }c` c not found` c }N}}N}}\ca$\`aN/$'3!NJ3Zd3!NJ3Zd帉#(Z Zc ZZ﷛c```` c```` ) SetSearch 1.3 J type /ZR3Ϻ%Shell. Jd%%.Run Jd3Help for help JP,帛^NJ)HELPP帛^NJ)ConfirmP帛^NJ) NoConfirmP%dc"c"a ',N c * WARNING: ` cc%` c cannot be found with the` c cNNNNcc.aN ( (Ec-**ERROR: Illegal character(s) after Setsearch` , current path and search lists!!` c bN`).)Are you sure this is what you want to do?Pc \ZcɛXcɛ\cc,aN// ,Xɺ\`aN// \Zcc/ɺaN#/ \`\ca$\`aN$'Z DON"T EXITcN## !Z N ZZ﷉# ZR4N# # Vc%&Name to push, "-" to pop, CR to exit: ` c0c`` c 0ZcɛZR3π#YZZ\Xcɛ\cc,aN// ,\`aN//ϦXR4GN/c***Error: No output files may be).* * WARNING: ` cc%` c cannot be found with the` c cC If you answer yes to the following question, you will leave` c cA SetSearch and will not be able  specified.` c QZR4=Zcc/ɺaNNZ NNN//ϪZ-R3b! N˼}˼"a˼}`}{c˼}N`c '˼&ac (cd , N-  _N!,- +Ϡ˼˼N`.* WJ '˼&aδ˼`}c ]``c(ccɺNc˼N` ? 3(('' ˼˼N`.`,*/) Pointer off screeX'cX ˼`cc˼X(cX ˼I`ccn, can't selectPL`7``1=`7``2.cɺ˼`7L`0d N8NccɺNȊ``c(c˼N` 'c (cN 'c 'Nm !PN" ccc}` c}/}castarting offset = ` co`` c}/} N3}/}4ʷ}1}/cc˼'aNcmκcccɺNȊI*1) Pointer off screen, can't extendPXhunk=` ck1`` ,cck2`` }1}4c next=` ck1`` ,cck2`` }1}4c %a˼˼!a˼˼%a˼˼!a˼˼"ao I' c}ɺ'*``c}(``c}(˼}˼ a}}N3˼}˼$a}˼˼"ao c6c6˼˼8o}NNs(ϸc˼N`c 'c (c '˼`ccc7=˼˼9cc7cc7 >',˼˼"aNc˼ 'c (cN 'c 'Nt !˼'aNctκ ˼q`r`3˼˼$a NW J  ˼˼N`. >'cd  ccɺs'Pcc}ɺ˼˼}N`.˼`7`/a˼cc)˼`c˼I`cp)ReplacedP ,϶NZccɺ`, lnWc˼N`Mc}cɺ˼}˼N`.˼`7`/a˼cc)`,*]˼`7`/a<˼cXc˼ a cc c˼˼`I`-˼I`I`0˼`7`/a˼ccY)Y(YPN)P IPN]N/ '))P.) Replay: SPACE, CR, LF, INS, DELP) (  (a)pattern not foundP])˼`}Z ' }D ' }.NJ* N, q+) N, N, M) N, N, *' N,  ' } ' } + } K}}}}q*}}}}}N, N, , - (v, _ Ɋ+ `* `] Ɋ# `" `J Ɋ) `( `7 Ɋ' `& `$ Ɋ% `$ `!  \READER READER.PAS(+ ,""\ ɛyc````ccy`ccyc0``c0y%N`am'y$N`am]$]$  COM setsSETSEARCFINDHOLEFINDITEMPRINTSEAERROR CHECKFORPRINTHELHANDLESWHANDLEINPERQ_STRPERQ_St(.c@cy`c@cyc0``c0c ɺc c ````c````(&P帼(, current path and search lists!!` c bN`).)Are you sure this is what you want to do?Pring.PASew(  "C89>j $ `STREAM STREAM.PAS l `\ca$\`aN$'Z DON"T EXITcN## !Z N ZZ﷉# ZR4HELPGEN sys:user>wjh>editor>Helpgen.PASR FILEUTIL FileUtils.PASASp"\\exp>3 She.SCREENSIZE Set the size of the screen.FILESYSTFileSyste m.PASBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptFILEDEFS FileDefs.PAS9STATISTICS +  | - Turn printing of statistics on or off. sys:exp>$ GETTIMESGetTimeStamp.PASurn swapping on or off. Part is the partition for swapping. +TYPE File POPCMDPAPopCmdParse.PAS File.oslbX$$ c}+c}aN*&cɜ$cɜ"cc}a cc}`c\R.HelpP帜" \"EBeBYXJ  Psys:part3> CMDPARSE CmdParse.PAS p-boot Pascal.Run "P帛.(2.JP&RR34c Input file: `&c`` POPUP PopUp.PASamp.PAS  bX$$c$R4P$PJ&>N` a)P&`k)`JPP,PP SYSTEM System.PAS2 11:42:37 >4406 Jan 82 11:42:PERQ_STRPERQ_St>(cP>N`]Noυy'}}ʷ}-y 'N}}ʷ}cy`}o60^^c ring.PASew(  "C89>j $ `STREAM STREAM.PAS l Ncyc0``c0w]cy N`y N`ayy`mJ`JpPsys:part3> POS D.5 p-boot PaWRITER WRITER.PASQP$x`"w+'y.N`am'0yyJyPyJc" B.BY+BYX >N <N NU`` c2 N `6` Vc#^*-0d`\ZLdvRD'F$6><:86420.,*(&$"     c# a]} c}N(NS}) P0)]})}) *(E ~|zxvtrp0 J JP͑c}) N` c}) N` c})N` c})N` })})nljhfdb^\ZXVTRPNLJHD@><:86420.,*(&$"j PLkVkTABIBYSBY00J`` J JPYa}creating new file: 0DBYFBYRBYX>kTABIBYSBYDBYFBYRBYGBYX NUkRNSkTABIBYSBYDBYFBYQBYRBYTBYBBYXBY*BY BYBYX  JP)}PNYNN# a  &N'kSNRkUN NWN>N kT*(N N kTABIBYSBYDBYXNZkTSBDBYFBY*BYXNNS"N`*aRNWkRazDXkRHNT kRNTkTABDBYEBYFBYIBYQBYRBYSBYVBY*BYCBYWBY;BYLBYPBYGBYMBY BY BYBYBYN >N N c8NPN``c````c````c````cBY BYBYBYBYBYBYBYBYBY BYBYTBYBBYNBYXBYBY!BYXϨ/ (N`?/ '\NV```` 0Editor  2.0 J]8\9Z608N`kTz`` 14DXcDebug 1 ` / N//con` coff` ͡cDebug 2 `S*X)TZprev=` ck1`` ,cck2`` c' cpage=` }4c`` c first=` }4c`` c length . N..con` coff` [cDebug 3 ` - N--con` coff` $=` }4c`` c order=` }4c`` ,c}4c`` c}/}4k3tcending offset = d14 e c KkTN`>9!4/N%  N N kRN` kWN`  ` cr`` c ]˼˼) ** Select **P帺%˼˼)` ** Filled **P帺%˼˼N N` ` c *ͶkRN`  >N ͗kRN` ͉ acɺ˼`) ** Empty **P帺%4]`*`cR ` #m'))repeat count too largeP\'`*mH`c7`0˼cc)*7,8NOJPN-˼`c`,*˼˼N`.n KH0JmH# a09DX Γn  09D>BY.BY+BYB.BY+BYd@*(E Jo~|nxvtrp"  {lvlvHELPGEN GETARGS PUTBODY DOSECTIO POS D.65 b-boot PERQ_STRPerq_Strid, `cc1 you will be prompted for a filelist `ccc# ALL switches are ng.PASQP |6* dWRITER WRITER.PASljnglobal`cc# The valid switches are:`cފn)Dc `NJ)c ##\CAL X aSTREAM STREAM.PAS!  /$c`cHމn)м\Z cc= You are about to delete a valid boot file. The boot `cc= X0a|6>'% J@READER READER.PASDDDZPY  that uses this file will not work if you delete this `cc= file. Additionally, when the boot file iFILEDELEsys:user>emc>delete>delete.PAS s deleted, `cc= the entry in the system boot file corresponding to `cc" this boot.N`aQQ(,((`QJ`JP(P(.In dexJJPc@ɜ(c````cc(`c& Ͼ&.N`a'?& &.ParasJPc0ɜ&````cyc0``c0c@ɺ0^^c  &&8c@&(`(&P帼(mcc< Delete is used to remove files from the file system.`cc: A file specificatioCMDPARSE CmdParse.PASP Psys:user>wjh>editor> POS D.65 b-boot PERQ_STRPerq_Strin given may contain wild cards.`cc 8 All files that match the source will be deleted.`cccng.PASQP |6* dWRITER WRITER.PASljn? For a description of the wild cards; see Directory/Help`ccc' Command line is of the ##\CAL X aSTREAM STREAM.PAS!  /$ form:`cc/ Delete {/Global Switch} `cccE where filelist is:X0a|6>'% J@READER READER.PASDDDZPY `cc/ filename, filename, filename, ...`ccc& If no files are specifie# 6#8#$$$$%%E&F&(tor/Err STREAM STREAM.PAS%Cc edcom6;6;C} 6(6)8),..//,../0.-/050Z;lEDITOR EDIT HELPTHEUACCEPT REJECT CHECKCRLGATHERLIG ECHOCHARGOODPATTFINDSETUFINDFSETFINDRSETFINDTEXTFINDFORWFINDIO_OTHER IO_Others.PASP Psys:user>wjh>Editor> POS D.69 c-boot FILESYSTFileSysteREVECTLC ADVANCEPINSERT INSERTOLINSERTNEECHOCHARCOUNTLEANEXTLINEPREVLINEDELETE FIND REPLACE SETUP THUMB CHARSELEWORDm.PASditor>Editor.PASFILEDEFS FileDefs.PAS\SELELINESELEEXTEND SETATCOLTRACKPOIPRINTCHUPRINTLISCOMMANDPGATHERNUHELPKEY  *#v#"#\v#\PASCAL(( GETTIMESGetTimeStamp.PAS(v*  ) tor/Err STREAM STREAM.PAS%Cc edcom6;6;C} 6|62( 2 '(EDITORIN EditorI.PAS(a.K {'^T ]5 FLOPPYS FLOPPY.PASS.PASSr { {l {evl wEDITORUT EditorU.PAS#\eA  Editor/Err ?f?  Editor/Err rSYSTEM System.PAS%%%%Errtor r2  EDITORTE EditorT.PAS(( ; PASCAL.RUN|6 0K)Be !CEDITORKE EditorK.PAScom Editor/Err C~&(J@ ** * *JPERQ_STRPerq_String.PAS%a%(I) is not unique. Type HELP if you need it.P帛 * does not exist. Type HELP if you need it.P帛rTndnC  ,=~ / ||6 0)SCREEN Screen.PAS*}FLOPPY V3.1 J Type HELP if you need it. JPN=OPT d S   f     p %%4\HELPER Helper.PASjh>Editor>Editor.PASRr JHTWRITER WRITER.PASH*  *#v#"#\# c5 no or CR if you do not want this file delted.`cc'cc< Delete is used to remnames of`cc? the files (specifying wild card characters if you wish)`cc> you may lisove files from the file system.`cc,: A file specification given may contain wild cards.`cct files names to be deleted. (Separate them`cc with commas.)`ccd ;2]m8 All files that match the source will be deleted.`ccc? For a description of the wild cards;  ``N`N`#N`n``N`]#``c7`#N#dc}}see Directory/Help`ccc,' Command line is of the form:`cc/ Delete {/Glo>N` ap(#}`p`JdP}}pH`}pJ`JdP3bal Switch} `ccc} where filelist is:`cc/ filename, filename#dc}c}aq'Kc ** Directory `#c`c not found.`c\}B``c7`}BN, filename, ...`ccc)& If no files are specified, `cc*1 you will be pr}B}dP}Bc}4c}AaN3k3ac* `cc}`c- This directory is not empty - Can Not Delete`ompted for a filelist `ccco# ALL switches are global`cc# The valid swic\}D}E}kDJ``JPc}E }E*.DR3c}kDJ``c}>N`}3>c&*tches are:`cފn)Dc `NJ)cc`cHމn)мcc= I Attempt to delete current directory.`c\]]Nr Xc}** `cc}`cc type Delete /He will be deleted.`ccc= If you answer no to the following question, this file`cc f you press a mouse button, all of the files in the `cc= current directory, or the current wild card selec will not be deleted.`ccc> If you answer yes to the following question, this file`cction`cc= will be displayed in a PopUp menu on the screen. You`cc? can select the fi will be deleted`cccc`? Could not delete the file even though it could be foundles you want to delete by pointing and`cc9 pressing at the file names you wish to select for`cc`cc? on the file system. If you can repeat this situation, `cc0 please fill out a sof9 deletion. Pressing a second time will "unselect"`cc the file.`ccc}= tware report form. `cccc? Answer yes if you want this file to be deleted. Answer`c If the file you wish to delete is not in the current `cc; directory, or if you would rather type the $ ccca cc`cU      X0a.&44@4?#\FLOPPYDEFloppyDefs.PASD3f3ZPYC YPNLNKNJNINHNGNFNENDNC,N.DPP2\ͳ͕ͭͧ͛͡͏͉c** `cc=`cc `cPwPNPN2N1]@t FLOPPY CMDcJ GETcUc** `cc=`ccI`c!=/= JPfJ tPUTcJ uCOMPAREcJ COMPRESScJ DELETEcJ  DIRECTO=f JP)fPͧc** Illegal character found.`cvc** `cc=RYcJ yHELPcJ RENAMEcJ TYPEc J ZEROc J  DUPLICA`cc `cAd"&*d26:>BFJXgkosw@y}[ cc\TEc J  FLOPPYGETc J  FLOPPYPUTc J FORMATcJ DENSITYcH(cccc b)FLOPPYPcfc=ccc@N`a+)GJ FASTcJ SAFEcJ kCONFIRMcJ  NOCONFIRMcJ ASKfcccca cc`c;8K ocJ NOASKcJ VERIFYcJ NOVERIFYcJ QUITc@tp7P)fPͧc** Illegal character found.`cvc** `cc=cJ ASKcJ NOASKcJ VERIFYcJ NOVERIFYcJ HELP`cc `cAd"&*d26:>BFJXgkosw@y}[ cc\cJ CONFIRMcJ  NOCONFIRMcJ  DBLDENSITYc J  SINGLESIDEDcH(cccc b)FLOPPYPcfc=ccc@N`a+)G J RTESTc J SHORTc J LONGc J NODELETEcJ NOWAITcNPOPCMDPAPopCmdParse.PASPSys:user>dcf>exp> POS D.65 b-boot CMDPARSE CmdParse.r c^C`c c c````c``````c``cPASQP|6.>* dPOPUP PopUp.PAS0Jc` NfP)rPc=ccaH( N+)9c#\\CAL X aFLOPPYUTFloppyUtils.PAS! (/$$ c** `cc}1`c is not a valid switch`ck/'\N dqͳ}R42 Jc a9 9 fcN'}*dc7}`pq) }ppJNNpHpq)c 2** Arguments to delete must be separated by commas`cN``}=c```};c`}B}dc}Bc}v aN}cd`d`cN``c`@@af3 Delete.Cursordc}c}am(o' m``AkA 7cp** Bad file name: `cc}`c\ kv NJ u}6Nku'}6N }6N}9}6};]N`N`c* Aborting delete of `c`c! c````c````a*}9};}9}=};N` }?k4` ʷxN8mlk8 kx*'}= kxN}? N8kxHxBk8 kx*N9N5N4N3N:N2帜wP帜``c4`)Delete V'}=>kxN}? N8kxHx d k8Ϲc* `cc}`c# is a valid Boot File correspon2.4Jc Type /Help for helpJPNJ)(CONFIRM ask before deleting a ding`cc to letter `kxHc.ccbN`)&Are you SURE you want tfile.P帜NJ)-NOCONFIRM don't ask before deleting files.P帜NJ)cHELP print this message.Po delete this? P`ca5cɜN`)P`aNAkA ΅k5'=c* Aborting delete of `cc}nabcdefghijklmnopqrstuvwxyzP帼ccaNvv (v (8c!** Illegal character after Delete`c`c\3k5',c* No switches now please`c}= kxN}=>kxN}9}=};N` ]}3\cɜcɜccwaNcɜɊN`)wP`aNɺ aN9  cFilelis** Unable to delete }JP}3}3 . Continue? JPbt to delete`9 /N`N`c and/or press for Menu`c: `cɺ aN33N`N`9 N`)}3P`ca3cɜN`)P`aN`` Ϋ3'\\] N]3}dc}^N`N`cɜcɜccwaNcɜɊN`)wP`aNR3Nc}^a_k_(#k_`' 3}d5ϰbN`) }J  baN;;3 4 9 N54 ;3 N5; Ͽa N`lp for help`c\} B}1}}R4Vce=** There are no valid arguments to any of the valid JP`ca3cɜN`)P`aN`k` [k3'\k_(.' switches.`cN}}c}1 }1cɊ`a͈N5N4̈́N5N4sk/`Nf'`3}dk_`;5 5  ccc}`c3}d]}R3NNȼc% efs.PASomf7cxJ;B#\GETTIMESGetTimeStamp.PAS |2Ja| |6. )JSTREAM Stream.PASPASSSS2(%X%QUICKSOR QuickSort.PASPAS\LX[ .((c** Could not reset `cc}`c N\ }ʷ}ʷ}c .nd n FLOPPYFOFloppyFormat.PASX':2 * @* BBYBYJ^˼}c BBYBYJ^˼c>Ethernet.Names```` V^vlvjIO IO.PASAL;f7*: floppy f7Je*@FLOPPYCOFloppyCopy.PAS#\#\SYS.IO_INIT IO_Init.PAS%%%%floppy yFILEUTIL FileUtils.PAS.Lcomflopt COMFLOPcomflCOMFLOCLOCK CloIO_UNIT IO_Unit.PAS8> @B PASCAL.RUN|6 .K)$!CIO_OTHER IO_Otheck.PAS'%t %'N8'K@tJ SYSTEM System.PAS rs.PASASSIOERRMESIOErrMessages.PASO({pX|ajj(!{WRITER WRITER.PASa4(UTILPROGUtilProgress.PAS8f7X(X4((STREAM STREAM.PAS'(8  (M?LERYf7D` JPERQ_STRPerq_String.PAS#\8dndmC MH' 5HFLOPPYS SETINITISETCMDTASETSWITCCTLCABOROMFLOPcomflCOMFLOCLOCK Clo3W%A3fSCREEN Screen.PAS{3  3floppy cck.PAS'%t %'N8'K@tJ SYSTEM System.PAS COMloppy6FLOPPYTRFloppyTransfersSGETNETADsys:User>Guest>getnetaddr.PAS E FILESYSTFileSystem.PASN:uflo floppyutils POS D.65 b-boot 27 Jan 82 11:48:45vFILEDEFS FileD % [  $#\#\SYSTEM System.PAS! (/$STREAM STREAM.PASN`3dcca݉'T3d ʷc**`c`c not found.`cX0a|6@&%48J@FILEUTIL FileUtils.PASDD+VX+ ZPY1 3d帺K:``c`N:%d帜ɺ #ɜ XNJ ca=`vlvXFILESYSTFileSystem.PASfCe> delete fCfC XNJ ɜN`a  H̛ '=c* No files found matching `cc%`cc! ,=~ /;FILEDEFS FileDefs.PASlete%%%=H  N $#\  J J`!N`3N`N`Delete:cN`` `I`I``cGETTIMESGetTimeStamp.PASg> @ PASCAL.RUN|6 @K)9(!1FILEDIR FileDirN`N`ޜ㭞ފ)T3#JJ JdḤjޜ.PAScom 1~ EE1 + +QJALLOCDIS AllocDisk.PAS%a% ފ)T3#XNJ JdHމފ)Ь͔9 N`Nr16ndn1  ,=~ / ||6 @)ARITH Arith.PAS%fCX`"DFg33.\33;h/0?LERYfCDdelete ZREADDISK ReadDisk.PASX8dndm1 55D33)^yz `I`I``c+W%A+VXDISKIO DiskIO.PAS{+  +"$"!#\N`N`ޜ㭞ފ)T3#JJ JdḤjޜ6PMATCH PMatch.PASmc>delete>delete.PAS ފ)T3#XNJ JdHމފ)Ь͔9 N`NPERQ_STRPerq_String.PASlete>delete.PASIO_OTHER IO_OtPOPCMDPAPopCmdParse.PASPsys:user>emc>delete> POS D.65 b-boot CMDPARSE CmdParse.hers.PASomfCc  $#STREAM Stream.PASPASQP |6@>* dPOPUP PopUp.PASp 0|0Fe| |6@ )JQUICKSOR QuickSort.PASdelete>delete.PAS& ETHER10I Ether10IO.PAS SYSTEM System.PA S SAIL_STRSail_String.PAS   STREAM Stream.PAS  FILEDEFS FileDefs.PAS cI````c````cConsole:````cConsole:````c ExpandTabs `c1.0 GETTIMESGetTimeStamp.PAS `cc  c@c c@ c@c  c@ 3b 38c input file name: `c c``cc  c@̒c c c@c   WRITER WRITER.PAS STREAM STREAM.c@ 3b 39coutput file name: `c c``cc  c@̒c ^c   ϞkVHVcccP`P` c }cc}c}-JP}cc}c}-JPkV NJ,}PPAS READER READER.PAS }cc}c}-JP}cc}c}-JPkV NJ,)}a}cc}c}-J NETADDRINIT NETADDRLOOKUP RESETERROR P}cc}c}-JPkV NJ,*}a}cc}c}-JP}cc}c}-JPkV NJ,+}aMkVNN}}JP,-k,k-)<k, NJ,}3}*k, NJ,)N\k,H,k,k-)]WD+,(33CEXPANDTAEXPANDTABS.PASws use of default fileSHR *SCAVENGER Run the disk  & o]}}pH`}pHo]}}}JP]}~Hl,ConCat: lJHll)I}llHJ}l'll) lHlJl'l lH̭}},\}ll`%~}}H~ll) ~l~llHlH~l}~]} ` aȼ) }l}l(\lH}}kkHk,}InsertChars: [ }` a]}k``` 帺 J]}k`k`` 帺 J]k`J] 帺JJ`%k},k' }H}kkkkk+}kkHk )k})}k ) kHk},\ }k-' kH}k+'kH}kJkk)8k}kkJkJkk)}kkH}kHkH}'}\}}``J}WRITER WRITER.PAS% *}}k0HBY}}k JAHBYkHk})l}kazDX }k}k J}k}X7kkK}k09DXDYNAMIC DYNAMIC.PAS@6I@vJXk}k0JHk}kAJ HHkHk΃kkIk]'lHn)@READER READER.PASFILEDELEPRINJH̷ c-`EMGLH&m ,cm7H` c0mH`THELCURSON GETDIRNADOONEDELDODIRCHEIDLEPROCHANDLESWBOOTDEL DELERROREMPTYINPREADPRESREADCURSOUTSIDE ]}'k, } k* kG}03l~- ~kGl'ψlHSAIL_STRsys:User>Guest>sail_string.PAS  kll);~~}JlH̻~~0帺J &}~]}` a}k``` 帺 J]}k`k`` 帺 J ]}k`` ` 帺 J]}k`k` ` 帺 J]}ll)(}lazDX}l}l JlH}}o'}p'}}o*\opH}rs)}oqH}rqHrHD (k  d]o,MAdjust: o`JJ`%}}oqHJ}``c`}}}}}]}kk)}kk'k\kH}}' q@ 3b 39coutput file name: `c c``cc  c@̒c H,pH,c,JqJrs)+),rHN}orHNNrHrs)-`+`)+H+oqHpqJ,pJrs)+SYSTEM System.PASPAS,lxlw"\exp>3 She.SCREENSIZE Set the size of the screen."CMDPARSE CmdParse.),rHN}orHNNrHrs),pH,]c Nb3}dc}0c}0a-k-(A c c c}`cPASSSws use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk STREAM STREAM.PAS.PA9STATISTICS +  + already exists`c }1}$ JP3}1dc}[c}[aZkZ(LkZ\N| - Turn printing of statistics on or off.VENGER Run the disk WRITER WRITER.PAS- Turn swapping on or off. Part߭')c}1$N` 3}1dc}[c}[aZkZ( 3}1d3}d3}1d c c c}`c  re is the partition for swapping.+TYPE File READER READER.PAS file File.osubX$$named to `c c}1`c 3}da-k-'Ecan't write to } JP\?uhPsys:part3>Segs> EXPANDTAexp>3 She.SCREENSIZE Set the size of the screen."CMDPARSE CmdParse.c  writing `c c}`c˼N`cc+,``})c` \˼PASSSws use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk STREAM STREAM.PAS.PA9STATISTICS + 'a JJ.dNH`k.`ck.``k\` ̣} written | - Turn printing of statistics on or off.VENGER Run the disk WRITER WRITER.PAS- Turn swapping on or off. PartJP k,(k-`k+`})k+H+,k-`k+`k,K`})c`c cNb]}PN``` is the partition for swapping.+TYPE File READER READER.PAS file File.osubX$$``)k P ) PNb c c c c }4+ c c c}`c cEDITORTEsys:user>wjh>Editor>editort.PASftb$]??h*w,HϚD:zZN\cv/FSfj'K  Z4c  CHANGES have been made.`c 4c  NO changes have been made.`c c 0ci c@c  c@ 4[c unknown parameter(s): `cc `c, to continue`cc0ɛc````c ɛic````0^^c  υ0^^c ' /c  HM'@0^^c c 0^^c/c H0^^cfc0c ' }~BY̙},:~c}ɺJ}}~BY̽]  wx)ϙw}Xχ}~~S}l*}llll)~llJH}llH~llJH}~]~}w`JJPPw''@}}w`JJPPwHl})c}l '}l '}l '}l 'l c~}l`c~}l`~lH̒c a}}'`JJPP}} `JJP~l`}~ȼ}J}Ja]}},\#P}} `JJPP}Break: 'c}}J^˼'}}J}Ja]}J}J3}Omit: '帺Jc}}J^˼'}}Flags:帺J](fh}~}X5}} Skip帺J}X8}} Append帺 D'(TVJ}X8}} Retain帺J}X8}} FoldUp'(]^``k)k}HJk},}kkkl)}k}kHkJkH]}c}X帺J}X:}} FoldDown帺J}} ` }X  l})|}l l (:l AZDazDYX(l ' l    l _ }ll lJJ}} `JJ}}]~l})-}lll }X}l `JP}X}Xl }XlJ}X}Xl } (}l (c~}l`lH}~]}}k~l})[}l '}l '}l '}lXlH}}`l` J}}l`` JP}}\$l } 'l c~ `c~}l`lH̚}~]l'}l'}l,l,X}l``lJlHw}}}c]~X~X~X~X SetBreak:  SubStrFor: `%l},~~U}llH* }lJHlll)~l}llHJl`%}~~X}D},^~c}ɺJ~X}}~B[}H~l}~]l'}l'}l,l, SubStrTo: `%l},ll*( }4Zυ}UBWBYEBYRBYc   U to update `c c0`c c  W to write to another fZ0a|6)&%rfilJ@GETTIMESGetTimeStamp.PAS0`0 ZPY8  ile`c ͅ}WBEBYRBYc  File name is `c c0`c c c  W to write to a`vlvXEDITORUT EditorU.PASilef:e4 editort/errorfile f:nother file`c A}WBEBYRBYc  W to write to a file`c c ` E to exit without updeditort/erroSYSTEM System.PAS%%%%errorfile N  A 4Xating`c c  R to return to the editor`c c c  Editor` c  c  FILEUTIL FileUtils.PAS*( PASCAL.RUN|6 )K) !8PERQ_STRPerq_St8 E c ENI ^^c Nc ^^c c azDXaring.PASe editort/errorfile ~\J@I 0 0 0 0JCMDPARSE CmdParse.PAS%a%JAHN}Xϐ}PR'4N͏U')0PmW'cc c  enter file`ndn8  ,=~ / ||6 ))SCREEN Screen.PASZ! name: `c}9c P`P`c c}9 a c}9)}9Pc kb} 4+ c c c}`c #\f:D!UTILPROGUtilProgress.PAStor>editort.PASftb$]??h*w,c ]c))4c c c  Editor` c  c HϚD:zZN\cv/FSfj'K t/errorfile)0  0(&&!editort/e8 E c ENI ^^c Nc ^^c c azDXaCOMfile t/errfiSTREAM STREAM.PAS%H<G<{h<VLUA)%f\e6systndJAHN}Xϐ}PR'4N͏U')0PmW'cc c  enter fileWRITER WRITER.PAS~}err editort/errorfilepy subsystem ystem m m F F 8 FLOPPY DYNAMIC DYNAMEDITOR Editor.PASP 6Psys:user>wjh>Editor> POS D.69 c-boot IO_OTHER IO_OthersIC.PASrof:c;%CBrun' Floppy F F 8 FLOPPY ,FLOPPY READER READER.PASbsystem n the.PASQP |6)>*   dFILESYSTFileSystem.PASditor>editort floppy subsystem #\|2Ja| |6) )JTERMINATWRITEFILSEND (&&!editort/e.PASftb$]??h*w,HϚD:zZN\cv/FSfj'KFILEDEFS FileDefs.PAS!  (/$COMfile t/errfiSTREAM STREAM.PAS%H<G<{h<VLUA)%f\e6systnd( }>@?c}A`}:k?k>,k@*\@͉}k?:'k@'@\j}A}k?c}Aak@+@SYSTEM System.PAS EXCEPT Except.PAD}k?>'9k@%\-k?=@#k?=}:k?<d k?H?k@'N}4}`k=`JdP}S DYNAMIC DYNAMIC.PAS :3}6}k=H`kdck=k<'}8*dc0}8}k<H`k STRBADPARM ADJUST APPENDCHAR APPENDSTRING>k | Pc%J)SERTCHARS LOP REPLACECHARS SCAN SETBREAK SHOWBREAK SQUEEZE STR STRIP SUBS(PARTITIONS: Give partition information.Pc%J)2LISTDIRECTORIES: Show directories with no matches.Pc%J)TRFOR SUBSTRTO TRIM ULINDEX2 ULINITIAL UPEQU STRERROR XN ADDCHR 6ONECOLUMN: Print all in one column; implied by File.Pc% J) MULTICOLUMN: Print in 4 columns.Pc% J)FILEPcȜ%``c`%J)%NOSORT: Don't sort the directory.Pc%J)%NAME: Sort by name of the file.DIRECT "sys:user>brad>newos>d.6>direct.PASd% Pc%J),ACCESSDATE: Sort by last access (read) date.Pc%J)-UPDATEDATE: Sort by last update (write) date.  ^ ` B D \  ^`HJ JL&F ^   ) t07DX}}K}t0JHSt'}+B-BYX}-'0c** Bad Octal Input` c }\tHxious logical block` c ``ccDisplaying block ` cɉO`` cu in `  RcASCII` Mcu }}Im'e}*},Qc ** Value ` }``c will not fit in a byte` c }4}Bytes` 9cDecimal` #cOctal` d ck (Highest block # is ` cɉP`` )c }}  tv)d}t07DX}}K}t0JH6c c** Bad ASCII Input` c }\t c Q"}ʷc )  Serial Number P}ɺc  Logical Block ` }c`` c PATCH PATCH.PAS(allows use of default fileSHR *SCAVENGER Run the disk  H̖},Qc ** Value ` }``c will not fit in a byte` c }<c** Bad ASCII Input`  c } dd }Ȋ n KH` mKH` ] ,JKHnJJm' oKHnKJ on0 n0 af,``m'cPATCH>` `*``c4I/M/J/L = Up/Down/Left/Right: Move Current Selection` c cP3Byte/Word nnn :Select the nnn'th Byte/Word in block` c c c&"Ins"-key : Alter Current Select}+})cc}` })ac`` c (#` }+ 1c  0c }+}+߭}+c `` )ion` c c3 ("LF" to accept and advance to next)` c c$File : Select New Patch Filc c ]mn*+m*pn,}pJB'p,pJnp,0c pJp'!m*1c  0c e` c c;Read : Read a New Block from the Current Patch File` c c?Write : Save the Currep,}pJB0Hc pJȼ`c} a(}Pcr B BYBYBYX r͏},}}`` }}nt Block in the Current Patch File` c cAChangeMode : Change Patch Mode (Octal, Decimal, Byte, and ASCII` cJͅ},-}qs+}q`` qJ}PcJ}}H}}rrc #dj cFStuff : Fill a Portion of the Current Block with a Single Value` c cT "Help"-key : Type This Mess}`c} a( }r},}}m} tv)σ}t09DX}} K}t0JHage` c cr Quit : Exit this Program` c c c2Address : Display selection as a disk addrTt'}+B-BYX}-'1c** Bad Decimal Input` c }\tHwu }}IC} tv)ς}ess` c c`9Go : Read block whose disk address is displayed` c c/Next/Previous: Read next/prev) Pc%J) CREATEDATE: Sort by create date.Pc%J)SIZE: Sort by file size.Pcc%c%Q/%d }帜% `ao )o()}R4`}`oc%Qc%0c%Qc%0Ĝ%%cc9 Direct is used to list the files in the File System.`cc) Valid direct commands c%@c%c%c%Q% }R3` SORT`} }帜have the form:`cc; Direct Dirs>FileSpec ~ outFile /.../`cc@ Both the dir%`ao)0oĜc%Q'' c%Q+c%Q`hSORT` c% c%c%@F`ectory part (Dirs) and file part (FileSpec) can`cc; have wild cards. The Dirs part is matched against all 0** Cannot have multi-column list with delimiters`c%͞`p,** Use "~fileName" to send output to a file`cc@ directories and the FileSpec matched against all leaf files`cccD If an output fil.`Y`}`>`}`#dL U-! Dh}}x]};e is specified, then the directory listing will`ccB be directed to that file: Use "infile outfP帼c c}ec}a}7c}5c}9cc};adkd `};`}9cɺ}5  `Direct`ile".`ccc# The wild cards are as follows:`cc' "*" matches 0 or more characters`}7  `Direct`}5R4c%c%/%}5d}7R3*d }7d帛ț>(cc' "&" matches 1 or more characters`cc& "#" matches exactly 1 character`ccț*(;}dc}>`3}dc}c}am( }d]mnI$nmJHM2k2mH2k2n,k2m*$c** Internal Err "'0" matches any digit`cc* "'A" or "'a" matches any alphabetic`cc( "'@" mator`cI$HI$} k2J߭J Pts*tJ߭J 帛sJ߭J 帛} 7sm+$sJsm+ches any non-alphanumeric`cc< "'*" matches "*"; other wild cards can be quoted also`cccsJ߭J Μ} 6tn)%tHtn)tJ߭J ts*-tJ߭tJߜsJ߭sJutk2's2' The valid values for are:`c%  mn)3c `%mJ)c`cmH-k2J߭k2JߜsHJ߭sHJu}t}s]n/pk/)H}pJ P}0ok0)}o}ooHpJ ccC The Sort switch requires an argument. Specify as "/Sort=arg".`cc' The valid arguments for }PpH̱I$mn+\ ǜ!Jm!Jn+Ϟ!J㭁!J㭂Jm`n`c}c}ɺqm+mrJ*rJmJ,#Sort are: `c% mn)3c `%mJ)c`cmH\]% } }}Hǜ!Jm!JrJqHrn)qHn*nqJJ, Hǜ!JqH!Jn[]mnI$nmJHM xmH xn,xm**c*  mn)]mH`` '"c ` m Kc`` c ` m K``:c mH̝ BBYX!mnR3Uc c Read Block[` cɉO`` cA]? ` c}cP`P`c  }}P}'O``c}c)m` m`mHmn)m` m`mH]}R4}}P}cc c`+Mode (Decimal, }+c},ɺk,k+`c a ccAborted` c \NRSO c  %P3 %P}}POctal, Byte{octal}, ASCII) [`  ScDecimal` KcOctal` 7cByte` $cASCII` d}3%4uc Patch V1.7` c File? [` cc%` c] ` c}cP`P`c }'  c]? ` c}cP`P`c }(c}}cT`a BBYX L   }%PDc Patch V1.7` c File? ` c}cP`P`c }}Pc}}SYS:38Q%}PR  BBYX L    Ͷ BBYX K    ͒ BBYX K    nc No Such Mode}Ӽ` ʷ }Ӽ` ʷ}߭PQ}(c3c}cPc}a$$$'Ϭc** ` cc}` c not ` c +Hcc}` c is not unique` c d1RtS`*`` BBYX found` c c Patch V1.7` c File[` cc%` c]? ` c}cP`P`c }' }% Filler ` }c`` c ) Previous Block P}ɺ)  Next Block P}ɺ,`` L}ߛ o}ߛ oHclWords ` co`` -c oHc`` )m contain address P}ɺ}cPATCH>` ȉSϊw dHxkwkx)}kwIkwHwcv}uku(Hu nH KHt mHKHHsp oJ Kktks0 Lkvkua  ,``cPATCH>` c S *c** No Block to Write` c ͝N~Qic'!Ok' to write block?afoJ Kktks0 ktks0 afȊ  L` M KH` `` m*\ BBYXm,\ m,\ m  [No]` c}cP`P`c } !Ok3`O`ɛ ɛ"` $`O` Nc  Done` c ]N   L` M KH` `` ]S m+ mJ` Ȋ ` ]S H` ` ]S H` }R3@c c,** Changed block not Saved! Write it? [Yes] ` c}cP`P`c }'}YByBYXncSelect number [0]?` c}cP`P`c  }}P}',`c}c},c}-ɺk- \k,*\ BB`c** Ignore changes? [No]` c}cP`P`c }'}YByBYX]R (cc** No Patch FYX k,mK, m'k,L,k,` ] ͽm LH` m M KH`cn``  mn͠m LH` m M KHH`n`` mnwmile` c \a cAborted` c \P+mI*mP+P*mI*mP,QmI'Dc ** Block ` cm`` LH` m M KHH`n`` mnOm LH` m M KHH`n ~DXnc`` n`` mnd `J$ b%JLb%JHLp ov)Ϸ nw)ϜnJpKoHqb%J)σub%qJt`qJ߭J cc`qJ߭J F}>}}Jdc}>}`a]}>`ao'Ec"***WHERE HAS rsHs+c `rH&rMJ mx) crHmHnH^coHC) b%JI'c%THE PARTITION GONE?? `}c`c4}}oH`}oJ`JdP]b%}}fdc}fɺ+ cEnter New Value: ` c}c})ɺk)'\ `c}c}*c}+ɺk+ \ `k*`Nk) ' * H` k* '\k) BBdmuYXlȉSc c Stuff from `  BBYXc(word offset)? ` c(byte offset)? ` c}cc~|zxvtn hfdb`^\ZXVTRPNLJHFDB@><:864.]cc```` c````  p*p K+>c** ` cp`` c out of range` c \ BBYX!cTo (word offset)? ` c`````) Patch V1.7P c c c %PO   SR N "J)HELPP帜"To (byte offset)? ` c}cc op*o K+?c** ` co`` c out of range` c \cJ)WRITEP帜"J)KREADP帜"J)QUITP帜"J)FILEP帜"J)STUFFP帜"J) CHANGEMODEP帜" Stuff With? ` c}cP`P`c  `c}c}c}ɺqpo.mk.) m`n`mHNo` ]a cAborted` cJ)NEXTP帜" J)PREVIOUSP帜" J)ADDRESSP帜" J)GOP帜" J)BYTEP帜" J)WORDP帛T \]`c} a(qSi J 'Y +  L` M KH` `` (  L` MJ)DECIMALP帛TJ)OCTALP帛TJ)BYTEP帛TJ)ASCIIP`` c```"c`c cz  KH` `` }mp@; 6 1 (  L` M KH` `` c cPATCH>` ` /c c c c  ]\!#++# (  L` M KH` `` `~m^`\v~'`\~~`` ~~JF$+,;<PR  u # $ mc ~~H~~m#d`c} a(m 'ac c~c}o /     +  tv8P%}PRPJPRϴ c  }0,Z}...}},J`-`Jc}c~ c}c}}c" `a͕Ͷͱc~ɺͧ͢~͏͊c~ɺJP͎}0*τ}}0 `0}J`Q OH`"a`\Q OJ`"a`83Q +c** Not editing device` c BJJP} }JP} Patch V1.7} 5c** Use 'Address' to display one` c  `ͽ`c~ɺͱ`c~ɺͥc&** Illegal Command - type HELJP}} Type HELP for aidJP)}P }Pc}ɺ]Sϔ`,``cP for aid` c ic** '` cc}` c' is not unique` c &dV cfiqtKU_+ c*** Names will not be sorted.`cc\'\'%c}$``$H`m``cx` c}OP  w9:7xf4h " `` H`m``c`m``!cX`m``!cX`]Jno)=np*c`Device #`cn``c}F H 5""@#6""B#$me `cc`c is malformed.`c Device Name: `pcc`c mq)mJr r n'ϲc `rcc`c : StartSYSTEM System.PASP |6`*; #\CMDPARSE CmdParse. = `r ac` ` I`c End = `r ac` ` I`c' Free = `r ac``cmHPASQP|6>* dFILEUTIL FileUtils.PAS ;,nHͽc````c````))Direct V4.4. Type "Direct/Help" for help.Pc%Ϙ/%3#\PASCAL X aFILESYSTFileSystem.PAS! re/$6cFile for output: `c/%cd`d`cc Output will be directed to file `cc/%`ccɜ/X0a|6&%r>brJ@FILEDEFS FileDefs.PASDDZPY Q(c%cb%Jb%b%'(c** No files found.`cXb%'#c 1 file found.`c%c``````c7`cc3dcc+c^c&ɺa^*3+*>3J$J$&c+a-cɊb%``c files found.`c'b%H')H)|b%'k pcc --- In `cc}f`cQc%Q( c%Qc%Q' c%Q#c%Q(,``L$c`c$ ccDirect `cV4.4`c --- `ccc** No files found.`c*H*]'()*"$3}d3}3d3}fd` `cc$`& ic Files matching `cc^`c$ : `c3^d3d3" :}f"d帛 "﷛""5﷛" "3巛 c7`kΔcc Grand Total: `c%Q(Acɉ(`d`ͪcc Files matching `cc^`c in directories matching `cc`cc+`c`c block`(( scc in `cɉ'``c file`'( sccu in `cɉ)` : `c3^d3+d3dHc ** Filename `cc`c is malformed.`c`c director`)(cies` ycce out of `cɉ*``c director`*(ccc%0c%c$!(;<ghies` ycc scanned.`ccc2*** No room in memory to allocate sorting arrays! `cd f  H-J/<> , /`bZ! ]\!#++#s. DYNAMIC DYNAMIC.PASore in/noqueryS IMPOLDIRECTORY Give a directory of files. "Direct /HePATCH PRINTDSYSTEM System.PASSAS,lxlw"\exp>3 She.SCREENSIZE Set the size of the screen."CMDPARSE CmdParse.ISOCTNUMBEGETLINE GETVAL POSITIONCLEANUP HELP PRINTTITUNDERLINSELECT DECRSELEUP DOWN LEFT RIGHT SELECTNTPUTVALPASSSws use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk PERQ_STRPerq_string.PASTATISTICS +  SHOWBLK SETMODE SHOWADDRWRITEBLKCHECKCHAREADIN READBLK NEWFILE INSERTIOSTUFF QUITIT COMMANDECASE CONST GD| - Turn printing of statistics on or off.VENGER Run the disk FILESYSTFileSystem.PASws use of default fileSHELETE DelREADER READER.PASlete /Help" for more details.EXPORTS 1FILE FDETAILS ParPATCH.PAS/noqueryy detailR *SCAVENGER Run the disk FILEDEFS FileDefs.PASile File.osubX$$ ! UTILITY.OTHERS.BINARY - UTILITY OTHER BINARY FILES ! Created 17 Feb 82 09:57:08 Link BYE Link DETAILS Link EDITOR ?uhPsys:part3>Segs> GETTIMESGetTimeStamp.PASboot Pascal.RunR *SCAVENGER Link EXPANDTABS Link FINDSTRING Link HELPGEN Link MAKEBOOT Link PATCH Link PERQ.FILES Link SETTIME Link USERCONTROL  Run the disk DISKIO DiskIO.PASg.PASs use of default fileSHR *SCAVENGER Run the disk! UTILITY.DEVICE.BINARY - UTILITY DEVICE BINARY FILES ! Created 17 Feb 82 09:57:08 Link CHATTER Link FLOPPY Link FTP.SEG  ARITH Arith.PAS82 15:31:45 of default fileSHR *SCAVENGER 05 Jan 82 15:31:IO_UNIT IO_UnitLink PRINT Link SETBAUD ! UTILITY.FILE.BINARY - UTILITY FILE SEG FILES ! Created 17 Feb 82 09:57:08 Link APPEND Link .PASllows use of default fileSHR *SCAVENGER Run the disk SCREEN Screen.PASallows use of dCOPY Link DELETE Link DIRECT Link DIRTREE Link FIXPART Link MAKEDIR Link PARTITION Link RENAME Link SCAVENGER Link SETSefault fileSHR *SCAVENGER Run the disk WRITER WRITER.PASallows use of default fileSEARCH Link TYPEFILE HR *SCAVENGER Run the disk STREAM STREAM.PAS"\ /noqueryS/noquerye.  4" 4 COM PATCPASLONG PASLONG.PASile Src to file Dest.AY ,BEGIN CASE CONST GD*:ab#)$*+U,ELETE DelREADER READER.PASlete /Help" for more details.EXPORTS 1FILE FDETAILS ParPATCH.PAS/noqueryy detail, ndn  ,=~ / ||6 )ARITH Arith.PAS ZfX ?LERYfD sys:user>braFILEDIR FileDir.PASad>newos>d.6>direct.PAS CLOCK Clock.PASbrad>newos>d.6>direct.PASALLOCDIS ALlocDisk.PAS@6J@6XL[LL[LZ#\nd"#}}dP}c`c}cd`d`ccc}`c [`cc}*`c]: `c}UTILPROGUtilProgress.PAS ! sys:user>brad>newos>d.6>direct MEMORY MemorS3}*d}S' }S}*P}STBtBYYBYyBYXN]Ncc<^^c  Ny.PASomfcWRITER WRITER.PASrad>newos>d.6^^cNcȼc3}c}c}a]\KHmLH_mMH`]rHqH}Nߊ`}Nߊ_`Y N`>direct.PASSTREAM STREAM.PAS@K`˼}ɜ',r(q(c Recovered.`c\c Floppy error, status = `c``2(%X% DYNAMIC DYNAMIC.PASq*c , retrying.`cq'/}N}Nr*fc, recalibrating...`c`Y N``˼}ɜREADER READER.PAS%cdone, retrying.`cr'ϥc , aborted.`c\]}Nm}NNINIlvlvGETTIMESGetTimeStamp.PAS>d.6>direct  s ! sys:user>brad>newos>d.6>direct DIRECT FINDBASEINITSWITINITSORTINIT DOHELP HANDLESWHANDLELISORT1 SORT LNGSORT1ASSIGNTILONGSORT ,=~ /PERQ_STRPerq_String.PASser>brad>newos>d.6>direct N 24XDOSORT ONECOLDISHORTFASLONGSLOWCHECKIFDADDIT REMOVEPADODIRSCAPROCESSOBREADTHFDOALLOCAFULLMEMOMYDISPLA PMATCH PMatch.PASe*( PASCAL.RUN|6 K)6>direct  !READDISK ReadDis2(%X% DYNAMIC DYNAMIC.PASk.PAScom ~ dD.65F<  3:JDISKIO DiskIO.PAS%%a%MAKEBOOTsys:os>emctemp>makeboot.PASd be copied to disk? s:os>system> exp>ftpuser.segEG dm  - }`}JH`Jc}ctcaN ct  HELP`t`Jt3*SCAPsys:part3>Segs> FILEUTIL FileUtils.PAS p-boot Pascal.RunR *SCAVENGER N`tN`]c```` c```` )"SetTime V2.0. Type /Help for HelpP Run the disk FILESYSTFileSystem.PASws use of default fileSHR *SCAVENGER Run the diskSETTIME SETTIME.PASllows use of default fileSHR *SCAVENGER Run the disk  ctcaN ( (# N`SetTimeN` 4   'c  J`c c   ct 4 I Pscs#Enter time as HH:MM or full date: [`cc `c] `cIcP` P` c Ic3\II)I:N`a(LI ` `JIJP)IPcr˼rcIc NewTime is `ccI`c ]&l8cR6** Illegal time string. Type SetTime/Help for format.`c \]c c7 This program is used to seRTST$` 4   'c  J`c c t the time for the PERQ.`c c! The format for the time is: `c c DD MMM YY HH:MM:SS` ct 4 I Pscs#Enter time as HH:MM or full date: [`cc `c] `cIcP`c c, Where DD is the day in the form: 12`c c - Where MMM is the month in the form: May`P` c Ic3\II)I:N`a(LI ` `Jc c, Where YY is the day in the form: 82`c cE Where HH is the hour in the form: 16 (twentSYSTEM System.PASPASows use of default fileSHR.SCREENSIZE Set the size of the screen.isk CMDPARSE CmdParse.y-four hour clock)`c c, Where MM is the minutes in the form: 35`c c$, Where SS is the secondPAS.PAS use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk CLOCK Clock.PASSg.P9STATISTICS + s in the form: 10`c cN The seconds are optional and the time may be set without changing the day`c | - Turn printing of statistics on or off.VENGER Run the disk GETTIMESGetTimeStamp.PASurn swapping on or off. Partc'4 by simply typing the time in the form: HH:MM:SS`c c \ȼ}/N`a(Ϭ} is the partition for swapping.R +TYPE File PERQ_STRPERQ_String.PAS File.of default fileSHR - status = `c``p*c , retrying.`cp'Fq*Jc, recalibrating...`c cdon}'cLS`9}'cUS`}'cUM`c]k7,hJN}KʷLe, retrying.`cq'c , aborted.`c\]I}o rv)>c:p) qw)a}qN_N}Mʷ<Okcboot microcode file: }C}=}?}<Ok}VfyP }PN>k=}3dc `c not found.`c\c}ɛ c````*Font* 3 dn`N`N`N`c}c}ɛ`` [(\) aI` ccBoot area written.`c]Nm?N R,rst)) c````}  c}`N`c}c}ml)}mNmHml)ml)ϦJmN~ʷ~Nm?NsNJ}sNJNsHst)]cc``3c ``c from `cc`(*N~N~ N~0N~@N~`N~PN~pN~N~N~Kc `(J`  cc segment `cɊ``"!H   wH }w NJyM0HNyzMKHL zL NmHml)Z_ml)ϞLm_N~ʷ~N~N~~N~N~mqHpH`} N``˼}ɜ',q(p(c Recovered.`c\c Disk error, z'y'c at #`w }x NJ߭cxJ x' cwH w+L_N}ʷ}'cSW`W. EDITOR.SEG Get EDITI.SEG EDITORI.SEG Get EDITK.SEG EDITORK.SEG Get EDITU.SEG EDITORU.SEG GeSEG Get SETSEA.SEG SETSEARCH.SEG Get TYPEFI.SEG TYPEFILE.SEG t EDITT.SEG EDITORT.SEG Get EDITK.PARAS EDITORK.PARAS Get EXPAND.SEG EXPANDTABS.SEG Get FINDST.CHATTER CHATTER.PASllows use of default fileSHR *SCAVENGER Run the disk 4 SEG FINDSTRING.SEG Get HELPGE.SEG HELPGEN.SEG Get MAKEBO.SEG MAKEBOOT.SEG Get PATCH.SEG   PATCH.SEG Get PERQFI.SEG PERQ.FILES.SEG Get SETTIM.SEG SETTIME.SEG Get USERCO.SEG USERCONTR OL.SEG ! UTILITY.DEVICE.BINARY - UTILITY DEVICE BINARY FILES ! Created 23 Mar 82 12:19:16 Get CHATTE.SEG CHAT WRITER WRITER.PASSllows use of default fileSHR *SCAVENGER Run the disk STREAM STREAM.TER.SEG Get FLOPPY.SEG FLOPPY.SEG Get FLPDFS.SEG FLOPPYDEFS.SEG Get FLPCOP.SEG FLOPPYCOPY.SEG PASSSlows use of default fileSHR 8VE9ERj $ `READER READER.PAS l Get FLPUTI.SEG FLOPPYUTILS.SEG Get FLPFOR.SEG FLOPPYFORMAT.SEG Get FLPTRA.SEG FLOPPYTRANSFERS.SEpPsys:part3>Segs> POS D.5 p-boot PaSETTIME IMPOSSIBBADTIME DOHELP DOFINDSWCAVENGER G Get FTP.SEG FTP.SEG Get FTPUTI.SEG FTPUTILS.SEG Get FTPUSE.SEG FTPUSER.SEG Get GETNET.SEG Run the disk FILESYSTFileSystem.PASws use of default fileSHR *SCAVENGER Run the disk GETNETADDR.SEG Get SAILST.SEG SAIL_STRING.SEG Get PRINT.SEG PRINT.SEG Get SETBAU.SEG  WRITER WRITER.PASSllows use of default fileSHR *SCAVENGER Run the disk STREAM STREAM. SETBAUD.SEG Get ETHERN.NAM ETHERNET.NAMES ! UTILITY.FILE.BINARY - UTILITY FILE SEG FILES ! Created 23 Mar 82 PASSSlows use of default fileSHR 8VE9ERj $ `READER READER.PAS l 12:19:16 Get APPEND.SEG APPEND.SEG Get COPY.SEG COPY.SEG Get DELETE.SEG DELETE.SEG Get DIRSides 2 Density SINGLE Fast ! UTILITY.OTHERS.BINARY - UTILITY OTHER BINARY FILES ! Created 23 Mar 82 12:19:16 Get BYECT.SEG DIRECT.SEG Get DIRTRE.SEG DIRTREE.SEG Get FIXPAR.SEG FIXPART.SEG Get MAKEDI.SEG E.SEG BYE.SEG Get GOODBY.BIN GOODBY.BIN Get DETAIL.SEG DETAILS.SEG Get EDIT.SEG  MAKEDIR.SEG Get PARTIT.SEG PARTITION.SEG Get RENAME.SEG RENAME.SEG Get SCAVEN.SEG SCAVENGER..   ̖}~ t( c} `N`l Ȋ*Names* 3d`N`N`N`}N}`N`oI` a'ϙ)}  already exists, ok to rewriteJP)YesP帺a,J J,Ae*unused*3dJ J`N`N`N`H J(v J*?c%** Insufficient3}d3}daI}dIJIcv** `cc}`c is on the wrong disk.`cIN~N~~~~mHml)b?ml)%Nm?N RmHml)P memory for IO segment`c\+c** Free memory lost`c\Ȋ*IO* 3d`*SAT* 3d`N`N`N`c}`N`*SIT* 3d`N`N`N`c}`N`N`N`N`mȊ9LP_NJNPNL&_NNL&_N.JNP_9pq*Cursor*3d`N`N`N`c}`N`*Screen*3d`N`N`N`"H"+Lp_NPpPpJpq+L_N'L_N&L_N'L_N)L_N9LI}.SEGJP3}dc}Wc}Wa*k*'Ic** `cc}`_NI``JYJpq)aYpNHapHpq)}Lpq)LI`p`}Y}or)aYc not found.`cI\k*``9J)"I'Dcl** Insufficient memory to load `coNHaoHor)mHpHpq)дȊI``J}L  vz)$I`v`}Y}sHvH vz)}I` ʷ}}c}`c\3}dk)`N`N`N`'''+k)Xk+kX))k*`k+``N`ʷ Lv_N JvN} ʷLv_N}ʷ} `} @'}},}I` ʷ}}ʷ}}*}k+H+k+kX)``}c`J$}7} :}}ʷH} } HJo$,o$}}̽ }}}}ʷ}}'R} } ʷw}J }} N߭w}H w}J }} N߭w}H}c`]m,8mHmH+c L`N`M] & sl )} sNsHsl ) Hc*** Unable to find disk address of segment `cv``cv'ϵ}L  vz)$I`v`}Y}sH*Stack* 3d帊-`N`N`N`"I'?c]'** Insufficient space for Stack Segment`c\&vH vz)} }}}}ʷ}}ʷ}N}NwJc`$Enter name of new system boot} tNߊ$`} tNߊ%`}5} }~ ʷ}~ ~  ~  Ju*,c** Overlapping XST/GDB's file [`cc`c]: `c}3d}3 }P3}dc})c})aII'ϐ3}d`c~  ~  JuJ`} a}~ ʷ} tN~ `}7} ~ ( }}} tN}`}~aII` a' }dV3}dIc** `cc}`c is on the wrong disk.`c/ 0.6J) Type ^R for extra functions. JP````8`)Pault fileSHR *SCAVENGER Run the disk CLOCK Clock.PAS - Turn swapping on or off. Part cSetting baud rate to ` c4800` c )4800PN```9```)P N3%& is the partition for swapping.R +TYPE File GETTIMESGetTimeStamp.PASFile.osvbX$$N `c%$ N#ϼ `c!a'χ!N!! '. N`$H$$M( N`$H$5!' N`?uhPsys:part3>Segs> RS232BAU RS232baud.PAS p-boot Pascal.Run"\*SCAVENGER $J$!'!N`$H$! B BYX$!`c"a'"' N""'ώ` c c?S-ave on fi Run the disk STREAM Stream.PASg.PASs use of default fileSHR *SbX$$le, T-ransmit file, C-lose file, B-aud Rate, Q-uit: ` c ^^c c  ͘3cE cFile to SYSTEM system.PASSllows use of default fileSHR *SCAVENGER Run the disk STREAM STREAM. save type-out on: ` c cP`P` c cEɜ c```` !Transactions being saved on file PASSllows use of default fileSHR 8VE9ERj $ `WRITER WRITER.PAS l  JP` )P N303cE ` ) P N3cNew baud rate: ` cpPsys:part3>Segs> POS D.5 p-boot PaREADER READER.PASQP4x`"w)'cP`P` c )PN`ͻ`````)P 3cE \͋c** Huh?` c nd"Bt \CHATTER WRITEFILSENDC RESETERRWRITEIT BADBAUDRREWRITEECTLC $mc  `mN`a(c RSOut Error` c c** ` cc}` c not found.` c `b4C<"M{` ? `"N`a( \] cFile to send: ` c cP`P` c  3 ` \cUɜ c```` ` U^^c  !c RSOut Error` c  "N#'cee4eP)P @]ZCe Yc}cU`` cU A}BkAkB)}kAN`kAHAkAkB) N` N`̒cU mN`3 mTcE A33Bf33cNew baud rate: ` c]cN** No such speed` c ]cN** Unable to create file ` cc}` c ]]IO_UNIT IO_Unit.PASlxlt,texp> She.SCREENSIZE Set the size of the screen."SCREEN Screen.PAc```` c```` c```` c````  c c Chatter VSSllows use of default fileSHR *SCAVENGER Run the disk PERQ_STRPerq_String.PASs use of def/ on file but wasn't loaded.`c~c~cqaI` ['cclg``c Swappable blocks.`cc: `c}g33d帺}g3 c}gɺak':c** `cc}g`c not found.`ck(@}glf``c Unswappable blocks.`ccle``c Free blocks.`c@c}T}*c````}T  3;a\[Nf)(Use standard interpreter microcode filesP)YesP帺aS3Perqd帺aNfkfI}cc}Tc:c}Tc(2ccFixing up disk addresses... `cc`c written.3 IOd帺aNfkf3Ether10d帺aNfcInterpreter microcode file: `c})3d帺})4kf`cc:``c4`I`I`c4`巜ɜɜN` 3})daNfkf})3Η`` [(\#) aI` @c}}gc````}  I}c}c:c} N巜ɜɜN` dcSystem `cc-boot disk address = `dNcɭ``cccS`c written.`cc:``c4`I`I`c4`(c:ɛc````I` ʷc=Existing boot file to copy (type return to build a new one): `c}* I`c}}s.BinJdc}ɺa(c Reading `cc}`cNc3d帺}*3S c}*ɺaSkS':c** `cc}*`c not found.`ckS(@}*3cR}c````R  a+|a*a,Nc'** Micro address outside of boot area: `ca``I`cEnter name of character set` 4&c [`cc `]c:cc}3 d}3 } UaNbcRtcR?c** `cc}`c not found.`cN]c#Enter name ofP}4Sc}ɺa'Ec** `cc}`c not found.`c}P}4 }da\[ new micro boot file [`ccS`c]: `c}3Sd}3 }SP3}dc}ec}eaII'ϐgfecc6--- for each segment, one of the following is printed:`cc! SW - swappa3}daII` a' S}dV3}dIc** `cc}`c is on the wrong disk.ble.`cc& LS - less swappable.`cc## or US - unswappable.`c`cI` a'ϙ)} already exists, ok to rewriteJP)Yc! UM - unmovable.`cc&H`#*Names*  &`*Stack*  esP帺a,3}d3}daIS}dIJIc** `cc}`c is on the wrong disk.``*IO*  ~cQ~c υ~c lc ** Segment `~cc``c1 was in the configuraticI(c:ɛSc````I` ʷc=Existing boot file to copy (type return to build a new one)0 FLOPPYDE#sys:exp>utility>file>FLOPPYDEFS.PAS2     `)Q User Control OV1.4J  Type HELP for help J]PvNJ)HELPP帜vNJ)ADDUSERP帜vNJ): REMOVEUSERP帜vNJ) CHECKUSERP帜vNJ)xQUITP帜vNJ)NEWFILEP帜vNJ)y LISTUSERSP帜NJ)>PASSWORDP帜NJ)GROUPPNJ)CPROFILEP帜NJ)HELPP帛I USERCONTROLJP]NG m=c ` c c  USERCONTROL - ` c c ` c coL Enables the maintenanPOPCMDPAPopCmdParse.PASPsys:exp>utility>file> POS D.65 d-boot CMDPARSE CmdParse.ce of user information for a single PERQ,` c cK including User's Name, Password, Group ID, and ProfilPASQP|6>* dPOPUP PopUp.PASe Path. ` c c> This information is maintained in the User File.` c cO `  ##\CAL X aBOGUS c c COMMANDS` c c ` c c4 HELP or /HELP or "HELP" key - Type this message.`  SYSTEM system.PASSllows use of default fileSHR *SCAVENGER Run the disk STREAM STREAM.PASSllows use of default fileSHR 8VE9ERj $ `WRITER WRITER.PAS l USERCONT2sys:perqfile>utility>others>source>UserControl.PAS Q 0 LH-..c}]cɺa' dcConfiguration file name `4$[ccc`]cz,!}4!`3Z)Write boot file to hard diskP)YesP帺aNb Nbc: `N<3Ncg3dk<Ng3 gdgr4yc3) .Conͅ}Nd帛HSSJSS>'S'S>'5}`S`Jdc`S`}i3fig Pcgc}c} a'Gc** `ccg`c not found.`cgdg.4Ͻgdc}3dc}c}a3}dc}c}ak'Ic** `cc}`c is not a valid path.`c,c````Q},^^c  /}``c`}}=ʷ},^^c (=o*$oH}=oNJ},^^c\k` a4ϐ}g.RunJH`.Run`Jdc}g }g.RUN33N},^^c̭o*oH}=oNJ N},^^c '},^^c },^^cc}c},P`P``.RUNJ`Jd}}.ConfigJc},c} }=N}3 }USP}SW3}=N}LS3}=N}US3}=Jd}.RunJJdcɺak'?c** N͵}oUM3}=N͙c** "`cc}`c$" is not valid for segment mobility,`cc)*`cc`c not found.`c\dN'=NbdNcrHard disk selected.`c* US assumed (file `cc`c).`c}=N}=Q巜Q}ͼc},c:** Bad arg. Form is:6NbdNcFloppy selected.`cd﷛46 NccWhich character to boot from?巜ɜɜN` >N巜ɜɜN` dc Interpreter `cc MakeBoot system./Build `c\]cT0``0`T``Uc0`ml)5UmN~ʷ~-boot disk address = `dNcɭ`` I`c]`_YNNU?mn)YmNmHm~~mHml)``c```Yc```Wc```c```c```cn)]c}ɛc````c}`c(ɜ7cɜ5cɜ3cN`7 Ϣ((Wc** `cc`c% has an inc`Nc ) c}4c c}4 /c}4c  /c}4c c /compatible run file format.`c?c** `cc`c is ill-formed.`c\c}`5c}}437cRoot file name: `ccd`d`cc  /c}4c c} /c}4*BBYX N*I)* Mc** `cc`c is not a System program.`c\+%-,Hc} }JBUILD3sNc c /c}4c c} /c}4}'}N!a*1 ` c cK or a totally new user, in which case the command ADDS the new` c c< uas, ` c c2 equal signs, or slashes.` c c ` cc c ` c cK The HELP command can appear as either a switch or a command. It can` c ser and his/her information to the User File.` c c ` c c ` c c REMOVE namecI appear ANYWHERE in a command line. If is is the only item on the` c c? line, you will receiv` c c` c cE Removes a user and his or her information from the user file.` c c e a brief abstract of USERCONTROL.` c c ` c cC Examples: USERCONTROL HELP ! reques ` c c ` c c9 CHECKUSER - Validates a user name and password pair. ` c c t from command level` c cC USERCONTROL /HELP ! request from command level` c c  ` c c ` c cH NEWFILE - DESTROY all old user information. Create a new User File.`  USERCONTROL` c c&HELP ! interactive request` c c c c ` c ͭc` c cB CHECKUSER - Validate a user name and password for correctneUSERCONTROL` c c&/help ! interactive request` c c ` c css.` c c` c -c` c c` c cC ADDUSER name [/PASSWORD] [/GROUP=group]D If the /HELP switch is used anywhere on a command line, then` c c' that command will be explai [/PROFILE=path] [/HELP]` c c ` c cG Adds user information. If user is new to the system,ned.` c c ` c cF Examples: USERCONTROL QUIT /HELP ! explains the quit command` c (the name` c cI supplied is not described in the User file), then the information` c cK  c USERCONTROL` c c5LISTUSERS /HELP ! explains the listusers command` c supplied is ADDED to a NEW user File entry. If the user is already` c cF described on the system, the info c ` c c! QUIT - Exit from USERCONTROL.` c c ` c c` c crmation supplied UPDATES that` c c$ user's previous information.` c c ` c c' LISTUSERS - List all current Users.` c c ` c cI ADDUSER - Add new information about a uH Argument - name - is a string of from one to 31 characters which` c cI is prser, either a current user, in` c cN which case the new information UPDATES the previous information,ompted for as part of the LOGIN procedure.` c cG The string should contain no blanks, comm1  is unused.`2cdisk address = `dNcɭ`` I`cdc Interpreter `cc-d P Psys:os>emctemp> POS D.6 g-boot GETTIMESGetTimeStamp.PASQboot ` c is unused.`2cdisk address = `dNcɭ`` I`c}dcP4x(, ,FILEUTIL FileUtils.PASG0 $.$c.N`cɊN`c.BootS}dcScS.N`cSɊN`cS$.$ -%\#PASCALG<|HaFILESYSTFileSystem.PASZP[#Gk`|la.MBoot  Fix13.Kstd帼c ɺa' d'``Jc```Lc```Nc` ZRV''xMEMORY Memory.PAStemp>makeboot.PASd be copied to disk? s:os>system> exp>ftpuser.segEGc]c````c````cc5 MakeBoot `c4.4`c# target memory manager vers dmPERQ_STRPerq_String.PASmakeboot.PASd be copied to disk? s:os>system> exp>ftpuser.segEG dion = `c2.13`ccc;)cWrite the boot areaP)YesP帺aNc6)WrimCMDPARSE CmdParse.PAS8 oot %\hǖ SYSTEM System.te the boot areaP)NoP帺aNcc b Nc4ώc)Write a system boot fileP)cPAS'' PASCAL.RUN4G'BTYPST "FILEACCEFileAccess.PASt makebYesP帺a c)Write an interpreter boot fileP)YesP帺a :;55Eoot d"n makeboot eboot | rr' ARITH Arith.PAS''''RS*F46PR@Bk"  ,=~ /oot 4G'DISKIO DiskIO.PAS makeboot TYPESTIC l*?,Lh#N;;` ^  rh"V' ALLOCDIS AllocDisk.PASp>makeboot.PASd be copied to disk? s:os>system> exp>ftpuser.segYEG dmREADDISK ReadDisk.PASz9HRHBQ makeboot Be `aNa*z,-c** Bad boot character.`cNk΁aJ巜ɜ$*34#$*+0:+,?,c0d00ɜN`  N﷜>N﷜dcSystem `cc-boot ` cRUNREAD RunRead.PAS1Y'CX(ezf>|" sys:exp>ezf>BCODE Code.PAS2 switch is not entered,` c cL the user's group ID will remain unchanged. For new` c path.` c c ` c #c ` c cM REMOVEUSER - Remove/Delete a user and his/her cB users, the default identifier is "1". ` c c ` c cM  information. The User File` c c0 entry for that user is deleted.` c c  /PROFILE - is a valid full path to the user's profile file.` c cG If this switch  ` c @N`vjNJ)N`d]/U]}, N.,},k. J}N-c}is entered without an argument` c cI user control will prompt for one. If this PROF` ``k-0*k-9, N. k, Kk-H0J,k,,N.̩}*k,Nk. NNO .R3K I ﷜K  6K  K c ` c c Valid Switches are:` c c c cG switch is not entered the user's profile will` c cG  ` c cL /PASSWORD - takes no arguments, but causes USERCONTROL to ` c cB  remain unchanged. For new users, the default` c c= profile is "SYS:USER>name>PROFILE". prompt for a new password interactively.` c c ` c cA ` c c ` c ͯc ` c c QUIT ` c c ` c cH T If this switch is not entered a default` c cj password of the null strierminates an interactive USERCONTROL session and returns to the` c cF command level. Quit takes no argumenng is established. ` c cF All PASSWORDS MUST BE ENTERts or switches other than` c cH help. If the quit command is issued from the command level, ie:` cED INTERACTIVELY,` c cL to insure secure and accurate password assignment.` c c cG on the same line as USERCONTROL, it serves as a "No-Operation".` c c ` c c ` c cH /GROUP - is an integer between 0 and 255 decimal, which`  ` c c NEWFILE ` c c` c c9 Creates a new User File, destroyic cH will be the user's group identifier. If this ` c cK ng the old file.` c c ` c c` c c LISTUSERS ` c c ` c switch is entered without an argument USERCONTROL` c cM will prompt for one. If this  cI Lists all current users on the screen. Provides each user's name` c c and their profile2 DETAILS #sys:user>brad>newos>d.6>details.PASz ITYERRORS Number of parity errors.P帛 NJ)3POINTALLOWED Tells whether pointing allowed.P帛 NJf\FILEDIR FileDir.PASi'xB'/  IO IO.PA SFebmak makeboot. g-bG %\ dIO_INIT IO_Init.PAS' ct   ,=~ |"V' IO_UNIT IO_Unit.PASZ +P P X19 Feb0 D H4B'IO_OTHER IO_Others.PASm6 D8Xe%XeX d >帛 NJ)-USERNAME: Name of the current User.P帛 NJ)+USERID: ID of the cur%\makeboot ddzCONTROLSControlStore.PASB( x )rent user.P帛 NJ))PROFILENAME: Name of profile file.P帛 NJ)*PARTITION: Partition informati)9WRITER WRITER.PAS76 zG %\Won.P帛 NJ)!=LOADEDPROFILE: Profile information that has been loaded.P帛 NJ)/SHELLNAME: Name  STREAM STREAM.PAS'dd..2 '"!w<READER REAof the Shell run file.P帛 NJ)/SHELLINFO: Shell specific information.P帛 NJ)*DISKSIZE: SDER.PAS6,,,6, 5%\8B8 A%\,DPD O%\\DYNAMIC DYNAMIC.PASa%\ize of the hard disk.P帛 NJ)*TIME: Give the current time.P帛 NJ)!*PATH: Give \d o%\.' %\MAKEBOOTGETLN ASK GETBOOTCFINDFILEFLOPPYADthe current path.P帛 NJ) .BOOTCHAR: Character used for bootingP帛 NJ)3BOOTS: List FLOPPYWRDISKWRITWRITEBLOWRITEWORWRITEMICBOOTMICRSYSTEMCONAMESEGMMAKESEG PRINTMEMLOADFONTLOADSTANLOADCODELOADSEG LOADSTACADVANCE the valid boot characters.P帛 NJ)1SEARCH: List the current search list.P帛 NJ)5LASTFILE: LOADSNAMLOADFREELOADIOSELOADSATAFIXUPDISINTERPREREADINTEWRITEFLOINIT READRUN READCONFERROREXIw<READER REA Default file for Edit and CompileP帛 NJ)+SWAP: Swapping allowed or notP帛 NJ)+IOERRORDER.PAS6,,,6, 5%\8B8 A%\,DPD O%\\DYNAMIC DYNAMIC.PASa%\S: List all IOError countsP帛 NJ) 0MEMORYSIZE Size of the machines memory.P帛 NJ),PAR3   PND r sys:user>?J>ProfileJP valid user.` c c User ID: ` |c`` c c Group ID: ` |c`` c c```)?Pckak|ND rPI  5I  I c`aiiI RR4` c````  PcccF aNhh 'NH NG H %ccI` ccP`P` c c(NG N`I N`oG icn For User ` cc?` c cɺCccF aNhG O cɜM cɜI cc aNG 4"NG N` N`c  JPLI R4E)I PcD ɺa %NG N`I N`?H 0c cv`ajK I iK  i(K  K c`aiiͭNG j`ͫNG  Group ID: ` cD c c  ND ͵I R4rI PLH 1c Prof: ` crcP`P`N`K N`̓NG N`K N`[j'K iNJ)P%NG N`K  c r ProfDefaultPDN`** Internal logic errorN` dMI I G jN`dKWK K G `jE`S NI\B = 8 3N`N`)?P)PD `)rPa <c(Could not make changes to the user file.` c ]G hc?ɺa[G dO cM cI c H ϑ]'*T+,V HELPR3 NK  K K p|H <c Name: ` }cP`P` c },:NN`U)?Pa @cN,** Could not remove user from the user file.` c ]O R4.NG N`vj** You must supply a nameN`d}O Pc}<, }<`O  M R4&N N` NJ)N`G H Ͼc 5 You will be destroying all current user information!` c c& Do you really NameN`pN]}PcNo`c}a(pk`c}a(}pN`͍}Pc~}want to do this? [no] :` c}cP`P` c }' NG c} }Y(NG G &cNew File Created+}}J``NX}pN`Gd'P/c` c ]O R4.NG N`vjNJ)N`G `NG }/HELP c Password: ` }ɺc Again: ` c}ɺ}}@46c"Entries are different. Try again J P G c?ɺaNG G 8c Password: ` cɺe .` c }}@3o`NG }/HELP  J PG G c?ɺaNGJP)?P)Pcka 0caInvalid user or password.` c ͋cc?` c is a3  }c `aqH' N`}N`͚qH' N`}N`qq'ZJm`0>nN ʷ} 3} ɺ3JdcAc} `cAnHnk>)]Jmn) mNm`mHmn)]cATpr)pNJNpHpr)NJNNJNNJNqNJN}}NJ߭he current search paths are: `cAmn)gcA [`cAm``cA}] = "`3mNJ3cAc`"N} # N`DetailsN`}NR3Qconsole:PQ}PcQ3Qdc}PcAcAmHmn)Й]ϘcASwapping ALLOWED to `` a n NJ mNcAc`:c}ao(NJ߭ Ϗc* `ccQ`c already exists.`cbN`)` OverwritePcA n NJcAc`>PcAcA)cASwapping NOT allowed`cAcAIOError counts: `)*ALL Show all of the above P帛 NJ)3CONFIRM [Default] Ask for confirmation.P帛 ? P`}ca}ɺaNs(λs'\cAɜQc````ȼc cc>aN@8cɜ:cɜ<cc>aNJ)1NOCONFIRM Do not ask for confirmation .P帛 NJ)'HELP Print this message.PN?? N`>N`:ɺ8R4VcA=** Details takes only switches and output files as argumentmn)mNJNmHmn) NJNcAH Details gives information about the current state of the systems.`cA\<ɺaN]}3 a5k5'}bogus!d\ k5 NJ 6}7 k6N.`cAcA , Details command line is of the form:`cAcA ! Detail { }`:Jd}7}7 k5 NJJd}7}7>JcAcAG If the parameter is "*" then all the available information will`cAcAD printed. If d}3ɜ.ɜ2N` 2I(2}3 :}7}7Abogus!Jd4}7}7the parameter is empty, then a selection of the`cAcA.A information will be printed. If you wish to specif. Jd}}7d``0c```.c```2c```4c` mNɜ0ɜ4y what`cAcAE you want to see you can specify one or more of the following:`cAmn)CcAeN` } >nk>)F0rnNJ 'c}nJ`$}n0rnNJNnHnk>)кcA>Valid boo ` mNJ)cAc`cAmHmn)нcN} vNJNNJN NJts on device `cAc}`cAI are:`cA>nk>)0 nN cA `naHPcAcANNJNNJNNJNNJN\} !}R4N`}N`}: System = `} m`0 nN ʷ} 3} ɺ3JdcAc} `cAcA Interpreter = `} 4 ASe>utility>others>source>UserControl.PASSYSTEM system.PASle>utility>othersh"V'y>UsREADER READER.PAS2 trol  %\" >source>UserControl.PASCMDPARSE CmdParse.PASx 0 'A999 USERCONTINIT PRINTHELCONVID GETNAME READPAONREADPASSADD HELPKEY KILL WIPEFILELISTTHEMCHECK HE0 ,$:$$:$ 9%\aUSERPASS UserPass.PASZP[#Gk`|laFLOPPYCOFLOPPYCOPY.PAS! Z>UserControl erControl xPERQ_STRPerq_String.PAShX"<zza' BFILEUTIL FileUtils.PASLl ~ ..>binary>UserControlCZP"Y5% UserControl ~ ..>binary>UserControl  oFILESYSTFileSystem.PASntrol ''Q'..>binary>UserControl 8 +FILEDEFS FileDefs.PAS (%\'' PASCAL.RUN4G'ry>UserControlYPST "GETTIMESGetTimeStamp.PASr%$UserC }op)}oNoHop)]}}ʷo}}HN"}}HNo}}HN"}}ontrol ~ ..>binary>UserControl Control ~ ..> rrol nWRITER WRITER.PAS ''''HNo}}HN"}}No}}H]}}(N1}rN}rN'NrHs r'"  ,=~ /nar 4G'STREAM STREAM.PAS8 $Use %\sN}JL}AHN]NM``c` c `` `+'  țc``}h"V'y>UsREADER READER.PAS2 trol  %\" Jfkf)@}AHN}3}dc}3N`/ 3}3dHkf)]}}}Nߒ}NߑNM2qk2)R )  h$ j$$)$ &&S&'A999 USERCONTINIT PRINTHELCONVID GETNAME READPAONREADPASSADD HELPKEY KILL WIPEFILELISTTHEMCHECK HE&'T&&NG N`K N`[j'K iNJ)P%NG N`K LPKEY ~ ..>binary>UserControl Control ~ ..> rrol nWRITER WRITER.PAS ''''SCREEN Screen.PASIO_UNIT IO_Unit.P"  ,=~ /nar 4G'STREAM STREAM.PAS8 $Use %\4  acA``cAmHmq)!nHno)ѧc````c````)Details n`c].12   55 )1.11Jq type /Help for helpJPcADetails version: `cA1.11`>*NPvx,-=cA(Parity cA . Time is: `ccAc`cAcNJ߭\ NJ߭NJ߭8cAUerror information not implemented`cANJ߭7cA"In Store profile: not implemented.`cANJser name: `cAc H`cANJ߭6cAUser ID: `cA ``cANJ߭7cA"Shell info: not implemented.`cAcAQconsole:47c `ccQ`c writte7cA0Group ID: `cA ``cANJ߭8cAProfile: `cAc `cAn`c].12   55 )NJ߭6cACurrent shell is: `cAc `cA NJ߭ϯcA Default device is: `cAcPOPCMDPAPopCmdParse.PASPsys:user>brad>newos>d.6> POS D.65 b-boot CMDPARSE CmdParse. `cAcADefault partition is: `cAc`cAcACurrent path is: `cAc`cAPASQP|6>* dPOPUP PopUp.PAS</\cAN*+mk+)ϯ mNJ߭(ϒN*})m`)JPcA ` mNJcAɭ``cA for NJ߭  NJ߭6cADefault file: `cAc `cA NJ߭BcA Boot character:`cAc}`cA (`cAm``)PcAcAmHmk+)Qk* !cA` ALL ZERO`cA]NcA `NPcAcANJ߭fcADisk size is: `"cAt 24 mbyte.`cArMemory size `K'cA1/4`NK'cA1/2`.K'1PcAN2PcA 12 mbyte.`cANJ߭ NJ߭ NJ߭[ )cAPointing ALLOWED.`cAcAcA megabyte`m sPcA.PcAcA]Jno)Y nNp@cA`Device #`cAn`+cAiPointing NOT allowed.`cA NJ߭NJ߭ NJ߭ NJ߭=cA(Parity `cAN Device name: `pcAc`cA mq) m NJr r n'ϽcA `rcAcerror information not implemented`cANJ߭7cA"In Store profile: not implemented.`cANJ`cA : Start= `r acA` ` I`cA  End = `r acA` ` I`cA Free = `r 7cA"Shell info: not implemented.`cAcAQconsole:47c `ccQ`c writte5 3pk3)`}m N``˼}ɛ '$}4ʷ} )}4` )JPc** Floppy Error: `cc} `}4NMcc7Insert formatted blank floppy and type carriage return.`cDcɺL M,KI'NMc\ c [SoftStatus = `}4c``c, HardStatus = `}4c```c]J L M(H L`M'}7}dc}7ɺc3c}7c}5c}5a'Lc ** DiskFile `cc}`c `cq'p'ωNMc ** Aborted`c Track: `}Ncɭ``c Sector: ` not found!`c͗c}7c Writing file `cc}7`c onto the floppy.`c4 J}Ncɭ``c\ c Retry.....`c Track: `}Ncɭ``c Sector: `jk4kj) ``k4KHk4H4k4kj)DPjkj)C3Jkk3kk))cɛNJ݀k3N`k3H3k3kk)גHkj)}Ncɭ``cpHpk3)`} N``˼}ɛ qHqk2)ѮNM]cType carriage return.`c6k65jk5kj)@ N`NJ݀ɺ M ͅH, k6H6k6k5H5k5kj)4 Jjk4kj) ``k4KHk4H4kDcɺM,KJ L LM(H, L`M'c}ɺc* Writing file `cc}4kj)HM',M(D)copyP帺 (i33X+339= 334z`c onto hard disk.`cLϱ3}dc}3c}3ac}(ϋ}8}c% already exisjy*,&3V)) ,c4 Jts on harddisk! Delete? JbN`)}8P`ca( N1G3}da7k76FILEUTIL FileUtils.PASP PSys:user>dcf>exp> POS D.65 b-boot FILESYSTFileSystek6k)K N`NJ݀ɺ M ```H, k7H7k7k6H6k6k)еDPk)C5Jk5k))cɛm.PASQP|61>* dFILEDEFS FileDefs.PAS:NJ݀k5N`k5H5k5k)גHk)н4 Jk4k) ``k4KHk4H4k4k)HM' ```,M(T#\PASCAL X aGETTIMESGetTimeStamp.PAS! (/$ ```D)masterP帺 c verifying `cc}`cc~, ɺL`+k+*=X0a|61&%opy J@FLOPPYDEFloppyDefs.PASDF0FZPY@  k*l= )C N`},NJ݀cɺ M \ H, k+H+k+k*H*k*l= )н= l= )F)J> k)l> ))c~, },NJ݀k)vlvjPOPCMDPAPopCmdParse.PASfD*)  floppycopy DfDN߭`k)H)k)l> )גHl= )кH,>cc~, ɺa$c verify good`c*ce ** CRC error`c ,=~ /;CMDPARSE CmdParse.PASoppycopy%%= N D 48 5  ,=~ /GETTIMESGetTimeStamp.PASs%%%= N  4XDETAILS INIT DOHELP HANDLESWFIXOUTPUREADCMDLGETNAME PRINTDIBSHOWBOOTSHOWSEARSHOWSWAPSHOWIOERSHOWMEMOSHOWPART PERQ_STRPERQ_String.PAS*( PASCAL.RUN|6 K) !SYSTEM System.2(%X% WRITER WRITER.PASPAScom ~ J@I  JALLOCDIS AllocDisk.PAS%a%FTPUTILSsys:user>guest>ftputils.PAS % ndn  ,=~ / ||6 )ARITH Arith.PAS ZfX ?LERYfD details READDISK ReadDisk.PASddndm  W%ApDISKIO DiskIO.PAS{  cCOM6IO_UNIT IO_Unit.PASad>newos>d.6>details.PAS nINnNȑ'N\c`` c`` HKLHc m``m` ``c` ``c` `CLOCK Clock.PASbrad>newos>d.6>details.PASMEMORY Memor`c` ``c` `N`N`a`a`a`a`ay.PASomfcQ<0J#\FILEDIR FileDir.PASad>newos>d.6`a˼N!]N}NN \1 `}a0}NNHd >details.PASIOERRMESIOErrMessages.PASpHp'r'έqHq'r'Μq'N}}NN]P'' rw) rHrw) `nN`J#\PASCAL X aFILEUTIL fileutils.PAS! /$2(%X% WRITER WRITER.PASX0a$0#\% J@FILESYSTFileSystem.PASDpZPY STREAM STREAM.PAS%lvlvFILEDEFS FileDefs.PASf s  details ffDYNAMIC DYNAMIC.PAS@6IvJX6 WRITER WRITER.PAS%P帺)@ 6) Make command files to compare programs between partitionsP帺) or directories.P帺)4 STREAM STREAM.PAS@6I1vJX 7) Make command files to verify files using PLX.P帺)P帺): System backup floppys are divided into classes INITDUP READMASTWRITECOPTERMINATFINDUP CRCINIT CRCENTERCRCEQUALNEWFILE FLOP VERIFYCR.PASPASwhich areP帺)< defined by the text file Perq.Files. For example, all theP帺)> sources of system modules arePOPUP PopUp.PASP5> @9  PASCAL.RUN|6 1K)$ !@IO IO.PAS  <com @~ EE@ F FQJIO_INIT IO_Init.PAS%%a%PERQFILE1sys:perqfile>utility>others>source>perq.files.pas r@3ndn@  ,=~ / ||6 1)IO_UNIT IO_Unit.PAS8fDX ?LERYfDD floppycopy IO_OTHER IO_Others.PASS IOERRMESIOErrMessages.PASUTILPROGUtilProgress.PASJ@61Xnd cc}`c])}P帺)P帺)$ The Perq.Files program is used to:P帺)P帺)0 PERQ_STRPerq_String.PAS floppycopy SCREEN Scree 1) List portions of the Perq.Files text fileP帺)= 2) Make command files to create or extract files from theP帺n.PASomfDc:T#\MEMORY Memory.PAS.PAS)? system backup floppys by making PLX command files to getP帺): files from the floppy or put files onto DYNAMIC DYNAMIC.PASPASthe floppy.P帺)A 3) Make command files to move system files from Perq to Perq.P帺)+ 4) Make command files  to link programs.P帺)@ 5) Make command files to copy programs between partitions orP帺) directories.6 a-NnNHd oHo's'΍pHp's'{p'NN]''''sPacket of type ` nc  ReadText ` c  AskReadText ` c  ReadBinary ` ͳc AskReadBinary" g! N`ɛɛ`sHs'rHr' r'N"}N\ N!N"}}ʷ  ` ͔c Abort ` ~c ACK ` jc FTPEOF ` Sc StopVax ` :c CheckSum error ` }c}ɺaN}(\ }qN}c}ɺaN}(\ }q}}}H}Jtk)J}c}dAJ'B[xc read.` nE(c  Waiting for a "`  c  c  " packet.` c  ɺaN}(\ }}qH}tNqNtHtk)ж}c}ɺaN}(\ (}NN}c ** Protocol Error.` c  )Protocol error!!Pc~ɺ c}FN`c~ɺ a 6c  ** FTP Could not N}}qH}}}L8 C c  c} JN``}ɺ}(\ B}ABORT transfer.` c  ͠c  c ** Remote machine sent - `  c c}` c  KNJ2k(8 C c  c} JN``}ɺ}(\ ͸}N` # c  ȑ''}} ʷ } ol2)'kHN c  kHkl2)c  `c~ɺ ]pN }}ɺ }( N\ }p(NN]N} pH} } } H}} N` aN}(\}} N` aN}(\pJ tx)Q} N ؚ#﷉#H#}#﷼3}*dak'π) Bad path or file name specified.Pc}ɺ k(kN`}T} } tNH}} tNN` aN}(\tHtx)Я} } I} }}N` aN \c}TFN`c}ɺ a kN`}T\\kSc}}*c```` c}}*c```` }W}P'}NoNNpH''`! N`ɛɛ`N!N`ɛɛpH` }N }kk)kH}WkkHkSc}TAN`}H`c}ɺc}TCN`}H`c}ɺk(kN`}T\c}TFN ! c  ]m(? *m}N}N}N}N Nmc}FN`k`}ɺȚ }.N`c}ɺ a kN`}T\kU'a '}}WNN}}WNNNk( kKHL }P(}kk)kH}kkH`mc}+EN`}H`})ɺ]c}IN``c}ɺ]c  ** FTP Error:` m(kKHL Ϫc}THN``c}ɺk(kN`}T\c}TFN`c}ɺ a ϊkTG'R`c}ɺ kS c} c}m]~  Timeout error.PL~  Checksum Error.P,~  Raw I/O Error.P dc c~ ` c  k`N`N`N\0 kS c} c} kN`}T\kSakUJkk)M}WkN  m(i)~ Pc~ɺ c}FN`c~ɺ a =c '** FTP Error: Could not ABORT transfer.` c  c  ' c} '}^^c }WkNNc} kHkk)гn VkUJkk)B }WkNNkH7  PLXPut - put files to the floppy.P帺). PLXVerify - verify files on the floppy.P帺)e/ FTPGet acceptable, and an asterisk matches any name inP帺)= a certain position. This question is asked repeatedlyP - get files from another Perq.P帺)- FTPPut - put files to another Perq.P帺). Link - link)? until an empty line is entered. All classes listed willP帺), be included in a single command file programs in the class.P帺)l@ Copy - copy files between partitions or directories.P帺)C Compar.P帺c mn)m(NJ-c `oNJ)cc`o(M.coNJ)cce - compare files between partitions or directories.P帺)$ Quit - leave Perq.Files.P帺)iP帺)`o(#.coNJ)cc`o4c - `occ`cmHmn)1cc]cc}h Output command file name:P帺)3 Name of file to write the PLX commands onto.P帺)P帺)d Sides`}+)4&c [`cc}+`]cc: `}cP`P`c}R3 }}+PP" } (1 or 2):P帺)= Number of sides to use on the floppy for PLX commands.P帺)9 This is asked only once c`c! }c`c}}{Pc}{4 c c}{c}R. c c}{ in the class called OS.SOURCE.P帺)P帺) Command form:P帺)P帺)! Perq.Files P帺)P帺)= is the name of the file from which Perq.FilesP帺)? commands are r Density to use on the floppy for PLX commands. This is askedP帺)5 only once when the first PLX command is tyead--if absent, commands are read from theP帺) console.P帺)P帺)A is the name ofped.P帺)P帺) Path name:P帺)A Path name to use for disk files for PLX and Link commands.P帺 the file to which a transcript isP帺)> written. This transcript may be used later as an inputP帺) )P帺) Source path name:P帺)C Path name to use for source files for FTP, COPY, and CompareP帺 file.P帺)P帺)P帺)@ When reading from the console, Perq.Files prompts you with theP帺)  ) commands.P帺)RP帺)L Destination path name:P帺)[@ Path name to use for destination f following questions.P帺)eP帺)P Command:P帺)c. Command chosen from the following list:P帺iles for FTP, COPY, andP帺)I Compare commands.P帺)P帺) Class name:P帺)6 Name o)P帺)m$ List - list the entries.P帺)t- PLXGet - get files from the floppy.P帺)+ f a class to be included, chosen from theP帺)6 following list. Uniquely abbreviated names areP帺)L6 7 N`}+\NNc}c}ɺ k(kN`}\8o׉k)*}NHNNHk)aNsmN! N`ɛɛ`N! ,mNN"N!1aNd gnc !File write request for text file ` c c}-` c  received` c  `c}ɺ k(kN`}]UVWUVXL`  \)}P)}-PN`aNc  {c #File write request for binary file ` c c}-` c  received hj++JB ~ b@ ST NNc} kHkk)оk`k`}kHR] N~[}P4#﷉#H#~#﷼3~[dc~2c~3` c  `c}ɺ k(kN`}\)}P)}-PN`aNc  c  File read request for texaYlY's)File not found.Pc~1ɺ l1(l1N`}\c}FN`c~1ɺ a l1N`}\\t file ` c c}` c  received` c  )}PN`aNc  Oc "File read request for binarl2'v)File has 0 blocksPc~1ɺ l1(l1N`}\c}FN`c~1ɺ a l1N`}\\ y file ` c c}` c  received` c  )}PN`aNc  N`}\͸AN 4k*c~7~[c```` c~I~[c````  l2KHL l2KHL l2`c~1ɺ l1(l1N`}\N`})(Protocol Error: Expecting Read or WritePc}ɺ k(kN`}\c}FN`c}ɺ a kNNG5c}+HN`c~1ɺ a l1N`}+\lG Ϝk*_~7^^c }l5N N!}l5N~7^`}\\dAGA7LJ]N NN"NN!}N}N}N}!N}AN}aN^c N~7^^c R }l5NlXNc~I /lY`l4`~l4H4l4l2,NG5l5 `c}]kTNkUNkSN N 'Wc 5** You can transfer a Text file accross FastEtherNet.` c  N+ϊHc}FN`l5H`c~1ɺl1(l1N`}\c}+HN`c~1ɺ a -k+J'C c  ̘l1N`}+\'' c}ɺa(}Y}P}}*PR}*HHښ9k݉k)*HN}YNNH\5l5H5k*'~7^^c  NGl5J5~I  NGl5J5]l5 k* ''l5H5}lk)֖c}VBN`k`c}ɺc}VDN`k`c}ɺk(kN`}V\c}VFN`c}ɺ a kN`}V5NNc}FN`l5H`c~1ɺl1(l1N`}\c}+HN`c~1ɺ a k+J'C c  ̘ c}\aNȖ'Sc 5** You can transfer a Text file accross FastEtherNet.` c  N\kTNkUNkSGN``c~1ɺ3Nl2Nl3c}GN``c~1ɺl1(l1N`}\c}+FN`c~1ɺ a l1N N'' c}Vɺa()}P)}*PN`aN m͒ `ca'NN 8 c}`c" not `kH,kH,kH,ceunique`c found`cc}{) Class nameP ccc}R`cc}{`țI4I>' cI``I! IJPc)eP帺k}{3 ] (T kT)% (NJ-,N H kT)ccc}))CommandP)cccI`cci ! Created `cc `cc^^c '^^c   cHelpP帺})c `a' ,NRkRx'k 'c non-unique`c unknown`Λ^^c (^^c   cΛ^^c '^^c   cΛ^^c>(^^c command "`cc})`"cckR ( '\BBYBYX sN c )Sides (1 or 2)Pc  ϽcIcP`P`cI *}o P&}I` `JP} 4)2P帺c )Density (single or double)P)singleP帺BBYBYBYX)c# ) Path nameP)# Ec}cIB c}cIc} c}cI c}cIc} c}cIPsBBY BY BYXacu )Source path nameP)u PcL )}Destination path nameP)L Pcr c}cIc} c}}:LINK3ϣ'Ϙc}c}R=c}c}``})}Pc)`Output command file nameP)P帺c}) Class nameP)P帺}4}P3]c}kLink `cc# `cc}R`})4&=ccc# `cc})`cBBYXrcFTP `> c c}}). c c}.c c}}+. c c}`.c'cGet `cPut `)u P)}P)L P)}P ccBBYBYXϴ'Gc c}}-. c c}o- c }/}PP]}3 })͓})}cɊ`aGet `)P)}P)# P)}P cb'cPut `cVerify `)# P.c c}{c}). c c}{.c c}{c} c }Rt31}R})㭊,gH,:c# too many names in file Perq.Files.`c\})ˊNJ)}P c*3I}RcɊ`a})31})n*3I})cɊ`a}31^^c>(^^c   cΛ^^c   H (,8cs too many classes in Perq.Files.`}p*3I}cɊ`aN kk)Tk(NJ-kk'kI'kk'kI'kk'kI'c\cIcP`P`c (NJ-{)IPc}Rc})c}k{cɺ)}RPk{cɺ)})Pk{cɺ)}k,NNkHkk)Ьk cr class "`cc}R`})4<.ccc})`}g4.ccPk{cɺk{,N^^c>(^^c   c]cc}`cc})`})*c `})J`8  FILEDEFS FileDefs.PAS FLOPPYDEFLOPPYDEFS.PAS 3  GETTIMESGetTimeStamp.PAS   UTILPROGUtilProgress.PAS   MEMORY Memory.PAS ALIGNMEMAlignMemory.PAS DYNAMIC DYNAMIC.PAS ] 8*+[: STREAM STREAM.PAS  WRITER WRITER.PAS  FTPGETFILE FTPPUTFILE FTPCHKDEV SENDSTOPVAX FTPINIT WRITEPACKET SWAPBYTE NETALLOCATE GETBYTE PUTBYTE READPACKET SENDACK SENDABORT WAITPACKET FTPERR READFILE WRITEFILE ETHER10I Ether10IO.PAS SYSTEM System.PA SERVICE S IO_UNIT IO_Unit.PAS  FILESYSTFileSystem.PAS 9 cCompare `)u P)}P)L P)}P cccI`c^^c>(^^ccc `cc Fast`c  )}^^c>(^^c   ccIcP`  .cIcP`P`cccI`c̩c````c````c Perq.Files `c1.3P`c (NJ-,'  H )ЃcN  'Ϧc! cT"#`c type Help if you need it.`cc Perq.Files````c  c c c  CMDPARSE CmdParse.PASP Psys:perqfile>utility>others>source> POS D.65 a-boot SYSTEM System.PAc c c c c c  c c ' c c c  cSQP|6<>* dPERQ_STRPerq_String.PAS#\ c  4 CONSOLE:4N" " cɜ c```` 4N! ! cɜ c````c#\PASCAL X aCLOCK Clock.PAS! (/$N N u EP帜L P帜# Pc  NJ)HELPP帜 NJ)LISTP帜 NJ)PLXGETPX0a|6<&%.filJ@GETTIMESGetTimeStamp.PAS?~? ZPY8 帜 NJ)PLXPUTP帜 NJ) PLXVERIFYP帜 NJ)FTPGETP帜 NJ)FTPPUTP帜 NJ)LINwvlvpzWRITER WRITER.PASsf.e7 perq.files.pas f.KP帜 NJ)COPYP帜 NJ)COMPAREP帜 NJ)QUITP]c````c```` perq.files.pSTREAM STREAM.PAS%%%%perq.files.pas N .\ 48R \ (Hcɛrc````c Perq.Files````BBYBYXjcSides `cc `ccDensity `READER READER.PAS@#> @, PASCAL.RUN|6 <K)9(!8PERQFILEGETCOMMAcc `cc Fast`c  )}^^c>(^^c   ccIcP`HELP W GETWORD NEWNAME GOBBLELIPRESCANPNEWNAME CREATECOWRITENAMLIST INITIALI~? ZPY8 P`c (NJ-,'  H )ЃcN  'Ϧc! cT"#PRINT SYS:USER>EZF>NEW>PRINT.PAS8A#\:,DPDO#\\^T ^  Ur))TT11tL|J++N )}P)P)}P c͠ 'HcCopy `)u P)}P)L P)}P cP 'HL78R"XjcSides `cc `ccDensity `9  J#\((IO IO.PAS (*  )  - special Keys during insertion %S - Substitute for selection %Accept - (Use INS) to do A,I,S,R,F %D - Delete the sel|62( 2 '(IO_INIT IO_Init.PAS('^T ]5ected text %Reject - (Use DEL) to abort A,I,S,R,F,G %F - Find a string in file %R - Replace occurrences of string %Poinl {vl wIO_UNIT IO_Unit.PAS#\*B  floppydefs 5f5ter - to select text %V - Set Verify mode for R %Scroll - see adjacent view %* - Select entire file  floppydefs yIO_OTHER IO_Others.PASS %Thumb - see remote views %< > - Set direction for F,R,G,L,W %digits - Set repetition count %INS - Repeat last A,IOERRMESIOErrMessages.PASUTILPROGUtilProI,S,R,D,F,G $KeyCommands - Index of keyboard commands for selecting text REPLAY Transcript/Replay gress.PASm floppydefs 2~&(J@ 3 3(JPERQ_STRPerq_String.PAS%a% ----------------- The Editor writes a transcript file during every edit session. The transcript is a filendXndn2  ,=~ /yde ||6 .)SCREEN Screen.PAS f5X which contains a description of every keystroke and puck or pen press performed during an edit session. This transcript?LERYf5D JBOGUS  is written to the file ">Editor.Transcript". The transcript may be replayed later. This feature is intended for use whenIOERRMESIOErrMessages.PASUTILPROGUtilPro the Editor or the PERQ crashes during an edit session or if you make some disasterous error with the Editor. The Editogress.PASm floppydefs 2~&(J@ 3 3(JPERQ_STRPerq_String.PAS%a%Editor V2.0 Help Copyright (C)1981, 3RCC %Q - Quit (leave the editor) %HELP - HPOPCMDPAPopCmdParse.PASPSys:user>dcf>exp> POS D.65 b-boot CMDPARSE CmdParse.ow to use this Help information %Introduction - general instructions %E - Extend selectionPASQP|6.>* dPOPUP PopUp.PASp [0 to pointer %Replay - Play back the most recent edit %I - Insert before selection %A - Append after selection %Keys: `  `  aN` m` (np) nHnp) ]#' mN` #' mN` cc/  /WIDE wide characters - 10 CPI (default: `cNARROW).`cc< /NARROW narrow chara Print - the PERQ printing program.`cccaF Print sends files to various printers. The printercters - 16.5 CPI (default: `cNARROW).`ccoL /SHIFT= shift the listing spaces to the righ s which are`cc_J currently supported are: a lineprinter (such as the Texas Instruments`ccK  model 810), Diablo 630 and the Hewlett-Packard 7310A graphics printer.`ccM Switches are available to set ch k'c [Aborting]`c#'   mN`}k'N`N`gPrinter erroraracter height, set character width, set`ccJ tab positions, shift the output to the right, produce multiple c: )m` )JJN`]c}}}}m(?}qH`qHpr+}p}pJopies`ccF of each file, include a title or header and select which printer.`ccI If the fNpJpr+}mN]Nl})cl}l-'N}l09D-BYXl K}lH0JN`}ile doesn't begin with a form-feed character, Print supplies`ccI one before the listing. A form-feed charactN`lH̒llIlkk'}l0 }lk()k MGk0HNkN`c}ɺk Ler is always supplied at`ccI the end of the listing. Print will initialize the printer using the`ck*-N`c}ɺ}}]c** `cc"`c is not a valid baud rate.`c Using `cc6 switch options even if no file name is specified.`ccc: Default settings may be included in %``c instead.`c"%`J)"PN`] `mN` ak(k(k(k})k` the user profile:`cc0 It has the form: #Print /lineprinter`cc+ )JN`Printer error: }JN`m'Ϫc!Printer timed out /tabs=4`ccc Command form:`cc+ Print FileName {, FileName} {/Switch}` putting a byte.`cc2Press RETURN when ready to go on to next character`c cc' ccc The valid switches are:`cc7 /TALL tall characters - 6 LPI (default: `'`  _N`Printer error: )m` )JJN`] 'm 'cSHORT).`cc8 /SHORT short characters - 8 LPI (default: `cSHORT).`cc8 : t mode. 2) A command which changes the text is successfully completed. 3) The transcript buffer is filled. Ie most recently inserted or deleted text is inserted. If you Accept, the text you have just typed is displayed f an old transcript file exists, it is destroyed the first time the buffer is flushed. This means that you can re-enter at the top of the screen inside of I{ ... } . D D - Delete the selected text. If you delete text, it is the Editor without destroying the old transcript file as long as you do not do something that causes the buffer to be flushe displayed at the top of the screen inside of D{ ... } . The character which immediately followd. Keep in mind that presses count against the 256-word buffer. If you do not want to destroy the old transcript file, do ns the deleted text is selected. E E - Extend the selection Once you have selected some text, you can ot type any commands, do not press more than a few times, and exit the Editor by typing control-shift-C. To extend the selection by moving the pen to another piece of text and then typing "E". The selection is extreplay a transcript, type "Editor/Replay". The Editor replays the previous edit session and stops just before the firended to a character, word, or line boundary, depending on the type of your last selection. Commands that change the selst command. You can control the replay by typing one of the following keys: SPACE stop replaying after the next chection (other than Extend) set the type to character. Unfortunately, you can make the selection larger with aracter or puck press. CR stop replaying after a carriage return in I command or after next command ifExtend, but you cannot make it smaller. In order to make the selection smaller, you must start over by selec not in I command. LF stop replaying after next command. INS begin replaying and stop when one of the aboveting a character, word, or line. F F - Find a character string starting at the beginning of the selected text.  keys is typed. DEL exit replay mode. If no DEL key is typed, the Editor automatically exit When you type "F", the top line shows the prompt Find: enter target string Type the string s from replay mode when the end of the transcript is reached. Once you have exited replay mode you can begin editinyou want to search for and then Accept or Reject. Rejecting aborts the Find command. If you Accept immediag normally, but we suggest that you Quit-Update as soon as possible. A A - Append text after the selection. Type text untitely after typing "F", the previous target string is used. Lower case letters in the target string will match any r saves keystrokes and presses and writes them to the transcript file whenever: 1) A carriage-return is typed in Inserl you are done, then either Accept or Reject the insertion. If you Accept immediately after typing "A", th; the TI 810 (or similar) lineprinter.`ccD /DIABLO initialize to use the Diablo 630 daisy printer.`TitleN`@}nR3 }N'N`cNoTitleN`}}``d`}ccE /PLAIN no initialization for use with generic printers.`cc) /HELP give帺a}}```}帺aͫ} }``d`}帺ä́} }```}帺a help for Print.`c~###!!! Default} p} ~}}}~4#\}}```}帺a2}}%`n`%`}帺aNNNN~}alq*lr,cr** `cc}`c ranges from `cq``c to `crN`%The Canon printer is not implemented.N`͜N`}N`yN`}N``.ccN` ** ~P is out of range.J`VN`}N`3d M*O s3 >h}}ͤ]\]t (default: 0).`ccC /COPIES= makes copies of the printout (default: 1).`ccN /SJN`l} NJ) BAUDP}NJ)BREAKP} NJ)CANONP}NJ)COPIESPTART= page of document at which to begin printing (default: 1).`ccJ /STOP= final page of do} NJ)DIABLOP}NJ)HELPP}NJ)}HPP}NJ)f LINEPRINTERP}NJ)PLAINcument to print (default: last page).`cc; /BAUD= sets the baud rate to for printing`cP}NJ)NARROWP}NJ)NOBREAKP}NJ)NOTITLEP}NJ)SHIFTP}NJ)SHORT (default: `c%``c).`ccDA /TABS= tab stops every characters (default: 8).`P} NJ)STARTP} NJ)STOPP}NJ)tTABSP}NJ)sTALLP}NJ)TITLEP}cc@ /TITLE prints a title line at the top of each page`ccK (defaultNJ)WIDEP} S} }c}`a}R3 }N$N`iTallN` is NOTITLE for *.Doc files, otherwise TITLE).`cc% /NOTITLE omits the title.`cc: /B}R3 }N%N`fShortN`͚}rR3 }N$N`WideN`REAK prints a break page between listings.`cc* /NOBREAK omits the break page.`ccW}R3 }N&N`tNarrowN` }R3 }N%N`PBreA /HP initialize to use the Hewlett-Packard 7310A.`ccK /LINEPRINTER initialize to use akN`}uR3 }N'N`wNoBreakN`̈́}sR3 }N%N`; that you get a chance to change your mind before it's too late. If you update or write to a file that alr, the previous replacement string is used. This means that to replace with nothing, you must first type a character eady exists, the Editor saves the old version of the file by adding a "$" to the end of its name. This allows you and then delete it with the BACK SPACE key. In the absence of a repeat count, all occurrences within the sel letter in the text, but upper case letters in the target string will only match upper case letters in the text. I to get the old version back if you decide you made a mistake. You can safely edit the backup file since it hf the target string is found, it becomes the selected text. Note that the target string is shown at the top of tas a different name than the new version of the file. While it is never a good idea to type control-C while you'rehe screen inside of F{ ... } . A Find command can be done in the reverse direction (toward the  in the Editor, you should not type it while the Editor is writing the new copy of your file. You will lose the nbeginning of the file). See the section "Reverse Direction". You can ask the Editor to search for a specified nuew version of your file, and the old version will be in the backup file. If you type control-C before writing thmber of occurrences of the target string by preceding the command with a number. See the section "Repeat Coue new file or type "E" to exit without updating, your file will remain unchanged regard- less of any changes you nt". I I - Insert text before the selection. Type text until you are done, then either Accept or Reject the insermade with the Editor. R R - Replace occurrences of a character string with another character string inside the selectedtion. If you Accept immediately after typing "I", the most recently inserted or deleted text is inserted.  text. Typing "R" causes the prompt Replace: enter target string at the top of the screen. Type in a stIf you Accept, the text you have just typed is displayed at the top of the screen inside of I{ ... } . ring and then Accept or Reject. Note that the target string is displayed inside of F{ ... } just Q Q - Quit from the Editor. When you type "Q", the screen is erased, and a list of options is presented.  as though you were using the the Find command. Capital- ization is ignored. If you Accept, the prompt Re U to update W to write to another file E to exit without updating R tplace: enter replacement string is shown at the top of the screen. Now you can type in the new string which will o return to the Editor : Type one of these letters followed by RETURN. The RETURN is required so replace occurrences of the target string. If you Accept before typing any characters of the replacement string< ge k3`JJJE}`. . . }`}`}}3 `JJ}3`Shift: `J}k_JH`k_`JJ}`}` }5JJ`Copies: `JJ` TabstJ}`}`} Page k3`JJops: `JJ`}c}㫄`㫄mk)}m$NmHmk)J`}`k4``]}  c}㫄`}kk)}k NkHkk)}`]c[Printing break page...]`c N` 3}d``3}d3}d`` 㫄 JHkk+}k$NkJkk+ kk)}k$NkHkk) ``N` ]}͙}g lineprinterc}N}N } }P}NN`  5N`kkk)}`kHkk)``}3 F 4N` N`  7N` 6N` N` 3N` Hp)pN` pHN` }hile: }JJJUser: HJpc}N}N}O}N ` N` 3N` pr) N` pHpr)}㫄pr)1p}3JJ``` Printer: JM'N` 1N`  N` pHpr) N` }diabloc}N}N}P}NdpJPRINT}J}4})cɜ'cɜ+cc-aNk nc*`}3Width:  ;}3}3}NarrowJ5}3}3Wide* `c(Error encountered while reading Profile.`cN`-N`/+}}}}}}J}3`}3Height:  9}3}3ShortJ6}3 } }}}ɺ}J ]},Qkkk) N` kHkk)}kk)}kN` k}3TallJ}3`}3Title:  8}3}3YesHkk) N` N` ] N` m, N` mJ]c}5 &P)#_<_}k_)}`}}`}`J4}3}3NoJ}3`Start:  }5JJ}`}`g Pa`JJ`}3Stop:  '7}3}3endJ?}3<  After substituting, the character immediately following the deleted text is selected. Be careful with this commandplace command. * * - Select the entire file from beginning to end. Accept Accept and Reject Many Editor commands requir. It is easy to confuse Substitute with Replace. There is no way to "undo" a Substitute command because you cae that the change be Accepted or Rejected. Acceptance is signalled by typing the INS key. Rejection is signalled by typing nnot re-insert the deleted text. Attempting to re-insert the most recently inserted or deleted text will mthe DEL key; in this case the change is not made. Reject Accept and Reject Many Editor commands require that the change beerely re-insert the text you just typed in. The deleted text is gone forever. This means that if you type "S Accepted or Rejected. Acceptance is signalled by typing the INS key. Rejection is signalled by typing the DEL key; in this" when you means to type "R", you may accidentally delete a large portion of your file and have no way of  case the change is not made. < < > - Reverse direction. These keys control the Reverse Direction flag. The Reverse Diection are replaced. If a repeat count is typed immediately before the "R", a specified number of occurrences agetting it back. V V - Toggle Verify mode. When you type "V", Verify mode is turned on or off, depending on whethere replaced, starting at the beginning of the selection. See the section "Repeat Count for Find and Replace".r it was off or on before. When Verify mode is on, a "V" is displayed in the upper, right-hand corner of the scree The direction can be changed in the same way as for the Find command. See the section "Direction of Fin. In Verify mode the Replace command gives you the option of replacing, not replacing, or aborting at each occurrend and Replace". S S - Substitute new text for the selected text. This command is similar to the sequence "Insernce of the target string. The prompt Replace: INS replaces, doesn't, DEL aborts is displayed fort, Delete". Type text until you are done, then either Accept or Reject the insertion. If you Accept immediately  each occurrence of the target string. The target string is indicated by a double underline and by the cursorafter typing "S", the most recently inserted or deleted text is inserted. If you Accept, the text you have just t arrow (if you keep the pen away from the tablet). This double underline is difficult to see, but it's there. You may yped is displayed at the top of the screen as the most recently inserted text inside of I{ ... }  now Accept the replacement with INS, you may skip over this occurrence by typing the space-bar, or abort t and the text you have just deleted is displayed at the top of the screen inside of D{ ... } . he replace command with DEL. Verify mode is turned off after execution of most commands including the Re= N` 1N`  N` pHpr) N` ͉}plainc}N}N}P}NHN`N [cck7`` 3}dk7``HH66c!c}c}ɺak7 )k6'Zk7H7 cck7Unsupported printer.N`dDX]}NN}J' LJ}t))}}``k7+k7 )N 3}dk7``HH66 B BY BYX5! B BY BYX "8mk8) N` mHNN}}HW}J*D}}H`}`}NN}` NN}mk8) !N` ! 'k6H6k6 +! '! ( N` 6!N `  (k7  N` ]cR39c** `cFilename is empty.`cͩ}c3)( .Pas .Micro .Cmd .Dfs .Doc .Mss .Prose P}c, k7JH7k7H7[cck7``c * `c``c pages printed.]`c}} a}'# N`}N`-N}}' } } }L]cc** `J'㫁'   N N N N}N %)Print c Unexpected end of file.`ccconsole:````V*}帜-帼c}c~aNV2.13. Type "Print /help" for help.JJPc} c}c} c} c}c}c} c}l (l ($ N`PrintN`)cɜ'cɜ+cc-aNN)l,N}c}c}ɺc} c}c} c} c}c}c} c}c}c}ɺ"k`J)"PN`}ɺx }'/ > `))P帺JlJ``J.DOC4Nl N`-N`+}}}}}} } `}c`) -)c}c}c}c}ɺa)) c````c````cɺc}}}ɺ'R4' "N`PrintN`)R3) AcFile(s) to print: [Exit]`c]F11YZ)`}c3)( .Pas .Micro .Cmd .Dfs .Doc .Mss .Prose Pc}cc a}i4k[ccc}`"$atbrc] `^^c}}cc}c``cc}c``c}.))055$/E1N` doJ `c} a(No'q'p'q'q(?N` Could not initialize the Diablo.N`)cɜ'cɜ+cc-aNNlϩ})dc `cc}`c ==> [`c`]c `c} a'N` N` PN` N` 2N` pr) N` pHpr)}㫄pr)1pM'c7k7+k7 )N``3}d-c c}c}ɺa( ( N` = e last command. Typing the INS key at command level repeats the last command. Only certain commands may be e pointer into this bar, it changes into an up-pointing arrow at the left side and a down-pointing arrow at the right side repeated this way, since it is kind of silly to repeat some commands (e.g. "*", "E"). The "A", "D", "F", "I", "R". If you press down on the pen when the arrow is pointing up, the line that the pointer is next to is scrolled to the top o, and "S" commands may be repeated this way. HELP HELP - Get explanations Type the HELP key (or DEL HELP if nef the screen. If you press when the arrow is pointing down, the top line of the screen is scrolled down to the line thacessary) to get to this set of explanations. Each time the help subsystem prompts, you can type one of the lettert the pointer is next to. Thus if you put the pointer near the top of the screen, by pressing repeatedly, you can scroll ss or words that appears before a dash in the index above. You need not type more of the name than is needed tolowly through the file. If you put the pointer near the bottom of the screen, you can move through the file in large ju distinguish it from all other names. To exit this Help, just press the RETURN key. For a general intrmps of pages. If you put the pointer near the middle of the screen, you can move through the file in half-page jumps. Thumboduction to the editor, type the word introduction followed by a RETURN. digits Repeat The Thumb Bar ------------- The top-margin line is called the "thumb bar". When you move the pointer to Count ------------ Typing a 1- to 4-digit number before pressing a command tells how many times it is to be do this line, it changes into a circle. Think of the thumb bar as a linear representation of your file. The left end of threction flag causes most commands to work toward the front of the file instead of the end. Commands affected are C, W, L, F,ne. For Find and Replace, the number specifies the number of occurrences of the target string that you want to find or r G. The flag is turned off by all other commands except M, E, V, N. It is also turned off by F, but the old direction is remeeplace. This number is displayed in the top, right-hand corner of the screen after the letter "R" (which stands for "mbered if the F is repeated with INS. Typing a ">" sets the forward direction (toward the end of the file) for Find repeat count"). The number of occurrences actually found or replaced is displayed in the same corner following the letteand Replace commands. "." and "+" are synonyms for this command. "<" sets the reverse direction; "," and "-" are syn- r "C" (which stands for "count"). This number increments as the Find or Replace command executes. Scroll The Scrollonyms. The current direction is displayed as an arrow in the upper left corner of the screen. INS INS - Repeat th Bar -------------- The area to the left of the left-margin line is called the "scroll bar". If you move th> 5W%A5jGPIB GPIB.PASEW>PRINT 5  5%(,%*c33#$&O33P;#<##$''s( t(h)),COM%6PROFILE Profile.PAS%EJ@6/XQ EXbX:aR  nd33j))9,/F11YZ)STREAM Stream.PAS @1# SYS:USER>EZF>NEW>PRINT :%:WRITER WRITEPERQ_STRPERQ_String.PASPsys:user>ezf>new> POS D.68 d-boot FILESYSTFileSysteR.PASomf4c:  jI5#1#STREAM STREAM.PAS:m.PASQP |6/>*  ; dFILEDEFS FileDefs.PASz%w|2Ja| |6/ )JREADER READER.PAS's#\##\CAL Z aGETTIMESGetTimeStamp.PAS! ((/$2(%X% <8DYNAMIC DYNAMIC.PAS\\&^T^\*R ?Z0a|6/&%R>EZJ@FILEUTIL FileUtils.PASDD5j5 ZPYC <+$?\<<<F<EPRINT ERROR ERROR GPIBERROUPPER PREPENDCSTRTOINTINTTOSTRBADBAUDRRSENDCH GSENDC`vlvRS232BAU RS232Baud.PAS>PRINT 4<SYS:USER>EZF>NEW>PRINT f4H GPIBERROSENDCH PRINTHELDOSWITCHNUMBER READUSERPNOTFOUNSENDLINESKIP HEAD DOPRINT DOBREAK BANNER SHOWSWITBLOT INITPR ,=~ /0SYSTEM System.PASSYS:USER>EZF>NEW>PRINT= N 4h:R hINNEXTCH FOUNDFILDOINPUTLPASTEOF PRINTIT | |6/ )JREADER READER.PAS'sCMDPARSE CmdParse.PAS> @$ PASCAL.RUN|6 /K) (!CIO_UNIT IO_Unit2(%X% <8DYNAMIC DYNAMIC.PAS\\&^T^\*R ?.PAScom C~ EEC 5 5QJIOERRMESIOErrMessages.PASPRINT.PAFTPUSER sys:User>Guest>ftpuser.PAS  S8A#\:,DPDO#\\^T ^ UTILPROGUtilProgress.PASf4X HELPLEERf4DSYS:USER>EZFCLOCK Clock.PAS $ $XdndmC  > ction. ( - Represents the position of the beginning of the displayed text. ) - Represents the  must type control-" (the Editor quote character) followed by the special key. When you type control-", the insert curs position of the end of the displayed text. The thumb bar is used to rapidly move around in your file, but or changes from "_" to "^@" to indicate you typed the quote character. Pointer Pointer The PERQ text Editor is a "poinit is not very precise. When you put the pointer on the thumb bar and press down, the portion of the file represented by that, act" Editor. This means that to perform an editing action, you first "point" to a piece of text in the file and then pert portion of the bar is displayed on the screen. When you press at the left end of the bar the beginning of the file is shform some action on it. Pointing is done with the tablet. Your PERQ probably has a Summagraphics BitPad tablet. Wheown, when you press the "^K" the end of the file is shown, and when you press the "S" the beginning of the selection is shon you move the pen on the tablet, the pointer (cursor) moves to follow the pen. The pointer changes shape depending on wn. The thumb bar can also be used to extend the selection. When you type "E" while in the thumb bar, the selectiwhere it is on the screen. It may be a up-and-left pointing arrow, an up-pointing arrow, a down-pointing arrow, or a circon is extended to the position in the file which is represented by that particular portion of the thumb bar. This is usuale. These different shapes indicate that different things will happen when you press down. Pointing at text (alsolly only useful for extending to the beginning or end of the file. Keys Special Characters ------------------  called selecting text) is done by pressing the pen down on the tablet when the pointer is an up-and-left-pointinAction Character Alternate ------ --------- --------- End-of-line RETURNg arrow. If you move the pointer until it points at some character and then press down, the character is "selected" by und control-M,control-J -or- control-M,LF Erase character BACK SPACE erlining it. If you press twice in the same place, a word is selected by underlining the entire word. If you press three tim control-H Erase word control-BACK SPACE control-W Erase line control-OOPS control-U es, the entire line is selected. You cannot move the pen between presses if you want to select a word or line. Anothee bar represents the beginning of your file. Special characters are used to represent other interesting parts of your file.  Accept INS control-Y Reject DEL control-N Quote co ^K - Represents the end of the file. S - Represents the position of the beginning of the selentrol-" -none- Since these special keys are pre-defined, in order to insert them into your file you ? cN\3}GET3}PUT3 N]^c"** Conf is not a valid switch for `cc}`3˼})cɛcɛcca cc`c̉m0ASKP0NOASKPmjY[ .ccN\ͬ}GET3}PUT3 N]`c$** NOConf is not a valid switch for `c ASK- Require Confirmation of each transfer. HELP is only valid switchqYe NOASK- Do not requirec}`.ccN\$}GET3}PUT3 N_^c"** Text is not a valid switch for ` confirmation of each transfer. HELP is only valid Switch.)0PsR4R4Mccc}`.ccN\͞}GET3}PUT3 N_`c$** NOText is not a valid switch f** Invalid Arguements to `cc0`.ccmN`mNb]m0CONFIRMP0 NOCONt%ccFile Transfer Program. Version `cV4.8`c)PN`PNN6Nor `cc}`.ccN\3 ccY`cN}GET3}PUT3 NJ)PDP-11P帜 NJ)PERQP帜 NJ)VAXP帜NJ)RS232P帜NJ)ETHERNE)})P帺aN6Zc"** MODE is not a valid switch for `cc}`.ccNV}GTP帜< NJ)P]c}}c`a*k*DNHN@c** Illegal value for DEVICE.`cET3}PUT3$})P)PN`Zc"** BAUD is not a valid switch for `cc}`.c dNc}}c `a*k*͌< NJ)PN6|< NJ)PN6^<cNͺ}GET3}PUT3)})P帺aN\c$** DEVICE is not a valid switch for `c NJ)PN6@c** Illegal value for MODE.`cdl6NNN \c}`.ccN&Nc** `cc`cc}+`cNc** `R3\})}) ?})P} is not a unique switch.}+ is an invalid switch.帼cc`cc}`cͦͣ͠Nc** Illegal Character Found.`ceNc** `8ca+l+ (l+(l+ (l+ DX})R4_c** `cc`c does not take any arguements.`cc`cc}+`c&dglvV#"`ab})})͸]0P}+})N3cN\l+}GET3NaNc]c!** ASK is not a valid switch for `cc}`.c}}+c})cɛcca)0Pcc`cN3]\N]`NabNc^N_fPcN\͵}GET3NaNc_c#** NOASK is not a valid switch for `cc}`.c)PN`eNdN6]} \} }}pHp]cc}`c})cP`P`c})? move the pointer until it points at some character and then press down, the character is "selected" by underlining it. If o the Editor, BACK SPACE deletes the most recently typed character, control-BACK SPACE deletes the most recently typr way to select an entire line is to move the pointer until it points at the left margin line. One press here selects the you press twice in the same place, a word is selected by underlining the entire word. If you press three times, the entire entire line. Introduction Introduction ------------ It is probably a good idea to sit down at a PERQ an line is selected. You cannot move the pen between presses if you want to select a word or line. Another way to select d try out the Editor as you are reading. A good file to edit when you are first trying out the Editor is the Editor's helan entire line is to move the pointer until it points at the left margin line. One press here selects the entire line. p file. This way you can read the help file while you are editing. You should copy it to a scratch file so that you won't Once you have selected some text, you can extend the selection by moving the pen to another piece of text and then typing  have to worry about accidentally changing it. Do this with the system "Copy" command: Copy EditorK.Paras Scratch.File"E". The selection is extended to a character, word, or line boundary, depending on the type of your last selection.  Now ask the Editor to edit this new file: Edit Scratch.File The PERQ text Editor is a "point, act" Editor.  Commands that change the selection (other than Extend) set the type to character. Unfortunately, you can make the This means that to perform an editing action, you first "point" to a piece of text in the file and then perform some action selection larger with Extend, but you cannot make it smaller. In order to make the selection smaller, you must start over by on it. Pointing is done with the tablet. Your PERQ probably has a Summagraphics BitPad tablet. When you move the peselecting a character, word, or line with the tablet. After selecting text, you can perform some action on it. You n on the tablet, the pointer (cursor) moves to follow the pen. The pointer changes shape depending on where it is on thcan insert before or after the selected text, delete the selected text, search for a character string starting at the beginne screen. It may be a up-and-left pointing arrow, an up-pointing arrow, a down-pointing arrow, or a circle. These diffeing of the selection, or any of the other Editor actions. The top line of the screen shows the command prompt, error messagerent shapes indicate that different things will happen when you press down. Pointing at text (also called selectis, and prompts within commands. Many Editor commands require termination by either Accepting or Rejecting the action.ng text) is done by pressing the pen down on the tablet when the pointer is an up-and-left-pointing arrow. If you  Acceptance is signalled by typing the INS key. Rejection is signalled by typing the DEL key. When typing text t@ ^]TbN`)}P`caS)P帺kS' N\kS' N\̨]c Confirm: `cte machines.`c\0GETP帛!File names on the remote machine:帜Y File names on the local machine:c}`c ===>> `cc}*`Y8 Confirm that you actually wish to do the transfer.帼) (Yes o帛Y Get RemoteFile(s) LocalFile(s) - Retrieve files from the remote machine. Valid Switches are TEXr No): P帺aNȼ3}dc},c}+ a*YX If you answer yes the old version of your file will be oT, BINARY, ASK, NOASK, CONFIRM, NOCONFIRM and HELP.)0Pf]R3*)Pverwritten.k*(oc** File `cc}`c already exists. OverWrite?`) (Yes or No): P)0P/&R3 fɺaɺa(Pc6** Number of Source and Destination files aaNc2 The Network names are stored in a network `cc4 table, maintained by a system admre unequal.`c\ ϜP帛 PP帛﷊a")P)Painistrator.`cc2 Contact him for the names of your and the `cc remote machine. ;])Pa 3d am'Zc** `cc`c" is not a valid path or file `c\]Nr \Nr\]YD ADDRESS The Ethernname.`c͟N)P)P_N`N`6N`aNn Vc** Could not get `cc`FIRMPmnY_ CONFIRM- Require Confirmation of each transfer. HELP is only valid switchuYet address.帛Name of the Local machine: 帜YName of the remote machine: 帛0ADDRESSP)0Pi NOCONFIRM- Do not require confirmation of each transfer. HELP is only valid Switch.)0P\R3 )Pɺa(Uc5** There can be only one name for the Local machine.`clR4R4Mc** Invalid Arguements to `cc0`.ccmN\m0N\)Pca _c** `c`c is not a valid machine address.`cNTEXTP0NOTEXTPmjY\ TEXT- Require Confirmation of each transfer. HELP is only valid swi\R3)YP﷼ɺa(Wc6** There can be only one name for the remote machine.`ctchqYf NOTEXT- Do not require confirmation of each transfer. HELP is only valid Switch.N\)Pca _c** `c`c is not a valid machine address.`cN)0PmR4R4Mc** Invalid Arguements to `cc0`.ccmN\NNr \]Nr\ 'Sc9First set the Addresses of the local and remo@  character %LF - Keyboard Scroll %M - Turn More mode on/off %T - Top (redisplay selection) selection to be a line. If the previous selec- tion was a line, the selection advances to the next in the text (but %B - Bottom (similarly) KeyCommands>N N - Note The current screen display is noted and an  see the discussion of Reverse Direction). If the previous selection is smaller than a line, the new selection is anN is placed in the Thumb Bar. The thumb bar may be used to return to this current display by selecting the N. extension of the previous. If the previous selection is larger, the first line is chosen from the previous  KeyCommands>LF LF, Control-LF - Scroll LF repositions the screen window so it displays text starting wit selection. This command uses the repeat count and Direction Flag. KeyCommands>G G - Go to character After ed word, and control-OOPS deletes the most recently typed line up to and including the carriage return. The RETURN key h the 37th line of the previous display. Control-LF scrolls in the other direction so the previous top of the screen i(carriage return) is used to mark the end of each line in your file. The Editor does automatic indenting for you by supplyins near the new bottom. KeyCommands>B B - Bottom The line containing the end of the current selection is moved tg leading blanks on the new line to match those on the previous line. You may BACK SPACE over them or type more. Wheo the screen. If already there, it is moved to the bottom. KeyCommands>T T - Top The line containing the currn the first line of text is showing on the screen, it is indicated by a "^J" in the left margin--this is the beginning-of-tent selection is moved to the screen. If already there, it is moved to the top. KeyCommands>W w, W - Change the cext marker. When the last character of the file is showing on the screen, it is followed by a "^K"--this is the endurrent selection to be a word. If the previous selection was a word, the selection advances to the next (but -of-text marker. You may select this character, but try as you may, you cannot delete it. KeyCommands>KeyCommands.Index Key see the discussion of Reverse Direction). If the previous sel- ection is smaller than a word, the new selection Commands.Index for Editor version V1.15K and beyond C 1981, 3RCC These commands change the selection or the v is an extension of the previous. If the previous selection is larger, the first word is chosen from the previiew without use of the BitPad. %Space - Space, RETURN, BACKSPACE, TAB: select next or previous character %W - Woous selection. This command uses the repeat count and Direction Flag. (Unshift-w chooses words that are rd select %N - Note current view %L - Line select %X - Keyboard Thumb Bar %G - Go to aeither letters or non-letters; Shift-W chooses words delimited by blank-space.) KeyCommands>L L - Change the current A to remote machine. Valid Switches are TEXT, BINARY, CONFIRM, NOCONFIRM and HELP.)0P͉͒ed is `cc<`ccType of remote machine [Perq]: `ccP`P`c3PERR3*)P)0P[RR3 fɺaɺa(Pc6** Number of soQPc)PaN66Ndccc@ The FTP program needs to know the type of device liurce and destination files are unequal.`c\ P帛 PP帛﷼nking`cc" the two machines together.`cc Valid Devices are:`ce3dc}c} am'Gc** File `cc`c not found`cn'Lc** `cceo)Jc `eNJ)cc`ceHeeo)жccc* Present Device is `c has 0 blocks in it.`ca")P)Pa ͮN)P)P_`HNJ)cc`c\ ]"0P帛Y] The DEVICE Command establishes the type of device N`N`6N`aNp Xc** Could not store `cc`c as `cc`cp d used for the transfer.)0P\ kcc"* The Present interface device is `H/]0P帛Y/ The QUIT command exits the FTP utility.)0P NN6NJ)cc`.cc\  tP帛 Kc1** Only one parameter allowed for command']ccc4The FTP program needs to know the type of the remote`cc-machine. The mode com DEVICE.`c\ 4ͺc Present communication device is `HNJ)cc`ccmand tells us this type.`ccValid types are:`ceeo)Ec ` eNJ)cc#Type of device desired [EtherNet]: `ccP`P`c3ETHERNETPc)PaN`ceHeeo)лcc * The present remote machine is `cc<`.cc\ Nec.The FTP program is used to send files between `cc4machines connected to each other. Connecting c as `cc`cn f[]Nr \]]Nr\ !0P帛YQ The MODE Command establishes the type of the remote machine.)0P\  'Rc9First set the Addresses of the local and remote machines.`c\0PUTP帛!Names of Local Fi]cc * The present remote machine is `cc<`.cc\  rP帛 les to be sent: 帜Y%Names of Remote files to be created: 帛Y Put LocalFile(s) Remotefile(s)- Copy files Ic/** Only one parameter allowed for command MODE.`c\ 4ͪc#Present remote machine expectA  flag. The mode is extinguished by any one of the commands: A, I, S, R, D, *, M, E, Q. (Thus M is a toggle.) Keor insert. These selection commands move to a character related to the current selection. They all use the yCommands>X X - Thumb bar (X-Coordinate selection) The thumb bar cursor is placed on the thumb bar line at the top repeat count. None are affected by the direction flag. All reset that flag unless the More flag is set. When  of the screen. The following characters are active: INS - Display the part of file corresponding to curr the More flag is set, these commands still move in their usual direction; thus they can be used to reduce the selectioent position of thumb bar cursor. DEL - Aborts the thumb bar. Current selection is unaffected. n. SPACE - Move to the character following the previous selection. BACKSPACE - TAB - Moves five character positions to the right. control-TAB - Moves five positions to the left. SPACE - Mo Go to the character preceding the previous selection. Control-H is synonymous with this command. ves one position to the right. BACKSPACE - Moves one position to the left. RETURN - Moves to end of file posit TAB - Advance five characters from end of previous selection. Control-TAB - Go back five ion. Control-RETURN - Moves to beginning of file position. Digits - Set repeat count for TAB's and SPACE's. characters from beginning of previous selection. Control BACKSPACE - Go to the beginning of typing "G", one more character is typed. The editor searches the rest of the screen for the character. If found, S - Move to the S marker on thumb line. This marker indicates the location of the current selection.  it becomes the current selection. G uses the repeat count and direction flag. If the More Flag is se O - Move to O marker on line. This marker indicates the text that was displayed prior to the last thumb bar st, the selection is extended to the found character. KeyCommands>M M - More in selection Turns on More Flag, soelection. N - Move to the N marker on the line. This marker is set by the N command. The curren all selection commands extend the current selection rather than change it. The selection grows only at the end int selection is unchanged. However, if any keyselection commands (C, W, L, G, space, ...) are used, the operation is dicated by the Direction Flag. The character motion commands (SPACE, BACKSPACE, RETURN, etc.) can cause the select treated as though the first character of the screen had been previously selected. KeyCommands>space Characteion to shrink at that end. In this mode, they do not select a single character, nor do they change the directionr Selection Space, BackSpace, Return, Tab, and a few other keys behave as if the selection line were a cursor fB devices`cc9presently supported are the RS232 cable and the ETHERNET.`ccc;To use FTP fi PDP-11 and another PERQ.`ccc> DEVICE - Sets the name of the Device used for the`crst make sure that the machines are connected.`cccLegal FTP Commands are:`cc> Gc? transfer. Devices presently supported are`cc- the ETHERNEET - Retrieve a file from the remote machine.`cc= You will be prompted for arguemT and RS232.`ccc? ASK - Get confirmation for each transfer. NOASK`cc1 ents not`cc supplied.`ccc< PUT - Send a file to th turns the confirmation off.`cccB CONFIRM - Get confirmation before overwrie remote machine. You`cc: will be prompted for arguements not `cc ting existing`cc< files. **WARNING** This only works for`ccC  supplied.`ccc' QUIT - Quit the Program.`ccc:  local files. NOCONFIRM turns this switch off.`cccA TEXT - Asserts that the pres ADDRESS - The Ethernet names of the local and `cc: remote machines. See your localent file being shipped`ccC is a text file. BINARY turns this switch off.`cc net `cc- maintainer for details.`ccc9 POLL - Poll ]N`]c%Type any character to exit poll mode.`c`c} a( N`c]c&** Illegathe present connection device.`ccc;The following commands set the global switches when used as`cl parameter for command BAUD.`cRP\]ccc9Baud Rate is the Bit rate at which the FTP Trc;commands. When used as switches they set the switches to be`cc"used only for the present command.`ansfer will `cc9be done. Valid Baud Rates are 300, 1200, 2400, 4800, 9600`cccc*ccc: BAUD - Sets the Baud Rate for the transfer.`ccc> MODE  Present Baud Rate is `cc`c\$#}RP0P帛YP The BAUD Command establishes  - Sets the Mode of the Transfer, which is `cc? the type of the remote machine. Prethe bit rate for the transfer.)0P\Hcc* Present Baud Rate is `ccsently`cc; the PERQ can be connected to the VAX,`cc. `c\ x})P帛 Hc/** Only one parameter allowed for command BAUD.`c\})B . Control-RETURN - Go back to first preceding non-blank that follows a CRLF. Control-OOPS is sy c'&m`ac`` I` cmFc  cmCc  nonymous to this command. c mSc  cmHc  cc}}} \}߭(}߭(}ɺa|,}ɺa*lncc}`m`m m]m(.m*k*'k*'\m`)}Pk*]mn(Fn㭄p'p'$m`)Bogus chain: P帺np̴]m(mn(9m㭃o'o'\ o ooo̽nH|op)oo\ oHnJop+oo\ oJ]}SCAVENGE!Sys:user>brad>newos>scavenger.PAS '  }`` }oLKJKLH`` ] ﷛ @@afh]3Scavenger.Anima tedc}c}am``m``m````c```c```c`]Lmn)m K|L,mmH` `` ]}oq)p}RoJ}oJ}}poJ`}a}}poJ`}aoH̊]c** Failed to read block `}ac``}}ʷt$#}ap'\pxJH]n'\nxHJp'}o``ʷ\}o`pxHJ`ʷcc}`}*4&c'ό}߭c (HardDisk; Cyl `}c``c, head `}Rc``c , sector `}c``)the word preceding the current selection. Control-w and Control-W are synonymous with this command; s [`cc}*`]cc? `|c}ScP`P`c}S3 }S}*P}S,}SyBYBYnBYNBYX|k| hift-control-W treats a word as any consecutive string of printable characters. RETURN - Move to firTc Yes or No`}*4&c [`cc}*`]cc? `k|V}SyBYBYXȼm`ac`` I` st character of line following the previous selection. Control-U is synonymous with this commandcm`ac`` I` c'&m`ac`` I` c' mc`` I`C  ETHER10I Ether10IO.PAS   SYSTEM System.PAS  STREAM STREAM.PAS  POPCMDPAPopCmdParse.PAS  WRITER WRITER.PAS 4 })PͯcPresent Baud Rate =`cc`ccNew Baud Rate[`cc`c] IO IO.PAS : `c}cP`P`c}3P }P)PN`fP))  IO_INIT IO_Init.PAS IO_UNIT IO_UnitP R L  wx2 6Dp.PAS IO_OTHER IO_Others.PAS | ".$&&11n111{24)*)* FILESYSTFileSystem.PAS c))d  ))) K )**`RS*b)* FILEDEFS FileDefs.PAS #$0"$5FZ\\^o  GETTIMESGetTimeStamp.PAS { ",$p1112 RS232BAU RS232Baud.PAS  PERQ_STRPerq_String.PAS STREAM StreaPOPUP PopUp.PAS CMDPARSE CmdParse.m.PAS UTILPROGUtilProgress.PAS PAS FTPUTILS FtpUtils.PAS  GETNETADGetNetAddr.PAS C cc_c (Floppy; Sector `}cɭ``c, cyl `}cɭ``)cc], . Device DA = `ac`` I`c. Device Type = `"c`` I`c} c Free: t'ɼ}ɺa` ɼ}ɺa` }}}t`x` au\}ɺfg)Ϸ} ``c`} ` head = `ac`` I`c . tail = `ac`` I`c . count = `} cɭ``c} } } } 巼}}} `` a} c`uR}}}t`` au6c ReWritten!! Now ma, `} cɭ`` I`ccRoot directory = `ac`` I`c. Bad segment = `rked as Bad.`c\)+c Marked as Incorrigible.`cqHqlȼ} ao'cbogus!`\ac`` I`ccc ** Block `cm`` I`c$ was found to be incorrigible during`ccoJ pcc`:coJcc`>c}ɛɛ`I(} cbogus** `cc}`c$, but was thought to be good before.`ccF** Suggest you re-run the Scavenger !`c `} ap'\}ɛɛ`I(} \v"n` 'mo)mHand specify this block to ignore.`ccc** Scavenger aborted.`cc\cc ** Could v` ]}ɛɛ`} p|)}prpJpH曁'o}cDev Info Block Summary:`cnot `cc}`c the Partition Info Block!`ccc** Scavenger aborted.`cc\]c Dev name = `cc}`cc Dev Type = `"c``cc Partitions:`c| sz)cssh si sss sssH̗)?p|)|p gcp``c: DA = `pac`` I`c , Name = `pcc`c< Read device. JP s|)K} ʷ}`s`ʷ}a|)ϊpH~ccBoots:`cp|) p >p } ` pʷ} `>pJ+J)_c ** Skipping `}ac``c from Range`css͒Hnʷ} ɺa} ɺa f^c** Deleting boot `paHcc p巛>p}ɛɛ`TpaH|)cJ߭'Hc ** Skipping `}ac``cssH̕}ɛɛcc : System = `} ɺc, Interpreter = `} ɺcpHCc!Partition Info Block Summary for `a}  s8} I'} }  s}  s} ɺas߼} ɺa`cc}`ccStart = `vac`` I`c. End = `xac`` I`c s} ɺas߼} ɺa sh s} is߼} ɺasD  c:ca H( N + )9cccca cc` c͋(_ cTextMode` c N N    N`N`N`N`ͼN`ͱN`ͦ͠ ͚ \͉c** ` cc ` cc\` cT]) is not unique. Type HELP if you need it.\1 is an invalid command. Type HELP if you need it.Rc** ` cc ` cc` c / JP<FTP V4.8J Type HELP if you need it.JN <J)<P͙c** Illegal Character Found.` chc** ` c3 PPN_N^NN9600PfPNeNdN]N\c ` cc\` c0d&*.6.t;vBKT]ri :c8c\ READER READER.PAS INITIALIZE NaN`NcNbN5N4N6N]7:Ftp CMDc:J GETc:J P FIRSTSWITCH RESTORESWITCHESETASK SETCONFIRM SETTEXT SETADDRS GETF PUTF QUIT UTc:J MODEc:J BAUDc:J POLLc:J HELPc:J AMODE DEVICE HELP POLL FASTPOLL BAUD STRTODEV STRTOMODE DOSWITCHES SIDDRESSc: J DEVICEc:J ASKc: J NOASKc: J CONFIRMc: JZE GETINPUTS YESNO DUMMY TRANSCONF CHECKFILE HELPKEY CTLC CTLCABORT CTLC  NOCONFIRMc: J TEXTc:J BINARYc:J QUITc78c8} CTLCABORT CTLC E10RECEIVEDONECTLCABORT HELPKEY HELPKEY BADBAUDRATE HELPKEY }J ASKc}J NOASKc}J CONFIRMc}J  NOCONFIRMc}J TEXTc}J BINARYc}J DEVICEc} J BAUDc} J MODEc}J HELPccFTP sys:User>Guest>ftp.PAS ! ````c``````:c ``8cc` N<)P c D Pass 2P帺sȞH,|h)<* Checking for logical block consistency. JP Building the bad segment. JP }``ʷI}n(} ʷl}`n`ʷ}ɛɛ | sz)φs` ssas㭂s㭆r(Inr+(s`)Bad block number: P帺`a 0}a`)building the bad segmentP帺} } }巜n'n' } } `nr㭂r㭆̱sHt i)< Read device (3rd pass). JP `n'ϝ}ʷJmk)}mmH}}ʷ}J} } BadFile!Pc}}J}ssHͮH,Ϟ)< Checking for loops. JP | sz)s` s|)s} ʷ}`s`ʷs(K}ɛɛ`as߼} ɺa}a`)Pass 3P帺sH̆s Ϫs rr'r'r' mrQ rs' r!rH,vi)<* Checking for serial number consistency. JP | sz)~r' rr' r㭆v[sH4| sz)ssH)<# Checkings` ssYs㭁s㭆r(Arm()s`)Bad serial number: P帺 r㭆̹sH| for well-formed chains. JP | sz)ψs` sm s\r'r'H rlϊ)< Checking for bad blocks. JP | sz),s` s s  r'"rr(r㭆̠ws` sHr)< Looking for more free blockslsHΉfl  )< Linking bad chains together. JP |. JP | sz)ϝs` s' ss(iss Ks㭆r(< sz)ϛs` s s s(s_H's( ss(r'r' r s`r` r㭆̾sH]f)<% Verifying next and pre(H㭞sH_J ny)nnH)< Building the free list.vious links. JP | sz)υs` s㭄p(p(p(ps( ss㭃o(o(o( JP r﷼` a|H` an|) } ʷn}`n`ʷrrɛʷ} } n` aos( ss' ssHu h)< Read device (2nd pass). n` a } x`aw' } } `w`x' } } `x`} '} p E}ɛ JP s|)m} ʷ}`s`ʷs(E}ɛɛ`as} }a`)ɛ`a .}a`)building the free listP帺nHH,l' }E)<E FTPUTILS ftputils.PAS ETHER10I Ether10IO.PAS SYSTEM System.PAS  CMDPARSE CmdParse.PAS  FTPUSER ftpuser.PAS SETBAUD SETBAUD.PASllows use of default fileSHR *SCAVENGER Run the disk   POPUP PopUp.PAS   PERQ_STRPerq_string.PAS   POPCMDPAPopCmdParse.PAS FILEUTIL fileutils.PAS FILESYSTFileSystem.PAS N}96003N}48003N}24003N}12003N}6003N}3003N FILEDEFS FileDefs.PAS }1503N}E1103Nc}Bad baud rate. `Pc What rate? `ccP`P`ccb)FTPPc<c c:cc7N`a + )H<cccc GETTIMESGetTimeStamp.PAS a cc` cbzcdy WRITER WRITER.PAS  STREAM STREAM.PAS  FTP E10RECEIVEDONESETINITIALSTATSETCMDTABLE SETSWITCHTABLEE ac`` I`c }oHok'}} Wn@cDeleting old bad segment `m`ac`` I`cname: `}cd`d`c x#}}ʷ} }Pc}} `m`ʷ}} } ,} }ʷk }pHpmHͲH,Ϣc} c}4 }}43]}p*pP,\pqr)>}q )}q+}q:'H} }}}} }} }}} }ʷ}} } .} }ʷ}}} }}}} }}q<'}q/'\qH̼}>..> a(}>.> a(\} ʷ} } ʷ} }}k}k}}}I}} @Jkk)}4kkH J}`` J..>3\}p>(]q }B"} Jd}ɺa gckk)}kkHJkk)}kkH} } }}k`}} }}} ϙ} }ʷc-->`}c`c illegal, type new name: `}cd`d`c [},ϳ} }} }} } o} }ʷ} } ``c`k`c}c}} k``} } k}} k``} } c`}J`` Jdc} } .DR3ncc-->`}c`c! not a directory, type new name: }}^]`)"Pa;k;'QcUnable to mount part `cc"`c . Aborting!`c``}I}}}} }} rrH H}ɛɛ`a 1}a`)building the bad `}cd`d`c ͝"?k?H?}Bk?>'k?}B'}Bk?>'} }B`k?J` Jd} segmentP帺}}﷜n㭂n'*)</ Writing the new Partition information block. } .DR Jd} 3} d ʷ}  Dcc ----Creating directory: `cc} `JP tɛɛ`a )readP帺ɺaq'q'q  q qS} r``ʷc} } au ϗ} cc-->Not able to enter dir `cc} `c. Type new name for cc/Lost the root directory, suggest rebuilding it!`c`p`巛`o`巛r巛}`}c`c: `}cd`d`c}} ʷ}@} ʷ}}} } } PP} 巛t巛巛 )tɛɛ`a )writeP帺ȉj k \)<}}@k?H?k?}B*}Bk?>(k?H?} 3}Bd ʷ}  q}P*Ycc `}c`c( Reclaiming temp and old bad segments. JP m|)G mm+}`m`ʷ}ɛ exists; trying `}$` }c`jcc--> `}c`c already exists, type new name:ɛ`a 2}a`)reclaiming the temporariesP帺j'YnBcDeleting temporary segment `m` `}cd`d`c ͜c}B} au pcc-->Not able to enter `}c`c, type new F `ccChoose one of these.`cc )PN`]c} What rate? `ccP`P`cFLOPPYFOFLOPPYFORMAT.PAS4 )PN`]c````c```` Pr P帛I] PcIcrcc  IcrcIcrcc Icr 03 P)PN`cNew Bau d Rate is `cc`.cc/)* 150, and 110.`ccChoose one of these.`cc )PN`]c} What rate? `ccP`P`cp ``c` ``c` +'}EdoubleP}singleP+'N3,'N2 3NN2RS232BAU RS232Baud.PASows use of default fileSHR.SCREENSIZE Set the size of the screen.isk SYSTEM System.PAHNN`c +'@,'L-N-N`  N``˼-ɛ ]00G000S.PASws use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk CMDPARSE CmdParse.PASP9STATISTICS + N"000 IN"00]}) ` )JPכ I'Kccc ** Error: `cc}`c| - Turn printing of statistics on or off.VENGER Run the disk WRITER WRITER.PAS- Turn swapping on or off. PartN\ccc ** Error: `cc}`cc[Soft status = ` c``c, is the partition for swapping.R +TYPE File READER READER.PAS file File.of default fileSHR  Hard status = ` c```]ccc** cylinder = `cɎ``c , sector = `c*SCAPsys:part3>Segs> STREAM STREAM.PAS.5 p-boot Pascal.RunR *SCAVENGER ɍ``ccNbN`) Continue? P`ca'N/pk/)Ϣ0ok0)V` m N`n`˼- Run the disk SETBAUD VALIDRATBADBAUDRINTERACTrch list. "SetSearch CR" will promptk CMDPARSE CmdParse.PASP9STATISTICS + ɛ  '}) ` )JPc** Floppy Error: `cc}`c [SoftStatus = ` c| - Turn printing of statistics on or off.VENGER Run the disk WRITER WRITER.PAS- Turn swapping on or off. Part``c[, HardStatus = ` c``c ]`ccRetry..... Track: `-Ncɭ``)Pa ϩccValid baud rates are:`cc59600, 4800, 2400, 1200, 600, 300, 150, and 110. is the partition for swapping.R +TYPE File READER READER.PAS file File.of default fileSHR F }ac`` I` ccc}`}@'MmBc! ~~ (Ex-Directory) ~~ DELETED ~~`c}͌e'ω A)Is this a 24 MByte DiskP)YesP帺ae?)Is this a 12 MByte DiskP)YesP9͗}@'}m?c ~~ (Directory) ~~ DELETED ~~`c}76}P' }P$ c}$` }@}aeM﷜ߜ߭t﷛tɛɛ`("("(_)9** This does not loʷ}@9}@(E }c}k9`k;` c ... Entered.`kB-c Index `n`"crebuilt.`ok like a fileSystem floppy. ContinueP)NoP帺a \"'G)Is this a Single Sided FloppyP)kEkC{}@}ʷ}@H}@m([c ****`ccc** Stored length (`}@c``cYesP帺aeE)Is this a Double Sided FloppyP)YesP帺aec)Can I make changes &) <> actual number of blocks in file (`cm``c) **`c ϯ) Do you want to it fixed? Pto your diskP)YesP帺aff-) Are you sureP)YesP帺af)5Do you want logical block number )NoP帺atc New length [`cm``c] `^^c c}cc}@}ʷ}@m}consistency checkingP)YesP帺ah)NOPYesP帼).Do you want serial number consistencnHB}> ϋccType name for bad segment (`}>ac`` I`c ) [Bad$] `c}ccy checkingP)PaihiP)+Is there enough memory to do it in one passP)YesP帺acd`d`c}3}Bad$d}>c}`k;` kB Ϲc$Suggest building a random index for `cc}`$How many tries for a suspect read? [`c``c] `^^c cccjkgf.cc)Build the index of } JP)YesP帺a }>ɺa`" }>ρ)&Do you want temporary segments deletedP)YesP帺aj)$Do you want old bad segments deletedP)\!}<k;``ʷ}@}<ʷ}@}@ root.DRPc}<)"Ptɛɛ`}>}7﷛}<ɺa`"}@}>ʷ}@}@}>)"P]c````c````< Scavenger  tɛɛ``)"Pa;)Rebuild random indexesP)NoP帺aB)Check file lengthV4.0 JP)<P ``c```c```c```csP)NoP帺aC)Delete old directoriesP)YesP帺am|FnkF)Ϸ nnϛn` }```c``ʷ`ʷ`ʷccc<`ccc7Which device to scave`n`ʷ}@}ʷ}@'}}< e9E}@ *}@ P,}** BAD NAME **d }}@ dcSegID `nge? (F = Floppy, H = Harddisk) : `c^^ccf'F'eh'H'eaG `cɎ``c read complete`cHn)Hccbegin `cm``cn random reads and wPERQ_STRPerq_String.PASZfFXrites`ccNmop)ϮaGMHaGMH-Nߍ-Nߎa LGJnq) nN߼anH?LERYfFDSCREEN Screen.PAS.PASddndm9 c Sector: `-Ncɭ``coHok0)Ѫ}N}Np*` N``˼}ɛ pHpk/)nq) N`H` ( 4' N`` (   oHop)RY)^cAbort***** Track: `-Ncɭ``c Sector: `-Ncɭ``cȼa N㭝)/Z  , cylinder 0NJoq)Ϻa oNm(Ϛc!** data mismatch on read, buffer[`co``c] = ` oNc`cɎ``c read complete`cHn)Hccbegin `cm``cn random reads and w``c, but ought to be `cm``cNoHoq)Fpcc!** error, data mis-match on read,UTILPROGUtilProgress.PASPSys:user>dcf>exp> POS D.65 b-boot FLOPPYDEFloppyDef`cc** cylinder = `cɎ``cN , sector = `cɍ``cNbN`) Contis.PASQP|67>* dPOPCMDPAPopCmdParse.PAS Jnue? P`ca'Nn0]DNDN-Nߍmn)yNNm-NߎL` N`` (##\CAL X aCMDPARSE CmdParse.PASXJ ( =-)mmN " N  ΐmHmn)ЇNcȑ cc `c'#\|67&%pyfoJ@POPUP PopUp.PASDDD?~?ZPY9 begin sequential write`c cNo)-Nߍ-NߎJnp) nN߼anHnp)vlvjIO IO.PASALt;fF*6  floppyformat FfF N`H` ( |H,mHmm,Δc `cr cylinder `cɎ``c write comple floppyformatIO_INIT IO_Init.PAS%%%%floppyformat tte`cHo)*] cc `cbegin sequential read`c cNIO_UNIT IO_Unit.PAS PASCAL.RUN|6 7K)  !9IO_OTHER IO_Othen)ϸ-Nߍ-Nߎ N`` ( ͅ {H,mHmm,αc `c, cylinder rs.PASPASIOERRMESIOErrMessages.PASG ..): [] `^^c ψ+Mc** Can only remember `c``c pairs!`cHcɊ```cɊ``` cɊ```hcɊ```JccJccccc Type other blocks to ignore: [] `^^c icɊ```f0`)"Pa)"P)<u+Oc** Can only remember `c``c blocks!`cHJccvc Summary. JP cl&cNo errors found.`cͪ(cThe following pages were 4)"Do you want complete error listingP)YesP帺aneJQIA9)Scavenger: Babad:`c |)o  (<`ac`` I` cJ)d config.P )d﷜ߜ߭vɛʷt﷛ye`ʷtalopq` cḢ (cq(cc&The following pages were incorrigible:`c |tɛɛ`);rJ (cɊ` rJH̻?)ώ)o  '<`ac`` I` cJ) cḢ (cz﷛ 帜 Iɛɛ`)!rJHfccTemporary segments deleted = `o'cnone.`ccɉo`` I`ccOld bad sHhctɺcc)Which partition do you want to scavenge? `c_cP`P`c_,Ͽegments deleted = `p'cnone.`ccɉp`` I`cctɺlfϋcl FYESP _)_H?)l3d3da@ɛc!Suggest rebuilding the directory.`c P帊`)&Do you want to rebuild the directoriesPɛ`t﷛vtɛʷyx﷊H̊c/c/:` "/_ )Patɛɛ`a*c*** WARNING *** There are only `cɊ`` I`c blJc">` c<  c<" c<  )<P cDismounting partiocks free in the partition.`cc9*** This may not be enough to rebuild the directories ***`cc7*** Stion `cc"`c)"Pctɺvaxya{{xJH||*-)Scavenger: Not enoughuggest you delete some files before rebuilding ***`cNOP帼)0Are you sure you want to rebuild the directYesP帺ak)Can I rewrite bad blocksP)NoP帺agc1Type pairs to ignore (cyl head cyl head . room.P )|HLH|HKLHcɊ```cɊ```cɊ```H  aNVV (V (" N`AppendN`(cɜ&cɜ*cc,aNU(ɜ&ɜ*),PUN` (P帜((﷛ O3pcFile to be appended to: ` cWc`` c W(cdcR** ` cc}` cc}3` c \c cD Append is used to attach files together. It takes &cɜ*cc,aNU 4=c a N` N`( ϹcFile(s) to append to ` ca series of` c cPF input files and puts them all at the end of the first input file.` c c8 Thc ` c: ` cWc`` c W(cɜ&cɜ*cc,aNU(ɜ&ɜ*),Pere is no output file for append. The syntax for` c cE. the command is: Append f1, f2, f3, ...` c UN`(R4Gc3c cNcLaIc I`TT'73 d) is a directory. Cannot append.P?W%A?~DYNAMIC DYNAMIC.PAST.PAScD This will add f2 to the end of f1 and then add f3 to the end of` c c/ the result, etc. The only s X%2c comflop6;6;} ndwitch is HELP.` c \ N`}N`k/ N`}N`} e} }cSTREAM STREAM.PASOON:uflo  floppyformat POS D.65 b-boot 27 Jan 82 11:38:43vWRITER WRITEV`a1k1%*N`}N` d }}̒}R4} _N`C** There is no R.PASatfFcx Z!;;.s%%A;B;.@HFORMATFLINITIALIRANDOM PRINTERRoutput file for Append. Separate files with commas.N`]N'ZO(AOLOJ rx)&s`J`r`PI`r`FLOP CHECKBUFWRITESEQREADSEQURANDOMREDYNAMIC DYNAMIC.PAST.PASPrHrx)}O}M\L(I`NJ`RLLNJNOLOJ rx)ϓs`J`r`Pu X%2c comflop6;6;} nd qy)&RqNPquJNNqHqy)ډI`rtH`RuJ qy)*RqNPqHuJNNqHqy)rHrx)mMLAPPEND APPEND.PASallows use of default fileFASHR *SCAVENGER Run the disk 3  Hr,!I`ONHJ`RrJONHONHJ}q}r]c```` c```` R``c` P ``c` T``c4` )\*Append Version V3.1. Type /Help for help.PVNJ)HELPP帜,rP帼cWcH  DISKIO DiskIO.PAS  SCAVENGER ADDRTOIDX IDXTOFIELD IDXTOADDR ASK PRINTENTRY IS ALLOCDIS AllocDisk.PAS VALIDDA BADBLOCK BADCHAIN GOODCHAIN FREECHAIN NEXTFREE PREVFREE CURUPDATE CURPICINIT GETCoriesP)PaU)< Rebuilding the directories. JP !)<P c READDISK ReadDisk.PAS )#Do you want the partition remountedP)YesP帺a`)"Pa]4H MEMORY Memory.PAS FILEDIR FileDir"$78aRS*bij3**4`**b.PAS IO_UNIT IO_Unit.PAS +,STz|6h5j IO_OTHER IO_Others.PAS 68pr     ** SCREEN Screen.PAS i))j]#^#)%fg*%@%B%<&o>&Q+G- PERQ_STRPERQ_String.PAS 4R+- SYSTEM System.PAS  FILESYSTFileSystem.PAS WRITER WRITEFILEACCEFileAccess.PAS ARITH Arith.PASR.PAS STREAM STREAM.PAS  FILEDEFS FileDefs.PAS  READER READER.PAS  GETTIMESGetTimeStamp.PAS  DYNAMIC DYNAMIC.PAS I  blocks and ` cɉL`` c bits.` c I`N`L`] \\9:33 ]$]$ COM :parAPPEND OOPS DOHELP FSNOTFNDHANDLELIDOAPPEND`06 Jan 82 07:49:WRITER WRITER.;00<B Da byte boundary.P帺$K, $K$$﷜$ c ` cc PASallows use of default fileFASHR *SCAVENGER Run the disk STREAM STREAM.PAS l ` c `K JH` +c c 3(dcOcMaJc ` (c` cNcLɺ( RENAME "sys:user>brad>newos>d.6>rename.PAS  SYSTEM System.PASASfile.exp> She.SCREENSIZE Set the size of the screen.CMDPARSE CmdParse. PASp>($BSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptPERQ_STRPerq_String.PASTATISTICS +  | - Turn printing of statistics on or off. sys:exp>$ FILEUTIL FileUtils.PAS Turn swapping on or off. Part is the partition for swapping. PAS+TYPE File FILESYSTFileSystem.PASe File. DoslbX$$EG3H4 cc}` c \]} } }c`ap)}R4NN`}o N`o,73PPsys:exp>utility>file> FILEDEFS FileDefs.PAS p-boot Pascal.RunEDCANVASSEG? | PASMACS) * Continue? P`N`a \p*NpFNRNHNN7NN&oVc c KLM(83 d)! does not end on a byte boundary.P帺$(﷼c a N`IN`cEG??3% FOGETTIMESGetTimeStamp.PASTSEARCHSEG?q?0IOERRMESSAGESSEG?\;OPbX$$3ɜ$cOcMaJ$J`TT':3$d) is a directory. Cannot append.P帺MM($ UTILPROGUtilProgress.PAS9:32?,""\SEG$`06 Jan 82 07:49:WRITER WRITER.<3$d)! does not end on a byte boundary.P帺$K, $K$$﷜$ c ` cc PASallows use of default fileFASHR *SCAVENGER Run the disk STREAM STREAM.PAS l ` c `K JH` +c c 3(dcOcMaJc ` (c` cNcLɺ( pPsys:exp>utility>file> POS D.5 p-boot PaDYNAMIC DYNAMIC.PASQPx`"w6'.c c )c `K(JH` +c c ((﷜( YcFinal length is ` cɉN`` c \READER READER.PASB6,""\I NNc} kHkk)оk`k`}kHR] N~[}P4#﷉#H#~#﷼3~[dc~2c~3` c  `c}ɺ k(kN`}\)}P)}-PN`aNc  c  File read request for texaYlY's)File not found.Pc~1ɺ l1(l1N`}\c}FN`c~1ɺ a l1N`}\\t file ` c c}` c  received` c  )}PN`aNc  Oc "File read request for binarl2'v)File has 0 blocksPc~1ɺ l1(l1N`}\c}FN`c~1ɺ a l1N`}\\ y file ` c c}` c  received` c  )}PN`aNc  N`}\͸AN 4k*c~7~[c```` c~I~[c````  l2KHL l2KHL l2`c~1ɺ l1(l1N`}\N`})(Protocol Error: Expecting Read or WritePc}ɺ k(kN`}\c}FN`c}ɺ a kNNG5c}+HN`c~1ɺ a l1N`}+\lG Ϝk*_~7^^c }l5N N!}l5N~7^`}\\dAGA7LJ]N NN"NN!}N}N}N}!N}AN}aNURSORS ALL CURINIT FIXPAIRTABLE PRINTFAILBLOCKDODISKIO WRITENAME CHECKFILE BLINKSCREEN PRINTD^c N~7^^c R }l5NlXNc~I /lY`l4`~l4H4l4l2,NG5l5IB SHOWFAIL SHOWPARTFAIL ANALYZEDISK BUILDFREELIST RECLAIMTEMP UPPEREQUAL PLAUSIBLEFILENENTERNAME REBUILDD+ϊHc}FN`l5H`c~1ɺl1(l1N`}\c}+HN`c~1ɺ a -k+J'C c  ̘l1N`}+IRECTOREBUILDINDEX \5l5H5k*'~7^^c  NGl5J5~I  NGl5J5]l5 k* ''l5H5}l5NNc}FN`l5H`c~1ɺl1(l1N`}\c}+HN`c~1ɺ a k+J'C c  ̘ c}GN``c~1ɺ3Nl2Nl3c}GN``c~1ɺl1(l1N`}\c}+FN`c~1ɺ a l1N`}+\NNc}c}ɺ k(kN`}\8o׉k)*}NHNNHk)  k`N`N`N\0 kS c} c} kN`}T\kSakUJkk)M}WkNnc !File write request for text file ` c c}-` c  received` c  `c}ɺ k(kN`} ' c} '}^^c }WkNNc} kHkk)гn VkUJkk)B }WkNNkH\)}P)}-PN`aNc  {c #File write request for binary file ` c c}-` c  receivedJ  answer. For more help, exit and type "rename/help"` c c c c0 Rename is used to change the name }J already exists!! Delete? JP`N`a \ c}3of files.` c c8 The source can have wild cards in it as long as the` c cR; destination has thc ` cc}` c ==> ` cc}3` &) P`N`a \c 3}d3}3e same wild cards in the same order.` c c7 All files that match the source will be renamed by` c cdț``c7` Ndc}>N` ap(}`p`JdP8 taking the characters that match each wild card and` c c; putting those characters in the corresponding }}pH`}pJ`JdP3dc}c}aq'Jc ** Directory ` c` cplace in` c c: the destination. If the source has no wild cards and` c cI: destination has ex not found.` c \N}a \ }}*N`a}}d}(c}}``actly one *, then the non-directory` c c : part of the source replaces the * in the destination.` c cc}ac* Destination file: "` }c` c" will contain wild cards.` c )*-* Are  c< For a description of the wild cards; see Directory/Help` c c c$ Command line is of the you sure this is what you want to do? P`N`a \ NN}(Nc** ` ccSform:` c c; Rename {/Switch}` c c The valid switches a` c and ` cc ` c3 do not have the same wild cards in the same order.` c \ c```re:` c pq)=c ` pNJ)cc` c pHpq)\ͺN`}o N`o-` c```` NNN)wRename  V5.3J`.)o * Continue? P`N`a \hN`}o N`o-) * Continue? P`N`a \ Type Rename/Help for helpJPNJ)&ASK ask before renaming a file.P帛NJ)+NOASKdH}}]k+ c bN`)}Pk*`}-ca,}-N`k+ } Confirm:  don't ask before renaming files.P帛NJ)0CONFIRM ask before renaming to existing file.P帛NJ) 6NOCC Confirm the rename by typing "yes" or "no" (or "y" or "n")` c c; or by pressing a mouse button Pk,*Νk,'Nc** Unable to delete ` cc}` c \c** ` cc}` cc})` c \to get a popup menu.` c c> If you have a menu, press over YES or NO to give that` c c < c** ` cc}` c is a directory; can't rename.` c \]ω)* J aNsmN! N`ɛɛ`N! ,mNN"N!1aNd g MEMORY Memory.PAS ALIGNMEMAlignMe]UVWUVXL`  mory.PAS DYNAMIC DYNAMIC.PAS  hj++JB ~ b@ ST  8*+[: STREAM STREAM.PAS  WRITER WRITER.PAS  FTPGETFILE FTPPUTFILE FTPCHKDEV SENDSTOPVAX FTPINIT WRITEPACKET SWAPBYTE NETALLOCATE GETBYTE PUTBYTE READPACKET SENDACK SENDABORT WAITPACKET FTPERR READFILE WRITEFILE ETHER10I Ether10IO.PAS SYSTEM System.PA SERVICE  `c}]kTNkUNkSN N 'Wc 5** You can transfer a Text file accross FastEtherNet.` c  NS IO_UNIT IO_Unit.PAS \'' c}ɺa(}Y}P}}*PR}*HHښ9k݉k)*HN}YNNH FILESYSTFileSystem.PAS k)֖c}VBN`k`c}ɺc}VDN`k`c}ɺk(kN`}V\c}VFN`c}ɺ a kN`}V FILEDEFS FileDefs.PAS \aNȖ'Sc 5** You can transfer a Text file accross FastEtherNet.` c  N\kTNkUNkS GETTIMESGetTimeStamp.PAS N N'' c}Vɺa()}P)}*PN`aN m͒ `ca'NN  UTILPROGUtilProgress.PAS K  N`N`c a N`.N`3Sd3 dn c+,(IC6,zV% com rename J@zSTREAM STREAM.PAS8ddndzmg ONFIRM don't ask before renaming to existing file.P帛NJ)HELP print this message.P帼cRcaN))&ff 33\\33V33X  ( (" N`RENAMEN`cɛcɛcca )PN` & N` 3  m Scca'=c** ` ccS` c not found.` c RENAMEN`ͼ % N`RENAMEN`͊R3|cFile to rename: ` cRcpSdcɺ c Ɋ``cc Ɋ`cSa N`DN`3Sd3 dmcSa``c Rcɛcɛcca )PN`R4R3cRename CMDPARSE CmdParse.PAS {P Psys:user>brad>newos>d.6> POS D.65 b-boot PERQ_STRPerq_Stri` c` c to: ` cRc``c Rcɛcɛcca )PN`ng.PASQP|4+ dFILEUTIL FileUtils.PAS* R4Kc+** Specify the output file name first here.` c c-R4R4I#\PASCALI#\FILESYSTFileSystem.PAS! /$ & N` RENAMEN`/ " N`RENAMEN`Sd帛 dcScX0aRV%%F<E=FILEDEFS FileDefs.PASJJXZPzY<SaN c cɺ aN N3``c]` cSɺ NɜN clvlvGETTIMESGetTimeStamp.PASCz5 rename ;Pa HՊJ`N` J)ϏN cSc cN`aTN3ASCAL rename ,z6PMATCH PMatch.PAS%%%%rename N  j ot  8N Jd3dH)q $c** No files found` c ocSa POPCMDPAPopCmdParse.PAS PASCAL.RUN|4 *FOOST z!POPUP PopUp.PN`N`c3cScca'=c** ` ccS` c not found.` c ASrename (z2rename /name J@ % JQUICKSOR QuickSort.PAS%a%pSdcɺ c Ɋ``cc Ɋ`cSa N`DN`3Sd3 dmcSa'usercontrol>userco.pasSYSTEM system.PAShuck>usercontrol> J P G c?ɺaNG G 8c Password: ` cɺeuserco.pasCMDPARSE CmdParse.PAS# */$ JP)?P)Pcka 0caInvalid user or password.` c ͋cc?` cx0a|60&'pas J@USERPASS UserPass.PASDD@@  ZPY9  is a valid user.` c c User ID: ` |c`` c c Group ID: ` |c`` c c`vl>vXPERQ_STRPerq_String.PASf;eC  userco.pas ;f;```` c````  PcccF aNhh 'NH NG H %ccI` ccP`P` c ,=~ />FILEUTIL FileUtils.PASrco.pas''= N ;v 4 R v cccF aNhG O cɜM cɜI cc aNG 4"NG N` N`cFILESYSTFileSystem.PASA @ PASCAL.RUN|6 0K)9( !9FILEDEFS FileDef cv`ajK I iK  i(K  K c`aiiͭNG j`ͫs.PAScomp 9~ 6EE9 @ @6QJGETTIMESGetTimeStamp.PASa'NG N`K N`̓NG N`K N`[j'K iNJ)P%NG N`r9.ndn9  ,=~ / ||6 0)WRITER WRITER.PAS'f;XK N`dKWK K G `jE`S NI\B = 8 3N`?LERYf;D userco.pas 'STREAM STREAM.PAS %\dndm9 N`dO cM cI c H ϑ]'*B+,D@W'A@READER READER.PAS{@  >@ %\c " )  p$ r$$)$&&COMP6USERCONTINIT PRINTHELCONVID GETNAME READPAONREADPASSADD HELPKEY KILL WIPEFILELISTTHEMCHECK HE[&&'\&&NG N`K N`[j'K iNJ)P%NG N`SCREEN Screen.PASP Psys:user>chuck>usercontrol> POS D.60 n-boot IO_UNIT IO_Unit.PL f the form:`cc 9 Copy {/Switch}`cc The valid switch cc}`c\]} σ} }c`ap)}R4MN`}o N`o+es are:`cpq)=ca `pNJ)cc`cpHpq)\ͺN`}o N`) Continue? P`N`a \p*NpNNNNͼNNͫoScco-)P * Continue? P`N`a \hN`}o N`o-)a * Continue? P`N`a \A Confirm the Copy by typing "yes" or "no" (or "y" or "n")`cc; or by pressing a mouse button tod -5=L[H}}t]k+ cb N`)}Pk*`}-c a,}-N`k+ } ConfiW%AXDYNAMIC DYNAMIC.PASu    rename namCOM get a popup menu.`cc> If you have a menu, press over YES or NO to give that`cce: 6 READER READER.PASrename */noc answer. For more help, exit and type "Copy/help"`cc͗cc& Copy is used to replicate a file.`RENAME CONFIRM ERROR HANDLESWDOONERENDELERRORRENERRORRENDIR RENTOEXIGETDIRNACHECKDESBADPATTErename FOOSTcc 8 The source can have wild cards in it as long as the`cc ; destination has the same wild caIC6,zV% com rename J@zSTREAM STREAM.PAS8ddndzmg rds in the same order.`cc6 All files that match the source will be copied by`cc 8 taking tW%AXDYNAMIC DYNAMIC.PASu    rename namCOMhe characters that match each wild card and`cc ; putting those characters in the corresponding place in`6 READER READER.PASrename */noc cc7 the destination. If the source does not have wild`cc8 cards in it, then the search list isCOPY sys:user>brad>newos>d.6>copy.PAS  used to try to`cca8 find the file. If the source has no wild cards and`cc : destination  has exactly one *, then the non-directory`cca: part of the source replaces the * in the destination.`c cc< For a description of the wild cards; see Directory/Help`ccc$ Command line is oL POPCMDPAPopCmdParse.PASPSys:user>dcf>exp> POS D.65 b-boot CMDPARSE CmdParse.LPKEY 9.ndn9  ,=~ / ||6 0)WRITER WRITER.PAS'f;XPASQP|6.>* dPOPUP PopUp.PASp [0?LERYf;D userco.pas 'STREAM STREAM.PAS %\dndm9  J#\((IO IO.PAS (*  ) @W'A@READER READER.PAS{@  >@ %\c|62( 2 '(IO_INIT IO_Init.PAS('^T ]5COMP6USERCONTINIT PRINTHELCONVID GETNAME READPAONREADPASSADD HELPKEY KILL WIPEFILELISTTHEMCHECK HEl {vl wIO_UNIT IO_Unit.PAS#\*B  floppydefs 5f5FLOPPYDEFLOPPYDEFS.PAS 3  floppydefs yIO_OTHER IO_Others.PASS IOERRMESIOErrMessages.PASUTILPROGUtilPro gress.PASm floppydefs 2~&(J@ 3 3(JPERQ_STRPerq_String.PAS%a%ndXndn2  ,=~ /yde ||6 .)SCREEN Screen.PAS f5X]?LERYf5D JBOGUS IOERRMESIOErrMessages.PASUTILPROGUtilProgress.PASm floppydefs 2~&(J@ 3 3(JPERQ_STRPerq_String.PAS%a%