function TCpuData.GenericCPU:TCpuRec; var Family,Model,Stepping:byte; EFamily,EModel,EStepping:byte; begin if not GetCPUIDSupport then begin MessageDlg(''''This CPU does not support the CPUID instruction!!!'''',mtWarning, [mbOk],0); GenericCPU.Name:=''''Unidentified CPU''''; GenericCPU.Vendor:=''''Unidentified''''; GenericCPU.Frequency:=0; GenericCPU.Family:=-1; GenericCPU.Model:=-1; GenericCPU.Stepping:=-1; GenericCPU.L1DCache:=0; GenericCPU.L1ICache:=0; GenericCPU.L2Cache:=0; end else begin GetFMS(Family,Model,Stepping); if GetMaxExtendedFunctions>0 then begin GenericCPU.Name:=GetExtendedCPUName; GenericCPU.Vendor:=GetVendorString; GenericCPU.Frequency:=GetCPUFrequency; CpuData.GetExtendedFMS(EFamily,EModel,EStepping); GenericCPU.Family:=EFamily; GenericCPU.Model:=EFamily; GenericCPU.Stepping:=EStepping; GenericCPU.L1DCache:=GetExtendedL1DCache; GenericCPU.L1ICache:=GetExtendedL1ICache; GenericCPU.L2Cache:=GetExtendedL2Cache; end else begin GenericCPU.Name:=GenericCpuN; GenericCPU.Vendor:=GetVendorString; if Family<=4 then GenericCPU.Frequency:=0 else GenericCPU.Frequency:=GetCPUFrequency; GenericCPU.Family:=Family; GenericCPU.Model:=Model; GenericCPU.Stepping:=Stepping; GenericCPU.L1DCache:=0; GenericCPU.L1ICache:=0; GenericCPU.L2Cache:=0; end; end; end; end.