Rev 515 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 515 | Rev 4107 | ||
---|---|---|---|
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://diamondz.land.ru) |
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.67.21 |
5 | ; compiler: flat assembler 1.70.03 |
6 | ; version: 2.21 |
6 | ; version: 2.28 |
7 | ; last update: 18th May 2007 |
7 | ; last update: 23rd October 2013 |
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 |
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 | ;****************************************************************************** |
38 | ;****************************************************************************** |
38 | ;HISTORY: |
39 | ;HISTORY: |
39 | ;3.0: CPUID 18/05/2007 (not finished) |
40 | ;2.3: CPUID 23/10/2013 (not finished) |
40 | ;Authors: Sergey Kuzmin aka Wildwest |
41 | ;Authors: Sergey Kuzmin aka Wildwest |
- | 42 | ; Pavel Rymovskiy aka Heavyiron |
|
- | 43 | ; fedesco |
|
41 | ;Features: |
44 | ;Features: |
- | 45 | ; (+) '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; |
|
- | 47 | ; (+) initial support of new vendor Vortex86 - logo, caches, technology; |
|
- | 48 | ; (+) Italian translation by fedesco; |
|
- | 49 | ; (+) makefile for *nix by fedesco; |
|
- | 50 | ; (+) new cache descriptors for Intel; |
|
- | 51 | ; (+) fixed typo, which makes output of Brand ID for AMD CPU's at incorrect place by Heavyiron; |
|
42 | ; (+) fixed typo, which makes selection of incorrect codename for AMD F8x CPU's; |
52 | ; (+) fixed typo, which makes selection of incorrect codename for AMD F8x CPU's; |
43 | ;Known issues: Sempron marked as AthlonXP |
53 | ;Known issues: Sempron marked as AthlonXP |
44 | ; second window doesn't closed when you close main window |
54 | ; second window doesn't closed when you close main window |
- | 55 | ; incorrect multiplier detection for newest CPU |
|
- | 56 | ; incorrect cache detection for several models of newest Intel CPU, because they designed for another cache detection approach |
|
45 | ;----------------------------------------------------------------------------- |
57 | ;----------------------------------------------------------------------------- |
46 | ;2.2: CPUID 01/05/2007 |
58 | ;2.2: CPUID 01/05/2007 |
47 | ;Authors: Sergey Kuzmin aka Wildwest |
59 | ;Authors: Sergey Kuzmin aka Wildwest |
48 | ; Iliya Mikhailov aka Ghost |
60 | ; Iliya Mikhailov aka Ghost |
49 | ; /^S0rG^\ |
61 | ; /^S0rG^\ |
50 | ; Pavel Rymovskiy aka Heavyiron |
62 | ; Pavel Rymovskiy aka Heavyiron |
51 | ; Leency |
63 | ; Leency |
52 | ;Features: |
64 | ;Features: |
53 | ; (+) creative work by Leency - logos now much better and they take less size; |
65 | ; (+) creative work by Leency - logos now much better and they take less size; |
54 | ; (+) changes from Heavyiron: client-relative drawing, title with function 0. It means the end of compatibility with MenuetOS! |
66 | ; (+) changes from Heavyiron: client-relative drawing, title with function 0. It means the end of compatibility with MenuetOS! |
55 | ; (+) real-time RAM monitoring (previous versions showed changed amount of available RAM only at redraw event or CPUID window activation); |
67 | ; (+) real-time RAM monitoring (previous versions showed changed amount of available RAM only at redraw event or CPUID window activation); |
56 | ; (+) fixed address of LAHF feature, added detection of CMPL, SVM, MOVCR8 technologies for AMD; |
68 | ; (+) fixed address of LAHF feature, added detection of CMPL, SVM, MOVCR8 technologies for AMD; |
57 | ; (+) fixed L2 cache size detection for VIA (they changed format from 8 bits to 16 bits several years ago); |
69 | ; (+) fixed L2 cache size detection for VIA (they changed format from 8 bits to 16 bits several years ago); |
58 | ; (+) more macroses for Interface and Threads (from Menuett.inc written by /^S0rG^\, 2002), sources separated into several include files; |
70 | ; (+) more macroses for Interface and Threads (from Menuett.inc written by /^S0rG^\, 2002), sources separated into several include files; |
59 | ; (++) more info about caches for VIA and Transmeta; |
71 | ; (++) more info about caches for VIA and Transmeta; |
60 | ; (+) added detection of DCA, SSSE3, VMX technologies for Intel; |
72 | ; (+) added detection of DCA, SSSE3, VMX technologies for Intel; |
61 | ; (+) updated multiplier detection for AMD and Intel (thanks a lot to Ghost); |
73 | ; (+) updated multiplier detection for AMD and Intel (thanks a lot to Ghost); |
62 | ;Known issues: Sempron marked as AthlonXP |
74 | ;Known issues: Sempron marked as AthlonXP |
63 | ; second window doesn't closed when you close main window |
75 | ; second window doesn't closed when you close main window |
64 | ;----------------------------------------------------------------------------- |
76 | ;----------------------------------------------------------------------------- |
65 | ;2.1: CPUID 10/01/2007 |
77 | ;2.1: CPUID 10/01/2007 |
66 | ;Author: Sergey Kuzmin aka Wildwest |
78 | ;Author: Sergey Kuzmin aka Wildwest |
67 | ;Features: |
79 | ;Features: |
68 | ; (++) more info about caches for AMD and Intel |
80 | ; (++) more info about caches for AMD and Intel |
69 | ; (+) redesign |
81 | ; (+) redesign |
70 | ; (+) fixes for names of some extended features |
82 | ; (+) fixes for names of some extended features |
71 | ; (+) fixed missing technology for some AMD64 cpu's |
83 | ; (+) fixed missing technology for some AMD64 cpu's |
72 | ; (+) 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) |
84 | ; (+) 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) |
73 | ; (+) new caches for Intel |
85 | ; (+) new caches for Intel |
74 | ; (+) fixed Celeron detection based on L2 cache size for newest Intel CPU (there are Celeron models with 512 Kb); |
86 | ; (+) fixed Celeron detection based on L2 cache size for newest Intel CPU (there are Celeron models with 512 Kb); |
75 | ; (+) CPUID now display System Clock with accuracy 0.01 MHz; |
87 | ; (+) CPUID now display System Clock with accuracy 0.01 MHz; |
76 | ; (+) new logo for Intel (they changed it some time ago); |
88 | ; (+) new logo for Intel (they changed it some time ago); |
77 | ;Known issues: Sempron marked as AthlonXP |
89 | ;Known issues: Sempron marked as AthlonXP |
78 | ; second window doesn't closed when you close main window |
90 | ; second window doesn't closed when you close main window |
79 | ;----------------------------------------------------------------------------- |
91 | ;----------------------------------------------------------------------------- |
80 | ;2.0: CPUID 31/10/2006 |
92 | ;2.0: CPUID 31/10/2006 |
81 | ;Authors: Sergey Kuzmin aka Wildwest |
93 | ;Authors: Sergey Kuzmin aka Wildwest |
82 | ; Eugeniy Grechnikov aka Diamond |
94 | ; Eugeniy Grechnikov aka Diamond |
83 | ; Iliya Mikhailov aka Ghost |
95 | ; Iliya Mikhailov aka Ghost |
84 | ;Features: |
96 | ;Features: |
85 | ; (+) detection of Brand ID of AMD CPU's (Opteron etc - not finished) |
97 | ; (+) detection of Brand ID of AMD CPU's (Opteron etc - not finished) |
86 | ; (+) detection of Extended family and Model of AMD CPU's |
98 | ; (+) detection of Extended family and Model of AMD CPU's |
87 | ; (+) interface+(redesign) |
99 | ; (+) interface+(redesign) |
88 | ; (+) calculation of System Clock |
100 | ; (+) calculation of System Clock |
89 | ; (++) added multiplier detection for AMD and Intel (thanks a lot to Ghost) |
101 | ; (++) added multiplier detection for AMD and Intel (thanks a lot to Ghost) |
90 | ; (+) optimization of GIF decoder, code cleanup and bugfix by Diamond; |
102 | ; (+) optimization of GIF decoder, code cleanup and bugfix by Diamond; |
91 | ; (+) fixed bug with MMX+ detection for Cyrix CPU (in second window; |
103 | ; (+) fixed bug with MMX+ detection for Cyrix CPU (in second window; |
92 | ; it was properly recognized in main window); |
104 | ; it was properly recognized in main window); |
93 | ; (+) we show appropiate message in second window if Extended Features |
105 | ; (+) we show appropiate message in second window if Extended Features |
94 | ; ($8000_000x) aren't available; |
106 | ; ($8000_000x) aren't available; |
95 | ; (+) we mark unknown CPU models as "Next generation CPU"; |
107 | ; (+) we mark unknown CPU models as "Next generation CPU"; |
96 | ;Known issues: Sempron marked as AthlonXP |
108 | ;Known issues: Sempron marked as AthlonXP |
97 | ; second window doesn't closed when you close main window |
109 | ; second window doesn't closed when you close main window |
98 | ;----------------------------------------------------------------------------- |
110 | ;----------------------------------------------------------------------------- |
99 | ;1.1: CPUID 17/03/2006 |
111 | ;1.1: CPUID 17/03/2006 |
100 | ;Author: Sergey Kuzmin aka Wildwest |
112 | ;Author: Sergey Kuzmin aka Wildwest |
101 | ;Features: |
113 | ;Features: |
102 | ; (+) performance test now runs after click at "Press for more" button => we start app without test, i.e. |
114 | ; (+) performance test now runs after click at "Press for more" button => we start app without test, i.e. |
103 | ; immediately, but application can be unstable during multiple switching between windows(need testing) |
115 | ; immediately, but application can be unstable during multiple switching between windows(need testing) |
104 | ; (++) added detection of total and available amount of RAM (would work only in KolibriOS) |
116 | ; (++) added detection of total and available amount of RAM (would work only in KolibriOS) |
105 | ; (++) added detection of extended family and model (not shown, but if you want...); |
117 | ; (++) added detection of extended family and model (not shown, but if you want...); |
106 | ; (++) added detection of effective family and model; |
118 | ; (++) added detection of effective family and model; |
107 | ; (+) more codenames: Intel Tejas, Presler, Yonah, Conroe; |
119 | ; (+) more codenames: Intel Tejas, Presler, Yonah, Conroe; |
108 | ; (+) more codenames: AMD Toledo; |
120 | ; (+) more codenames: AMD Toledo; |
109 | ; (+) interface+(redesign). |
121 | ; (+) interface+(redesign). |
110 | ;Bugs: probably some non-critical graphical issues |
122 | ;Bugs: probably some non-critical graphical issues |
111 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
123 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
112 | ;----------------------------------------------------------------------------- |
124 | ;----------------------------------------------------------------------------- |
113 | ;1.0: CPUID 26/09/2005 |
125 | ;1.0: CPUID 26/09/2005 |
114 | ;Authors: Sergey Kuzmin aka Wildwest |
126 | ;Authors: Sergey Kuzmin aka Wildwest |
115 | ; Marat Zakiyanov aka Mario79 |
127 | ; Marat Zakiyanov aka Mario79 |
116 | ; Andrey Halyavin aka halyavin |
128 | ; Andrey Halyavin aka halyavin |
117 | ;Features: |
129 | ;Features: |
118 | ; (+) fixed bug, when processor doesn't support extented features and program don't report 'no' in such case |
130 | ; (+) fixed bug, when processor doesn't support extented features and program don't report 'no' in such case |
119 | ; (+) fixed bug in CPU Type detection |
131 | ; (+) fixed bug in CPU Type detection |
120 | ; (+) fixed bug, when program crashes on AMD AthlonXP when after click on 'Press for more' button |
132 | ; (+) fixed bug, when program crashes on AMD AthlonXP when after click on 'Press for more' button |
121 | ; you click on 'Choose FSB' button; |
133 | ; you click on 'Choose FSB' button; |
122 | ; (+) added output of highest standard and extended calls |
134 | ; (+) added output of highest standard and extended calls |
123 | ; (+) Extended Features(phase 1 - big part of AMD/Intel specific EF) |
135 | ; (+) Extended Features(phase 1 - big part of AMD/Intel specific EF) |
124 | ; (+) reworked P-rating calculation for AMD AthlonXP -> |
136 | ; (+) reworked P-rating calculation for AMD AthlonXP -> |
125 | ; now one program for 266, 333, 400 MHz FSB |
137 | ; now one program for 266, 333, 400 MHz FSB |
126 | ; (but unstable - see Bugs section) |
138 | ; (but unstable - see Bugs section) |
127 | ; (+) support for Intel F5x, renamed C3(Esther) to C7(Esther) |
139 | ; (+) support for Intel F5x, renamed C3(Esther) to C7(Esther) |
128 | ; (+) more codenames |
140 | ; (+) more codenames |
129 | ; (Intel: new Prescott's model; Dothan; VIA: Esther; |
141 | ; (Intel: new Prescott's model; Dothan; VIA: Esther; |
130 | ; AMD: Newcastle, Paris, Winchester, San Diego, Venice, Palermo) |
142 | ; AMD: Newcastle, Paris, Winchester, San Diego, Venice, Palermo) |
131 | ; (+) performance test (RSA encoding, fixed-point arithmetics) |
143 | ; (+) performance test (RSA encoding, fixed-point arithmetics) |
132 | ; by Andrey Halyavin |
144 | ; by Andrey Halyavin |
133 | ; (+) interface+(thanks to Mario79 for additional window |
145 | ; (+) interface+(thanks to Mario79 for additional window |
134 | ; and to me for nice button) |
146 | ; and to me for nice button) |
135 | ;Bugs: probably some non-critical graphical issues |
147 | ;Bugs: probably some non-critical graphical issues |
136 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
148 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
137 | ;----------------------------------------------------------------------------- |
149 | ;----------------------------------------------------------------------------- |
138 | ;0.9: CPUID 24/01/2005 |
150 | ;0.9: CPUID 24/01/2005 |
139 | ;Authors: Sergey Kuzmin aka Wildwest |
151 | ;Authors: Sergey Kuzmin aka Wildwest |
140 | ; Madis Kalme aka Madis731 |
152 | ; Madis Kalme aka Madis731 |
141 | ; Jeffrey Amelynck aka Profkid |
153 | ; Jeffrey Amelynck aka Profkid |
142 | ;Features: |
154 | ;Features: |
143 | ; (+) deleting leading whitespaces in Intel P4's internal name |
155 | ; (+) deleting leading whitespaces in Intel P4's internal name |
144 | ; by Madis Kalme |
156 | ; by Madis Kalme |
145 | ; (+) all standard features |
157 | ; (+) all standard features |
146 | ; (+) more codenames (Transmeta series) |
158 | ; (+) more codenames (Transmeta series) |
147 | ; (+) caches for Cyrix |
159 | ; (+) caches for Cyrix |
148 | ; (+) Brand ID for Intel |
160 | ; (+) Brand ID for Intel |
149 | ; (+) detect L3 cache for Intel |
161 | ; (+) detect L3 cache for Intel |
150 | ; (+) detect Xeon (will be improved later, at this moment see Brand) |
162 | ; (+) detect Xeon (will be improved later, at this moment see Brand) |
151 | ; (+) interface+(redesign and grafical logos for vendors) |
163 | ; (+) interface+(redesign and grafical logos for vendors) |
152 | ; (+) MMX+ test for Cyrix |
164 | ; (+) MMX+ test for Cyrix |
153 | ; (+) Type for Intel |
165 | ; (+) Type for Intel |
154 | ;Bugs: no !!! |
166 | ;Bugs: no !!! |
155 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
167 | ;Known issues: Sempron is not supported (marked as AthlonXP) |
156 | ; caches for IDT is not detected |
168 | ; caches for IDT is not detected |
157 | ;----------------------------------------------------------------------------- |
169 | ;----------------------------------------------------------------------------- |
158 | ;early history was removed; download any old version of CPUID and read it, if you want |
170 | ;early history was removed; download any old version of CPUID and read it, if you want |
159 | ;***************************************************************************** |
171 | ;***************************************************************************** |