Camel is a generic Windows® / Linux CPU detection class which can display
details about the hardware installed within the computer. It can display items such
as the CPU manufacturer, CPU model and name, clock speed and other hardware details.
What Do I Get With This?
Well a complete CPU identification and capabilities class. Also there is a complete Windows version
detection algorithm included in the demo source. The demo (including pre-compiled binary) provides a
replacement for WCPUID and similar applications and as the binary is < 150 kb, it is nice and small.
How Can I Use It?
1. E-Mail me for permission to use/include (always given). I just want to know what purpose it is
being used for. It is provided completely for "Non-Commercial Usage."
2. Include the files in your C++ project.
What About.... AKA: Specific In-depth Details
Supports Microsoft® Windows™ From:
Windows™ 95 / 95 OSR2 / 95 OSR2.5
Windows™ 98 / 98 SE
Windows™ NT 3.51
Windows™ NT 4.0 Workstation / Server [Including SP1 to SP6a]
Windows™ 2000 Workstation / Server / Advanced Server / Datacenter Server (Including SP1 to SP3)
Windows™ XP Personal / Professional [Including SP1]
Windows™ .NET Web Server / Standard Server / Enterprise Server
Supports Processors From:
Intel / AMD / Cyrix / Rise / UMC / IDT / Transmeta / NexGen / National Semiconductor
See Camel.txt for processor listings... E.g. Pentium III "Coppermine" or Athlon XP 1800+ (Thoroughbred Core).
Detects Hardware Features:
Serial Number [if enabled]
On-Chip APIC Hardware
Hard-Coded Chip Names
L1 Cache Size
L2 Cache Size
L3 Cache Size
CPU Clock Speed [of each processor]
Thermal Monitioring Support
On-Chip PowerManagement [SpeedStep, etc.]
Multimedia Instruction Sets
Streaming SIMD Extensions
Streaming SIMD Extensions [Floating Point]
Streaming SIMD Extensions [MMX]
Streaming SIMD Extensions 2
General Instruction Sets
Floating Point Unit [FPU]
Time Stamp Counter [TSC]
Conditional Move [CMOV]
Memory Type Range Registers [MTRR]
The 2nd generation CPU speed test is "loosely" based on code from Pavlos Touboulidis. It is far enough
removed to be no-longer copyright to him. I think. Anyway this is the obligatory mention.
Known Bugs And Problems:
CAM_00000001: Last Tree Node Fails To Display '+' Icon Properly.
CAM_00000002: CPU Speed Detection Results With +/- 10MHz Deviation. (FIXED: Version 1.2)
CAM_00000003: Fails To Detect APIC ID Properly With < Intel P4 Processors.
Some of the functionality is missing. Some of the menu items do not yet work nor some of the benchmarks. None of
these missing features affect the CPU identification code! I apologize and will implement these in time. Or you
Iain Chesworth graduated from Heriot-Watt University in June of 2002 in Computer Science and Physics. He now works as a C++ programmer and plays with code in his spare time. He is also a keen cyclist and swimmer.