Subversion Repositories Kolibri OS

Rev

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