Rev 7900 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7900 | Rev 8015 | ||
---|---|---|---|
1 | ;****************************************************************************** |
1 | ;****************************************************************************** |
2 | ; project name: CPUID * |
2 | ; project name: CPUID * |
3 | ; platform: KolibriOS, x86 (IA-32), x86-64 achitectures * |
3 | ; platform: KolibriOS, x86 (IA-32), x86-64 achitectures * |
4 | ; compiler: flat assembler 1.70.03 * |
4 | ; compiler: flat assembler 1.70.03 * |
5 | ; version: 2.31 * |
5 | ; version: 2.31 * |
6 | ; last update: 9 October 2018 * |
6 | ; last update: 9 October 2018 * |
7 | ; maintained by: Sergey Kuzmin aka Wildwest * |
7 | ; maintained by: Sergey Kuzmin aka Wildwest * |
8 | ; e-mail: kuzmin_serg@list.ru * |
8 | ; e-mail: kuzmin_serg@list.ru * |
9 | ; site: http://coolthemes.narod.ru/files.html * |
9 | ; site: http://coolthemes.narod.ru/files.html * |
10 | ; license: Copyright 2004-2018 Sergey Kuzmin and co-authors * |
10 | ; license: Copyright 2004-2018 Sergey Kuzmin and co-authors * |
11 | ; Rules: * |
11 | ; Rules: * |
12 | ; 1)you can use pieces of code in your project, but should * |
12 | ; 1)you can use pieces of code in your project, but should * |
13 | ; mention the original author (include copyright notice); * |
13 | ; mention the original author (include copyright notice); * |
14 | ; 2)if you modify CPUID (improve, port, translate, etc) send * |
14 | ; 2)if you modify CPUID (improve, port, translate, etc) send * |
15 | ; your changes to the maintainer or make about post changes * |
15 | ; your changes to the maintainer or make about post changes * |
16 | ; at forum http://board.kolibrios.org/viewtopic.php?f=42&t=594* |
16 | ; at forum http://board.kolibrios.org/viewtopic.php?f=42&t=594* |
17 | ;-----------------------------------------------------------------------------* |
17 | ;-----------------------------------------------------------------------------* |
18 | ; English comments * |
18 | ; English comments * |
19 | ;------------------------------------------------------------------------------ |
19 | ;------------------------------------------------------------------------------ |
20 | use32 |
20 | use32 |
21 | org 0x0 |
21 | org 0x0 |
22 | db 'MENUET01' |
22 | db 'MENUET01' |
23 | dd 0x01 |
23 | dd 0x01 |
24 | dd START |
24 | dd START |
25 | dd I_END |
25 | dd I_END |
26 | dd U_END+4096 |
26 | dd U_END+4096 |
27 | dd U_END+4096 |
27 | dd U_END+4096 |
28 | dd 0x0 |
28 | dd 0x0 |
29 | dd path |
29 | dd path |
30 | 30 | ||
31 | include '..\..\..\develop\libraries\box_lib\load_lib.mac' |
31 | include '..\..\..\develop\libraries\box_lib\load_lib.mac' |
32 | include '..\..\..\macros.inc' |
32 | include '..\..\..\macros.inc' |
33 | include '../../../gui_patterns.inc' |
33 | include '../../../gui_patterns.inc' |
34 | include '../../../KOSfuncs.inc' |
34 | include '../../../KOSfuncs.inc' |
35 | include 'lang.inc' |
35 | include 'lang.inc' |
36 | include 'draw.inc' |
36 | include 'draw.inc' |
37 | include 'brand.inc' ; brand ID decoding |
37 | include 'brand.inc' ; brand ID decoding |
38 | include 'caches.inc' ; L1 and L2 cashes decoding for Intel |
38 | include 'caches.inc' ; L1 and L2 cashes decoding for Intel |
39 | include 'multipli.inc' ; multiplier decoding |
39 | include 'multipli.inc' ; multiplier decoding |
40 | include 'features.inc' ; features decoding |
40 | include 'features.inc' ; features decoding |
41 | include 'logos.inc' ; include file where gif's are stored |
41 | include 'logos.inc' ; include file where gif's are stored |
42 | include 'rsatest.inc' |
42 | include 'rsatest.inc' |
43 | include 'variable.inc' |
43 | include 'variable.inc' |
44 | include 'gif_lite.inc' |
44 | include 'gif_lite.inc' |
45 | 45 | ||
46 | @use_library |
46 | @use_library |
47 | 47 | ||
48 | START: |
48 | START: |
49 | mcall 68,11 |
49 | mcall 68,11 |
50 | mcall 66,1,1 |
50 | mcall 66,1,1 |
51 | mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc, sizeof.system_colors |
51 | mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc, sizeof.system_colors |
52 | 52 | ||
53 | load_libraries l_libs_start,end_l_libs |
53 | load_libraries l_libs_start,end_l_libs |
54 | ;----------------------------------------------------------------------------- |
54 | ;----------------------------------------------------------------------------- |
55 | ;OpenDialog initialisation |
55 | ;OpenDialog initialisation |
56 | push dword OpenDialog_data |
56 | push dword OpenDialog_data |
57 | call [OpenDialog_Init] |
57 | call [OpenDialog_Init] |
58 | 58 | ||
59 | mov edi,filename_area |
59 | mov edi,filename_area |
60 | mov esi,start_temp_file_name |
60 | mov esi,start_temp_file_name |
61 | call copy_file_name_path |
61 | call copy_file_name_path |
62 | ;----------------------------------------------------------------------------- |
62 | ;----------------------------------------------------------------------------- |
63 | mcall 68,12,4096*8 ; 16 Kb - I hope this will be enough for store of data |
63 | mcall 68,12,4096*8 ; 16 Kb - I hope this will be enough for store of data |
64 | mov [store_text_area_start],eax |
64 | mov [store_text_area_start],eax |
65 | 65 | ||
66 | 66 | ||
67 | ;------------ |
67 | ;------------ |
68 | CYCLES: |
68 | CYCLES: |
69 | ; CPU speed |
69 | ; CPU speed |
70 | mov eax, 18 |
70 | mov eax, 18 |
71 | mov ebx,5 |
71 | mov ebx,5 |
72 | mcall |
72 | mcall |
73 | mov [total1],eax ;in Hz, example 1600490000 |
73 | mov [total1],eax ;in Hz, example 1600490000 |
74 | xor edx,edx |
74 | xor edx,edx |
75 | mov ebx,1000000 |
75 | mov ebx,1000000 |
76 | div ebx |
76 | div ebx |
77 | mov [total], eax ; in Mhz, example 1600 |
77 | mov [total], eax ; in Mhz, example 1600 |
78 | xor edx, edx |
78 | xor edx, edx |
79 | mov eax, [total1] |
79 | mov eax, [total1] |
80 | mov ebx, 10000 |
80 | mov ebx, 10000 |
81 | div ebx |
81 | div ebx |
82 | mov [ost], eax ; example 160049 |
82 | mov [ost], eax ; example 160049 |
83 | mov ecx, [total] |
83 | mov ecx, [total] |
84 | imul ecx, 100 |
84 | imul ecx, 100 |
85 | neg ecx |
85 | neg ecx |
86 | add ecx, eax |
86 | add ecx, eax |
87 | mov [sot], ecx ; example 49 |
87 | mov [sot], ecx ; example 49 |
88 | ;------------ |
88 | ;------------ |
89 | cpu: ;is CPUID supported? |
89 | cpu: ;is CPUID supported? |
90 | pushfd ;push original EFLAGS |
90 | pushfd ;push original EFLAGS |
91 | pop eax ;get original EFLAGS |
91 | pop eax ;get original EFLAGS |
92 | mov ebx, eax ;save original EFLAGS |
92 | mov ebx, eax ;save original EFLAGS |
93 | xor eax, 00200000h ;flip 21th bit in EFLAGS |
93 | xor eax, 00200000h ;flip 21th bit in EFLAGS |
94 | push eax ;save new EFLAGS value on stack |
94 | push eax ;save new EFLAGS value on stack |
95 | popfd ;replace current EFLAGS value |
95 | popfd ;replace current EFLAGS value |
96 | pushfd ;get new EFLAGS |
96 | pushfd ;get new EFLAGS |
97 | pop eax ;store new EFLAGS in EAX |
97 | pop eax ;store new EFLAGS in EAX |
98 | cmp eax, ebx ;compare values of 21th bit |
98 | cmp eax, ebx ;compare values of 21th bit |
99 | jz NO_CPUID ;CPUID isn't supported |
99 | jz NO_CPUID ;CPUID isn't supported |
100 | ;------------ |
100 | ;------------ |
101 | CPUNAME: ; VENDOR |
101 | CPUNAME: ; VENDOR |
102 | mov eax,0 ; eax=0 |
102 | mov eax,0 ; eax=0 |
103 | cpuid |
103 | cpuid |
104 | 104 | ||
105 | mov [stdc], eax ; number of calls |
105 | mov [stdc], eax ; number of calls |
106 | mov [cpuname+ 12],ebx |
106 | mov [cpuname+ 12],ebx |
107 | mov [cpuname+ 16],edx |
107 | mov [cpuname+ 16],edx |
108 | mov [cpuname+ 20],ecx |
108 | mov [cpuname+ 20],ecx |
109 | mov [smallvendor],ecx |
109 | mov [smallvendor],ecx |
110 | 110 | ||
111 | ; for various vendors we should later use different methods |
111 | ; for various vendors we should later use different methods |
112 | 112 | ||
113 | ;Decoding cache L1 and L2 for Intel |
113 | ;Decoding cache L1 and L2 for Intel |
114 | 114 | ||
115 | cmp ecx, 'ntel' |
115 | cmp ecx, 'ntel' |
116 | jne cpu1 ;is not Intel |
116 | jne cpu1 ;is not Intel |
117 | 117 | ||
118 | ;Starting L1, L2, L3 caches detection (Intel made it VERY HARD) |
118 | ;Starting L1, L2, L3 caches detection (Intel made it VERY HARD) |
119 | 119 | ||
120 | mov eax, 2 |
120 | mov eax, 2 |
121 | cpuid |
121 | cpuid |
122 | 122 | ||
123 | mov [che], al ; number of calls |
123 | mov [che], al ; number of calls |
124 | multik: |
124 | multik: |
125 | 125 | ||
126 | .eaxl: |
126 | .eaxl: |
127 | test eax, eax ; Test bit 31 |
127 | test eax, eax ; Test bit 31 |
128 | js .ebxl ; <> 0 =>invalid values |
128 | js .ebxl ; <> 0 =>invalid values |
129 | call decodecache24 |
129 | call decodecache24 |
130 | .ebxl: |
130 | .ebxl: |
131 | test ebx, ebx |
131 | test ebx, ebx |
132 | js .ecxl |
132 | js .ecxl |
133 | mov eax, ebx |
133 | mov eax, ebx |
134 | call decodecache32 |
134 | call decodecache32 |
135 | .ecxl: |
135 | .ecxl: |
136 | test ecx, ecx |
136 | test ecx, ecx |
137 | js .edxl |
137 | js .edxl |
138 | mov eax, ecx |
138 | mov eax, ecx |
139 | call decodecache32 |
139 | call decodecache32 |
140 | .edxl: |
140 | .edxl: |
141 | test edx, edx |
141 | test edx, edx |
142 | js cpu1 |
142 | js cpu1 |
143 | mov eax, edx |
143 | mov eax, edx |
144 | call decodecache32 |
144 | call decodecache32 |
145 | 145 | ||
146 | dec [che] ; we made all calls |
146 | dec [che] ; we made all calls |
147 | je cpu1 |
147 | je cpu1 |
148 | 148 | ||
149 | multi: ; not yet |
149 | multi: ; not yet |
150 | 150 | ||
151 | mov eax, 2 ; so we made call again |
151 | mov eax, 2 ; so we made call again |
152 | cpuid |
152 | cpuid |
153 | 153 | ||
154 | jmp multik |
154 | jmp multik |
155 | 155 | ||
156 | ; FAMILY MODEL STEPPING |
156 | ; FAMILY MODEL STEPPING |
157 | cpu1: |
157 | cpu1: |
158 | xor eax, eax |
158 | xor eax, eax |
159 | inc eax ; eax=1 |
159 | inc eax ; eax=1 |
160 | cpuid |
160 | cpuid |
161 | 161 | ||
162 | mov ecx, eax |
162 | mov ecx, eax |
163 | shr ecx,8 ; shift it to the correct position |
163 | shr ecx,8 ; shift it to the correct position |
164 | and ecx,0000000Fh ; get CPU family |
164 | and ecx,0000000Fh ; get CPU family |
165 | mov dword[f],ecx |
165 | mov dword[f],ecx |
166 | 166 | ||
167 | mov ecx, eax |
167 | mov ecx, eax |
168 | shr ecx,4 |
168 | shr ecx,4 |
169 | and ecx,0000000Fh ; get CPU model |
169 | and ecx,0000000Fh ; get CPU model |
170 | mov dword[m],ecx |
170 | mov dword[m],ecx |
171 | 171 | ||
172 | mov ecx, eax |
172 | mov ecx, eax |
173 | and ecx,0000000Fh ; get CPU stepping |
173 | and ecx,0000000Fh ; get CPU stepping |
174 | mov dword[s],ecx |
174 | mov dword[s],ecx |
175 | 175 | ||
176 | ;- |
176 | ;- |
177 | mov ecx, eax ; get Type |
177 | mov ecx, eax ; get Type |
178 | shl ecx, 18 |
178 | shl ecx, 18 |
179 | shr ecx,30 |
179 | shr ecx,30 |
180 | ;and ecx, 0000000Fh ; only two lower bits can be nonzero |
180 | ;and ecx, 0000000Fh ; only two lower bits can be nonzero |
181 | mov dword[t], ecx |
181 | mov dword[t], ecx |
182 | ;======================================================= |
182 | ;======================================================= |
183 | 183 | ||
184 | cmp dword[smallvendor], 'cAMD' |
184 | cmp dword[smallvendor], 'cAMD' |
185 | jz maybe_athlon |
185 | jz maybe_athlon |
186 | cmp dword[smallvendor], 'ntel' |
186 | cmp dword[smallvendor], 'ntel' |
187 | jnz no_full ; if not AMD or Intel |
187 | jnz no_full ; if not AMD or Intel |
188 | 188 | ||
189 | ;detect_it: |
189 | ;detect_it: |
190 | ;cmp [f], 0Fh |
190 | ;cmp [f], 0Fh |
191 | ;jne no_full fixed calculation of extended model for Intel |
191 | ;jne no_full fixed calculation of extended model for Intel |
192 | 192 | ||
193 | full: |
193 | full: |
194 | 194 | ||
195 | mov ecx, eax ; get Extended model |
195 | mov ecx, eax ; get Extended model |
196 | shr ecx,16 ;shift it to the correct position |
196 | shr ecx,16 ;shift it to the correct position |
197 | and ecx, 0000000Fh |
197 | and ecx, 0000000Fh |
198 | shl ecx, 4 |
198 | shl ecx, 4 |
199 | mov dword[newpc],ecx ; this value for old pc=0 and for new pc>0 |
199 | mov dword[newpc],ecx ; this value for old pc=0 and for new pc>0 |
200 | add ecx, [m] |
200 | add ecx, [m] |
201 | mov dword[em],ecx ; effective model |
201 | mov dword[em],ecx ; effective model |
202 | 202 | ||
203 | mov ecx, eax ; get Extended family |
203 | mov ecx, eax ; get Extended family |
204 | shr ecx, 20 ;shift it to the correct position |
204 | shr ecx, 20 ;shift it to the correct position |
205 | and ecx, 000000FFh |
205 | and ecx, 000000FFh |
206 | add ecx, [f] |
206 | add ecx, [f] |
207 | mov dword[ef],ecx ; effective family |
207 | mov dword[ef],ecx ; effective family |
208 | 208 | ||
209 | 209 | ||
210 | jmp fut |
210 | jmp fut |
211 | 211 | ||
212 | no_full: |
212 | no_full: |
213 | 213 | ||
214 | mov ecx, [m] |
214 | mov ecx, [m] |
215 | mov [em], ecx |
215 | mov [em], ecx |
216 | 216 | ||
217 | mov ecx, [f] |
217 | mov ecx, [f] |
218 | mov [ef], ecx |
218 | mov [ef], ecx |
219 | 219 | ||
220 | jmp fut |
220 | jmp fut |
221 | 221 | ||
222 | maybe_athlon: |
222 | maybe_athlon: |
223 | mov eax, 0x80000001 ; CPUID ext. function 0x80000001 |
223 | mov eax, 0x80000001 ; CPUID ext. function 0x80000001 |
224 | cpuid |
224 | cpuid |
225 | mov ecx, eax |
225 | mov ecx, eax |
226 | shr ecx,8 ; shift it to the correct position |
226 | shr ecx,8 ; shift it to the correct position |
227 | and ecx,0000000Fh ; get CPU family |
227 | and ecx,0000000Fh ; get CPU family |
228 | mov dword[ef],ecx |
228 | mov dword[ef],ecx |
229 | 229 | ||
230 | mov ecx, eax |
230 | mov ecx, eax |
231 | shr ecx,4 |
231 | shr ecx,4 |
232 | and ecx,0000000Fh ; get CPU model |
232 | and ecx,0000000Fh ; get CPU model |
233 | mov dword[em],ecx |
233 | mov dword[em],ecx |
234 | 234 | ||
235 | fut: |
235 | fut: |
236 | 236 | ||
237 | call decode_sse3_5 |
237 | call decode_sse3_5 |
238 | 238 | ||
239 | 239 | ||
240 | 240 | ||
241 | ;call decode_sse3_5 |
241 | ;call decode_sse3_5 |
242 | ;- |
242 | ;- |
243 | call decode_extended |
243 | call decode_extended |
244 | 244 | ||
245 | mov eax,$80000000 |
245 | mov eax,$80000000 |
246 | cpuid |
246 | cpuid |
247 | 247 | ||
248 | mov [extc], eax ; max number of calls |
248 | mov [extc], eax ; max number of calls |
249 | 249 | ||
250 | test eax, $80000000 ;// Test bit 31 |
250 | test eax, $80000000 ;// Test bit 31 |
251 | jz .noname |
251 | jz .noname |
252 | 252 | ||
253 | cmp eax,$80000003 |
253 | cmp eax,$80000003 |
254 | ja .mynameis |
254 | ja .mynameis |
255 | jmp .noname |
255 | jmp .noname |
256 | 256 | ||
257 | .mynameis: |
257 | .mynameis: |
258 | mov eax,$80000002 |
258 | mov eax,$80000002 |
259 | cpuid |
259 | cpuid |
260 | mov [myname],eax |
260 | mov [myname],eax |
261 | mov [myname+4],ebx |
261 | mov [myname+4],ebx |
262 | mov [myname+8],ecx |
262 | mov [myname+8],ecx |
263 | mov [myname+12],edx |
263 | mov [myname+12],edx |
264 | mov eax,$80000003 |
264 | mov eax,$80000003 |
265 | cpuid |
265 | cpuid |
266 | mov [myname+16],eax |
266 | mov [myname+16],eax |
267 | mov [myname+20],ebx |
267 | mov [myname+20],ebx |
268 | mov [myname+24],ecx |
268 | mov [myname+24],ecx |
269 | mov [myname+28],edx |
269 | mov [myname+28],edx |
270 | mov eax,$80000004 |
270 | mov eax,$80000004 |
271 | cpuid |
271 | cpuid |
272 | mov [myname+32],eax |
272 | mov [myname+32],eax |
273 | mov [myname+36],ebx |
273 | mov [myname+36],ebx |
274 | mov [myname+40],ecx |
274 | mov [myname+40],ecx |
275 | mov [myname+44],edx |
275 | mov [myname+44],edx |
276 | jmp red |
276 | jmp red |
277 | 277 | ||
278 | .noname: |
278 | .noname: |
279 | 279 | ||
280 | red: |
280 | red: |
281 | 281 | ||
282 | ;mov byte [multiplier], 115; ; for testing |
282 | ;mov byte [multiplier], 115; ; for testing |
283 | 283 | ||
284 | call decode_sse3 |
284 | call decode_sse3 |
285 | 285 | ||
286 | call multipl ; get multiplier |
286 | call multipl ; get multiplier |
287 | mov byte [multiplier], cl |
287 | mov byte [multiplier], cl |
288 | 288 | ||
289 | mov dword [freqbb], 0 |
289 | mov dword [freqbb], 0 |
290 | mov dword [freqll], 0 |
290 | mov dword [freqll], 0 |
291 | 291 | ||
292 | mov ebx, dword [multiplier] |
292 | mov ebx, dword [multiplier] |
293 | test ebx, ebx |
293 | test ebx, ebx |
294 | jz output |
294 | jz output |
295 | 295 | ||
296 | calc: |
296 | calc: |
297 | 297 | ||
298 | mov eax,dword [ost] ; example 166474 |
298 | mov eax,dword [ost] ; example 166474 |
299 | imul eax, 10 ; example 1664740 |
299 | imul eax, 10 ; example 1664740 |
300 | xor edx,edx |
300 | xor edx,edx |
301 | div ebx ; get system clock (if multiplier detected) |
301 | div ebx ; get system clock (if multiplier detected) |
302 | 302 | ||
303 | xor edx, edx ; example eax=16647 |
303 | xor edx, edx ; example eax=16647 |
304 | mov ebx, 100 |
304 | mov ebx, 100 |
305 | div ebx |
305 | div ebx |
306 | mov dword [freqbb], eax ; example 166 |
306 | mov dword [freqbb], eax ; example 166 |
307 | mov dword [freqll], edx ; example 47 |
307 | mov dword [freqll], edx ; example 47 |
308 | 308 | ||
309 | xor edx, edx |
309 | xor edx, edx |
310 | mov eax,dword[multiplier] ; example 115 |
310 | mov eax,dword[multiplier] ; example 115 |
311 | mov ebx,10 |
311 | mov ebx,10 |
312 | div ebx |
312 | div ebx |
313 | mov dword[multb], eax ; example 11 |
313 | mov dword[multb], eax ; example 11 |
314 | mov dword[multa], edx ; example 5 |
314 | mov dword[multa], edx ; example 5 |
315 | 315 | ||
316 | output: |
316 | output: |
317 | 317 | ||
318 | call draw_window ; Draw window |
318 | call draw_window ; Draw window |
319 | 319 | ||
320 | ;HRERE |
320 | ;HRERE |
321 | 321 | ||
322 | PROCCORE: ; Who are you? |
322 | PROCCORE: ; Who are you? |
323 | ; Intel - "GenuineIntel" + |
323 | ; Intel - "GenuineIntel" + |
324 | ; AMD - "AuthenticAMD" + |
324 | ; AMD - "AuthenticAMD" + |
325 | ; Cyrix - "CyrixInstead" + |
325 | ; Cyrix - "CyrixInstead" + |
326 | ; UMC - "UMC UMC UMC " |
326 | ; UMC - "UMC UMC UMC " |
327 | ; NexGen - "NexGenDriven" |
327 | ; NexGen - "NexGenDriven" |
328 | ; Centaur - "CentaurHauls" + |
328 | ; Centaur - "CentaurHauls" + |
329 | ; Rise Technology - "RiseRiseRise" |
329 | ; Rise Technology - "RiseRiseRise" |
330 | ; SiS - "SiS SiS SiS " |
330 | ; SiS - "SiS SiS SiS " |
331 | ; Transmeta - "GenuineTMx86" + |
331 | ; Transmeta - "GenuineTMx86" + |
332 | ; National Semiconductor - "Geode by NSC" |
332 | ; National Semiconductor - "Geode by NSC" |
333 | ; Vortex - "Vortex86 SoC" + initial support |
333 | ; Vortex - "Vortex86 SoC" + initial support |
334 | cmp dword[smallvendor], 'ntel' ;1 |
334 | cmp dword[smallvendor], 'ntel' ;1 |
335 | jz Intel |
335 | jz Intel |
336 | cmp dword[smallvendor], 'cAMD' ;2 |
336 | cmp dword[smallvendor], 'cAMD' ;2 |
337 | jz AMD |
337 | jz AMD |
338 | cmp dword[smallvendor], 'tead' ;3 |
338 | cmp dword[smallvendor], 'tead' ;3 |
339 | jz Cyrix |
339 | jz Cyrix |
340 | cmp dword[smallvendor], 'auls' ;4 |
340 | cmp dword[smallvendor], 'auls' ;4 |
341 | jz Centaur |
341 | jz Centaur |
342 | cmp dword[smallvendor], 'Mx86' ;5 |
342 | cmp dword[smallvendor], 'Mx86' ;5 |
343 | jz Transmeta |
343 | jz Transmeta |
344 | cmp dword[smallvendor], ' SoC' ;6 |
344 | cmp dword[smallvendor], ' SoC' ;6 |
345 | jz Vortex |
345 | jz Vortex |
346 | 346 | ||
347 | ; cmp ecx, 'UMC ' |
347 | ; cmp ecx, 'UMC ' |
348 | ; jz .UMC |
348 | ; jz .UMC |
349 | ; cmp ecx, 'iven' |
349 | ; cmp ecx, 'iven' |
350 | ; jz .NexGen |
350 | ; jz .NexGen |
351 | ; cmp ecx, 'Rise' |
351 | ; cmp ecx, 'Rise' |
352 | ; jz .Rise |
352 | ; jz .Rise |
353 | ; cmp ecx, 'SiS ' |
353 | ; cmp ecx, 'SiS ' |
354 | ; jz .SiS |
354 | ; jz .SiS |
355 | ; cmp ecx, ' NSC' |
355 | ; cmp ecx, ' NSC' |
356 | ; jz .NSC |
356 | ; jz .NSC |
357 | ; jmp Other ; I don't know what to do with you... |
357 | ; jmp Other ; I don't know what to do with you... |
358 | Other: |
358 | Other: |
359 | Text 75,70,0x00000000,other, otherlen-other |
359 | Text 75,70,0x00000000,other, otherlen-other |
360 | 360 | ||
361 | mov esi, other |
361 | mov esi, other |
362 | mov edi, [saveproc] |
362 | mov edi, [saveproc] |
363 | call concatname |
363 | call concatname |
364 | 364 | ||
365 | jmp MMXtest |
365 | jmp MMXtest |
366 | ;------------------------- |
366 | ;------------------------- |
367 | 367 | ||
368 | AMD: |
368 | AMD: |
369 | 369 | ||
370 | ;------------------------------------------------------------------------------- |
370 | ;------------------------------------------------------------------------------- |
371 | 371 | ||
372 | Text 15, 190,0x00000000,cache, cachelen-cache |
372 | Text 15, 190,0x00000000,cache, cachelen-cache |
373 | 373 | ||
374 | Text 75,70,,AMDn, AMDnlen-AMDn |
374 | Text 75,70,,AMDn, AMDnlen-AMDn |
375 | mov esi, AMDnNew |
375 | mov esi, AMDnNew |
376 | mov edi, saveproc |
376 | mov edi, saveproc |
377 | call concatname |
377 | call concatname |
378 | mov esi, amd |
378 | mov esi, amd |
379 | call load_gif |
379 | call load_gif |
380 | PutImage 135,107,201,49,img_area+8 |
380 | PutImage 135,107,201,49,img_area+8 |
381 | MOV [codeN], 2 |
381 | MOV [codeN], 2 |
382 | ; place size |
382 | ; place size |
383 | 383 | ||
384 | ; Relax, man. AMD made PRETTY SIMPLE cache detection routine |
384 | ; Relax, man. AMD made PRETTY SIMPLE cache detection routine |
385 | ;CACHE1: |
385 | ;CACHE1: |
386 | mov eax, 80000005h |
386 | mov eax, 80000005h |
387 | cpuid |
387 | cpuid |
388 | 388 | ||
389 | movzx eax, cl |
389 | movzx eax, cl |
390 | mov [lineld], eax |
390 | mov [lineld], eax |
391 | 391 | ||
392 | mov eax, ecx |
392 | mov eax, ecx |
393 | ;shl eax, 8 |
393 | ;shl eax, 8 |
394 | ;shr eax, 24 |
394 | ;shr eax, 24 |
395 | 395 | ||
396 | and eax,00FF0000h |
396 | and eax,00FF0000h |
397 | shr eax, 16 |
397 | shr eax, 16 |
398 | mov [wayld], eax |
398 | mov [wayld], eax |
399 | 399 | ||
400 | shr ecx, 24 |
400 | shr ecx, 24 |
401 | mov [L1d], ecx |
401 | mov [L1d], ecx |
402 | 402 | ||
403 | 403 | ||
404 | movzx eax, dl |
404 | movzx eax, dl |
405 | mov [lineli], eax |
405 | mov [lineli], eax |
406 | 406 | ||
407 | mov eax, edx |
407 | mov eax, edx |
408 | ;shl eax, 8 |
408 | ;shl eax, 8 |
409 | ;shr eax, 24 |
409 | ;shr eax, 24 |
410 | 410 | ||
411 | and eax,00FF0000h |
411 | and eax,00FF0000h |
412 | shr eax, 16 |
412 | shr eax, 16 |
413 | mov [wayli], eax |
413 | mov [wayli], eax |
414 | 414 | ||
415 | 415 | ||
416 | shr edx, 24 |
416 | shr edx, 24 |
417 | mov [L1i], edx |
417 | mov [L1i], edx |
418 | 418 | ||
419 | 419 | ||
420 | ;CACHE2: |
420 | ;CACHE2: |
421 | mov eax, 80000006h |
421 | mov eax, 80000006h |
422 | cpuid |
422 | cpuid |
423 | 423 | ||
424 | movzx eax, cl |
424 | movzx eax, cl |
425 | mov dword[linel2], eax |
425 | mov dword[linel2], eax |
426 | 426 | ||
427 | push ecx |
427 | push ecx |
428 | shr ecx, 12+1 |
428 | shr ecx, 12+1 |
429 | and ecx, 0x7 |
429 | and ecx, 0x7 |
430 | mov eax, 1 |
430 | mov eax, 1 |
431 | shl eax, cl |
431 | shl eax, cl |
432 | mov dword [wayl2], eax |
432 | mov dword [wayl2], eax |
433 | pop ecx |
433 | pop ecx |
434 | 434 | ||
435 | shr ecx, 16 |
435 | shr ecx, 16 |
436 | mov [L2],ecx |
436 | mov [L2],ecx |
437 | 437 | ||
438 | ;CACHE3: edx provides l3 |
438 | ;CACHE3: edx provides l3 |
439 | 439 | ||
440 | mov eax, 80000006h |
440 | mov eax, 80000006h |
441 | cpuid |
441 | cpuid |
442 | 442 | ||
443 | movzx eax, cl ;mov cl to eax, zero extend; cl is counter reg for loop,shifts |
443 | movzx eax, cl ;mov cl to eax, zero extend; cl is counter reg for loop,shifts |
444 | mov dword[linel3], eax |
444 | mov dword[linel3], eax |
445 | 445 | ||
446 | push edx |
446 | push edx |
447 | shr edx, 12+1 |
447 | shr edx, 12+1 |
448 | and edx, 0x7 |
448 | and edx, 0x7 |
449 | mov eax, 1 |
449 | mov eax, 1 |
450 | shl eax, cl |
450 | shl eax, cl |
451 | mov dword [wayl3], eax |
451 | mov dword [wayl3], eax |
452 | pop edx |
452 | pop edx |
453 | 453 | ||
454 | shr edx, 18 |
454 | shr edx, 18 |
455 | mov [L3],ecx |
455 | mov [L3],ecx |
456 | 456 | ||
457 | cmp [f], $5 |
457 | cmp [f], $5 |
458 | jz .fiv |
458 | jz .fiv |
459 | cmp [f], $6 |
459 | cmp [f], $6 |
460 | jz .si |
460 | jz .si |
461 | cmp [f], $F |
461 | cmp [f], $F |
462 | jz fif |
462 | jz fif |
463 | cmp [f], $10 ;family 16, 010h, |
463 | cmp [f], $10 ;family 16, 010h, |
464 | jz ten |
464 | jz ten |
465 | 465 | ||
466 | 466 | ||
467 | .fiv: ; Family=5 |
467 | .fiv: ; Family=5 |
468 | mov [micron], 50 |
468 | mov [micron], 50 |
469 | mov edx, A50 |
469 | mov edx, A50 |
470 | cmp [m], $0 |
470 | cmp [m], $0 |
471 | jz @f |
471 | jz @f |
472 | mov [micron], 35 |
472 | mov [micron], 35 |
473 | mov edx, A51 |
473 | mov edx, A51 |
474 | cmp [m], $1 |
474 | cmp [m], $1 |
475 | jz @f |
475 | jz @f |
476 | mov edx, A52 |
476 | mov edx, A52 |
477 | cmp [m], $2 |
477 | cmp [m], $2 |
478 | jz @f |
478 | jz @f |
479 | mov edx, A53 |
479 | mov edx, A53 |
480 | cmp [m], $3 |
480 | cmp [m], $3 |
481 | jz @f |
481 | jz @f |
482 | mov [micron], 30 |
482 | mov [micron], 30 |
483 | mov edx, A56 |
483 | mov edx, A56 |
484 | cmp [m], $6 |
484 | cmp [m], $6 |
485 | jz @f |
485 | jz @f |
486 | mov [micron], 25 |
486 | mov [micron], 25 |
487 | mov edx, A57 |
487 | mov edx, A57 |
488 | cmp [m], $7 |
488 | cmp [m], $7 |
489 | jz @f |
489 | jz @f |
490 | mov edx, A58 |
490 | mov edx, A58 |
491 | cmp [m], $8 |
491 | cmp [m], $8 |
492 | jz @f |
492 | jz @f |
493 | mov edx, A59 |
493 | mov edx, A59 |
494 | cmp [m], $9 |
494 | cmp [m], $9 |
495 | jz @f |
495 | jz @f |
496 | mov [micron], 18 |
496 | mov [micron], 18 |
497 | mov edx, A5D |
497 | mov edx, A5D |
498 | @@: |
498 | @@: |
499 | jmp @f |
499 | jmp @f |
500 | 500 | ||
501 | .si: ; Family=6 |
501 | .si: ; Family=6 |
502 | mov [micron], 25 |
502 | mov [micron], 25 |
503 | mov edx, At1 |
503 | mov edx, At1 |
504 | cmp [m], $1 |
504 | cmp [m], $1 |
505 | jz @f |
505 | jz @f |
506 | mov [micron], 18 |
506 | mov [micron], 18 |
507 | mov edx, At2 |
507 | mov edx, At2 |
508 | cmp [m], $2 |
508 | cmp [m], $2 |
509 | jz @f |
509 | jz @f |
510 | mov edx, At3 |
510 | mov edx, At3 |
511 | cmp [m], $3 |
511 | cmp [m], $3 |
512 | jz @f |
512 | jz @f |
513 | mov edx, At4 |
513 | mov edx, At4 |
514 | cmp [m], $4 |
514 | cmp [m], $4 |
515 | jz @f |
515 | jz @f |
516 | cmp [m], $6 |
516 | cmp [m], $6 |
517 | jz A6 |
517 | jz A6 |
518 | mov [micron], 13 |
518 | mov [micron], 13 |
519 | mov edx, At7 |
519 | mov edx, At7 |
520 | cmp [m], $7 |
520 | cmp [m], $7 |
521 | jz @f |
521 | jz @f |
522 | cmp [m], $8 |
522 | cmp [m], $8 |
523 | jz A8 |
523 | jz A8 |
524 | jmp AA |
524 | jmp AA |
525 | @@: |
525 | @@: |
526 | mov [cname], edx |
526 | mov [cname], edx |
527 | jmp MMXtest |
527 | jmp MMXtest |
528 | A6: |
528 | A6: |
529 | ;mov [FRS], 266 ;!!!!!! |
529 | ;mov [FRS], 266 ;!!!!!! |
530 | ;Number 315,90,0,3,dword [FRS],0x000000; MHz |
530 | ;Number 315,90,0,3,dword [FRS],0x000000; MHz |
531 | 531 | ||
532 | call newrating; !!!! |
532 | call newrating; !!!! |
533 | 533 | ||
534 | Text 245,70,0x00000000,pr, prlen-pr |
534 | Text 245,70,0x00000000,pr, prlen-pr |
535 | Number 310,70,0,4,dword [rating],0x000000 |
535 | Number 310,70,0,4,dword [rating],0x000000 |
536 | mov edx, At6 |
536 | mov edx, At6 |
537 | jmp @b |
537 | jmp @b |
538 | 538 | ||
539 | A8: |
539 | A8: |
540 | 540 | ||
541 | ;mov [FRS], 266 ;!!!!!! |
541 | ;mov [FRS], 266 ;!!!!!! |
542 | ;Number 315,90,0,3,dword [FRS],0x000000; MHz |
542 | ;Number 315,90,0,3,dword [FRS],0x000000; MHz |
543 | 543 | ||
544 | cmp [L2], 256 |
544 | cmp [L2], 256 |
545 | jl .App ; Applebred |
545 | jl .App ; Applebred |
546 | 546 | ||
547 | call newrating;!!!! |
547 | call newrating;!!!! |
548 | 548 | ||
549 | Text 245,70,0x00000000,pr, prlen-pr |
549 | Text 245,70,0x00000000,pr, prlen-pr |
550 | Number 310,70,0,4,dword [rating],0x000000 |
550 | Number 310,70,0,4,dword [rating],0x000000 |
551 | mov edx, At8 |
551 | mov edx, At8 |
552 | jmp @b |
552 | jmp @b |
553 | 553 | ||
554 | .App: |
554 | .App: |
555 | mov edx, At8a |
555 | mov edx, At8a |
556 | jmp @b |
556 | jmp @b |
557 | 557 | ||
558 | AA: |
558 | AA: |
559 | 559 | ||
560 | ; mov [FRS], 333; !!!! |
560 | ; mov [FRS], 333; !!!! |
561 | Text 245,70,0x00000000,pr, prlen-pr |
561 | Text 245,70,0x00000000,pr, prlen-pr |
562 | 562 | ||
563 | ; Number 315,90,0,3,dword [FRS],0x000000; MHz |
563 | ; Number 315,90,0,3,dword [FRS],0x000000; MHz |
564 | 564 | ||
565 | mov edx, Atat |
565 | mov edx, Atat |
566 | cmp [L2], 256 |
566 | cmp [L2], 256 |
567 | jl .Tho ; Thorton |
567 | jl .Tho ; Thorton |
568 | mov edx, Ata |
568 | mov edx, Ata |
569 | .Tho: |
569 | .Tho: |
570 | push edx |
570 | push edx |
571 | 571 | ||
572 | call newrating;!!!!! |
572 | call newrating;!!!!! |
573 | 573 | ||
574 | Number 310,70,0,4,dword [rating],0x000000 |
574 | Number 310,70,0,4,dword [rating],0x000000 |
575 | pop edx |
575 | pop edx |
576 | jmp @b |
576 | jmp @b |
577 | 577 | ||
578 | fif: ; AMD-64 Family=15 |
578 | fif: ; AMD-64 Family=15 |
579 | 579 | ||
580 | ;here is a need to rewrite detection of AMD F-th family according to "Revision Guide for |
580 | ;here is a need to rewrite detection of AMD F-th family according to "Revision Guide for |
581 | ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf |
581 | ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf |
582 | 582 | ||
583 | 583 | ||
584 | cmp [m],$1 ;Dual-core Opteron |
584 | cmp [m],$1 ;Dual-core Opteron |
585 | jz AF1. |
585 | jz AF1. |
586 | cmp [m],$3 ;Toledo 1024 0.09 |
586 | cmp [m],$3 ;Toledo 1024 0.09 |
587 | jz AF3. |
587 | jz AF3. |
588 | cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
588 | cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
589 | jz AF4. |
589 | jz AF4. |
590 | cmp [m],$5 ;Opteron Athlon 64 FX 0.13 (1024) |
590 | cmp [m],$5 ;Opteron Athlon 64 FX 0.13 (1024) |
591 | jz AF5. |
591 | jz AF5. |
592 | cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024) |
592 | cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024) |
593 | jz AF7. |
593 | jz AF7. |
594 | cmp [m],$8 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
594 | cmp [m],$8 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
595 | jz AF8. |
595 | jz AF8. |
596 | cmp [m],$B ;Athlon 64 |
596 | cmp [m],$B ;Athlon 64 |
597 | jz AFB. |
597 | jz AFB. |
598 | cmp [m],$C ;Athlon 64 Newcastle(512) 0.13 Sempron> Paris (256) 0.13 |SSE3+ Sempron > Palermo FC0 0.09 // (Venice) |
598 | cmp [m],$C ;Athlon 64 Newcastle(512) 0.13 Sempron> Paris (256) 0.13 |SSE3+ Sempron > Palermo FC0 0.09 // (Venice) |
599 | jz AFC. |
599 | jz AFC. |
600 | cmp [m],$E ;Athlon 64 |
600 | cmp [m],$E ;Athlon 64 |
601 | jz AFE. |
601 | jz AFE. |
602 | cmp [m],$F ;Athlon 64 Winchester(512) |SSE3+ SanDiego(1024) Venice (512) Palermo (256) 0.09 |
602 | cmp [m],$F ;Athlon 64 Winchester(512) |SSE3+ SanDiego(1024) Venice (512) Palermo (256) 0.09 |
603 | jz AFF. |
603 | jz AFF. |
604 | jmp next_generation |
604 | jmp next_generation |
605 | 605 | ||
606 | ten: ;family = 10h |
606 | ten: ;family = 10h |
607 | 607 | ||
608 | cmp [m],$2 |
608 | cmp [m],$2 |
609 | jz AB23. |
609 | jz AB23. |
610 | cmp [m], $8 |
610 | cmp [m], $8 |
611 | jz AB83. |
611 | jz AB83. |
612 | cmp [m], $9 |
612 | cmp [m], $9 |
613 | jz AB9. |
613 | jz AB9. |
614 | cmp [m], $2 |
614 | cmp [m], $2 |
615 | jz AB8check2. |
615 | jz AB8check2. |
616 | 616 | ||
617 | AB8check2.: |
617 | AB8check2.: |
618 | cmp [s],03h |
618 | cmp [s],03h |
619 | jz AB8right2. |
619 | jz AB8right2. |
620 | cmp [m],$2 |
620 | cmp [m],$2 |
621 | jz athlonCheck |
621 | jz athlonCheck |
622 | 622 | ||
623 | athlonCheck: |
623 | athlonCheck: |
624 | cmp [s],03h |
624 | cmp [s],03h |
625 | jz athlonKuma |
625 | jz athlonKuma |
626 | 626 | ||
627 | cmp [m], $5 |
627 | cmp [m], $5 |
628 | jz AB4. |
628 | jz AB4. |
629 | cmp [m],$1 |
629 | cmp [m],$1 |
630 | jz AB1. |
630 | jz AB1. |
631 | cmp [m],$4 |
631 | cmp [m],$4 |
632 | jz AB8check. |
632 | jz AB8check. |
633 | 633 | ||
634 | AB8check.: |
634 | AB8check.: |
635 | cmp [s],02h |
635 | cmp [s],02h |
636 | jz ABC2. |
636 | jz ABC2. |
637 | cmp [s],01h |
637 | cmp [s],01h |
638 | jz ABC3. |
638 | jz ABC3. |
639 | cmp [m], $9 |
639 | cmp [m], $9 |
640 | jz AB6. |
640 | jz AB6. |
641 | cmp [m], $2 |
641 | cmp [m], $2 |
642 | jz AB8check. |
642 | jz AB8check. |
643 | cmp [m], 06h |
643 | cmp [m], 06h |
644 | jz ABM. |
644 | jz ABM. |
645 | 645 | ||
646 | athlonKuma: |
646 | athlonKuma: |
647 | mov [micron], 65 |
647 | mov [micron], 65 |
648 | Text 100,70,0x00000000,AthlonKuma, AthlonKumalen-AthlonKuma |
648 | Text 100,70,0x00000000,AthlonKuma, AthlonKumalen-AthlonKuma |
649 | mov esi, AthlonKuma |
649 | mov esi, AthlonKuma |
650 | mov edi, saveproc + 0x4 |
650 | mov edi, saveproc + 0x4 |
651 | call concatname |
651 | call concatname |
652 | jmp MMXtest |
652 | jmp MMXtest |
653 | 653 | ||
654 | AB23.: |
654 | AB23.: |
655 | mov [micron], 65 |
655 | mov [micron], 65 |
656 | Text 100,70,0x00000000,AB23, AB23len-AB23 |
656 | Text 100,70,0x00000000,AB23, AB23len-AB23 |
657 | mov esi, AB23 |
657 | mov esi, AB23 |
658 | mov edi, saveproc + 0x4 |
658 | mov edi, saveproc + 0x4 |
659 | call concatname |
659 | call concatname |
660 | jmp MMXtest |
660 | jmp MMXtest |
661 | 661 | ||
662 | AB83.: |
662 | AB83.: |
663 | mov [micron], 65 |
663 | mov [micron], 65 |
664 | Text 100,70,0x00000000,AB83, AB83len-AB83 |
664 | Text 100,70,0x00000000,AB83, AB83len-AB83 |
665 | mov esi, AB83 |
665 | mov esi, AB83 |
666 | mov edi, saveproc + 0x4 |
666 | mov edi, saveproc + 0x4 |
667 | call concatname |
667 | call concatname |
668 | jmp MMXtest |
668 | jmp MMXtest |
669 | 669 | ||
670 | AB9.: |
670 | AB9.: |
671 | mov [micron], 65 |
671 | mov [micron], 65 |
672 | Text 100,70,0x00000000,AB9, AB9len-AB9 |
672 | Text 100,70,0x00000000,AB9, AB9len-AB9 |
673 | mov esi, AB9 |
673 | mov esi, AB9 |
674 | mov edi, saveproc + 0x4 |
674 | mov edi, saveproc + 0x4 |
675 | call concatname |
675 | call concatname |
676 | jmp MMXtest |
676 | jmp MMXtest |
677 | 677 | ||
678 | AB8right2.: |
678 | AB8right2.: |
679 | mov [micron], 65 |
679 | mov [micron], 65 |
680 | Text 100,70,0x00000000,AB8right2, AB8right2len-AB8right2 |
680 | Text 100,70,0x00000000,AB8right2, AB8right2len-AB8right2 |
681 | mov esi, AB8right2 |
681 | mov esi, AB8right2 |
682 | mov edi, saveproc + 0x4 |
682 | mov edi, saveproc + 0x4 |
683 | call concatname |
683 | call concatname |
684 | jmp MMXtest |
684 | jmp MMXtest |
685 | 685 | ||
686 | AB4.: |
686 | AB4.: |
687 | mov [micron], 45 |
687 | mov [micron], 45 |
688 | Text 100,70,0x00000000,AB4, AB4len-AB4 |
688 | Text 100,70,0x00000000,AB4, AB4len-AB4 |
689 | mov esi, AB4 |
689 | mov esi, AB4 |
690 | mov edi, saveproc + 0x4 |
690 | mov edi, saveproc + 0x4 |
691 | call concatname |
691 | call concatname |
692 | jmp MMXtest |
692 | jmp MMXtest |
693 | 693 | ||
694 | AB1.: |
694 | AB1.: |
695 | mov [micron], 65 |
695 | mov [micron], 65 |
696 | Text 100,70,0x00000000,AB1, AB1len-AB1 |
696 | Text 100,70,0x00000000,AB1, AB1len-AB1 |
697 | mov esi, AB1 |
697 | mov esi, AB1 |
698 | mov edi, saveproc + 0x4 |
698 | mov edi, saveproc + 0x4 |
699 | call concatname |
699 | call concatname |
700 | jmp MMXtest |
700 | jmp MMXtest |
701 | 701 | ||
702 | ABC2.: |
702 | ABC2.: |
703 | mov [micron], 45 |
703 | mov [micron], 45 |
704 | Text 100,70,0x00000000,ABC2, ABC2len-ABC2 |
704 | Text 100,70,0x00000000,ABC2, ABC2len-ABC2 |
705 | mov esi, ABC2 |
705 | mov esi, ABC2 |
706 | mov edi, saveproc + 0x4 |
706 | mov edi, saveproc + 0x4 |
707 | call concatname |
707 | call concatname |
708 | jmp MMXtest |
708 | jmp MMXtest |
709 | 709 | ||
710 | AB6.: |
710 | AB6.: |
711 | mov [micron], 45 |
711 | mov [micron], 45 |
712 | Text 100,70,0x00000000,AB6, AB6len-AB6 |
712 | Text 100,70,0x00000000,AB6, AB6len-AB6 |
713 | mov esi, AB6 |
713 | mov esi, AB6 |
714 | mov edi, saveproc + 0x4 |
714 | mov edi, saveproc + 0x4 |
715 | call concatname |
715 | call concatname |
716 | jmp MMXtest |
716 | jmp MMXtest |
717 | 717 | ||
718 | ABC3.: |
718 | ABC3.: |
719 | mov [micron], 45 |
719 | mov [micron], 45 |
720 | Text 100,70,0x00000000,ABC3, ABC3len-ABC3 |
720 | Text 100,70,0x00000000,ABC3, ABC3len-ABC3 |
721 | mov esi, ABC3 |
721 | mov esi, ABC3 |
722 | mov edi, saveproc + 0x4 |
722 | mov edi, saveproc + 0x4 |
723 | call concatname |
723 | call concatname |
724 | jmp MMXtest |
724 | jmp MMXtest |
725 | 725 | ||
726 | ABM.: |
726 | ABM.: |
727 | mov [micron], 45 |
727 | mov [micron], 45 |
728 | Text 100,70,0x00000000,ABM2, ABM2len-ABM |
728 | Text 100,70,0x00000000,ABM2, ABM2len-ABM |
729 | mov esi, ABM2 |
729 | mov esi, ABM2 |
730 | mov edi, saveproc + 0x4 |
730 | mov edi, saveproc + 0x4 |
731 | call concatname |
731 | call concatname |
732 | jmp MMXtest |
732 | jmp MMXtest |
733 | 733 | ||
734 | AF1.: |
734 | AF1.: |
735 | mov [micron], 09 ;? |
735 | mov [micron], 09 ;? |
736 | Text 100,70,0x00000000,AF1, AF1len-AF1 |
736 | Text 100,70,0x00000000,AF1, AF1len-AF1 |
737 | mov esi, AF1 |
737 | mov esi, AF1 |
738 | mov edi, saveproc + 0x4 |
738 | mov edi, saveproc + 0x4 |
739 | call concatname |
739 | call concatname |
740 | jmp MMXtest |
740 | jmp MMXtest |
741 | AF3.: |
741 | AF3.: |
742 | mov [micron], 09 |
742 | mov [micron], 09 |
743 | Text 100,70,0x00000000,AF3, AF3len-AF3 |
743 | Text 100,70,0x00000000,AF3, AF3len-AF3 |
744 | mov esi, AF3 |
744 | mov esi, AF3 |
745 | mov edi, saveproc + 0x4 |
745 | mov edi, saveproc + 0x4 |
746 | call concatname |
746 | call concatname |
747 | jmp MMXtest |
747 | jmp MMXtest |
748 | AF4.: |
748 | AF4.: |
749 | mov [micron], 13 |
749 | mov [micron], 13 |
750 | Text 100,70,0x00000000,AF4, AF4len-AF4 |
750 | Text 100,70,0x00000000,AF4, AF4len-AF4 |
751 | mov esi, AF4 |
751 | mov esi, AF4 |
752 | mov edi, saveproc + 0x4 |
752 | mov edi, saveproc + 0x4 |
753 | call concatname |
753 | call concatname |
754 | jmp MMXtest |
754 | jmp MMXtest |
755 | AF5.: |
755 | AF5.: |
756 | mov [micron], 13 |
756 | mov [micron], 13 |
757 | Text 100,70,0x00000000,AF5, AF5len-AF5 |
757 | Text 100,70,0x00000000,AF5, AF5len-AF5 |
758 | jmp MMXtest |
758 | jmp MMXtest |
759 | 759 | ||
760 | AF7.: |
760 | AF7.: |
761 | mov [micron], 13 |
761 | mov [micron], 13 |
762 | Text 100,70,0x00000000,AF5, AF5len-AF5 |
762 | Text 100,70,0x00000000,AF5, AF5len-AF5 |
763 | mov esi, AF5 |
763 | mov esi, AF5 |
764 | mov edi, saveproc + 0x4 |
764 | mov edi, saveproc + 0x4 |
765 | call concatname |
765 | call concatname |
766 | jmp MMXtest |
766 | jmp MMXtest |
767 | 767 | ||
768 | AF8.: |
768 | AF8.: |
769 | mov [micron], 13 |
769 | mov [micron], 13 |
770 | Text 100,70,0x00000000,AF4, AF4len-AF4 |
770 | Text 100,70,0x00000000,AF4, AF4len-AF4 |
771 | mov esi, AF4 |
771 | mov esi, AF4 |
772 | mov edi, saveproc + 0x4 |
772 | mov edi, saveproc + 0x4 |
773 | call concatname |
773 | call concatname |
774 | jmp MMXtest |
774 | jmp MMXtest |
775 | 775 | ||
776 | AFB.: |
776 | AFB.: |
777 | mov [micron], 13 |
777 | mov [micron], 13 |
778 | Text 100,70,0x00000000,AF4, AF4len-AF4 |
778 | Text 100,70,0x00000000,AF4, AF4len-AF4 |
779 | mov esi, AF4 |
779 | mov esi, AF4 |
780 | mov edi, saveproc + 0x4 |
780 | mov edi, saveproc + 0x4 |
781 | call concatname |
781 | call concatname |
782 | jmp MMXtest |
782 | jmp MMXtest |
783 | 783 | ||
784 | AFC.: |
784 | AFC.: |
785 | cmp [L2], 512 |
785 | cmp [L2], 512 |
786 | je AFC.n |
786 | je AFC.n |
787 | 787 | ||
788 | cmp [sse3sup], 1 |
788 | cmp [sse3sup], 1 |
789 | je AFC.npal |
789 | je AFC.npal |
790 | 790 | ||
791 | AFC.npar: ; paris |
791 | AFC.npar: ; paris |
792 | mov [micron], 13 |
792 | mov [micron], 13 |
793 | Text 100,70,0x00000000,AFCs, AFCslen-AFCs |
793 | Text 100,70,0x00000000,AFCs, AFCslen-AFCs |
794 | mov esi, AFCs |
794 | mov esi, AFCs |
795 | mov edi, saveproc + 0x4 |
795 | mov edi, saveproc + 0x4 |
796 | call concatname |
796 | call concatname |
797 | jmp MMXtest |
797 | jmp MMXtest |
798 | 798 | ||
799 | AFC.npal: ; palermo |
799 | AFC.npal: ; palermo |
800 | mov [micron], 9 |
800 | mov [micron], 9 |
801 | Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp |
801 | Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp |
802 | mov esi, AFCsp |
802 | mov esi, AFCsp |
803 | mov edi, saveproc + 0x4 |
803 | mov edi, saveproc + 0x4 |
804 | call concatname |
804 | call concatname |
805 | jmp MMXtest |
805 | jmp MMXtest |
806 | 806 | ||
807 | AFC.n: ;newcastle |
807 | AFC.n: ;newcastle |
808 | mov [micron], 13 |
808 | mov [micron], 13 |
809 | Text 100,70,0x00000000,AFC, AFClen-AFC |
809 | Text 100,70,0x00000000,AFC, AFClen-AFC |
810 | mov esi, AFC |
810 | mov esi, AFC |
811 | mov edi, saveproc + 0x4 |
811 | mov edi, saveproc + 0x4 |
812 | call concatname |
812 | call concatname |
813 | jmp MMXtest |
813 | jmp MMXtest |
814 | 814 | ||
815 | AFE.: ; error in cpu |
815 | AFE.: ; error in cpu |
816 | jmp AFC. |
816 | jmp AFC. |
817 | 817 | ||
818 | AFF.: |
818 | AFF.: |
819 | 819 | ||
820 | cmp [sse3sup], 1 |
820 | cmp [sse3sup], 1 |
821 | je .AFFsse |
821 | je .AFFsse |
822 | 822 | ||
823 | .win: |
823 | .win: |
824 | mov [micron], 9 ; winchester |
824 | mov [micron], 9 ; winchester |
825 | jmp MMXtest |
825 | jmp MMXtest |
826 | 826 | ||
827 | .AFFsse: |
827 | .AFFsse: |
828 | mov [micron], 9 |
828 | mov [micron], 9 |
829 | cmp [L2], 1024 |
829 | cmp [L2], 1024 |
830 | jz .AFs |
830 | jz .AFs |
831 | cmp [L2], 512 |
831 | cmp [L2], 512 |
832 | jz .AFd |
832 | jz .AFd |
833 | cmp [L2], 256 |
833 | cmp [L2], 256 |
834 | jz .AFp |
834 | jz .AFp |
835 | 835 | ||
836 | .AFs: |
836 | .AFs: |
837 | Text 100,70,0x00000000,AFS, AFSlen-AFS |
837 | Text 100,70,0x00000000,AFS, AFSlen-AFS |
838 | mov esi, AFS |
838 | mov esi, AFS |
839 | mov edi, saveproc + 0x4 |
839 | mov edi, saveproc + 0x4 |
840 | call concatname |
840 | call concatname |
841 | jmp MMXtest |
841 | jmp MMXtest |
842 | 842 | ||
843 | .AFd: |
843 | .AFd: |
844 | Text 100,70,0x00000000,AFV, AFVlen-AFV |
844 | Text 100,70,0x00000000,AFV, AFVlen-AFV |
845 | mov esi, AFV |
845 | mov esi, AFV |
846 | mov edi, saveproc + 0x4 |
846 | mov edi, saveproc + 0x4 |
847 | call concatname |
847 | call concatname |
848 | jmp MMXtest |
848 | jmp MMXtest |
849 | 849 | ||
850 | .AFp: |
850 | .AFp: |
851 | Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp |
851 | Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp |
852 | mov esi, AFCsp |
852 | mov esi, AFCsp |
853 | mov edi, saveproc + 0x4 |
853 | mov edi, saveproc + 0x4 |
854 | call concatname |
854 | call concatname |
855 | jmp MMXtest |
855 | jmp MMXtest |
856 | ;----------------------------------------------- |
856 | ;----------------------------------------------- |
857 | Intel: |
857 | Intel: |
858 | mov [codeN], $1 |
858 | mov [codeN], $1 |
859 | Text 75,70,0x00000000,Inteln, Intelnlen-Inteln |
859 | Text 75,70,0x00000000,Inteln, Intelnlen-Inteln |
860 | mov esi, IntelnNew |
860 | mov esi, IntelnNew |
861 | mov edi, saveproc |
861 | mov edi, saveproc |
862 | call concatname |
862 | call concatname |
863 | mov esi, intel |
863 | mov esi, intel |
864 | call load_gif |
864 | call load_gif |
865 | PutImage 135,107,201,49,img_area+8 |
865 | PutImage 135,107,201,49,img_area+8 |
866 | 866 | ||
867 | det: |
867 | det: |
868 | cmp [f], $5 |
868 | cmp [f], $5 |
869 | jz five |
869 | jz five |
870 | cmp [f], $6 |
870 | cmp [f], $6 |
871 | jz six |
871 | jz six |
872 | cmp [f], $7 |
872 | cmp [f], $7 |
873 | jz sev |
873 | jz sev |
874 | cmp [f], $F |
874 | cmp [f], $F |
875 | jz fift |
875 | jz fift |
876 | five: ;Family=5 |
876 | five: ;Family=5 |
877 | 877 | ||
878 | Text 15, 190,0x00000000,cache, cachelen-cache |
878 | Text 15, 190,0x00000000,cache, cachelen-cache |
879 | 879 | ||
880 | cmp [m],$0 |
880 | cmp [m],$0 |
881 | jz .I0 |
881 | jz .I0 |
882 | cmp [m],$1 |
882 | cmp [m],$1 |
883 | jz .I1 |
883 | jz .I1 |
884 | cmp [m],$2 |
884 | cmp [m],$2 |
885 | jz .I2 |
885 | jz .I2 |
886 | cmp [m],$3 |
886 | cmp [m],$3 |
887 | jz .I3 |
887 | jz .I3 |
888 | cmp [m],$4 |
888 | cmp [m],$4 |
889 | jz .I4 |
889 | jz .I4 |
890 | cmp [m],$7 |
890 | cmp [m],$7 |
891 | jz .I7 |
891 | jz .I7 |
892 | cmp [m],$8 |
892 | cmp [m],$8 |
893 | jz .I8 |
893 | jz .I8 |
894 | .I0: |
894 | .I0: |
895 | mov [cname], P50 |
895 | mov [cname], P50 |
896 | mov esi, P50 |
896 | mov esi, P50 |
897 | mov edi, saveproc + 0x6 |
897 | mov edi, saveproc + 0x6 |
898 | call concatname |
898 | call concatname |
899 | mov [L1d], 8 |
899 | mov [L1d], 8 |
900 | mov [L1i], 8 |
900 | mov [L1i], 8 |
901 | mov [L2], 256 |
901 | mov [L2], 256 |
902 | mov [micron], 80 |
902 | mov [micron], 80 |
903 | jmp MMXtest |
903 | jmp MMXtest |
904 | .I1: |
904 | .I1: |
905 | mov [cname], P5 |
905 | mov [cname], P5 |
906 | mov esi, P5 |
906 | mov esi, P5 |
907 | mov edi, saveproc + 0x6 |
907 | mov edi, saveproc + 0x6 |
908 | call concatname |
908 | call concatname |
909 | mov [L1d], 8 |
909 | mov [L1d], 8 |
910 | mov [L1i], 8 |
910 | mov [L1i], 8 |
911 | mov [L2], 256 |
911 | mov [L2], 256 |
912 | mov [micron], 50 |
912 | mov [micron], 50 |
913 | jmp MMXtest |
913 | jmp MMXtest |
914 | 914 | ||
915 | .I2: |
915 | .I2: |
916 | mov [cname], P54C |
916 | mov [cname], P54C |
917 | mov esi, P54C |
917 | mov esi, P54C |
918 | mov edi, saveproc + 0x6 |
918 | mov edi, saveproc + 0x6 |
919 | call concatname |
919 | call concatname |
920 | mov [L1d], 8 |
920 | mov [L1d], 8 |
921 | mov [L1i], 8 |
921 | mov [L1i], 8 |
922 | mov [L2], 256 |
922 | mov [L2], 256 |
923 | mov [micron], 50 |
923 | mov [micron], 50 |
924 | jmp MMXtest |
924 | jmp MMXtest |
925 | 925 | ||
926 | .I3: |
926 | .I3: |
927 | mov [cname], P54T |
927 | mov [cname], P54T |
928 | mov esi, P54T |
928 | mov esi, P54T |
929 | mov edi, saveproc + 0x6 |
929 | mov edi, saveproc + 0x6 |
930 | call concatname |
930 | call concatname |
931 | mov [L1d], 8 |
931 | mov [L1d], 8 |
932 | mov [L1i], 8 |
932 | mov [L1i], 8 |
933 | mov [L2], 256 |
933 | mov [L2], 256 |
934 | mov [micron], 50 |
934 | mov [micron], 50 |
935 | jmp MMXtest |
935 | jmp MMXtest |
936 | 936 | ||
937 | .I4: |
937 | .I4: |
938 | mov [cname], P55C |
938 | mov [cname], P55C |
939 | mov esi, P55C |
939 | mov esi, P55C |
940 | mov edi, saveproc + 0x6 |
940 | mov edi, saveproc + 0x6 |
941 | call concatname |
941 | call concatname |
942 | mov [L1d], 8 |
942 | mov [L1d], 8 |
943 | mov [L1i], 8 |
943 | mov [L1i], 8 |
944 | mov [L2], 256 |
944 | mov [L2], 256 |
945 | mov [micron], 35 |
945 | mov [micron], 35 |
946 | jmp MMXtest |
946 | jmp MMXtest |
947 | 947 | ||
948 | 948 | ||
949 | .I7: |
949 | .I7: |
950 | mov [cname], P54C |
950 | mov [cname], P54C |
951 | mov esi, P54C |
951 | mov esi, P54C |
952 | mov edi, saveproc + 0x6 |
952 | mov edi, saveproc + 0x6 |
953 | call concatname |
953 | call concatname |
954 | mov [L1d], 8 |
954 | mov [L1d], 8 |
955 | mov [L1i], 8 |
955 | mov [L1i], 8 |
956 | mov [L2], 256 |
956 | mov [L2], 256 |
957 | mov [micron], 35 |
957 | mov [micron], 35 |
958 | jmp MMXtest |
958 | jmp MMXtest |
959 | 959 | ||
960 | .I8: |
960 | .I8: |
961 | mov [cname], P55C |
961 | mov [cname], P55C |
962 | mov esi, P55C |
962 | mov esi, P55C |
963 | mov edi, saveproc + 0x6 |
963 | mov edi, saveproc + 0x6 |
964 | call concatname |
964 | call concatname |
965 | mov [L1d], 16 |
965 | mov [L1d], 16 |
966 | mov [L1i], 16 |
966 | mov [L1i], 16 |
967 | mov [L2], 256 |
967 | mov [L2], 256 |
968 | mov [micron], 35 |
968 | mov [micron], 35 |
969 | jmp MMXtest |
969 | jmp MMXtest |
970 | 970 | ||
971 | six: ;Family=6 |
971 | six: ;Family=6 |
972 | 972 | ||
973 | Text 15, 190,0x00000000,cache, cachelen-cache |
973 | Text 15, 190,0x00000000,cache, cachelen-cache |
974 | cmp [newpc],$0 |
974 | cmp [newpc],$0 |
975 | jnz NEWintel |
975 | jnz NEWintel |
976 | 976 | ||
977 | cmp [m],$0 |
977 | cmp [m],$0 |
978 | jz .I60 |
978 | jz .I60 |
979 | cmp [m],$1 |
979 | cmp [m],$1 |
980 | jz .I61 |
980 | jz .I61 |
981 | cmp [m],$3 |
981 | cmp [m],$3 |
982 | jz .I63 |
982 | jz .I63 |
983 | cmp [m],$5 |
983 | cmp [m],$5 |
984 | jz .I65 |
984 | jz .I65 |
985 | cmp [m],$6 |
985 | cmp [m],$6 |
986 | jz .I66 |
986 | jz .I66 |
987 | cmp [m],$7 |
987 | cmp [m],$7 |
988 | jz .I67 |
988 | jz .I67 |
989 | cmp [m],$8 |
989 | cmp [m],$8 |
990 | jz .I68 |
990 | jz .I68 |
991 | cmp [m],$9 |
991 | cmp [m],$9 |
992 | jz .I69 |
992 | jz .I69 |
993 | cmp [m],$A |
993 | cmp [m],$A |
994 | jz .I6A |
994 | jz .I6A |
995 | cmp [m],$B |
995 | cmp [m],$B |
996 | jz .I6B |
996 | jz .I6B |
997 | cmp [m],$D |
997 | cmp [m],$D |
998 | jz .I6D |
998 | jz .I6D |
999 | cmp [m],$E |
999 | cmp [m],$E |
1000 | jz .I6E |
1000 | jz .I6E |
1001 | cmp [m],$F |
1001 | cmp [m],$F |
1002 | jz .I6F |
1002 | jz .I6F |
1003 | .I60: |
1003 | .I60: |
1004 | mov [micron], 50 |
1004 | mov [micron], 50 |
1005 | mov [cname], P60 |
1005 | mov [cname], P60 |
1006 | mov esi, P60 |
1006 | mov esi, P60 |
1007 | mov edi, saveproc + 0x6 |
1007 | mov edi, saveproc + 0x6 |
1008 | call concatname |
1008 | call concatname |
1009 | jmp MMXtest |
1009 | jmp MMXtest |
1010 | 1010 | ||
1011 | .I61: |
1011 | .I61: |
1012 | mov [micron], 35 |
1012 | mov [micron], 35 |
1013 | mov [cname], P61 |
1013 | mov [cname], P61 |
1014 | mov esi, P61 |
1014 | mov esi, P61 |
1015 | mov edi, saveproc + 0x6 |
1015 | mov edi, saveproc + 0x6 |
1016 | call concatname |
1016 | call concatname |
1017 | jmp MMXtest |
1017 | jmp MMXtest |
1018 | 1018 | ||
1019 | .I63: |
1019 | .I63: |
1020 | mov [micron], 28 |
1020 | mov [micron], 28 |
1021 | mov [cname], P63 |
1021 | mov [cname], P63 |
1022 | mov esi, P63 |
1022 | mov esi, P63 |
1023 | mov edi, saveproc + 0x6 |
1023 | mov edi, saveproc + 0x6 |
1024 | call concatname |
1024 | call concatname |
1025 | jmp MMXtest |
1025 | jmp MMXtest |
1026 | 1026 | ||
1027 | .I65: |
1027 | .I65: |
1028 | mov [micron], 25 |
1028 | mov [micron], 25 |
1029 | cmp [L2], 0 |
1029 | cmp [L2], 0 |
1030 | jne .pp65 ; Pentium |
1030 | jne .pp65 ; Pentium |
1031 | mov [cname], P65c |
1031 | mov [cname], P65c |
1032 | mov esi, P65c |
1032 | mov esi, P65c |
1033 | mov edi, saveproc + 0x6 |
1033 | mov edi, saveproc + 0x6 |
1034 | call concatname |
1034 | call concatname |
1035 | jmp MMXtest |
1035 | jmp MMXtest |
1036 | 1036 | ||
1037 | .pp65: |
1037 | .pp65: |
1038 | mov [cname], P65 |
1038 | mov [cname], P65 |
1039 | mov esi, P65 |
1039 | mov esi, P65 |
1040 | mov edi, saveproc + 0x6 |
1040 | mov edi, saveproc + 0x6 |
1041 | call concatname |
1041 | call concatname |
1042 | jmp MMXtest |
1042 | jmp MMXtest |
1043 | .I66: |
1043 | .I66: |
1044 | mov [micron], 25 |
1044 | mov [micron], 25 |
1045 | mov [cname], P66 |
1045 | mov [cname], P66 |
1046 | mov esi, P66 |
1046 | mov esi, P66 |
1047 | mov edi, saveproc + 0x6 |
1047 | mov edi, saveproc + 0x6 |
1048 | call concatname |
1048 | call concatname |
1049 | jmp MMXtest |
1049 | jmp MMXtest |
1050 | .I67: |
1050 | .I67: |
1051 | mov [micron], 25 |
1051 | mov [micron], 25 |
1052 | ;but if SSE4.1 supported then it is Intel Core (Penryn) |
1052 | ;but if SSE4.1 supported then it is Intel Core (Penryn) |
1053 | mov [cname], P67 |
1053 | mov [cname], P67 |
1054 | mov esi, P67 |
1054 | mov esi, P67 |
1055 | mov edi, saveproc + 0x6 |
1055 | mov edi, saveproc + 0x6 |
1056 | call concatname |
1056 | call concatname |
1057 | jmp MMXtest |
1057 | jmp MMXtest |
1058 | 1058 | ||
1059 | .I68: |
1059 | .I68: |
1060 | mov [micron], 18 |
1060 | mov [micron], 18 |
1061 | cmp [L2], 128 |
1061 | cmp [L2], 128 |
1062 | jne .pp68 ; Pentium |
1062 | jne .pp68 ; Pentium |
1063 | mov [cname], P68c |
1063 | mov [cname], P68c |
1064 | mov esi, P68c |
1064 | mov esi, P68c |
1065 | mov edi, saveproc + 0x6 |
1065 | mov edi, saveproc + 0x6 |
1066 | call concatname |
1066 | call concatname |
1067 | jmp MMXtest |
1067 | jmp MMXtest |
1068 | 1068 | ||
1069 | .pp68: |
1069 | .pp68: |
1070 | mov [cname], P68 |
1070 | mov [cname], P68 |
1071 | mov esi, P68 |
1071 | mov esi, P68 |
1072 | mov edi, saveproc + 0x6 |
1072 | mov edi, saveproc + 0x6 |
1073 | call concatname |
1073 | call concatname |
1074 | jmp MMXtest |
1074 | jmp MMXtest |
1075 | 1075 | ||
1076 | .I69: |
1076 | .I69: |
1077 | mov [micron], 13 |
1077 | mov [micron], 13 |
1078 | mov [cname], P69 |
1078 | mov [cname], P69 |
1079 | mov esi, P69 |
1079 | mov esi, P69 |
1080 | mov edi, saveproc + 0x6 |
1080 | mov edi, saveproc + 0x6 |
1081 | call concatname |
1081 | call concatname |
1082 | jmp MMXtest |
1082 | jmp MMXtest |
1083 | 1083 | ||
1084 | .I6A: |
1084 | .I6A: |
1085 | mov [micron], 18 |
1085 | mov [micron], 18 |
1086 | ;but if SSE4.2 supported then it is Intel Core (Nehalem) |
1086 | ;but if SSE4.2 supported then it is Intel Core (Nehalem) |
1087 | mov [cname], P6A |
1087 | mov [cname], P6A |
1088 | mov esi, P6A |
1088 | mov esi, P6A |
1089 | mov edi, saveproc + 0x6 |
1089 | mov edi, saveproc + 0x6 |
1090 | call concatname |
1090 | call concatname |
1091 | jmp MMXtest |
1091 | jmp MMXtest |
1092 | 1092 | ||
1093 | .I6B: |
1093 | .I6B: |
1094 | mov [micron], 13 |
1094 | mov [micron], 13 |
1095 | cmp [L2], 256 |
1095 | cmp [L2], 256 |
1096 | jne .pp6B ; Pentium |
1096 | jne .pp6B ; Pentium |
1097 | mov [cname], P6Bc |
1097 | mov [cname], P6Bc |
1098 | mov esi, P6Bc |
1098 | mov esi, P6Bc |
1099 | mov edi, saveproc + 0x6 |
1099 | mov edi, saveproc + 0x6 |
1100 | call concatname |
1100 | call concatname |
1101 | jmp MMXtest |
1101 | jmp MMXtest |
1102 | 1102 | ||
1103 | .pp6B: |
1103 | .pp6B: |
1104 | mov [cname], P6B |
1104 | mov [cname], P6B |
1105 | mov esi, P6B |
1105 | mov esi, P6B |
1106 | mov edi, saveproc + 0x6 |
1106 | mov edi, saveproc + 0x6 |
1107 | call concatname |
1107 | call concatname |
1108 | jmp MMXtest |
1108 | jmp MMXtest |
1109 | 1109 | ||
1110 | .I6D: |
1110 | .I6D: |
1111 | mov [micron], 9 |
1111 | mov [micron], 9 |
1112 | mov [cname], P6D |
1112 | mov [cname], P6D |
1113 | mov esi, P6D |
1113 | mov esi, P6D |
1114 | mov edi, saveproc + 0x6 |
1114 | mov edi, saveproc + 0x6 |
1115 | call concatname |
1115 | call concatname |
1116 | jmp MMXtest |
1116 | jmp MMXtest |
1117 | 1117 | ||
1118 | .I6E: |
1118 | .I6E: |
1119 | mov [micron], 6 |
1119 | mov [micron], 6 |
1120 | mov [cname], P6E |
1120 | mov [cname], P6E |
1121 | mov esi, P6E |
1121 | mov esi, P6E |
1122 | mov edi, saveproc + 0x6 |
1122 | mov edi, saveproc + 0x6 |
1123 | call concatname |
1123 | call concatname |
1124 | jmp MMXtest |
1124 | jmp MMXtest |
1125 | 1125 | ||
1126 | .I6F: |
1126 | .I6F: |
1127 | mov [micron], 6 |
1127 | mov [micron], 6 |
1128 | mov [cname], P6F |
1128 | mov [cname], P6F |
1129 | mov esi, P6F |
1129 | mov esi, P6F |
1130 | mov edi, saveproc + 0x6 |
1130 | mov edi, saveproc + 0x6 |
1131 | call concatname |
1131 | call concatname |
1132 | jmp MMXtest |
1132 | jmp MMXtest |
1133 | 1133 | ||
1134 | ;06Ex - Pentium M Yonah 0.065 |
1134 | ;06Ex - Pentium M Yonah 0.065 |
1135 | ;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield |
1135 | ;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield |
1136 | 1136 | ||
1137 | NEWintel: |
1137 | NEWintel: |
1138 | 1138 | ||
1139 | cmp [em],$3A ;IvyBridge |
1139 | cmp [em],$3A ;IvyBridge |
1140 | jz I3A |
1140 | jz I3A |
1141 | cmp [em],$2A ;SandyBridge |
1141 | cmp [em],$2A ;SandyBridge |
1142 | jz I2A |
1142 | jz I2A |
1143 | cmp [em],$2D ;SandyBridge-E/EN/EP |
1143 | cmp [em],$2D ;SandyBridge-E/EN/EP |
1144 | jz I2D |
1144 | jz I2D |
1145 | cmp [em],$25 ;Arrandale/Clarksdale |
1145 | cmp [em],$25 ;Arrandale/Clarksdale |
1146 | jz I25 |
1146 | jz I25 |
1147 | cmp [em],$2C ;Gulftown/Westmere-EP |
1147 | cmp [em],$2C ;Gulftown/Westmere-EP |
1148 | jz I2C ;westmere-EP stepping B1 -> micron 0.032 |
1148 | jz I2C ;westmere-EP stepping B1 -> micron 0.032 |
1149 | cmp [em],$2F ;Westmere-EX |
1149 | cmp [em],$2F ;Westmere-EX |
1150 | jz I2F |
1150 | jz I2F |
1151 | cmp [em],$1E ;Clarksfield/Lynnfield/Jasper Forest |
1151 | cmp [em],$1E ;Clarksfield/Lynnfield/Jasper Forest |
1152 | jz I1E |
1152 | jz I1E |
1153 | cmp [em],$1A ;Bloomfield/Nehalem-EP |
1153 | cmp [em],$1A ;Bloomfield/Nehalem-EP |
1154 | jz I1A |
1154 | jz I1A |
1155 | cmp [em],$2E ;Nehalem-EX |
1155 | cmp [em],$2E ;Nehalem-EX |
1156 | jz I2E |
1156 | jz I2E |
1157 | cmp [em],$17 ;Yorkfield/Wolfdale/Penryn/Harpertown (DP) |
1157 | cmp [em],$17 ;Yorkfield/Wolfdale/Penryn/Harpertown (DP) |
1158 | jz I17 |
1158 | jz I17 |
1159 | cmp [em],$1D ;Dunnington (MP) |
1159 | cmp [em],$1D ;Dunnington (MP) |
1160 | jz I1D |
1160 | jz I1D |
1161 | cmp [em],$0F ;Clovertown/Kentsfield/Conroe/Merom/Woodcrest |
1161 | cmp [em],$0F ;Clovertown/Kentsfield/Conroe/Merom/Woodcrest |
1162 | jz I0F |
1162 | jz I0F |
1163 | cmp [em],$16 ;Merom Conroe |
1163 | cmp [em],$16 ;Merom Conroe |
1164 | jz I16 |
1164 | jz I16 |
1165 | cmp [em],$06 ;Cedar Mill/Presler |
1165 | cmp [em],$06 ;Cedar Mill/Presler |
1166 | jz I06 |
1166 | jz I06 |
1167 | cmp [em],$03 ;Nocona Irwindale / Prescott |
1167 | cmp [em],$03 ;Nocona Irwindale / Prescott |
1168 | jz I03 |
1168 | jz I03 |
1169 | cmp [em],$04 ;NoconaIrwindale / Prescott |
1169 | cmp [em],$04 ;NoconaIrwindale / Prescott |
1170 | jz I03 |
1170 | jz I03 |
1171 | cmp [em],$0D ;Dothan |
1171 | cmp [em],$0D ;Dothan |
1172 | jz I0D |
1172 | jz I0D |
1173 | cmp [em],$36 ;Cedarview |
1173 | cmp [em],$36 ;Cedarview |
1174 | jz I36 |
1174 | jz I36 |
1175 | cmp [em],$26 ;Lincroft |
1175 | cmp [em],$26 ;Lincroft |
1176 | jz I26 |
1176 | jz I26 |
1177 | cmp [em],$1C ;Pineview/Silverthorne |
1177 | cmp [em],$1C ;Pineview/Silverthorne |
1178 | jz I1C |
1178 | jz I1C |
1179 | mov [cname], no_known |
1179 | mov [cname], no_known |
1180 | 1180 | ||
1181 | Inewunknown: |
1181 | Inewunknown: |
1182 | jmp MMXtest |
1182 | jmp MMXtest |
1183 | 1183 | ||
1184 | I3A: |
1184 | I3A: |
1185 | mov [micron], 32 |
1185 | mov [micron], 32 |
1186 | mov [cname], P3A |
1186 | mov [cname], P3A |
1187 | mov esi, P3A |
1187 | mov esi, P3A |
1188 | mov edi, saveproc + 0x10 |
1188 | mov edi, saveproc + 0x10 |
1189 | call concatname |
1189 | call concatname |
1190 | jmp MMXtest |
1190 | jmp MMXtest |
1191 | 1191 | ||
1192 | I2A: |
1192 | I2A: |
1193 | mov [micron], 32 |
1193 | mov [micron], 32 |
1194 | mov [cname], P2A |
1194 | mov [cname], P2A |
1195 | mov esi, P2A |
1195 | mov esi, P2A |
1196 | mov edi, saveproc + 0x10 |
1196 | mov edi, saveproc + 0x10 |
1197 | call concatname |
1197 | call concatname |
1198 | jmp MMXtest |
1198 | jmp MMXtest |
1199 | 1199 | ||
1200 | I2D: |
1200 | I2D: |
1201 | mov [micron], 32 |
1201 | mov [micron], 32 |
1202 | mov [cname], P2D |
1202 | mov [cname], P2D |
1203 | mov esi, P2D |
1203 | mov esi, P2D |
1204 | mov edi,saveproc + 0x10 |
1204 | mov edi,saveproc + 0x10 |
1205 | call concatname |
1205 | call concatname |
1206 | jmp MMXtest |
1206 | jmp MMXtest |
1207 | 1207 | ||
1208 | I25: |
1208 | I25: |
1209 | mov [micron], 32 |
1209 | mov [micron], 32 |
1210 | mov [cname], P25 ;P25 |
1210 | mov [cname], P25 ;P25 |
1211 | mov esi, P25 |
1211 | mov esi, P25 |
1212 | mov edi, saveproc + 0x10 ;12 |
1212 | mov edi, saveproc + 0x10 ;12 |
1213 | call concatname |
1213 | call concatname |
1214 | jmp MMXtest |
1214 | jmp MMXtest |
1215 | 1215 | ||
1216 | I2C: |
1216 | I2C: |
1217 | mov [micron], 32 |
1217 | mov [micron], 32 |
1218 | mov [cname], P2C |
1218 | mov [cname], P2C |
1219 | mov esi, P2C |
1219 | mov esi, P2C |
1220 | mov edi,saveproc + 0x10 |
1220 | mov edi,saveproc + 0x10 |
1221 | call concatname |
1221 | call concatname |
1222 | jmp MMXtest |
1222 | jmp MMXtest |
1223 | 1223 | ||
1224 | I2F: |
1224 | I2F: |
1225 | mov [micron], 32 |
1225 | mov [micron], 32 |
1226 | mov [cname], P2F |
1226 | mov [cname], P2F |
1227 | mov esi, P2F |
1227 | mov esi, P2F |
1228 | mov edi, saveproc + 0x10 |
1228 | mov edi, saveproc + 0x10 |
1229 | call concatname |
1229 | call concatname |
1230 | jmp MMXtest |
1230 | jmp MMXtest |
1231 | 1231 | ||
1232 | I1E: |
1232 | I1E: |
1233 | mov [micron], 32 |
1233 | mov [micron], 32 |
1234 | mov [cname], P1E |
1234 | mov [cname], P1E |
1235 | mov esi, P1E |
1235 | mov esi, P1E |
1236 | mov edi, saveproc + 0x10 |
1236 | mov edi, saveproc + 0x10 |
1237 | call concatname |
1237 | call concatname |
1238 | jmp MMXtest |
1238 | jmp MMXtest |
1239 | 1239 | ||
1240 | I1A: |
1240 | I1A: |
1241 | mov [micron], 45 |
1241 | mov [micron], 45 |
1242 | mov [cname], P1A |
1242 | mov [cname], P1A |
1243 | mov esi, P1A |
1243 | mov esi, P1A |
1244 | mov edi, saveproc + 0x10 |
1244 | mov edi, saveproc + 0x10 |
1245 | call concatname |
1245 | call concatname |
1246 | jmp MMXtest |
1246 | jmp MMXtest |
1247 | 1247 | ||
1248 | I2E: |
1248 | I2E: |
1249 | mov [micron], 45 |
1249 | mov [micron], 45 |
1250 | mov [cname], P2E |
1250 | mov [cname], P2E |
1251 | mov esi, P2E |
1251 | mov esi, P2E |
1252 | mov edi, saveproc + 0x10 |
1252 | mov edi, saveproc + 0x10 |
1253 | call concatname |
1253 | call concatname |
1254 | jmp MMXtest |
1254 | jmp MMXtest |
1255 | 1255 | ||
1256 | I17: |
1256 | I17: |
1257 | mov [micron], 45 |
1257 | mov [micron], 45 |
1258 | mov [cname], P17 |
1258 | mov [cname], P17 |
1259 | mov esi, P17 |
1259 | mov esi, P17 |
1260 | mov edi, saveproc + 0x10 |
1260 | mov edi, saveproc + 0x10 |
1261 | call concatname |
1261 | call concatname |
1262 | jmp MMXtest |
1262 | jmp MMXtest |
1263 | 1263 | ||
1264 | I1D: |
1264 | I1D: |
1265 | mov [micron], 45 |
1265 | mov [micron], 45 |
1266 | mov [cname], P1D |
1266 | mov [cname], P1D |
1267 | mov esi, P1D |
1267 | mov esi, P1D |
1268 | mov edi, saveproc + 0x10 |
1268 | mov edi, saveproc + 0x10 |
1269 | call concatname |
1269 | call concatname |
1270 | jmp MMXtest |
1270 | jmp MMXtest |
1271 | 1271 | ||
1272 | I0F: |
1272 | I0F: |
1273 | mov [micron], 65 |
1273 | mov [micron], 65 |
1274 | mov [cname], P0F |
1274 | mov [cname], P0F |
1275 | mov esi, P0F |
1275 | mov esi, P0F |
1276 | mov edi, saveproc + 0x10 |
1276 | mov edi, saveproc + 0x10 |
1277 | call concatname |
1277 | call concatname |
1278 | jmp MMXtest |
1278 | jmp MMXtest |
1279 | 1279 | ||
1280 | I16: |
1280 | I16: |
1281 | mov [micron], 65 |
1281 | mov [micron], 65 |
1282 | mov [cname], P16 |
1282 | mov [cname], P16 |
1283 | mov esi, P16 |
1283 | mov esi, P16 |
1284 | mov edi, saveproc + 0x10 |
1284 | mov edi, saveproc + 0x10 |
1285 | call concatname |
1285 | call concatname |
1286 | jmp MMXtest |
1286 | jmp MMXtest |
1287 | 1287 | ||
1288 | I06: |
1288 | I06: |
1289 | mov [micron], 32 |
1289 | mov [micron], 32 |
1290 | mov [cname], P06 |
1290 | mov [cname], P06 |
1291 | mov esi, P06 |
1291 | mov esi, P06 |
1292 | mov edi, saveproc + 0x10 |
1292 | mov edi, saveproc + 0x10 |
1293 | call concatname |
1293 | call concatname |
1294 | jmp MMXtest |
1294 | jmp MMXtest |
1295 | 1295 | ||
1296 | I03: |
1296 | I03: |
1297 | mov [micron], 32 |
1297 | mov [micron], 32 |
1298 | mov [cname], P03 |
1298 | mov [cname], P03 |
1299 | mov esi, P03 |
1299 | mov esi, P03 |
1300 | mov edi, saveproc + 0x10 |
1300 | mov edi, saveproc + 0x10 |
1301 | call concatname |
1301 | call concatname |
1302 | jmp MMXtest |
1302 | jmp MMXtest |
1303 | 1303 | ||
1304 | I0D: |
1304 | I0D: |
1305 | mov [micron], 32 |
1305 | mov [micron], 32 |
1306 | mov [cname], P0D |
1306 | mov [cname], P0D |
1307 | mov esi, P0D |
1307 | mov esi, P0D |
1308 | mov edi, saveproc + 0x10 |
1308 | mov edi, saveproc + 0x10 |
1309 | call concatname |
1309 | call concatname |
1310 | jmp MMXtest |
1310 | jmp MMXtest |
1311 | 1311 | ||
1312 | I36: |
1312 | I36: |
1313 | mov [micron], 32 |
1313 | mov [micron], 32 |
1314 | mov [cname], P36 |
1314 | mov [cname], P36 |
1315 | mov esi, P36 |
1315 | mov esi, P36 |
1316 | mov edi, saveproc + 0x10 |
1316 | mov edi, saveproc + 0x10 |
1317 | call concatname |
1317 | call concatname |
1318 | jmp MMXtest |
1318 | jmp MMXtest |
1319 | 1319 | ||
1320 | I26: |
1320 | I26: |
1321 | mov [micron], 32 |
1321 | mov [micron], 32 |
1322 | mov [cname], P26 |
1322 | mov [cname], P26 |
1323 | mov esi, P26 |
1323 | mov esi, P26 |
1324 | mov edi, saveproc + 0x10 |
1324 | mov edi, saveproc + 0x10 |
1325 | call concatname |
1325 | call concatname |
1326 | jmp MMXtest |
1326 | jmp MMXtest |
1327 | 1327 | ||
1328 | I1C: |
1328 | I1C: |
1329 | mov [micron], 32 |
1329 | mov [micron], 32 |
1330 | mov [cname], P1C |
1330 | mov [cname], P1C |
1331 | mov esi, P1C |
1331 | mov esi, P1C |
1332 | mov edi, saveproc + 0x10 |
1332 | mov edi, saveproc + 0x10 |
1333 | call concatname |
1333 | call concatname |
1334 | jmp MMXtest |
1334 | jmp MMXtest |
1335 | 1335 | ||
1336 | 1336 | ||
1337 | ;;;;;;;;;;;;;;;;;;; |
1337 | ;;;;;;;;;;;;;;;;;;; |
1338 | sev: ;Family=7 |
1338 | sev: ;Family=7 |
1339 | .IS0: |
1339 | .IS0: |
1340 | 1340 | ||
1341 | Text 15, 190,0x00000000,cache, cachelen-cache |
1341 | Text 15, 190,0x00000000,cache, cachelen-cache |
1342 | mov [micron], 18 |
1342 | mov [micron], 18 |
1343 | mov [cname], PS0 |
1343 | mov [cname], PS0 |
1344 | mov esi, PS0 |
1344 | mov esi, PS0 |
1345 | mov edi, saveproc + 0x6 |
1345 | mov edi, saveproc + 0x6 |
1346 | call concatname |
1346 | call concatname |
1347 | jmp MMXtest |
1347 | jmp MMXtest |
1348 | 1348 | ||
1349 | fift: ;Family=15 |
1349 | fift: ;Family=15 |
1350 | 1350 | ||
1351 | Text 15, 190,0x00000000,cacheP4, cacheP4len-cacheP4 |
1351 | Text 15, 190,0x00000000,cacheP4, cacheP4len-cacheP4 |
1352 | 1352 | ||
1353 | cmp [m],$0 |
1353 | cmp [m],$0 |
1354 | jz .IF0 |
1354 | jz .IF0 |
1355 | cmp [m],$1 |
1355 | cmp [m],$1 |
1356 | jz .IF1 |
1356 | jz .IF1 |
1357 | cmp [m],$2 |
1357 | cmp [m],$2 |
1358 | jz .IF2 |
1358 | jz .IF2 |
1359 | cmp [m],$3 |
1359 | cmp [m],$3 |
1360 | jz .IF3 |
1360 | jz .IF3 |
1361 | cmp [m],$4 |
1361 | cmp [m],$4 |
1362 | jz .IF3 ;identical to F3xh |
1362 | jz .IF3 ;identical to F3xh |
1363 | cmp [m],$5 |
1363 | cmp [m],$5 |
1364 | jz .IF5 |
1364 | jz .IF5 |
1365 | cmp [m],$6 |
1365 | cmp [m],$6 |
1366 | jz .IF6 |
1366 | jz .IF6 |
1367 | jmp next_generation |
1367 | jmp next_generation |
1368 | .IF0: |
1368 | .IF0: |
1369 | mov [micron], 18 |
1369 | mov [micron], 18 |
1370 | cmp [L2], 128 |
1370 | cmp [L2], 128 |
1371 | jne .ppF0 ; Pentium |
1371 | jne .ppF0 ; Pentium |
1372 | mov [cname], PF0c |
1372 | mov [cname], PF0c |
1373 | mov esi, PF0c |
1373 | mov esi, PF0c |
1374 | mov edi, saveproc + 0x6 |
1374 | mov edi, saveproc + 0x6 |
1375 | call concatname |
1375 | call concatname |
1376 | jmp MMXtest |
1376 | jmp MMXtest |
1377 | .ppF0: |
1377 | .ppF0: |
1378 | mov [cname], PF0 |
1378 | mov [cname], PF0 |
1379 | mov esi, PF0 |
1379 | mov esi, PF0 |
1380 | mov edi, saveproc + 0x6 |
1380 | mov edi, saveproc + 0x6 |
1381 | call concatname |
1381 | call concatname |
1382 | jmp MMXtest |
1382 | jmp MMXtest |
1383 | .IF1: |
1383 | .IF1: |
1384 | mov [micron], 18 |
1384 | mov [micron], 18 |
1385 | cmp [L2], 128 |
1385 | cmp [L2], 128 |
1386 | je .IF0;jne.ppF1 ; Pentium |
1386 | je .IF0;jne.ppF1 ; Pentium |
1387 | ; mov eax,dword 0x00000004 |
1387 | ; mov eax,dword 0x00000004 |
1388 | ; mov ebx,115*65536+80 |
1388 | ; mov ebx,115*65536+80 |
1389 | ; mov ecx,dword 0x00000000 |
1389 | ; mov ecx,dword 0x00000000 |
1390 | ; mov edx,PF0c |
1390 | ; mov edx,PF0c |
1391 | ; mov esi,PF0clen-PF0c |
1391 | ; mov esi,PF0clen-PF0c |
1392 | ; mcall |
1392 | ; mcall |
1393 | ;jmp MMXtest |
1393 | ;jmp MMXtest |
1394 | ;.ppF1: |
1394 | ;.ppF1: |
1395 | mov [cname], PF0 |
1395 | mov [cname], PF0 |
1396 | mov esi, PF0 |
1396 | mov esi, PF0 |
1397 | mov edi, saveproc + 0x6 |
1397 | mov edi, saveproc + 0x6 |
1398 | call concatname |
1398 | call concatname |
1399 | jmp MMXtest |
1399 | jmp MMXtest |
1400 | .IF2: |
1400 | .IF2: |
1401 | mov [micron], 13 |
1401 | mov [micron], 13 |
1402 | cmp [L2], 128 |
1402 | cmp [L2], 128 |
1403 | jne .ppF2 ; Pentium |
1403 | jne .ppF2 ; Pentium |
1404 | mov [cname], PF2c |
1404 | mov [cname], PF2c |
1405 | mov esi, PF2c |
1405 | mov esi, PF2c |
1406 | mov edi, saveproc + 0x6 |
1406 | mov edi, saveproc + 0x6 |
1407 | call concatname |
1407 | call concatname |
1408 | jmp MMXtest |
1408 | jmp MMXtest |
1409 | .ppF2: |
1409 | .ppF2: |
1410 | mov [cname], PF2 |
1410 | mov [cname], PF2 |
1411 | mov esi, PF2 |
1411 | mov esi, PF2 |
1412 | mov edi, saveproc + 0x6 |
1412 | mov edi, saveproc + 0x6 |
1413 | call concatname |
1413 | call concatname |
1414 | jmp MMXtest |
1414 | jmp MMXtest |
1415 | .IF3: |
1415 | .IF3: |
1416 | mov [micron], 09 |
1416 | mov [micron], 09 |
1417 | cmp [L2], 256 |
1417 | cmp [L2], 256 |
1418 | jne .ppF3 ; Pentium |
1418 | jne .ppF3 ; Pentium |
1419 | mov [cname], PF3c |
1419 | mov [cname], PF3c |
1420 | mov esi, PF3c |
1420 | mov esi, PF3c |
1421 | mov edi, saveproc + 0x6 |
1421 | mov edi, saveproc + 0x6 |
1422 | call concatname |
1422 | call concatname |
1423 | jmp MMXtest |
1423 | jmp MMXtest |
1424 | .ppF3: |
1424 | .ppF3: |
1425 | mov [cname], PF3 |
1425 | mov [cname], PF3 |
1426 | mov esi, PF3 |
1426 | mov esi, PF3 |
1427 | mov edi, saveproc + 0x6 |
1427 | mov edi, saveproc + 0x6 |
1428 | call concatname |
1428 | call concatname |
1429 | jmp MMXtest |
1429 | jmp MMXtest |
1430 | 1430 | ||
1431 | .IF5: |
1431 | .IF5: |
1432 | mov [micron], 09 |
1432 | mov [micron], 09 |
1433 | cmp [L2], 512 |
1433 | cmp [L2], 512 |
1434 | jae .ppF5 ; Pentium |
1434 | jae .ppF5 ; Pentium |
1435 | mov [cname], PF5c |
1435 | mov [cname], PF5c |
1436 | mov esi, PF5c |
1436 | mov esi, PF5c |
1437 | mov edi, saveproc + 0x6 |
1437 | mov edi, saveproc + 0x6 |
1438 | call concatname |
1438 | call concatname |
1439 | jmp MMXtest |
1439 | jmp MMXtest |
1440 | .ppF5: |
1440 | .ppF5: |
1441 | mov [cname], PF5 |
1441 | mov [cname], PF5 |
1442 | mov esi, PF5 |
1442 | mov esi, PF5 |
1443 | mov edi, saveproc + 0x6 |
1443 | mov edi, saveproc + 0x6 |
1444 | call concatname |
1444 | call concatname |
1445 | jmp MMXtest |
1445 | jmp MMXtest |
1446 | 1446 | ||
1447 | .IF6: |
1447 | .IF6: |
1448 | mov [micron], 06 ; 065 |
1448 | mov [micron], 06 ; 065 |
1449 | cmp [L2], 512 |
1449 | cmp [L2], 512 |
1450 | ja .ppF6 ; Pentium |
1450 | ja .ppF6 ; Pentium |
1451 | mov [cname], PF6c |
1451 | mov [cname], PF6c |
1452 | mov esi, PF6c |
1452 | mov esi, PF6c |
1453 | mov edi, saveproc + 0x6 |
1453 | mov edi, saveproc + 0x6 |
1454 | call concatname |
1454 | call concatname |
1455 | jmp MMXtest |
1455 | jmp MMXtest |
1456 | .ppF6: |
1456 | .ppF6: |
1457 | mov [cname], PF6 |
1457 | mov [cname], PF6 |
1458 | mov esi, PF6 |
1458 | mov esi, PF6 |
1459 | mov edi, saveproc + 0x6 |
1459 | mov edi, saveproc + 0x6 |
1460 | call concatname |
1460 | call concatname |
1461 | jmp MMXtest |
1461 | jmp MMXtest |
1462 | 1462 | ||
1463 | 1463 | ||
1464 | next_generation: |
1464 | next_generation: |
1465 | mov [cname], NG |
1465 | mov [cname], NG |
1466 | mov esi, NG |
1466 | mov esi, NG |
1467 | mov edi, saveproc + 0x6 |
1467 | mov edi, saveproc + 0x6 |
1468 | call concatname |
1468 | call concatname |
1469 | jmp MMXtest |
1469 | jmp MMXtest |
1470 | ;---------------------------------- |
1470 | ;---------------------------------- |
1471 | Cyrix: |
1471 | Cyrix: |
1472 | 1472 | ||
1473 | mov [codeN], 3 |
1473 | mov [codeN], 3 |
1474 | Text 15, 190,0x00000000,cache, cachelen-cache |
1474 | Text 15, 190,0x00000000,cache, cachelen-cache |
1475 | 1475 | ||
1476 | mov esi, cyrix |
1476 | mov esi, cyrix |
1477 | call load_gif |
1477 | call load_gif |
1478 | PutImage 135,107,201,49,img_area+8 |
1478 | PutImage 135,107,201,49,img_area+8 |
1479 | 1479 | ||
1480 | 1480 | ||
1481 | cmp [f], $5 |
1481 | cmp [f], $5 |
1482 | jz .fivv |
1482 | jz .fivv |
1483 | cmp [f], $6 |
1483 | cmp [f], $6 |
1484 | jz .sixx |
1484 | jz .sixx |
1485 | .fivv: ;Family=5 |
1485 | .fivv: ;Family=5 |
1486 | cmp [m],$2 |
1486 | cmp [m],$2 |
1487 | jz .C52 |
1487 | jz .C52 |
1488 | cmp [m],$4 |
1488 | cmp [m],$4 |
1489 | jz .C54 |
1489 | jz .C54 |
1490 | .C52: |
1490 | .C52: |
1491 | mov [micron], 50 ;35? |
1491 | mov [micron], 50 ;35? |
1492 | mov [L1i], 8 |
1492 | mov [L1i], 8 |
1493 | mov [L1d], 8 |
1493 | mov [L1d], 8 |
1494 | mov [L2], 512 |
1494 | mov [L2], 512 |
1495 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
1495 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
1496 | mov esi, Cyrixn |
1496 | mov esi, Cyrixn |
1497 | mov edi, saveproc |
1497 | mov edi, saveproc |
1498 | call concatname |
1498 | call concatname |
1499 | mov [cname], C52 |
1499 | mov [cname], C52 |
1500 | mov esi, C52 |
1500 | mov esi, C52 |
1501 | mov edi, saveproc + 0x6 |
1501 | mov edi, saveproc + 0x6 |
1502 | call concatname |
1502 | call concatname |
1503 | jmp MMXtest |
1503 | jmp MMXtest |
1504 | .C54: |
1504 | .C54: |
1505 | mov [micron], 50 |
1505 | mov [micron], 50 |
1506 | mov [L1i], 8 |
1506 | mov [L1i], 8 |
1507 | mov [L1d], 8 |
1507 | mov [L1d], 8 |
1508 | mov [L2], 512 |
1508 | mov [L2], 512 |
1509 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
1509 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
1510 | mov esi, Cyrixn |
1510 | mov esi, Cyrixn |
1511 | mov edi, saveproc |
1511 | mov edi, saveproc |
1512 | call concatname |
1512 | call concatname |
1513 | mov [cname], C54 |
1513 | mov [cname], C54 |
1514 | mov esi, C54 |
1514 | mov esi, C54 |
1515 | mov edi, saveproc + 0x6 |
1515 | mov edi, saveproc + 0x6 |
1516 | call concatname |
1516 | call concatname |
1517 | jmp MMXtest |
1517 | jmp MMXtest |
1518 | 1518 | ||
1519 | .sixx: ;Family=6 |
1519 | .sixx: ;Family=6 |
1520 | cmp [m],$0 |
1520 | cmp [m],$0 |
1521 | jz .C60 |
1521 | jz .C60 |
1522 | cmp [m],$5 |
1522 | cmp [m],$5 |
1523 | jz .C65 |
1523 | jz .C65 |
1524 | .C60: |
1524 | .C60: |
1525 | mov [micron], 25 |
1525 | mov [micron], 25 |
1526 | mov [L1i], 32 |
1526 | mov [L1i], 32 |
1527 | mov [L1d], 32 |
1527 | mov [L1d], 32 |
1528 | mov [L2], 512 |
1528 | mov [L2], 512 |
1529 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
1529 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
1530 | mov esi, Cyrixn |
1530 | mov esi, Cyrixn |
1531 | mov edi, saveproc |
1531 | mov edi, saveproc |
1532 | call concatname |
1532 | call concatname |
1533 | mov [cname], C60 |
1533 | mov [cname], C60 |
1534 | mov esi, C60 |
1534 | mov esi, C60 |
1535 | mov edi, saveproc + 0x6 |
1535 | mov edi, saveproc + 0x6 |
1536 | call concatname |
1536 | call concatname |
1537 | jmp MMXtest |
1537 | jmp MMXtest |
1538 | .C65: |
1538 | .C65: |
1539 | mov [micron], 25 ;35? |
1539 | mov [micron], 25 ;35? |
1540 | mov [L1i], 32 |
1540 | mov [L1i], 32 |
1541 | mov [L1d], 32 |
1541 | mov [L1d], 32 |
1542 | mov [L2], 512 |
1542 | mov [L2], 512 |
1543 | Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn |
1543 | Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn |
1544 | mov esi, Centaurn |
1544 | mov esi, Centaurn |
1545 | mov edi, saveproc |
1545 | mov edi, saveproc |
1546 | call concatname |
1546 | call concatname |
1547 | mov edx,C65 |
1547 | mov edx,C65 |
1548 | mov esi,C65len-C65 |
1548 | mov esi,C65len-C65 |
1549 | jmp OutProcName |
1549 | jmp OutProcName |
1550 | ;--------------------- |
1550 | ;--------------------- |
1551 | Centaur: |
1551 | Centaur: |
1552 | 1552 | ||
1553 | Text 15, 190,0x00000000,cache, cachelen-cache |
1553 | Text 15, 190,0x00000000,cache, cachelen-cache |
1554 | 1554 | ||
1555 | ;CACHE1: |
1555 | ;CACHE1: |
1556 | mov eax, 80000005h |
1556 | mov eax, 80000005h |
1557 | cpuid |
1557 | cpuid |
1558 | shr ecx, 24 |
1558 | shr ecx, 24 |
1559 | mov [L1d], ecx |
1559 | mov [L1d], ecx |
1560 | shr edx, 24 |
1560 | shr edx, 24 |
1561 | mov [L1i], edx |
1561 | mov [L1i], edx |
1562 | 1562 | ||
1563 | ; cache detection routine |
1563 | ; cache detection routine |
1564 | ;CACHE1: |
1564 | ;CACHE1: |
1565 | mov eax, 80000005h |
1565 | mov eax, 80000005h |
1566 | cpuid |
1566 | cpuid |
1567 | 1567 | ||
1568 | movzx eax, cl |
1568 | movzx eax, cl |
1569 | mov [lineld], eax |
1569 | mov [lineld], eax |
1570 | 1570 | ||
1571 | mov eax, ecx |
1571 | mov eax, ecx |
1572 | shr eax, 16 |
1572 | shr eax, 16 |
1573 | and eax,000000FFh |
1573 | and eax,000000FFh |
1574 | mov [wayld], eax |
1574 | mov [wayld], eax |
1575 | 1575 | ||
1576 | shr ecx, 24 |
1576 | shr ecx, 24 |
1577 | mov [L1d], ecx |
1577 | mov [L1d], ecx |
1578 | 1578 | ||
1579 | movzx eax, dl |
1579 | movzx eax, dl |
1580 | mov [lineli], eax |
1580 | mov [lineli], eax |
1581 | 1581 | ||
1582 | mov eax, edx |
1582 | mov eax, edx |
1583 | 1583 | ||
1584 | shr eax, 16 |
1584 | shr eax, 16 |
1585 | and eax,000000FFh |
1585 | and eax,000000FFh |
1586 | mov [wayli], eax |
1586 | mov [wayli], eax |
1587 | 1587 | ||
1588 | shr edx, 24 |
1588 | shr edx, 24 |
1589 | mov [L1i], edx |
1589 | mov [L1i], edx |
1590 | 1590 | ||
1591 | 1591 | ||
1592 | ;CACHE2: |
1592 | ;CACHE2: |
1593 | mov eax, 80000006h |
1593 | mov eax, 80000006h |
1594 | cpuid |
1594 | cpuid |
1595 | 1595 | ||
1596 | cmp [f], $6 |
1596 | cmp [f], $6 |
1597 | jz vn |
1597 | jz vn |
1598 | jmp vl2old ; if not then old identification |
1598 | jmp vl2old ; if not then old identification |
1599 | vn: |
1599 | vn: |
1600 | cmp [m],$9 |
1600 | cmp [m],$9 |
1601 | jl vl2old |
1601 | jl vl2old |
1602 | ; else new |
1602 | ; else new |
1603 | movzx eax, cl |
1603 | movzx eax, cl |
1604 | mov dword[linel2], eax |
1604 | mov dword[linel2], eax |
1605 | 1605 | ||
1606 | mov eax, ecx |
1606 | mov eax, ecx |
1607 | shl eax, 16 |
1607 | shl eax, 16 |
1608 | shr eax, 28 |
1608 | shr eax, 28 |
1609 | 1609 | ||
1610 | mov dword[wayl2], eax |
1610 | mov dword[wayl2], eax |
1611 | 1611 | ||
1612 | shr ecx, 16 ; it is 16 bits now |
1612 | shr ecx, 16 ; it is 16 bits now |
1613 | mov [L2],ecx |
1613 | mov [L2],ecx |
1614 | 1614 | ||
1615 | 1615 | ||
1616 | 1616 | ||
1617 | vl2old: |
1617 | vl2old: |
1618 | movzx eax, cl |
1618 | movzx eax, cl |
1619 | mov dword[linel2], eax |
1619 | mov dword[linel2], eax |
1620 | 1620 | ||
1621 | mov eax, ecx |
1621 | mov eax, ecx |
1622 | shl eax, 8 |
1622 | shl eax, 8 |
1623 | shr eax, 24 |
1623 | shr eax, 24 |
1624 | 1624 | ||
1625 | mov dword[wayl2], eax |
1625 | mov dword[wayl2], eax |
1626 | 1626 | ||
1627 | shr ecx, 24 ; it was 8 bits earlier |
1627 | shr ecx, 24 ; it was 8 bits earlier |
1628 | mov [L2],ecx |
1628 | mov [L2],ecx |
1629 | 1629 | ||
1630 | 1630 | ||
1631 | cmp [f], $5 |
1631 | cmp [f], $5 |
1632 | jz fivC |
1632 | jz fivC |
1633 | cmp [f], $6 |
1633 | cmp [f], $6 |
1634 | jz sixC |
1634 | jz sixC |
1635 | 1635 | ||
1636 | fivC: ;Family=5 |
1636 | fivC: ;Family=5 |
1637 | 1637 | ||
1638 | mov esi, idt |
1638 | mov esi, idt |
1639 | call load_gif |
1639 | call load_gif |
1640 | PutImage 135,107,201,49,img_area+8 |
1640 | PutImage 135,107,201,49,img_area+8 |
1641 | ;PutImage 125,107,201,49,img_area+8 |
1641 | ;PutImage 125,107,201,49,img_area+8 |
1642 | ; place size |
1642 | ; place size |
1643 | 1643 | ||
1644 | Text 75,70,0x00000000,IDTn, IDTnlen-IDTn |
1644 | Text 75,70,0x00000000,IDTn, IDTnlen-IDTn |
1645 | mov esi, IDTn |
1645 | mov esi, IDTn |
1646 | mov edi, saveproc + 0x4 |
1646 | mov edi, saveproc + 0x4 |
1647 | call concatname |
1647 | call concatname |
1648 | cmp [m],$4 |
1648 | cmp [m],$4 |
1649 | jz .V54 |
1649 | jz .V54 |
1650 | cmp [m],$8 |
1650 | cmp [m],$8 |
1651 | jz .V58 |
1651 | jz .V58 |
1652 | cmp [m],$9 |
1652 | cmp [m],$9 |
1653 | jz .V59 |
1653 | jz .V59 |
1654 | .V54: |
1654 | .V54: |
1655 | mov [micron], 35 |
1655 | mov [micron], 35 |
1656 | mov edx,V54 |
1656 | mov edx,V54 |
1657 | mov esi,V54len-V54 |
1657 | mov esi,V54len-V54 |
1658 | jmp OutProcName |
1658 | jmp OutProcName |
1659 | .V58: |
1659 | .V58: |
1660 | mov [micron], 25 |
1660 | mov [micron], 25 |
1661 | mov edx,V58 |
1661 | mov edx,V58 |
1662 | mov esi,V58len-V58 |
1662 | mov esi,V58len-V58 |
1663 | jmp OutProcName |
1663 | jmp OutProcName |
1664 | .V59: |
1664 | .V59: |
1665 | mov [micron], 25 |
1665 | mov [micron], 25 |
1666 | mov edx,V59 |
1666 | mov edx,V59 |
1667 | mov esi,V59len-V59 |
1667 | mov esi,V59len-V59 |
1668 | jmp OutProcName |
1668 | jmp OutProcName |
1669 | 1669 | ||
1670 | sixC: ;Family=6 |
1670 | sixC: ;Family=6 |
1671 | 1671 | ||
1672 | mov esi, via |
1672 | mov esi, via |
1673 | call load_gif |
1673 | call load_gif |
1674 | PutImage 135,107,201,49,img_area+8 |
1674 | PutImage 135,107,201,49,img_area+8 |
1675 | 1675 | ||
1676 | 1676 | ||
1677 | Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn |
1677 | Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn |
1678 | mov esi, Centaurn |
1678 | mov esi, Centaurn |
1679 | mov edi, saveproc |
1679 | mov edi, saveproc |
1680 | call concatname |
1680 | call concatname |
1681 | cmp [m],$6 |
1681 | cmp [m],$6 |
1682 | jz .V66 |
1682 | jz .V66 |
1683 | cmp [m],$7 |
1683 | cmp [m],$7 |
1684 | jz .V67 |
1684 | jz .V67 |
1685 | cmp [m],$8 |
1685 | cmp [m],$8 |
1686 | jz .V68 |
1686 | jz .V68 |
1687 | cmp [m],$9 |
1687 | cmp [m],$9 |
1688 | jz .V69 |
1688 | jz .V69 |
1689 | cmp [m],$A |
1689 | cmp [m],$A |
1690 | jz .V6A |
1690 | jz .V6A |
1691 | .V66: |
1691 | .V66: |
1692 | mov [micron], 18 ; 25? |
1692 | mov [micron], 18 ; 25? |
1693 | mov edx,V66 |
1693 | mov edx,V66 |
1694 | mov esi,V66len-V66 |
1694 | mov esi,V66len-V66 |
1695 | jmp OutProcName |
1695 | jmp OutProcName |
1696 | .V67: |
1696 | .V67: |
1697 | mov [micron], 15 |
1697 | mov [micron], 15 |
1698 | mov edx,V67 |
1698 | mov edx,V67 |
1699 | mov esi,V67len-V67 |
1699 | mov esi,V67len-V67 |
1700 | jmp OutProcName |
1700 | jmp OutProcName |
1701 | .V68: |
1701 | .V68: |
1702 | mov [micron], 13 |
1702 | mov [micron], 13 |
1703 | mov edx,V68 |
1703 | mov edx,V68 |
1704 | mov esi,V68len-V68 |
1704 | mov esi,V68len-V68 |
1705 | jmp OutProcName |
1705 | jmp OutProcName |
1706 | .V69: |
1706 | .V69: |
1707 | mov [micron], 13 |
1707 | mov [micron], 13 |
1708 | mov edx,V69 |
1708 | mov edx,V69 |
1709 | mov esi,V69len-V69 |
1709 | mov esi,V69len-V69 |
1710 | jmp OutProcName |
1710 | jmp OutProcName |
1711 | .V6A: |
1711 | .V6A: |
1712 | mov [micron], 9 |
1712 | mov [micron], 9 |
1713 | mov edx,VA |
1713 | mov edx,VA |
1714 | mov esi,VAlen-VA |
1714 | mov esi,VAlen-VA |
1715 | jmp OutProcName |
1715 | jmp OutProcName |
1716 | ;----------- |
1716 | ;----------- |
1717 | Transmeta: |
1717 | Transmeta: |
1718 | 1718 | ||
1719 | Text 15, 190,0x00000000,cache, cachelen-cache |
1719 | Text 15, 190,0x00000000,cache, cachelen-cache |
1720 | 1720 | ||
1721 | Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan |
1721 | Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan |
1722 | mov esi, Tranmsmetan |
1722 | mov esi, Tranmsmetan |
1723 | mov edi, saveproc |
1723 | mov edi, saveproc |
1724 | call concatname |
1724 | call concatname |
1725 | 1725 | ||
1726 | mov esi, transmeta |
1726 | mov esi, transmeta |
1727 | call load_gif |
1727 | call load_gif |
1728 | PutImage 135,107,201,49,img_area+8 |
1728 | PutImage 135,107,201,49,img_area+8 |
1729 | 1729 | ||
1730 | ; cache detection routine - it is the same as for AMD (almost) |
1730 | ; cache detection routine - it is the same as for AMD (almost) |
1731 | ;CACHE1: |
1731 | ;CACHE1: |
1732 | mov eax, 80000005h |
1732 | mov eax, 80000005h |
1733 | cpuid |
1733 | cpuid |
1734 | 1734 | ||
1735 | movzx eax, cl |
1735 | movzx eax, cl |
1736 | mov [lineld], eax |
1736 | mov [lineld], eax |
1737 | 1737 | ||
1738 | mov eax, ecx |
1738 | mov eax, ecx |
1739 | 1739 | ||
1740 | shr eax,16 |
1740 | shr eax,16 |
1741 | and eax,000000FFh |
1741 | and eax,000000FFh |
1742 | mov [wayld], eax |
1742 | mov [wayld], eax |
1743 | 1743 | ||
1744 | shr ecx, 24 |
1744 | shr ecx, 24 |
1745 | mov [L1d], ecx |
1745 | mov [L1d], ecx |
1746 | 1746 | ||
1747 | movzx eax, dl |
1747 | movzx eax, dl |
1748 | mov [lineli], eax |
1748 | mov [lineli], eax |
1749 | 1749 | ||
1750 | mov eax, edx |
1750 | mov eax, edx |
1751 | 1751 | ||
1752 | shr eax, 16 |
1752 | shr eax, 16 |
1753 | and eax,000000FFh |
1753 | and eax,000000FFh |
1754 | mov [wayli], eax |
1754 | mov [wayli], eax |
1755 | 1755 | ||
1756 | shr edx, 24 |
1756 | shr edx, 24 |
1757 | mov [L1i], edx |
1757 | mov [L1i], edx |
1758 | 1758 | ||
1759 | 1759 | ||
1760 | ;CACHE2: |
1760 | ;CACHE2: |
1761 | mov eax, 80000006h |
1761 | mov eax, 80000006h |
1762 | cpuid |
1762 | cpuid |
1763 | 1763 | ||
1764 | movzx eax, cl |
1764 | movzx eax, cl |
1765 | mov dword[linel2], eax |
1765 | mov dword[linel2], eax |
1766 | 1766 | ||
1767 | mov eax, ecx |
1767 | mov eax, ecx |
1768 | shl eax, 16 |
1768 | shl eax, 16 |
1769 | shr eax, 28 |
1769 | shr eax, 28 |
1770 | 1770 | ||
1771 | mov dword[wayl2], eax |
1771 | mov dword[wayl2], eax |
1772 | 1772 | ||
1773 | shr ecx, 16 |
1773 | shr ecx, 16 |
1774 | mov [L2],ecx |
1774 | mov [L2],ecx |
1775 | 1775 | ||
1776 | 1776 | ||
1777 | cmp [f], $5 |
1777 | cmp [f], $5 |
1778 | jz .fivt |
1778 | jz .fivt |
1779 | cmp [f], $F |
1779 | cmp [f], $F |
1780 | jz .fift |
1780 | jz .fift |
1781 | .fivt: ; Family=5 |
1781 | .fivt: ; Family=5 |
1782 | 1782 | ||
1783 | mov edx,T5 |
1783 | mov edx,T5 |
1784 | mov esi,T5len-T5 |
1784 | mov esi,T5len-T5 |
1785 | jmp @f |
1785 | jmp @f |
1786 | 1786 | ||
1787 | .fift: ; Family=F |
1787 | .fift: ; Family=F |
1788 | mov edx,TF |
1788 | mov edx,TF |
1789 | mov esi,TFlen-TF |
1789 | mov esi,TFlen-TF |
1790 | @@: |
1790 | @@: |
1791 | mov [micron], 13 ; |
1791 | mov [micron], 13 ; |
1792 | Text 140,70,0 |
1792 | Text 140,70,0 |
1793 | jmp MMXtest |
1793 | jmp MMXtest |
1794 | 1794 | ||
1795 | OutProcName: |
1795 | OutProcName: |
1796 | Text 100,70,0 |
1796 | Text 100,70,0 |
1797 | 1797 | ||
1798 | ;---- |
1798 | ;---- |
1799 | ;---------------------------------- new |
1799 | ;---------------------------------- new |
1800 | Vortex: |
1800 | Vortex: |
1801 | 1801 | ||
1802 | Text 15, 190,0x00000000,cache, cachelen-cache |
1802 | Text 15, 190,0x00000000,cache, cachelen-cache |
1803 | 1803 | ||
1804 | mov esi, vortex |
1804 | mov esi, vortex |
1805 | call load_gif |
1805 | call load_gif |
1806 | PutImage 135,107,201,49,img_area+8 |
1806 | PutImage 135,107,201,49,img_area+8 |
1807 | ;PutImage 130,127,201,49,img_area+8 |
1807 | ;PutImage 130,127,201,49,img_area+8 |
1808 | ; place size |
1808 | ; place size |
1809 | 1809 | ||
1810 | cmp [f], $5 |
1810 | cmp [f], $5 |
1811 | jz .V54 ;fivvtx |
1811 | jz .V54 ;fivvtx |
1812 | ;.fivvtx: ;Family=5 |
1812 | ;.fivvtx: ;Family=5 |
1813 | ; cmp [m],$4 |
1813 | ; cmp [m],$4 |
1814 | ; jz .V54 |
1814 | ; jz .V54 |
1815 | .V54: |
1815 | .V54: |
1816 | mov [micron], 13 |
1816 | mov [micron], 13 |
1817 | mov [L1i], 16 |
1817 | mov [L1i], 16 |
1818 | mov [L1d], 16 |
1818 | mov [L1d], 16 |
1819 | mov [L2], 256 |
1819 | mov [L2], 256 |
1820 | mov [wayl2], 4 |
1820 | mov [wayl2], 4 |
1821 | mov [wayli], 4 |
1821 | mov [wayli], 4 |
1822 | mov [wayld], 4 |
1822 | mov [wayld], 4 |
1823 | Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn |
1823 | Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn |
1824 | mov esi, Vortexn |
1824 | mov esi, Vortexn |
1825 | mov edi, saveproc |
1825 | mov edi, saveproc |
1826 | call concatname |
1826 | call concatname |
1827 | jmp MMXtest |
1827 | jmp MMXtest |
1828 | 1828 | ||
1829 | ;--------------------- |
1829 | ;--------------------- |
1830 | 1830 | ||
1831 | 1831 | ||
1832 | 1832 | ||
1833 | MMXtest: ; MMX test and Brand ID decoding |
1833 | MMXtest: ; MMX test and Brand ID decoding |
1834 | 1834 | ||
1835 | call decodebrand ; get Brand ID |
1835 | call decodebrand ; get Brand ID |
1836 | 1836 | ||
1837 | call decode_standard_features |
1837 | call decode_standard_features |
1838 | 1838 | ||
1839 | call decode_extended_features |
1839 | call decode_extended_features |
1840 | 1840 | ||
1841 | xor eax,eax |
1841 | xor eax,eax |
1842 | inc eax |
1842 | inc eax |
1843 | cpuid |
1843 | cpuid |
1844 | HTTtest: |
1844 | HTTtest: |
1845 | test edx, $10000000; ;Test bit 28 |
1845 | test edx, $10000000; ;Test bit 28 |
1846 | jz .ELN |
1846 | jz .ELN |
1847 | 1847 | ||
1848 | .EL: ;HTT technology is supported |
1848 | .EL: ;HTT technology is supported |
1849 | and ebx,00FF0000h ; numbers of logical processors |
1849 | and ebx,00FF0000h ; numbers of logical processors |
1850 | cmp ebx, 1 shl 16 |
1850 | cmp ebx, 1 shl 16 |
1851 | ; mov [number_of_log_cpus], ebx |
1851 | ; mov [number_of_log_cpus], ebx |
1852 | je .ELN ; HHT not enabled (Celeron) |
1852 | je .ELN ; HHT not enabled (Celeron) |
1853 | 1853 | ||
1854 | mov dword [HTTn+9], $736579 |
1854 | mov dword [HTTn+9], $736579 |
1855 | mov dword [HTT+ 6], $736579 |
1855 | mov dword [HTT+ 6], $736579 |
1856 | jmp TEXTOUT |
1856 | jmp TEXTOUT |
1857 | .ELN: |
1857 | .ELN: |
1858 | 1858 | ||
1859 | mov dword [HTTn+ 9], $6F6E |
1859 | mov dword [HTTn+ 9], $6F6E |
1860 | mov dword [HTT+ 6], $6F6E |
1860 | mov dword [HTT+ 6], $6F6E |
1861 | 1861 | ||
1862 | TEXTOUT: |
1862 | TEXTOUT: |
1863 | 1863 | ||
1864 | Text 275,290,0x00000000,HTT, HTTlen-HTT |
1864 | Text 275,290,0x00000000,HTT, HTTlen-HTT |
1865 | Text 275,310,,sse3, sse3len-sse3 |
1865 | Text 275,310,,sse3, sse3len-sse3 |
1866 | Text 15,290,,MMXs, MMXslen-MMXs |
1866 | Text 15,290,,MMXs, MMXslen-MMXs |
1867 | Text 15,310,,SSE, SSElen-SSE |
1867 | Text 15,310,,SSE, SSElen-SSE |
1868 | Text 95,310,,SSE2, SSE2len-SSE2 |
1868 | Text 95,310,,SSE2, SSE2len-SSE2 |
1869 | 1869 | ||
1870 | ;------------------- |
1870 | ;------------------- |
1871 | TEST3DNOW: |
1871 | TEST3DNOW: |
1872 | 1872 | ||
1873 | xor edx, edx |
1873 | xor edx, edx |
1874 | cmp [smallvendor], 'ntel' |
1874 | cmp [smallvendor], 'ntel' |
1875 | ; je @f ;recent change |
1875 | ; je @f ;recent change |
1876 | jne .t |
1876 | jne .t |
1877 | 1877 | ||
1878 | .t: |
1878 | .t: |
1879 | 1879 | ||
1880 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
1880 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
1881 | cpuid |
1881 | cpuid |
1882 | 1882 | ||
1883 | test edx, $80000000 ;// Test bit 31 |
1883 | test edx, $80000000 ;// Test bit 31 |
1884 | jnz .XIT |
1884 | jnz .XIT |
1885 | 1885 | ||
1886 | .NOEXTENDED: ;// 3DNow! technology is supported |
1886 | .NOEXTENDED: ;// 3DNow! technology is supported |
1887 | mov dword [now+ 9], $6F6E |
1887 | mov dword [now+ 9], $6F6E |
1888 | jmp TEST3DNOWP |
1888 | jmp TEST3DNOWP |
1889 | .XIT: |
1889 | .XIT: |
1890 | mov dword [now+ 9], $736579 |
1890 | mov dword [now+ 9], $736579 |
1891 | jmp TEST3DNOWP |
1891 | jmp TEST3DNOWP |
1892 | 1892 | ||
1893 | TEST3DNOWP: |
1893 | TEST3DNOWP: |
1894 | 1894 | ||
1895 | cmp [smallvendor], 'ntel' |
1895 | cmp [smallvendor], 'ntel' |
1896 | je .NOEXTENDEDP |
1896 | je .NOEXTENDEDP |
1897 | 1897 | ||
1898 | .tp: |
1898 | .tp: |
1899 | 1899 | ||
1900 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
1900 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
1901 | cpuid |
1901 | cpuid |
1902 | 1902 | ||
1903 | test edx, $40000000 ;// Test bit 30 |
1903 | test edx, $40000000 ;// Test bit 30 |
1904 | jnz .XITP ;// 3DNow! technology is supported |
1904 | jnz .XITP ;// 3DNow! technology is supported |
1905 | 1905 | ||
1906 | .NOEXTENDEDP: |
1906 | .NOEXTENDEDP: |
1907 | mov dword [nowp+ 9], $6F6E |
1907 | mov dword [nowp+ 9], $6F6E |
1908 | jmp TESTMMXP |
1908 | jmp TESTMMXP |
1909 | .XITP: |
1909 | .XITP: |
1910 | mov dword [nowp+ 9], $736579 |
1910 | mov dword [nowp+ 9], $736579 |
1911 | jmp TESTMMXP |
1911 | jmp TESTMMXP |
1912 | 1912 | ||
1913 | 1913 | ||
1914 | TESTMMXP: |
1914 | TESTMMXP: |
1915 | 1915 | ||
1916 | mov eax,$80000000 |
1916 | mov eax,$80000000 |
1917 | cpuid |
1917 | cpuid |
1918 | 1918 | ||
1919 | test eax, 80000000h |
1919 | test eax, 80000000h |
1920 | jna NOEXTENDEDM |
1920 | jna NOEXTENDEDM |
1921 | 1921 | ||
1922 | ;cmp eax, $80000000 ;// Is 800_0001h supported? |
1922 | ;cmp eax, $80000000 ;// Is 800_0001h supported? |
1923 | ;jz .NOEXTENDEDM ;// If not, 3DNow! technology is not supported |
1923 | ;jz .NOEXTENDEDM ;// If not, 3DNow! technology is not supported |
1924 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
1924 | mov eax, $80000001 ;// Setup extended function 8000_0001h |
1925 | cpuid |
1925 | cpuid |
1926 | cmp [smallvendor], 'tead' |
1926 | cmp [smallvendor], 'tead' |
1927 | jne noCyr |
1927 | jne noCyr |
1928 | Cyrmx: |
1928 | Cyrmx: |
1929 | test edx, $01000000 ;// Test bit 24 |
1929 | test edx, $01000000 ;// Test bit 24 |
1930 | jnz XITM ;// 3DNow! technology is supported |
1930 | jnz XITM ;// 3DNow! technology is supported |
1931 | jz NOEXTENDEDM |
1931 | jz NOEXTENDEDM |
1932 | noCyr: |
1932 | noCyr: |
1933 | test edx, $00400000 ;// Test bit 22 |
1933 | test edx, $00400000 ;// Test bit 22 |
1934 | jnz XITM ;// 3DNow! technology is supported |
1934 | jnz XITM ;// 3DNow! technology is supported |
1935 | ;jz .NOEXTENDEDM |
1935 | ;jz .NOEXTENDEDM |
1936 | 1936 | ||
1937 | NOEXTENDEDM: |
1937 | NOEXTENDEDM: |
1938 | mov dword [mmxp+ 7], $6F6E |
1938 | mov dword [mmxp+ 7], $6F6E |
1939 | mov dword [MMXPi+ 8], $6F6E |
1939 | mov dword [MMXPi+ 8], $6F6E |
1940 | jmp text3d |
1940 | jmp text3d |
1941 | XITM: |
1941 | XITM: |
1942 | mov dword [mmxp+ 7], $736579 |
1942 | mov dword [mmxp+ 7], $736579 |
1943 | mov dword [MMXPi+ 8], $736579 |
1943 | mov dword [MMXPi+ 8], $736579 |
1944 | 1944 | ||
1945 | text3d: |
1945 | text3d: |
1946 | 1946 | ||
1947 | Text 15,330,0x00000000,now, nowlen-now |
1947 | Text 15,330,0x00000000,now, nowlen-now |
1948 | Text 95,330,,nowp, nowplen-nowp |
1948 | Text 95,330,,nowp, nowplen-nowp |
1949 | Text 95,290,,mmxp, mmxplen-mmxp |
1949 | Text 95,290,,mmxp, mmxplen-mmxp |
1950 | Text 110,70,0x80000000,dword[cname] |
1950 | Text 110,70,0x80000000,dword[cname] |
1951 | 1951 | ||
1952 | jmp still |
1952 | jmp still |
1953 | 1953 | ||
1954 | ;-------------------------- |
1954 | ;-------------------------- |
1955 | NO_CPUID: |
1955 | NO_CPUID: |
1956 | mov [nocpuid], 1 |
1956 | mov [nocpuid], 1 |
1957 | Text 15,50,0x00000000,oblom, oblomlen-oblom |
1957 | Text 15,50,0x00000000,oblom, oblomlen-oblom |
1958 | 1958 | ||
1959 | FREEZE: |
1959 | FREEZE: |
1960 | nop |
1960 | nop |
1961 | jmp FREEZE ; maybe we should close application or just made some Warning and jump to still: |
1961 | jmp FREEZE ; maybe we should close application or just made some Warning and jump to still: |
1962 | ;---------------- |
1962 | ;---------------- |
1963 | still: |
1963 | still: |
1964 | 1964 | ||
1965 | ; waiting for events |
1965 | ; waiting for events |
1966 | event_wait: |
1966 | event_wait: |
1967 | 1967 | ||
1968 | mov eax,23 ; function 23 - event wait |
1968 | mov eax,23 ; function 23 - event wait |
1969 | mov ebx,50 ; wait for 0.5 second |
1969 | mov ebx,50 ; wait for 0.5 second |
1970 | mcall |
1970 | mcall |
1971 | 1971 | ||
1972 | cmp eax,1 ; |
1972 | cmp eax,1 ; |
1973 | je red ; redraw |
1973 | je red ; redraw |
1974 | cmp eax,2 ; |
1974 | cmp eax,2 ; |
1975 | je key ; key |
1975 | je key ; key |
1976 | cmp eax,3 ; |
1976 | cmp eax,3 ; |
1977 | je button ; button |
1977 | je button ; button |
1978 | jmp still ; |
1978 | jmp still ; |
1979 | key: ; |
1979 | key: ; |
1980 | mcall ; |
1980 | mcall ; |
1981 | jmp still ; |
1981 | jmp still ; |
1982 | button: ; |
1982 | button: ; |
1983 | mov eax,17 ; |
1983 | mov eax,17 ; |
1984 | mcall ; |
1984 | mcall ; |
1985 | cmp ah,1 ; = 1 ? |
1985 | cmp ah,1 ; = 1 ? |
1986 | je close ; close |
1986 | je close ; close |
1987 | 1987 | ||
1988 | cmp ah,2 ; = 2 ? |
1988 | cmp ah,2 ; = 2 ? |
1989 | je thread_start ; |
1989 | je thread_start ; |
1990 | 1990 | ||
1991 | cmp ah, 3 |
1991 | cmp ah, 3 |
1992 | je call_OpenDialog |
1992 | je call_OpenDialog |
1993 | 1993 | ||
1994 | mov eax,11 ; function 23 - event wait |
1994 | mov eax,11 ; function 23 - event wait |
1995 | mov ebx,1 |
1995 | mov ebx,1 |
1996 | mcall |
1996 | mcall |
1997 | 1997 | ||
1998 | mov eax,15 ; function 23 - event wait |
1998 | mov eax,15 ; function 23 - event wait |
1999 | mov ebx,3 |
1999 | mov ebx,3 |
2000 | mcall |
2000 | mcall |
2001 | 2001 | ||
2002 | ; cmp ah,3 ; = 3 ? |
2002 | ; cmp ah,3 ; = 3 ? |
2003 | jne still |
2003 | jne still |
2004 | 2004 | ||
2005 | close: |
2005 | close: |
2006 | mov eax,-1 |
2006 | mov eax,-1 |
2007 | mcall |
2007 | mcall |
2008 | 2008 | ||
2009 | ;**************************** THREAD-SECOND WINDOW |
2009 | ;**************************** THREAD-SECOND WINDOW |
2010 | thread_start: |
2010 | thread_start: |
2011 | 2011 | ||
2012 | cmp [num_win2],0 |
2012 | cmp [num_win2],0 |
2013 | jne still |
2013 | jne still |
2014 | 2014 | ||
2015 | ;================================================RSA test |
2015 | ;================================================RSA test |
2016 | 2016 | ||
2017 | ;test rsa coding speed |
2017 | ;test rsa coding speed |
2018 | call init_test |
2018 | call init_test |
2019 | ;length of module - 256 bit |
2019 | ;length of module - 256 bit |
2020 | mov eax,26 |
2020 | mov eax,26 |
2021 | mov ebx,9 |
2021 | mov ebx,9 |
2022 | mcall |
2022 | mcall |
2023 | add eax,100 ;test lasts 1 second. |
2023 | add eax,100 ;test lasts 1 second. |
2024 | push eax |
2024 | push eax |
2025 | .loop: |
2025 | .loop: |
2026 | push 4 ;do 4 iterations - this reduces number of calls mcall. |
2026 | push 4 ;do 4 iterations - this reduces number of calls mcall. |
2027 | .loop1: |
2027 | .loop1: |
2028 | call rsa_test ;this procedure change all registers |
2028 | call rsa_test ;this procedure change all registers |
2029 | dec dword [esp] |
2029 | dec dword [esp] |
2030 | jnz .loop1 |
2030 | jnz .loop1 |
2031 | pop ecx |
2031 | pop ecx |
2032 | mov eax,26 |
2032 | mov eax,26 |
2033 | mov ebx,9 |
2033 | mov ebx,9 |
2034 | mcall |
2034 | mcall |
2035 | cmp eax,dword [esp] ;Is time changed? |
2035 | cmp eax,dword [esp] ;Is time changed? |
2036 | jl .loop |
2036 | jl .loop |
2037 | pop eax |
2037 | pop eax |
2038 | shr dword [iter],4 ;[iter] - speed in Kb/sec. (every iteration codes 64 bytes) |
2038 | shr dword [iter],4 ;[iter] - speed in Kb/sec. (every iteration codes 64 bytes) |
2039 | CreateTread window_2,thread2_esp |
2039 | CreateTread window_2,thread2_esp |
2040 | jmp still |
2040 | jmp still |
2041 | 2041 | ||
2042 | window_2: |
2042 | window_2: |
2043 | mov [num_win2],1 |
2043 | mov [num_win2],1 |
2044 | call draw_window_2 |
2044 | call draw_window_2 |
2045 | 2045 | ||
2046 | still_2: |
2046 | still_2: |
2047 | 2047 | ||
2048 | mov eax,10 |
2048 | mov eax,10 |
2049 | mcall |
2049 | mcall |
2050 | 2050 | ||
2051 | cmp eax,1 |
2051 | cmp eax,1 |
2052 | je window_2 ; window_2 |
2052 | je window_2 ; window_2 |
2053 | cmp eax,2 ; |
2053 | cmp eax,2 ; |
2054 | je key_2 ; key_2 |
2054 | je key_2 ; key_2 |
2055 | cmp eax,3 ; |
2055 | cmp eax,3 ; |
2056 | je button_2 ; button_2 |
2056 | je button_2 ; button_2 |
2057 | 2057 | ||
2058 | jmp still_2 ; |
2058 | jmp still_2 ; |
2059 | 2059 | ||
2060 | key_2: ; |
2060 | key_2: ; |
2061 | mcall ; |
2061 | mcall ; |
2062 | jmp still_2 ; |
2062 | jmp still_2 ; |
2063 | 2063 | ||
2064 | button_2: ; |
2064 | button_2: ; |
2065 | mov eax,17 ; 17 |
2065 | mov eax,17 ; 17 |
2066 | mcall ; |
2066 | mcall ; |
2067 | 2067 | ||
2068 | cmp ah,1 ; = 1 ? |
2068 | cmp ah,1 ; = 1 ? |
2069 | jne still_2 ; noclose |
2069 | jne still_2 ; noclose |
2070 | 2070 | ||
2071 | mov [num_win2],0 ; |
2071 | mov [num_win2],0 ; |
2072 | 2072 | ||
2073 | or eax,-1 ; |
2073 | or eax,-1 ; |
2074 | mcall |
2074 | mcall |
2075 | 2075 | ||
2076 | 2076 | ||
2077 | draw_window_2: |
2077 | draw_window_2: |
2078 | 2078 | ||
2079 | ;call prepare_text_area |
2079 | ;call prepare_text_area |
2080 | 2080 | ||
2081 | mov eax,12 ; function 12:tell os about windowdraw |
2081 | mov eax,12 ; function 12:tell os about windowdraw |
2082 | mov ebx,1h ; 1, start of draw |
2082 | mov ebx,1h ; 1, start of draw |
2083 | mcall |
2083 | mcall |
2084 | 2084 | ||
2085 | 2085 | ||
2086 | Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard ;460 |
2086 | Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard ;460 |
2087 | ; place size |
2087 | ; place size |
2088 | 2088 | ||
2089 | 2089 | ||
2090 | Text 15, 10,0x00000000, STDCA, STDCAlen-STDCA |
2090 | Text 15, 10,0x00000000, STDCA, STDCAlen-STDCA |
2091 | Text 215, 10,, EXTCA, EXTCAlen-EXTCA |
2091 | Text 215, 10,, EXTCA, EXTCAlen-EXTCA |
2092 | 2092 | ||
2093 | Text 15, 30,0x00000000, FPU, FPUlen-FPU |
2093 | Text 15, 30,0x00000000, FPU, FPUlen-FPU |
2094 | Text 115, 30,, VME, VMElen-VME |
2094 | Text 115, 30,, VME, VMElen-VME |
2095 | Text 215, 30,, DE, DElen-DE |
2095 | Text 215, 30,, DE, DElen-DE |
2096 | Text 315, 30,, PSE, PSElen-PSE |
2096 | Text 315, 30,, PSE, PSElen-PSE |
2097 | 2097 | ||
2098 | Text 15, 50,,TSC, TSClen-TSC |
2098 | Text 15, 50,,TSC, TSClen-TSC |
2099 | Text 115,50,,MSR, MSRlen-MSR |
2099 | Text 115,50,,MSR, MSRlen-MSR |
2100 | Text 215,50,,PAE, PAElen-PAE |
2100 | Text 215,50,,PAE, PAElen-PAE |
2101 | Text 315,50,,MCE, MCElen-MCE |
2101 | Text 315,50,,MCE, MCElen-MCE |
2102 | 2102 | ||
2103 | Text 15,70,,CX8, CX8len-CX8 |
2103 | Text 15,70,,CX8, CX8len-CX8 |
2104 | Text 115,70,,APIC, APIClen-APIC |
2104 | Text 115,70,,APIC, APIClen-APIC |
2105 | Text 215,70,,Res, Reslen-Res |
2105 | Text 215,70,,Res, Reslen-Res |
2106 | Text 315,70,,SEP, SEPlen-SEP |
2106 | Text 315,70,,SEP, SEPlen-SEP |
2107 | 2107 | ||
2108 | Text 15,90,,MTRR, MTRRlen-MTRR |
2108 | Text 15,90,,MTRR, MTRRlen-MTRR |
2109 | Text 115,90,,PGE, PGElen-PGE |
2109 | Text 115,90,,PGE, PGElen-PGE |
2110 | Text 215,90,,MCA, MCAlen-MCA |
2110 | Text 215,90,,MCA, MCAlen-MCA |
2111 | Text 315,90,,CMOV, CMOVlen-CMOV |
2111 | Text 315,90,,CMOV, CMOVlen-CMOV |
2112 | 2112 | ||
2113 | Text 15,110,,PAT, PATlen-PAT |
2113 | Text 15,110,,PAT, PATlen-PAT |
2114 | Text 115,110,,PSE36, PSE36len-PSE36 |
2114 | Text 115,110,,PSE36, PSE36len-PSE36 |
2115 | Text 215,110,,PSNUM, PSNUMlen-PSNUM |
2115 | Text 215,110,,PSNUM, PSNUMlen-PSNUM |
2116 | Text 315,110,,CLFLUSHn, CLFLUSHnlen-CLFLUSHn |
2116 | Text 315,110,,CLFLUSHn, CLFLUSHnlen-CLFLUSHn |
2117 | 2117 | ||
2118 | Text 15,130,,Res, Reslen-Res |
2118 | Text 15,130,,Res, Reslen-Res |
2119 | Text 115,130,,DTS, DTSlen-DTS |
2119 | Text 115,130,,DTS, DTSlen-DTS |
2120 | Text 215,130,,ACPI, ACPIlen-ACPI |
2120 | Text 215,130,,ACPI, ACPIlen-ACPI |
2121 | Text 315,130,,MMX, MMXlen-MMX |
2121 | Text 315,130,,MMX, MMXlen-MMX |
2122 | 2122 | ||
2123 | Text 15,150,,FXSR, FXSRlen-FXSR |
2123 | Text 15,150,,FXSR, FXSRlen-FXSR |
2124 | Text 115,150,,SSE, SSElen-SSE |
2124 | Text 115,150,,SSE, SSElen-SSE |
2125 | Text 215,150,,SSE2, SSE2len-SSE2 |
2125 | Text 215,150,,SSE2, SSE2len-SSE2 |
2126 | Text 315,150,,SSn, SSnlen-SSn |
2126 | Text 315,150,,SSn, SSnlen-SSn |
2127 | 2127 | ||
2128 | Text 15,170,,HTT, HTTnlen-HTTn |
2128 | Text 15,170,,HTT, HTTnlen-HTTn |
2129 | Text 115,170,,TM, TMlen-TM |
2129 | Text 115,170,,TM, TMlen-TM |
2130 | Text 215,170,,IA64, IA64len-IA64 |
2130 | Text 215,170,,IA64, IA64len-IA64 |
2131 | Text 315,170,,PBE, PBElen-PBE |
2131 | Text 315,170,,PBE, PBElen-PBE |
2132 | ;--------------- |
2132 | ;--------------- |
2133 | DrawLine 0, 410, 185,185,0x8080FF ;10 |
2133 | DrawLine 0, 410, 185,185,0x8080FF ;10 |
2134 | 2134 | ||
2135 | mov eax,$80000000 |
2135 | mov eax,$80000000 |
2136 | cpuid |
2136 | cpuid |
2137 | ;mov eax, $03020101 \A0for test of reaction |
2137 | ;mov eax, $03020101 \A0for test of reaction |
2138 | test eax, eax |
2138 | test eax, eax |
2139 | js goooddd |
2139 | js goooddd |
2140 | 2140 | ||
2141 | baaadd: |
2141 | baaadd: |
2142 | Text 95,235,0x00000000,NEF, NEFlen-NEF |
2142 | Text 95,235,0x00000000,NEF, NEFlen-NEF |
2143 | jmp too |
2143 | jmp too |
2144 | 2144 | ||
2145 | goooddd: |
2145 | goooddd: |
2146 | Text 15,195,0x00000000,SS3, SS3len-SS3 |
2146 | Text 15,195,0x00000000,SS3, SS3len-SS3 |
2147 | Text 15,215,,MON, MONlen-MON |
2147 | Text 15,215,,MON, MONlen-MON |
2148 | Text 15,235,,DS_CPL, DS_CPLlen-DS_CPL |
2148 | Text 15,235,,DS_CPL, DS_CPLlen-DS_CPL |
2149 | Text 15,255,,EST, ESTlen-EST |
2149 | Text 15,255,,EST, ESTlen-EST |
2150 | Text 15,275,,TM2, TM2len-TM2 |
2150 | Text 15,275,,TM2, TM2len-TM2 |
2151 | Text 15,295,,VMX, VMXlen-VMX |
2151 | Text 15,295,,VMX, VMXlen-VMX |
2152 | Text 15,315,,SVM, SVMlen-SVM |
2152 | Text 15,315,,SVM, SVMlen-SVM |
2153 | 2153 | ||
2154 | Text 15,355,0x00000000,SMX, SMXlen-SMX |
2154 | Text 15,355,0x00000000,SMX, SMXlen-SMX |
2155 | Text 15,335,0x00000000,PAGE, PAGElen-PAGE |
2155 | Text 15,335,0x00000000,PAGE, PAGElen-PAGE |
2156 | Text 15,375,0x00000000,MIS, MISlen-MIS |
2156 | Text 15,375,0x00000000,MIS, MISlen-MIS |
2157 | Text 115,355,0x00000000,WDT, WDTlen-WDT |
2157 | Text 115,355,0x00000000,WDT, WDTlen-WDT |
2158 | 2158 | ||
2159 | Text 115,195,,CNXT_ID, CNXT_IDlen-CNXT_ID |
2159 | Text 115,195,,CNXT_ID, CNXT_IDlen-CNXT_ID |
2160 | Text 115,215,,CX16, CX16len-CX16 |
2160 | Text 115,215,,CX16, CX16len-CX16 |
2161 | Text 115,235,,ETPRD, ETPRDlen-ETPRD |
2161 | Text 115,235,,ETPRD, ETPRDlen-ETPRD |
2162 | Text 115,255,,SYS, SYSlen-SYS |
2162 | Text 115,255,,SYS, SYSlen-SYS |
2163 | Text 115,275,,LAF, LAFlen-LAF |
2163 | Text 115,275,,LAF, LAFlen-LAF |
2164 | Text 115,295,,SSSE3, SSSE3len-SSSE3 |
2164 | Text 115,295,,SSSE3, SSSE3len-SSSE3 |
2165 | Text 115,315,,MCR8, MCR8len-MCR8 |
2165 | Text 115,315,,MCR8, MCR8len-MCR8 |
2166 | 2166 | ||
2167 | 2167 | ||
2168 | Text 115,335,0x00000000,EAS, EASlen-EAS |
2168 | Text 115,335,0x00000000,EAS, EASlen-EAS |
2169 | 2169 | ||
2170 | Text 115,375,0x00000000,DNP, DNPlen-DNP |
2170 | Text 115,375,0x00000000,DNP, DNPlen-DNP |
2171 | 2171 | ||
2172 | 2172 | ||
2173 | Text 315,375,0x00000000,SSE5, SSE5len-SSE5 |
2173 | Text 315,375,0x00000000,SSE5, SSE5len-SSE5 |
2174 | 2174 | ||
2175 | Text 215,195,,MP, MPlen-MP |
2175 | Text 215,195,,MP, MPlen-MP |
2176 | Text 215,215,,NX, NXlen-NX |
2176 | Text 215,215,,NX, NXlen-NX |
2177 | Text 215,235,,MMXPi, MMXPilen-MMXPi |
2177 | Text 215,235,,MMXPi, MMXPilen-MMXPi |
2178 | Text 215,255,,MMXn, MMXnlen-MMXn |
2178 | Text 215,255,,MMXn, MMXnlen-MMXn |
2179 | Text 215,275,,FXSRn, FXSRnlen-FXSRn |
2179 | Text 215,275,,FXSRn, FXSRnlen-FXSRn |
2180 | Text 215,295,,DCA,DCAlen-DCA |
2180 | Text 215,295,,DCA,DCAlen-DCA |
2181 | 2181 | ||
2182 | Text 315,295,0x00000000,SSE41,SSE41len-SSE41 |
2182 | Text 315,295,0x00000000,SSE41,SSE41len-SSE41 |
2183 | Text 215,335,0x00000000,x2APIC,x2APIClen-x2APIC |
2183 | Text 215,335,0x00000000,x2APIC,x2APIClen-x2APIC |
2184 | Text 215,355,0x00000000,ABM,ABMlen-ABM |
2184 | Text 215,355,0x00000000,ABM,ABMlen-ABM |
2185 | Text 215,375,0x00000000,OSVW,OSVWlen-OSVW |
2185 | Text 215,375,0x00000000,OSVW,OSVWlen-OSVW |
2186 | 2186 | ||
2187 | Text 315,195,,FFXSR, FFXSRlen-FFXSR |
2187 | Text 315,195,,FFXSR, FFXSRlen-FFXSR |
2188 | Text 315,215,,TSCP, TSCPlen-TSCP |
2188 | Text 315,215,,TSCP, TSCPlen-TSCP |
2189 | Text 315,235,,LM, LMlen-LM |
2189 | Text 315,235,,LM, LMlen-LM |
2190 | Text 315,255,,DNo, DNolen-DNo |
2190 | Text 315,255,,DNo, DNolen-DNo |
2191 | Text 315,275,,DN, DNlen-DN |
2191 | Text 315,275,,DN, DNlen-DN |
2192 | Text 215,315,,CMPL, CMPLlen-CMPL |
2192 | Text 215,315,,CMPL, CMPLlen-CMPL |
2193 | Text 315,315,0x00000000,SS42,SS42len-SS42 |
2193 | Text 315,315,0x00000000,SS42,SS42len-SS42 |
2194 | Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT |
2194 | Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT |
2195 | Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A |
2195 | Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A |
2196 | Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_ |
2196 | Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_ |
2197 | 2197 | ||
2198 | too: |
2198 | too: |
2199 | DrawLine 10, 400, 430,430,0x8080FF ;10 |
2199 | DrawLine 10, 400, 430,430,0x8080FF ;10 |
2200 | 2200 | ||
2201 | Text 15,415,0x00000000,speed, speedlen-speed |
2201 | Text 15,415,0x00000000,speed, speedlen-speed |
2202 | Text 130,415,,kbpersec, kbperseclen-kbpersec |
2202 | Text 130,415,,kbpersec, kbperseclen-kbpersec |
2203 | 2203 | ||
2204 | DrawLine 10, 80, 400, 400, 0x8080FF |
2204 | DrawLine 10, 80, 400, 400, 0x8080FF |
2205 | 2205 | ||
2206 | Text 90,400,0x80000000,performancestr, 0 |
2206 | Text 90,400,0x80000000,performancestr, 0 |
2207 | DrawLine 322, 400, 400, 400, 0x8080FF |
2207 | DrawLine 322, 400, 400, 400, 0x8080FF |
2208 | DrawLine 10, 10, 400, 490, 0x8080FF |
2208 | DrawLine 10, 10, 400, 490, 0x8080FF |
2209 | DrawLine 400, 400, 400, 490, 0x8080FF |
2209 | DrawLine 400, 400, 400, 490, 0x8080FF |
2210 | 2210 | ||
2211 | DrawLine 10, 400, 490, 490, 0x8080FF |
2211 | DrawLine 10, 400, 490, 490, 0x8080FF |
2212 | 2212 | ||
2213 | ; your proc |
2213 | ; your proc |
2214 | Text 20,415,0x808080FF,currentcpu, 0 |
2214 | Text 20,415,0x808080FF,currentcpu, 0 |
2215 | Number 170,415,0,5,dword [iter],0x000000 ; + 15 |
2215 | Number 170,415,0,5,dword [iter],0x000000 ; + 15 |
2216 | ;Text 115,370,,kbpersec, kbperseclen-kbpersec ;+ 355 |
2216 | ;Text 115,370,,kbpersec, kbperseclen-kbpersec ;+ 355 |
2217 | mov eax, dword[iter] |
2217 | mov eax, dword[iter] |
2218 | ;mov ebx, 100 |
2218 | ;mov ebx, 100 |
2219 | ;mul ebx |
2219 | ;mul ebx |
2220 | add eax, 215 |
2220 | add eax, 215 |
2221 | mov word[linelen], ax ; need to store it as drawline corrupts eax |
2221 | mov word[linelen], ax ; need to store it as drawline corrupts eax |
2222 | DrawLine 215, [linelen], 416,416,0x8080FF ;10 + 355 , 357 |
2222 | DrawLine 215, [linelen], 416,416,0x8080FF ;10 + 355 , 357 |
2223 | DrawLine 215, [linelen], 417,417,0x8080FF ;10 |
2223 | DrawLine 215, [linelen], 417,417,0x8080FF ;10 |
2224 | DrawLine 215, [linelen], 418,418,0x8080FF ;10 |
2224 | DrawLine 215, [linelen], 418,418,0x8080FF ;10 |
2225 | ;;; DrawLine 20, 390, 371,371,0x8080FF ;10 |
2225 | ;;; DrawLine 20, 390, 371,371,0x8080FF ;10 |
2226 | 2226 | ||
2227 | ; sample proc 1 |
2227 | ; sample proc 1 |
2228 | Text 20,435,0x80000000,samplename1,0 ; 10 + 40 + 40 +40 + 380 |
2228 | Text 20,435,0x80000000,samplename1,0 ; 10 + 40 + 40 +40 + 380 |
2229 | Number 170,435,0,5,dword [samplespeed1],0x000000; ; 25 + 40 + 40 +40 + 380 |
2229 | Number 170,435,0,5,dword [samplespeed1],0x000000; ; 25 + 40 + 40 +40 + 380 |
2230 | ;Text 115,470,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 +40 + 380 |
2230 | ;Text 115,470,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 +40 + 380 |
2231 | mov eax, dword[samplespeed1] |
2231 | mov eax, dword[samplespeed1] |
2232 | add eax, 215 |
2232 | add eax, 215 |
2233 | mov dword[linelen], eax ; need to store it as drawline corrupts eax |
2233 | mov dword[linelen], eax ; need to store it as drawline corrupts eax |
2234 | DrawLine 215, [linelen], 436,436,0x8080FF ;27+40 + 40 +40 + 380 |
2234 | DrawLine 215, [linelen], 436,436,0x8080FF ;27+40 + 40 +40 + 380 |
2235 | DrawLine 215, [linelen], 437,437,0x8080FF ;10 |
2235 | DrawLine 215, [linelen], 437,437,0x8080FF ;10 |
2236 | DrawLine 215, [linelen], 438,438,0x8080FF ;10 |
2236 | DrawLine 215, [linelen], 438,438,0x8080FF ;10 |
2237 | 2237 | ||
2238 | ; sample proc 2 |
2238 | ; sample proc 2 |
2239 | Text 20,455,0x80000000,samplename2,0 ; 10 + 40 + 350 |
2239 | Text 20,455,0x80000000,samplename2,0 ; 10 + 40 + 350 |
2240 | Number 170,455,0,5,dword [samplespeed2],0x000000; ; 25 + 40 + 350 |
2240 | Number 170,455,0,5,dword [samplespeed2],0x000000; ; 25 + 40 + 350 |
2241 | ;Text 115,410,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 350 |
2241 | ;Text 115,410,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 350 |
2242 | mov eax, dword[samplespeed2] |
2242 | mov eax, dword[samplespeed2] |
2243 | add eax, 215 |
2243 | add eax, 215 |
2244 | mov dword[linelen], eax ; need to store it as drawline corrupts eax |
2244 | mov dword[linelen], eax ; need to store it as drawline corrupts eax |
2245 | DrawLine 215, [linelen], 456,456,0x8080FF ;27+40 + 355 |
2245 | DrawLine 215, [linelen], 456,456,0x8080FF ;27+40 + 355 |
2246 | DrawLine 215, [linelen], 457,457,0x8080FF ;10 |
2246 | DrawLine 215, [linelen], 457,457,0x8080FF ;10 |
2247 | DrawLine 215, [linelen], 458,458,0x8080FF ;10 |
2247 | DrawLine 215, [linelen], 458,458,0x8080FF ;10 |
2248 | 2248 | ||
2249 | ; sample proc 3 |
2249 | ; sample proc 3 |
2250 | Text 20,475,0x80000000,samplename3,0 ; 10 + 40 + 40 + 38 |
2250 | Text 20,475,0x80000000,samplename3,0 ; 10 + 40 + 40 + 38 |
2251 | Number 170,475,0,5,dword [samplespeed3],0x000000; ; 25 + 40 + 40 + 355 |
2251 | Number 170,475,0,5,dword [samplespeed3],0x000000; ; 25 + 40 + 40 + 355 |
2252 | ;Text 115,440,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 + 380 |
2252 | ;Text 115,440,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 + 380 |
2253 | mov eax, dword[samplespeed3] |
2253 | mov eax, dword[samplespeed3] |
2254 | add eax, 215 |
2254 | add eax, 215 |
2255 | mov dword[linelen], eax ; need to store it as drawline corrupts eax |
2255 | mov dword[linelen], eax ; need to store it as drawline corrupts eax |
2256 | DrawLine 215, [linelen], 476,476,0x8080FF ;27+40 + 40 |
2256 | DrawLine 215, [linelen], 476,476,0x8080FF ;27+40 + 40 |
2257 | DrawLine 215, [linelen], 477,477,0x8080FF ;10 |
2257 | DrawLine 215, [linelen], 477,477,0x8080FF ;10 |
2258 | DrawLine 215, [linelen], 478,478,0x8080FF ;10 |
2258 | DrawLine 215, [linelen], 478,478,0x8080FF ;10 |
2259 | 2259 | ||
2260 | mov eax,12 |
2260 | mov eax,12 |
2261 | mov ebx,2h |
2261 | mov ebx,2h |
2262 | mcall |
2262 | mcall |
2263 | 2263 | ||
2264 | ret |
2264 | ret |
2265 | 2265 | ||
2266 | linelen dd 0 |
2266 | linelen dd 0 |
2267 | currentcpu db 'Current CPU',0 |
2267 | currentcpu db 'Current CPU',0 |
2268 | samplename1 db 'Intel Core i5 CPU', 0x000000 ; not real results! |
2268 | samplename1 db 'Intel Core i5 CPU', 0x000000 ; not real results! |
2269 | samplespeed1 dd 62 |
2269 | samplespeed1 dd 62 |
2270 | samplename2 db 'Intel Core i3 CPU', 0 |
2270 | samplename2 db 'Intel Core i3 CPU', 0 |
2271 | samplespeed2 dd 48 |
2271 | samplespeed2 dd 48 |
2272 | samplename3 db 'Intel Pentium Dual CPU', 0 |
2272 | samplename3 db 'Intel Pentium Dual CPU', 0 |
2273 | samplespeed3 dd 35 |
2273 | samplespeed3 dd 35 |
2274 | performancestr db 'PERFORMANCE (KB/S in RSA test 256 bit)',0 |
2274 | performancestr db 'PERFORMANCE (KB/S in RSA test 256 bit)',0 |
2275 | ptsstring db '' |
2275 | ptsstring db '' |
2276 | num_win2 db 0 |
2276 | num_win2 db 0 |
2277 | 2277 | ||
2278 | draw_window: |
2278 | draw_window: |
2279 | mcall SF_REDRAW, SSF_BEGIN_DRAW |
2279 | mcall SF_REDRAW, SSF_BEGIN_DRAW |
2280 | 2280 | ||
2281 | Window 150, 150, 350, 405, 0x34FFFFFF, 0x805080d0, title |
2281 | Window 150, 150, 350, 405, 0x34FFFFFF, 0x805080d0, title |
2282 | 2282 | ||
2283 | mov esi, [sc.work_button] |
2283 | mov esi, [sc.work_button] |
2284 | DefineButton 138, 345, 92, 24, 2, |
2284 | DefineButton 138, 345, 92, 24, 2, |
2285 | DefineButton 238, 345, 92, 24, 3, |
2285 | DefineButton 238, 345, 92, 24, 3, |
2286 | 2286 | ||
2287 | mov ecx, [sc.work_button_text] |
2287 | mov ecx, [sc.work_button_text] |
2288 | or ecx, 0x90000000 |
2288 | or ecx, 0x90000000 |
2289 | mov edx, btn_more_cap |
2289 | mov edx, btn_more_cap |
2290 | mcall SF_DRAW_TEXT, (138 + (92 - 7 * 8) / 2) shl 16 + 350 |
2290 | mcall SF_DRAW_TEXT, (138 + (92 - 7 * 8) / 2) shl 16 + 350 |
2291 | mov edx, btn_save_cap |
2291 | mov edx, btn_save_cap |
2292 | mcall SF_DRAW_TEXT, (238 + (92 - 4 * 8) / 2) shl 16 + 350 |
2292 | mcall SF_DRAW_TEXT, (238 + (92 - 4 * 8) / 2) shl 16 + 350 |
2293 | 2293 | ||
2294 | Text 130,270,0x00000000,instruct, instructlen-instruct |
2294 | Text 130,270,0x00000000,instruct, instructlen-instruct |
2295 | DrawLine 10, 330, 340,340,0x8080FF |
2295 | DrawLine 10, 330, 340,340,0x8080FF |
2296 | DrawLine 330, 330, 275,340;,0x8080FF |
2296 | DrawLine 330, 330, 275,340;,0x8080FF |
2297 | DrawLine 10, 10, 275,340;,0x8080FF |
2297 | DrawLine 10, 10, 275,340;,0x8080FF |
2298 | DrawLine 10, 125, 275,275;,0x8080FF |
2298 | DrawLine 10, 125, 275,275;,0x8080FF |
2299 | DrawLine 230, 330, 275,275;,0x8080FF |
2299 | DrawLine 230, 330, 275,275;,0x8080FF |
2300 | 2300 | ||
2301 | cmp dword[smallvendor], 'cAMD' |
2301 | cmp dword[smallvendor], 'cAMD' |
2302 | jne cont |
2302 | jne cont |
2303 | cmp [f], $6 |
2303 | cmp [f], $6 |
2304 | jne cont |
2304 | jne cont |
2305 | 2305 | ||
2306 | ; Button 240,85,69,15,3,0x030000FF ; button for rating |
2306 | ; Button 240,85,69,15,3,0x030000FF ; button for rating |
2307 | ; Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button |
2307 | ; Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button |
2308 | 2308 | ||
2309 | call newrating; !!!! |
2309 | call newrating; !!!! |
2310 | 2310 | ||
2311 | cont: |
2311 | cont: |
2312 | ;Number 82,50,0,4,dword [total],0x000000; MHz |
2312 | ;Number 82,50,0,4,dword [total],0x000000; MHz |
2313 | mov esi, total |
2313 | mov esi, total |
2314 | mov edi, tsum + 0xB ;0xA |
2314 | mov edi, tsum + 0xB ;0xA |
2315 | call savenumber |
2315 | call savenumber |
2316 | 2316 | ||
2317 | ;Number 110,50,0,2,dword [sot]; KHz |
2317 | ;Number 110,50,0,2,dword [sot]; KHz |
2318 | mov esi, sot |
2318 | mov esi, sot |
2319 | mov edi, tsum + 0x10 |
2319 | mov edi, tsum + 0x10 |
2320 | call savenumber |
2320 | call savenumber |
2321 | 2321 | ||
2322 | ;Number 75,110,1*256,1,dword [f],0x000000 ; |
2322 | ;Number 75,110,1*256,1,dword [f],0x000000 ; |
2323 | mov esi, f |
2323 | mov esi, f |
2324 | mov edi, fam + 0x8 ;0x9 |
2324 | mov edi, fam + 0x8 ;0x9 |
2325 | call savenumber |
2325 | call savenumber |
2326 | 2326 | ||
2327 | ;Number 75,130,,,dword [m] |
2327 | ;Number 75,130,,,dword [m] |
2328 | mov esi, m |
2328 | mov esi, m |
2329 | mov edi, mode + 0x7 |
2329 | mov edi, mode + 0x7 |
2330 | call savenumber |
2330 | call savenumber |
2331 | 2331 | ||
2332 | ;Number 75,150,,,dword [s] |
2332 | ;Number 75,150,,,dword [s] |
2333 | mov esi, s |
2333 | mov esi, s |
2334 | mov edi, step + 0xa ;0x9 |
2334 | mov edi, step + 0xa ;0x9 |
2335 | call savenumber |
2335 | call savenumber |
2336 | 2336 | ||
2337 | ;Number 110,110,1*256,2,dword [ef] |
2337 | ;Number 110,110,1*256,2,dword [ef] |
2338 | mov esi, ef |
2338 | mov esi, ef |
2339 | mov edi, fam + 0xE ;0x9 |
2339 | mov edi, fam + 0xE ;0x9 |
2340 | call savenumber |
2340 | call savenumber |
2341 | 2341 | ||
2342 | ;Number 110,130,,,dword [em] |
2342 | ;Number 110,130,,,dword [em] |
2343 | mov esi, em |
2343 | mov esi, em |
2344 | mov edi, mode + 0xE ;0xD |
2344 | mov edi, mode + 0xE ;0xD |
2345 | call savenumber |
2345 | call savenumber |
2346 | 2346 | ||
2347 | mov esi, multb |
2347 | mov esi, multb |
2348 | mov edi, multil + 0xB |
2348 | mov edi, multil + 0xB |
2349 | call savenumber |
2349 | call savenumber |
2350 | 2350 | ||
2351 | ;Number 105,30,0,1,dword [multa] |
2351 | ;Number 105,30,0,1,dword [multa] |
2352 | mov esi, multa |
2352 | mov esi, multa |
2353 | mov edi, multil + 0xf |
2353 | mov edi, multil + 0xf |
2354 | call savenumber |
2354 | call savenumber |
2355 | 2355 | ||
2356 | ;Number 140,170,0,2,dword [wayld],0x000000 |
2356 | ;Number 140,170,0,2,dword [wayld],0x000000 |
2357 | mov esi, wayld |
2357 | mov esi, wayld |
2358 | mov edi, cache2 + 0x14 ;0x14 |
2358 | mov edi, cache2 + 0x14 ;0x14 |
2359 | call savenumber |
2359 | call savenumber |
2360 | 2360 | ||
2361 | ;Number 218,170,,,dword [lineld] |
2361 | ;Number 218,170,,,dword [lineld] |
2362 | mov esi, lineld |
2362 | mov esi, lineld |
2363 | mov edi, cache2 + 0x21 |
2363 | mov edi, cache2 + 0x21 |
2364 | call savenumber |
2364 | call savenumber |
2365 | 2365 | ||
2366 | ;Number 140,190,,,dword [wayli] |
2366 | ;Number 140,190,,,dword [wayli] |
2367 | mov esi, wayli |
2367 | mov esi, wayli |
2368 | mov edi, cache + 0x14 |
2368 | mov edi, cache + 0x14 |
2369 | call savenumber |
2369 | call savenumber |
2370 | ;Number 218,190,,,dword [lineli] |
2370 | ;Number 218,190,,,dword [lineli] |
2371 | mov esi, lineli |
2371 | mov esi, lineli |
2372 | mov edi, cache + 0x21 |
2372 | mov edi, cache + 0x21 |
2373 | call savenumber |
2373 | call savenumber |
2374 | 2374 | ||
2375 | ;Number 140,210,,,dword [wayl2] |
2375 | ;Number 140,210,,,dword [wayl2] |
2376 | mov esi, wayl2 |
2376 | mov esi, wayl2 |
2377 | mov edi, cache3 + 0x14 |
2377 | mov edi, cache3 + 0x14 |
2378 | call savenumber |
2378 | call savenumber |
2379 | ;Number 218,210,,,dword [linel2] |
2379 | ;Number 218,210,,,dword [linel2] |
2380 | mov esi, linel2 |
2380 | mov esi, linel2 |
2381 | mov edi, cache3 + 0x21 |
2381 | mov edi, cache3 + 0x21 |
2382 | call savenumber |
2382 | call savenumber |
2383 | 2383 | ||
2384 | ;Number 140,230,,,dword [wayl3] |
2384 | ;Number 140,230,,,dword [wayl3] |
2385 | mov esi, wayl3 |
2385 | mov esi, wayl3 |
2386 | mov edi, cache4 + 0x14 |
2386 | mov edi, cache4 + 0x14 |
2387 | call savenumber |
2387 | call savenumber |
2388 | ;Number 218,230,,,dword [linel3] |
2388 | ;Number 218,230,,,dword [linel3] |
2389 | mov esi, linel3 |
2389 | mov esi, linel3 |
2390 | mov edi, cache4 + 0x21 |
2390 | mov edi, cache4 + 0x21 |
2391 | call savenumber |
2391 | call savenumber |
2392 | 2392 | ||
2393 | mov esi, L1d |
2393 | mov esi, L1d |
2394 | mov edi, cache2 + 0xa |
2394 | mov edi, cache2 + 0xa |
2395 | call savenumber |
2395 | call savenumber |
2396 | 2396 | ||
2397 | ;Number 75,190,,,dword [ L1i] |
2397 | ;Number 75,190,,,dword [ L1i] |
2398 | mov esi, L1i |
2398 | mov esi, L1i |
2399 | mov edi, cache + 0xa |
2399 | mov edi, cache + 0xa |
2400 | call savenumber |
2400 | call savenumber |
2401 | 2401 | ||
2402 | ;Number 41,210,0,4,dword[L2] |
2402 | ;Number 41,210,0,4,dword[L2] |
2403 | mov esi, L2 |
2403 | mov esi, L2 |
2404 | mov edi, cache3 + 0x4 ;0x3 |
2404 | mov edi, cache3 + 0x4 ;0x3 |
2405 | call savenumber |
2405 | call savenumber |
2406 | 2406 | ||
2407 | ;Number 35,230,0,5,dword[L3] |
2407 | ;Number 35,230,0,5,dword[L3] |
2408 | mov esi, L3 |
2408 | mov esi, L3 |
2409 | mov edi, cache4 + 0x4 ;0x3 |
2409 | mov edi, cache4 + 0x4 ;0x3 |
2410 | call savenumber |
2410 | call savenumber |
2411 | 2411 | ||
2412 | ;-----------Features |
2412 | ;-----------Features |
2413 | ;Number 258,50,0,2,dword [micron] ; micron |
2413 | ;Number 258,50,0,2,dword [micron] ; micron |
2414 | mov esi, micron |
2414 | mov esi, micron |
2415 | mov edi, tech + 0xE |
2415 | mov edi, tech + 0xE |
2416 | call savenumber |
2416 | call savenumber |
2417 | 2417 | ||
2418 | mov esi, stdc |
2418 | mov esi, stdc |
2419 | mov edi, STDCA + 0x14 |
2419 | mov edi, STDCA + 0x14 |
2420 | call savenumber |
2420 | call savenumber |
2421 | 2421 | ||
2422 | ;Number 335,10,,,dword [extc], |
2422 | ;Number 335,10,,,dword [extc], |
2423 | mov esi, extc |
2423 | mov esi, extc |
2424 | mov edi, EXTCA + 0x14 |
2424 | mov edi, EXTCA + 0x14 |
2425 | call savenumber |
2425 | call savenumber |
2426 | 2426 | ||
2427 | Text 15,90,,cpuname, cpunamelen-cpuname; |
2427 | Text 15,90,,cpuname, cpunamelen-cpuname; |
2428 | Text 255,250,,typen, typenlen-typen |
2428 | Text 255,250,,typen, typenlen-typen |
2429 | Text 175, 50,,tech, techlen-tech; |
2429 | Text 175, 50,,tech, techlen-tech; |
2430 | 2430 | ||
2431 | red2: |
2431 | red2: |
2432 | 2432 | ||
2433 | ;;;;;;;;;;;;;;;;;;;;;;;; |
2433 | ;;;;;;;;;;;;;;;;;;;;;;;; |
2434 | goon: |
2434 | goon: |
2435 | 2435 | ||
2436 | call decodebrand |
2436 | call decodebrand |
2437 | 2437 | ||
2438 | typedetect: |
2438 | typedetect: |
2439 | mov edx, t1 |
2439 | mov edx, t1 |
2440 | cmp [t], 00b |
2440 | cmp [t], 00b |
2441 | jz @f |
2441 | jz @f |
2442 | mov edx, t2 |
2442 | mov edx, t2 |
2443 | cmp [t], 01b |
2443 | cmp [t], 01b |
2444 | jz @f |
2444 | jz @f |
2445 | mov edx, t3 |
2445 | mov edx, t3 |
2446 | cmp [t], 11b |
2446 | cmp [t], 11b |
2447 | jz @f |
2447 | jz @f |
2448 | mov edx, t4 |
2448 | mov edx, t4 |
2449 | @@: |
2449 | @@: |
2450 | mov ebx, 290*65536 + 250 |
2450 | mov ebx, 290*65536 + 250 |
2451 | mov ecx, 0x80000000 |
2451 | mov ecx, 0x80000000 |
2452 | mcall 4 |
2452 | mcall 4 |
2453 | 2453 | ||
2454 | Text 15,250,,brandid, brandidlen-brandid |
2454 | Text 15,250,,brandid, brandidlen-brandid |
2455 | 2455 | ||
2456 | Text 15,50,0x00000000,tsum, tsumlen-tsum |
2456 | Text 15,50,0x00000000,tsum, tsumlen-tsum |
2457 | Text 15,110,0x00000000,fam, famlen-fam |
2457 | Text 15,110,0x00000000,fam, famlen-fam |
2458 | Text 15,130,0x00000000,mode, modelen-mode |
2458 | Text 15,130,0x00000000,mode, modelen-mode |
2459 | Text 15,150,0x00000000,step, steplen-step |
2459 | Text 15,150,0x00000000,step, steplen-step |
2460 | 2460 | ||
2461 | Text 275,290,0x00000000,HTT, HTTlen-HTT |
2461 | Text 275,290,0x00000000,HTT, HTTlen-HTT |
2462 | Text 275,310,,sse3, sse3len-sse3 |
2462 | Text 275,310,,sse3, sse3len-sse3 |
2463 | 2463 | ||
2464 | Text 175,290,0x00000000,SSE41, SSE41len-SSE41 |
2464 | Text 175,290,0x00000000,SSE41, SSE41len-SSE41 |
2465 | Text 175,310,0x00000000,SSE42, SSE42len-SSE42 |
2465 | Text 175,310,0x00000000,SSE42, SSE42len-SSE42 |
2466 | Text 175,330,0x00000000,SSE5, SSE5len-SSE5 |
2466 | Text 175,330,0x00000000,SSE5, SSE5len-SSE5 |
2467 | 2467 | ||
2468 | 2468 | ||
2469 | Text 15,70,,name, namelen-name |
2469 | Text 15,70,,name, namelen-name |
2470 | Text 15,290,,MMXs, MMXslen-MMXs |
2470 | Text 15,290,,MMXs, MMXslen-MMXs |
2471 | Text 15,310,,SSE, SSElen-SSE |
2471 | Text 15,310,,SSE, SSElen-SSE |
2472 | Text 95,310,,SSE2, SSE2len-SSE2 |
2472 | Text 95,310,,SSE2, SSE2len-SSE2 |
2473 | 2473 | ||
2474 | Text 95,290,,mmxp, mmxplen-mmxp |
2474 | Text 95,290,,mmxp, mmxplen-mmxp |
2475 | Text 15,330,0x00000000,now, nowlen-now |
2475 | Text 15,330,0x00000000,now, nowlen-now |
2476 | Text 95,330,,nowp, nowplen-nowp |
2476 | Text 95,330,,nowp, nowplen-nowp |
2477 | 2477 | ||
2478 | Text 15, 190,0x00000000,cache, cachelen-cache |
2478 | Text 15, 190,0x00000000,cache, cachelen-cache |
2479 | Text 15,170,0x00000000,cache2, cache2len-cache2 |
2479 | Text 15,170,0x00000000,cache2, cache2len-cache2 |
2480 | Text 15,210,,cache3, cache3len-cache3 |
2480 | Text 15,210,,cache3, cache3len-cache3 |
2481 | Text 15,230,,cache4, cache4len-cache4 |
2481 | Text 15,230,,cache4, cache4len-cache4 |
2482 | call load_gif |
2482 | call load_gif |
2483 | 2483 | ||
2484 | cmp [nomultiplier], $1 |
2484 | cmp [nomultiplier], $1 |
2485 | je nomultip |
2485 | je nomultip |
2486 | Text 15,30,0x00000000,multil2, multil2len-multil2 |
2486 | Text 15,30,0x00000000,multil2, multil2len-multil2 |
2487 | Text 175,30,0x00000000,freql2, freql2len-freql2 |
2487 | Text 175,30,0x00000000,freql2, freql2len-freql2 |
2488 | Number 85,30,0,2,dword [multb],0x000000; |
2488 | Number 85,30,0,2,dword [multb],0x000000; |
2489 | Number 105,30,0,1,dword [multa] |
2489 | Number 105,30,0,1,dword [multa] |
2490 | Number 259,30,0,4,dword [freqbb] |
2490 | Number 259,30,0,4,dword [freqbb] |
2491 | Number 289,30,0,2,dword [freqll] |
2491 | Number 289,30,0,2,dword [freqll] |
2492 | 2492 | ||
2493 | JumpForCodename: |
2493 | JumpForCodename: |
2494 | cmp [codeN], $1 |
2494 | cmp [codeN], $1 |
2495 | je codeNIntel |
2495 | je codeNIntel |
2496 | cmp [codeN], $2 |
2496 | cmp [codeN], $2 |
2497 | je codeNAMD |
2497 | je codeNAMD |
2498 | cmp [codeN], $3 |
2498 | cmp [codeN], $3 |
2499 | je codeNCyrix |
2499 | je codeNCyrix |
2500 | cmp [codeN], $4 |
2500 | cmp [codeN], $4 |
2501 | je codeNCentaur |
2501 | je codeNCentaur |
2502 | cmp [codeN],$5 |
2502 | cmp [codeN],$5 |
2503 | je codeNTransmeta |
2503 | je codeNTransmeta |
2504 | cmp [codeN], $6 |
2504 | cmp [codeN], $6 |
2505 | je codeNVortex |
2505 | je codeNVortex |
2506 | jmp nnn |
2506 | jmp nnn |
2507 | 2507 | ||
2508 | codeNIntel: |
2508 | codeNIntel: |
2509 | Text 75,70,0x00000000,Inteln, Intelnlen-Inteln |
2509 | Text 75,70,0x00000000,Inteln, Intelnlen-Inteln |
2510 | mov esi, intel |
2510 | mov esi, intel |
2511 | call load_gif |
2511 | call load_gif |
2512 | PutImage 135,107,201,49,img_area+8 |
2512 | PutImage 135,107,201,49,img_area+8 |
2513 | jmp nnn |
2513 | jmp nnn |
2514 | 2514 | ||
2515 | codeNAMD: |
2515 | codeNAMD: |
2516 | Text 75,70,,AMDn, AMDnlen-AMDn |
2516 | Text 75,70,,AMDn, AMDnlen-AMDn |
2517 | mov esi, amd |
2517 | mov esi, amd |
2518 | call load_gif |
2518 | call load_gif |
2519 | PutImage 135,107,201,49,img_area+8 |
2519 | PutImage 135,107,201,49,img_area+8 |
2520 | jmp nnn |
2520 | jmp nnn |
2521 | 2521 | ||
2522 | codeNCyrix: |
2522 | codeNCyrix: |
2523 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
2523 | Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn |
2524 | mov esi, cyrix |
2524 | mov esi, cyrix |
2525 | call load_gif |
2525 | call load_gif |
2526 | PutImage 135,107,201,49,img_area+8 |
2526 | PutImage 135,107,201,49,img_area+8 |
2527 | jmp nnn |
2527 | jmp nnn |
2528 | 2528 | ||
2529 | codeNCentaur: |
2529 | codeNCentaur: |
2530 | Text 75,70,0x00000000,IDTn, IDTnlen-IDTn |
2530 | Text 75,70,0x00000000,IDTn, IDTnlen-IDTn |
2531 | mov esi, idt |
2531 | mov esi, idt |
2532 | call load_gif |
2532 | call load_gif |
2533 | PutImage 135,107,201,49,img_area+8 |
2533 | PutImage 135,107,201,49,img_area+8 |
2534 | jmp nnn |
2534 | jmp nnn |
2535 | 2535 | ||
2536 | codeNTransmeta: |
2536 | codeNTransmeta: |
2537 | Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan |
2537 | Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan |
2538 | mov esi, transmeta |
2538 | mov esi, transmeta |
2539 | call load_gif |
2539 | call load_gif |
2540 | PutImage 135,107,201,49,img_area+8 |
2540 | PutImage 135,107,201,49,img_area+8 |
2541 | jmp nnn |
2541 | jmp nnn |
2542 | 2542 | ||
2543 | codeNVortex: |
2543 | codeNVortex: |
2544 | Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn |
2544 | Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn |
2545 | mov esi, vortex |
2545 | mov esi, vortex |
2546 | call load_gif |
2546 | call load_gif |
2547 | PutImage 135,107,201,49,img_area+8 |
2547 | PutImage 135,107,201,49,img_area+8 |
2548 | jmp nnn |
2548 | jmp nnn |
2549 | 2549 | ||
2550 | nomultip: |
2550 | nomultip: |
2551 | Text 15,30,0x00000000,multi3, multi3len-multi3 |
2551 | Text 15,30,0x00000000,multi3, multi3len-multi3 |
2552 | Text 175,30,0x00000000,freql3, freql3len-freql3 |
2552 | Text 175,30,0x00000000,freql3, freql3len-freql3 |
2553 | Text 259,30,0x00000000, clock0, clock0len-clock0 |
2553 | Text 259,30,0x00000000, clock0, clock0len-clock0 |
2554 | 2554 | ||
2555 | jmp JumpForCodename |
2555 | jmp JumpForCodename |
2556 | 2556 | ||
2557 | nnn: |
2557 | nnn: |
2558 | 2558 | ||
2559 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2559 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2560 | 2560 | ||
2561 | Text 15,10,0x00000000,stm, stmlen-stm |
2561 | Text 15,10,0x00000000,stm, stmlen-stm |
2562 | ; Fix for deleting leading whitespaces |
2562 | ; Fix for deleting leading whitespaces |
2563 | ; in Intel P4's internal name |
2563 | ; in Intel P4's internal name |
2564 | ; by Madis Calme |
2564 | ; by Madis Calme |
2565 | ; 23.12.2004 ver. 0.81 |
2565 | ; 23.12.2004 ver. 0.81 |
2566 | cld |
2566 | cld |
2567 | mov edi,myname |
2567 | mov edi,myname |
2568 | mov al,20h |
2568 | mov al,20h |
2569 | or ecx,-1 |
2569 | or ecx,-1 |
2570 | repe scasb |
2570 | repe scasb |
2571 | dec edi |
2571 | dec edi |
2572 | mov esi,mynamelen |
2572 | mov esi,mynamelen |
2573 | sub esi,edi |
2573 | sub esi,edi |
2574 | Text 105, 10, 0x00000000, edi, esi |
2574 | Text 105, 10, 0x00000000, edi, esi |
2575 | ;- |
2575 | ;- |
2576 | Text 15,250,,brandid, brandidlen-brandid |
2576 | Text 15,250,,brandid, brandidlen-brandid |
2577 | 2577 | ||
2578 | mcall SF_REDRAW, SSF_END_DRAW |
2578 | mcall SF_REDRAW, SSF_END_DRAW |
2579 | 2579 | ||
2580 | ret ; |
2580 | ret ; |
2581 | 2581 | ||
2582 | call_OpenDialog: |
2582 | call_OpenDialog: |
2583 | 2583 | ||
2584 | mov [OpenDialog_data.type],1 ; Save |
2584 | mov [OpenDialog_data.type],1 ; Save |
2585 | 2585 | ||
2586 | push dword OpenDialog_data |
2586 | push dword OpenDialog_data |
2587 | call [OpenDialog_Start] |
2587 | call [OpenDialog_Start] |
2588 | 2588 | ||
2589 | cmp [OpenDialog_data.status],2 ; OpenDialog does not start |
2589 | cmp [OpenDialog_data.status],2 ; OpenDialog does not start |
2590 | je .save_file_default_path |
2590 | je .save_file_default_path |
2591 | 2591 | ||
2592 | cmp [OpenDialog_data.status],1 |
2592 | cmp [OpenDialog_data.status],1 |
2593 | jne still |
2593 | jne still |
2594 | 2594 | ||
2595 | call store_data |
2595 | call store_data |
2596 | jmp still |
2596 | jmp still |
2597 | 2597 | ||
2598 | .save_file_default_path: |
2598 | .save_file_default_path: |
2599 | mov edi,file_name |
2599 | mov edi,file_name |
2600 | mov esi,file_default_path |
2600 | mov esi,file_default_path |
2601 | call copy_file_name_path |
2601 | call copy_file_name_path |
2602 | call store_data |
2602 | call store_data |
2603 | jmp still |
2603 | jmp still |
2604 | 2604 | ||
2605 | copy_file_name_path: |
2605 | copy_file_name_path: |
2606 | xor eax,eax |
2606 | xor eax,eax |
2607 | cld |
2607 | cld |
2608 | @@: |
2608 | @@: |
2609 | lodsb |
2609 | lodsb |
2610 | stosb |
2610 | stosb |
2611 | test eax,eax |
2611 | test eax,eax |
2612 | jnz @r |
2612 | jnz @r |
2613 | ret |
2613 | ret |
2614 | 2614 | ||
2615 | ;----------------------------------------------------------------------------- |
2615 | ;----------------------------------------------------------------------------- |
2616 | prepare_text_area: |
2616 | prepare_text_area: |
2617 | mov edi,[store_text_area_start] |
2617 | mov edi,[store_text_area_start] |
2618 | 2618 | ||
2619 | push edi |
2619 | push edi |
2620 | mov ecx,4096 |
2620 | mov ecx,4096 |
2621 | mov eax,dword ' ' |
2621 | mov eax,dword ' ' |
2622 | cld |
2622 | cld |
2623 | rep stosd |
2623 | rep stosd |
2624 | pop edi |
2624 | pop edi |
2625 | mov [store_text_area_end], edi |
2625 | mov [store_text_area_end], edi |
2626 | 2626 | ||
2627 | mov esi,title |
2627 | mov esi,title |
2628 | call addstring |
2628 | call addstring |
2629 | 2629 | ||
2630 | mov esi, stm |
2630 | mov esi, stm |
2631 | call addstring |
2631 | call addstring |
2632 | 2632 | ||
2633 | mov esi, myname |
2633 | mov esi, myname |
2634 | call addstring |
2634 | call addstring |
2635 | 2635 | ||
2636 | cmp [nomultiplier], $1 |
2636 | cmp [nomultiplier], $1 |
2637 | je noMult |
2637 | je noMult |
2638 | jne detMulti |
2638 | jne detMulti |
2639 | ;jne detFreq |
2639 | ;jne detFreq |
2640 | 2640 | ||
2641 | detMulti: |
2641 | detMulti: |
2642 | mov esi,multil |
2642 | mov esi,multil |
2643 | call addstring |
2643 | call addstring |
2644 | jmp detFreq |
2644 | jmp detFreq |
2645 | 2645 | ||
2646 | detFreq: |
2646 | detFreq: |
2647 | mov esi, freql |
2647 | mov esi, freql |
2648 | call addstring |
2648 | call addstring |
2649 | 2649 | ||
2650 | noMult: |
2650 | noMult: |
2651 | mov esi,multi3 |
2651 | mov esi,multi3 |
2652 | call addstring |
2652 | call addstring |
2653 | 2653 | ||
2654 | mov esi,freql3 |
2654 | mov esi,freql3 |
2655 | call addstring |
2655 | call addstring |
2656 | 2656 | ||
2657 | mov esi, tech |
2657 | mov esi, tech |
2658 | call addstring |
2658 | call addstring |
2659 | 2659 | ||
2660 | mov esi, saveproc |
2660 | mov esi, saveproc |
2661 | call addstring |
2661 | call addstring |
2662 | 2662 | ||
2663 | mov esi, cpuname |
2663 | mov esi, cpuname |
2664 | call addstring |
2664 | call addstring |
2665 | 2665 | ||
2666 | mov esi, fam |
2666 | mov esi, fam |
2667 | call addstring |
2667 | call addstring |
2668 | 2668 | ||
2669 | mov esi, mode |
2669 | mov esi, mode |
2670 | call addstring |
2670 | call addstring |
2671 | 2671 | ||
2672 | mov esi, step |
2672 | mov esi, step |
2673 | call addstring |
2673 | call addstring |
2674 | 2674 | ||
2675 | mov esi, cache2 |
2675 | mov esi, cache2 |
2676 | call addstring |
2676 | call addstring |
2677 | 2677 | ||
2678 | mov esi, cache |
2678 | mov esi, cache |
2679 | call addstring |
2679 | call addstring |
2680 | 2680 | ||
2681 | mov esi, cache3 |
2681 | mov esi, cache3 |
2682 | call addstring |
2682 | call addstring |
2683 | 2683 | ||
2684 | mov esi, cache4 |
2684 | mov esi, cache4 |
2685 | call addstring |
2685 | call addstring |
2686 | 2686 | ||
2687 | mov esi, brandid |
2687 | mov esi, brandid |
2688 | call addstring |
2688 | call addstring |
2689 | 2689 | ||
2690 | mov esi, MMXs |
2690 | mov esi, MMXs |
2691 | call addstring |
2691 | call addstring |
2692 | 2692 | ||
2693 | mov esi, mmxp |
2693 | mov esi, mmxp |
2694 | call addstring |
2694 | call addstring |
2695 | 2695 | ||
2696 | mov esi, now |
2696 | mov esi, now |
2697 | call addstring |
2697 | call addstring |
2698 | 2698 | ||
2699 | mov esi, HTT |
2699 | mov esi, HTT |
2700 | call addstring |
2700 | call addstring |
2701 | 2701 | ||
2702 | mov esi, SSE |
2702 | mov esi, SSE |
2703 | call addstring |
2703 | call addstring |
2704 | 2704 | ||
2705 | mov esi, SSE41 |
2705 | mov esi, SSE41 |
2706 | call addstring |
2706 | call addstring |
2707 | 2707 | ||
2708 | mov esi, SSE42 |
2708 | mov esi, SSE42 |
2709 | call addstring |
2709 | call addstring |
2710 | 2710 | ||
2711 | mov esi, SSE5 |
2711 | mov esi, SSE5 |
2712 | call addstring |
2712 | call addstring |
2713 | 2713 | ||
2714 | mov esi, SSE2 |
2714 | mov esi, SSE2 |
2715 | call addstring |
2715 | call addstring |
2716 | 2716 | ||
2717 | mov esi, nowp |
2717 | mov esi, nowp |
2718 | call addstring |
2718 | call addstring |
2719 | 2719 | ||
2720 | mov esi, sse3 |
2720 | mov esi, sse3 |
2721 | call addstring |
2721 | call addstring |
2722 | 2722 | ||
2723 | mov esi, standard |
2723 | mov esi, standard |
2724 | call addstring |
2724 | call addstring |
2725 | 2725 | ||
2726 | mov esi, STDCA |
2726 | mov esi, STDCA |
2727 | call addstring |
2727 | call addstring |
2728 | 2728 | ||
2729 | mov esi, EXTCA |
2729 | mov esi, EXTCA |
2730 | call addstring |
2730 | call addstring |
2731 | 2731 | ||
2732 | mov esi, FPU |
2732 | mov esi, FPU |
2733 | call addstring |
2733 | call addstring |
2734 | 2734 | ||
2735 | mov esi, VME |
2735 | mov esi, VME |
2736 | call addstring |
2736 | call addstring |
2737 | 2737 | ||
2738 | mov esi, DE |
2738 | mov esi, DE |
2739 | call addstring |
2739 | call addstring |
2740 | 2740 | ||
2741 | mov esi, PSE |
2741 | mov esi, PSE |
2742 | call addstring |
2742 | call addstring |
2743 | 2743 | ||
2744 | mov esi, TSC |
2744 | mov esi, TSC |
2745 | call addstring |
2745 | call addstring |
2746 | 2746 | ||
2747 | mov esi, MSR |
2747 | mov esi, MSR |
2748 | call addstring |
2748 | call addstring |
2749 | 2749 | ||
2750 | mov esi, PAE |
2750 | mov esi, PAE |
2751 | call addstring |
2751 | call addstring |
2752 | 2752 | ||
2753 | mov esi, MCE |
2753 | mov esi, MCE |
2754 | call addstring |
2754 | call addstring |
2755 | 2755 | ||
2756 | mov esi, CX8 |
2756 | mov esi, CX8 |
2757 | call addstring |
2757 | call addstring |
2758 | 2758 | ||
2759 | mov esi, APIC |
2759 | mov esi, APIC |
2760 | call addstring |
2760 | call addstring |
2761 | 2761 | ||
2762 | mov esi, Res |
2762 | mov esi, Res |
2763 | call addstring |
2763 | call addstring |
2764 | 2764 | ||
2765 | mov esi, SEP |
2765 | mov esi, SEP |
2766 | call addstring |
2766 | call addstring |
2767 | 2767 | ||
2768 | mov esi, MTRR |
2768 | mov esi, MTRR |
2769 | call addstring |
2769 | call addstring |
2770 | 2770 | ||
2771 | mov esi, PGE |
2771 | mov esi, PGE |
2772 | call addstring |
2772 | call addstring |
2773 | 2773 | ||
2774 | mov esi, MCA |
2774 | mov esi, MCA |
2775 | call addstring |
2775 | call addstring |
2776 | 2776 | ||
2777 | mov esi, CMOV |
2777 | mov esi, CMOV |
2778 | call addstring |
2778 | call addstring |
2779 | 2779 | ||
2780 | mov esi, PAT |
2780 | mov esi, PAT |
2781 | call addstring |
2781 | call addstring |
2782 | 2782 | ||
2783 | mov esi, PSE36 |
2783 | mov esi, PSE36 |
2784 | call addstring |
2784 | call addstring |
2785 | 2785 | ||
2786 | mov esi, PSNUM |
2786 | mov esi, PSNUM |
2787 | call addstring |
2787 | call addstring |
2788 | 2788 | ||
2789 | mov esi, CLFLUSHn |
2789 | mov esi, CLFLUSHn |
2790 | call addstring |
2790 | call addstring |
2791 | 2791 | ||
2792 | mov esi, Res |
2792 | mov esi, Res |
2793 | call addstring |
2793 | call addstring |
2794 | 2794 | ||
2795 | mov esi, DTS |
2795 | mov esi, DTS |
2796 | call addstring |
2796 | call addstring |
2797 | 2797 | ||
2798 | mov esi, ACPI |
2798 | mov esi, ACPI |
2799 | call addstring |
2799 | call addstring |
2800 | 2800 | ||
2801 | mov esi, MMX |
2801 | mov esi, MMX |
2802 | call addstring |
2802 | call addstring |
2803 | 2803 | ||
2804 | mov esi, FXSR |
2804 | mov esi, FXSR |
2805 | call addstring |
2805 | call addstring |
2806 | 2806 | ||
2807 | mov esi, SSE |
2807 | mov esi, SSE |
2808 | call addstring |
2808 | call addstring |
2809 | 2809 | ||
2810 | 2810 | ||
2811 | mov esi, SSn |
2811 | mov esi, SSn |
2812 | call addstring |
2812 | call addstring |
2813 | 2813 | ||
2814 | mov esi, HTT |
2814 | mov esi, HTT |
2815 | call addstring |
2815 | call addstring |
2816 | 2816 | ||
2817 | mov esi, TM |
2817 | mov esi, TM |
2818 | call addstring |
2818 | call addstring |
2819 | 2819 | ||
2820 | mov esi, IA64 |
2820 | mov esi, IA64 |
2821 | call addstring |
2821 | call addstring |
2822 | 2822 | ||
2823 | mov esi, PBE |
2823 | mov esi, PBE |
2824 | call addstring |
2824 | call addstring |
2825 | 2825 | ||
2826 | mov esi, SS3 |
2826 | mov esi, SS3 |
2827 | call addstring |
2827 | call addstring |
2828 | 2828 | ||
2829 | mov esi, CNXT_ID |
2829 | mov esi, CNXT_ID |
2830 | call addstring |
2830 | call addstring |
2831 | 2831 | ||
2832 | mov esi, MP |
2832 | mov esi, MP |
2833 | call addstring |
2833 | call addstring |
2834 | 2834 | ||
2835 | mov esi, FFXSR |
2835 | mov esi, FFXSR |
2836 | call addstring |
2836 | call addstring |
2837 | 2837 | ||
2838 | mov esi, MON |
2838 | mov esi, MON |
2839 | call addstring |
2839 | call addstring |
2840 | 2840 | ||
2841 | mov esi, CX16 |
2841 | mov esi, CX16 |
2842 | call addstring |
2842 | call addstring |
2843 | 2843 | ||
2844 | mov esi, NX |
2844 | mov esi, NX |
2845 | call addstring |
2845 | call addstring |
2846 | 2846 | ||
2847 | mov esi, TSCP |
2847 | mov esi, TSCP |
2848 | call addstring |
2848 | call addstring |
2849 | 2849 | ||
2850 | mov esi, DS_CPL |
2850 | mov esi, DS_CPL |
2851 | call addstring |
2851 | call addstring |
2852 | 2852 | ||
2853 | mov esi, ETPRD |
2853 | mov esi, ETPRD |
2854 | call addstring |
2854 | call addstring |
2855 | 2855 | ||
2856 | mov esi, MMXPi |
2856 | mov esi, MMXPi |
2857 | call addstring |
2857 | call addstring |
2858 | 2858 | ||
2859 | mov esi, LM |
2859 | mov esi, LM |
2860 | call addstring |
2860 | call addstring |
2861 | 2861 | ||
2862 | mov esi, EST |
2862 | mov esi, EST |
2863 | call addstring |
2863 | call addstring |
2864 | 2864 | ||
2865 | mov esi, SYS |
2865 | mov esi, SYS |
2866 | call addstring |
2866 | call addstring |
2867 | 2867 | ||
2868 | mov esi, MMXn |
2868 | mov esi, MMXn |
2869 | call addstring |
2869 | call addstring |
2870 | 2870 | ||
2871 | mov esi, DNo |
2871 | mov esi, DNo |
2872 | call addstring |
2872 | call addstring |
2873 | 2873 | ||
2874 | mov esi, TM2 |
2874 | mov esi, TM2 |
2875 | call addstring |
2875 | call addstring |
2876 | 2876 | ||
2877 | mov esi, LAF |
2877 | mov esi, LAF |
2878 | call addstring |
2878 | call addstring |
2879 | 2879 | ||
2880 | mov esi, FFXSR |
2880 | mov esi, FFXSR |
2881 | call addstring |
2881 | call addstring |
2882 | 2882 | ||
2883 | mov esi, DN |
2883 | mov esi, DN |
2884 | call addstring |
2884 | call addstring |
2885 | 2885 | ||
2886 | mov esi, VMX |
2886 | mov esi, VMX |
2887 | call addstring |
2887 | call addstring |
2888 | 2888 | ||
2889 | mov esi, SSSE3 |
2889 | mov esi, SSSE3 |
2890 | call addstring |
2890 | call addstring |
2891 | 2891 | ||
2892 | mov esi, DCA |
2892 | mov esi, DCA |
2893 | call addstring |
2893 | call addstring |
2894 | 2894 | ||
2895 | mov esi, CMPL |
2895 | mov esi, CMPL |
2896 | call addstring |
2896 | call addstring |
2897 | 2897 | ||
2898 | mov esi, SVM |
2898 | mov esi, SVM |
2899 | call addstring |
2899 | call addstring |
2900 | 2900 | ||
2901 | mov esi, MCR8 |
2901 | mov esi, MCR8 |
2902 | call addstring |
2902 | call addstring |
2903 | 2903 | ||
2904 | mov esi, SMX |
2904 | mov esi, SMX |
2905 | call addstring |
2905 | call addstring |
2906 | 2906 | ||
2907 | mov esi, x2APIC |
2907 | mov esi, x2APIC |
2908 | call addstring |
2908 | call addstring |
2909 | 2909 | ||
2910 | mov esi, PPCNT |
2910 | mov esi, PPCNT |
2911 | call addstring |
2911 | call addstring |
2912 | 2912 | ||
2913 | mov esi, PAGE |
2913 | mov esi, PAGE |
2914 | call addstring |
2914 | call addstring |
2915 | 2915 | ||
2916 | mov esi, EAS |
2916 | mov esi, EAS |
2917 | call addstring |
2917 | call addstring |
2918 | 2918 | ||
2919 | mov esi, ABM |
2919 | mov esi, ABM |
2920 | call addstring |
2920 | call addstring |
2921 | 2921 | ||
2922 | mov esi, MIS |
2922 | mov esi, MIS |
2923 | call addstring |
2923 | call addstring |
2924 | 2924 | ||
2925 | mov esi,OSVW |
2925 | mov esi,OSVW |
2926 | call addstring |
2926 | call addstring |
2927 | 2927 | ||
2928 | mov esi,SKINIT_ |
2928 | mov esi,SKINIT_ |
2929 | call addstring |
2929 | call addstring |
2930 | 2930 | ||
2931 | mov esi, WDT |
2931 | mov esi, WDT |
2932 | call addstring |
2932 | call addstring |
2933 | 2933 | ||
2934 | ret |
2934 | ret |
2935 | 2935 | ||
2936 | addstring: |
2936 | addstring: |
2937 | mov edi, [store_text_area_end] |
2937 | mov edi, [store_text_area_end] |
2938 | xor eax, eax |
2938 | xor eax, eax |
2939 | xor ecx, ecx |
2939 | xor ecx, ecx |
2940 | cld |
2940 | cld |
2941 | @@: |
2941 | @@: |
2942 | lodsb |
2942 | lodsb |
2943 | stosb |
2943 | stosb |
2944 | inc [store_text_area_end] |
2944 | inc [store_text_area_end] |
2945 | cmp [esi], byte 0x0 |
2945 | cmp [esi], byte 0x0 |
2946 | jnz @r |
2946 | jnz @r |
2947 | mov al,0Ah |
2947 | mov al,0Ah |
2948 | stosb |
2948 | stosb |
2949 | 2949 | ||
2950 | mov [store_text_area_end],edi |
2950 | mov [store_text_area_end],edi |
2951 | xor edi,edi |
2951 | xor edi,edi |
2952 | xor esi, esi |
2952 | xor esi, esi |
2953 | ret |
2953 | ret |
2954 | 2954 | ||
2955 | savenumber: |
2955 | savenumber: |
2956 | xor eax, eax |
2956 | xor eax, eax |
2957 | cld |
2957 | cld |
2958 | lodsw |
2958 | lodsw |
2959 | call numbertostring |
2959 | call numbertostring |
2960 | xor esi, esi |
2960 | xor esi, esi |
2961 | xor edi, edi |
2961 | xor edi, edi |
2962 | 2962 | ||
2963 | ret |
2963 | ret |
2964 | 2964 | ||
2965 | savestring: |
2965 | savestring: |
2966 | xor eax, eax |
2966 | xor eax, eax |
2967 | cld |
2967 | cld |
2968 | lodsw |
2968 | lodsw |
2969 | ;call numbertostring |
2969 | ;call numbertostring |
2970 | xor esi, esi |
2970 | xor esi, esi |
2971 | xor edi, edi |
2971 | xor edi, edi |
2972 | 2972 | ||
2973 | ret |
2973 | ret |
2974 | 2974 | ||
2975 | numbertostring: |
2975 | numbertostring: |
2976 | mov bx, 10 |
2976 | mov bx, 10 |
2977 | xor ecx, ecx |
2977 | xor ecx, ecx |
2978 | @@m1: |
2978 | @@m1: |
2979 | xor dx, dx |
2979 | xor dx, dx |
2980 | div bx |
2980 | div bx |
2981 | push dx |
2981 | push dx |
2982 | inc cx |
2982 | inc cx |
2983 | test ax, ax |
2983 | test ax, ax |
2984 | jnz @@m1 |
2984 | jnz @@m1 |
2985 | @@m2: |
2985 | @@m2: |
2986 | pop ax |
2986 | pop ax |
2987 | add al, '0' |
2987 | add al, '0' |
2988 | stosb |
2988 | stosb |
2989 | loop @@m2 |
2989 | loop @@m2 |
2990 | ret |
2990 | ret |
2991 | 2991 | ||
2992 | concatname: |
2992 | concatname: |
2993 | ;mov edi, [saveproc] |
2993 | ;mov edi, [saveproc] |
2994 | xor eax, eax |
2994 | xor eax, eax |
2995 | xor ecx, ecx |
2995 | xor ecx, ecx |
2996 | cld |
2996 | cld |
2997 | @@: |
2997 | @@: |
2998 | lodsb |
2998 | lodsb |
2999 | stosb |
2999 | stosb |
3000 | cmp [esi], byte 0x0 |
3000 | cmp [esi], byte 0x0 |
3001 | jnz @r |
3001 | jnz @r |
3002 | 3002 | ||
3003 | xor edi,edi |
3003 | xor edi,edi |
3004 | xor esi, esi |
3004 | xor esi, esi |
3005 | ret |
3005 | ret |
3006 | 3006 | ||
3007 | store_data: |
3007 | store_data: |
3008 | call prepare_text_area |
3008 | call prepare_text_area |
3009 | mov eax,[store_text_area_start] |
3009 | mov eax,[store_text_area_start] |
3010 | mov [fileinfo.return],eax |
3010 | mov [fileinfo.return],eax |
3011 | mov ebx,[store_text_area_end] |
3011 | mov ebx,[store_text_area_end] |
3012 | sub ebx,eax |
3012 | sub ebx,eax |
3013 | inc ebx |
3013 | inc ebx |
3014 | mov [fileinfo.size],ebx |
3014 | mov [fileinfo.size],ebx |
3015 | mcall 70,fileinfo |
3015 | mcall 70,fileinfo |
3016 | ret |
3016 | ret |
3017 | 3017 | ||
3018 | load_gif: |
3018 | load_gif: |
3019 | mov edi, img_area |
3019 | mov edi, img_area |
3020 | jmp ReadGIF |
3020 | jmp ReadGIF |
3021 | 3021 | ||
3022 | 3022 | ||
3023 | ; DATA AREA |
3023 | ; DATA AREA |
3024 | 3024 | ||
3025 | title db 'CPUID 2.31',0 |
3025 | title db 'CPUID 2.31 by S.Kuzmin & KolibriOS Team',0 |
3026 | 3026 | ||
3027 | stm: |
3027 | stm: |
3028 | db 'Internal name:', 0 |
3028 | db 'Internal name:', 0 |
3029 | 3029 | ||
3030 | stmlen: |
3030 | stmlen: |
3031 | 3031 | ||
3032 | SS42: |
3032 | SS42: |
3033 | db 'SSE4.2: ',0 |
3033 | db 'SSE4.2: ',0 |
3034 | SS42len: |
3034 | SS42len: |
3035 | 3035 | ||
3036 | SMX: |
3036 | SMX: |
3037 | db 'SMX: ',0 |
3037 | db 'SMX: ',0 |
3038 | SMXlen: |
3038 | SMXlen: |
3039 | 3039 | ||
3040 | x2APIC: |
3040 | x2APIC: |
3041 | db 'x2APIC: ' |
3041 | db 'x2APIC: ' |
3042 | x2APIClen: |
3042 | x2APIClen: |
3043 | 3043 | ||
3044 | PPCNT: |
3044 | PPCNT: |
3045 | db 'POPCNT: ' |
3045 | db 'POPCNT: ' |
3046 | PPCNTlen: |
3046 | PPCNTlen: |
3047 | 3047 | ||
3048 | PAGE: |
3048 | PAGE: |
3049 | db 'Page1Gb: ' |
3049 | db 'Page1Gb: ' |
3050 | PAGElen: |
3050 | PAGElen: |
3051 | 3051 | ||
3052 | EAS: |
3052 | EAS: |
3053 | db 'EAS: ',0 |
3053 | db 'EAS: ',0 |
3054 | EASlen: |
3054 | EASlen: |
3055 | 3055 | ||
3056 | newLabel: |
3056 | newLabel: |
3057 | db '3DNP: ',0 |
3057 | db '3DNP: ',0 |
3058 | newLabellen: |
3058 | newLabellen: |
3059 | 3059 | ||
3060 | 3060 | ||
3061 | ABM: |
3061 | ABM: |
3062 | db 'ABM: ' |
3062 | db 'ABM: ' |
3063 | ABMlen: |
3063 | ABMlen: |
3064 | 3064 | ||
3065 | SSE4A: |
3065 | SSE4A: |
3066 | db 'SSE4A: ' |
3066 | db 'SSE4A: ' |
3067 | SSE4Alen: |
3067 | SSE4Alen: |
3068 | 3068 | ||
3069 | MIS: |
3069 | MIS: |
3070 | db 'MIS: ',0 |
3070 | db 'MIS: ',0 |
3071 | MISlen: |
3071 | MISlen: |
3072 | 3072 | ||
3073 | DNP: |
3073 | DNP: |
3074 | db '3DNP: ' |
3074 | db '3DNP: ' |
3075 | DNPlen: |
3075 | DNPlen: |
3076 | 3076 | ||
3077 | OSVW: |
3077 | OSVW: |
3078 | db 'OSVW: ',0 |
3078 | db 'OSVW: ',0 |
3079 | OSVWlen: |
3079 | OSVWlen: |
3080 | 3080 | ||
3081 | SKINIT_: |
3081 | SKINIT_: |
3082 | db 'SKINIT: ',0 |
3082 | db 'SKINIT: ',0 |
3083 | SKINIT_len: |
3083 | SKINIT_len: |
3084 | 3084 | ||
3085 | WDT: |
3085 | WDT: |
3086 | db 'WDT: ',0 |
3086 | db 'WDT: ',0 |
3087 | WDTlen: |
3087 | WDTlen: |
3088 | 3088 | ||
3089 | 3089 | ||
3090 | saveproc: |
3090 | saveproc: |
3091 | db ' ',0 |
3091 | db ' ',0 |
3092 | 3092 | ||
3093 | multil: |
3093 | multil: |
3094 | db 'Multiplier: . ', 0 |
3094 | db 'Multiplier: . ', 0 |
3095 | 3095 | ||
3096 | multillen: |
3096 | multillen: |
3097 | 3097 | ||
3098 | multil2: |
3098 | multil2: |
3099 | 3099 | ||
3100 | db 'Multiplier: . ' |
3100 | db 'Multiplier: . ' |
3101 | 3101 | ||
3102 | multil2len: |
3102 | multil2len: |
3103 | 3103 | ||
3104 | multi3: |
3104 | multi3: |
3105 | 3105 | ||
3106 | db 'Multiplier: n/a',0 |
3106 | db 'Multiplier: n/a',0 |
3107 | 3107 | ||
3108 | multi3len: |
3108 | multi3len: |
3109 | 3109 | ||
3110 | freql: |
3110 | freql: |
3111 | 3111 | ||
3112 | db 'System clock: . MHz', 0 |
3112 | db 'System clock: . MHz', 0 |
3113 | freqllen: |
3113 | freqllen: |
3114 | 3114 | ||
3115 | freql2: |
3115 | freql2: |
3116 | 3116 | ||
3117 | db 'System clock: . MHz' |
3117 | db 'System clock: . MHz' |
3118 | 3118 | ||
3119 | 3119 | ||
3120 | freql2len: |
3120 | freql2len: |
3121 | 3121 | ||
3122 | freql3: |
3122 | freql3: |
3123 | 3123 | ||
3124 | db 'System clock: n/a ' |
3124 | db 'System clock: n/a ' |
3125 | 3125 | ||
3126 | 3126 | ||
3127 | freql3len: |
3127 | freql3len: |
3128 | 3128 | ||
3129 | tsum: |
3129 | tsum: |
3130 | 3130 | ||
3131 | db 'Frequency: . MHz ',0 |
3131 | db 'Frequency: . MHz ',0 |
3132 | 3132 | ||
3133 | tsumlen: |
3133 | tsumlen: |
3134 | 3134 | ||
3135 | tech: |
3135 | tech: |
3136 | 3136 | ||
3137 | db 'Technology: 0. micron ', 0 |
3137 | db 'Technology: 0. micron ', 0 |
3138 | 3138 | ||
3139 | techlen: |
3139 | techlen: |
3140 | 3140 | ||
3141 | name: |
3141 | name: |
3142 | 3142 | ||
3143 | if lang eq it |
3143 | if lang eq it |
3144 | 3144 | ||
3145 | db 'Codename:',0 |
3145 | db 'Codename:',0 |
3146 | 3146 | ||
3147 | else |
3147 | else |
3148 | 3148 | ||
3149 | db 'CODENAME:',0 |
3149 | db 'CODENAME:',0 |
3150 | 3150 | ||
3151 | 3151 | ||
3152 | end if |
3152 | end if |
3153 | 3153 | ||
3154 | namelen: |
3154 | namelen: |
3155 | 3155 | ||
3156 | vendorname: |
3156 | vendorname: |
3157 | 3157 | ||
3158 | if lang eq it |
3158 | if lang eq it |
3159 | 3159 | ||
3160 | db 'Vendor CPU ', 0 |
3160 | db 'Vendor CPU ', 0 |
3161 | 3161 | ||
3162 | else |
3162 | else |
3163 | 3163 | ||
3164 | db 'CPU VENDOR: ', 0 |
3164 | db 'CPU VENDOR: ', 0 |
3165 | 3165 | ||
3166 | end if |
3166 | end if |
3167 | 3167 | ||
3168 | vendornamelen: |
3168 | vendornamelen: |
3169 | 3169 | ||
3170 | cpuname: |
3170 | cpuname: |
3171 | 3171 | ||
3172 | if lang eq it |
3172 | if lang eq it |
3173 | 3173 | ||
3174 | db 'Vendor CPU ', 0 |
3174 | db 'Vendor CPU ', 0 |
3175 | 3175 | ||
3176 | else |
3176 | else |
3177 | 3177 | ||
3178 | db 'CPU VENDOR: ', 0 |
3178 | db 'CPU VENDOR: ', 0 |
3179 | 3179 | ||
3180 | end if |
3180 | end if |
3181 | 3181 | ||
3182 | cpunamelen: |
3182 | cpunamelen: |
3183 | 3183 | ||
3184 | 3184 | ||
3185 | fam: |
3185 | fam: |
3186 | 3186 | ||
3187 | if lang eq it |
3187 | if lang eq it |
3188 | 3188 | ||
3189 | db 'Famiglia: std ext', 0 |
3189 | db 'Famiglia: std ext', 0 |
3190 | 3190 | ||
3191 | else |
3191 | else |
3192 | 3192 | ||
3193 | db 'FAMILY: std ext', 0 |
3193 | db 'FAMILY: std ext', 0 |
3194 | 3194 | ||
3195 | end if |
3195 | end if |
3196 | 3196 | ||
3197 | famlen: |
3197 | famlen: |
3198 | 3198 | ||
3199 | mode: |
3199 | mode: |
3200 | 3200 | ||
3201 | if lang eq it |
3201 | if lang eq it |
3202 | 3202 | ||
3203 | db 'Modello: std ext', 0 |
3203 | db 'Modello: std ext', 0 |
3204 | 3204 | ||
3205 | else |
3205 | else |
3206 | 3206 | ||
3207 | db 'MODEL: std ext', 0 |
3207 | db 'MODEL: std ext', 0 |
3208 | 3208 | ||
3209 | end if |
3209 | end if |
3210 | 3210 | ||
3211 | modelen: |
3211 | modelen: |
3212 | 3212 | ||
3213 | step: |
3213 | step: |
3214 | 3214 | ||
3215 | if lang eq it |
3215 | if lang eq it |
3216 | 3216 | ||
3217 | db 'Stepping: ', 0 |
3217 | db 'Stepping: ', 0 |
3218 | 3218 | ||
3219 | else |
3219 | else |
3220 | 3220 | ||
3221 | db 'STEPPING: ', 0 |
3221 | db 'STEPPING: ', 0 |
3222 | 3222 | ||
3223 | end if |
3223 | end if |
3224 | 3224 | ||
3225 | steplen: |
3225 | steplen: |
3226 | 3226 | ||
3227 | cache: |
3227 | cache: |
3228 | 3228 | ||
3229 | db 'L1(inst): KB -way set -byte line size',0 |
3229 | db 'L1(inst): KB -way set -byte line size',0 |
3230 | 3230 | ||
3231 | cachelen: |
3231 | cachelen: |
3232 | 3232 | ||
3233 | cache2: |
3233 | cache2: |
3234 | 3234 | ||
3235 | db 'L1(data): KB -way set -byte line size',0 |
3235 | db 'L1(data): KB -way set -byte line size',0 |
3236 | 3236 | ||
3237 | cache2len: |
3237 | cache2len: |
3238 | 3238 | ||
3239 | 3239 | ||
3240 | cache3: |
3240 | cache3: |
3241 | 3241 | ||
3242 | db 'L2: KB -way set -byte line size',0 |
3242 | db 'L2: KB -way set -byte line size',0 |
3243 | 3243 | ||
3244 | cache3len: |
3244 | cache3len: |
3245 | 3245 | ||
3246 | cache4: |
3246 | cache4: |
3247 | 3247 | ||
3248 | db 'L3: KB -way set -byte line size',0 |
3248 | db 'L3: KB -way set -byte line size',0 |
3249 | 3249 | ||
3250 | cache4len: |
3250 | cache4len: |
3251 | 3251 | ||
3252 | brandid: |
3252 | brandid: |
3253 | 3253 | ||
3254 | db 'Brand:', 0 |
3254 | db 'Brand:', 0 |
3255 | 3255 | ||
3256 | brandidlen: |
3256 | brandidlen: |
3257 | 3257 | ||
3258 | MMXs: |
3258 | MMXs: |
3259 | 3259 | ||
3260 | db 'MMX: ',0 |
3260 | db 'MMX: ',0 |
3261 | 3261 | ||
3262 | MMXslen: |
3262 | MMXslen: |
3263 | 3263 | ||
3264 | 3264 | ||
3265 | total dd 0x0 |
3265 | total dd 0x0 |
3266 | 3266 | ||
3267 | total1 dd 0x0 |
3267 | total1 dd 0x0 |
3268 | 3268 | ||
3269 | rating dd 0x0 |
3269 | rating dd 0x0 |
3270 | 3270 | ||
3271 | rat dd 0x0 ; |
3271 | rat dd 0x0 ; |
3272 | 3272 | ||
3273 | NEF: |
3273 | NEF: |
3274 | 3274 | ||
3275 | db 'EXTENDED FEATURES ARE NOT AVAILABLE',0 |
3275 | db 'EXTENDED FEATURES ARE NOT AVAILABLE',0 |
3276 | 3276 | ||
3277 | NEFlen: |
3277 | NEFlen: |
3278 | 3278 | ||
3279 | 3279 | ||
3280 | 3280 | ||
3281 | mb : |
3281 | mb : |
3282 | 3282 | ||
3283 | db 'MB' |
3283 | db 'MB' |
3284 | 3284 | ||
3285 | mblen: |
3285 | mblen: |
3286 | 3286 | ||
3287 | 3287 | ||
3288 | 3288 | ||
3289 | logcpus : |
3289 | logcpus : |
3290 | 3290 | ||
3291 | db 'Number of logical CPU:' |
3291 | db 'Number of logical CPU:' |
3292 | 3292 | ||
3293 | logcpuslen: |
3293 | logcpuslen: |
3294 | 3294 | ||
3295 | 3295 | ||
3296 | 3296 | ||
3297 | speed : |
3297 | speed : |
3298 | 3298 | ||
3299 | if lang eq it |
3299 | if lang eq it |
3300 | 3300 | ||
3301 | ; db 'Performance',0 |
3301 | ; db 'Performance',0 |
3302 | 3302 | ||
3303 | else |
3303 | else |
3304 | 3304 | ||
3305 | ; db 'PERFORMANCE:',0 |
3305 | ; db 'PERFORMANCE:',0 |
3306 | 3306 | ||
3307 | end if |
3307 | end if |
3308 | 3308 | ||
3309 | speedlen: |
3309 | speedlen: |
3310 | 3310 | ||
3311 | 3311 | ||
3312 | 3312 | ||
3313 | kbpersec: |
3313 | kbpersec: |
3314 | 3314 | ||
3315 | db 'KB/SEC' |
3315 | db 'KB/SEC' |
3316 | 3316 | ||
3317 | kbperseclen: |
3317 | kbperseclen: |
3318 | 3318 | ||
3319 | 3319 | ||
3320 | 3320 | ||
3321 | instruct: |
3321 | instruct: |
3322 | 3322 | ||
3323 | if lang eq it |
3323 | if lang eq it |
3324 | 3324 | ||
3325 | db 'Set istruzioni' |
3325 | db 'Set istruzioni' |
3326 | 3326 | ||
3327 | else |
3327 | else |
3328 | 3328 | ||
3329 | db 'Instruction sets' |
3329 | db 'Instruction sets' |
3330 | 3330 | ||
3331 | end if |
3331 | end if |
3332 | 3332 | ||
3333 | instructlen: |
3333 | instructlen: |
3334 | 3334 | ||
3335 | 3335 | ||
3336 | 3336 | ||
3337 | standard db 'Standard and Extended features plus Performance test',0 |
3337 | standard db 'Standard and Extended features plus Performance test',0 |
3338 | 3338 | ||
3339 | 3339 | ||
3340 | STDCA: |
3340 | STDCA: |
3341 | 3341 | ||
3342 | db 'Highest STD call is ',0 |
3342 | db 'Highest STD call is ',0 |
3343 | 3343 | ||
3344 | STDCAlen: |
3344 | STDCAlen: |
3345 | 3345 | ||
3346 | 3346 | ||
3347 | 3347 | ||
3348 | EXTCA: |
3348 | EXTCA: |
3349 | 3349 | ||
3350 | db 'Highest EXT call is h',0 |
3350 | db 'Highest EXT call is h',0 |
3351 | 3351 | ||
3352 | EXTCAlen: |
3352 | EXTCAlen: |
3353 | 3353 | ||
3354 | 3354 | ||
3355 | oblom: |
3355 | oblom: |
3356 | 3356 | ||
3357 | if lang eq it |
3357 | if lang eq it |
3358 | 3358 | ||
3359 | db 'CPUID non e disponibile' |
3359 | db 'CPUID non e disponibile' |
3360 | 3360 | ||
3361 | else |
3361 | else |
3362 | 3362 | ||
3363 | db 'SORRY, CPUID IS NOT AVAILABLE' |
3363 | db 'SORRY, CPUID IS NOT AVAILABLE' |
3364 | 3364 | ||
3365 | end if |
3365 | end if |
3366 | 3366 | ||
3367 | oblomlen: |
3367 | oblomlen: |
3368 | 3368 | ||
3369 | 3369 | ||
3370 | other: |
3370 | other: |
3371 | 3371 | ||
3372 | if lang eq it |
3372 | if lang eq it |
3373 | 3373 | ||
3374 | db 'Questo vendor non e supportato' |
3374 | db 'Questo vendor non e supportato' |
3375 | 3375 | ||
3376 | else |
3376 | else |
3377 | 3377 | ||
3378 | db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' |
3378 | db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' |
3379 | 3379 | ||
3380 | end if |
3380 | end if |
3381 | 3381 | ||
3382 | otherlen: |
3382 | otherlen: |
3383 | 3383 | ||
3384 | cacheP4: |
3384 | cacheP4: |
3385 | 3385 | ||
3386 | db 'L1(inst): Kuops -way set -byte line size' |
3386 | db 'L1(inst): Kuops -way set -byte line size' |
3387 | 3387 | ||
3388 | cacheP4len: |
3388 | cacheP4len: |
3389 | 3389 | ||
3390 | 3390 | ||
3391 | 3391 | ||
3392 | 3392 | ||
3393 | typen: |
3393 | typen: |
3394 | 3394 | ||
3395 | if lang eq it |
3395 | if lang eq it |
3396 | 3396 | ||
3397 | db 'Tipo:' |
3397 | db 'Tipo:' |
3398 | 3398 | ||
3399 | else |
3399 | else |
3400 | 3400 | ||
3401 | db 'Type:' |
3401 | db 'Type:' |
3402 | 3402 | ||
3403 | end if |
3403 | end if |
3404 | 3404 | ||
3405 | 3405 | ||
3406 | 3406 | ||
3407 | typenlen: |
3407 | typenlen: |
3408 | 3408 | ||
3409 | 3409 | ||
3410 | 3410 | ||
3411 | pr: |
3411 | pr: |
3412 | 3412 | ||
3413 | db 'P-rating:' |
3413 | db 'P-rating:' |
3414 | 3414 | ||
3415 | prlen: |
3415 | prlen: |
3416 | 3416 | ||
3417 | 3417 | ||
3418 | 3418 | ||
3419 | 3419 | ||
3420 | AMDn: |
3420 | AMDn: |
3421 | 3421 | ||
3422 | db 'AMD',0 |
3422 | db 'AMD',0 |
3423 | 3423 | ||
3424 | AMDnlen: |
3424 | AMDnlen: |
3425 | 3425 | ||
3426 | AMDnNew: |
3426 | AMDnNew: |
3427 | 3427 | ||
3428 | db 'CODENAME: AMD',0 |
3428 | db 'CODENAME: AMD',0 |
3429 | 3429 | ||
3430 | AMDnNewlen: |
3430 | AMDnNewlen: |
3431 | 3431 | ||
3432 | Inteln: |
3432 | Inteln: |
3433 | 3433 | ||
3434 | db 'Intel',0 |
3434 | db 'Intel',0 |
3435 | 3435 | ||
3436 | Intelnlen: |
3436 | Intelnlen: |
3437 | 3437 | ||
3438 | IntelnNew: |
3438 | IntelnNew: |
3439 | db 'CODENAME: Intel',0 |
3439 | db 'CODENAME: Intel',0 |
3440 | 3440 | ||
3441 | IntelnNewlen: |
3441 | IntelnNewlen: |
3442 | 3442 | ||
3443 | 3443 | ||
3444 | Cyrixn: |
3444 | Cyrixn: |
3445 | 3445 | ||
3446 | db 'Cyrix',0 |
3446 | db 'Cyrix',0 |
3447 | 3447 | ||
3448 | Cyrixnlen: |
3448 | Cyrixnlen: |
3449 | 3449 | ||
3450 | IDTn: |
3450 | IDTn: |
3451 | 3451 | ||
3452 | db 'IDT/Centaur',0 |
3452 | db 'IDT/Centaur',0 |
3453 | 3453 | ||
3454 | IDTnlen: |
3454 | IDTnlen: |
3455 | 3455 | ||
3456 | Centaurn: |
3456 | Centaurn: |
3457 | 3457 | ||
3458 | db 'VIA',0 |
3458 | db 'VIA',0 |
3459 | 3459 | ||
3460 | Centaurnlen: |
3460 | Centaurnlen: |
3461 | 3461 | ||
3462 | 3462 | ||
3463 | 3463 | ||
3464 | Tranmsmetan: |
3464 | Tranmsmetan: |
3465 | 3465 | ||
3466 | db 'Transmeta',0 |
3466 | db 'Transmeta',0 |
3467 | 3467 | ||
3468 | Tranmsmetanlen: |
3468 | Tranmsmetanlen: |
3469 | 3469 | ||
3470 | 3470 | ||
3471 | Vortexn: |
3471 | Vortexn: |
3472 | db 'Vortex86',0 |
3472 | db 'Vortex86',0 |
3473 | Vortexnlen: |
3473 | Vortexnlen: |
3474 | 3474 | ||
3475 | 3475 | ||
3476 | mmxp: |
3476 | mmxp: |
3477 | 3477 | ||
3478 | db 'MMX+: ',0 |
3478 | db 'MMX+: ',0 |
3479 | 3479 | ||
3480 | mmxplen: |
3480 | mmxplen: |
3481 | 3481 | ||
3482 | 3482 | ||
3483 | 3483 | ||
3484 | HTT: |
3484 | HTT: |
3485 | 3485 | ||
3486 | db 'HTT: ',0 |
3486 | db 'HTT: ',0 |
3487 | 3487 | ||
3488 | HTTlen: |
3488 | HTTlen: |
3489 | 3489 | ||
3490 | 3490 | ||
3491 | HTTn: |
3491 | HTTn: |
3492 | 3492 | ||
3493 | db 'HTT: ',0 |
3493 | db 'HTT: ',0 |
3494 | 3494 | ||
3495 | HTTnlen: |
3495 | HTTnlen: |
3496 | 3496 | ||
3497 | 3497 | ||
3498 | sse3: |
3498 | sse3: |
3499 | 3499 | ||
3500 | db 'SSE3: ',0 |
3500 | db 'SSE3: ',0 |
3501 | 3501 | ||
3502 | sse3len: |
3502 | sse3len: |
3503 | 3503 | ||
3504 | SSE41: |
3504 | SSE41: |
3505 | db 'SSE4.1: ',0 |
3505 | db 'SSE4.1: ',0 |
3506 | SSE41len: |
3506 | SSE41len: |
3507 | 3507 | ||
3508 | SSE42: |
3508 | SSE42: |
3509 | db 'SSE4.2: ',0 |
3509 | db 'SSE4.2: ',0 |
3510 | SSE42len: |
3510 | SSE42len: |
3511 | 3511 | ||
3512 | SSE5: |
3512 | SSE5: |
3513 | db 'SSE5: ',0 |
3513 | db 'SSE5: ',0 |
3514 | SSE5len: |
3514 | SSE5len: |
3515 | 3515 | ||
3516 | now: |
3516 | now: |
3517 | 3517 | ||
3518 | db '3DNOW!: ',0 |
3518 | db '3DNOW!: ',0 |
3519 | 3519 | ||
3520 | nowlen: |
3520 | nowlen: |
3521 | 3521 | ||
3522 | nowp: |
3522 | nowp: |
3523 | 3523 | ||
3524 | db '3DNOW!+: ',0 |
3524 | db '3DNOW!+: ',0 |
3525 | 3525 | ||
3526 | nowplen: |
3526 | nowplen: |
3527 | 3527 | ||
3528 | ;-Type |
3528 | ;-Type |
3529 | 3529 | ||
3530 | t1 db 'OEM',0 |
3530 | t1 db 'OEM',0 |
3531 | 3531 | ||
3532 | t2 db 'Overdrive',0 |
3532 | t2 db 'Overdrive',0 |
3533 | 3533 | ||
3534 | t3 db 'Dual',0 |
3534 | t3 db 'Dual',0 |
3535 | 3535 | ||
3536 | t4 db 'Unknown',0 |
3536 | t4 db 'Unknown',0 |
3537 | 3537 | ||
3538 | 3538 | ||
3539 | 3539 | ||
3540 | ;----------Intel |
3540 | ;----------Intel |
3541 | 3541 | ||
3542 | P50: |
3542 | P50: |
3543 | 3543 | ||
3544 | db 'P5 A-step',0 |
3544 | db 'P5 A-step',0 |
3545 | 3545 | ||
3546 | P50len: |
3546 | P50len: |
3547 | 3547 | ||
3548 | P5: |
3548 | P5: |
3549 | 3549 | ||
3550 | db 'P5',0 |
3550 | db 'P5',0 |
3551 | 3551 | ||
3552 | P5len: |
3552 | P5len: |
3553 | 3553 | ||
3554 | P54T: |
3554 | P54T: |
3555 | 3555 | ||
3556 | db 'P24T Overdrive',0 |
3556 | db 'P24T Overdrive',0 |
3557 | 3557 | ||
3558 | P54Tlen: |
3558 | P54Tlen: |
3559 | 3559 | ||
3560 | P54C: |
3560 | P54C: |
3561 | 3561 | ||
3562 | db 'P54C',0 |
3562 | db 'P54C',0 |
3563 | 3563 | ||
3564 | P54Clen: |
3564 | P54Clen: |
3565 | 3565 | ||
3566 | P55C: |
3566 | P55C: |
3567 | 3567 | ||
3568 | db 'P55C (with MMX)',0 |
3568 | db 'P55C (with MMX)',0 |
3569 | 3569 | ||
3570 | P55Clen: |
3570 | P55Clen: |
3571 | 3571 | ||
3572 | ; --- |
3572 | ; --- |
3573 | 3573 | ||
3574 | P60: |
3574 | P60: |
3575 | 3575 | ||
3576 | db 'Pentium Pro A-step',0 |
3576 | db 'Pentium Pro A-step',0 |
3577 | 3577 | ||
3578 | P60len: |
3578 | P60len: |
3579 | 3579 | ||
3580 | P61: |
3580 | P61: |
3581 | 3581 | ||
3582 | db 'Pentium Pro',0 |
3582 | db 'Pentium Pro',0 |
3583 | 3583 | ||
3584 | P61len: |
3584 | P61len: |
3585 | 3585 | ||
3586 | P63: |
3586 | P63: |
3587 | 3587 | ||
3588 | db 'Pentium II (Klamath)',0 |
3588 | db 'Pentium II (Klamath)',0 |
3589 | 3589 | ||
3590 | P63len: |
3590 | P63len: |
3591 | 3591 | ||
3592 | P65: |
3592 | P65: |
3593 | 3593 | ||
3594 | db 'Pentium II (Deschutes)',0 |
3594 | db 'Pentium II (Deschutes)',0 |
3595 | 3595 | ||
3596 | P65len: |
3596 | P65len: |
3597 | 3597 | ||
3598 | P66: |
3598 | P66: |
3599 | 3599 | ||
3600 | db 'Celeron (Medocino)',0 |
3600 | db 'Celeron (Medocino)',0 |
3601 | 3601 | ||
3602 | P66len: |
3602 | P66len: |
3603 | 3603 | ||
3604 | P67: |
3604 | P67: |
3605 | 3605 | ||
3606 | db 'Pentium III (Katmai)',0 |
3606 | db 'Pentium III (Katmai)',0 |
3607 | 3607 | ||
3608 | P67len: |
3608 | P67len: |
3609 | 3609 | ||
3610 | P68: |
3610 | P68: |
3611 | 3611 | ||
3612 | db 'Pentium III (Coppermine)',0 |
3612 | db 'Pentium III (Coppermine)',0 |
3613 | 3613 | ||
3614 | P68len: |
3614 | P68len: |
3615 | 3615 | ||
3616 | P69: |
3616 | P69: |
3617 | 3617 | ||
3618 | db 'Pentium M (Banias)',0 |
3618 | db 'Pentium M (Banias)',0 |
3619 | 3619 | ||
3620 | P69len: |
3620 | P69len: |
3621 | 3621 | ||
3622 | P6A: |
3622 | P6A: |
3623 | 3623 | ||
3624 | db 'Pentium III Xeon (Cascades)',0 |
3624 | db 'Pentium III Xeon (Cascades)',0 |
3625 | 3625 | ||
3626 | P6Alen: |
3626 | P6Alen: |
3627 | 3627 | ||
3628 | P6B: |
3628 | P6B: |
3629 | 3629 | ||
3630 | db 'Pentium III (Tualatin)',0 |
3630 | db 'Pentium III (Tualatin)',0 |
3631 | 3631 | ||
3632 | P6Blen: |
3632 | P6Blen: |
3633 | 3633 | ||
3634 | P6D: |
3634 | P6D: |
3635 | 3635 | ||
3636 | db 'Pentium M (Dothan)',0 |
3636 | db 'Pentium M (Dothan)',0 |
3637 | 3637 | ||
3638 | P6Dlen: |
3638 | P6Dlen: |
3639 | 3639 | ||
3640 | P6E: |
3640 | P6E: |
3641 | 3641 | ||
3642 | db 'Pentium M (Yonah)/ Core',0 |
3642 | db 'Pentium M (Yonah)/ Core',0 |
3643 | 3643 | ||
3644 | P6Elen: |
3644 | P6Elen: |
3645 | 3645 | ||
3646 | P6F: |
3646 | P6F: |
3647 | 3647 | ||
3648 | db 'Pentium D (Conroe)/ Core 2 (Kentsfield)',0 |
3648 | db 'Pentium D (Conroe)/ Core 2 (Kentsfield)',0 |
3649 | 3649 | ||
3650 | P6Flen: |
3650 | P6Flen: |
3651 | 3651 | ||
3652 | ;--- |
3652 | ;--- |
3653 | 3653 | ||
3654 | PS0: |
3654 | PS0: |
3655 | 3655 | ||
3656 | db 'Itanium (IA-64)',0 |
3656 | db 'Itanium (IA-64)',0 |
3657 | 3657 | ||
3658 | PS0len: |
3658 | PS0len: |
3659 | 3659 | ||
3660 | ;------------ |
3660 | ;------------ |
3661 | 3661 | ||
3662 | PF0: |
3662 | PF0: |
3663 | 3663 | ||
3664 | db 'Pentium 4 (Willamete)',0 |
3664 | db 'Pentium 4 (Willamete)',0 |
3665 | 3665 | ||
3666 | PF0len: |
3666 | PF0len: |
3667 | 3667 | ||
3668 | PF2: |
3668 | PF2: |
3669 | 3669 | ||
3670 | db 'Pentium 4 (Northwood)',0 |
3670 | db 'Pentium 4 (Northwood)',0 |
3671 | 3671 | ||
3672 | PF2len: |
3672 | PF2len: |
3673 | 3673 | ||
3674 | PF3: |
3674 | PF3: |
3675 | 3675 | ||
3676 | db 'Pentium 4 (Prescott)',0 |
3676 | db 'Pentium 4 (Prescott)',0 |
3677 | 3677 | ||
3678 | PF3len: |
3678 | PF3len: |
3679 | 3679 | ||
3680 | PF5: |
3680 | PF5: |
3681 | 3681 | ||
3682 | db 'Pentium 4 (Tejas)',0 |
3682 | db 'Pentium 4 (Tejas)',0 |
3683 | 3683 | ||
3684 | PF5len: |
3684 | PF5len: |
3685 | 3685 | ||
3686 | PF6: |
3686 | PF6: |
3687 | 3687 | ||
3688 | db 'Pentium 4 (Presler)',0 |
3688 | db 'Pentium 4 (Presler)',0 |
3689 | 3689 | ||
3690 | PF6len: |
3690 | PF6len: |
3691 | 3691 | ||
3692 | ;----------------Intel Celerons |
3692 | ;----------------Intel Celerons |
3693 | 3693 | ||
3694 | P65c: |
3694 | P65c: |
3695 | 3695 | ||
3696 | db 'Celeron (Covington)',0 |
3696 | db 'Celeron (Covington)',0 |
3697 | 3697 | ||
3698 | P65clen: |
3698 | P65clen: |
3699 | 3699 | ||
3700 | P68c: |
3700 | P68c: |
3701 | 3701 | ||
3702 | db 'Celeron (Coppermine)',0 |
3702 | db 'Celeron (Coppermine)',0 |
3703 | 3703 | ||
3704 | P68clen: |
3704 | P68clen: |
3705 | 3705 | ||
3706 | P6Bc: |
3706 | P6Bc: |
3707 | 3707 | ||
3708 | db 'Celeron (Tualatin)',0 |
3708 | db 'Celeron (Tualatin)',0 |
3709 | 3709 | ||
3710 | P6Bclen: |
3710 | P6Bclen: |
3711 | 3711 | ||
3712 | PF0c: |
3712 | PF0c: |
3713 | 3713 | ||
3714 | db 'Celeron (Willamete)',0 |
3714 | db 'Celeron (Willamete)',0 |
3715 | 3715 | ||
3716 | PF0clen: |
3716 | PF0clen: |
3717 | 3717 | ||
3718 | PF2c: |
3718 | PF2c: |
3719 | 3719 | ||
3720 | db 'Celeron (Northwood)',0 |
3720 | db 'Celeron (Northwood)',0 |
3721 | 3721 | ||
3722 | PF2clen: |
3722 | PF2clen: |
3723 | 3723 | ||
3724 | PF3c: |
3724 | PF3c: |
3725 | 3725 | ||
3726 | db 'Celeron (Prescott)',0 |
3726 | db 'Celeron (Prescott)',0 |
3727 | 3727 | ||
3728 | PF3clen: |
3728 | PF3clen: |
3729 | 3729 | ||
3730 | PF5c: |
3730 | PF5c: |
3731 | 3731 | ||
3732 | db 'Celeron D (Texas)',0 |
3732 | db 'Celeron D (Texas)',0 |
3733 | 3733 | ||
3734 | PF5clen: |
3734 | PF5clen: |
3735 | 3735 | ||
3736 | PF6c: |
3736 | PF6c: |
3737 | 3737 | ||
3738 | db 'Celeron D (Presler)',0 |
3738 | db 'Celeron D (Presler)',0 |
3739 | 3739 | ||
3740 | PF6clen: |
3740 | PF6clen: |
3741 | 3741 | ||
3742 | ;---------New Intel |
3742 | ;---------New Intel |
3743 | P3A: |
3743 | P3A: |
3744 | 3744 | ||
3745 | db 'IvyBridge',0 |
3745 | db 'IvyBridge',0 |
3746 | 3746 | ||
3747 | P3Alen: |
3747 | P3Alen: |
3748 | 3748 | ||
3749 | P2A: |
3749 | P2A: |
3750 | 3750 | ||
3751 | db 'Sandy Bridge',0 |
3751 | db 'Sandy Bridge',0 |
3752 | 3752 | ||
3753 | P2Alen: |
3753 | P2Alen: |
3754 | 3754 | ||
3755 | P2D: |
3755 | P2D: |
3756 | db 'Sandy bridge-E',0 |
3756 | db 'Sandy bridge-E',0 |
3757 | 3757 | ||
3758 | P2Dlen: |
3758 | P2Dlen: |
3759 | 3759 | ||
3760 | 3760 | ||
3761 | P25: |
3761 | P25: |
3762 | db 'Arrandale',0 |
3762 | db 'Arrandale',0 |
3763 | P25len: |
3763 | P25len: |
3764 | 3764 | ||
3765 | P2C: |
3765 | P2C: |
3766 | db 'Gulftown',0 |
3766 | db 'Gulftown',0 |
3767 | P2Clen: |
3767 | P2Clen: |
3768 | 3768 | ||
3769 | P2F: |
3769 | P2F: |
3770 | db 'Westmere-EX',0 |
3770 | db 'Westmere-EX',0 |
3771 | P2Flen: |
3771 | P2Flen: |
3772 | 3772 | ||
3773 | P1E: |
3773 | P1E: |
3774 | db 'Clarksfield',0 |
3774 | db 'Clarksfield',0 |
3775 | P1Elen: |
3775 | P1Elen: |
3776 | 3776 | ||
3777 | P1A: |
3777 | P1A: |
3778 | db 'Bloomfield',0 |
3778 | db 'Bloomfield',0 |
3779 | P1Alen: |
3779 | P1Alen: |
3780 | 3780 | ||
3781 | P2E: |
3781 | P2E: |
3782 | db 'Nehalem-EX',0 |
3782 | db 'Nehalem-EX',0 |
3783 | P2Elen: |
3783 | P2Elen: |
3784 | 3784 | ||
3785 | P17: |
3785 | P17: |
3786 | db 'Yorkfield',0 |
3786 | db 'Yorkfield',0 |
3787 | P17len: |
3787 | P17len: |
3788 | 3788 | ||
3789 | P1D: |
3789 | P1D: |
3790 | db 'Dunnington',0 |
3790 | db 'Dunnington',0 |
3791 | P1Dlen: |
3791 | P1Dlen: |
3792 | 3792 | ||
3793 | P0F: |
3793 | P0F: |
3794 | db 'Clovertown',0 |
3794 | db 'Clovertown',0 |
3795 | P0Flen: |
3795 | P0Flen: |
3796 | 3796 | ||
3797 | P16: |
3797 | P16: |
3798 | db 'Merom Conroe',0 |
3798 | db 'Merom Conroe',0 |
3799 | P16len: |
3799 | P16len: |
3800 | 3800 | ||
3801 | P06: |
3801 | P06: |
3802 | db 'Cedar Mill',0 |
3802 | db 'Cedar Mill',0 |
3803 | P06len: |
3803 | P06len: |
3804 | 3804 | ||
3805 | P03: |
3805 | P03: |
3806 | db 'Nocona Irwindale',0 |
3806 | db 'Nocona Irwindale',0 |
3807 | P03len: |
3807 | P03len: |
3808 | 3808 | ||
3809 | P04: |
3809 | P04: |
3810 | db 'NoconaIrwindale',0 |
3810 | db 'NoconaIrwindale',0 |
3811 | P04len: |
3811 | P04len: |
3812 | 3812 | ||
3813 | P0D: |
3813 | P0D: |
3814 | db 'Dothan',0 |
3814 | db 'Dothan',0 |
3815 | P0Dlen: |
3815 | P0Dlen: |
3816 | 3816 | ||
3817 | P36: |
3817 | P36: |
3818 | db 'Cedarview',0 |
3818 | db 'Cedarview',0 |
3819 | P36len: |
3819 | P36len: |
3820 | 3820 | ||
3821 | P26: |
3821 | P26: |
3822 | db 'Lincroft',0 |
3822 | db 'Lincroft',0 |
3823 | P26len: |
3823 | P26len: |
3824 | 3824 | ||
3825 | P1C: |
3825 | P1C: |
3826 | db 'Pineview',0 |
3826 | db 'Pineview',0 |
3827 | P1Clen: |
3827 | P1Clen: |
3828 | 3828 | ||
3829 | no_known: |
3829 | no_known: |
3830 | db 'SORRY, CODENAME IS NOT SUPPORTED YET ', 0 |
3830 | db 'SORRY, CODENAME IS NOT SUPPORTED YET ', 0 |
3831 | 3831 | ||
3832 | ;---------AMD |
3832 | ;---------AMD |
3833 | 3833 | ||
3834 | A50 db 'K5 (PR75, PR90, PR100)',0 |
3834 | A50 db 'K5 (PR75, PR90, PR100)',0 |
3835 | 3835 | ||
3836 | A51 db '5k86 (PR120, PR133)',0 |
3836 | A51 db '5k86 (PR120, PR133)',0 |
3837 | 3837 | ||
3838 | A52 db '5k86 (PR166)',0 |
3838 | A52 db '5k86 (PR166)',0 |
3839 | 3839 | ||
3840 | A53 db '5k86 (PR200)',0 |
3840 | A53 db '5k86 (PR200)',0 |
3841 | 3841 | ||
3842 | A56 db 'K6',0 |
3842 | A56 db 'K6',0 |
3843 | 3843 | ||
3844 | A57 db 'K6',0 |
3844 | A57 db 'K6',0 |
3845 | 3845 | ||
3846 | A58 db 'K6-2',0 |
3846 | A58 db 'K6-2',0 |
3847 | 3847 | ||
3848 | A59 db 'K6-III',0 |
3848 | A59 db 'K6-III',0 |
3849 | 3849 | ||
3850 | A5D db 'K6-2+ or K6-III+',0 |
3850 | A5D db 'K6-2+ or K6-III+',0 |
3851 | 3851 | ||
3852 | ;------------------- |
3852 | ;------------------- |
3853 | 3853 | ||
3854 | At1 db 'Athlon',0 |
3854 | At1 db 'Athlon',0 |
3855 | 3855 | ||
3856 | At2 db 'Athlon',0 |
3856 | At2 db 'Athlon',0 |
3857 | 3857 | ||
3858 | At3 db 'Duron (Spitfire)',0 |
3858 | At3 db 'Duron (Spitfire)',0 |
3859 | 3859 | ||
3860 | At4 db 'Athlon (Thunderbird)',0 |
3860 | At4 db 'Athlon (Thunderbird)',0 |
3861 | 3861 | ||
3862 | At6 db 'AthlonXP (Palomino)',0 |
3862 | At6 db 'AthlonXP (Palomino)',0 |
3863 | 3863 | ||
3864 | At7 db 'Duron (Morgan)',0 |
3864 | At7 db 'Duron (Morgan)',0 |
3865 | 3865 | ||
3866 | At8 db 'AthlonXP (Thoroughbred)',0 |
3866 | At8 db 'AthlonXP (Thoroughbred)',0 |
3867 | 3867 | ||
3868 | At8a db 'Duron (Applebred)',0 |
3868 | At8a db 'Duron (Applebred)',0 |
3869 | 3869 | ||
3870 | Ata db 'AthlonXP (Barton)',0 |
3870 | Ata db 'AthlonXP (Barton)',0 |
3871 | 3871 | ||
3872 | Atat db 'AthlonXP (Thorton)',0 |
3872 | Atat db 'AthlonXP (Thorton)',0 |
3873 | 3873 | ||
3874 | ;------------------- |
3874 | ;------------------- |
3875 | AthlonKuma: |
3875 | AthlonKuma: |
3876 | 3876 | ||
3877 | db 'AMD Athlon 7750 Black Edition',0 |
3877 | db 'AMD Athlon 7750 Black Edition',0 |
3878 | 3878 | ||
3879 | AthlonKumalen: |
3879 | AthlonKumalen: |
3880 | 3880 | ||
3881 | AB23: |
3881 | AB23: |
3882 | 3882 | ||
3883 | db 'Opteron 2300-series',0 |
3883 | db 'Opteron 2300-series',0 |
3884 | 3884 | ||
3885 | AB23len: |
3885 | AB23len: |
3886 | 3886 | ||
3887 | AB83: |
3887 | AB83: |
3888 | 3888 | ||
3889 | db 'Opteron 8300-series',0 |
3889 | db 'Opteron 8300-series',0 |
3890 | 3890 | ||
3891 | AB83len: |
3891 | AB83len: |
3892 | 3892 | ||
3893 | AB9: |
3893 | AB9: |
3894 | db 'Phenom X4',0 |
3894 | db 'Phenom X4',0 |
3895 | 3895 | ||
3896 | AB9len: |
3896 | AB9len: |
3897 | 3897 | ||
3898 | AB8right2: |
3898 | AB8right2: |
3899 | 3899 | ||
3900 | db 'Phenom X3',0 |
3900 | db 'Phenom X3',0 |
3901 | 3901 | ||
3902 | AB8right2len: |
3902 | AB8right2len: |
3903 | 3903 | ||
3904 | AB4: |
3904 | AB4: |
3905 | 3905 | ||
3906 | db 'Athlon X2',0 |
3906 | db 'Athlon X2',0 |
3907 | 3907 | ||
3908 | AB4len: |
3908 | AB4len: |
3909 | 3909 | ||
3910 | AB1: |
3910 | AB1: |
3911 | 3911 | ||
3912 | db 'Sempron',0 |
3912 | db 'Sempron',0 |
3913 | 3913 | ||
3914 | AB1len: |
3914 | AB1len: |
3915 | 3915 | ||
3916 | ABC2: |
3916 | ABC2: |
3917 | 3917 | ||
3918 | db 'Opteron (Shanghai) 2387',0 |
3918 | db 'Opteron (Shanghai) 2387',0 |
3919 | 3919 | ||
3920 | ABC2len: |
3920 | ABC2len: |
3921 | 3921 | ||
3922 | AB6: |
3922 | AB6: |
3923 | 3923 | ||
3924 | db 'Opteron (Magny-Cours)',0 |
3924 | db 'Opteron (Magny-Cours)',0 |
3925 | 3925 | ||
3926 | AB6len: |
3926 | AB6len: |
3927 | 3927 | ||
3928 | ABC3: |
3928 | ABC3: |
3929 | 3929 | ||
3930 | db 'Opteron (Shanghai) 8300 series',0 |
3930 | db 'Opteron (Shanghai) 8300 series',0 |
3931 | 3931 | ||
3932 | ABC3len: |
3932 | ABC3len: |
3933 | 3933 | ||
3934 | ABM2: |
3934 | ABM2: |
3935 | 3935 | ||
3936 | db 'Turion II ',0 |
3936 | db 'Turion II ',0 |
3937 | 3937 | ||
3938 | ABM2len: |
3938 | ABM2len: |
3939 | 3939 | ||
3940 | ;--- |
3940 | ;--- |
3941 | 3941 | ||
3942 | AF1: |
3942 | AF1: |
3943 | 3943 | ||
3944 | db 'Dual-core Opteron',0 |
3944 | db 'Dual-core Opteron',0 |
3945 | 3945 | ||
3946 | AF1len: |
3946 | AF1len: |
3947 | 3947 | ||
3948 | AF3: |
3948 | AF3: |
3949 | 3949 | ||
3950 | db 'Athlon 64 (Toledo)',0 |
3950 | db 'Athlon 64 (Toledo)',0 |
3951 | 3951 | ||
3952 | AF3len: |
3952 | AF3len: |
3953 | 3953 | ||
3954 | AF4: |
3954 | AF4: |
3955 | 3955 | ||
3956 | db 'Athlon 64 (ClawHammer)',0 |
3956 | db 'Athlon 64 (ClawHammer)',0 |
3957 | 3957 | ||
3958 | AF4len: |
3958 | AF4len: |
3959 | 3959 | ||
3960 | AF5: |
3960 | AF5: |
3961 | 3961 | ||
3962 | db 'Opteron/Athlon 64 FX (SledgeHammer)',0 |
3962 | db 'Opteron/Athlon 64 FX (SledgeHammer)',0 |
3963 | 3963 | ||
3964 | AF5len: |
3964 | AF5len: |
3965 | 3965 | ||
3966 | 3966 | ||
3967 | AFC: |
3967 | AFC: |
3968 | 3968 | ||
3969 | db 'Athlon 64 (Newcastle)',0 |
3969 | db 'Athlon 64 (Newcastle)',0 |
3970 | 3970 | ||
3971 | AFClen: |
3971 | AFClen: |
3972 | 3972 | ||
3973 | 3973 | ||
3974 | AFF: |
3974 | AFF: |
3975 | 3975 | ||
3976 | db 'Athlon 64 (Winchester)',0 |
3976 | db 'Athlon 64 (Winchester)',0 |
3977 | 3977 | ||
3978 | AFFlen: |
3978 | AFFlen: |
3979 | 3979 | ||
3980 | 3980 | ||
3981 | AFS: |
3981 | AFS: |
3982 | 3982 | ||
3983 | db 'Athlon 64 (San Diego)',0 |
3983 | db 'Athlon 64 (San Diego)',0 |
3984 | 3984 | ||
3985 | AFSlen: |
3985 | AFSlen: |
3986 | 3986 | ||
3987 | 3987 | ||
3988 | AFV: |
3988 | AFV: |
3989 | 3989 | ||
3990 | db 'Athlon 64 (Venice)',0 |
3990 | db 'Athlon 64 (Venice)',0 |
3991 | 3991 | ||
3992 | AFVlen: |
3992 | AFVlen: |
3993 | 3993 | ||
3994 | 3994 | ||
3995 | AFCs: |
3995 | AFCs: |
3996 | 3996 | ||
3997 | db 'Sempron (Paris)',0 |
3997 | db 'Sempron (Paris)',0 |
3998 | 3998 | ||
3999 | AFCslen: |
3999 | AFCslen: |
4000 | 4000 | ||
4001 | 4001 | ||
4002 | 4002 | ||
4003 | AFCsp: |
4003 | AFCsp: |
4004 | 4004 | ||
4005 | db 'Sempron (Palermo)',0 |
4005 | db 'Sempron (Palermo)',0 |
4006 | 4006 | ||
4007 | AFCsplen: |
4007 | AFCsplen: |
4008 | 4008 | ||
4009 | 4009 | ||
4010 | 4010 | ||
4011 | ;---------Cyrix |
4011 | ;---------Cyrix |
4012 | 4012 | ||
4013 | C52: |
4013 | C52: |
4014 | 4014 | ||
4015 | db '6x86 M1',0 |
4015 | db '6x86 M1',0 |
4016 | 4016 | ||
4017 | C52len: |
4017 | C52len: |
4018 | 4018 | ||
4019 | C54: |
4019 | C54: |
4020 | 4020 | ||
4021 | db 'MediaGX',0 |
4021 | db 'MediaGX',0 |
4022 | 4022 | ||
4023 | C54len: |
4023 | C54len: |
4024 | 4024 | ||
4025 | C60: |
4025 | C60: |
4026 | 4026 | ||
4027 | db '6x86MX M2',0 |
4027 | db '6x86MX M2',0 |
4028 | 4028 | ||
4029 | C60len: |
4029 | C60len: |
4030 | 4030 | ||
4031 | C65: |
4031 | C65: |
4032 | 4032 | ||
4033 | db 'C3 (Cyrix M2)',0 ;? |
4033 | db 'C3 (Cyrix M2)',0 ;? |
4034 | 4034 | ||
4035 | C65len: |
4035 | C65len: |
4036 | 4036 | ||
4037 | ;--------IDT |
4037 | ;--------IDT |
4038 | 4038 | ||
4039 | V54: |
4039 | V54: |
4040 | 4040 | ||
4041 | db 'WinChip C6',0 |
4041 | db 'WinChip C6',0 |
4042 | 4042 | ||
4043 | V54len: |
4043 | V54len: |
4044 | 4044 | ||
4045 | V58: |
4045 | V58: |
4046 | 4046 | ||
4047 | db 'WinChip 2',0 |
4047 | db 'WinChip 2',0 |
4048 | 4048 | ||
4049 | V58len: |
4049 | V58len: |
4050 | 4050 | ||
4051 | V59: |
4051 | V59: |
4052 | 4052 | ||
4053 | db 'WinChip 3',0 |
4053 | db 'WinChip 3',0 |
4054 | 4054 | ||
4055 | V59len: |
4055 | V59len: |
4056 | 4056 | ||
4057 | ;-------VIA |
4057 | ;-------VIA |
4058 | 4058 | ||
4059 | V66: |
4059 | V66: |
4060 | 4060 | ||
4061 | db 'C3 (Samuel)',0 ; Joshua is unreleased 065 |
4061 | db 'C3 (Samuel)',0 ; Joshua is unreleased 065 |
4062 | 4062 | ||
4063 | V66len: |
4063 | V66len: |
4064 | 4064 | ||
4065 | V67: |
4065 | V67: |
4066 | 4066 | ||
4067 | db 'C3 (Samuel2/Ezra)',0 ; ? |
4067 | db 'C3 (Samuel2/Ezra)',0 ; ? |
4068 | 4068 | ||
4069 | V67len: |
4069 | V67len: |
4070 | 4070 | ||
4071 | V68: |
4071 | V68: |
4072 | 4072 | ||
4073 | db 'C3 (Ezra-T/Eden)',0 ;? |
4073 | db 'C3 (Ezra-T/Eden)',0 ;? |
4074 | 4074 | ||
4075 | V68len: |
4075 | V68len: |
4076 | 4076 | ||
4077 | V69: |
4077 | V69: |
4078 | 4078 | ||
4079 | db 'C3 (Antaur/Nehemiah)',0 ;? |
4079 | db 'C3 (Antaur/Nehemiah)',0 ;? |
4080 | 4080 | ||
4081 | V69len: |
4081 | V69len: |
4082 | 4082 | ||
4083 | VA: |
4083 | VA: |
4084 | 4084 | ||
4085 | db 'C7 (Esther)',0 ;? |
4085 | db 'C7 (Esther)',0 ;? |
4086 | 4086 | ||
4087 | VAlen: |
4087 | VAlen: |
4088 | 4088 | ||
4089 | ;---------Transmeta |
4089 | ;---------Transmeta |
4090 | 4090 | ||
4091 | T5: |
4091 | T5: |
4092 | 4092 | ||
4093 | db 'Crusoe',0 ; |
4093 | db 'Crusoe',0 ; |
4094 | 4094 | ||
4095 | T5len: |
4095 | T5len: |
4096 | 4096 | ||
4097 | TF: |
4097 | TF: |
4098 | 4098 | ||
4099 | db 'Efficeon',0 ; |
4099 | db 'Efficeon',0 ; |
4100 | 4100 | ||
4101 | TFlen: |
4101 | TFlen: |
4102 | 4102 | ||
4103 | ;--------- |
4103 | ;--------- |
4104 | 4104 | ||
4105 | NG: |
4105 | NG: |
4106 | 4106 | ||
4107 | db 'Next generation CPU',0 |
4107 | db 'Next generation CPU',0 |
4108 | 4108 | ||
4109 | NGlen: |
4109 | NGlen: |
4110 | 4110 | ||
4111 | 4111 | ||
4112 | athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120 |
4112 | athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120 |
4113 | 4113 | ||
4114 | db 190, 120, 200, 130, 135, 140, 210, 150, 220, 160, 165, 170, 180, 230, 240 |
4114 | db 190, 120, 200, 130, 135, 140, 210, 150, 220, 160, 165, 170, 180, 230, 240 |
4115 | 4115 | ||
4116 | athlonmcoef: db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105 |
4116 | athlonmcoef: db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105 |
4117 | 4117 | ||
4118 | db 30, 190, 40, 200, 130, 135, 14, 210, 150, 220, 160, 165, 170, 230, 240 |
4118 | db 30, 190, 40, 200, 130, 135, 14, 210, 150, 220, 160, 165, 170, 230, 240 |
4119 | 4119 | ||
4120 | athloncoef3 db 45, 50, 40, 55, 25, 30, 60, 35 |
4120 | athloncoef3 db 45, 50, 40, 55, 25, 30, 60, 35 |
4121 | 4121 | ||
4122 | p4coef db 160, 170, 180, 190, 200, 210, 220, 230, 80, 90, 100, 110, 120, 130, 140, 150 ; Pentium 4 (Willamete) |
4122 | p4coef db 160, 170, 180, 190, 200, 210, 220, 230, 80, 90, 100, 110, 120, 130, 140, 150 ; Pentium 4 (Willamete) |
4123 | 4123 | ||
4124 | coppercoeff db 50, 30, 40, 20, 55, 35, 45, 25, 35, 70, 80, 60, 20, 75, 15, 65, 90, 110, 120, 20, 95, 115, 85, 25, 35, 70, 80, 100, 20, 75, 15, 105 |
4124 | coppercoeff db 50, 30, 40, 20, 55, 35, 45, 25, 35, 70, 80, 60, 20, 75, 15, 65, 90, 110, 120, 20, 95, 115, 85, 25, 35, 70, 80, 100, 20, 75, 15, 105 |
4125 | 4125 | ||
4126 | tualatcoeff db 120, 35, 35, 40, 55, 35, 115, 35, 160, 70, 80, 60, 40, 75, 35, 65, 90, 110, 35, 35, 95, 35, 85, 35, 35, 35, 130, 100, 140, 35, 150, 105 |
4126 | tualatcoeff db 120, 35, 35, 40, 55, 35, 115, 35, 160, 70, 80, 60, 40, 75, 35, 65, 90, 110, 35, 35, 95, 35, 85, 35, 35, 35, 130, 100, 140, 35, 150, 105 |
4127 | 4127 | ||
4128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4129 | I_END: |
4129 | I_END: |
4130 | 4130 | ||
4131 | img_area: ; image is going to be unpacked to here |
4131 | img_area: ; image is going to be unpacked to here |
4132 | rb 201*49*3+8 ; image resolution (bits to reserve) |
4132 | rb 201*49*3+8 ; image resolution (bits to reserve) |
4133 | 4133 | ||
4134 | img_area2: ; image is going to be unpacked to here |
4134 | img_area2: ; image is going to be unpacked to here |
4135 | rb 93*24*3+8 ; image resolution (bits to reserve) |
4135 | rb 93*24*3+8 ; image resolution (bits to reserve) |
4136 | 4136 | ||
4137 | img_area3: ; image is going to be unpacked to here |
4137 | img_area3: ; image is going to be unpacked to here |
4138 | rb 93*24*3+8 ; image resolution (bits to reserve) |
4138 | rb 93*24*3+8 ; image resolution (bits to reserve) |
4139 | 4139 | ||
4140 | gif_hash_area: |
4140 | gif_hash_area: |
4141 | rd 4096+1 ;hash area size for unpacking gif |
4141 | rd 4096+1 ;hash area size for unpacking gif |
4142 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4142 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4143 | 4143 | ||
4144 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
4144 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
4145 | 4145 | ||
4146 | err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
4146 | err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
4147 | 4147 | ||
4148 | err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
4148 | err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
4149 | 4149 | ||
4150 | head_f_i: |
4150 | head_f_i: |
4151 | head_f_l db 'error',0 |
4151 | head_f_l db 'error',0 |
4152 | ;--------------------------------------------------------------------- |
4152 | ;--------------------------------------------------------------------- |
4153 | l_libs_start: |
4153 | l_libs_start: |
4154 | 4154 | ||
4155 | library02 l_libs system_dir_ProcLib+9, path, library_path, system_dir_ProcLib, \ |
4155 | library02 l_libs system_dir_ProcLib+9, path, library_path, system_dir_ProcLib, \ |
4156 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
4156 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
4157 | 4157 | ||
4158 | end_l_libs: |
4158 | end_l_libs: |
4159 | ;--------------------------------------------------------------------- |
4159 | ;--------------------------------------------------------------------- |
4160 | align 4 |
4160 | align 4 |
4161 | ProcLib_import: |
4161 | ProcLib_import: |
4162 | OpenDialog_Init dd aOpenDialog_Init |
4162 | OpenDialog_Init dd aOpenDialog_Init |
4163 | OpenDialog_Start dd aOpenDialog_Start |
4163 | OpenDialog_Start dd aOpenDialog_Start |
4164 | ;OpenDialog__Version dd aOpenDialog_Version |
4164 | ;OpenDialog__Version dd aOpenDialog_Version |
4165 | dd 0 |
4165 | dd 0 |
4166 | dd 0 |
4166 | dd 0 |
4167 | aOpenDialog_Init db 'OpenDialog_init',0 |
4167 | aOpenDialog_Init db 'OpenDialog_init',0 |
4168 | aOpenDialog_Start db 'OpenDialog_start',0 |
4168 | aOpenDialog_Start db 'OpenDialog_start',0 |
4169 | ;aOpenDialog_Version db 'Version_OpenDialog',0 |
4169 | ;aOpenDialog_Version db 'Version_OpenDialog',0 |
4170 | ;--------------------------------------------------------------------- |
4170 | ;--------------------------------------------------------------------- |
4171 | align 4 |
4171 | align 4 |
4172 | OpenDialog_data: |
4172 | OpenDialog_data: |
4173 | .type dd 0 |
4173 | .type dd 0 |
4174 | .procinfo dd Proc_Info ;+4 |
4174 | .procinfo dd Proc_Info ;+4 |
4175 | .com_area_name dd communication_area_name ;+8 |
4175 | .com_area_name dd communication_area_name ;+8 |
4176 | .com_area dd 0 ;+12 |
4176 | .com_area dd 0 ;+12 |
4177 | .opendir_pach dd temp_dir_pach ;+16 |
4177 | .opendir_pach dd temp_dir_pach ;+16 |
4178 | .dir_default_pach dd communication_area_default_pach ;+20 |
4178 | .dir_default_pach dd communication_area_default_pach ;+20 |
4179 | .start_path dd open_dialog_path ;+24 |
4179 | .start_path dd open_dialog_path ;+24 |
4180 | .draw_window dd draw_window ;+28 |
4180 | .draw_window dd draw_window ;+28 |
4181 | .status dd 0 ;+32 |
4181 | .status dd 0 ;+32 |
4182 | .openfile_pach dd file_name ;+36 |
4182 | .openfile_pach dd file_name ;+36 |
4183 | .filename_area dd filename_area ;+40 |
4183 | .filename_area dd filename_area ;+40 |
4184 | .filter_area dd Filter |
4184 | .filter_area dd Filter |
4185 | .x: |
4185 | .x: |
4186 | .x_size dw 420 ;+48 ; Window X size |
4186 | .x_size dw 420 ;+48 ; Window X size |
4187 | .x_start dw 10 ;+50 ; Window X position |
4187 | .x_start dw 10 ;+50 ; Window X position |
4188 | .y: |
4188 | .y: |
4189 | .y_size dw 320 ;+52 ; Window y size |
4189 | .y_size dw 320 ;+52 ; Window y size |
4190 | .y_start dw 10 ;+54 ; Window Y position |
4190 | .y_start dw 10 ;+54 ; Window Y position |
4191 | 4191 | ||
4192 | communication_area_name: |
4192 | communication_area_name: |
4193 | db 'FFFFFFFF_open_dialog',0 |
4193 | db 'FFFFFFFF_open_dialog',0 |
4194 | open_dialog_path: |
4194 | open_dialog_path: |
4195 | db '/sys/File Managers/opendial',0 |
4195 | db '/sys/File Managers/opendial',0 |
4196 | communication_area_default_pach: |
4196 | communication_area_default_pach: |
4197 | db '/sys',0 |
4197 | db '/sys',0 |
4198 | Filter: |
4198 | Filter: |
4199 | dd Filter.end - Filter.1 |
4199 | dd Filter.end - Filter.1 |
4200 | .1: |
4200 | .1: |
4201 | db 'TXT',0 |
4201 | db 'TXT',0 |
4202 | db 'LOG',0 |
4202 | db 'LOG',0 |
4203 | .end: |
4203 | .end: |
4204 | dd 0 |
4204 | dd 0 |
4205 | 4205 | ||
4206 | file_default_path: |
4206 | file_default_path: |
4207 | db '/sys/' |
4207 | db '/sys/' |
4208 | start_temp_file_name: |
4208 | start_temp_file_name: |
4209 | db 'CPUID.txt',0 |
4209 | db 'CPUID.txt',0 |
4210 | btn_more_cap: |
4210 | btn_more_cap: |
4211 | db 'Details', 0 |
4211 | db 'Details', 0 |
4212 | btn_save_cap: |
4212 | btn_save_cap: |
4213 | db 'Save', 0 |
4213 | db 'Save', 0 |
4214 | ;--------------------------------------------------------------------- |
4214 | ;--------------------------------------------------------------------- |
4215 | align 4 |
4215 | align 4 |
4216 | fileinfo: |
4216 | fileinfo: |
4217 | .subfunction dd 2 |
4217 | .subfunction dd 2 |
4218 | .Offset dd 0 |
4218 | .Offset dd 0 |
4219 | .Offset_1 dd 0 |
4219 | .Offset_1 dd 0 |
4220 | .size dd 4096 |
4220 | .size dd 4096 |
4221 | .return dd 0 |
4221 | .return dd 0 |
4222 | db 0 |
4222 | db 0 |
4223 | .name: dd file_name |
4223 | .name: dd file_name |
4224 | 4224 | ||
4225 | align 4 |
4225 | align 4 |
4226 | sc system_colors |
4226 | sc system_colors |
4227 | 4227 | ||
4228 | store_text_area_start dd ? |
4228 | store_text_area_start dd ? |
4229 | store_text_area_end dd ? |
4229 | store_text_area_end dd ? |
4230 | store_text_size dd ? |
4230 | store_text_size dd ? |
4231 | 4231 | ||
4232 | ;--------------------------------------------------------------------- |
4232 | ;--------------------------------------------------------------------- |
4233 | library_path: |
4233 | library_path: |
4234 | rb 4096 |
4234 | rb 4096 |
4235 | ;--------------------------------------------------------------------- |
4235 | ;--------------------------------------------------------------------- |
4236 | path: |
4236 | path: |
4237 | rb 4096 |
4237 | rb 4096 |
4238 | ;--------------------------------------------------------------------- |
4238 | ;--------------------------------------------------------------------- |
4239 | temp_dir_pach: |
4239 | temp_dir_pach: |
4240 | rb 4096 |
4240 | rb 4096 |
4241 | ;--------------------------------------------------------------------- |
4241 | ;--------------------------------------------------------------------- |
4242 | file_name: |
4242 | file_name: |
4243 | rb 4096 |
4243 | rb 4096 |
4244 | ;--------------------------------------------------------------------- |
4244 | ;--------------------------------------------------------------------- |
4245 | file_name_1: |
4245 | file_name_1: |
4246 | rb 4096 |
4246 | rb 4096 |
4247 | ;--------------------------------------------------------------------- |
4247 | ;--------------------------------------------------------------------- |
4248 | filename_area: |
4248 | filename_area: |
4249 | rb 256 |
4249 | rb 256 |
4250 | ;--------------------------------------------------------------------- |
4250 | ;--------------------------------------------------------------------- |
4251 | rb 4096 |
4251 | rb 4096 |
4252 | stacktop: |
4252 | stacktop: |
4253 | ;--------------------------------------------------------------------- |
4253 | ;--------------------------------------------------------------------- |
4254 | Proc_Info process_information |
4254 | Proc_Info process_information |
4255 | ; RSA test data |
4255 | ; RSA test data |
4256 | align 4 |
4256 | align 4 |
4257 | num1 rd 40 |
4257 | num1 rd 40 |
4258 | num2 rd 40 |
4258 | num2 rd 40 |
4259 | num3 rd 40 |
4259 | num3 rd 40 |
4260 | iter rd 1 |
4260 | iter rd 1 |
4261 | openkey rd 1 |
4261 | openkey rd 1 |
4262 | 4262 | ||
4263 | 4263 | ||
4264 | IncludeUGlobals |
4264 | IncludeUGlobals |
4265 | 4265 | ||
4266 | nocpuid db ? |
4266 | nocpuid db ? |
4267 | ost dd ? |
4267 | ost dd ? |
4268 | sot dd ? |
4268 | sot dd ? |
4269 | f dd ? |
4269 | f dd ? |
4270 | m dd ? |
4270 | m dd ? |
4271 | s dd ? |
4271 | s dd ? |
4272 | t dd ? |
4272 | t dd ? |
4273 | 4273 | ||
4274 | ef dd ? |
4274 | ef dd ? |
4275 | em dd ? |
4275 | em dd ? |
4276 | 4276 | ||
4277 | multiplier dd ? |
4277 | multiplier dd ? |
4278 | multa dd ? |
4278 | multa dd ? |
4279 | multb dd ? |
4279 | multb dd ? |
4280 | smallvendor dd ? |
4280 | smallvendor dd ? |
4281 | L1d dd ? |
4281 | L1d dd ? |
4282 | L1i dd ? |
4282 | L1i dd ? |
4283 | L2 dd ? |
4283 | L2 dd ? |
4284 | L3 dd ? |
4284 | L3 dd ? |
4285 | micron dd ? |
4285 | micron dd ? |
4286 | brand dd ? |
4286 | brand dd ? |
4287 | newpc dd ? |
4287 | newpc dd ? |
4288 | nomultiplier dd ? |
4288 | nomultiplier dd ? |
4289 | ram_size_a dd ? |
4289 | ram_size_a dd ? |
4290 | ram_size_t dd ? |
4290 | ram_size_t dd ? |
4291 | 4291 | ||
4292 | stdc dd ? |
4292 | stdc dd ? |
4293 | extc dd ? |
4293 | extc dd ? |
4294 | 4294 | ||
4295 | FRS dd ? |
4295 | FRS dd ? |
4296 | freqsel db ? |
4296 | freqsel db ? |
4297 | sse3sup db ? |
4297 | sse3sup db ? |
4298 | sse41sup dd ? |
4298 | sse41sup dd ? |
4299 | sse42sup dd ? |
4299 | sse42sup dd ? |
4300 | sse5sup dd ? |
4300 | sse5sup dd ? |
4301 | 4301 | ||
4302 | freqbb dd ? |
4302 | freqbb dd ? |
4303 | freqll dd ? |
4303 | freqll dd ? |
4304 | 4304 | ||
4305 | wayli dd ? |
4305 | wayli dd ? |
4306 | lineli dd ? |
4306 | lineli dd ? |
4307 | 4307 | ||
4308 | wayld dd ? |
4308 | wayld dd ? |
4309 | lineld dd ? |
4309 | lineld dd ? |
4310 | 4310 | ||
4311 | wayl2 dd ? |
4311 | wayl2 dd ? |
4312 | linel2 dd ? |
4312 | linel2 dd ? |
4313 | 4313 | ||
4314 | wayl3 dd ? |
4314 | wayl3 dd ? |
4315 | linel3 dd ? |
4315 | linel3 dd ? |
4316 | che db ? ; numbers of calls for Intel caches detection |
4316 | che db ? ; numbers of calls for Intel caches detection |
4317 | cname dd ? |
4317 | cname dd ? |
4318 | codeN dd ? |
4318 | codeN dd ? |
4319 | 4319 | ||
4320 | myname: |
4320 | myname: |
4321 | rb 48 |
4321 | rb 48 |
4322 | 4322 | ||
4323 | mynamelen: |
4323 | mynamelen: |
4324 | db ? |
4324 | db ? |
4325 | 4325 | ||
4326 | align 4 |
4326 | align 4 |
4327 | thread2_stack_area rb 64 |
4327 | thread2_stack_area rb 64 |
4328 | thread2_esp = $ |
4328 | thread2_esp = $ |
4329 | U_END:> |
4329 | U_END:> |