Subversion Repositories Kolibri OS

Rev

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
;*****************************************************************************