viaprohosts.~inc

来自「pipe类 pipe类 pipe类 pipe类 pipe类」· ~INC 代码 · 共 150 行

~INC
150
字号
const
  SMBBA1 = $90;
  SMBBA2 = $80;
  SMBBA3 = $D0;

  //Other settings
  MAX_TIMEOUT	= 500;
  //ENABLE_INT9	= 0;

  //VT82C596 constants
  VT596_QUICK      = $00;
  VT596_BYTE       = $04;
  VT596_BYTE_DATA  = $08;
  VT596_WORD_DATA  = $0C;
  VT596_BLOCK_DATA = $14;

  PCI_VENDOR_ID_VIA = $1106;

  PCI_DEVICE_ID_VIA_82C596_3  = $3050;
  PCI_DEVICE_ID_VIA_82C596B_3	= $3051;
  PCI_DEVICE_ID_VIA_82C686_4	= $3057;
  PCI_DEVICE_ID_VIA_8231_4	  = $8235;
  PCI_DEVICE_ID_VIA_8233_0	  = $3074;
  PCI_DEVICE_ID_VIA_8233A	    = $3147;
  PCI_DEVICE_ID_VIA_8235	    = $3177;
  PCI_DEVICE_ID_VIA_8237	    = $3227;

var
  viapro_ids: array[0..7] of tHostID =
  (
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_82C596_3),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_82C596B_3),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_82C686_4),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_8231_4),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_8233_0),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_8233A),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_8235),
	  (VendorID: PCI_VENDOR_ID_VIA; DeviceID: PCI_DEVICE_ID_VIA_8237)
   );

  //PCI Address Constants

  //SMBus data in configuration space can be found in two places,
  //We try to select the better one*/

  smb_cf_hstcfg: Word;

function ViaSMBHSTCFG(smb_cf_hstcfg: Word): Word;
begin
  result:=smb_cf_hstcfg;
end;

function ViaSMBSLVC(smb_cf_hstcfg: Word): Word;
begin
  result:=smb_cf_hstcfg + 1;
end;

function ViaSMBSHDW1(smb_cf_hstcfg: Word): Word;
begin
  result:=smb_cf_hstcfg + 2;
end;

function ViaSMBSHDW2(smb_cf_hstcfg: Word): Word;
begin
  result:=smb_cf_hstcfg + 3;
end;

function ViaSMBREV(smb_cf_hstcfg: Word): Word;
begin
  result:=smb_cf_hstcfg + 4;
end;

//SMBus address offsets
function SMBHSTSTS(base: Word): DWord;begin
  result:=base+0;
end;

function SMBHSLVSTS(base: Word): DWord;
begin
  result:=base+1;
end;

function SMBHSTCNT(base: Word): DWord;
begin
  result:=base+2;
end;

function SMBHSTCMD(base: Word): DWord;
begin
  result:=base+3;
end;

function SMBHSTADD(base: Word): DWord;
begin
  result:=base+4;
end;

function SMBHSTDAT0(base: Word): DWord;
begin
  result:=base+5;
end

function SMBHSTDAT1(base: Word): DWord;
begin
  result:=base+6;
end;

function SMBBLKDAT(base: Word): DWord;
begin
  result:=base+7;
end;

function SMBSLVCNT(base: Word): DWord;
begin
  result:=base+8;
end;

function SMBSHDWCMD(base: Word): DWord;
begin
  result:=base+9;
end;

function SMBSLVEVT(base: Word): DWord;
begin
  result:=base+$A;
end;

function SMBSLVDAT(base: Word): DWord;
begin
  result:=base+$C;
end;



function VIAProFillHostIds: tHostIDs;
var
  i: byte;
begin
  for i:=Low(viapro_ids) to High(viapro_ids) do
    begin
      SetLength(result, i+1);
      result[i].VendorID := nforce2_ids[i].VendorID;
      result[i].DeviceID := nforce2_ids[i].DeviceID;
    end;
end;



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?