[0.1 Disclaimer] This program is provided as-is. The author will not accept any responsibility for the use/misuse of this module, implied or expressed. Use at your own risk! [0.1.1 Intel's Disclaimer] ; Intel specifically disclaims all warranties, express or ; implied, and all liability, including consequential and other ; indirect damages, for the use of this program, including ; liability for infringement of any proprietary rights, ; and including the warranties of merchantability and fitness ; for a particular purpose. Intel does not assume any ; responsibility for any errors which may appear in this program ; nor any responsibility to update it. [0.2 Copyright] The CPU family detection code is (C) 1993-2003 by Intel Corp. Vendor detection, Model & Stepping ID code is (C) 2003 by CW Palace [0.3 Testing] I have tested this module with a Pentium 3, a Pentium 4, a Celeron 600 and an AMD XP 2600+ processor. There may be other tests after the release of this module, and I will update this section accordingly. You are welcome to email me about your processor to be included in this section. [0.3.1 Intel's Testing] Intel's original coding is able to detect the following processors: ; This program has been tested with the Microsoft Developer Studio. ; This code correctly detects the current Intel 8086/8088, ; 80286, 80386, 80486, Pentium(R) processor, Pentium(R) Pro ; processor, Pentium(R) II processor, Pentium II Xeon(TM) processor, ; Pentium II Overdrive(R), Intel Celeron processor, Pentium III processor, ; Pentium III Xeon processor, Pentium 4 processors and ; Intel(R) Xeon(TM) processors. However, since some of the code is removed in order to encompass all other processor manufacturers, it will combine the Intel's processors into their respective families only: 8086/8088, 286, 386, 486, Pentium, P6 family (Pentium Pro, Pentium 2, Pentium 2 Xeon, Pentium 3, Pentium 3 Xeon, Celeron), and Pentium 4 family (Pentium 4, Xeon, Celeron) v1.1 includes a few more functions to distinguish some of the processors. However, you will need to find the individual family/model/stepping values. The sample script that I have provided came from the dead CPU detection library called TMi0SDGL by B-coolware. [0.4 More Info] More information can be acquired by visiting Intel's site and searching for the file called "cpu-23-wip.pdf" via their search engine. However, in case they have updated the file or changed the filename, search for "8086 80286 80386 80486 detect". The freeware TMi0SDGL library can be found on simtel.net. Their site (if it ever goes back up) is at http://come.to/b-coolware/ [1.0 Installing & Compiling] [1.0.1 Source Only Distribution] Copy the cdsh, source, and makefile.cpu into the cdshell's root directory. You can compile the module by using the command "make -fmakefile.cpu", without the quotes. The file will be placed in cdsh\modules\cpu.csm. [1.0.2 Binary Only Distribution] Copy the cpu.csm file into cdshell's cdsh\modules directory. [1.0.3 Both Distributions] Read over the all the INI files for the function usage. If you want to have a test run, rename cputype_sample.ini to cdshell.ini. [1.1 Commands & Functions] Command Parameters -nil- Function Parameters Returns cpuType none CPU family or 0x10 for unknown processor cpuProcType none CPU processor type (bits 13-14 of cpuid func 1) cpuFamily none CPU family value (bits 8-12 of cpuid func 1) cpuModel none CPU model value (bits 4-7 of cpuid func 1) cpuStepping none CPU stepping id (bits 0-3 of cpuid func 1) cpuVendor none CPU vendor: 0 = unknown vendor 1 = Intel 2 = AMD 3 = Cyrix 4 = UMC [2.0 Contact] You can reach me at cwphome@hotmail.com. However, please see http://cwphome.dyndns.org for a new email if that address is unreachable. [2.1 History] 0.9 [+] Initial coding based on Intel's documentation. 0.91 [*] Used Intel's code instead; they claim their code works on a wide variety of Intel processors. Their code is a little more efficient at the expense of destroying all register values. 0.92 [*] Made a few changes to the detection code to allow all non-Intel processors. 1.0 Public release. 1.1 [+] Added 5 functions that allows script to distinguish different family processors and vendors. [*] Fixed bug where it will write in the incorrect memory segment. [2.2 To Do] 1. Add more vendor IDs (NextGen, Rise, Centurai?, more?) 2. Add two functions: extended family value & extended model value (currently unused).