// These vary by printing engine . . . structure PrinterAttributes: [ breakPage word // LandscapeDevice word // PaperDimensionB word // PaperDimensionS word // printerForward word // PaperSpeedInches word // ScanLengthInches word // ScanMarginAdjust word // BitMarginAdjust word // Capabilities word // what the printer can do [see defs below] DutyCycle word // (SOS to EOS time)/(SOS to SOS time) Facets word // number of facets on polygon PolygonRatio word //polygon motor clock pulses per revolution NumBins word ] structure Capabilities: [ blank bit 3 cDuplex bit blank bit cOutputMode bit 2 cColor bit cBlack bit blank bit 3 cOverflowProtect bit 3 cPimFiles bit ] manifest [ lenPrAttr = (size PrinterAttributes/16) maxBins = 21 // following are bit definitions for Capabilities mDuplex = #10000 // prefer to print both sides mTSPrint = #4000 // can print both sides mMultiBin = #2000 // Penguin - if set, treat output bins as single big hopper mMailbox = #1000 // Penguin - if set, use bins as mailboxes // mMultiBin & mMailbox are mutually exclusive - if neither is set use bottom bin only mColor = #400 // color printer mBlackHousing = #200 // color printer with black developer // mAuxOut = #100 // has second output direction // mStripControl = #40 // we have control of paper stripping // mLightControl = #20 // alternate light source selectable (platen input mStopAfterJob = #10 // wait for bin-clear signal from user after each job mStopWhenFull = 4 // do not automatically clear bin counters between jobs mSpruceClear = 2 // automatically clear bin counters between jobs // if any of the values above are set, Spruce will count the sheets in each output hopper // and stop if there is no good place to put more paper. The three values above are mutually exclusive, // and refer to when the bin counters are reset. If none of these options are used, // Spruce maintains no counts. mPimFiles = 1 // Pimlico style files required (false color)**!!!separate defn in SpruceShow!!!** //capabilities of each of the Printers DoverCap = mStopAfterJob + mStopWhenFull + mSpruceClear PenguinCap = mStopAfterJob + mStopWhenFull + mSpruceClear + mTSPrint + mMultiBin + mMailbox SequoiaCap = mStopAfterJob + mStopWhenFull + mSpruceClear PimlicoCap = mStopAfterJob + mStopWhenFull + mSpruceClear + mColor + mPimFiles PuffinCap = mColor + mBlackHousing + mPimFiles + mStopAfterJob + mStopWhenFull + mSpruceClear //default values for each of the printers DoverDefault = 0 // no overflow protection for Dovers PenguinDefault = mStopWhenFull + mDuplex + mTSPrint + mMailbox SequoiaDefault = mStopWhenFull PimlicoDefault = mStopWhenFull + mColor + mPimFiles PuffinDefault = mStopWhenFull + mColor + mPimFiles + mBlackHousing //values for stopsPrinting binFull = 1 jam = 2 auxHasTrash = 3 ] // December 3, 1978 4:37 PM derived from Spruce.d // June 29, 1979 12:21 PM, add Capabilities structure, modify defaults // August 16, 1979 11:00 AM, values for stopsPrinting // November 28, 1979 3:18 PM, make NoOverflowProtectiondefault for Dover // January 18, 1980 11:51 AM, add mDuplex //z20598(1792)