📄 stdpciparams.cpp
字号:
}
void CStdPCIParams::OnSelchangeComboNvramWidth()
{
// TODO: Add your control notification handler code here
UINT32 index,data;
index = m_Combo_NVRAM_WIDTH.GetCurSel();
if( index > 3 )
index = 0;
data = GetCurrentBADDRData();
data = (data & 0x3fffffff) | (index << 30);
SetCurrentBADDRData( data );
UpdateBADDRData();
}
void CStdPCIParams::OnSelchangeComboNvramLocation()
{
// TODO: Add your control notification handler code here
UINT32 index,data;
index = m_Combo_NVRAM_LOCATION.GetCurSel();
if( index > 3 )
index = 0;
data = GetCurrentBADDRData();
data = (data & 0xfffffff9) | (index << 1);
SetCurrentBADDRData( data );
UpdateBADDRData();
}
void CStdPCIParams::OnSelchangeComboNvramPrefetch()
{
// TODO: Add your control notification handler code here
UINT32 index,data;
index = m_Combo_NVRAM_PREFETCH.GetCurSel();
if( index > 1 )
index = 0;
data = GetCurrentBADDRData();
data = (data & 0xfffffff7) | (index << 3);
SetCurrentBADDRData( data );
UpdateBADDRData();
}
void CStdPCIParams::OnSelchangeComboNvramSize()
{
// TODO: Add your control notification handler code here
UINT32 index,data;
index = m_Combo_NVRAM_SIZE.GetCurSel();
if( index >= last_size_index )
index = 0;
data = GetCurrentBADDRData();
if( data & 0x01 ) {
index = iobase_vals[index];
index &= 0x3ffffffc;
data = (data & 0xc0000003) | index;
}
else {
index = membase_vals[index];
index &= 0x3ffffff0;
data = (data & 0xc000000f) | index;
}
if( m_Radio_BADDR_0.GetCheck() ) {
if( data & 0x00008000 ) {
data = (data & 0xc000ffff) | 0x10e80000;
}
}
SetCurrentBADDRData( data );
UpdateBADDRData();
}
void CStdPCIParams::OnButtonLoc45()
{
// TODO: Add your control notification handler code here
char data;
char *dptr,*sptr;
m_Edit_LOC45_VALUE.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
data = pmMain->atoh( sztemp );
SetCurrentLOC45Data( data );
if( pbuffer ) {
dptr = (char *)&pbuffer[0x45];
sptr = (char *)&loc45_cur_data;
*dptr = *sptr;
pMain->data_dirty = TRUE;
}
pMain->DisplayData();
UpdateLOC45Data();
}
void CStdPCIParams::OnSelchangeComboNvramRdretry()
{
// TODO: Add your control notification handler code here
char data,index;
index = m_Combo_NVRAM_RDRETRY.GetCurSel();
data = GetCurrentLOC45Data();
data = (data & 0x0fd) | (index << 1);
SetCurrentLOC45Data( data );
UpdateLOC45Data();
}
void CStdPCIParams::OnSelchangeComboNvramWrmode()
{
// TODO: Add your control notification handler code here
char data,index;
index = m_Combo_NVRAM_WRMODE.GetCurSel();
data = GetCurrentLOC45Data();
data = (data & 0x0fb) | (index << 2);
SetCurrentLOC45Data( data );
UpdateLOC45Data();
}
void CStdPCIParams::OnSelchangeComboNvramLatTimer()
{
// TODO: Add your control notification handler code here
char data,index;
index = m_Combo_NVRAM_LAT_TIMER.GetCurSel();
data = GetCurrentLOC45Data();
data = (data & 0x0fe) | index;
SetCurrentLOC45Data( data );
UpdateLOC45Data();
}
void CStdPCIParams::OnCheckAddrDecodeEnable()
{
// TODO: Add your control notification handler code here
UINT32 data;
m_Edit_XROM.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
data = pmMain->atoh( sztemp );
if( m_Check_ADDR_DECODE_ENABLE.GetCheck() ) {
data |= 0x00000001;
}
else {
data &= 0xfffffffe;
}
sprintf( sztemp, "%04x", data );
m_Edit_XROM.SetWindowText( sztemp );
UpdateGeneralData();
}
//void CStdPCIParams::OnCheckSerrEnable()
//{
// // TODO: Add your control notification handler code here
// UINT32 data;
//
// m_Edit_PCICMD.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// data = pmMain->atoh( sztemp );
//
// if( m_Check_SERR_ENABLE.GetCheck() ) {
// data |= 0x00000100;
// }
// else {
// data &= 0xfffffeff;
// }
//
// sprintf( sztemp, "%04x", data );
// m_Edit_PCICMD.SetWindowText( sztemp );
//
// UpdateGeneralData();
//
//}
//
//void CStdPCIParams::OnCheckPerrEnable()
//{
// // TODO: Add your control notification handler code here
// UINT32 data;
//
// m_Edit_PCICMD.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// data = pmMain->atoh( sztemp );
//
// if( m_Check_PERR_ENABLE.GetCheck() ) {
// data |= 0x00000040;
// }
// else {
// data &= 0xffffffbf;
// }
//
// sprintf( sztemp, "%04x", data );
// m_Edit_PCICMD.SetWindowText( sztemp );
//
// UpdateGeneralData();
//
//}
//
//void CStdPCIParams::OnCheckMemAccessEnable()
//{
// // TODO: Add your control notification handler code here
// UINT32 data;
//
// m_Edit_PCICMD.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// data = pmMain->atoh( sztemp );
//
// if( m_Check_MEM_ACCESS_ENABLE.GetCheck() ) {
// data |= 0x00000002;
// }
// else {
// data &= 0xfffffffd;
// }
//
// sprintf( sztemp, "%04x", data );
// m_Edit_PCICMD.SetWindowText( sztemp );
//
// UpdateGeneralData();
//
//}
//
//void CStdPCIParams::OnCheckIoAccessEnable()
//{
// // TODO: Add your control notification handler code here
// UINT32 data;
//
// m_Edit_PCICMD.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// data = pmMain->atoh( sztemp );
//
// if( m_Check_IO_ACCESS_ENABLE.GetCheck() ) {
// data |= 0x00000001;
// }
// else {
// data &= 0xfffffffe;
// }
//
// sprintf( sztemp, "%04x", data );
// m_Edit_PCICMD.SetWindowText( sztemp );
//
// UpdateGeneralData();
//
//}
void CStdPCIParams::OnButtonUpdateClcd()
{
// TODO: Add your control notification handler code here
UINT32 data1,data2,data3;
m_Edit_CLCD_BASE_CLASS.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
data1 = pmMain->atoh( sztemp );
m_Edit_CLCD_SUB_CLASS.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
data2 = pmMain->atoh( sztemp );
m_Edit_CLCD_PROG_IF.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
data3 = pmMain->atoh( sztemp );
data1 = ((data1 & 0x0ff) << 8) | (data2 & 0x0ff);
data1 = (data1 << 8) | (data3 & 0x0ff);
sprintf( sztemp,"%06x", data1 );
m_Edit_CLCD.SetWindowText( sztemp );
UpdateGeneralData();
}
void CStdPCIParams::OnButtonWriteAddPciCinfig()
{
// TODO: Add your control notification handler code here
int i;
UINT32 data;
char *cptr,*sptr;
unsigned short *wptr;
unsigned int *dwptr;
if( pbuffer ) {
dwptr = (unsigned int *) &pbuffer[0x40];
wptr = (unsigned short *) &pbuffer[0x40];
cptr = (char *) &pbuffer[0x40];
m_Edit_VID.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
wptr[0x00/2] = pmMain->atoh( sztemp );
}
m_Edit_DID.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
wptr[0x02/2] = pmMain->atoh( sztemp );
}
m_Edit_SVID.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
wptr[0x2c/2] = pmMain->atoh( sztemp );
}
m_Edit_SDID.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
wptr[0x2e/2] = pmMain->atoh( sztemp );
}
m_Edit_RID.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x08] = pmMain->atoh( sztemp );
}
// m_Edit_PCICMD.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// if( strlen( sztemp ) ) {
// wptr[0x04/2] = pmMain->atoh( sztemp );
// }
//
// m_Edit_PCISTS.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// if( strlen( sztemp ) ) {
// wptr[0x06/2] = pmMain->atoh( sztemp );
// }
m_Edit_CLCD.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
data = pmMain->atoh( sztemp );
cptr[0x0b] = data >> 16;
cptr[0x0a] = data >> 8;
cptr[0x09] = data;
}
// m_Edit_CALN.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
// if( strlen( sztemp ) ) {
// cptr[0x0c] = pmMain->atoh( sztemp );
// }
m_Edit_LAT.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x0d] = pmMain->atoh( sztemp );
}
m_Edit_HDR.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x0e] = pmMain->atoh( sztemp );
}
m_Edit_BIST.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x0f] = pmMain->atoh( sztemp );
}
m_Edit_XROM.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
dwptr[0x30/4] = pmMain->atoh( sztemp );
}
m_Edit_INTLN.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x3c] = pmMain->atoh( sztemp );
}
m_Edit_INTPIN.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x3d] = pmMain->atoh( sztemp );
}
m_Edit_MINGNT.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x3e] = pmMain->atoh( sztemp );
}
m_Edit_MAXLAT.GetWindowText( sztemp, sizeof( sztemp ) - 1 );
if( strlen( sztemp ) ) {
cptr[0x3f] = pmMain->atoh( sztemp );
}
pMain->data_dirty = TRUE;
pMain->DisplayData();
UpdateGeneralData();
}
else {
}
}
void CStdPCIParams::OnCheckBusMaster()
{
// TODO: Add your control notification handler code here
char data;
data = GetCurrentLOC45Data();
if( m_Check_BUS_MASTER.GetCheck() )
data |= 0x80;
else
data &= 0x7f;
SetCurrentLOC45Data( data );
UpdateLOC45Data();
}
BOOL CStdPCIParams::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
// Note: This test stops the Enter key from killing the
// application. It causes nothing to happen. There must be a better way!
if( pMsg->message == 256 && pMsg->wParam == 13 ) {
return FALSE;
}
return CDialog::PreTranslateMessage(pMsg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -