Click here to Skip to main content
6,294,871 members and growing! (16,430 online)
Email Password   helpLost your password?
General Reading » Hardware & System » General     Intermediate

CAMEL - CPU Identifier Class

By voodoopriestess

A class to detect ALL the features of the CPU / CPUs in the local system. Now at version 1.2
VC6, VC7Win2K, WinXP, MFC, Dev
Posted:6 Sep 2002
Updated:14 Jan 2003
Views:150,718
Bookmarked:78 times
Announcements
Loading...
 
Search    
Advanced Search
printPrint   Broken Article?Report       add Share
  Discuss Discuss   Recommend Article Email
48 votes for this article.
Popularity: 7.93 Rating: 4.71 out of 5
2 votes, 5.4%
1

2
1 vote, 2.7%
3
3 votes, 8.1%
4
31 votes, 83.8%
5

Demo Screenshot 1   Demo Screenshot 2   Demo Screenshot 3

Introduction

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.
3. Compile!
4. Play!

What About.... AKA: Specific In-depth Details

Supports Microsoft� Windows� From:

Windows� 95 / 95 OSR2 / 95 OSR2.5
Windows� 98 / 98 SE
Windows� Millennium
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:

Processor hardware

Single Processors
Dual Processors
Multiple Processors
HyperThreading Technology
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
ACPI Support
On-Chip PowerManagement [SpeedStep, etc.]

Multimedia Instruction Sets

MMX
MMX+
Streaming SIMD Extensions
Streaming SIMD Extensions [Floating Point]
Streaming SIMD Extensions [MMX]
Streaming SIMD Extensions 2
3DNow!
3DNow!+

General Instruction Sets

Floating Point Unit [FPU]
Time Stamp Counter [TSC]
Conditional Move [CMOV]
Memory Type Range Registers [MTRR]

Other notes:

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.

NOTE:

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 can.....

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

voodoopriestess


Member
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.
Occupation: Researcher
Location: Germany Germany

Other popular Hardware & System articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 69 (Total in Forum: 69) (Refresh)FirstPrevNext
GeneralBroken link for the newest Camel code PinmemberHunt Chang2:03 3 Oct '08  
Generalno windows code ? PinmemberMember 306813:41 5 Aug '08  
GeneralCPU identification tool for 64-bit windows PinmemberAmol_81_Adya3:02 18 Jul '08  
GeneralOther licencing probabilitiies? Pinmemberjazuju2:12 1 Feb '08  
GeneralDetecting number of CPUs PinmemberGonzus11:07 27 Jul '07  
QuestionWhere updated version ? PinmemberEnrique Ardanaz7:36 15 Mar '07  
Generalpermission PinmemberManasi D2:42 24 Jan '07  
QuestionHow to identify Cores? PinmemberMayerBurli5:59 17 Aug '06  
Generalpermission PinmemberMayerBurli5:58 17 Aug '06  
Questionpermission Pinmemberdacian_herbei23:29 1 Aug '06  
Generalpermission Pinmemberchunnu_808:40 10 Apr '06  
GeneralVC 6.0 Project works first time only PinmemberGonzus6:10 23 Feb '06  
GeneralUsing the source code in VB.NET Pinmembercodemaster221:48 20 Jan '06  
GeneralRe: Using the source code in VB.NET Pinmemberthisisbullshit21:53 11 Mar '07  
GeneralPentium® III (0.13 µm) ??? Pinmembermatt20006:36 26 Nov '05  
GeneralWindow 2003 server Pinmembertunchi11:41 16 Sep '05  
GeneralPermission to use PinmemberBorrisholt1:59 6 Jul '05  
GeneralPermission to use PinmemberNightfox22:34 21 Mar '05  
GeneralPermission. PinmemberJijoraj1:26 29 Sep '04  
Generaluse camel on Linux Pinmembergretp10:29 5 Aug '04  
GeneralHyperThreading (Physical x Logical Processor) Pinmemberleandrobecker15:19 28 Jun '04  
GeneralCache line data PinmemberAdi Shavit2:45 16 Jun '04  
GeneralProblem with Frequency Pinmemberdum4:05 26 Mar '04  
GeneralHow to make CPU ID enable to get? Pinmembergkey0:43 27 Feb '04  
GeneralRe: How to make CPU ID enable to get? Pinmembervoodoopriestess4:47 27 Feb '04  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 14 Jan 2003
Editor: Nick Parker
Copyright 2002 by voodoopriestess
Everything else Copyright © CodeProject, 1999-2009
Web16 | Advertise on the Code Project