// Load Spruce, version #1=!h#, store on #2=dir" spruce>extended#, using #3=ftp" ibis" conn" spruce" gdfee" # bldr/L/V/R/B/I 1000/V 1450/W 1450/N SharedStatics.Bj/H ^ Spruce SharedStatics SpruceStatics ^ SpruceFsParams SpruceFiles SpruceFilesInit SpruceFilesMl SpruceMl SpruceStreams SprucePList PrinterPList ^ Alloc AltoByteBlt Calendar Template StringUtil ^ SpruceCheck SpruceUtilsRes SpruceUtils SpruceError ^ altoqueue altotimer context TimeIO TimeConvA TimeConvB interrupt ^ TFSBase TFSA TFSSwat isf isfinit ^ DspStreamsA DspStreamsB pupal1a pupaletha ^ SpruceSpool SpruceQueue SpruceUser SpruceCursor pupEFTPSend pupEFTPReceive ^ pupEFTPCommon FtpUtilA pup1b pup1openclose pupalethb pupdummygate puproute Kbd ^ SpruceInit/I contextinit interruptinit kbdinit pup1init pupalethinit ^ gp ReadUserCmItem SpruceInutil ^ BFSInit TFSInit SpruceInstall ^ TFSClose TFSWrite TFSCreate TFSDDMgr BFSFindHole DiskFindHole ^ menu menubox menuboxutilssoft menukeyboard bitblta bitbltb ^ sprucefilestables spruceparamstables ^ loadram xsprucemc // // MEVENTS FASTERTIMER -- add to obtain timed event measurement // *** Lines from SpruceSpool to SpruceInUtil must satisfy criterion that they surround code not // *** needed during installation. Function range must remain SomeoneIsKnocking to ValidateSpruceFile. // Update Version static Note/u Spruce.run // Store on IFS #3 #2 sto/s Spruce.run Spruce.run#1 sto/s Spruce.syms Spruce.syms#1