(FILECREATED "11-May-85 18:17:50" {ERIS}<LISPCORE>BUSMASTER>BUSMASTERTEST.;4 13656Q 

      changes to:  (FNS BMTEST BUSMASTERTEST)
		   (VARS BUSMASTERTESTCOMS)

      previous date: "11-May-85 16:17:59" {ERIS}<LISPCORE>BUSMASTER>BUSMASTERTEST.;1)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT BUSMASTERTESTCOMS)

(RPAQQ BUSMASTERTESTCOMS ((FILES BUSMASTER)
			  (FNS BMTEST BUSMASTERTEST)))
(FILESLOAD BUSMASTER)
(DEFINEQ

(BMTEST
  [LAMBDA (FOUND EXPECT MASK TESTNAME)
    (PROG ((MASKEDFOUND (IF MASK
			    THEN (LOGAND MASK FOUND)
			  ELSE FOUND)))
          (IF VERBOSEFLG
	      THEN (PRIN1 "Testing: ")
		   (PRINT TESTNAME))
          (IF (NEQ EXPECT MASKEDFOUND)
	      THEN (PRIN1 "Expected: ")
		   (PRIN1 EXPECT)
		   (PRIN1 ", Found: ")
		   (PRIN1 MASKEDFOUND)
		   (PRIN1 ", Error in test: ")
		   (PRINT TESTNAME])

(BUSMASTERTEST
  [LAMBDA (VERBOSEFLG)                                       (* edited " 1-Jan-00 00:00")

          (* * Run confidence tests on PC-bus BusMaster)


    (PROG ((CtrlReg 4)
	   (StatReg 4)
	   (DataReg 5)
	   (AddrHiReg 6)
	   (AddrLoReg 7)
	   (StatInProgress 1)
	   (StatIOChChk 2)
	   (StatIOChRdy 4)
	   (StatA0 100Q)
	   (StatBhen 200Q)
	   (StatTestbit0 400Q)
	   (StatA8 1000Q)
	   (StatA16 2000Q)
	   (StatSlaveNot 20000Q)
	   (StatMasterNot 40000Q)
	   (CtrlMemR 1)
	   (CtrlMemW 2)
	   (CtlIOR 4)
	   (CtlIOW 10Q)
	   (CtrlTestbit0 100Q)
	   (CtrlBhen 4000Q)
	   (CtrlMultibus 100000Q)
	   (RcvrData 1024Q)
	   (RcvrAddrHi 1025Q)
	   (RcvrAddrLo 1026Q))
          (PROGN (WRITEPRINTERPORT 177777Q)
		 (BMTEST (READPRINTERPORT)
			 0 340Q "Wrong CPE-FP connector")
		 (WRITEPRINTERPORT 0)
		 (BMTEST (READPRINTERPORT)
			 0 100Q "Check power and flat cable"))
          (PROGN (BX.OUTPUT 0 CtrlReg)
		 (BX.OUTPUT 0 DataReg)
		 (BMTEST (BX.INPUT StatReg)
			 0 StatTestbit0 "BusMaster Card: Testbit0 zero")
		 (BX.OUTPUT CtrlTestbit0 CtrlReg)
		 (BMTEST (BX.INPUT StatReg)
			 0 StatTestbit0 "BusMaster Card: Testbit0 still zero")
		 (BX.OUTPUT 0 DataReg)
		 (BMTEST (BX.INPUT StatReg)
			 StatTestbit0 StatTestbit0 "BusMaster Card: Testbit0 one"))
          (PROGN (BX.OUTPUT 0 CtrlReg)
		 (BX.OUTPUT 0 DataReg)
		 (BMTEST (BX.INPUT StatReg)
			 StatBhen StatBhen "BusMaster Card: Status BHEN zero")
		 (BX.OUTPUT CtrlBhen CtrlReg)
		 (BMTEST (BX.INPUT StatReg)
			 StatBhen StatBhen "BusMaster Card: Status BHEN still zero")
		 (BX.OUTPUT 0 DataReg)
		 (BMTEST (BX.INPUT StatReg)
			 0 StatBhen "BusMaster Card: Status BHEN one"))
          (PROGN (BUS.RESET)
		 (BMTEST (BX.INPUT StatReg)
			 StatIOChRdy StatIOChRdy "IOChRdy (PC-bus pin 10) stuck")
		 (BMTEST (BX.INPUT StatReg)
			 0 StatInProgress "DMA Request stuck or Bad BusMaster: InProgress stuck")
		 (BUS.INPUT RcvrData)
		 (BMTEST (BX.INPUT StatReg)
			 StatIOChRdy StatIOChRdy "IOChRdy (PC-bus pin 10) stuck after input")
		 (BMTEST (BX.INPUT StatReg)
			 0 StatInProgress "DRQn stuck or Bad BusMaster: InProgress stuck after input")
		 )
          (PROGN (BUS.OUTPUT RcvrData 0)
		 (BMTEST (BX.INPUT DataReg)
			 0 NIL "Check flat cable: BX low test zeros")
		 (BUS.OUTPUT RcvrData 177777Q)
		 (BMTEST (BX.INPUT DataReg)
			 377Q NIL "Check flat cable: BX low test ones")
		 (BX.OUTPUT RcvrData AddrLoReg)
		 (BX.OUTPUT (PLUS CtrlMultibus CtlIOW)
			    CtrlReg)
		 (BX.OUTPUT 0 DataReg)
		 (BMTEST (BX.INPUT DataReg)
			 0 NIL "Check flat cable: BX high test zeros")
		 (BX.OUTPUT 177777Q DataReg)
		 (BMTEST (BX.INPUT DataReg)
			 177777Q NIL "Check flat cable: BX high test ones"))
          (PROGN (BUS.WRITE 0 0)
		 (BMTEST (BX.INPUT StatReg)
			 0 StatA0 "BusMaster Card: A0 test zero")
		 (BMTEST (BX.INPUT StatReg)
			 0 StatA8 "BusMaster Card: A8 test zero")
		 (BMTEST (BX.INPUT StatReg)
			 0 StatA16 "BusMaster Card: A16 test zero")
		 (BUS.WRITE 3777777Q 0)
		 (BMTEST (BX.INPUT StatReg)
			 StatA0 StatA0 "BusMaster Card: A0 test one")
		 (BMTEST (BX.INPUT StatReg)
			 StatA8 StatA8 "BusMaster Card: A8 test one")
		 (BMTEST (BX.INPUT StatReg)
			 StatA16 StatA16 "BusMaster Card: A16 test one"))
          (PROGN (BMTEST (BX.INPUT StatReg)
			 0 StatMasterNot "Jumper E7 in for PC-bus")
		 (BMTEST (BX.INPUT StatReg)
			 StatSlaveNot StatSlaveNot "Jumper E5 out for PC-bus"))
          (PROGN (BUS.OUTPUT RcvrData 0)
		 (BUS.WRITEHL 17Q 377Q 377Q)
		 (BMTEST (BUS.INPUT RcvrData)
			 0 NIL "IBM Receiver Card Loopback: data zeros")
		 (BMTEST (BUS.INPUT RcvrAddrLo)
			 377Q NIL "IBM Receiver Card Loopback: AddrLo ones")
		 (BMTEST (BUS.INPUT RcvrAddrHi)
			 0 NIL "IBM Receiver Card Loopback: AddrHi zeros")
		 (BUS.OUTPUT RcvrData 377Q)
		 (BUS.WRITEHL 17Q 177400Q 0)
		 (BMTEST (BUS.INPUT RcvrData)
			 377Q NIL "IBM Receiver Card Loopback: data ones")
		 (BMTEST (BUS.INPUT RcvrAddrLo)
			 0 NIL "IBM Receiver Card Loopback: AddrLo zeros")
		 (BMTEST (BUS.INPUT RcvrAddrHi)
			 377Q NIL "IBM Receiver Card Loopback: AddrHi ones"))
          (PROGN (BUS.WRITEHL 1 0 0)
		 (BUS.WRITEHL 1 177777Q 377Q)
		 (BMTEST (BUS.READHL 1 0)
			 0 NIL "Remote Bank 1 Memory: zeros at zero")
		 (BMTEST (BUS.READHL 1 177777Q)
			 377Q NIL "Remote Bank 1 Memory: ones at ones")
		 (BUS.WRITEHL 1 0 377Q)
		 (BUS.WRITEHL 1 177777Q 0)
		 (BMTEST (BUS.READHL 1 0)
			 377Q NIL "Remote Bank 1 Memory: ones at zero")
		 (BMTEST (BUS.READHL 1 177777Q)
			 0 NIL "Remote Bank 1 Memory: zeros at ones"))
          (RETURN "BusMaster, Receiver and bank 1 memory OK except as printed."])
)
(PUTPROPS BUSMASTERTEST COPYRIGHT ("Xerox Corporation" 3701Q))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (720Q 13531Q (BMTEST 732Q . 1676Q) (BUSMASTERTEST 1700Q . 13527Q)))))
STOP