📄 display.c
字号:
}else pVar->MemCursorCount++;
if(pVar->MemMenuCount>0x03) pVar->MemMenuCount=0x03;
}
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
if(pVar->MemCursorCount==0)
{
if(pVar->MemMenuCount>0x00) pVar->MemMenuCount=pVar->MemMenuCount-1;
pVar->MemCursorCount=0;
}else pVar->MemCursorCount--;
};
if(pVar->KeyID==OKKEY) //确认键
{
pVar->KeyID=NULLKEY;
i=pVar->MemCursorCount+pVar->MemMenuCount;
switch(i)
{
case 0x00: pVar->MenuMode=MEMReg1_MENU; // 寄存器Ⅰ
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
case 0x01: pVar->MenuMode=MEMReg2_MENU; // 寄存器Ⅱ
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
case 0x02: pVar->MenuMode=MEMRam196_MENU; // RAM(196)
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
case 0x03: pVar->MenuMode=MEMRamPSD_MENU; // RAM(PSD)
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
case 0x04: pVar->MenuMode=MEMRam256_MENU; // RAM(256)
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
case 0x05: pVar->MenuMode=MEMFlashPSD_MENU; // Flash(PSD)
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
case 0x06: pVar->MenuMode=MEMX25043_MENU; // X25043
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
break;
default: break;
};
};
};//-------OPEN
}
void MEMReg1(void) // 寄存器Ⅰ
{
int i,j,k,m,n1,n2,n3,ii;
unsigned char *RegPtr;
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(5,0,5,1);
if(pVar->RegNum1>0x3E0)pVar->RegNum1=0x3e0;
for(i=0;i<8;i++)
{
k=i*6;
for(j=0;j<6;j++)
{
switch(j)
{
case 0x03:m=i*4+pVar->RegNum1;
n3=m%16; m=m/16;
n2=m%16; m=m/16;
n1=m%16;
DatBuf[k+j]=n1;
break;
case 0x04:DatBuf[k+j]=n2;
break;
case 0x05:DatBuf[k+j]=n3;
break;
default: DatBuf[k+j]=0;
break;
}
}
};
OutString(DatBuf,0,MemAdress,1);
pVar->action=OPEN;
}
if(pVar->action==OPEN)
{//-----OPEN
HITESC(MEM_MENU);
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum1>=4)pVar->RegNum1=pVar->RegNum1-4;
pVar->action=NOUSE;
};
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->RegNum1=pVar->RegNum1+4;
if(pVar->RegNum1>0x3e0)pVar->RegNum1=0x3e0;
pVar->action=NOUSE;
};
if(pVar->KeyID==PLUSKEY)
{
pVar->KeyID=NULLKEY;
pVar->RegNum1=pVar->RegNum1+32;
if(pVar->RegNum1>0x3e0)pVar->RegNum1=0x3e0;
pVar->action=NOUSE;
};
if(pVar->KeyID==MINUSKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum1>=32)pVar->RegNum1=pVar->RegNum1-32;
pVar->action=NOUSE;
};
RegPtr=(unsigned char *)pVar->RegNum1;
for(i=0;i<64;i++)
{
m=(*RegPtr);
n2=m%16; m=m/16;
n1=m%16;
StrBuf[i*2+0]=n1;
StrBuf[i*2+1]=n2;
RegPtr++;
}
OutString(StrBuf,0,MemDatAdr,1);
if(pVar->KeyID==F1)// 修改状态
{
pVar->KeyID=NULLKEY;
pVar->action=FLASH;
pVar->NewCursorOffset=3;
pVar->OldCursorOffset=3;
CursorGotoXy(DatBuf,MemAdress,1);
return;
};
}
if(pVar->action==FLASH)
{//------------------FLASH-----------------------
FlashESC();
if(pVar->KeyID==RIGHTKEY)
{
pVar->KeyID=NULLKEY;
pVar->NewCursorOffset++;
if(pVar->NewCursorOffset>5)pVar->NewCursorOffset=5;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==LEFTKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->NewCursorOffset>3)pVar->NewCursorOffset--;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==MINUSKEY)// "-"=PageUPKEY
{
pVar->KeyID=NULLKEY;
if(DatBuf[pVar->NewCursorOffset]!=0) DatBuf[pVar->NewCursorOffset]=DatBuf[pVar->NewCursorOffset]-1;
else
{
if(pVar->NewCursorOffset==3) DatBuf[pVar->NewCursorOffset]=0x03;
else DatBuf[pVar->NewCursorOffset]=0x0F;
}
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==PLUSKEY)// "+"=PageDown
{
pVar->KeyID=NULLKEY;
DatBuf[pVar->NewCursorOffset]++;
if(pVar->NewCursorOffset==3)
{
if(DatBuf[pVar->NewCursorOffset]>3)DatBuf[pVar->NewCursorOffset]=0;
}else
{
if(DatBuf[pVar->NewCursorOffset]>15)DatBuf[pVar->NewCursorOffset]=0;
}
CursorGotoXy(DatBuf,MemAdress,1);
}
if(pVar->KeyID==OKKEY)// " < " + " > " 修改完成
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->RegNum1=DatBuf[3]*256+DatBuf[4]*16+DatBuf[5];
}
}
}
void MEMReg2(void) // 寄存器Ⅱ
{
int i,j,k,m,n1,n2,n3,ii;
unsigned char *RegPtr;
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(5,0,5,1);
if(pVar->RegNum2>224)pVar->RegNum2=224; // 0xe0
for(i=0;i<8;i++)
{
k=i*6;
for(j=0;j<6;j++)
{
switch(j)
{
case 0x02:DatBuf[k+j]=1;
break;
case 0x03:DatBuf[k+j]=15;
break;
case 0x04:m=i*4+pVar->RegNum2;
n2=m%16; m=m/16;
n1=m%16;
DatBuf[k+j]=n1;
break;
case 0x05:DatBuf[k+j]=n2;
break;
default: DatBuf[k+j]=0;
break;
}
}
};
OutString(DatBuf,0,MemAdress,1);
pVar->action=OPEN;
}
if(pVar->action==OPEN)
{//-----OPEN
HITESC(MEM_MENU);
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum2>=4)pVar->RegNum2=pVar->RegNum2-4;
pVar->action=NOUSE;
};
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->RegNum2=pVar->RegNum2+4;
if(pVar->RegNum2>224)pVar->RegNum2=224;
pVar->action=NOUSE;
};
if(pVar->KeyID==PLUSKEY)
{
pVar->KeyID=NULLKEY;
pVar->RegNum2=pVar->RegNum2+32;
if(pVar->RegNum2>224)pVar->RegNum2=224;
pVar->action=NOUSE;
};
if(pVar->KeyID==MINUSKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum2>=32)pVar->RegNum2=pVar->RegNum2-32;
pVar->action=NOUSE;
};
RegPtr=(unsigned char *)pVar->RegNum2+0x1f00;
for(i=0;i<64;i++)
{
m=(*RegPtr);
n2=m%16; m=m/16;
n1=m%16;
StrBuf[i*2+0]=n1;
StrBuf[i*2+1]=n2;
RegPtr++;
}
OutString(StrBuf,0,MemDatAdr,1);
if(pVar->KeyID==F1)// 修改状态
{
pVar->KeyID=NULLKEY;
pVar->action=FLASH;
pVar->NewCursorOffset=4;
pVar->OldCursorOffset=4;
CursorGotoXy(DatBuf,MemAdress,1);
return;
};
}
if(pVar->action==FLASH)
{//------------------FLASH-----------------------
FlashESC();
if(pVar->KeyID==RIGHTKEY)
{
pVar->KeyID=NULLKEY;
pVar->NewCursorOffset++;
if(pVar->NewCursorOffset>5)pVar->NewCursorOffset=5;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==LEFTKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->NewCursorOffset>4)pVar->NewCursorOffset--;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==MINUSKEY)// "-"=PageUPKEY
{
pVar->KeyID=NULLKEY;
if(DatBuf[pVar->NewCursorOffset]!=0) DatBuf[pVar->NewCursorOffset]=DatBuf[pVar->NewCursorOffset]-1;
else DatBuf[pVar->NewCursorOffset]=0x0F;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==PLUSKEY)// "+"=PageDown
{
pVar->KeyID=NULLKEY;
DatBuf[pVar->NewCursorOffset]++;
if(DatBuf[pVar->NewCursorOffset]>15)DatBuf[pVar->NewCursorOffset]=0;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==OKKEY)// " < " + " > " 修改完成
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->RegNum2=DatBuf[4]*16+DatBuf[5];
}
}
}
void MEMRam196(void) // RAM(196)
{
int i,j,k,m,n1,n2,n3,ii;
unsigned char *RegPtr;
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(5,0,5,1);
if(pVar->RegNum3>480)pVar->RegNum3=480;
for(i=0;i<8;i++)
{
k=i*6;
for(j=0;j<6;j++)
{
switch(j)
{
case 0x03:m=i*4+pVar->RegNum3;
n3=m%16; m=m/16;
n2=m%16; m=m/16;
n1=m%16;
DatBuf[k+j]=n1+4;
break;
case 0x04:DatBuf[k+j]=n2;
break;
case 0x05:DatBuf[k+j]=n3;
break;
default: DatBuf[k+j]=0;
break;
}
}
};
OutString(DatBuf,0,MemAdress,1);
pVar->action=OPEN;
}
if(pVar->action==OPEN)
{//-----OPEN
HITESC(MEM_MENU);
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum3>=4)pVar->RegNum3=pVar->RegNum3-4;
pVar->action=NOUSE;
};
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->RegNum3=pVar->RegNum3+4;
if(pVar->RegNum3>480)pVar->RegNum3=480;
pVar->action=NOUSE;
};
if(pVar->KeyID==PLUSKEY)
{
pVar->KeyID=NULLKEY;
pVar->RegNum3=pVar->RegNum3+32;
if(pVar->RegNum3>480)pVar->RegNum3=480;
pVar->action=NOUSE;
};
if(pVar->KeyID==MINUSKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum3>=32)pVar->RegNum3=pVar->RegNum3-32;
pVar->action=NOUSE;
};
RegPtr=(unsigned char *)pVar->RegNum3+0x400;
for(i=0;i<64;i++)
{
m=(*RegPtr);
n2=m%16; m=m/16;
n1=m%16;
StrBuf[i*2+0]=n1;
StrBuf[i*2+1]=n2;
RegPtr++;
}
OutString(StrBuf,0,MemDatAdr,1);
if(pVar->KeyID==F1)// 修改状态
{
pVar->KeyID=NULLKEY;
pVar->action=FLASH;
pVar->NewCursorOffset=3;
pVar->OldCursorOffset=3;
CursorGotoXy(DatBuf,MemAdress,1);
return;
};
}
if(pVar->action==FLASH)
{//------------------FLASH-----------------------
FlashESC();
if(pVar->KeyID==RIGHTKEY)
{
pVar->KeyID=NULLKEY;
pVar->NewCursorOffset++;
if(pVar->NewCursorOffset>5)pVar->NewCursorOffset=5;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==LEFTKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->NewCursorOffset>3)pVar->NewCursorOffset--;
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==MINUSKEY)// "-"=PageUPKEY
{
pVar->KeyID=NULLKEY;
if(pVar->NewCursorOffset==3)
{
if(DatBuf[pVar->NewCursorOffset]>4) DatBuf[pVar->NewCursorOffset]--;
else DatBuf[pVar->NewCursorOffset]=5;
}else
{
if(DatBuf[pVar->NewCursorOffset]!=0) DatBuf[pVar->NewCursorOffset]=DatBuf[pVar->NewCursorOffset]-1;
else DatBuf[pVar->NewCursorOffset]=0x0F;
}
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==PLUSKEY)// "+"=PageDown
{
pVar->KeyID=NULLKEY;
DatBuf[pVar->NewCursorOffset]++;
if(pVar->NewCursorOffset==3)
{
if(DatBuf[pVar->NewCursorOffset]>5) DatBuf[pVar->NewCursorOffset]=4;
}else
{
DatBuf[pVar->NewCursorOffset]++;
if(DatBuf[pVar->NewCursorOffset]>15)DatBuf[pVar->NewCursorOffset]=0;
}
CursorGotoXy(DatBuf,MemAdress,1);
};
if(pVar->KeyID==OKKEY)// " < " + " > " 修改完成
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->RegNum3=(DatBuf[3]-4)*256+DatBuf[4]*16+DatBuf[5];
};
}
}
void MEMRamPSD(void) // RAM(PSD)
{
int i,j,k,m,n1,n2,n3,ii;
unsigned char *RegPtr;
register unsigned long portid;
register unsigned char value;
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(5,0,5,1);
if(pVar->RegNum4>(unsigned int)(0x5fff)) pVar->RegNum4=(unsigned int)0x5fff;
for(i=0;i<8;i++)
{
k=i*6;
portid=PSD_RAM_BASE+i*4+pVar->RegNum4;
for(j=0;j<6;j++)
{
value=portid%16;
portid=portid/16;
DatBuf[k+5-j]=value;
}
};
OutString(DatBuf,0,MemAdress,1);
pVar->action=OPEN;
}
if(pVar->action==OPEN)
{//-----OPEN
portid=PSD_RAM_BASE+pVar->RegNum4;
HITESC(MEM_MENU);
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum4>=4)pVar->RegNum4=pVar->RegNum4-4;
pVar->action=NOUSE;
};
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->RegNum4=pVar->RegNum4+4;
if(pVar->RegNum4>(unsigned int)(0x5fff)) pVar->RegNum4=(unsigned int)0x5fff;
pVar->action=NOUSE;
};
if(pVar->KeyID==PLUSKEY)
{
pVar->KeyID=NULLKEY;
pVar->RegNum4=pVar->RegNum4+32;
if(pVar->RegNum4>(unsigned int)(0x5fff)) pVar->RegNum4=(unsigned int)0x5fff;
pVar->action=NOUSE;
};
if(pVar->KeyID==MINUSKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->RegNum4>=32)pVar->RegNum4=pVar->RegNum4-32;
pVar->action=NOUSE;
};
portid=PSD_RAM_BASE+pVar->RegNum4;
for(i=0;i<64;i++)
{
asm eldb value, [portid];
StrBuf[i*2+1]=value%16; value=value/16;
StrBuf[i*2+0]=value%16;
portid++;
}
OutString(StrBuf,0,MemDatAdr,1);
if(pVar->KeyID==F1)// 修改状态
{
pVar->KeyID=NULLKEY;
pVar->action=FLASH;
pVar->NewCursorOffset=2;
pVar->OldCursorOffset=2;
CursorGotoXy(DatBuf,MemAdress,1);
return;
};
}
if(pVar->action==FLASH)
{//------------------FLASH-----------------------
Fla
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -