(FILECREATED "27-JUL-83 16:33:51" {PHYLUM}<FIKES>LISP>8200INTERFACE.;6 23785  

      changes to:  (VARS 8200Server)

      previous date: "10-MAR-83 16:17:17" {PHYLUM}<FIKES>LISP>8200INTERFACE.;5)


(PRETTYCOMPRINT 8200INTERFACECOMS)

(RPAQQ 8200INTERFACECOMS [(FNS * 8200INTERFACEFNS)
	(MACROS * 8200INTERFACEMACROS)
	(PROP Settings CopyButton CopyModeButton OutputButton PaperTrayButton ReductionButton)
	(PROP Message A12 APLight AddPaper B01 B02 Bottom CBPTDLight CDCLight CollatedStapled 
	      CollatedUnstapled CopyButton CopyModeButton E10 FPBLPTLight FullSize Initialization 
	      LCITTLight LPBFPTLight LampTest NotReady OFDLight OFULight OneSidedCopies OutputButton 
	      PWLight PaperTrayButton Printing RDHLeftCover RDHRightCover RLight Ready 
	      ReductionButton RunNotPrint SCSILight STTTSLight TechRep Top TwoSidedCopies 
	      TwoSidedOriginalsAndCopies UOTLight UTPTLight)
	(RECORDS * 8200INTERFACERECORDS)
	(P (LOAD? (QUOTE EVALSERVER.DCOM)))
	(VARS * 8200INTERFACEVARS)
	(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA)
									      (NLAML)
									      (LAMA])

(RPAQQ 8200INTERFACEFNS (Get8200 Get8200Copy Get8200CopyMode Get8200Led Get8200OpStatusCode 
				 Get8200Output Get8200PaperTray Get8200Reduction Get8200State 
				 Get8200TechStatusCodes GetAddPaperMsg GetMessage Push8200Button 
				 Read8200 Select8200Feature SelectNumberOfCopies))
(DEFINEQ

(Get8200
  [LAMBDA (array prop)                                       (* edited: " 3-MAR-83 13:55")

          (* Get the value of property prop from array as obtained by Read8200. The properties are each of the feature types
	  selected by buttons on the main panel (e.g., CopyMode), each of the other lights on the main panel 
	  (e.g., AddPaper), each of the led's on the status panel (e.g., MainFeederLed), each of the sensors 
	  (e.g., DocumentInRDH), OperatorStatusCode, and TechStatusCode. Note: no provision is made in the code for dealing 
	  with blinking main panel lights.)


    (SELECTQ prop
	     ((AddPaper APLight)
	       (Get8200OnOffLight array 18 128))
	     (AddPaperLed (Get8200Led array 27 32))
	     (BSkiis (EltAnd array 23 1))
	     (BTransport (EltAnd array 23 2))
	     (BeltMistrackNOT (EltAnd array 20 8))
	     (CTransport (EltAnd array 23 4))
	     (CleanPopSensor (EltAnd array 22 16))
	     ((CloseBottomPaperTrayDoor CBPTDLight)
	       (Get8200OnOffLight array 17 128))
	     ((CloseDocumentCover CDCLight)
	       (Get8200OnOffLight array 16 1))
	     (ClosePaperDoorLed (Get8200Led array 24 128))
	     (CloseRDHLed (Get8200Led array 27 16))
	     (CompilerEntrySwitch (EltAnd array 19 16))
	     (CompilerExitSwitch (EltAnd array 19 32))
	     ((Copy CopyButton)
	       (Get8200Copy array))
	     ((CopyMode CopyModeButton)
	       (Get8200CopyMode array))
	     (DeveloperDoor (EltAnd array 23 128))
	     (DocumentInRDH (EltAnd array 19 128))
	     (EmptyTopTrayLed (Get8200Led array 27 1))
	     (FinisherCover (EltAnd array 20 2))
	     ((FirstPageBottomLastPageTop FPBLPTLight)
	       (Get8200OnOffLight array 18 8))
	     (FuserJamReset (EltAnd array 23 32))
	     (FuserOverTempNOT (EltAnd array 20 16))
	     (FuserUnderTemperature (EltAnd array 22 8))
	     (JamSwitch2 (EltAnd array 19 1))
	     (JamSwitch3 (EltAnd array 19 2))
	     (JamSwitch4 (EltAnd array 19 4))
	     (JamSwitch5 (EltAnd array 19 8))
	     ((LastPageBottomFirstPageTop LPBFPTLight)
	       (Get8200OnOffLight array 18 16))
	     ((LoadCopiesInTopTray LCITTLight)
	       (Get8200OnOffLight array 18 1))
	     (MainFeederLed (Get8200Led array 27 8))
	     (MainPaperTrayDoor (EltAnd array 20 64))
	     (MisStrip (EltAnd array 22 128))
	     (ModuleInterlockNOT (EltAnd array 20 32))
	     (OffsettingCatchTray (EltAnd array 19 64))
	     (OffsettingCatchTrayPosition (EltAnd array 21 16))
	     ((OperatorStatusCode OpStatusCode)
	       (Get8200OpStatusCode array))
	     ((OriginalsFaceDown OFDLight)
	       (Get8200OnOffLight array 18 4))
	     ((OriginalsFaceUp OFULight)
	       (Get8200OnOffLight array 18 2))
	     ((Output OutputButton)
	       (Get8200Output array))
	     ((PaperTray PaperTrayButton)
	       (Get8200PaperTray array))
	     (PaperUnderPopSensor (EltAnd array 22 32))
	     ((PleaseWait PWLight)
	       (Get8200OnOffLight array 16 32))
	     (PopJam (EltAnd array 22 64))
	     (PopReset (EltAnd array 23 8))
	     (PopSensorLed (Get8200Led array 24 8))
	     (ProcessorCover (EltAnd array 20 1))
	     (RDHLeftCover (EltAnd array 21 128))
	     (RDHMisfeed (EltAnd array 6 8))
	     (RDHMotor (EltAnd array 21 64))
	     (RDHMotorOff (EltAnd array 6 128))
	     (RDHOpen (EltAnd array 21 2))
	     (RDHReturnJam (EltAnd array 6 64))
	     (RDHRightCover (EltAnd array 21 32))
	     (RDHShingleFeed (EltAnd array 6 16))
	     (RDHSlowOffPlaten (EltAnd array 6 32))
	     (RDHStackingJam (EltAnd array 6 4))
	     (RXShroudOpen (EltAnd array 21 8))
	     ((Ready RLight)
	       (Get8200OnOffLight array 16 128))
	     ((Reduction ReductionButton)
	       (Get8200Reduction array))
	     (SetsTooThickLed (Get8200Led array 27 64))
	     ((SetsTooThickToStaple STTTSLight)
	       (Get8200OnOffLight array 17 64))
	     (ShadeOpen (EltAnd array 21 1))
	     (StandbyRelayNOT (EltAnd array 20 128))
	     (StaplerCover (EltAnd array 20 4))
	     (StaplerPresent (EltAnd array 22 4))
	     (State (Get8200State array))
	     ((StatusCodeSeeInstructions SCSILight)
	       (Get8200OnOffLight array 16 64))
	     (TechStatusCode (Get8200TechStatusCodes array))
	     (TopTrayFeederLed (Get8200Led array 27 4))
	     (TurnAroundTransport (EltAnd array 23 16))
	     (USShroudOpen (EltAnd array 21 4))
	     ((UnloadOutputTray UOTLight)
	       (Get8200OnOffLight array 18 64))
	     ((UnloadTopPaperTray UTPTLight)
	       (Get8200OnOffLight array 17 2))
	     (X2Led (Get8200Led array 24 1))
	     (X3Led (Get8200Led array 24 2))
	     (X4Led (Get8200Led array 24 4))
	     (X5Led (Get8200Led array 24 16))
	     (X6Led (Get8200Led array 24 32))
	     (X7Led (Get8200Led array 24 64))
	     (PROG [(fix (FIXSPELL prop NIL '(APLight AddPaper AddPaperLed BSkiis BTransport 
						      BeltMistrackNOT CBPTDLight CDCLight CTransport 
						      CleanPopSensor CloseBottomPaperTrayDoor 
						      CloseDocumentCover ClosePaperDoorLed 
						      CloseRDHLed CompilerEntrySwitch 
						      CompilerExitSwitch Copy CopyButton CopyMode 
						      CopyModeButton DeveloperDoor DocumentInRDH 
						      EmptyTopTrayLed FPBLPTLight FinisherCover 
						      FirstPageBottomLastPageTop FuserJamReset 
						      FuserOverTempNOT FuserUnderTemperature 
						      JamSwitch2 JamSwitch3 JamSwitch4 JamSwitch5 
						      LCITTLight LPBFPTLight 
						      LastPageBottomFirstPageTop LoadCopiesInTopTray 
						      MainFeederLed MainPaperTrayDoor MisStrip 
						      ModuleInterlockNOT OFDLight OFULight 
						      OffsettingCatchTray OffsettingCatchTrayPosition 
						      OpStatusCode OperatorStatusCode 
						      OriginalsFaceDown OriginalsFaceUp Output 
						      OutputButton PWLight PaperTray PaperTrayButton 
						      PaperUnderPopSensor PleaseWait PopJam PopReset 
						      PopSensorLed ProcessorCover RDHLeftCover 
						      RDHMisfeed RDHMotor RDHMotorOff RDHOpen 
						      RDHReturnJam RDHRightCover RDHShingleFeed 
						      RDHSlowOffPlaten RDHStackingJam RLight 
						      RXShroudOpen Ready Reduction ReductionButton 
						      SCSILight STTTSLight SetsTooThickLed 
						      SetsTooThickToStaple ShadeOpen StandbyRelayNOT 
						      StaplerCover StaplerPresent State 
						      StatusCodeSeeInstructions TechStatusCode 
						      TopTrayFeederLed TurnAroundTransport UOTLight 
						      USShroudOpen UTPTLight UnloadOutputTray 
						      UnloadTopPaperTray X2Led X3Led X4Led X5Led 
						      X6Led X7Led]
	           (RETURN (if fix
			       then (Get8200 array fix)
			     else (HELP "Unknown prop in Get8200:" prop])

(Get8200Copy
  [LAMBDA (array)                                            (* ref: " 5-MAR-82 16:32")
                                                             (* Get the value of property Copy from array as obtained
							     by Read8200. Return NIL if no setting is found for 
							     Copy.)
    (if (EltAnd array 17 32)
	then 'Normal
      elseif (EltAnd array 17 16)
	then 'Darker
      elseif (EltAnd array 17 8)
	then 'Lighter])

(Get8200CopyMode
  [LAMBDA (array)                                            (* ref: " 5-MAR-82 16:37")
                                                             (* Get the value of property Copy Mode from array as 
							     obtained by Read8200. Return NIL if no setting is found 
							     for Copy Mode.)
    (if (EltAnd array 17 4)
	then 'OneSidedCopies
      elseif (EltAnd array 17 1)
	then 'TwoSidedCopies
      elseif (EltAnd array 15 4)
	then 'TwoSidedOriginalsAndCopies])

(Get8200Led
  [LAMBDA (array elt mask)                                   (* ref: "10-MAR-82 12:34")
                                                             (* Get the status of the 8200 status panel led indicated
							     by array and elt. Return on, off, blink, or flash.)
    (if (EltAnd array elt mask)
	then 'on
      elseif (EltAnd array elt+1 mask)
	then 'blinking
      elseif (EltAnd array elt+2 mask)
	then 'flashing
      else 'off])

(Get8200OpStatusCode
  [LAMBDA (array)                                            (* ref: "24-MAR-82 16:54")
                                                             (* Return the operator status code indicated by the 
							     given 8200 status array.)
    (SELECTQ (for elt to 14 thereis (ELT array elt)
				    ~=0)
	     [1 (if (EltAnd array 1 32)
		    then 'B08
		  elseif (EltAnd array 1 16)
		    then 'B07
		  elseif (EltAnd array 1 8)
		    then 'B06
		  else (HELP "illegal 8200 fault, byte 1:" (ELT array 1]
	     [2 (if (EltAnd array 2 127)
		    then 'E10
		  else (HELP "illegal 8200 fault, byte 2:" (ELT array 2]
	     [3 (if (EltAnd array 3 143)
		    then 'E10
		  else (HELP "illegal 8200 fault, byte 3:" (ELT array 3]
	     [4 (if (EltAnd array 4 63)
		    then 'E10
		  else (HELP "illegal 8200 fault, byte 4:" (ELT array 4]
	     [5 (if (EltAnd array 5 16)
		    then 'C10
		  elseif (EltAnd array 5 8)
		    then 'C20
		  else (HELP "illegal 8200 fault, byte 5:" (ELT array 5]
	     (6 (if (EltAnd array 6 252)
		    then 'A10
		  elseif (EltAnd array 6 2)
		    then 'A11
		  else 'A17))
	     [7 (if (EltAnd array 7 128)
		    then 'D07
		  elseif (EltAnd array 7 8)
		    then 'D03
		  elseif (EltAnd array 7 2)
		    then 'D01
		  elseif (EltAnd array 7 1)
		    then 'D00
		  else (HELP "illegal 8200 fault, byte 7:" (ELT array 7]
	     (8 (if (EltAnd array 8 128)
		    then 'D15
		  elseif (EltAnd array 8 64)
		    then 'D14
		  elseif (EltAnd array 8 32)
		    then 'D13
		  elseif (EltAnd array 8 16)
		    then 'D12
		  elseif (EltAnd array 8 8)
		    then 'D11
		  elseif (EltAnd array 8 4)
		    then 'D10
		  elseif (EltAnd array 8 2)
		    then 'D09
		  else 'D08))
	     (9 (if (EltAnd array 9 128)
		    then 'D23
		  elseif (EltAnd array 9 64)
		    then 'D22
		  elseif (EltAnd array 9 32)
		    then 'D21
		  elseif (EltAnd array 9 16)
		    then 'D20
		  elseif (EltAnd array 9 8)
		    then 'D19
		  elseif (EltAnd array 9 4)
		    then 'D18
		  elseif (EltAnd array 9 2)
		    then 'D17
		  else 'D16))
	     (10 (if (EltAnd array 10 128)
		     then 'D31
		   elseif (EltAnd array 10 64)
		     then 'D30
		   elseif (EltAnd array 10 32)
		     then 'D29
		   elseif (EltAnd array 10 16)
		     then 'D28
		   elseif (EltAnd array 10 8)
		     then 'D27
		   elseif (EltAnd array 10 4)
		     then 'D26
		   elseif (EltAnd array 10 2)
		     then 'D25
		   else 'D24))
	     (11 (if (EltAnd array 11 128)
		     then 'E15
		   elseif (EltAnd array 11 64)
		     then 'C30
		   elseif (EltAnd array 11 32)
		     then 'F02
		   elseif (EltAnd array 11 16)
		     then 'F01
		   elseif (EltAnd array 11 8)
		     then 'E16
		   elseif (EltAnd array 11 4)
		     then 'F02
		   elseif (EltAnd array 11 2)
		     then 'F01
		   else 'E16))
	     [12 (if (EltAnd array 12 192)
		     then 'A12
		   elseif (EltAnd array 12 1)
		     then 'E15
		   else (HELP "illegal 8200 fault, byte 12:" (ELT array 12]
	     [13 (if (EltAnd array 13 8)
		     then 'A16
		   elseif (EltAnd array 13 4)
		     then 'A14
		   elseif (EltAnd array 13 3)
		     then 'A13
		   else (HELP "illegal 8200 fault, byte 13:" (ELT array 13]
	     (14 (if (EltAnd array 14 128)
		     then 'B03
		   elseif (EltAnd array 14 64)
		     then 'B05
		   elseif (EltAnd array 14 32)
		     then 'B04
		   elseif (EltAnd array 14 16)
		     then 'A18
		   elseif (EltAnd array 14 8)
		     then 'B02
		   elseif (EltAnd array 14 4)
		     then 'B01
		   elseif (EltAnd array 14 2)
		     then 'A15
		   else 'A19))
	     NIL])

(Get8200Output
  [LAMBDA (array)                                            (* ref: " 5-MAR-82 16:01")
                                                             (* Get the value of property Output from array as 
							     obtained by Read8200. Return NIL if no setting is found 
							     for Output.)
    (if (EltAnd array 15 128)
	then 'CollatedStapled
      elseif (EltAnd array 15 2)
	then 'Uncollated
      elseif (EltAnd array 15 1)
	then 'CollatedUnstapled])

(Get8200PaperTray
  [LAMBDA (array)                                            (* ref: " 5-MAR-82 16:40")
                                                             (* Get the value of property Paper Tray from array as 
							     obtained by Read8200. Return NIL if no setting is found 
							     for Paper Tray.)
    (if (EltAnd array 15 32)
	then 'Top
      elseif (EltAnd array 15 16)
	then 'Bottom])

(Get8200Reduction
  [LAMBDA (array)                                            (* ref: " 5-MAR-82 16:44")
                                                             (* Get the value of property Reduction from array as 
							     obtained by Read8200. Return NIL if no setting is found 
							     for Reduction.)
    (if (EltAnd array 16 16)
	then 'FullSize
      elseif (EltAnd array 16 8)
	then 98
      elseif (EltAnd array 16 4)
	then 74
      elseif (EltAnd array 16 2)
	then 65])

(Get8200State
  [LAMBDA (array)                                            (* edited: "16-MAR-82 16:58")
                                                             (* Get the value of property State from array as 
							     obtained by Read8200. Return NIL if no setting is found 
							     for State.)
    (CAR (NTH '(ComponentControl TechRep NotReady Ready Printing RunNotPrint LampTest Initialization)
	      (ELT array 30)+ 1])

(Get8200TechStatusCodes
  [LAMBDA (array)                                            (* edited: " 6-MAR-82 11:17")
                                                             (* Return a list of the tech status codes indicated by 
							     the given 8200 status array.)
    "not yet implemented"])

(GetAddPaperMsg
  [LAMBDA (addPaper array)                                   (* ref: "22-MAR-82 17:26")
                                                             (* The "Message" function for AddPaper.
							     Return a message that depends on which paper tray is 
							     selected.)
    (CONCAT "Add paper to " (SELECTQ (Get8200 array 'PaperTray)
				     (Top "top")
				     "bottom")
	    " paper tray."])

(GetMessage
  [LAMBDA (indicator array)                                  (* ref: "22-MAR-82 15:21")

          (* Get the message associated with indicator. If the value of property "Message" is a string, then return it.
	  If the value is an atom, treat the value as a function and apply the function with "indicator" and "array" as 
	  arguments. Otherwise, return "indicator" as a string.)


    (PROG [(message (SELECTQ indicator
			     (65 "65%%")
			     (74 "74%%")
			     (98 "98%%")
			     (GETPROP indicator 'Message]
          (RETURN (if (STRINGP message)
		      then message
		    elseif message and (ATOM message)
		      then (APPLY* message indicator array)
		    else (MKSTRING indicator])

(Push8200Button
  [LAMBDA (button)                                           (* edited: " 5-AUG-82 12:41")

          (* Send a signal to the "8200" that will have the effect of pushing the panel button specified by "button". 
"button" can be an integer 0,1,...,9, one of the globally specified buttons (e.g., CopyModeButton), or one of the atoms 
	  Blank, Clear, Copy, CopyMode, Output, PaperTray, Reduction, StartPrint, or StopPrint.)


    (if 8200Server
	then (REMOTEVAL <'ServerPush8200Button <'QUOTE button>> 8200Server)
      else (ServerPush8200Button button])

(Read8200
  [LAMBDA (array)                                            (* edited: "10-MAR-83 15:20")

          (* Read into array "array" a 30 byte status report from the 8200 copier. If "array" is NIL, create a 30 element 
	  array of type BYTE. Return the array.)


    (PROG (state)
          (if 8200Server
	      then Reading8200Flg← <NIL> state←(REMOTEVAL (QUOTE (ServerRead8200))
							  8200Server)
		   (for exp in Reading8200Flg do (EVAL exp))
	    else state←(ServerRead8200))
          (Reading8200Flg←NIL)
          (if (LISTP state)
	      then (if ~array
		       then array←(ARRAY 30 (QUOTE BYTE)))
		   (for i to 30 as b in state do ((ELT array i)←b))
	    else (HELP "Error from 8200 server:" state))
          (RETURN array])

(Select8200Feature
  [LAMBDA (feature)                                          (* edited: "11-AUG-82 15:05")
                                                             (* Select one of the features on the 8200 main control 
							     panel (e.g., OneSidedCopies).)
    (PROG [current (array (Read8200))
		   (button (OR (for b in '(OutputButton PaperTrayButton CopyButton CopyModeButton 
							ReductionButton)
				  thereis feature MEMB (GETPROP b 'Settings))
			       (for b in '(OutputButton PaperTrayButton CopyButton CopyModeButton 
							ReductionButton)
				  bind fix thereis (fix←(FIXSPELL feature NIL (GETPROP b 'Settings)))
						   (if fix
						       then feature←fix))
			       (HELP "Unknown button in Select8200Feature" feature]
          (while (Get8200 array 'State)='ComponentControl do (Read8200 array))
          (current←((Get8200 array button)
	     MEMB
	     (GETPROP button 'Settings)))
          (if ~current
	      then (HELP "No current selection for " button))
          [until current:1=feature do (Push8200Button button)
				      (current←(current::1 or (GETPROP button 'Settings]
          (RETURN button])

(SelectNumberOfCopies
  [LAMBDA (noc)                                              (* ref: "18-JUN-82 12:50")
                                                             (* Select noc number of copies on the 8200.0)
    (Push8200Button 'Clear)
    (PROG ((x noc))
          (while (x GT 0) do (Push8200Button (IREMAINDER x 10))
			     (x←x/10])
)

(RPAQQ 8200INTERFACEMACROS (EltAnd Get8200OnOffLight))
(DECLARE: EVAL@COMPILE 

(PUTPROPS EltAnd MACRO ((array elt mask)
			(GREATERP (LOGAND (ELT array elt)
					  mask)
				  0)))

(PUTPROPS Get8200OnOffLight MACRO [(array elt mask)
				   (COND
				     ((EltAnd array elt mask)
				       (QUOTE on))
				     (T (QUOTE off])
)

(PUTPROPS CopyButton Settings (Normal Darker Lighter))

(PUTPROPS CopyModeButton Settings (OneSidedCopies TwoSidedCopies TwoSidedOriginalsAndCopies))

(PUTPROPS OutputButton Settings (CollatedUnstapled CollatedStapled Uncollated))

(PUTPROPS PaperTrayButton Settings (Bottom Top))

(PUTPROPS ReductionButton Settings (FullSize 98 74 65))

(PUTPROPS A12 Message "Document handler (RDH) cover open.")

(PUTPROPS APLight Message GetAddPaperMsg)

(PUTPROPS AddPaper Message GetAddPaperMessage)

(PUTPROPS B01 Message "B01: Two-sided copies should not be selected.")

(PUTPROPS B02 Message "B02: Stapled output should not be selected.")

(PUTPROPS Bottom Message "Standard Paper")

(PUTPROPS CBPTDLight Message "Close bottom paper tray door")

(PUTPROPS CDCLight Message "Close document cover")

(PUTPROPS CollatedStapled Message "Collated and Stapled")

(PUTPROPS CollatedUnstapled Message "Collated and Unstapled")

(PUTPROPS CopyButton Message "Copy")

(PUTPROPS CopyModeButton Message "Copy Mode")

(PUTPROPS E10 Message (of a paper jam.))

(PUTPROPS FPBLPTLight Message "First page bottom, last page top")

(PUTPROPS FullSize Message "Full Size")

(PUTPROPS Initialization Message "The 8200 is initializing")

(PUTPROPS LCITTLight Message "Load copies in top tray")

(PUTPROPS LPBFPTLight Message "Last page bottom, first page top")

(PUTPROPS LampTest Message "The 8200 is doing a lamp test.")

(PUTPROPS NotReady Message "The 8200 is not ready.")

(PUTPROPS OFDLight Message "Originals face down")

(PUTPROPS OFULight Message "Place originals in RDH, face up")

(PUTPROPS OneSidedCopies Message "One-Sided Copies")

(PUTPROPS OutputButton Message "Output")

(PUTPROPS PWLight Message "Please wait")

(PUTPROPS PaperTrayButton Message "Make Copies On")

(PUTPROPS Printing Message "The 8200 is Printing")

(PUTPROPS RDHLeftCover Message "RDH left cover is open")

(PUTPROPS RDHRightCover Message "RDH right cover is open")

(PUTPROPS RLight Message "Ready")

(PUTPROPS Ready Message "The 8200 is Ready")

(PUTPROPS ReductionButton Message "Reduction")

(PUTPROPS RunNotPrint Message "The 8200 is running but not printing")

(PUTPROPS SCSILight Message "Status code, see instructions")

(PUTPROPS STTTSLight Message "Sets too thick to staple")

(PUTPROPS TechRep Message "The 8200 is in Tech Rep status ")

(PUTPROPS Top Message "Paper Supplied by Operator")

(PUTPROPS TwoSidedCopies Message "Two-Sided Copies")

(PUTPROPS TwoSidedOriginalsAndCopies Message "Two-Sided Originals and Copies")

(PUTPROPS UOTLight Message "Unload output tray")

(PUTPROPS UTPTLight Message "Unload top paper tray")

(RPAQQ 8200INTERFACERECORDS (8200Status))
[DECLARE: EVAL@COMPILE 

(DATATYPE 8200Status (array))
]
(/DECLAREDATATYPE (QUOTE 8200Status)
		  (QUOTE (POINTER)))
(LOAD? (QUOTE EVALSERVER.DCOM))

(RPAQQ 8200INTERFACEVARS (8200Server))

(RPAQQ 8200Server RAJAH)
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 

(ADDTOVAR NLAMA )

(ADDTOVAR NLAML )

(ADDTOVAR LAMA )
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1423 20230 (Get8200 1433 . 8095) (Get8200Copy 8097 . 8583) (Get8200CopyMode 8585 . 9119
) (Get8200Led 9121 . 9616) (Get8200OpStatusCode 9618 . 13677) (Get8200Output 13679 . 14195) (
Get8200PaperTray 14197 . 14642) (Get8200Reduction 14644 . 15186) (Get8200State 15188 . 15645) (
Get8200TechStatusCodes 15647 . 15964) (GetAddPaperMsg 15966 . 16409) (GetMessage 16411 . 17165) (
Push8200Button 17167 . 17764) (Read8200 17766 . 18592) (Select8200Feature 18594 . 19848) (
SelectNumberOfCopies 19850 . 20228)))))
STOP