Subversion Repositories Kolibri OS

Rev

Rev 223 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 223 Rev 318
Line 1... Line 1...
1
;******************************************************************************
1
;******************************************************************************
2
; project name:    CPUID
2
; project name:    CPUID
3
; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures
3
; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures
4
; compability:     probably some functions would work in MenuetOS 32 and MenuetOS 64, may be even in Miraculix;
4
; compability:     probably some functions would work in MenuetOS 32 and MenuetOS 64, may be even in Miraculix;
5
;                  CPUID (versions before 2.00) works in MS Windows by means of emulators
5
;                  CPUID works in MS Windows by means of emulator from Diamond  (http://diamondz.land.ru)
6
; compiler:        flat assembler 1.67.5
6
; compiler:        flat assembler 1.67.5
7
; version:         2.05
7
; version:         2.17
8
; last update:     1st November 2006
8
; last update:     3rd February 2007
9
; maintained by:   Sergey Kuzmin aka Wildwest
9
; maintained by:   Sergey Kuzmin aka Wildwest
10
; e-mail:          kuzmin_serg@list.ru
10
; e-mail:          kuzmin_serg@list.ru
11
; site:            http://coolthemes.narod.ru/files.html
11
; site:            http://coolthemes.narod.ru/files.html
12
;******************************************************************************
12
;******************************************************************************
13
; Summary:
13
; Summary:
Line 26... Line 26...
26
;                             calculation of PR-rating for AMD AthlonXP;
26
;                             calculation of PR-rating for AMD AthlonXP;
27
;                             Amout of RAM (available and total)
27
;                             Amout of RAM (available and total)
28
;                             Highest input values for standard and extended calls
28
;                             Highest input values for standard and extended calls
29
;        performed tests    - Performance test (RSA encoding)
29
;        performed tests    - Performance test (RSA encoding)
30
;******************************************************************************
30
;******************************************************************************
-
 
31
;"To do" plans:
-
 
32
; actual use of Brand ID for description of Intel's CPU, i.e. Celeron/Pentium separation;
-
 
33
; remove support of Cyrix and early Centaur (IDT)  - they are too old, rare and non-standard;
-
 
34
; Sempron detection - probably they supports Brand-ID;
-
 
35
; update caches descriptors for intel Core 1/2
-
 
36
; quantity of logical CPU/cores - requires APIC ID analysis
-
 
37
; newest AMD/Intel codename detection
-
 
38
;******************************************************************************
31
;HISTORY:
39
;HISTORY:
32
;2.1: CPUID   01/11/2006 (not finished)
40
;3.0: CPUID   03/02/2007 (not finished)
-
 
41
;Authors:    Sergey Kuzmin aka Wildwest 
-
 
42
;            Iliya Mikhailov aka Ghost  
-
 
43
;            /^S0rG^\  
-
 
44
;Features:  
-
 
45
;          (+)  fixed address of LAHF feature, added detection of CMPL, SVM, MOVCR8 technologies for AMD; 
-
 
46
;          (+)  fixed L2 cache size detection for VIA (they changed format from 8 bits to 16 bits several years ago); 
-
 
47
;          (+)  more macroses for Interface and Threads (from Menuett.inc written by /^S0rG^\, 2002), sources separated into several include files;
-
 
48
;          (++) more info about caches for VIA and Transmeta;
-
 
49
;          (+)  added detection of DCA, SSSE3, VMX technologies for Intel;
-
 
50
;          (+)  updated multiplier detection for AMD and Intel (thanks a lot to Ghost);
-
 
51
;Known issues: Sempron marked as AthlonXP
-
 
52
;              second window doesn't closed when you close main window
-
 
53
;-----------------------------------------------------------------------------
-
 
54
;2.1: CPUID   10/01/2007
33
;Author:    Sergey Kuzmin aka Wildwest 
55
;Author:    Sergey Kuzmin aka Wildwest 
34
;Features:  
56
;Features:         
-
 
57
;          (++) more info about caches for AMD and Intel
-
 
58
;          (+)  redesign
-
 
59
;          (+)  fixes for names of some extended features
-
 
60
;          (+)  fixed missing technology for some AMD64 cpu's
35
;          (+)  detection of dual-core AMD Opteron, but I came to conclusion that detection of AMD Fxxh CPU's should be changed (don't know how yet) 
61
;          (+)  detection of dual-core AMD Opteron, but I came to conclusion that detection of AMD Fxxh CPU's should be changed (don't know how yet) 
36
;          (+)  new caches for Intel
62
;          (+)  new caches for Intel
37
;          (+)  fixed Celeron detection based on L2 cache size for newest Intel CPU (there are Celeron models with 512 Kb);
63
;          (+)  fixed Celeron detection based on L2 cache size for newest Intel CPU (there are Celeron models with 512 Kb);
38
;          (+)  CPUID now display System Clock with accuracy 0.01 MHz;
64
;          (+)  CPUID now display System Clock with accuracy 0.01 MHz;
39
;          (+)  new logo for Intel (they changed it some time ago);
65
;          (+)  new logo for Intel (they changed it some time ago);
40
;Known issues: Sempron marked as AthlonXP
66
;Known issues: Sempron marked as AthlonXP
41
;              second window doesn't closed when you close main window
67
;              second window doesn't closed when you close main window
42
;-----------------------------------------------------------------------------
68
;-----------------------------------------------------------------------------
43
;2.0: CPUID   31/10/2006
69
;2.0: CPUID   31/10/2006
44
;Author:    Sergey Kuzmin aka Wildwest 
70
;Authors:    Sergey Kuzmin aka Wildwest 
45
;           Eugeniy Grechnikov aka Diamond 
71
;           Eugeniy Grechnikov aka Diamond 
46
;           Iliya Mikhailov aka Ghost  
72
;           Iliya Mikhailov aka Ghost  
47
;Features:
73
;Features:
48
;          (+)  detection of Brand ID of AMD CPU's (Opteron etc - not finished)
74
;          (+)  detection of Brand ID of AMD CPU's (Opteron etc - not finished)
49
;          (+)  detection of Extended family and Model of AMD CPU's
75
;          (+)  detection of Extended family and Model of AMD CPU's
Line 72... Line 98...
72
;          (+)  interface+(redesign).
98
;          (+)  interface+(redesign).
73
;Bugs:  probably some non-critical graphical issues
99
;Bugs:  probably some non-critical graphical issues
74
;Known issues: Sempron is not supported (marked as AthlonXP)
100
;Known issues: Sempron is not supported (marked as AthlonXP)
75
;-----------------------------------------------------------------------------
101
;-----------------------------------------------------------------------------
76
;1.0: CPUID   26/09/2005
102
;1.0: CPUID   26/09/2005
77
;Author:    Sergey Kuzmin aka Wildwest 
103
;Authors:    Sergey Kuzmin aka Wildwest 
78
;Additions: Marat Zakiyanov aka Mario79 
104
;           Marat Zakiyanov aka Mario79 
79
;           Andrey Halyavin aka halyavin 
105
;           Andrey Halyavin aka halyavin 
80
;Features:
106
;Features:
81
;          (+) fixed bug, when processor doesn't support extented features and program don't report 'no' in such case
107
;          (+) fixed bug, when processor doesn't support extented features and program don't report 'no' in such case
82
;          (+) fixed bug in CPU Type detection
108
;          (+) fixed bug in CPU Type detection
83
;          (+) fixed bug, when program crashes on AMD AthlonXP when after click on 'Press for more' button
109
;          (+) fixed bug, when program crashes on AMD AthlonXP when after click on 'Press for more' button
Line 97... Line 123...
97
;              and to me for nice button)
123
;              and to me for nice button)
98
;Bugs:  probably some non-critical graphical issues
124
;Bugs:  probably some non-critical graphical issues
99
;Known issues: Sempron is not supported (marked as AthlonXP)
125
;Known issues: Sempron is not supported (marked as AthlonXP)
100
;-----------------------------------------------------------------------------
126
;-----------------------------------------------------------------------------
101
;0.9: CPUID   24/01/2005
127
;0.9: CPUID   24/01/2005
102
;Author:    Sergey Kuzmin aka Wildwest 
128
;Authors:    Sergey Kuzmin aka Wildwest 
103
;Additions: Madis Kalme aka Madis731 
129
;           Madis Kalme aka Madis731 
104
;           Jeffrey Amelynck aka Profkid 
130
;           Jeffrey Amelynck aka Profkid 
105
;Features:
131
;Features:
106
;          (+) deleting leading whitespaces in Intel P4's internal name
132
;          (+) deleting leading whitespaces in Intel P4's internal name
107
;              by Madis Kalme
133
;              by Madis Kalme
108
;          (+) all standard features
134
;          (+) all standard features
Line 116... Line 142...
116
;          (+) Type for Intel
142
;          (+) Type for Intel
117
;Bugs:     no !!!
143
;Bugs:     no !!!
118
;Known issues: Sempron is not supported (marked as AthlonXP)
144
;Known issues: Sempron is not supported (marked as AthlonXP)
119
;              caches for IDT is not detected
145
;              caches for IDT is not detected
120
;-----------------------------------------------------------------------------
146
;-----------------------------------------------------------------------------
121
;0.8: CPUID     10/12/2004
-
 
122
;Author:   Sergey Kuzmin aka Wildwest 
-
 
123
;Features: (+) CPUID now display frequency in Mhz with accuracy 0.01 MHz
-
 
124
;          (+) more codenames - Intel Itanium :-)
-
 
125
;          (+) display Internal Name
-
 
126
;          (+) caches for Intel Pentium
-
 
127
;          (+) Technology
-
 
128
;          (+) detect L1 Trace Instruction cache and some new caches for Intel
-
 
129
;          (+) detect Celerons based on Pentium III/4 kernels
-
 
130
;          (+) interface+(redesign) and Logo for Vendors
-
 
131
;          (+) fix for HTT detection on Celeron(it wasn't bug, just Intel's marketing)
-
 
132
;          (+) test for MMX+ and 3DNow!+
-
 
133
;Bugs:     no !!!
-
 
134
;Known issues: Sempron not supported (marked as AthlonXP)
-
 
135
;              Xeon is not fully supported (marked as Pentium except some models)
-
 
136
;-----------------------------------------------------------------------------
-
 
137
;0.7: CPUID     28/11/2004
-
 
138
;Author:   Sergey Kuzmin aka Wildwest 
-
 
139
;Features: updated calculation of PR-rating for AMD AthlonXP,
-
 
140
;          more codenames (AMD series: Applebred, Thorton),
-
 
141
;          added L1 and L2 cache size detection,
-
 
142
;          fix for 3DNow! detection on non-AMD CPU's
-
 
143
;Bugs:     HTT detection on Celeron 4 (really Celeron 4 have HTT,
-
 
144
;          but Intel disabled it in microcode)
-
 
145
;-----------------------------------------------------------------------------
-
 
146
;0.6: CPUID     28/10/2004
-
 
147
;Author:   Sergey Kuzmin aka Wildwest 
-
 
148
;Features: added calculation of PR-rating for AMD AthlonXP(on request of
-
 
149
;          RU-team), more codenames (VIA, Cyrix, IDT (Centaur) series),
-
 
150
;          interface+ (redesign), added output of CPU frequency in MHz,
-
 
151
;          fix for CPU clock detection (needs changes in kernel.asm),
-
 
152
;          fixed bugs which were founded during public testing,
-
 
153
;          decreased required memory 0x100000->0x340
-
 
154
;Bugs:     problem with 3DNow! detection on non-AMD CPU's (VIA C3 and others)
-
 
155
;-----------------------------------------------------------------------------
-
 
156
;0.5: CPUID     16/10/2004
-
 
157
;Author:   Sergey Kuzmin aka Wildwest 
-
 
158
;Features: added test for Hyper-Threading Technology support,
-
 
159
;          more codenames (Intel and AMD series)
-
 
160
;          fasm 1.50 compability, interface+ (window type 2->3 and redesign)
-
 
161
;          fix for window redrawing bug
-
 
162
;Bugs:     error in CPU clock detection (cause: error in sysfunc 18 subfunc 5)
-
 
163
;-----------------------------------------------------------------------------
-
 
164
;0.4: CPUID     27/09/2004
-
 
165
;Author:   Sergey Kuzmin aka Wildwest 
-
 
166
;Features: added processor codename's detection engine and little database of
147
;early history was removed; download any old version of CPUID and read it, if you want
167
;          codenames (P1 and K7)
-
 
168
;Bugs:     window redrawing bug, error in CPU clock detection
-
 
169
;-----------------------------------------------------------------------------
-
 
170
;0.3: CPUID     26/09/2004
-
 
171
;Author:   Sergey Kuzmin aka Wildwest 
-
 
172
;Features: display CPU frequency; CPU Vendor;
-
 
173
;          CPU signature(family, model,stepping),
-
 
174
;          test for MMX,SSE,SSE2,SSE3,3DNow!
-
 
175
;Bugs:     window redrawing bug, error in CPU clock detection
-
 
176
;-----------------------------------------------------------------------------
-
 
177
;0.2:      TIMES from old OFFICIAL distribution 11/10/2001
-
 
178
;Author:   unknown hero (VT?)
-
 
179
;Features: display CPU frequency, CPU Vendor,
-
 
180
;          test for MMX, Process Management
-
 
181
;-----------------------------------------------------------------------------
-
 
182
;0.1:      CPUSPEED from OFFICIAL distribution  21/05/2001
-
 
183
;Author:   unknown hero (VT?)
-
 
184
;Features: display CPU frequency
-
 
185
;*****************************************************************************
148
;*****************************************************************************
186
149