After some research I have found the following DLL's from
www.intel.com, they are:-
CPUINF16.DLL
CPUINF32.DLL
long cpunormspeed(int clocks)
ARGS:
clocks
0: Use default value for number of cycles per BSF instruction.
-1: Use CMos timer to get cpu speed.
1+: (Positive Integer) Use clocks value for number of cycles per BSF
instruction.
long ProcessorCount(void)
long cpurawspeed(int clocks)
ARGS:
clocks
0: Use default value for number of cycles per BSF instruction.
-1: Use CMos timer to get cpu speed (DOES NOT WORK FOR WINNT).
+1: (Positive Integer) Use clocks value for number of cycles per BSF
instruction.
long wincpuidsupport(void)
long wincpuid()
RETURNS:
0 = 8086/88
2 = 80286
3 = 80386
4 = 80486
5 = Pentium(R) Processor
6 = PentiumPro(R) Processor
7 > = Processor beyond the PentiumPro6(R) Processor
If you take a peek at the source code (ASM/C) then you will see intel taking a few shortcuts ie: checking for the ~MHz subkey that Microsoft provide (lazy or do they have a better mechanism?).
I have not tested this DLL with VFP!!!!!