//**************************************************************************************
//*** UTVFC3a.TST
//*** Rev.H May 25.1979
//*** Rev.F February 2.1979
//*** Rev.B ***
//*** V. Vysin August 4.1978
//**************************************************************************************
//**************************************************************************************
//To include the following definition files in the compilation
get "tester.d"
get "UTVFC.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}
//{OData3: Odata.12, Odata.13, Odata.14, Odata.15}
//{Start: Start.0, Start.1, Start.2, Start.3, Start.4, Start.5}
//{CTask: CTask.0, CTask.1, CTask.2, CTask.3}
//Now we can start checking VS.
let Test34() be
[
Start()
SetBusValue(4,29,93,30,94,#0 )
SetCAddr(#17) ; //allimportant;mustrestore MyTask &ICompar
Reset() //PreVS =0 , OddField =0
MLpulse()
NClko(0)
PrepareTSR()
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should have been xero",1)
EndTSR()
TryHS(#10 ) //PreVS=1,EvenField
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should still have been xero",2)
FlipwML(#10)
Compare("Idata.16",GetPinValue(106), 1,"VS bit, o-o ,it should have been one",3)
Recheck(#10)
Compare("Idata.16",GetPinValue(106), 1,"VS bit, o-o ,it should still have been one",4)
EndTSR()
TryHS(#0) //PreVS=0,EvenField
Compare("Idata.16",GetPinValue(106), 1,"VS bit, o-o ,it should still have been one",5)
FlipwML(#0)
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should have been zero",6)
Recheck(#0)
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should still have been zero",7)
EndTSR()
TryML(#14) //PreVS=1,OddField
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should still have been zero",8)
FlipwHS(#14)
Compare("Idata.16",GetPinValue(106), 1,"VS bit, o-o ,it should have been one",9)
Recheck(#14)
Compare("Idata.16",GetPinValue(106), 1,"VS bit, o-o ,it should still have been one",10)
EndTSR()
TryML(#4) //PreVS=0,OddField
Compare("Idata.16",GetPinValue(106), 1,"VS bit, o-o ,it should still have been one",11)
FlipwHS(#4)
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should have been zero",12)
Recheck(#4)
Compare("Idata.16",GetPinValue(106), 0,"VS bit, o-o ,it should still have been zero",13)
EndTSR()
Stop()
]
and SetCAddr(arg) be
[
for caa=0 to 3 do
[
let cab=arg & 1
SetPinValue(31,cab)
SRClock()
arg=arg rshift 1
]
]
and TryHS(cr) be
[
Switch()
NClko(cr)
HSpulse() //the wrong pulse,just trying to confuse it
NClko(cr)
PrepareTSR()
]
and TryML(cr) be
[
Switch()
NClko(cr)
MLpulse() //the wrong pulse,just trying to confuse it
NClko(cr)
PrepareTSR()
]
and FlipwHS(cr) be
[
EndTSR()
HSpulse() //in OddField this is the right one
NClko(cr)
PrepareTSR()
]
and FlipwML(cr) be
[
EndTSR()
MLpulse() //in EvenField this is the right one
NClko(cr)
PrepareTSR()
]
and Recheck(cr) be
[
EndTSR()
MLpulse()
NClko(cr)
HSpulse() // how sneaky, am I an old Meany
NClko(cr)
PrepareTSR()
]
//VS ff is declared A-OK
//Lets now quickly check on SendControl logic
and Test35() be
[
Start()
NClk(2) // to clear SendControl ff
Compare("SendControl",GetPinValue(55),0,"oops ",1)
SetVS() // will be in EvenField so that HS is inactivated
NClk(1) //for ExtraNibTime to go low
NClk(1) //to clock SendControl
Compare("SendControl",GetPinValue(55),1,"oops ",2)
ResetVS()
NClk(1) //ExtraNibTime
Compare("SendControl",GetPinValue(55),1,"oops ",3)
NClk(1) //to clock SendControl
Compare("SendControl",GetPinValue(55),0,"oops ",4) ;//this was by VS
// what follows now is an explicit Switch subroutine,with some imbedded tests
SetBusValue(8,167,165,164,163,162,159,156,155,#200)
ClkStart()
NClk(1)
SetBusValue(4,135,134,133,129,#12 ); // SetCPhase,PSwitch
WriteHorCont()
NClk(1) // sets SetCPhase
NClk(1) // sets ControlPhase
SetBusValue(4,135,134,133,129,#6 ); // Switch+HS only,we must drop setCPhase
WriteHorCont() // writes into HeRAM
NClk(1) // Switch =1 ,HS=1 now,SetCPhase=0
Compare("SendControl",GetPinValue(55),0,"oops ",5) ; // byHS
SetBusValue(4,135,134,133,129,0 );
WriteHorCont()
NClk(1) //makesHS=0,Switch=0,ControlPhase=0
//SendControl=1,ExNibTime=0
Compare("SendControl",GetPinValue(55),1,"o-o ",6)
NClk(1) // makes ExtraNibTime =1
Compare("SendControl",GetPinValue(55),1,"o-o ",7)
NClk(1)
Compare("SendControl",GetPinValue(55),0,"o-o ",8)
//Gee, all's well ! Swell !
Stop()
]
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: