Subversion Repositories Kolibri OS

Rev

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