//************************************************************************************** //*** ECLutvfc7a.TST //*** Rev.H July 9.1979 //*** Rev.F February16.1979 //*** Rev.B August 4.1978 //*** V. Vysin //************************************************************************************** //************************************************************************************** //To include the following definition files in the compilation get "tester.d" get "ECLutvfc.d" //************************************************************************************** //{ODataM: Odata.00, Odata.01, Odata.02, Odata.03, Odata.04, Odata.05, Odata.06, Odata.07} //{ODataL: Odata.08, Odata.09, Odata.10, Odata.11, Odata.12, Odata.13, Odata.14, Odata.15} //{OData0: Odata.00, Odata.01, Odata.02, Odata.03} //{OData1: Odata.04, Odata.05, Odata.06, Odata.07} //{OData2: Odata.08, Odata.09, Odata.10, Odata.11} //{OData3: Odata.12, Odata.13, Odata.14, Odata.15} //{IAddr: Iaddr.0, Iaddr.1, Iaddr.2, Iaddr.3, Iaddr.5, Iaddr.6, Iaddr.7} let Test72() be [ Start() // we shall now be testing the A clock channels SetBusValue(8,139,138,137,136,135,134,133,129,1) ClkCR() //clears Gray counter SetBusValue(8,139,138,137,136,135,134,133,129,#200 ); // bit 8 =1 ClkCR() // clkB goes up for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),1,"ClockA behind times",1,g) ResetIMeF() ] ClkCR() // ClkA goes up now for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),0,"ClockA behind times",2,g) ResetIMeF() ] ClkCR() // ClkA should not change now,ClkB went down for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),0,"ClockA behind times",3,g) ResetIMeF() ] ClkCR() // clkA went down for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),1,"ClockA behind times",4,g) ResetIMeF() ] //We now shall test ClockB channels and the DropClock gating [ DisplayString("*nA-clock channels are in A1 shape") DisplayString("*nMove the marked test clip to position d-2 ") DisplayString("*nAfter having done so, press any key on the keyboard ! ") while Endofs(keys) do[] Breakpoint(9) ] SetBusValue(8,139,138,137,136,135,134,133,129,1) ClkCR() //clears Gray counter SetBusValue(8,139,138,137,136,135,134,133,129,#200 ); // bit 8 =1 for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),1,"ClockB behind times",5,g) ResetIMeF() ] ClkCR() // ClkB goes up now for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),0,"ClockB behind times",6,g) ResetIMeF() ] ClkCR() ClkCR() // this brought the B clock down again for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),1,"ClockB behind times",7,g) ResetIMeF() ] SetVS() NClk(1) // sets SendControl NClk(1) // sets DropClockB' SetBusValue(8,139,138,137,136,135,134,133,129,#200 ); // bit 8 =1 ClkCR() // sets ClkB,but output blocked by DropClock for g = 0 to 3 do [ Select(g) Compare("IOAttn'",GetPinValue(210),1,"ClockB behind times",8,g) ResetIMeF() ] ResetVS() [ DisplayString("*nWould you now please press q to quit or any other key for test repetition?") while Endofs(keys) do[] unless Endofs(keys) do [ let ch = Gets(keys) switchon (ch& #177) into [ case $q: case $Q: finish ] ] ] Stop() ] and Select(g) be [ SetPinValue(145,1- g rem 2) SetPinValue(209,1-(g-g rem 2) rshift 1) SetPinValue(140,0) EClock() // sets IMeF ] and SetVS() be [ Switch() NClko(8) // PreO,AllowWU =0,PreVS=1 MLpulse() NClk(1) ] and ResetVS() be [ Reset() // PreO,PreVS =0 MLpulse() NClk(1) ] //UNKNOWN SIGNALS REQUIRED: