📄 l2_cpu.c
字号:
for(tmp1=0; tmp1<0x2000; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0; tmp1<0x2000; tmp1++)
if(XBYTE[tmp1]!=0x00)
error = 1;
XBYTE[0x2C00] = tmp0;
}
// JPEG SRAM
if((level==0) || (level==2))
{
XBYTE[0x20E0] = 0x00;
//test read/write sequence data
for(tmp1=0x2800; tmp1<0x2880; tmp1++)
XBYTE[tmp1] = (UCHAR)tmp1;
for(tmp1=0x2800; tmp1<0x2880; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)tmp1)
error = 1;
//test 0x00->0xFF
for(tmp1=0x2800; tmp1<0x2880; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2800; tmp1<0x2880; tmp1++)
if(XBYTE[tmp1]!=0xFF)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2800; tmp1<0x2880; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2800; tmp1<0x2880; tmp1++)
if(XBYTE[tmp1]!=0x00)
error = 1;
XBYTE[0x20E0] = 0x00;
XBYTE[0x28E0] = 0x01;
XBYTE[0x20E0] = 0x02;
//test read/write sequence data
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = (UCHAR)tmp1;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)tmp1)
error = 1;
//test 0x00->0xFF
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=0xFF)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=0x00)
error = 1;
//test read/write sequence data
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = (UCHAR)(tmp1&0x00ff);
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)(tmp1&0x001f))
error = 1;
//test 0x00->0xFF
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=0x1f)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=0x00&0x1f)
error = 1;
XBYTE[0x20E0] = 0x00;
XBYTE[0x28E0] = 0x02;
XBYTE[0x20E0] = 0x02;
//test read/write sequence data
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = (UCHAR)tmp1;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)tmp1)
error = 1;
//test 0x00->0xFF
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=0xFF)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=0x00)
error = 1;
//test read/write sequence data
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = (UCHAR)(tmp1&0x00ff);
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)(tmp1&0x0007))
error = 1;
//test 0x00->0xFF
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=0x07)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=0x00&0x07)
error = 1;
XBYTE[0x20E0] = 0x00;
XBYTE[0x28E0] = 0x03;
XBYTE[0x20E0] = 0x02;
//test read/write sequence data
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = (UCHAR)tmp1;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)tmp1)
error = 1;
//test 0x00->0xFF
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=0xFF)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2800; tmp1<0x2840; tmp1++)
if(XBYTE[tmp1]!=0x00)
error = 1;
//test read/write sequence data
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = (UCHAR)(tmp1&0x00ff);
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=(UCHAR)(tmp1&0x0007))
error = 1;
//test 0x00->0xFF
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = 0xFF;
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=0x07)
error = 1;
//test 0xFF->0x00
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
XBYTE[tmp1] = 0x00;
for(tmp1=0x2880; tmp1<0x28C0; tmp1++)
if(XBYTE[tmp1]!=0x00&0x07)
error = 1;
XBYTE[0x20E0] = 0x00;
}
// CPU Register R/W
if(level == 0 || level==2)
{
XBYTE[0x20E0] = 0x00;
//0x2C01
tmp0 = XBYTE[0x2C01];
XBYTE[0x2C01] = 0xFF;
if(XBYTE[0x2C01]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2C01] = 0x00;
if(XBYTE[0x2C01]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2C01] = tmp0;
//0x2C02
tmp0 = XBYTE[0x2C02];
XBYTE[0x2C02] = 0xFF;
if(XBYTE[0x2C02]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2C02] = 0x00;
if(XBYTE[0x2C02]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2C02] = tmp0;
//0x2C03
tmp0 = XBYTE[0x2C03];
XBYTE[0x2C03] = 0xFF;
if(XBYTE[0x2C03]!=0x3F) error = 1; //test 0 to 1 toggle
XBYTE[0x2C03] = 0x00;
if(XBYTE[0x2C03]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2C03] = tmp0;
//0x2C05
tmp0 = XBYTE[0x2C05];
XBYTE[0x2C05] = 0xFF;
if(XBYTE[0x2C05]!=0x01) error = 1; //test 0 to 1 toggle
XBYTE[0x2C05] = 0x00;
if(XBYTE[0x2C05]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2C05] = tmp0;
//0x2C11
tmp0 = XBYTE[0x2C11];
XBYTE[0x2C11] = 0xFF;
if(XBYTE[0x2C11]!=0x07) error = 1; //test 0 to 1 toggle
XBYTE[0x2C11] = 0x00;
if(XBYTE[0x2C11]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2C11] = tmp0;
//0x2C12 0x2CA0 0x2CA2
tmp0 = XBYTE[0x2C12];
XBYTE[0x2C12] = 0xFF;
if(XBYTE[0x2C12]!=0xFF) error = 1; //test 0 to 1 toggle
if(XBYTE[0x2CA0]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2C12] = 0x00;
if(XBYTE[0x2C12]!=0x00) error = 1; //test 1 to 0 toggle
if(XBYTE[0x2CA2]!=0x00) error = 1; //test 0 to 1 toggle
XBYTE[0x2C12] = tmp0;
//0x2C13 0x2CA1 0x2CA3
tmp0 = XBYTE[0x2C13];
XBYTE[0x2C13] = 0xFF;
if(XBYTE[0x2C13]!=0x0F) error = 1; //test 0 to 1 toggle
if(XBYTE[0x2CA1]!=0x0F) error = 1; //test 0 to 1 toggle
XBYTE[0x2C13] = 0x00;
if(XBYTE[0x2C12]!=0x00) error = 1; //test 1 to 0 toggle
if(XBYTE[0x2CA3]!=0x00) error = 1; //test 0 to 1 toggle
XBYTE[0x2C13] = tmp0;
}
//JPEG Register R/W
if(level == 0 || level==2)
{
XBYTE[0x20E0] = 0x00;
//0x2880
tmp0 = XBYTE[0x2880];
XBYTE[0x2880] = 0xFF;
if(XBYTE[0x2880]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2880] = 0x00;
if(XBYTE[0x2880]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2880] = tmp0;
//0x2881
tmp0 = XBYTE[0x2881];
XBYTE[0x2881] = 0xFF;
if(XBYTE[0x2881]!=0x01) error = 1; //test 0 to 1 toggle
XBYTE[0x2881] = 0x00;
if(XBYTE[0x2881]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2881] = tmp0;
//0x2882
tmp0 = XBYTE[0x2882];
XBYTE[0x2882] = 0xFF;
if(XBYTE[0x2882]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2882] = 0x00;
if(XBYTE[0x2882]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2882] = tmp0;
//0x2883
tmp0 = XBYTE[0x2883];
XBYTE[0x2883] = 0xFF;
if(XBYTE[0x2883]!=0x03) error = 1; //test 0 to 1 toggle
XBYTE[0x2883] = 0x00;
if(XBYTE[0x2883]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2883] = tmp0;
//0x2884
tmp0 = XBYTE[0x2884];
XBYTE[0x2884] = 0xFF;
if(XBYTE[0x2884]!=0x01) error = 1; //test 0 to 1 toggle
XBYTE[0x2884] = 0x00;
if(XBYTE[0x2884]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2884] = tmp0;
//0x2885
tmp0 = XBYTE[0x2885];
XBYTE[0x2885] = 0xFF;
if(XBYTE[0x2885]!=0x01) error = 1; //test 0 to 1 toggle
XBYTE[0x2885] = 0x00;
if(XBYTE[0x2885]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2885] = tmp0;
//0x2888
tmp0 = XBYTE[0x2888];
XBYTE[0x2888] = 0xFF;
if(XBYTE[0x2888]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2888] = 0x00;
if(XBYTE[0x2888]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2888] = tmp0;
//0x2889
tmp0 = XBYTE[0x2889];
XBYTE[0x2889] = 0xFF;
if(XBYTE[0x2889]!=0xFF) error = 1; //test 0 to 1 toggle
XBYTE[0x2889] = 0x00;
if(XBYTE[0x2889]!=0x00) error = 1; //test 1 to 0 toggle
XBYTE[0x2889] = tmp0;
}
return error;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -