Rev 6483 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6483 | Rev 6484 | ||
---|---|---|---|
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: CPUID works in MS Windows by means of emulator KlbrInWin from Diamond http://board.kolibrios.org/viewtopic.php?f=23&t=1273 |
4 | ; compability: CPUID works in MS Windows by means of emulator KlbrInWin from Diamond http://board.kolibrios.org/viewtopic.php?f=23&t=1273 |
5 | ; compiler: flat assembler 1.70.03 |
5 | ; compiler: flat assembler 1.70.03 |
6 | ; version: 2.29 |
6 | ; version: 2.29 |
7 | ; last update: 12 October 2014 |
7 | ; last update: 12 October 2014 |
8 | ; maintained by: Sergey Kuzmin aka Wildwest |
8 | ; maintained by: Sergey Kuzmin aka Wildwest |
9 | ; e-mail: kuzmin_serg@list.ru |
9 | ; e-mail: kuzmin_serg@list.ru |
10 | ; site: http://coolthemes.narod.ru/files.html |
10 | ; site: http://coolthemes.narod.ru/files.html |
11 | ;****************************************************************************** |
11 | ;****************************************************************************** |
12 | ; Summary: |
12 | ; Summary: |
13 | ; supported vendors - Intel, AMD, VIA, Cyrix, IDT (Centaur),Transmeta, Vortex86 |
13 | ; supported vendors - Intel, AMD, VIA, Cyrix, IDT (Centaur),Transmeta, Vortex86 |
14 | ; displayed features - CPU frequency; |
14 | ; displayed features - CPU frequency; |
15 | ; Internal Name; |
15 | ; Internal Name; |
16 | ; Multiplier and System Clock frequency; |
16 | ; Multiplier and System Clock frequency; |
17 | ; Standard and Extended Features; |
17 | ; Standard and Extended Features; |
18 | ; CPU signature (family, model,stepping); |
18 | ; CPU signature (family, model,stepping); |
19 | ; Codename; |
19 | ; Codename; |
20 | ; L1, L2 and L3 Caches; |
20 | ; L1, L2 and L3 Caches; |
21 | ; Technology; |
21 | ; Technology; |
22 | ; CPU Vendor; |
22 | ; CPU Vendor; |
23 | ; Type and Brand ID; |
23 | ; Type and Brand ID; |
24 | ; Logo for Vendors; |
24 | ; Logo for Vendors; |
25 | ; calculation of PR-rating for AMD AthlonXP; |
25 | ; calculation of PR-rating for AMD AthlonXP; |
26 | ; Amout of RAM (available and total) |
26 | ; Amout of RAM (available and total) |
27 | ; Highest input values for standard and extended calls |
27 | ; Highest input values for standard and extended calls |
28 | ; performed tests - Performance test (RSA encoding) |
28 | ; performed tests - Performance test (RSA encoding) |
29 | ;****************************************************************************** |
29 | ;****************************************************************************** |
30 | ;"To do" plans: |
30 | ;"To do" plans: |
31 | ; actual use of Brand ID for description of Intel's CPU, i.e. Celeron/Pentium separation; |
31 | ; actual use of Brand ID for description of Intel's CPU, i.e. Celeron/Pentium separation; |
32 | ; remove support of Cyrix and early Centaur (IDT) - they are too old, rare and non-standard; |
32 | ; remove support of Cyrix and early Centaur (IDT) - they are too old, rare and non-standard; |
33 | ; Sempron detection - probably they supports Brand-ID; |
33 | ; Sempron detection - probably they supports Brand-ID; |
34 | ; update caches descriptors for intel Core 1/2 |
34 | ; update caches descriptors for intel Core 1/2 |
35 | ; quantity of logical CPU/cores - requires APIC ID analysis |
35 | ; quantity of logical CPU/cores - requires APIC ID analysis |
36 | ; newest AMD/Intel codename detection |
36 | ; newest AMD/Intel codename detection |
37 | ; improve support of Vortex86 |
37 | ; improve support of Vortex86 |
38 | ;****************************************************************************** |
38 | ;****************************************************************************** |
39 | ;HISTORY: |
39 | ;HISTORY: |
- | 40 | ;2.5: CPUID 15/08/2016 (not finished) |
|
- | 41 | ;Authors: |
|
- | 42 | ; Manasi Thakkar aka mat1854 |
|
- | 43 | ;Features: |
|
- | 44 | ; (+) added saving of features from fork version 2.26pre in log |
|
- | 45 | ; (+) fixed redraw bug, which appears if user execute save dialog |
|
- | 46 | ; Known issues: Sempron marked as AthlonXP |
|
- | 47 | ; second window doesn't closed when you close main window |
|
- | 48 | ; incorrect cache detection for several models of newest Intel CPU, because they designed for another cache detection approach |
|
- | 49 | ;----------------------------------------------------------------------------- |
|
- | 50 | ;2.4: CPUID 09/08/2016 |
|
- | 51 | ;Authors: |
|
- | 52 | ; Artem Azhbakov aka marting422 |
|
- | 53 | ; Nikita Moiseev aka Powerdogesss |
|
- | 54 | ; Manasi Thakkar aka mat1854 |
|
- | 55 | ; Sergey Kuzmin aka Wildwest |
|
- | 56 | ;Features: |
|
- | 57 | ; (+) added detection of Intel Arrandale |
|
- | 58 | ; (+) save log in text file; |
|
- | 59 | ; (+) use Extended models to turn off multiplier detection for CPU's, which aren't supported; |
|
- | 60 | ; (+) show multiplier numbers, if we detect something and show n/a, if we don't; |
|
- | 61 | ; (+) merging of different versions from GSOC students; |
|
- | 62 | ; (+) added detection of codenames for new Intel CPUs: IvyBridge, SandyBridge-E, Gulftown, Westmere-EX, Clarksfield, Bloomfield,Nehalem-EX, Yorkfield, Dunnington, Clovertown, Merom Conroe, Cedar Mill, Nocona Irwindale, NoconaIrwindale, Dothan, Cedarview, Lincroft and Pineview. |
|
- | 63 | ; (+) added detection of AMD k-10 series: AMD Athlon 7750 Black Edition, Opteron 2300-series, Opteron 8300-series, Phenom X4, Phenom X3, Athlon X2, Sempron, Opteron (Shanghai) 2387, Opteron (Magny-Cours), Opteron (Shanghai) 8300 series, Turion II. |
|
- | 64 | ; (+) fixed duplication in txt file |
|
- | 65 | ; (+) save Codename in text file; |
|
- | 66 | ; (+) fixed abstact examples in visualisation block for RSA encoding performance test |
|
- | 67 | ;Known issues: Sempron marked as AthlonXP |
|
- | 68 | ; second window doesn't closed when you close main window |
|
- | 69 | ; incorrect cache detection for several models of newest Intel CPU, because they designed for another cache detection approach |
|
- | 70 | ;----------------------------------------------------------------------------- |
|
40 | ;2.3: CPUID 12/10/2014 (not finished) |
71 | ;2.3: CPUID 12/10/2014 (not finished) |
41 | ;Authors: Sergey Kuzmin aka Wildwest |
72 | ;Authors: Sergey Kuzmin aka Wildwest |
42 | ; Pavel Rymovskiy aka Heavyiron |
73 | ; Pavel Rymovskiy aka Heavyiron |
43 | ; fedesco |
74 | ; fedesco |
44 | ;Features: |
75 | ;Features: |
45 | ; (+) 'choose FSB' button removed and related code changed in the way it would use FSB value detected by Ghost's code; |
76 | ; (+) 'choose FSB' button removed and related code changed in the way it would use FSB value detected by Ghost's code; |
46 | ; (+) fixed calculation of Extended model for newest Intel; |
77 | ; (+) fixed calculation of Extended model for newest Intel; |
47 | ; (+) initial support of new vendor Vortex86 - logo, caches, technology; |
78 | ; (+) initial support of new vendor Vortex86 - logo, caches, technology; |
48 | ; (+) Italian translation by fedesco; |
79 | ; (+) Italian translation by fedesco; |
49 | ; (+) makefile for *nix by fedesco; |
80 | ; (+) makefile for *nix by fedesco; |
50 | ; (+) new cache descriptors for Intel; |
81 | ; (+) new cache descriptors for Intel; |
51 | ; (+) fixed typo, which makes output of Brand ID for AMD CPU's at incorrect place by Heavyiron; |
82 | ; (+) fixed typo, which makes output of Brand ID for AMD CPU's at incorrect place by Heavyiron; |
52 | ; (+) fixed typo, which makes selection of incorrect codename for AMD F8x CPU's; |
83 | ; (+) fixed typo, which makes selection of incorrect codename for AMD F8x CPU's; |
53 | ; (+) added detection of Extended Model for Intel's CPU and example of it's use |
84 | ; (+) added detection of Extended Model for Intel's CPU and example of it's use |
54 | ;Known issues: Sempron marked as AthlonXP |
85 | ;Known issues: Sempron marked as AthlonXP |
55 | ; second window doesn't closed when you close main window |
86 | ; second window doesn't closed when you close main window |
56 | ; incorrect multiplier detection for newest CPU |
87 | ; incorrect multiplier detection for newest CPU |
57 | ; incorrect cache detection for several models of newest Intel CPU, because they designed for another cache detection approach |
88 | ; incorrect cache detection for several models of newest Intel CPU, because they designed for another cache detection approach |
58 | ;----------------------------------------------------------------------------- |
89 | ;----------------------------------------------------------------------------- |
59 | ;2.2: CPUID 01/05/2007 |
90 | ;2.2: CPUID 01/05/2007 |
60 | ;Authors: Sergey Kuzmin aka Wildwest |
91 | ;Authors: Sergey Kuzmin aka Wildwest |
61 | ; Iliya Mikhailov aka Ghost |
92 | ; Iliya Mikhailov aka Ghost |
62 | ; /^S0rG^\ |
93 | ; /^S0rG^\ |
63 | ; Pavel Rymovskiy aka Heavyiron |
94 | ; Pavel Rymovskiy aka Heavyiron |
64 | ; Leency |
95 | ; Leency |
65 | ;Features: |
96 | ;Features: |
66 | ; (+) creative work by Leency - logos now much better and they take less size; |
97 | ; (+) creative work by Leency - logos now much better and they take less size; |
67 | ; (+) changes from Heavyiron: client-relative drawing, title with function 0. It means the end of compatibility with MenuetOS! |
98 | ; (+) changes from Heavyiron: client-relative drawing, title with function 0. It means the end of compatibility with MenuetOS! |
68 | ; (+) real-time RAM monitoring (previous versions showed changed amount of available RAM only at redraw event or CPUID window activation); |
99 | ; (+) real-time RAM monitoring (previous versions showed changed amount of available RAM only at redraw event or CPUID window activation); |
69 | ; (+) fixed address of LAHF feature, added detection of CMPL, SVM, MOVCR8 technologies for AMD; |
100 | ; (+) fixed address of LAHF feature, added detection of CMPL, SVM, MOVCR8 technologies for AMD; |
70 | ; (+) fixed L2 cache size detection for VIA (they changed format from 8 bits to 16 bits several years ago); |
101 | ; (+) fixed L2 cache size detection for VIA (they changed format from 8 bits to 16 bits several years ago); |
71 | ; (+) more macroses for Interface and Threads (from Menuett.inc written by /^S0rG^\, 2002), sources separated into several include files; |
102 | ; (+) more macroses for Interface and Threads (from Menuett.inc written by /^S0rG^\, 2002), sources separated into several include files; |
72 | ; (++) more info about caches for VIA and Transmeta; |
103 | ; (++) more info about caches for VIA and Transmeta; |
73 | ; (+) added detection of DCA, SSSE3, VMX technologies for Intel; |
104 | ; (+) added detection of DCA, SSSE3, VMX technologies for Intel; |
74 | ; (+) updated multiplier detection for AMD and Intel (thanks a lot to Ghost); |
105 | ; (+) updated multiplier detection for AMD and Intel (thanks a lot to Ghost); |
75 | ;Known issues: Sempron marked as AthlonXP |
106 | ;Known issues: Sempron marked as AthlonXP |
76 | ; second window doesn't closed when you close main window |
107 | ; second window doesn't closed when you close main window |
77 | ;----------------------------------------------------------------------------- |
108 | ;----------------------------------------------------------------------------- |
78 | ;2.1: CPUID 10/01/2007 |
109 | ;2.1: CPUID 10/01/2007 |
79 | ;Author: Sergey Kuzmin aka Wildwest |
110 | ;Author: Sergey Kuzmin aka Wildwest |
80 | ;Features: |
111 | ;Features: |
81 | ; (++) more info about caches for AMD and Intel |
112 | ; (++) more info about caches for AMD and Intel |
82 | ; (+) redesign |
113 | ; (+) redesign |
83 | ; (+) fixes for names of some extended features |
114 | ; (+) fixes for names of some extended features |
84 | ; (+) fixed missing technology for some AMD64 cpu's |
115 | ; (+) fixed missing technology for some AMD64 cpu's |
85 | ; (+) 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) |
116 | ; (+) 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) |
86 | ; (+) new caches for Intel |
117 | ; (+) new caches for Intel |
87 | ; (+) fixed Celeron detection based on L2 cache size for newest Intel CPU (there are Celeron models with 512 Kb); |
118 | ; (+) fixed Celeron detection based on L2 cache size for newest Intel CPU (there are Celeron models with 512 Kb); |
88 | ; (+) CPUID now display System Clock with accuracy 0.01 MHz; |
119 | ; (+) CPUID now display System Clock with accuracy 0.01 MHz; |
89 | ; (+) new logo for Intel (they changed it some time ago); |
120 | ; (+) new logo for Intel (they changed it some time ago); |
90 | ;Known issues: Sempron marked as AthlonXP |
121 | ;Known issues: Sempron marked as AthlonXP |
91 | ; second window doesn't closed when you close main window |
122 | ; second window doesn't closed when you close main window |
92 | ;----------------------------------------------------------------------------- |
123 | ;----------------------------------------------------------------------------- |
93 | ;2.0: CPUID 31/10/2006 |
124 | ;2.0: CPUID 31/10/2006 |
94 | ;Authors: Sergey Kuzmin aka Wildwest |
125 | ;Authors: Sergey Kuzmin aka Wildwest |
95 | ; Eugeniy Grechnikov aka Diamond |
126 | ; Eugeniy Grechnikov aka Diamond |
96 | ; Iliya Mikhailov aka Ghost |
127 | ; Iliya Mikhailov aka Ghost |
97 | ;Features: |
128 | ;Features: |
98 | ; (+) detection of Brand ID of AMD CPU's (Opteron etc - not finished) |
129 | ; (+) detection of Brand ID of AMD CPU's (Opteron etc - not finished) |
99 | ; (+) detection of Extended family and Model of AMD CPU's |
130 | ; (+) detection of Extended family and Model of AMD CPU's |
100 | ; (+) interface+(redesign) |
131 | ; (+) interface+(redesign) |
101 | ; (+) calculation of System Clock |
132 | ; (+) calculation of System Clock |
102 | ; (++) added multiplier detection for AMD and Intel (thanks a lot to Ghost) |
133 | ; (++) added multiplier detection for AMD and Intel (thanks a lot to Ghost) |
103 | ; (+) optimization of GIF decoder, code cleanup and bugfix by Diamond; |
134 | ; (+) optimization of GIF decoder, code cleanup and bugfix by Diamond; |
104 | ; (+) fixed bug with MMX+ detection for Cyrix CPU (in second window; |
135 | ; (+) fixed bug with MMX+ detection for Cyrix CPU (in second window; |
105 | ; it was properly recognized in main window); |
136 | ; it was properly recognized in main window); |
106 | ; (+) we show appropiate message in second window if Extended Features |
137 | ; (+) we show appropiate message in second window if Extended Features |
107 | ; ($8000_000x) aren't available; |
138 | ; ($8000_000x) aren't available; |
108 | ; (+) we mark unknown CPU models as "Next generation CPU"; |
139 | ; (+) we mark unknown CPU models as "Next generation CPU"; |
109 | ;Known issues: Sempron marked as AthlonXP |
140 | ;Known issues: Sempron marked as AthlonXP |
110 | ; second window doesn't closed when you close main window |
141 | ; second window doesn't closed when you close main window |
111 | ;----------------------------------------------------------------------------- |
142 | ;----------------------------------------------------------------------------- |
112 | ;1.1: CPUID 17/03/2006 |
143 | ;1.1: CPUID 17/03/2006 |
113 | ;Author: Sergey Kuzmin aka Wildwest |
144 | ;Author: Sergey Kuzmin aka Wildwest |
114 | ;Features: |
145 | ;Features: |
115 | ; (+) performance test now runs after click at "Press for more" button => we start app without test, i.e. |
146 | ; (+) performance test now runs after click at "Press for more" button => we start app without test, i.e. |
116 | ; immediately, but application can be unstable during multiple switching between windows(need testing) |
147 | ; immediately, but application can be unstable during multiple switching between windows(need testing) |
117 | ; (++) added detection of total and available amount of RAM (would work only in KolibriOS) |
148 | ; (++) added detection of total and available amount of RAM (would work only in KolibriOS) |
118 | ; (++) added detection of extended family and model (not shown, but if you want...); |
149 | ; (++) added detection of extended family and model (not shown, but if you want...); |
119 | ; (++) added detection of effective family and model; |
150 | ; (++) added detection of effective family and model; |
120 | ; (+) more codenames: Intel Tejas, Presler, Yonah, Conroe; |
151 | ; (+) more codenames: Intel Tejas, Presler, Yonah, Conroe; |
121 | ; (+) more codenames: AMD Toledo; |
152 | ; (+) more codenames: AMD Toledo; |
122 | ; (+) interface+(redesign). |
153 | ; (+) interface+(redesign). |
123 | ;Bugs: probably some non-critical graphical issues |
154 | ;Bugs: probably some non-critical graphical issues |
124 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
155 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
125 | ;----------------------------------------------------------------------------- |
156 | ;----------------------------------------------------------------------------- |
126 | ;1.0: CPUID 26/09/2005 |
157 | ;1.0: CPUID 26/09/2005 |
127 | ;Authors: Sergey Kuzmin aka Wildwest |
158 | ;Authors: Sergey Kuzmin aka Wildwest |
128 | ; Marat Zakiyanov aka Mario79 |
159 | ; Marat Zakiyanov aka Mario79 |
129 | ; Andrey Halyavin aka halyavin |
160 | ; Andrey Halyavin aka halyavin |
130 | ;Features: |
161 | ;Features: |
131 | ; (+) fixed bug, when processor doesn't support extented features and program don't report 'no' in such case |
162 | ; (+) fixed bug, when processor doesn't support extented features and program don't report 'no' in such case |
132 | ; (+) fixed bug in CPU Type detection |
163 | ; (+) fixed bug in CPU Type detection |
133 | ; (+) fixed bug, when program crashes on AMD AthlonXP when after click on 'Press for more' button |
164 | ; (+) fixed bug, when program crashes on AMD AthlonXP when after click on 'Press for more' button |
134 | ; you click on 'Choose FSB' button; |
165 | ; you click on 'Choose FSB' button; |
135 | ; (+) added output of highest standard and extended calls |
166 | ; (+) added output of highest standard and extended calls |
136 | ; (+) Extended Features(phase 1 - big part of AMD/Intel specific EF) |
167 | ; (+) Extended Features(phase 1 - big part of AMD/Intel specific EF) |
137 | ; (+) reworked P-rating calculation for AMD AthlonXP -> |
168 | ; (+) reworked P-rating calculation for AMD AthlonXP -> |
138 | ; now one program for 266, 333, 400 MHz FSB |
169 | ; now one program for 266, 333, 400 MHz FSB |
139 | ; (but unstable - see Bugs section) |
170 | ; (but unstable - see Bugs section) |
140 | ; (+) support for Intel F5x, renamed C3(Esther) to C7(Esther) |
171 | ; (+) support for Intel F5x, renamed C3(Esther) to C7(Esther) |
141 | ; (+) more codenames |
172 | ; (+) more codenames |
142 | ; (Intel: new Prescott's model; Dothan; VIA: Esther; |
173 | ; (Intel: new Prescott's model; Dothan; VIA: Esther; |
143 | ; AMD: Newcastle, Paris, Winchester, San Diego, Venice, Palermo) |
174 | ; AMD: Newcastle, Paris, Winchester, San Diego, Venice, Palermo) |
144 | ; (+) performance test (RSA encoding, fixed-point arithmetics) |
175 | ; (+) performance test (RSA encoding, fixed-point arithmetics) |
145 | ; by Andrey Halyavin |
176 | ; by Andrey Halyavin |
146 | ; (+) interface+(thanks to Mario79 for additional window |
177 | ; (+) interface+(thanks to Mario79 for additional window |
147 | ; and to me for nice button) |
178 | ; and to me for nice button) |
148 | ;Bugs: probably some non-critical graphical issues |
179 | ;Bugs: probably some non-critical graphical issues |
149 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
180 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
150 | ;----------------------------------------------------------------------------- |
181 | ;----------------------------------------------------------------------------- |
151 | ;0.9: CPUID 24/01/2005 |
182 | ;0.9: CPUID 24/01/2005 |
152 | ;Authors: Sergey Kuzmin aka Wildwest |
183 | ;Authors: Sergey Kuzmin aka Wildwest |
153 | ; Madis Kalme aka Madis731 |
184 | ; Madis Kalme aka Madis731 |
154 | ; Jeffrey Amelynck aka Profkid |
185 | ; Jeffrey Amelynck aka Profkid |
155 | ;Features: |
186 | ;Features: |
156 | ; (+) deleting leading whitespaces in Intel P4's internal name |
187 | ; (+) deleting leading whitespaces in Intel P4's internal name |
157 | ; by Madis Kalme |
188 | ; by Madis Kalme |
158 | ; (+) all standard features |
189 | ; (+) all standard features |
159 | ; (+) more codenames (Transmeta series) |
190 | ; (+) more codenames (Transmeta series) |
160 | ; (+) caches for Cyrix |
191 | ; (+) caches for Cyrix |
161 | ; (+) Brand ID for Intel |
192 | ; (+) Brand ID for Intel |
162 | ; (+) detect L3 cache for Intel |
193 | ; (+) detect L3 cache for Intel |
163 | ; (+) detect Xeon (will be improved later, at this moment see Brand) |
194 | ; (+) detect Xeon (will be improved later, at this moment see Brand) |
164 | ; (+) interface+(redesign and grafical logos for vendors) |
195 | ; (+) interface+(redesign and grafical logos for vendors) |
165 | ; (+) MMX+ test for Cyrix |
196 | ; (+) MMX+ test for Cyrix |
166 | ; (+) Type for Intel |
197 | ; (+) Type for Intel |
167 | ;Bugs: no !!! |
198 | ;Bugs: no !!! |
168 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
199 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
169 | ; caches for IDT is not detected |
200 | ; caches for IDT is not detected |
170 | ;----------------------------------------------------------------------------- |
201 | ;----------------------------------------------------------------------------- |
171 | ;early history was removed; download any old version of CPUID and read it, if you want |
202 | ;early history was removed; download any old version of CPUID and read it, if you want |
172 | ;***************************************************************************** |
203 | ;***************************************************************************** |