< ML< MM< MM< M MM MN Mrc,Dels,Broke); RemDelimiters(C WriteLn('****Files not equal at addr ',i:1, '|',j:1); Dispose(pDskBlk); exit(DoVerify); dvl vjIO_INIT IO_Init.PASf:*,  cmuftpxfer :f:?LERYf:DEUUTILPROGUtilProgress.PASX>dndmA dD d|0Fe| A |6* )DYNAMIC DYNAMIC.PAS##\  2(%X%:0 : XFERFSENXFERRSENXFERRECESTARTSTAUPDATESTSTOPSTATSHOWSTATCHECKPORGOTT +SYSTEM (*STREAM  WRITER IOERRMESALLOCDISARIT cmuftpxfer pIO_UNIT IO_Unit.PAS%%%%cmuftpxfer N :t 4> t-W%A-ZhDISPLAY CMUFtpDpy.PAS{-   -\S cmuftpxfe 2(%X%:0 : XFERFSENXFERRSENXFERRECESTARTSTAUPDATESTSTOPSTATSHOWSTATCHECKPORGOTTmH Ƞ CMUFTP.RUNH DISKIO <READDISKJ"LOADER ,"READER  PERQ_STR SCREEN IO_OTHER IO_Others.PASSSiWQɿXDmake.cmIO_INIT EXCEPT DYNAMIC CLOCK FILEDEFSVIRTUAL   RUNREAD rA+ndnA  ,=~ /pxf |A|6 *)GETTIMESGetTimeStamp.PAS>f:XR.PAS mf:c`m#\STREAM STREAM.PASs:sys>make.cmdD d|0Fe| A |6* )DYNAMIC DYNAMIC.PAS##\ U3u}3}3}?3PH>3Mw|;K{3Mw|V3Mw,3TH3Mw|4 ,?T|V3Mw,3?D3Mw|?-3Mw|?,3Mw|?+3Mw|?*3Mw|?)3Mw|V3Mw,?(3Mw|?'3Mw|V3Mw|3WH,UH"H HHHHHHH3Mw|?.3Mw|?/3Mw|?23Mw|?53Mw|?83Mw|?;3Mw|?>3Mw|V,3Mw|?AHH3?Ɍ3OV3Mw|;L| ?S?`,3MH?Y4?[4?]4?_44;aH?eȜ;cH?fȜ3MH3MH;gH?kȌ;iH?pȌ3MH3MH?rȼ3MH?qȼ;lt;nt3MH3,?x,?y3MH3MH,?~ ,? 3MH3MH,?\,?\3MH3MH,?l,?l3MH3MH,? 3MH,?l3MH34H?<4H?<3MH3MH34H?L4H?L3MH3MH32,?,3MH"H,?,3MH5H,?,3MH6H8,H:?,3MH5, ?,3MH',?,3MH#q,J?,3MH%*,?,3MH!HB,`?,3MH34H0H,H?,3MH3H$H H;H?,3MH3H4H0H?,3MH;H?3;`?4;H????;a??|3?3H??$`????,I|?Ȭ?3?-,I|?Ȭ??,33MH>I?;a? ??$a;??|3?c;`? ,3MH;cp??????|3MH,I?,3MH3/?$`???? ,I|?#ɬ?3%?'?$$a?())*,I|?-ɬ?%?|;cp31IV3I??0,:;;;;;@I4I$9w|?1|;4dA?=;>t;?eBCD?,?|,?|,?|,?|?3OI?ɼ,R?|,WIY?T;Ut4OI|;VgZ[a;;;;;lI?,?|,?|,?|,?|;\fm;kgnot~;;;pc?,?|,?|,?|,?|;qb;c;;c?,?|,?|;b??,c?|,?|;a;`;a,?|?3??$dI?|3I?Ό3I3O4J?|??3MH3MH3MH3MH3MH3MH3MH3MH3MH3MH3MH3I$J|$I3}3I3MH?3I3{?$ J>3I?3}??>3I?%3}?3I? MNM MNN MNN M NN MN^ end; for i:=0 to Len-1 do ks } DirSegs:=(CurFileCnt + (EntPerBlk -1)) div EntPerBlk; for i:=1 to DirSegs do begin { write out each directory b2 FILEDIR J FILEACCE| MOVEMEM IO_PRIVAH SCROUNGEJ" CMUFTP !m<JSCUTILtPUPPACKE(%STRINGUT6&GLOBALSTOm`l!READER  STREAM WRITER  DYNAMIT IO <'STRINGUT6&PUPPACKE(%PUPPACKEm<(%STRINGUT6&STRINGUT0mt6&STREAM SYSTEM *IO_OTHERRANDOMNUᓖKd*d165:boot>CMUFTPd165:boot>MiscUtild165:boot>CMUFtpInterd165:booMORY hSCREEN  IO_UNIT GETTIMESB FILEDEFSWRITER * GETTIMESB FILEDEFSSTREAMSTREAM MISCUTILtINTERPRE GLOBALST!FILEHAND^"DISPLAY r#EFTPUTIL$PUPPACKE(%STRINGC MISCUTILtCMUFTP DISPLAY r#EFTPUTIL$PUPPACKE(%STRINGUT6&FILEHANDYmЖ ^"STREAM WRITER  DYNAMIC IO jY<'IO_OTHERIO_UNIT IO_INIT TRANSFERMmt>CMUFtpStated165:boot>CMUFtpFiled165:boot>CMUFtpDpyd165:boot>EFTPUtild165:boot>PUPPacketd165:boot>StringUtil d165 IOERRMES * ALLOCDISl * STREAM WRITER  *DYNAMIC PERQ_STR UT6&SYSTEM *MISCUTIL)m tDYNAMIC STREAM WRITER  SYSTEM *IO_OTHERWRITER  DISPLAY r#FILESYST  DISKIO READDISK"ALLOCDISGETTIMESB FILEDEFS$`(DYNAMIC STREAM WRITER  FILEHAND^"DISPLAY r#UTILPROGx)GETTIMESB FILEDE:boot>IOd165:boot>CMUFtpXFerd165:boot>UtilProgressd165:boot>RandomNumbersTPUTIL$GLOBALST!PUPPACKE(%STRINGUTDISKIO READDISK"GETTIMESB FILEDEFSARITH ARITH j * GETTIMESB FILEDEFSDIIO_UNIT IO_INIT IO <'STRINGUT6&PUPPACKE(%INTERPRE4m,* DYNAMIC READER  ARITH STRINGUT6&DISPLAY _pȘ r#WRITER  CMUFTP SCREEN  STRINGUT6&EFFSFILESYST  IO_OTHERIO_UNIT IO_INIT IO <'EFTPUTIL$GLOBALST!PUPPACKE(%STRINGUT6&UTILPROGARNx)DYNAMIC SCREEN  RANDOMNU*FILESYST  GETTIMESB FILEDEFSSTREAM SKIO q *ΐ <STREAM WRITER  *DYNAMIC MEMORY hSYSTEM *SCREEN  IO_UNISTREAM WRITER  CMUFTP TRANSFER`(EFTPUTIL$GLOBALST!FILEHAND^"DISPLAY r#MITPUTILdm$ DYNAMIC STREAM WRITER  SYSTEM *IO_OTHERIO_UNIT IO_INI6&UTILPROGARNx)DYNAMIC SCREEN  RANDOMNU*FILESYST  GETTIMESB FILEDEFSSTREAM SYSTEM *IO_OTHERRANDOMNUᓖKd*d165:boot>CMUFTPd165:boot>MiscUtild165:boot>CMUFtpInterd165:boo3I3I3I3I3I3I3I3I3I3I? ,;ap;dp3 J>?3MH;Ap3MH3MH?c??`?;bp>=J?3MH3JOS&O&OO& OO&OO&P OegBuf; FlpBlk(DirStart+(i-1 ' Last Block"'); if not Ask('Continue? ') then begin { IntrOnOff(On) }; e(   default.profileESSDATE: Sort by last access (read) date.PceJ)-UPDATEDATE: Sort by last update (write) date.PceJ) CREATdirectories and the FileSpec matched against all leaf files`cccD If an output file is specified, then tric`cc< "'*" matches "*"; other wild cards can be quoted also`ccc' The valid valu^QTOe }R3` SORT`} }帜e`ao)oEDATE: Sort by create date.PceJ)SIZE: Sort by file size.PcQwdĜeccche directory listing will`ccB be directed to that file: Use "infile outfile".`cces for are:`cc  mn)3c `cmJ)c`cmHccC The ` SORT` ͹ͯ@F`0** Cannot have multi-column list with delimiters`9 Direct is used to list the files in the File System.`cc) Valid direct commands have the form:`cc# The wild cards are as follows:`cc' "*" matches 0 or more characters`cc' Sort switch requires an argument. Specify as "/Sort=arg".`cc' The valid arguments for Sort are: `cV`}`;`}` df zIQY}}]}f}c; Direct Dirs>FileSpec ~ outFile /.../`cc@ Both the directory part (Dirs) and"&" matches 1 or more characters`cc& "#" matches exactly 1 character`cc "'0" matchese mn)3c `emJ)c`cmH\]c } } };P帼c}fc}aeke (ke ( `Direct`}7c}5c}9cc};adkd `};`}9cɺ}5eJ)%NOSORT: Don't sort the directory.PceJ)%NAME: Sort by name of the file.PceJ),ACC file part (FileSpec) can`cc; have wild cards. The Dirs part is matched against all`cc@ any digit`cc* "'A" or "'a" matches any alphabetic`cc( "'@" matches any non-alphanume帜c `ao )o()}R4`}`ozQ0͉Q0u@3}333?c??3@O?.;Ap3.N35N3N,1N|3 N|?, N|3 |?3 N|g33>N?,3N6N6N$N,(O\?l$N,(O\?(35N3#N3'N$9N|3"Nf?(*Ap3/?A?.?->3?%$/N$2N? 34N3!N3N3N3N?G3:N3;N?<3BN|3>N3BNF?N3N4E3(O](ț*(;}dc}>`3}dc}c}am( }d]mnnmJHM2km`n`c}c}ɺqm+mrJ*rJmJ,#HǜJmJrJqHrn)qHn*nqJJ, HǜJqHJn Zp`˼}  Hp`˼}  6pJ} pJ}  ds pHfmn+\ ǜmqJ߭J cc`mqJ߭J rsHs+c `rH&rMJ mx) crHmHnH^coc } c``}  c``}c` `} c``:` `JPc `2mH2k2n,k2m*$c** Internal Error`cH} mk2J߭J Pts*mtJ߭J 帛ms[]mnnmJHM xmH xn,xm**co** Internal Long Error`cH} mxJ߭Jts*mtJ߭JJmJn+ϞJ㭁J㭂Jm`n`c}c}ɺ qm+mrJ*rJmJ,#HǜJmJrJqHC) JI) JLQ'acN Name Blocks Bits LastBlk Kind Creatcc:`:` `JPc `cc:`:` `JPcJ߭J 帛} 7sm+$sJsm+msJ߭J Μ} 6tn)%tHtn)mtJ߭J ts*-mtJ﷜msJ߭J﷜} sm+!sJsm+msJ߭JϜ} tn)!tHtn)mtJ߭Jts*,Hrn)qHn*nqJJ, HǜJqHJn[ȉ'Xop)moJooH' m`n` m`n` ȉ)ion Update Access`cJqs)VmpJ߭J߭``}ʷ}} ʷQ'cr` c `cc:`cc `0`: ``JPc `cc:`:mtJߜmsJ߭msJutk2's2-mk2J߭mk2JߜmsHJ߭msHJu}t}s]n/pk/)H}pJ P}mtJ߭mtJߜmsJ߭msJutx's 9mxJ߭mxJߜmsHJ߭msHJu}t}s]mJ}ʷ}} JI) JLJoq)dp`mnJ߭J cc`@*c | `mnJ߭J ccmpJ߭J cc`@*c | `mpJ߭J cc`mpJ߭J n mx) cmH$ga,mN?jά49?k?tάs$pa?r3(O|^3v3w3x3N?,+Pp;Ap?N-N?|3????N$N,?|;Ap?.$N3(Olb?;Ap3343+Pp??3$?%3N3N3$?A3N3N333Nb,(O|?|?,(O|?|?3?3/N$N?|;;?G?.35N3N3N3N?g3N3N3N3N3N3Gp?g?93$N3N 33N,,|?,3N3N333N3N3N;Gp?,fO|?|?,fO|?|?>fO|?f|333343N3HO33"343N4 ?4 ?4 ??4 3(O|_? ?|3???30O?@??????3O??30O?4'O$!a3HO4O4O4O,6O,FO$0Oh?)3?<3?<3?<31}?3,$1O$4O?0|?,*O,,,O,,.O,,=O,?D,343?<3HO;Ap;Gp??3?fO|?f|??f|3?@?3f|??f|?c?d | * Initialize a file. * for allPcJIO IO.TEXTTEXTSCREEEN SCREEN.TEXTQHATTSTREAM STREAM.TEXTXT>WRITER WRITER.TEXTTEXT)@WRITE Write a block of a filePcJ)?DIRECTORY List the files on DiskPcJ)>SCAVANGE Rebuild the directoryPc J)IDIAGREAD &QP&QQ&QQ& QQ&QQ&R Q begin Stat number of sides and the density. If floppy is not loaded or ready, the answer will be 1 side, ``JPc `cc:`: ``JPc `cc:`c`c4}}oH`}oJ`JdP]}}fdc}fɺɜJ cɜJcaund.`c'H')H)|'k pcc --- In `cc}f`c --- `ccc*anned.`ccc2*** No room in memory to allocate sorting arrays! `cc*** Names will not be sor````))Direct V4.2. Type "Direct/Help" for help.PϘw36cFile for output: `cpoHqHͤccTotal `cɊ``ch Blocks`c(H(<``c7`" "<<3$|k%c}fc}c}33J da͊mJߊH1J cc}`amJߊH^]* No files found.`c*H*]'()*"$3}d3}3d3}fd`" :}f"d帛 "﷛""5ted.`cc\'\'%c}``H`m``cP` c}``H`m``c `m``wcd`d`cc Output will be directed to file `ccw`ccɜwc````Q(,`$ $5<<5巛$<<JdP]}:}}J`3}fdc}c}ak'c `}f`\}fdP3}d3}3d3}fdk` ﷛" "3巛 c7`kΔcc Grand Total: `Q(Acɉ(``c block`(( sc`m``c`]Jno)=np*c`Device #`cn``c} Device Name: `pcc``c```c7`cc3dcc+c^c&ɺaϑ^*3+*>3c c`Jc}: }:.DR3φ}}`}J`Jdc}>`F}>},cc --- In `cc}f`c --- `cc`J` Q(ccc in `cɉ'``c file`'( sccu in `cɉ)``c director`)(cc mq)mJr r n'ϲc `rcc`c : Start = `r ac` ` I`cciDirect `ccV4.2`c `cc`& ic Files matching `cc^`cP }Jdc}>}`a]}>`ao'Ec"***WHERE HAS THE PARTITION GONE?? `}cJ'(c** No files found.`cX'#c 1 file found.`c-cɊ``c files foies` ycce out of `cɉ*``c director`*(cies` ycc sc End = `r ac` ` I`c' Free = `r ac``cmH,nHͽc````c````I>0/?c}k/ )k0K?JM'?>H>`>`<``cHead not in [0..`cɉ``]cc\ rrsscFormat m$n(m`n`a(*}`*``˼($ɛ&&(/)"FSBlkWrite: Raw I/O Error on writeP ]ci)QPcgcic\)QPcg\'Hc1Illegal command usage. Type help if you need it.`c po0sk0)nm1rk1)((xsKrMHr,(ߛ(߭^HH$$$*"`*``˼($ɛ&\ )\PaAAI' Jo@n@p)#A`@`"``B(mH@H@m(PccCHECK: `&(cc/FormatTrack: Raw I/O Error trying to seek track`cc Hard status: `&c``ccm``c blocks can not be read.`c]A Am)8@@n)A`@`"``@H@#cAHAcc Soft status: `&c``I`cc Cylinder: `cs``ccHead: `cr``c number range errorP帺c!```!``"c` !``$ FILESYSTFileSystem.PAS Turn swapping on or off. Partk.PASoweof d5  "=894j $ `DISKIO DiskIO.PAS l t. UTILPROGUtilProgress.PASn=directsegs>directIMPOLDIRECTORY Give a directory of files. "Direct /HeMEMORY Memoratching `cc`cc+`c : `c3^d3+d3dHc ** Filename `cc`cJ is malformed.`cc0c#K';< is the partition for swapping.+TYPE File FILEDEFS FileDefs.PASile File.oslbX$$pPsys:exp>utility>file> POS D.5 p-boot PaARITH Arith.PASQP4x`"w>'y.PASOR (;DISMOUNT Device Dismount the device specified by Device.RAISE ;RECORWRITER WRITER.PASallows use of`cJ is malformed.`cc0c#K';<QRuvN P r t -^/`Psys:exp>utility>file> GETTIMESGetTimeStamp.PASboot Pascal.Run \FILEDIR FileDir.PASllows use of default fileSHR  default fileSHR *SCAVENGER Run the disk STREAM STREAM.PASply a simple help message.*+QRuvN P r t -^/`SYSTEM System.PASe.PASexp> She.SCREENSIZE Set the size of the screen.CMDPARSE CmdParse.PERQ_STRPerq_String.PASSbX$$*SCAVENGER Run the disk CLOCK Clock.PASSallows use of default fileSHR *SCAVENGER ----.5.R0LINK {File} LDYNAMIC DYNAMIC.PASm File.//S/EL5RN"i>K L  9:7b*`PASBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptFILEUTIL FileUtils.PAS9STATISTICS + PMATCH PMatch.PAS2 08:05:21>,,06 Jan 82 08:05:READDISK ReadDis Run the disk ALLOCDIS ALlocDisk.PASe /Help" for more details.EXPORTS 1FILE FDETAILS Par:part3>segs>direct=direct9  'V   JM'lH`l`C``DiskUp version: `c1.1`c: Disk patching program.`ccϚ*ccicP`P` c^uuB(  7XV"eJ.Md c}}߭}߭}]c}))}Pc}+ɺ})߭})߭}+]c}˼}}ɺ]}Pc}c*}boot }CLOCK CLOCK.PAS(allows use of default fileMPSHR *SCAVENGER Run the disk  c ,}c}H}}T L0H`}}T M0H`} `}$JanFebMarAprMayJunJulAugSepOctNov M clock.seglink.seg ioregs.segy.seg Dec}cKJ``J} `}qdM L0H`}q M0H`} `}} L0H`}} M0H`}J@J@mIP clock.segd/QZ-v)YtRX<[qd*###'#U]D^  :`}} L0H`}} M0H`}:`}} L0H`}} M0H`]2, 22H2 ROOT.DR:L5Q1&IRS SO SOOSS ('Directory Loaded'); TotFree:= if DirList = nil then DirList:=Tmp1 else Tmp2^.Next:=Tmp1; CurFileCnt:=CurFileCnt+1; writeln('Writing the DirectorB$ }p|gREADER READER.PASH"\8MOUNT Device Mount the deviRQ_STR FILEUTIL}zE)!DYNAMIC SCREEN  PERQ_STR FILEDIR J READDISK"ALLOCDISDISKIO ARITH FILEACCE| GETTIMESB FILEDEFSFILESYST  CMDPARSE@)" WRITER  ( F F 8 TYPEFILE {File} Type a file to the monitor. DISMOUNT F F 8 DISMOUNT Labels device inactive. MOUN5O# O# O scavenger.seg   ce specified by Device.DIRECT FINDBASEINITSWITINITSORTINIT DOHELP HANDLESWHANDLELISORT1 SORT LNGSORT1ASSIGNTILONGSORT ARITH FILEACCE| GETTIMESB FILEDEFSFILESYST  CMDPARSE@)" WRITER  (STREAM DYNAMIC FILESYST  FILEUTIL)!GETTIMESB FILEDEFSSTREAM SYSTEM *PERQ_STR T F F 8 MOUNT Labels device active. PATH F F 8 PATH Sets the current path. P&1GH\]|DOSORT ONECOLDISHORTFASLONGSLOWCHECKIFDADDIT REMOVEPADODIRSCAPROCESSOBREADTHFDOALLOCAFULLMEMOMYDISPLAimple help message.*+STREAM DYNAMIC FILESYST  FILEUTIL)!GETTIMESB FILEDEFSSTREAM SYSTEM *PERQ_STR #ShellCommands run' LINK.265 T T 8 LINK {File} Link the Pascal program File. run' LOGIN.265 F F 8 LOGIN AUSE F F 8 PAUSE {comment} Type comment and wait for RETURN. SCREENSIZE F F 8 SCREENSIZE Sets screevwxyQRSTUVWXYZ----.5.R0LINK {File} LDYNAMIC DYNAMIC.PASm File.//S/EL5RN"i>RANDOMNUᓖKd)#d165:boot>DIRECTd165:boot>UtilProgressd165:boot>PMatchd165:boot>FileUtilsd165:boot>CmdPar Enables use of Perq OS facilities. run' MAKEBOOT F F 8 MAKEBOOT Make a new boot file. run' CMUFTP F F 8 nsize for next command. SWAP F F 8 SWAP Turn swapping on or off. ? F F 8 ? 64ZFILEDEFSSTREAM SYSTEM *IO_OTHERPMATCH u( WRITER STREAM  (PEsed165:boot>RandomNumbers)!DYNAMIC SCREEN  PERQ_STR FILEDIR J READDISK"ALLOCDISDISKIOCMUFTP Retrieve/store files over ethernet. run' DIRECT F F 8 DIRECT Display files. run' TYPEFILE Print this message. #end ӥԥե֥ץإ٥ڥۥܥݥޥߥ /CMDPARSE CMDPARSE.PAS BAUD Link PERQ.FILES Link PATCH Link DR.MEMORY Link WRITEBOOT Link FILELIST Link CHATTER Link FLOPPYDUP Link DISKUP Li]}0+9).}, }} KH0Jq }o*}p,] (})k1J})ck0})Tk/})k.})k-})k,]"))$RThjault fileMPSHR *SCAVENGER Run the disk SETTSTAMSETTSTRIGETTSTRISTAMPTOSSTRINGTOBADTIME NEXTCH CMDPARSE:EXP>OS>CMDPARSE.PAS of default fileSHR *SCAVENGER Run the disk  '2)]2k 'c}/``k-'}\Pka+kz)kA+kZ)}\* c}\k`0++[npk0KJ``J3k0 , GETNUM SKIPSPAC cmdparse.seg initshell.seg profile.seg c}\ }3$JanFebMarAprMayJunJulAugSepOctNovDecPc}3 k0H0k0 ,}\}3k0KJ``J3k0 ,k-'c}1`c`k1+) k1H1k1P+ k1lH1k0BBYBYBYBY BY BYX+3k0'(k1M'k1dM'k1@@ IP cmdparse.seg/QZ-v)YtRX<[qd*###'#U]D^ k-'c}1`c`k1+) k1H1k1P+ k1lH1k0BBYBYBYBY BY BYX+3k0'(k1M'k1dM'k1GETTIMESGetTimeStamp.PASos.DRexp>3 She.SCREENSIZE Set the size of the screen.IO_OTHER IO_Others M'!+++k/k+,c}.``k:'c}-`;`k:'c},`;`,k2}).PASPAS$BSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptPERQ_STRPerq_String.PASs use of defTTTTTTTTT TTTT?J@; exit(PLX) ,nHnmH̸c HM'c ,]M(c c%insert blank floppy, then type return:^숅 숅 IP MAKEBOOT.RUN/QZ-v)YtRX<[qd*###'#U]D^H DISKIO <READDISKJ"LOADER ,"READER  PERQ_STR SCREEN   FILEDIR J READDISK"ALLOCDISDISKIO ARITH FILEACCE| SYSTEM *CMDPARSE!PERQ_STRFILEACCE| GETTIMESB FILEDEFSFILESYST  d165:boot>MAKEBOOTd165:boot>ControlStore d165:boot>IOd165:boo sys265.mboot delete gs* /noconf ! ! ! OK -- you now have a bootable BACKUP system. ! To install your working sy FILESYST6  GETTIMESB CODE HMEMORY  h IO_UNIT IO_OTHER MEMORY hFILESYST  FILEUTIL"GETTIMESB CODE HRUNREAD 2 CONTROLSYSTREAM t>CmdParsed165:boot>FileUtilsTHERIO_UNIT IO_INIT CMDPARSE@! WRITER  0STREstem, BOOT UP THE BACKUP SYSTEM, then type ! ! @Make265 ************** ! 6ttSYSTEM * IO_INIT EXCEPT DYNAMIC CLOCK FILEDEFSVIRTUAL   RUNREAD IO jY IO_OTHERIO_UNIT IO_INIT CMDPARSE@! WRITER  0STREAM DYNAMIC FILESYST  FILEUTIL"GETTIMESB FILEDEFSSTREAM SYSTEM *PERQ_STR FILEUTIO_UNIT  pIO_OTHER POPUPCUR'SCREEN  DYNAMIC GETTIMES2 FILEDIR J FILEACCE| MOVEMEM IO_PRIVAH SCROUNGEJ" MAKEBOOTcJQAM DYNAMIC FILESYST  FILEUTIL"GETTIMESB FILEDEFSSTREAM SYSTEM *PERQ_STR FILEUTIL}zE"DYNAMIC SCREEN  PERQ_STR FILEDIR J READDISK"ALLOCDISDISKIO ARITH B pCODE HMEMORY hDYNAMIC SCREEN  RANDOMNU( 0#SYSTEM (*STREAM  WRITER IOERRMESALLOCDISARIT00DYNAMIC READER  STREAM WRITER CONTROLSIO_OTHERIO_UNIT IO_INIT IO IL}zE"DYNAMIC SCREEN  PERQ_STR FILEDIR J READDISK"ALLOCDISDISKIO ARITH FILEACCE| GETTIMESB FILEDEFSFILESYST  d165:boot>MAKEBOOTd165:boot>ControlStore d165:boot>IOd165:boo  am'EcNFTP-P-`ccO`c not found`c  )OP)&P```]c}) o``}`}console:```` }N}o}]** } .CMD Pc}c~ c~  all(N} j}__   } ̈́}__ Nl!N`at(.}}`tJ`JP} N`}`a}u/'#}NJPPN\] ``c`  %'        }帺ͦl'l'N~ l'l'l'W)FIf more than one input, separate them by "," and signal oJPPN\ ]  ` )Command file not found:  ( N}__ lΖ}``~ c`~ }~ }}~ }}c```` }}uH`auN  ,=~ /}tN`a'v }t''N tH̾}t (t(v N v tHP }`PcNN~ ~~ }NNN}}巼c}c}c~ɺaN utput by "~".P帺rl'()Separate outputs by ",".P帺Bl(:)-If more than one input, signal output by "~JP }PcN}@N`a l (2}}l H`}l J`lNK)Command file not found: }JP]}}} } }ɈN N wΎ}}u`tuJ`JP}t`a_ ,=~ /}tN`al N lϚN~``c`~ }~ ~~~~~}P~  ~ ~".P帺ͤl NP)BOnly use "=" for arguments to switches. Use "~" to signal output.P帺Al'N~ Jc}c}c~ɺaNl.) Switch cannot be a command file.P帺}3-) Command file name canconsole:```` }`}}]} }ɺ }ɺ } 0} }ɺ } }`(*}t/'  N}tNtH N}}t`}HtJ`JPNp})0}~ ~c~NXl!~}PNN1N}l' lHl͚lO)>Only one "~" allowed since it signals the beginning of output.P帺E)8Illegal "~" since output alreadnot be nullP帺l (5)'Command file must be only item on line.P帺3}dc~a(Nl .c3)}}k 'kHk]c }}ɺaN]}N}'} N`p}} (`}p''p}'N }p``pH] }}}}ɺaN** }Hc}c}c~ɺaN l  'l N l l'N~ 帺l'N~ UUUUUUUUU UUUUUUz Ue) then begin Chr(#015); { internal end of line = carriage return } ExtEol = Chr(#012); { external end of line = line feed }  = @ LOGIN.265.RUN??p1 O q q E1zH DISKIO <READDISKJ"LOADER ,"READER  PERQ_STR SCREEN ERIO_UNIT FILEUTIL"FILESYST  PROFILE #CMDPARSET$USERPASSb%MEMORY hPERQ_STR GETTIMES#IO_OTHERFILEDIR J DISKIO READDISK"ARITH ALLOCDISFILEUTIL"FILESYST  STREAM @T$ WRITER  *STREAM DYNAMIC FILESYST  FILEUTIL"GETTIMESB FILEDEFS{ FILESYST6  GETTIMESB CODE HMEMORY  h IO_UNIT IO_OTHERB CLOCK SCREEN  SYSTEM *ETHERSETt*ESTREAM DYNAMIC WRITER  *SCREEN  MEMORY hPOPCMDPA*INITSHEL+EXCEPT SYSTEM *PERQ_STR GETTIMESB CLOCK STREAM SYSTEM *PERQ_STR USERPASS9MNb%WRITER  *STREAM GETTIMESB FIIO_INIT EXCEPT DYNAMIC CLOCK FILEDEFSVIRTUAL   RUNREAD GETTIMESB CLOCK IO_UNIT STRINGUT&PUPPACKE'POPUP I DYNAMIC WRITER  CMDPARSET$POPUP  FILEUTIL}zE"DYNAMIC SCREEN  PERQ_STR FILEDIR J READDISK"ALLEDEFSARITH CMDPARSET$STRINGUT0mt&STREAM WRITER  *DYNAMIC PUPPAC{2 FILEDIR J FILEACCE| MOVEMEM IO_PRIVAH SCROUNGEJ" LOGIN }  *SYSTEM *IO_UNIT IO_OTHERPOPUPCUR(SCREEN  DYNAMIC GETTIMESB CODE HMEMOLOCDISDISKIO ARITH FILEACCE| GETTIMESB FILEDEFSFILESYST  PROFILE K#READERKEm<'STRINGUT&POPUPCURbJ ( DYNAMIC IO_OTHERPASLONG H)GETTIMESB  *.SYSTEM (*STREAM  WRITER IOERRMESALLOCDISARIT** READER  DYNAMIC WRITER STREAM ETHERSETPOPUP  SHELL .!STREAM IO_OTHRY hSHELL FLT6.!DYNAMIC READER  PASLONG )STREAM WRITER FILEACCE| PROFILE  WRITER  *STREAM PERQ_STR CMDPARSET$GETTIMESB FILEDEFSFILESYST  CMDPARSE              `c}a(`cFc}cT)PccT)TPc `ac c n)8cYy signalled by the space.P帺N͆l'l ;).If more than one output, use "~" before first.P帺~ 6c invalid command` c Switch ` c c}` c  does not take any arguments` tc Command ` c  not found` Dc  Directory ` c c}` c  does not exist` c Illegal character after ` }c}cd}}k``JP}}k`}kJH`JP,.KL.))R33"** Impossible character returned: ` l  c  c  d ~|c}` c  does not take any arguments` $c Illegal parameter for switch ` c c}` c lIllegalc c}` c Cannot create file ` c c}` ͗c 8Cannot end a line with Quote` jc c}` Yk})Z}}k``J}}a(kH̚k},,}}))X}k``JP}}`kJ`JPzxvt"pnljhfdb`^\ZXVTRNLJHFDB@><:86420.,*(&$"   parameter for command ` c c}` ͬc Switch ` c c}` c  is not unique` lc Command `c ****** IMPOSSIBLE ERROR ******` *d)\/jU >km(. c  c  c  c}c}c͓}}k``JP}}`kJ`JP}}k`}kJH`JP]  8 l  ']} !}}}`}}]} "}} c c}` c  is not unique` *c c}` c  does not have any outputs` c Only one input alk} kkk)H}kNJ)}a' kHkkHkk)иk'kHk,π}}k`}kJH`JP]  8 0W   P}`}}m(c ** ` mc c}` c  is an invalid switch` c c}` c c is an lowed for ` c c}` ͹c \Only one output allowed for ` c c}` ~c File ` c c}` c kHkk})Z}}k``J}}a'kH̚k}, 0W   PVV VVVV VVVVVVW Vgin) div LineHeight; Range; Ch: Char end; LineIndex = FirstLine..NLine; ColumnIn ``똛 IPvfy.binO`d/QZ-v)YtRX<[qd*###'#U]D^A@BH C> ?H @;<H =89H :56H72s@Tt7u@Rv7ww$xw%y@Tz7{@R|7}w&~w'@R{7@Tz7w:@978w757w;4w321w/7w<.w-7,w3H4/0H1.H-@H, H+Hw(w)@Ru7@Tt7w*w+@Sq7w,@Sn7w-@l7)7w=+5@*_&w !5#7$"w!77 ^777`*H)HӲH(߷ H!'ݷ"H#$Hh7j7g7w.w/@e7a7c7`7w0w1@@[7&7ww!57777b S 77v J؂B@lwPQHRCLHDKHӲH wT%w&Uӟ7VwW7X Y7Z [7\ ]7^ _ `wac7bww2ZW7w3V7S7w4R7QO7w5K7 !5   7 7 7h  S767ww?6 6 @ vfy.bindefault.profile$S H 7  7ӲH@DEHFGHHIJcc7dwewfwgs7hwЀis7jwkwpKnC7oKlC7mw!qw#r@@Sw6J G7w7J؎qC7w8ՀU`$?7w9>ڽf;7      !  # #~ $  cKc}) Pc""cKc}) Pc"}'3cBlock to write:` c}cP`P`c )}P am`q`cKPERQ_STRPERQ_String.PAS tempcExp> She.SCREENSIZE Set the size of the screen.?SYSTEM System.PA??3%FILESYSTFileSystem.PAS-?A?q?0?3F,?\;{?A?q?(8|?ARGDSTRYSWIINITCMDFDOCMDFILEXITCMDFEXITALLCDSTRYCMDREMOVEQUSTDERRORIMPOSSIBHAVEERRORESETERRFINDNONSHAVEERROCREATECUREAM STREAM.'!CMUFTP CMUFTP.PASgf.iWQɿXUtilProgress.segtb$] WRITER.passegD:zZN\ EdInsert.segNfj'K J Sexp>($BSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptSTREAM Stream.PAS29STATISTICS + ?DYNAMIC DYNAMIC.PAS 07:40:56-??;N{??;N$`06 Jan 82 07:40:STREAM STREAM.PAS, .jp2?;N{,?8;N9j $ `  l ! cmuftp.seg) miscutil.segJ MAKE265.CMD | - Turn printing of statistics on or off. sys:Exp>$ FILEDEFS FileDefs.PAS Turn swapping on or off. PartPAS, .jp2?;N{,?8;N9j $ `  l m<m<l cmuftp.seg#$%&' is the partition for swapping._,+TYPE File GETTIMESGetTimeStamp.PASFile.D6B?|3 ?3HpPsys:part3>segs> POS D.5 p-boot PaWRITER WRITER.PASQPx`"w*'73PPsys:part3>segs> FILEUTIL FileUtils.PAS p-boot Pascal.Run\z? |<`  \CNVUPPERUNIQUECMREMDELIMGETSYMBONEXTID NEXTIDSTPARSECMDPARSESTRDSTRYAVWVVWWVWWV WWVWSX_creenFirst, ScreenLast: PositditorInitialize from Jps:EditorI; imports EditorUtilities from Jps:EditorU; imports EditorTerminate from Jps:EditorT;  _@ @ 7^@76 s 6 w> O !5 !5 !5 !5 6 6W 6X X@V KU  T 6hY 6h Z 6h [ 6h a !5b c 6d  e 6f  g 6h  \ Yv X6h W6h V6h U6h !5 S 6 Q 6 O 6 M  SJ60 v, v( v$ v v v v  v  v  v  v  v vMv Ns 6OpAs Reading disk (second pass). JP t})\}ʷ}`t`ʷt(3} w@ @ 6 wA v !5   6  6 6 b ! S6" 6i 6j Y@\ @] @^ @_ @` vl X@k 6hm 6h n 6h o 6h t !5u v 6w  [6 7 !5 @ @ Ev  C  @ wB A]@ >v <6 =\@ ;6h 5  B      5  6 wS wT wE wF9 6 wG wH wI wJɛɛ`at} cc Block `ct`` I`c$ was found to be incorrigible during`c# v% !5& ۞$ 6' 6( 6h) * + S6, 6- 7. O/ v1 !52  0 6x 6y  z 6{  | 6} ]@q @r @s \@p 6h~ |6h !5  6  6 : !5 8  4 wC  @   5 6 /  - wD  wK wL wM wN S 9 wO O wP wQ   O 5р= 5> Oc+ pass 2, but was thought to be good before.`cc" Suggest you re-run the Scavenger.`ccc3 Ŷ: ƈ; 6< [@4 @5 @6 @7 @8 v@ Z@? K>  = 6hA 6h B 6h C 6h ]B @М  @ \B v6h t6h !5 Ӝ 6   6 u^@ m6 n_Ѐ k6` l^@ *6  E6 ' &6 S$6 w  #6 S6 !v   6  wU   _ ? O@ u @   @l 5  @ wR u  H H Scavenger aborted.`cc\tH͝H,ύi)<c* Checking for logical bD !5E F 6G  H 6I  J 6K  L 6M !5N vO !5P C6(Q R 6S  j6h  5 !5 ev !5 f c6 b6 a6 `6 _ S]6 e6 [v !5 wV w"< v  wW 6  !6 6 7 vd s1 v@ p8 v4 v %   &   '   ) ) K : * ` c})cP`P`c c}TYPE {Filename}P帛 J)QUITP帛 J)SFTPP帛 J)SCAVENGEP帛J)&APPEND {Source file} {Additional FiLc```` c```` N !7CMUFtp -- EtherNet File Transfer Program -- 29-Jan-1982P l.PASQP|6:>* dPUPPACKE PUPPacket.PAS INTERPRECMUFtpInter.PASX PASCAL.RUN|6 :K)@e !=MISCUTIL MiscUtil.PAScompile CMUFtp.PAS =~& (J@ 6 6 (JSTREAM STREAM.PAS%%a% mmt miscutil.seg*+,-/0c  ]##\CAL((EFTPUTIL EFTPUtil.PAS (*  ) l.PAScompile CMUFtp.PAS =~& (J@ 6 6 (JSTREAM STREAM.PAS%%a%_ cmuftpdpy.seg123|62( 2 '(DISPLAY CMUFtpDpy.PAS(%0'^T ]5!ndn=  ,=~ /p.P ||6 :)CMUFTP   CMUFtp.PAS 7f7levl wFILEHANDCMUFtpFile.PAS\*4  CMUFtp.PAS 7f7 CMUFtp.PAS MGLOBALSTCMUFtpState.PAS%%%CMUFtp.PAS S 3)SYSTEM System.PASP PEPsys:sys> POS D.165 b-boot STRINGUTStringUti CMUFtp.PAS MGLOBALSTCMUFtpState.PAS%%%CMUFtp.PAS SINTERPRECMUFtpInter.PASX PASCAL.RUN|6 :K)@e !=MISCUTIL MiscUtiSXWSXXSXXS XXSXXSY XCursor1); Detach(Cursor2)(Cursor1) until Done; Detach(Cursor1) end { FindRSetUp }; begin { FindSetUp } if Direction = '>' lock consistency. JP }t{)τt`tt_t㭃t㭇s(Gos+&t`)\tH͘H,ψj)<c* Checking for serial number consistency. JP((H㭞tH_J ny)nnH)< Building the fcc Scavenger aborted.`cc\nHH,m' ~!)< }ʷJmk)}mmH}}ʷ}J} } BadFile!Pc}}J}``}Bad block number: P帺 s㭃s㭇̳tHv j)<s Reading disk (third pass). }t{)|t`ttWt㭂t㭇s(?sn('t`)Bad serial number: P帺 sree list. JP s﷼`a}H`an})} ʷn}`n`ʷssɛʷ}  Building the bad segment. JP ~``ʷI}n(Ϭ} ʷm}`n`ʷ}ɛɛ`I}~}} ~} rrH 6}ɛɛ`a cc Block `cn`` I`c- was fo JP t})a}ʷ}`t`ʷt(8}ɛɛ`at߼}ɺa c㭇̻tH~mϊ)< Checking for bad blocks. JP }t{),t`} n`a n`a } x`aw' } } `w`x' } } `x`} '} pa cc Block `cn`` I`co- was found to be incorrigible during building`cc4 the bad seund to be incorrigible during building`cc4 the bad segment, but was thought to be good before.`ccc Block `ct`` I`c$ was found to be incorrigible during`cc+ pass 3, but was thought tot t mtHΉgm  )<S Linking bad chains together. JP  3}ɛɛ`a cc Block `cn`` I`c- was found to be incorrigible during building`gment, but was thought to be good before.`ccg" Suggest you re-run the Scavenger.`ccc Scaven" Suggest you re-run the Scavenger.`ccc Scavenger aborted.`cc\}}﷜n㭂n' be good before.`cc" Suggest you re-run the Scavenger.`ccc Scavenger aborted.`cc}t{)ϛt`t t t(t_H't( ttcc2 the free list, but was thought to be good before.`cc" Suggest you re-run the Scavenger.`cger aborted.`cc\} } }巜n'n' } } `n`n'ϝ +   ,   -   /  /, 0  FILORUX[^ `` U^^c  Ec}cU``cUA}BkAkB)}kA`kAHA ` `̦cUm` mTcEMISCUTIL MISCUTIL.PASASSiWEVERSION Specify the system version number. Arg is version number.FSfj'K8   Dn` c ~Dn` m(c Err` c ~Err` m(c Go` c ~Go`` c k'h}}ʷ}}}c```  c }c`` .c }c`` a*]}``c_` }``c_` }k,kkk)} kJ"}kkH}}ʷ}kH}}}}}}a}}ʷ}}}kHHL c Recvr: ` m(c IE` c ~IE` m(c? Dn` c ~Dn` m( c c}}cc}` c <= ` c}}cc}`  c }c`` c } Ycmuftpfile.seg} fileutils.seg2 noechoio.segv PARTITION.RUN}kJ߼}ar*}cɺ}cɺa}cc`aϤ}}'ϖ}}ʷ}vkk)} c@ Err` c ~Err` m(c< Pr` c* ~Pr` m(c Go` c ~Go}ʷkJkk)_}k"k *k},1k ' c \c kc```  kc kH̙c ]zETHER265TEST.RUNk} kkHbS}Jkk) } kJ"c kHc  drH}` c ͎m')c Buffer Size Error` c m'c4 Timeout` c m'1c  Received }HL}}﷼}r`aq(1c Xmit Return Status: ` c q`]}}^}}c}'` '}' }}c_` }c_` d cc #` cm``I` m*c Xmtr: ` m(c IE` c ~IE` m(cpacket too large` c ]}}ʷ}}c``` c<=` }c```  c }c``ar's+}'?r(6c RecvOne() Return Status: ` c r`ȼ`` a`` a*SYXSYYSYYS YYSYYS Z Y end until State <> Searcr2.Pos end else begin PFirst := FilledLast; PLast := FilledLast end; Detach(Cursor1); DeN)<c/ Writing the new Partition information block. JP uɛɛ`a ςcd.`cc\]k l \)<( Reclaiming temp and old bad segments. JPg old bad segment`m`ac`` I`c }qHqmHH,ϱ]c} c}4 }}43]}p*pc`c! not a directory, type new name: `}cd`d`c ͛"?k?H?}Bk?>'k?}B'}Bk?>'}q}P*Ycc `}c`c exists; trying `}$` }c`jcc--> `}c0 Could not read the Partition Information Block!`ccc Scavenger aborted.`cc\ m})8 mm}`m`ʷ}ɛɛ`a cc Block `cm`` I`c/ was P,\pqr)>}q )}q+}q:'}q<'}q/'\qH̼}>..> a( }B`k?J` Jd} } .DR Jd} 3} d ʷ}  Dcc`c already exists, type new name: `}cd`d`c ͚c}B} au pcc-->Not ɺaq'q'q  q qScc/Lost the root directory, suggest refound to be incorrigible during reclaiming`cc3 of temporaries, but was thought to be good before.`cc}>.> a(\}`` J..>3\}p>(]q }B"c ----Creating directory: `cc} `} r``ʷc} } au ϗ} cc-->Not able to enter able to enter `}c`c, type new name: `}cd`d`c x#}}ʷ} }Pc}building it!`c`p`巛`o`巛s巛~巛u巛巛 Ϝ" Suggest you re-run the Scavenger.`ccc Scavenger aborted.`cc\k((V} Jd}ɺa icc-->`}c`c not legal, type new name: `}cdir `cc} `c. Type new name for `}c`c: `}cd`d`c}} ʷ}@}} `m`ʷ}} } ,} }ʷkH} }}}} }} }}} }ʷ}} } .uɛɛ`a υcck1 Could not write the Partition Information Block!`ccc Scavenger aborteo?csDeleting temporary segment`m`ac``c }pHpl'}~ Vo?cDeletind`d`c Y},ϳ} }}J`` Jdc} } p.DR3ncc-->`} ʷ}}} } } PP} }}@k?H?k?}B*}Bk?>(k?H?} 3}Bd ʷ}   1   2   3   4 66=  )P m J)VERIFYPcm J)RENAMEPcmJ)SAFEPcmJ)FASTPcmJ)TYPEPcoJ)V~c}}}}a}}ʷ}}}kHHLl.PASQP|6,>* odIO IO.PAS8 #\( PASCAL.RUN|6 ,K) !DWRITER WRITER.PAS5(4 <8E#8E8D#\JSTREAM STREAM.PAS%%a%4cmuftpinter.seg SHELL.265.RUNMAKEBOOT.165.RUNcontrolstore.seg}kJ߼}ar*}cɺ}cɺa}cc`aϤ}}'ϖ}}ʷ}vkk)}#\PASCAL X aIO_INIT IO_Init.PAS! ( /$PAS5(4 <8E#8E8D#\JSTREAM STREAM.PAS%%a%m,m,| cmuftpinter.seg6789:;! TYPEFILE.RUNk} kkHbS}Jkk) } kJ"c kHc  drH}X0a|6,&%utilJ@IO_UNIT IO_Unit.PASDDD1b1ZPYD rD@ndnD  ,=~ /til ||6 ,)DYNAMIC DYNAMIC.PAS(>f=X<=>?@ABCDEFGHIJKMN'}' }}c_` }c_` d vl vjIO_OTHER IO_Others.PASSSiWEVERSION Specify the system version number. Arg is version n?LERYf=DEUMISCINITNAMELOOKMGETTIMEMDMPSTATMDMPPACKSENDONE RECVONE r.FSfj'KPUPPACKE PUPPacket.PASP o Psys:sys> POS D.165 b-boot STRINGUTStringUtiumber.FSfj'K8SYSTEM System.PASASASSiWEVERSION Specify the system version number. Arg is version number.FSfj'K8 #\( PASCAL.RUN|6 ,K) !DWRITER WRITER.N4S!ZYS"ZZS#ZZS$ ZZS%ZZS&v Z procedu ScrollUp(L+1,LastLine,1) end; C := Ln[L].Length - 1; MovePencil(L,C) end end { PrevL} }ʷ}}} }}}} }} ʷ} } ʷ} }}k}k}}}I})"Puɛɛ`}>}7﷛}< uɛɛ``)"Pa;)Rebuild random DELETED ~~`c}͜9͗}@'}n?c ~~ (Directory) ~~ DELETED ~~`c}G6}P' c}cc}@}ʷ}@m}cnH2}> ϋccType name for bad segment (````c```c```c```c``ʷ`ʷ`ʷccc<`c} @Jkk)}4kkH Jkk)}kkHJkk)}kkH} } indexesP)NoP帺aBkB.) Are you sureP)YesP帺aB)Check file lengthsP)}NoP }P$ c}$` }@}ʷ}@9}@(E }c}k9`k;`c ... Entered.`kB-cn I}>ac`` I`c ) [Bad$] `c}cd`d`c}3}Bad$d}>c}`k;`kB Ϲc$Suggestcc7Which device to scavenge? (F = Floppy, H = Harddisk) : `c^^ccf'}}k`}} }}} ϙ} }ʷ} }} } o} }ʷ} } ``c`k`c}c}} aCkC.) Are you sureP)YesP帺aC)Delete old directoriesP)YesP帺an}FnkF) ndex `n`!crebuilt.`kEkCϋ}@}ʷ}@H}@m(kc ****`ccc** Stored l building a random index for `cc}`.cc)Build the index of } F'eh'H'ede'ω A)Is this a 24 MByte DiskP)YesP帺ae?)k``} } k}} k``} } c`}}^]`)"Pa;k;'WcCould not mount pnnϫn`}`n`ʷ}@}ʷ}@'}}< u9E}@ *}@ P,}** BAD NAME **dength (`}@c``cc7) does not agree with actual number of blocks in file (`cm``c) **`cJP)YesP帺a }>ɺa`! }>ɺa`!}@}>ʷ}@}@}>)"P]c````ceIs this a 12 MByte DiskP)YesP帺aeM﷜ߜ߭u﷛uɛɛ`("(artition `cc"`c . Aborting!`c\ }<k;``ʷ}@}<ʷ}@}@ root.DRPc}< }}@ dcSegID `}ac`` I` ccc}`}@'MnBc! ~~ (Ex-Directory) ~~  ϯ) Do you want to it fixed? P)NoP帺atc New length [`cm``c] `^^cɛ````<d Scavenger 3.2 JP)<P ``c 7 8 9 :  ; < ksjc}[krjc}[IkmH}ɺa\wvu x'ck Verifying transfer` c'8c GET SourceFile [DestinationFile]` c\INTERPRECMUFTPINTER.PASiWQɿXDos>quicksort.PAS1% QUICKSORT.PAS quicksort.pasRT.PASpasH }r,#}sH}sH}r}ru}s}r,}s}s}r}ru}sH}s,#}sH}tH P帺)J))}s P帺)J84}1}tH P}tH }s c}s }1P))}t P帺)J)H[}\k[JqJk[H[}\k[Jtr/qtJ )r"k[H[}\k[Jsk[H[}\k[JrqJmJrk+ϫ))}r P帺)J) = > ? @  A B   ilJ Hlnk!$c exit InitEmpty` c  }()a s(s(ϯ]c 8 ? : Help Quit @ Keys Wait` c  c c1 Name Mode ]}p` }ɛcɛcc}` }ɛcɛcc}` }P}P]}p` }ɛcɛcc}` }ɛcɛccme` c  >`c Store `  c `  c  c c`  c  c c` c  Foreign: ` c c` c  c  Local: ` c cb` c  c  Result: ` cc  c k-FCc  ??? Enabled or Disabled` c  dk- d cbcc cc `aq' a q(q(q'}p` }ɛcɛcc` }ɛcɛ@Path - Takes one to four arguments. The arguments are either` c  c > space delimited tokens or sing8Send - The opposite of retrieve. The file is stored.` c  c Help - Type this text.` c  c c  }p` a]}p` c  Ready to continue? ` ``a]}p` }ɛcɛcc}` c}c}]}p` }ɛcɛccb` }ɛcɛcc` 'bcbcc`ɺccc`ɺcccb` b'bccc`ɺcbcc`ɺ'2c  No remote file name` cle quotes quoted. The` c  c ? argument order is: ` c  c ) >@ - Execute the specified local file as a command file.` c  c < The default extension for commana} }cc }9}p` }ɛcɛc aq q dba Lc  File not found: "` c cb` " c  c  {'2c  No remote file na  ^`c  Retrieve `  c `  c  c c`  c  c c` c  c  .` c  c =Dover - Ships file to the dover. Currently not implemnted.` [ \[[ \\ \\ \\\\\\] \ := ScreenFirst end ectFirst,0,LastLine) then ScreenPos(SelectFirst,Line,Column) end else if NE(Display,ScreenFirst) then Draw(q }r c}r }1P̜}1}t P}t }q c}q }1PqtJ`srJH`a )*k['Z}\k[J߭}\kX MIN UPCASE na'oa+oz)N,n@'%o0*o9,oA*oZ,oa*oz,N=2 cnc:coc[JJ߭k[J[qqtJsrJH,6srJH )qJ"k[H[}\k[JqJk[H[}\k[Jtr/qtJ )r"k[H[}\k[Jsk[H[}\k[Jrq    mN }}, N}N\}}Nt''o}}H}}, N}N\}}no'Nq #cqN]cc "`v}|k)}|c|H|k)c" : "`J͌mJrk+g}r }rH R8K}}r PrH}qJ }q cqH}q }@7}qJ }PrJ̒]PMATCH PMATCH.PASallows use of default fileSHR *SCAVENGER Run the disk  Nta'AN}t0'ta'tA't@'N}t*'t&'t#'N} ta+tz) t JNtN]p}, w}|k)}|c|H|k)c" => "`x}|k)}|c|H|k)"c12z )R 0}@7qJ}q }@5rq*0}1}q P} uu IP pmatch.segd/QZ-v)YtRX<[qd*###'#U]D^   N }pNqN` aNqN]p})*}c}c}ɺaNq N\pHN]p2 Nw},Dv},Nx}|k)}}|N`|H|k)\}c} c}ɺaNkP}c} c}ɺaPERQ_STRPerq_String.PAS1YPsys:exp>os> POS D.65 q-boot INTEGERSSTRINGSOMA cnc!cocNn0'o0+o9)NxnA'*oA+oZ)Noa+oz)NG C D E F  G H ) Pc}c ) P~x{xoooooooooods files is .fmd.` c  c ):Confirm - Followed by the keywords Enable or Disable will` c  c ) ` c  c #Wait - Prompt for continuation.` c  ]>`Rc c$`  c  c}c oxT2ͪ@`}__   }}ʷc}}`` } c c$` c c}` c  spc + ??? ? - for command list h - for help` c  -d(8ER_lyT}``c`}?}}@}}:}}}I}﷛ B BY BY BY enable or disable confirmation` c  c >Name - The specified host will be used for file transfers.` c  `` c}ɛcɛcɛɛc} a  ``ac}n` c}n` ͺc}n` ͯc}n`ͤc}n`` c  c}ɛcɛcɛɛc} a!aEc  Help command not implemented` c   ``a p(:c Continue in spite of error? ` ``a p}``c&`})HelpP}/BY$ ]}}c}ɛcɛcɛɛc} ac}p` c}ɛcar' aͨ$`c c$` sc ?Mode - Followed by the keywords TEXT, BINARY, 1, 2 or IMAGE` c  c : will set the mode used i͙c}n`͎c}n`̓c}n`xc}n`mc}n`bc ! Dover command not implemented` c  )c  ?c}q`ac}q`ac}q`ac}q`aͽc}q`aͮc}q`a͟c}q`a͐c}q`á)QuitP})KeysP})WaitP})NameP})ModePʃ}ok)}o c  oHc  c}ɛcɛcɛɛc} aa5c  Help command not impln the transfer. See FTP` c  c 5 on the Unix machines for details of modes.` c  c 8Login View command not implemented` c  c " Ignore command not implemented` c  Ͷc + ??? ? - for c}q`arc}q`acc n! Dover command not implemented` c  )c  View command not implemente})LoginP})PathsP})ConfirmP} )StoreP} emented` c  c}p`ac}p`ac}p`ac}p`aͽc}p`aͮc}p`a͟c}p`a- The specified string will be used for logins.` c  c J9: - This is a comment mechanism - line is ignored.command list h - for help` c  spc + ??? ? - for command list h - for help` c  -d(>A]fd` c  c " Ignore command not implemented` c  Ͷc + ??? ? - for command list h - for help)RetrieveP} )DoverP} ) ViewP} )IgnoreP}巛}\]\\]]\]]\ ]]\]]\ ]1; if Verify then if Direction = '>' then SourceFirst := RightPart else SourceLast := LeftPart; if Verify then DraNk 2}}xN`xH }c} c}ɺaNkk*'k&'k#'dNk*'k&'k#'wwH xH k*(N`|H|k)T\}}}}v`w`x`aNZ}v`aNkN`kN`kN`a*k}}vN`Nȍ (N`c PattMap: "`}c`c` " Str: "`}c`"cc}}ɺ a vNN }`}(}( }}}}```aN Jw,c ===> `}c`cPATTCHECPERQ_String.PASs use of default fileSHR.SCREENSIZE Set the size of the screen.isk Except.PA'v},\}}vN`vH k#(Nw},x},  N }wNuv},Kv}H'w}xH vH wH j]N}'}'\ s})r})ϤNt }c}c}ɺaN sHNt } a vNN }`}(}( }}}}```aN Jw,c ===> `}c`cPERQ_STRPERQ_String.PASs use of default fileSHR.SCREENSIZE Set the size of the screen.isk Except.PASASlows use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk STREAM STREAM.PASmp.9STATISTICS + ,Nx}|k)}}|N`|H|k)\kVw},hNv}|k)}}|N`|H|k)c}c}ɺaNrH݋Cc [`vc:cuc]cvu(\ HN] (c FAIL`cwN   '  8tSASlows use of defaultBSETSEARCH {Parm} Modify search list. "SetSearch CR" will promptk STREAM STREAM.PASmp.9STATISTICS + | - Turn printing of statistics on or off.VENGER Run the disk WRITER WRITER.PAS- Turn swapping on or off. Partx}|k)}}|N`|H|k)w}c} c}ɺaN| v}|k)Ϭ}|`aNkNNbcc PattMatch: "`}c`c " Str: "`}c`"crNNc`}6v cc`cc FAIL`cs| - Turn printing of statistics on or off.VENGER Run the disk WRITER WRITER.PAS- Turn swapping on or off. Part is the partition for swapping.R +TYPE File PATTMATCPATTMAP PATTDEBUISPATTERBADPATTENEXTCH UPCH CHMATCH STRPATT `kN`kN`a]}}}}|`w`x`a N\0}}|N`c `c}}|(}(}}c}```aNKs-c ===> `cc`cc FAIL`csNȍ (N`c PattMap: "`}c`c` " Str: "`}c`"cc}}ɺ is the partition for swapping.R +TYPE File PATTMATCPATTMAP PATTDEBUISPATTERBADPATTENEXTCH UPCH CHMATCH STRPATT I J K MM 9 N FILESYSTEM.TEXT@ "STREAM STREAM.TEXTWRITER WRITER.TEXTXTREADER READER.TEXTT͐c}p`ác}p`arc}p`acc P! Dover command not implemented` c  )c  View comm46tvYZ  9  #\X aDISPLAY CMUFtpDpy.PAS! (/$PAS #com cmuftpinter /~74G47 + +J K%%a% ndn/  ,=~ /pin ||6 8)WRITER WRITER.PAS>f.Xand not implemented` c  c " Ignore command not implemented` c  Ͷc + ??? ? - for command li 9   ; <   k *l X0a|68&%tpinJ@FILEHANDCMUFtpFile.PASD+VX+D'ZPY/ Ocmuftpstate.seg SHELL.165.RUN  pmatch.seg?LERYf.DEUSTREAM STREAM.PAS#\dndm/ st h - for help` c  spc + ??? ? - for command list h - for help` c  -d((8ER_lySTij #%&I+,mn vl voot GLOBALSTCMUFtpState.PASf.*4  cmuftpinter .f.+W%A+VXREADER READER.PAS{+   +##"#\T ]J  #%&I+,mnSTRINGUTStringUtil.PAS Psys:sys> POS D.165 b-boot PUPPACKE PUPPacket cmuftpinter EFTPUTIL EFTPUtil.PAS%%%%cmuftpinter N > 4Xftpinter DYNAMIC DYNAMIC.PAS%Wsys:sys>Shell.165.RunNDMA%%( %%\nd-.)*:.PASQP|68>* .dMISCUTIL MiscUtil.PAS 0 TRANSFERCMUFtpXFer.PAS* PASCAL.RUN|6 8K) !/CMUFTP CMUFtp.^N ^S^ S ^^S^^S_ ^* PagesPerDot; P := Filght); begin { Extend } if Line < -1 then Error('Pointer off screen, can''t extend') else begin if Line = -T GETTIMESB FILEDEFSARITH READDISK_ * J"STREAM WRITER  *DYNAMIC CODE HMEMORY hSYSTEM *EXCEPT IO_OTHERFILESYST*> 6  STREAM WRITER  vac`` I`ccEnd DA = `xac`` I`cc Root DA = `}ʷ}߭ xI xIwv'ut']r'\ccɉr``c> pages were found to be incorrigible-- rechecki. JP t})/}ʷ}`t`ʷ}ɛɛ`a} t8}I'}} MEMORY hGETTIMESB FILEDEFSARITH DISKIO LOADER h * ,"STREAM WRITER  *DYNAMIC EXCEPT PERQ_STR FILEDIR J READDISK"ALLOCDISFILEACCE| ARITH DISKac`` I`ccFree head = `ac`` I`ccmFree tail = `ng those tracks`c}os)7o`o o o'oH}nt)7n n n' t} t}ɺ at߼}ɺa t}ɺ at߼}ɺa *STREAM IO_OTHERREADDISK"PERQ_STR ARITH DISKIO IO_UNIT VIRTUAL  MEIO GETTIMESB FILEDEFSGETTIMES>*V B IO_OTHERCODE *^ HGETTIMESB MEMORY ac`` I`c} cNumber free = `} cɭ``,c} cɭ`` I`ccRo`n`anHrϻ}nt)ϰo`n`aϝ}`n`ʷn' ) INCORRIGIBLEP}ɺc) Test: ti t}jt߼}ɺatttHH,Ϻ)<MORY hFILESYST  SYSTEM *GETTIMESB CODE HRUNREAD 2 READER *  GETTIMESB FILEDE}ɛɛ`TpaHcc : System = `} ɺc, Interpreter = `} ɺcpHͽc$Paroot directory = `ac`` I`ccBad segment = `ac`` I`ccDP}ɺm(*n(2}ɛɛ`a nnmH̼nHJoH]}t{)ctt( Re-checking tracks with INCORRIGIBLES. JP )<l Checking for loops.FSSTREAM PERQ_STR *&  EXCEPT SYSTEM *SCREEN *.  IO_UNIT GETTIMESB tition Information Block Summary:`ccPartition name = `cc}`ccStart DA = `evice Type = `"c`` I`ce'\}`n`ʷ}}ʷ}߭ xI xI}`o`ʷ}i tj ttt tttH̗)<s Reading the disk OPQR ST kT cD Yes or No? `kTBlock `co``c out of range`c\}}L wL o`c} c} ɺ uk)O} x} yHr`}CMDINITICMDINTERKBINTERPCLINTERPDEFAULTECRUNCH PUSHPROMPOPPROMPRELOG NOSWITCHKBQUERYCKBUSECOMKBKEYSCOKBWAITCOKBNAMECOKBMOWX 2P}N)ImageP}N巛}}``c `}N)OtherP}N)Unib NJ߭`c FrnPrefix :`  `b NJ߭`c FrnSuffix :`  `b NJ߭`c LclPrefix :`  `bDECOKBLOGINCKBPATHSCKBCONFIRKBSTORECKBRETRIECLQUERYCCLUSECOMCLKEYSCOCLWAITCOCLNAMECOCLMODECOCLLOGINCCLPATHSCCLCONFIRCLSTORECCLRExP}N)TopsP}N巛}}``c `}N)NoP}N)YesP  NJ߭`c LclSuffix :`  `b  NJ߭`c Confirm :` N`x`b NJ߭`cx`b NJ߭TRIEKBHELPCO%A+VXREADER READER.PAS{+   +##"#\ XONN N CMU-750X帛 *N N c ca ????cc P帛}N巛}}``c `}N)DisabledP}N)EnabledP}N巛}`cx`b NJ߭`Nx`b NJ߭`Nx`b NJ߭`cx`b NJ߭`cx`b NJftpinter DYNAMIC DYNAMIC.PAS%Wsys:sys>Shell.165.RunNDMA%%( %%\ndGLOBALSTCMUFTPSTATE.PASiWQɿXDX YZc}>c}=c}<ɺ}+Ik< \ka͵nHn,1cToo many failures, aborting`c͓cBlock `co``cU" incorrectly transferre ` *c[Yes]: `  d c N c}cP`P` c}ɛaNp'p'n'.PASQP|6?>* dEFTPUTIL EFTPUtil.PASBIPAS com cmuftpstate 1~<EE1 7 7QJSTREAM STREAM.PAS%%a%mЖmЖ딴 cmuftpfile.segZ[\]^NN-np'p'n'NN-Rp'c No default: ` 0c#Invalid response, use { Yes, No }: ` ##\CAL !DISPLAY CMUFtpDpy.PAS#\ ( /$r18ndn1  ,=~ /pst ||6 ?)READER READER.PAS>fBX + NJ߭`Nx`b NJ߭`cx`b NJ߭`cx`b NJX0a|6?&%tpstJ@CMUFTP CMUFtp.PASDDD7n7ZPY1 mvl vjMISCUTIL MiscUtil.PASfBaa-  cmuftpstate BfB?LERYfBDSTATEINISTATEDISASKFORCO N B 4> `c`x`b NJ߭`cx`b  NJ߭`c`x`b  NJ߭`N]o'N-Nk- n3c[No]:Mcmuftpxfer.segrandomnumbers.segio.seg/SYSTEM.265.RUN cmuftpstate DYNAMIC DYNAMIC.PAS%%%%cmuftpstate N B 4>  aP0t> @T PASCAL.RUN|6 ?K)$ !1WRITER WRITER.^YSTRINGUTStringUtil.PAS Psys:sys> POS D.165 b-boot PUPPACKE PUPPacket aP0t> @T PASCAL.RUN|6 ?K)$ !1WRITER WRITER.PAS com cmuftpstate 1~<EE1 7 7QJSTREAM STREAM.PAS%%a%H#`_H$``H%``H& ``H'``H(a `intlist(FilledFirst,FilledLast,' Error('there''s no help for the Editor') end { Help }; begin { Edit } while Editing do begin if NeedProm '=}`}`}}LK}}M}KH`}`}`}K`1}P &}(} }}T} }E}}}T}}[\ `c[]]]}}ʷ}}H}}'Ϥ}} ' } ͉}`}`} }}H}} 'J} '/^``m``ȉ,)Jm *m@H`^`m`]*;m *^cm@Hc mcꝣcpH̼JnJopq+,pJnJ]0pJqrs+r`+rrHorJq}qprs)7ro *^}}ɺ}  } `}} }@}0}P}`]3d 33d}{ʷ}{}}ʷ}P}}t}}}} t}}0t}}@}}Pt }}p}{ }{ q}{ '}{r}{}{}} L}K} M}LH}} L}}}ʷ}}ʷ}"(\}@}0H HH c} cDate and Time: `}c`c]nJmo+,mJȉco@Hc ocrHÉHpqHrs+,rJpH]o,ψ0nJoJpq+ p`+pJoJnJpq)>3$#}ʷ} }}T} }}B}'c`````} `L}{}{}2}P}2uk)"}2uazDX}2u}2uaJAHuH}23}2CONSOLE:P帼333}ɺ 3Jd3} 33}ɺ 3Jd3} ,5)}o} }oHo} '} Jonmp)-mH]J0nomp+ m`+mJooȉ ` _`ȉ* J' JJpHpmm *^cm@Hc mcpH̼JnJopq+,pJnJ]*{oqXo*}}}K%}3da}B}3d} } a}}J}2dc} au'"c}2`u`}}} CONSOLE3} CON3 }{_} RS3 }{G} RSX3)} }ʷ}ͽ}}}ͼ}}}qͤ}}}B͌}}}3t}腉),ύ0Jopr+ p`+pJoonnmoJpr)7pm *^cm@Hc mcpH oHoo*qX  oHoo*qX oHopoJnr)m4-nHȉ),ςoq ɺ}ʷ} } }}T} }}BBYBYBY]}ʷ4} }{+t3}d33}d 3s 3}d3}{%&' d]}ʷ}}}$\}}}F}}}0}}}d;pHpmm *^cm@Hc m[\]^ _`IJ)IIFILEHANDCMUFTPFILE.PASiWQɿXD