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