//**************************************************************************************
//*** UTVFC1a.TST
//*** Updated for Rev.H May 25.1979
//*** Updated for Rev.F January 24. 1979
//*** Updated for Rev.D November 13.1978
//*** Rev.B August 21.1978
//*** V.Vysin
//*** First Test program //**************************************************************************************
//**************************************************************************************
//To include the following definition files in the compilation
get "tester.d"
get "UTVFC.d"
//**************************************************************************************
//Test 13: To test Output Data Register (p.2) and Starting address Register (p.6)
//{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}
//{Start: Start.0, Start.1, Start.2, Start.3, Start.4, Start.5}
//{Buf0: Buf0B0, Buf0B1, Buf0B2, Buf0B3}
//{Buf1: Buf1B0, Buf1B1, Buf1B2, Buf1B3}
//{Buf2: Buf2B0, Buf2B1, Buf2B2, Buf2B3}
//{Buf3: Buf3B0, Buf3B1, Buf3B2, Buf3B3}
//{IAddr: Iaddr.0, Iaddr.1, Iaddr.2, Iaddr.3, Iaddr.4, Iaddr.5, Iaddr.6, Iaddr.7}
let Test13() be
[
Start()
for i=0 to 63 do //only 6 bits can be checked on SAR
[
{ODataM}=i
EClock()
ClkStart()
Compare("Start",{Start}, i,"ODR or SAR went crazy or I did - 33/33/33 proposition ",1)
]
//SubTest 13.1 to test the input shifter (p.8) and OData Register (p.2)
SetOaddr(0)
for i=0 to 15 do
[
SetOData(i)
Compare("Buf0",{Buf0}, i ,"Input shifter u84 or u83 out of kilter",2,i)
Compare("Buf1", {Buf1}, ( i +1) rem 16 ,"Input shifter u85 or u97 out of kilter",3,i)
Compare("IBuf2", {Buf2}, ( i +2) rem 16 ,"Input shifter u86 or u98 out of kilter",4,i)
Compare("Buf3", {Buf3}, ( i +4) rem 16 ,"Input shifter u87 or u99 out of kilter",5,i)
]
SetOaddr(1)
for i=0 to 15 do
[
SetOData(i)
Compare("Buf0",{Buf0}, ( i +4 ) rem 16 ,"Input shifter u84 or u83 out of kilter",6,i)
Compare("Buf1", {Buf1}, i ,"Input shifter u85 or u97 out of kilter",7,i)
Compare("Buf2", {Buf2}, ( i +1 ) rem 16 ,"Input shifter u86 or u98 out of kilter",8,i)
Compare("Buf3", {Buf3}, ( i +2 ) rem 16 ,"Input shifter u87 or u99 out of kilter",9,i)
]
SetOaddr(2)
for i=0 to 15 do
[
SetOData(i)
Compare("Buf0",{Buf0}, ( i +2 ) rem 16 ,"Input shifter u84 or u83 out of kilter",10,i)
Compare("Buf1", {Buf1}, ( i +4) rem 16 ,"Input shifter u85 or u97 out of kilter",11,i)
Compare("Buf2", {Buf2}, i , "Input shifter u86 or u98 out of kilter",12,i)
Compare("Buf3", {Buf3}, ( i +1 ) rem 16 ,"Input shifter u87 or u99 out of kilter",13,i)
]
SetOaddr(3)
for i=0 to 15 do
[
SetOData(i)
Compare("Buf0",{Buf0}, ( i +1 ) rem 16 ,"Input shifter u84 or u83 out of kilter",14,i)
Compare("Buf1", {Buf1}, ( i +2 ) rem 16 ,"Input shifter u85 or u97 out of kilter",15,i)
Compare("Buf2", {Buf2}, ( i +4) rem 16,"Input shifter u86 or u98 out of kilter",16,i)
Compare("Buf3", {Buf3}, i ,"Input shifter u87 or u99 out of kilter",17,i)
]
Stop()
]
and let SetOData(i) be
[
{OData0} =i
{OData1} =( i +1 ) rem 16
{OData2} =( i +2 ) rem 16
{OData3} =( i +4 ) rem 16
EClock()
]
//After this test we can safely betcha that the Output Data Register and the Input Shifter are in top shape
//**************************************************************************************