Rev 223 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 223 | Rev 318 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;****************************************************************************** |
1 | ;****************************************************************************** |
2 | ; project name: CPUID * |
2 | ; project name: CPUID * |
3 | ; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures * |
3 | ; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures * |
4 | ; compiler: flat assembler 1.67.5 * |
4 | ; compiler: flat assembler 1.67.5 * |
5 | ; version: 2.05 * |
5 | ; version: 2.17 * |
6 | ; last update: 1st November 2006 1st 2nd 3rd 4th * |
6 | ; last update: 3rd February 2007 1st 2nd 3rd 4th * |
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-2006 Sergey Kuzmin and coauthors * |
10 | ; license: Copyright 2004-2007 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 original author; * |
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 maintainer or KolibriOS project leader * |
15 | ; your changes to the maintainer or make about post changes* |
- | 16 | ; at forum http://meos.sysbin.com * |
|
16 | ;-----------------------------------------------------------------------------* |
17 | ;-----------------------------------------------------------------------------* |
17 | ; English comments * |
18 | ; English comments * |
18 | ;------------------------------------------------------------------------------ |
19 | ;------------------------------------------------------------------------------ |
19 | use32 |
20 | use32 |
20 | org 0x0 |
21 | org 0x0 |
Line 32... | Line 33... | ||
32 | macro udata |
33 | macro udata |
33 | { |
34 | { |
34 | } |
35 | } |
Line 35... | Line 36... | ||
35 | 36 | ||
36 | include 'mos_uzel.inc' |
37 | include 'mos_uzel.inc' |
- | 38 | ; useful macroses and Brand ID decoding |
|
37 | ; useful macroses and some required stuff |
39 | include 'caches.inc' |
- | 40 | ;(L1 and L2 cashes decoding for Intel) |
|
- | 41 | include 'multipli.inc' |
|
- | 42 | ;(multiplier decoding) |
|
- | 43 | include 'features.inc' |
|
Line 38... | Line 44... | ||
38 | ;(L1 and L2 cashes decoding for Intel) |
44 | ;(features decoding) |
39 | 45 | ||
Line 40... | Line -... | ||
40 | include 'gif2img.inc' |
- | |
41 | ; include macro to convert gif to img |
46 | include 'gif2img.inc' |
42 | 47 | ; include macros to convert gif to img |
|
Line -... | Line 48... | ||
- | 48 | ||
- | 49 | include 'rsatest.inc' |
|
43 | ;include 'debug.inc' |
50 | include 'variable.inc' |
44 | include 'rsatest.inc' |
51 | |
45 | include 'variable.inc' |
52 | |
46 | 53 | ||
47 | START: ; LET'S GO!!! |
54 | START: ; LET'S GO!!! |
48 | ;------------ |
55 | ;------------ |
49 | CYCLES: |
56 | CYCLES: |
50 | ; CPU speed |
57 | ; CPU speed |
51 | mov eax, 18 |
58 | mov eax, 18 |
52 | mov ebx,5 |
59 | mov ebx,5 |
53 | int 0x40 |
60 | int 0x40 |
54 | mov [total1],eax ;in Hz example 1600490000 |
61 | mov [total1],eax ;in Hz, example 1600490000 |
55 | xor edx,edx |
62 | xor edx,edx |
56 | mov ebx,1000000 |
63 | mov ebx,1000000 |
57 | div ebx |
64 | div ebx |
58 | mov [total], eax ; in Mhz example 1600 |
65 | mov [total], eax ; in Mhz, example 1600 |
59 | xor edx, edx |
66 | xor edx, edx |
Line 108... | Line 115... | ||
108 | multik: |
115 | multik: |
109 | dec [che] |
116 | dec [che] |
Line 110... | Line 117... | ||
110 | 117 | ||
111 | .eaxl: |
118 | .eaxl: |
112 | test eax, $80000000 ; Test bit 31 |
119 | test eax, $80000000 ; Test bit 31 |
113 | jnz .ebxl ; <> 0 =>not valid values |
120 | jnz .ebxl ; <> 0 =>invalid values |
114 | shr eax, 8 |
121 | shr eax, 8 |
115 | call decodecache |
122 | call decodecache |
116 | shr eax, 8 |
123 | shr eax, 8 |
117 | call decodecache |
124 | call decodecache |
Line 395... | Line 402... | ||
395 | 402 | ||
Line 396... | Line 403... | ||
396 | typedetect: |
403 | typedetect: |
397 | 404 | ||
398 | cmp [t], 00b |
405 | cmp [t], 00b |
399 | jne t2d |
406 | jne t2d |
400 | Text 275,190,0x00000000,t1, t1len-t1 |
407 | Text 295,270,0x00000000,t1, t1len-t1 |
401 | jmp PROCCORE |
408 | jmp PROCCORE |
402 | t2d: |
409 | t2d: |
403 | cmp [t], 01b |
410 | cmp [t], 01b |
404 | jne t3d |
411 | jne t3d |
405 | Text 275,190,0x00000000,t2, t2len-t2 |
412 | Text 295,270,0x00000000,t2, t2len-t2 |
406 | jmp PROCCORE |
413 | jmp PROCCORE |
407 | t3d: |
414 | t3d: |
408 | cmp [t], 11b |
415 | cmp [t], 11b |
409 | jne notype |
416 | jne notype |
410 | Text 275,190,0x00000000,t3, t3len-t3 |
417 | Text 295,270,0x00000000,t3, t3len-t3 |
411 | jmp PROCCORE |
418 | jmp PROCCORE |
Line 412... | Line 419... | ||
412 | notype: |
419 | notype: |
413 | Text 275,190,0x00000000,t4, t4len-t4 |
420 | Text 295,270,0x00000000,t4, t4len-t4 |
414 | 421 | ||
415 | PROCCORE: ; Who are you? |
422 | PROCCORE: ; Who are you? |
Line 455... | Line 462... | ||
455 | 462 | ||
Line 456... | Line 463... | ||
456 | Text 20, 210,0x00000000,cache, cachelen-cache |
463 | Text 20, 210,0x00000000,cache, cachelen-cache |
Line 457... | Line -... | ||
457 | - | ||
458 | Text 80,90,0x00000000,AMDn, AMDnlen-AMDn |
- | |
459 | 464 | ||
460 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
465 | Text 80,90,0x00000000,AMDn, AMDnlen-AMDn |
461 | ; Print the unpacked img to screen |
466 | |
462 | mov esi, amd |
- | |
463 | call load_gif |
- | |
464 | mov eax,7 ; sysfunc7: putimage |
- | |
465 | mov ebx,img_area+8 ; pointer to image |
- | |
466 | mov ecx,201*65536+49 ; resolution (all gif's included are 64*81) |
467 | mov esi, amd |
467 | mov edx,130*65536+127 ; place to print image on screen (first number is |
- | |
Line 468... | Line 468... | ||
468 | ;pixels from left, second pixels from top) |
468 | call load_gif |
469 | int 0x40 ; execute function |
469 | PutImage 130,127,201,49,img_area+8 |
470 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
470 | ; place size |
471 | 471 | ||
- | 472 | ; Relax, man. AMD made PRETTY SIMPLE cache detection routine |
|
- | 473 | ;CACHE1: |
|
- | 474 | mov eax, 80000005h |
|
- | 475 | cpuid |
|
- | 476 | ||
- | 477 | mov eax, ecx |
|
- | 478 | ;shl eax, 24 |
|
- | 479 | ;shr eax, 24 |
|
- | 480 | ||
- | 481 | and eax,000000FFh ; |
|
- | 482 | mov [lineld], eax |
|
- | 483 | ||
- | 484 | mov eax, ecx |
|
- | 485 | ;shl eax, 8 |
|
- | 486 | ;shr eax, 24 |
|
- | 487 | ||
472 | ; Relax, man. AMD made PRETTY SIMPLE cache detection routine |
488 | and eax,00FF0000h |
473 | ;CACHE1: |
489 | shr eax, 16 |
- | 490 | mov [wayld], eax |
|
- | 491 | ||
- | 492 | shr ecx, 24 |
|
- | 493 | mov [L1d], ecx |
|
- | 494 | ||
- | 495 | ||
- | 496 | mov eax, edx |
|
- | 497 | ;shl eax, 24 |
|
- | 498 | ;shr eax, 24 |
|
- | 499 | ||
- | 500 | and eax,000000FFh ; |
|
- | 501 | mov [lineli], eax |
|
- | 502 | ||
- | 503 | mov eax, edx |
|
- | 504 | ;shl eax, 8 |
|
- | 505 | ;shr eax, 24 |
|
- | 506 | ||
- | 507 | and eax,00FF0000h |
|
474 | mov eax, 80000005h |
508 | shr eax, 16 |
475 | cpuid |
509 | mov [wayli], eax |
- | 510 | ||
- | 511 | ||
476 | shr ecx, 24 |
512 | shr edx, 24 |
477 | mov [L1d], ecx |
513 | mov [L1i], edx |
478 | shr edx, 24 |
514 | |
- | 515 | ||
- | 516 | ;CACHE2: |
|
- | 517 | mov eax, 80000006h |
|
- | 518 | cpuid |
|
- | 519 | ||
- | 520 | mov eax, ecx |
|
- | 521 | ;and eax,000000FFh ; |
|
- | 522 | shl eax, 24 |
|
- | 523 | shr eax, 24 |
|
- | 524 | mov dword[linel2], eax |
|
- | 525 | ||
- | 526 | mov eax, ecx |
|
- | 527 | shl eax, 16 |
|
- | 528 | shr eax, 28 |
|
- | 529 | ||
- | 530 | cmp eax, 0010b |
|
- | 531 | je way2 |
|
- | 532 | ||
- | 533 | cmp eax, 0100b |
|
- | 534 | je way4 |
|
- | 535 | ||
- | 536 | cmp eax, 0110b |
|
- | 537 | je way8 |
|
- | 538 | ||
- | 539 | cmp eax, 1000b |
|
- | 540 | je way16 |
|
- | 541 | ||
- | 542 | jmp to_next |
|
- | 543 | ||
- | 544 | way2: |
|
- | 545 | mov dword[wayl2], 2 |
|
- | 546 | jmp to_next |
|
- | 547 | ||
- | 548 | way4: |
|
- | 549 | mov dword[wayl2], 4 |
|
- | 550 | jmp to_next |
|
- | 551 | ||
- | 552 | way8: |
|
- | 553 | mov dword[wayl2], 8 |
|
- | 554 | jmp to_next |
|
- | 555 | ||
- | 556 | way16: |
|
- | 557 | mov dword[wayl2], 16 |
|
- | 558 | jmp to_next |
|
479 | mov [L1i], edx |
559 | |
480 | ;CACHE2: |
560 | |
- | 561 | to_next: |
|
481 | mov eax, 80000006h |
562 | |
482 | cpuid |
563 | shr ecx, 16 |
483 | shr ecx, 16 |
564 | mov [L2],ecx |
484 | mov [L2],ecx |
565 | |
485 | cmp [f], $5 |
566 | cmp [f], $5 |
Line 649... | Line 730... | ||
649 | ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf |
730 | ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf |
Line 650... | Line 731... | ||
650 | 731 | ||
651 | ; checking sse3 for new AMD's is needed |
732 | ; checking sse3 for new AMD's is needed |
652 | cmp [m],$1 ; Dual-core Opteron |
733 | cmp [m],$1 ; Dual-core Opteron |
653 | jz .AF1 |
734 | jz .AF1 |
654 | cmp [m],$3 ; Toledo 1024 0.09 // Manchester |
735 | cmp [m],$3 ; Toledo 1024 0.09 // Manchester ||Windsor Dual Core not supported |
655 | jz .AF3 |
736 | jz .AF3 |
656 | cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
737 | cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
657 | jz .AF4 |
738 | jz .AF4 |
658 | cmp [m],$5 ; Opteron Athlon 64 FX 0.13 (1024) |
739 | cmp [m],$5 ; Opteron Athlon 64 FX 0.13 (1024) |
659 | jz .AF5 |
740 | jz .AF5 |
660 | cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024) (¯- ¡ ¡ü-¿-¬¡) |
741 | cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024) |
661 | jz .AF7 |
742 | jz .AF7 |
662 | cmp [m],$8 ; Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
743 | cmp [m],$8 ; Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 |
663 | jz .AF8 |
744 | jz .AF8 |
664 | cmp [m],$B ; Athlon 64 |
745 | cmp [m],$B ; Athlon 64 |
Line 733... | Line 814... | ||
733 | .win: |
814 | .win: |
734 | mov [micron], 9 ; winchester |
815 | mov [micron], 9 ; winchester |
735 | jmp MMXtest |
816 | jmp MMXtest |
Line 736... | Line 817... | ||
736 | 817 | ||
- | 818 | .AFFsse: |
|
737 | .AFFsse: |
819 | mov [micron], 9 |
738 | cmp [L2], 1024 |
820 | cmp [L2], 1024 |
739 | jz .AFs |
821 | jz .AFs |
740 | cmp [L2], 512 |
822 | cmp [L2], 512 |
741 | jz .AFd |
823 | jz .AFd |
Line 755... | Line 837... | ||
755 | jmp MMXtest |
837 | jmp MMXtest |
756 | ;----------------------------------------------- |
838 | ;----------------------------------------------- |
757 | Intel: |
839 | Intel: |
758 | Text 80,90,0x00000000,Inteln, Intelnlen-Inteln |
840 | Text 80,90,0x00000000,Inteln, Intelnlen-Inteln |
Line 759... | Line -... | ||
759 | - | ||
760 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
761 | ; Print the unpacked img to screen |
841 | |
762 | mov esi, intel |
842 | mov esi, intel |
763 | call load_gif |
843 | call load_gif |
764 | mov eax,7 ; sysfunc7: putimage |
- | |
765 | mov ebx,img_area+8 ; pointer to image |
- | |
766 | mov ecx,201*65536+49 ; resolution (all gif's included are 64*81) |
- | |
767 | mov edx,130*65536+127 ; place to print image on screen (first number is |
- | |
768 | ;pixels from left, second pixels from top) |
844 | PutImage 130,127,201,49,img_area+8 |
769 | int 0x40 ; execute function |
- | |
Line 770... | Line 845... | ||
770 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
845 | ; place size |
771 | 846 | ||
772 | det: |
847 | det: |
773 | cmp [f], $5 |
848 | cmp [f], $5 |
Line 942... | Line 1017... | ||
942 | mov [micron], 6 |
1017 | mov [micron], 6 |
943 | Text 115,90,0x00000000,P6F, P6Flen-P6F |
1018 | Text 115,90,0x00000000,P6F, P6Flen-P6F |
944 | jmp MMXtest |
1019 | jmp MMXtest |
Line 945... | Line 1020... | ||
945 | 1020 | ||
946 | ;06Ex - Pentium M Yonah 0.065 |
1021 | ;06Ex - Pentium M Yonah 0.065 |
Line 947... | Line 1022... | ||
947 | ;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale |
1022 | ;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield |
948 | 1023 | ||
Line 949... | Line 1024... | ||
949 | .sev: ;Family=7 |
1024 | .sev: ;Family=7 |
Line 1043... | Line 1118... | ||
1043 | ;---------------------------------- |
1118 | ;---------------------------------- |
1044 | Cyrix: |
1119 | Cyrix: |
Line 1045... | Line 1120... | ||
1045 | 1120 | ||
Line 1046... | Line -... | ||
1046 | Text 20, 210,0x00000000,cache, cachelen-cache |
- | |
1047 | - | ||
1048 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1121 | Text 20, 210,0x00000000,cache, cachelen-cache |
1049 | ; Print the unpacked img to screen |
1122 | |
1050 | mov esi, cyrix |
1123 | mov esi, cyrix |
1051 | call load_gif |
- | |
1052 | mov eax,7 ; sysfunc7: putimage |
- | |
1053 | mov ebx,img_area+8 ; pointer to image |
- | |
1054 | mov ecx,201*65536+49 ; resolution (all gif's included are 64*81) |
- | |
1055 | mov edx,130*65536+127 ; place to print image on screen (first number is |
1124 | call load_gif |
1056 | ;pixels from left, second pixels from top) |
- | |
Line 1057... | Line 1125... | ||
1057 | int 0x40 ; execute function |
1125 | PutImage 130,127,201,49,img_area+8 |
1058 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1126 | ; place size |
1059 | 1127 | ||
1060 | cmp [f], $5 |
1128 | cmp [f], $5 |
Line 1114... | Line 1182... | ||
1114 | cpuid |
1182 | cpuid |
1115 | shr ecx, 24 |
1183 | shr ecx, 24 |
1116 | mov [L1d], ecx |
1184 | mov [L1d], ecx |
1117 | shr edx, 24 |
1185 | shr edx, 24 |
1118 | mov [L1i], edx |
1186 | mov [L1i], edx |
- | 1187 | ||
- | 1188 | ||
- | 1189 | ||
- | 1190 | ; cache detection routine |
|
- | 1191 | ;CACHE1: |
|
- | 1192 | mov eax, 80000005h |
|
- | 1193 | cpuid |
|
- | 1194 | ||
- | 1195 | mov eax, ecx |
|
- | 1196 | ||
- | 1197 | and eax,000000FFh ; |
|
- | 1198 | mov [lineld], eax |
|
- | 1199 | ||
- | 1200 | mov eax, ecx |
|
- | 1201 | ||
- | 1202 | and eax,00FF0000h |
|
- | 1203 | shr eax, 16 |
|
- | 1204 | mov [wayld], eax |
|
- | 1205 | ||
- | 1206 | shr ecx, 24 |
|
- | 1207 | mov [L1d], ecx |
|
- | 1208 | ||
- | 1209 | mov eax, edx |
|
- | 1210 | ||
- | 1211 | and eax,000000FFh ; |
|
- | 1212 | mov [lineli], eax |
|
- | 1213 | ||
- | 1214 | mov eax, edx |
|
- | 1215 | ||
- | 1216 | and eax,00FF0000h |
|
- | 1217 | shr eax, 16 |
|
- | 1218 | mov [wayli], eax |
|
- | 1219 | ||
- | 1220 | shr edx, 24 |
|
- | 1221 | mov [L1i], edx |
|
- | 1222 | ||
- | 1223 | ||
1119 | ;CACHE2: |
1224 | ;CACHE2: |
1120 | mov eax, 80000006h |
1225 | mov eax, 80000006h |
1121 | cpuid |
1226 | cpuid |
- | 1227 | ||
- | 1228 | cmp [f], $6 |
|
- | 1229 | jz vn |
|
- | 1230 | jmp vl2old ; if not then old identification |
|
- | 1231 | vn: |
|
- | 1232 | cmp [m],$9 |
|
- | 1233 | jl vl2old |
|
- | 1234 | ; else new |
|
- | 1235 | mov eax, ecx |
|
- | 1236 | shl eax, 24 |
|
1122 | shr ecx, 24 |
1237 | shr eax, 24 |
- | 1238 | mov dword[linel2], eax |
|
- | 1239 | ||
- | 1240 | mov eax, ecx |
|
- | 1241 | shl eax, 16 |
|
- | 1242 | shr eax, 28 |
|
- | 1243 | ||
- | 1244 | mov dword[wayl2], eax |
|
- | 1245 | ||
- | 1246 | shr ecx, 16 ; it is 16 bits now |
|
1123 | mov [L2],ecx |
1247 | mov [L2],ecx |
Line -... | Line 1248... | ||
- | 1248 | ||
- | 1249 | ||
- | 1250 | ||
- | 1251 | vl2old: |
|
- | 1252 | mov eax, ecx |
|
- | 1253 | shl eax, 24 |
|
- | 1254 | shr eax, 24 |
|
- | 1255 | mov dword[linel2], eax |
|
- | 1256 | ||
- | 1257 | mov eax, ecx |
|
- | 1258 | shl eax, 8 |
|
- | 1259 | shr eax, 24 |
|
- | 1260 | ||
- | 1261 | mov dword[wayl2], eax |
|
- | 1262 | ||
- | 1263 | shr ecx, 24 ; it was 8 bits earlier |
|
- | 1264 | mov [L2],ecx |
|
- | 1265 | ||
1124 | 1266 | ||
1125 | cmp [f], $5 |
1267 | cmp [f], $5 |
1126 | jz fivC |
1268 | jz fivC |
1127 | cmp [f], $6 |
1269 | cmp [f], $6 |
Line 1128... | Line 1270... | ||
1128 | jz sixC |
1270 | jz sixC |
Line 1129... | Line -... | ||
1129 | - | ||
1130 | fivC: ;Family=5 |
- | |
1131 | 1271 | ||
1132 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1272 | fivC: ;Family=5 |
1133 | ; Print the unpacked img to screen |
1273 | |
1134 | mov esi, idt |
- | |
1135 | call load_gif |
- | |
1136 | mov eax,7 ; sysfunc7: putimage |
- | |
1137 | mov ebx,img_area+8 ; pointer to image |
- | |
1138 | mov ecx,201*65536+49 ; resolution (all gif's included are 64*81) |
1274 | mov esi, idt |
1139 | mov edx,130*65536+127 ; place to print image on screen (first number is |
- | |
1140 | ;pixels from left, second pixels from top) |
- | |
Line 1141... | Line 1275... | ||
1141 | int 0x40 ; execute function |
1275 | call load_gif |
1142 | 1276 | PutImage 130,127,201,49,img_area+8 |
|
1143 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1277 | ; place size |
1144 | 1278 | ||
Line 1162... | Line 1296... | ||
1162 | Text 105,90,0x00000000,V59, V59len-V59 |
1296 | Text 105,90,0x00000000,V59, V59len-V59 |
1163 | jmp MMXtest |
1297 | jmp MMXtest |
Line 1164... | Line 1298... | ||
1164 | 1298 | ||
Line 1165... | Line -... | ||
1165 | sixC: ;Family=6 |
- | |
1166 | - | ||
1167 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1299 | sixC: ;Family=6 |
1168 | ; Print the unpacked img to screen |
1300 | |
1169 | mov esi, via |
1301 | mov esi, via |
1170 | call load_gif |
- | |
1171 | mov eax,7 ; sysfunc7: putimage |
- | |
1172 | mov ebx,img_area+8 ; pointer to image |
- | |
1173 | mov ecx,201*65536+49 ; resolution (all gif's included are 64*81) |
- | |
1174 | mov edx,130*65536+127 ; place to print image on screen (first number is |
1302 | call load_gif |
1175 | ;pixels from left, second pixels from top) |
- | |
1176 | int 0x40 ; execute function |
- | |
Line 1177... | Line 1303... | ||
1177 | 1303 | PutImage 130,127,201,49,img_area+8 |
|
1178 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1304 | ; place size |
1179 | 1305 | ||
1180 | Text 80,90,0x00000000,Centaurn, Centaurnlen-Centaurn |
1306 | Text 80,90,0x00000000,Centaurn, Centaurnlen-Centaurn |
Line 1213... | Line 1339... | ||
1213 | 1339 | ||
Line 1214... | Line 1340... | ||
1214 | Text 20, 210,0x00000000,cache, cachelen-cache |
1340 | Text 20, 210,0x00000000,cache, cachelen-cache |
Line 1215... | Line -... | ||
1215 | - | ||
1216 | Text 80,90,0x00000000,Tranmsmetan, Tranmsmetanlen-Tranmsmetan |
- | |
1217 | 1341 | ||
1218 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1342 | Text 80,90,0x00000000,Tranmsmetan, Tranmsmetanlen-Tranmsmetan |
1219 | ; Print the unpacked img to screen |
1343 | |
1220 | mov esi, transmeta |
- | |
1221 | call load_gif |
- | |
1222 | mov eax,7 ; sysfunc7: putimage |
- | |
1223 | mov ebx,img_area+8 ; pointer to image |
- | |
1224 | mov ecx,201*65536+49 ; resolution (all gif's included are 64*81) |
1344 | mov esi, transmeta |
1225 | mov edx,130*65536+127 ; plce to print image on screen (first number is |
- | |
Line 1226... | Line 1345... | ||
1226 | ;pixels from left, second pixels from top) |
1345 | call load_gif |
1227 | int 0x40 ; execute function |
1346 | PutImage 130,127,201,49,img_area+8 |
1228 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1347 | ; place size |
1229 | 1348 | ||
- | 1349 | ; cache detection routine - it is the same as for AMD (almost) |
|
- | 1350 | ;CACHE1: |
|
- | 1351 | mov eax, 80000005h |
|
- | 1352 | cpuid |
|
- | 1353 | ||
- | 1354 | mov eax, ecx |
|
- | 1355 | ||
- | 1356 | and eax,000000FFh ; |
|
- | 1357 | mov [lineld], eax |
|
- | 1358 | ||
- | 1359 | mov eax, ecx |
|
- | 1360 | ||
1230 | ; cache detection routine |
1361 | and eax,00FF0000h |
1231 | ;CACHE1: |
1362 | shr eax, 16 |
- | 1363 | mov [wayld], eax |
|
- | 1364 | ||
- | 1365 | shr ecx, 24 |
|
- | 1366 | mov [L1d], ecx |
|
- | 1367 | ||
- | 1368 | mov eax, edx |
|
- | 1369 | ||
- | 1370 | and eax,000000FFh ; |
|
- | 1371 | mov [lineli], eax |
|
- | 1372 | ||
- | 1373 | mov eax, edx |
|
- | 1374 | ||
1232 | mov eax, 80000005h |
1375 | and eax,00FF0000h |
1233 | cpuid |
1376 | shr eax, 16 |
- | 1377 | mov [wayli], eax |
|
- | 1378 | ||
1234 | shr ecx, 24 |
1379 | shr edx, 24 |
1235 | mov [L1d], ecx |
1380 | mov [L1i], edx |
1236 | shr edx, 24 |
1381 | |
1237 | mov [L1i], edx |
- | |
Line -... | Line 1382... | ||
- | 1382 | ||
- | 1383 | ;CACHE2: |
|
- | 1384 | mov eax, 80000006h |
|
- | 1385 | cpuid |
|
- | 1386 | ||
- | 1387 | mov eax, ecx |
|
- | 1388 | shl eax, 24 |
|
- | 1389 | shr eax, 24 |
|
- | 1390 | mov dword[linel2], eax |
|
- | 1391 | ||
- | 1392 | mov eax, ecx |
|
- | 1393 | shl eax, 16 |
|
1238 | ;CACHE2: |
1394 | shr eax, 28 |
- | 1395 | ||
- | 1396 | mov dword[wayl2], eax |
|
1239 | mov eax, 80000006h |
1397 | |
1240 | cpuid |
1398 | shr ecx, 16 |
1241 | shr ecx, 16 |
1399 | mov [L2],ecx |
1242 | 1400 | ||
1243 | mov [L2],ecx |
1401 | |
Line 1274... | Line 1432... | ||
1274 | 1432 | ||
1275 | .EL: |
1433 | .EL: |
1276 | and ebx,00FF0000h ; numbers of logical processors |
1434 | and ebx,00FF0000h ; numbers of logical processors |
1277 | shr ebx,16 ; shift it to the correct position |
1435 | shr ebx,16 ; shift it to the correct position |
- | 1436 | cmp ebx, 1 |
|
1278 | cmp ebx, 1 |
1437 | ; mov [number_of_log_cpus], ebx |
Line 1279... | Line -... | ||
1279 | je .ELN ; HHT not enabled (Celeron) |
- | |
1280 | 1438 | je .ELN ; HHT not enabled (Celeron) |
|
1281 | 1439 | ||
1282 | mov dword [HTTn+9], $736579 |
1440 | mov dword [HTTn+9], $736579 |
1283 | mov dword [HTT+ 6], $736579 |
1441 | mov dword [HTT+ 6], $736579 |
Line 1294... | Line 1452... | ||
1294 | Text 20,150,0x00000000,mode, modelen-mode |
1452 | Text 20,150,0x00000000,mode, modelen-mode |
1295 | Text 20,170,0x00000000,step, steplen-step |
1453 | Text 20,170,0x00000000,step, steplen-step |
1296 | ;--------L1 L2 |
1454 | ;--------L1 L2 |
1297 | Number 80,190,0,3,dword [L1d],0x000000; |
1455 | Number 80,190,0,3,dword [L1d],0x000000; |
1298 | Number 80,210,0,3,dword [L1i],0x000000; |
1456 | Number 80,210,0,3,dword [L1i],0x000000; |
1299 | Number 178,190,0,4,dword[L2],0x000000; |
1457 | Number 46,230,0,4,dword[L2],0x000000; |
1300 | Number 172,210,0,5,dword[L3],0x000000; |
1458 | Number 40,250,0,5,dword[L3],0x000000; |
1301 | ;-----------Features |
1459 | ;-----------Features |
1302 | Number 263,70,0,2,dword [micron],0x000000 ; micron |
1460 | Number 263,70,0,2,dword [micron],0x000000 ; micron |
Line 1303... | Line 1461... | ||
1303 | 1461 | ||
1304 | Text 280,250,0x00000000,HTT, HTTlen-HTT |
1462 | Text 280,310,0x00000000,HTT, HTTlen-HTT |
Line 1305... | Line 1463... | ||
1305 | Text 280,270,0x00000000,sse3, sse3len-sse3 |
1463 | Text 280,330,0x00000000,sse3, sse3len-sse3 |
Line 1306... | Line 1464... | ||
1306 | 1464 | ||
1307 | Text 20,90,0x00000000,name, namelen-name |
1465 | Text 20,90,0x00000000,name, namelen-name |
1308 | 1466 | ||
- | 1467 | Text 20,310,0x00000000,MMXs, MMXslen-MMXs |
|
- | 1468 | Text 20,330,0x00000000,SSE, SSElen-SSE |
|
- | 1469 | Text 100,330,0x00000000,SSE2, SSE2len-SSE2 |
|
- | 1470 | ||
- | 1471 | Number 145,190,0,2,dword [wayld],0x000000 |
|
- | 1472 | Number 223,190,0,2,dword [lineld],0x000000 |
|
- | 1473 | ||
- | 1474 | Number 145,210,0,2,dword [wayli],0x000000 |
|
- | 1475 | Number 223,210,0,2,dword [lineli],0x000000 |
|
- | 1476 | ||
- | 1477 | Number 145,230,0,2,dword [wayl2],0x000000 |
|
- | 1478 | Number 223,230,0,2,dword [linel2],0x000000 |
|
Line 1309... | Line 1479... | ||
1309 | Text 20,250,0x00000000,MMXs, MMXslen-MMXs |
1479 | |
1310 | Text 20,270,0x00000000,SSE, SSElen-SSE |
1480 | Number 145,250,0,2,dword [wayl3],0x000000 |
1311 | Text 100,270,0x00000000,SSE2, SSE2len-SSE2 |
1481 | Number 223,250,0,2,dword [linel3],0x000000 |
Line 1385... | Line 1555... | ||
1385 | mov dword [MMXPi+ 8], $736579 |
1555 | mov dword [MMXPi+ 8], $736579 |
1386 | jmp text3d |
1556 | jmp text3d |
Line 1387... | Line 1557... | ||
1387 | 1557 | ||
Line 1388... | Line 1558... | ||
1388 | text3d: |
1558 | text3d: |
1389 | 1559 | ||
1390 | Text 180,250,0x00000000,now, nowlen-now |
1560 | Text 180,310,0x00000000,now, nowlen-now |
Line 1391... | Line 1561... | ||
1391 | Text 180,270,0x00000000,nowp, nowplen-nowp |
1561 | Text 180,330,0x00000000,nowp, nowplen-nowp |
Line 1392... | Line 1562... | ||
1392 | Text 100,250,0x00000000,mmxp, mmxplen-mmxp |
1562 | Text 100,310,0x00000000,mmxp, mmxplen-mmxp |
1393 | 1563 | ||
1394 | jmp still |
1564 | jmp still |
1395 | 1565 | ||
Line 1396... | Line 1566... | ||
1396 | ;-------------------------- |
1566 | ;-------------------------- |
1397 | NO_CPUID: |
1567 | NO_CPUID: |
1398 | Text 20,70,0x00000000,oblom, oblomlen-oblom |
1568 | Text 20,70,0x00000000,oblom, oblomlen-oblom |
1399 | jmp FREEZE |
1569 | jmp FREEZE |
1400 | 1570 | ||
1401 | FREEZE: |
1571 | FREEZE: |
1402 | nop |
1572 | nop |
1403 | jmp FREEZE |
1573 | jmp FREEZE ; maybe we should close application or just made some Warning and jump to still: |
Line 1515... | Line 1685... | ||
1515 | shr dword [iter],4 ;[iter] - speed in Kb/sec. (every iteration codes 64 bytes) |
1685 | shr dword [iter],4 ;[iter] - speed in Kb/sec. (every iteration codes 64 bytes) |
1516 | ret |
1686 | ret |
Line 1517... | Line 1687... | ||
1517 | 1687 | ||
1518 | somewhere: |
1688 | somewhere: |
1519 | ;====================================================================== |
- | |
1520 | mov eax,51 ; |
- | |
1521 | mov ebx,1 |
- | |
1522 | mov ecx,window_2 |
1689 | ;====================================================================== |
1523 | mov edx,thread2_esp |
- | |
Line 1524... | Line 1690... | ||
1524 | int 0x40 |
1690 | CreateTread window_2,thread2_esp |
Line 1525... | Line 1691... | ||
1525 | 1691 | ||
1526 | jmp still |
1692 | jmp still |
Line 1566... | Line 1732... | ||
1566 | 1732 | ||
1567 | draw_window_2: |
1733 | draw_window_2: |
1568 | mov eax,12 ; function 12:tell os about windowdraw |
1734 | mov eax,12 ; function 12:tell os about windowdraw |
1569 | mov ebx,1h ; 1, start of draw |
1735 | mov ebx,1h ; 1, start of draw |
1570 | int 0x40 |
- | |
1571 | ; DRAW WINDOW |
- | |
1572 | mov eax,0 ; function 0 : define and draw window |
- | |
1573 | mov ebx,250 shl 16 + 410 |
- | |
1574 | mov ecx,250 shl 16 + 350 |
- | |
1575 | mov edx,0x03FFFFFF ;aabbcc color of work area RRGGBB,8->color gl |
- | |
Line -... | Line 1736... | ||
- | 1736 | int 0x40 |
|
- | 1737 | ||
- | 1738 | ||
- | 1739 | Window 250,250,419,390, 0x03FFFFFF, 0x805080d0, 0x005080d0 |
|
1576 | int 0x40 |
1740 | ; place size |
Line 1577... | Line 1741... | ||
1577 | 1741 | ||
1578 | Text 8, 8,0x20ddeeff, standard, standardlen-standard |
1742 | Text 8, 8,0x20000000, standard, standardlen-standard ;ddeeff |
Line 1579... | Line 1743... | ||
1579 | 1743 | ||
Line 1621... | Line 1785... | ||
1621 | Text 20,190,0x00000000,HTT, HTTnlen-HTTn |
1785 | Text 20,190,0x00000000,HTT, HTTnlen-HTTn |
1622 | Text 120,190,0x00000000,TM, TMlen-TM |
1786 | Text 120,190,0x00000000,TM, TMlen-TM |
1623 | Text 220,190,0x00000000,IA64, IA64len-IA64 |
1787 | Text 220,190,0x00000000,IA64, IA64len-IA64 |
1624 | Text 320,190,0x00000000,PBE, PBElen-PBE |
1788 | Text 320,190,0x00000000,PBE, PBElen-PBE |
1625 | ;--------------- |
1789 | ;--------------- |
1626 | DrawLine 5, 405, 205,205,0x8080FF ;10 |
1790 | DrawLine 5, 415, 205,205,0x8080FF ;10 |
Line 1627... | Line 1791... | ||
1627 | 1791 | ||
1628 | mov eax,$80000000 |
1792 | mov eax,$80000000 |
1629 | cpuid |
1793 | cpuid |
1630 | ;mov eax, $03020101 for test of reaction |
1794 | ;mov eax, $03020101 for test of reaction |
Line 1639... | Line 1803... | ||
1639 | Text 20,215,0x00000000,SS3, SS3len-SS3 |
1803 | Text 20,215,0x00000000,SS3, SS3len-SS3 |
1640 | Text 20,235,0x00000000,MON, MONlen-MON |
1804 | Text 20,235,0x00000000,MON, MONlen-MON |
1641 | Text 20,255,0x00000000,DS_CPL, DS_CPLlen-DS_CPL |
1805 | Text 20,255,0x00000000,DS_CPL, DS_CPLlen-DS_CPL |
1642 | Text 20,275,0x00000000,EST, ESTlen-EST |
1806 | Text 20,275,0x00000000,EST, ESTlen-EST |
1643 | Text 20,295,0x00000000,TM2, TM2len-TM2 |
1807 | Text 20,295,0x00000000,TM2, TM2len-TM2 |
- | 1808 | Text 20,315,0x00000000,VMX, VMXlen-VMX |
|
- | 1809 | Text 20,335,0x00000000,SVM, SVMlen-SVM |
|
Line 1644... | Line 1810... | ||
1644 | 1810 | ||
1645 | Text 120,215,0x00000000,CNXT_ID, CNXT_IDlen-CNXT_ID |
1811 | Text 120,215,0x00000000,CNXT_ID, CNXT_IDlen-CNXT_ID |
1646 | Text 120,235,0x00000000,CX16, CX16len-CX16 |
1812 | Text 120,235,0x00000000,CX16, CX16len-CX16 |
1647 | Text 120,255,0x00000000,ETPRD, ETPRDlen-ETPRD |
1813 | Text 120,255,0x00000000,ETPRD, ETPRDlen-ETPRD |
1648 | Text 120,275,0x00000000,SYS, SYSlen-SYS |
1814 | Text 120,275,0x00000000,SYS, SYSlen-SYS |
- | 1815 | Text 120,295,0x00000000,LAF, LAFlen-LAF |
|
- | 1816 | Text 120,315,0x00000000,SSSE3, SSSE3len-SSSE3 |
|
Line 1649... | Line 1817... | ||
1649 | Text 120,295,0x00000000,LAF, LAFlen-LAF |
1817 | Text 120,335,0x00000000,MCR8, MCR8len-MCR8 |
1650 | 1818 | ||
1651 | Text 220,215,0x00000000,MP, MPlen-MP |
1819 | Text 220,215,0x00000000,MP, MPlen-MP |
1652 | Text 220,235,0x00000000,NX, NXlen-NX |
1820 | Text 220,235,0x00000000,NX, NXlen-NX |
1653 | Text 220,255,0x00000000,MMXPi, MMXPilen-MMXPi |
1821 | Text 220,255,0x00000000,MMXPi, MMXPilen-MMXPi |
- | 1822 | Text 220,275,0x00000000,MMXn, MMXnlen-MMXn |
|
Line 1654... | Line 1823... | ||
1654 | Text 220,275,0x00000000,MMXn, MMXnlen-MMXn |
1823 | Text 220,295,0x00000000,FXSRn, FXSRnlen-FXSRn |
1655 | Text 220,295,0x00000000,FXSRn, FXSRnlen-FXSRn |
1824 | Text 220,315,0x00000000,DCA,DCAlen-DCA |
1656 | 1825 | ||
1657 | Text 320,215,0x00000000,FFXSR, FFXSRlen-FFXSR |
1826 | Text 320,215,0x00000000,FFXSR, FFXSRlen-FFXSR |
1658 | Text 320,235,0x00000000,TSCP, TSCPlen-TSCP |
1827 | Text 320,235,0x00000000,TSCP, TSCPlen-TSCP |
- | 1828 | Text 320,255,0x00000000,LM, LMlen-LM |
|
- | 1829 | Text 320,275,0x00000000,DNo, DNolen-DNo |
|
- | 1830 | Text 320,295,0x00000000,DN, DNlen-DN |
|
1659 | Text 320,255,0x00000000,LM, LMlen-LM |
1831 | Text 320,315,0x00000000,CMPL, CMPLlen-CMPL |
1660 | Text 320,275,0x00000000,DNo, DNolen-DNo |
1832 | |
Line 1661... | Line 1833... | ||
1661 | Text 320,295,0x00000000,DN, DNlen-DN |
1833 | |
1662 | too: |
1834 | too: |
Line 1663... | Line 1835... | ||
1663 | DrawLine 5, 405, 315,315,0x8080FF ;10 |
1835 | DrawLine 5, 415, 355,355,0x8080FF ;10 |
Line 1664... | Line 1836... | ||
1664 | 1836 | ||
1665 | Text 20,330,0x00000000,speed, speedlen-speed |
1837 | Text 20,370,0x00000000,speed, speedlen-speed |
1666 | Text 135,330,0x00000000,kbpersec, kbperseclen-kbpersec |
1838 | Text 135,370,0x00000000,kbpersec, kbperseclen-kbpersec |
Line 1680... | Line 1852... | ||
1680 | draw_window: |
1852 | draw_window: |
1681 | mov eax,12 |
1853 | mov eax,12 |
1682 | mov ebx,1h |
1854 | mov ebx,1h |
1683 | int 0x40 |
1855 | int 0x40 |
Line 1684... | Line -... | ||
1684 | - | ||
1685 | mov eax,0 ; 0 |
- | |
1686 | mov ebx,150*65536+351 ; [x ] *65536 + [x ] |
- | |
1687 | mov ecx,150*65536+325 ; [y ] *65536 + [y ] |
1856 | |
1688 | mov edx,0x03FFFFFF;aabbcc RRGGBB,8->color gl |
- | |
1689 | mov esi,0x805080d0 ; RRGGBB,8->color gl |
- | |
1690 | mov edi,0x005080d0 ; RRGGBB |
1857 | Window 150,150,349,385, 0x03FFFFFF, 0x805080d0, 0x005080d0 |
Line 1691... | Line -... | ||
1691 | int 0x40 |
- | |
1692 | - | ||
1693 | mov eax,8 |
- | |
1694 | mov ebx,20 shl 16 + 92;93 |
- | |
1695 | mov ecx,290 shl 16 + 23;24 |
1858 | ; place size |
1696 | mov edx,2 |
- | |
Line 1697... | Line -... | ||
1697 | mov esi,0x03FFFFFF;aabbcc |
- | |
1698 | int 0x40 |
- | |
1699 | 1859 | ||
1700 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1860 | Button 20,350,92,23,2,0x03FFFFFF ; button "press for more" |
1701 | ; Print the unpacked img to screen |
1861 | |
1702 | mov esi, knopka |
- | |
1703 | mov edi, img_area2 |
1862 | mov esi, knopka |
1704 | call load_gif2 |
- | |
1705 | mov eax,7 ; sysfunc7: putimage |
- | |
1706 | mov ebx,img_area2+8 ; pointer to image |
- | |
1707 | mov ecx,93*65536+24 ; resolution (all gif's included are 64*81) |
1863 | mov edi, img_area2 |
Line 1708... | Line -... | ||
1708 | mov edx,20*65536+290 ; plce to print image on screen (first number is |
- | |
Line 1709... | Line 1864... | ||
1709 | ;pixels from left, second pixels from top) |
1864 | call load_gif2 |
Line 1710... | Line 1865... | ||
1710 | int 0x40 ; execute function |
1865 | PutImage 20,350,93,24,img_area2+8 ; image "press for more" |
1711 | 1866 | ; place size |
|
1712 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1867 | |
Line 1713... | Line 1868... | ||
1713 | 1868 | ||
Line 1714... | Line 1869... | ||
1714 | Text 8,8,0x20ddeeff,zag,zaglen-zag ; application header |
1869 | Text 8,8,0x20000000,zag,zaglen-zag ; application header |
1715 | 1870 | ||
1716 | mov eax,12 |
1871 | mov eax,12 |
1717 | mov ebx,2h |
1872 | mov ebx,2h |
1718 | int 0x40 |
1873 | int 0x40 |
Line 1719... | Line 1874... | ||
1719 | 1874 | ||
1720 | Text 135,230,0x00000000,instruct, instructlen-instruct |
1875 | Text 135,290,0x00000000,instruct, instructlen-instruct |
1721 | 1876 | ||
1722 | DrawLine 15, 335, 285,285,0x8080FF |
1877 | DrawLine 15, 335, 345,345,0x8080FF |
1723 | DrawLine 335, 335, 235,285,0x8080FF |
1878 | DrawLine 335, 335, 295,345,0x8080FF |
1724 | DrawLine 15, 15, 235,285,0x8080FF |
1879 | DrawLine 15, 15, 295,345,0x8080FF |
Line 1725... | Line 1880... | ||
1725 | DrawLine 15, 130, 235,235,0x8080FF |
1880 | DrawLine 15, 130, 295,295,0x8080FF |
1726 | DrawLine 235, 335, 235,235,0x8080FF |
- | |
1727 | - | ||
1728 | cmp dword[smallvendor], 'cAMD' |
- | |
1729 | jne cont |
- | |
1730 | cmp [f], $6 |
- | |
1731 | jne cont |
- | |
Line 1732... | Line 1881... | ||
1732 | cmp [f], $6 |
1881 | DrawLine 235, 335, 295,295,0x8080FF |
Line 1733... | Line 1882... | ||
1733 | jl cont |
1882 | |
Line 1760... | Line 1909... | ||
1760 | 1909 | ||
Line 1761... | Line 1910... | ||
1761 | shr eax, 10 |
1910 | shr eax, 10 |
Line 1762... | Line 1911... | ||
1762 | 1911 | ||
1763 | mov [ram_size_t], eax |
1912 | mov [ram_size_t], eax |
Line 1764... | Line 1913... | ||
1764 | 1913 | ||
1765 | Text 120,300,0x00000000,ram, ramlen-ram |
1914 | Text 120,360,0x00000000,ram, ramlen-ram |
Line 1766... | Line 1915... | ||
1766 | Number 205,300,0,4,dword [ram_size_a],0x000000 |
1915 | Number 205,360,0,4,dword [ram_size_a],0x000000 |
Line 1767... | Line 1916... | ||
1767 | 1916 | ||
1768 | Number 275,300,0,4,dword [ram_size_t],0x000000 |
1917 | Number 275,360,0,4,dword [ram_size_t],0x000000 |
1769 | Text 305,300,0x00000000,mb, mblen-mb |
1918 | Text 305,360,0x00000000,mb, mblen-mb |
1770 | 1919 | ||
Line 1771... | Line 1920... | ||
1771 | ;============================== |
1920 | ;============================== |
1772 | 1921 | ||
- | 1922 | Text 20,70,0x00000000,tsum, tsumlen-tsum ; |
|
1773 | Text 20,70,0x00000000,tsum, tsumlen-tsum ; |
1923 | Text 20,110,0x00000000,cpuname, cpunamelen-cpuname; |
- | 1924 | Text 260,270,0x00000000,typen, typenlen-typen; |
|
- | 1925 | Text 180, 70,0x00000000,tech, techlen-tech; |
|
- | 1926 | ||
- | 1927 | Number 87,70,0,4,dword [total],0x000000; MHz |
|
1774 | Text 20,110,0x00000000,cpuname, cpunamelen-cpuname; |
1928 | Number 115,70,0,2,dword [sot],0x000000; KHz |
1775 | Text 230,190,0x00000000,typen, typenlen-typen; |
1929 | |
1776 | Text 180, 70,0x00000000,tech, techlen-tech; |
1930 | Text 20,190,0x00000000,cache2, cache2len-cache2 |
Line 1777... | Line 1931... | ||
1777 | 1931 | Text 20,230,0x00000000,cache3, cache3len-cache3 |
|
Line 1790... | Line 1944... | ||
1790 | Number 110,50,0,1,dword [multa],0x000000; |
1944 | Number 110,50,0,1,dword [multa],0x000000; |
Line 1791... | Line 1945... | ||
1791 | 1945 | ||
1792 | Text 180,50,0x00000000,freql, freqllen-freql |
1946 | Text 180,50,0x00000000,freql, freqllen-freql |
1793 | Number 264,50,0,4,dword [freqbb],0x000000; |
1947 | Number 264,50,0,4,dword [freqbb],0x000000; |
- | 1948 | Number 294,50,0,2,dword [freqll],0x000000; |
|
- | 1949 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
- | 1950 | ;Text 120,300,0x00000000,logcpus, logcpuslen-logcpus |
|
- | 1951 | ;Number 255,300,0,2,dword [number_of_log_cpus],0x000000 |
|
Line 1794... | Line 1952... | ||
1794 | Number 294,50,0,2,dword [freqll],0x000000; |
1952 | |
1795 | 1953 | ||
1796 | Text 20,30,0x00000000,stm, stmlen-stm |
1954 | Text 20,30,0x00000000,stm, stmlen-stm |
1797 | ; Fix for deleting leading whitespaces |
1955 | ; Fix for deleting leading whitespaces |
Line 1807... | Line 1965... | ||
1807 | mov esi,mynamelen |
1965 | mov esi,mynamelen |
1808 | sub esi,edi |
1966 | sub esi,edi |
1809 | Text 110, 30, 0x00000000, edi, esi |
1967 | Text 110, 30, 0x00000000, edi, esi |
1810 | ; Text 110,40,0x00000000,myname, mynamelen-myname |
1968 | ; Text 110,40,0x00000000,myname, mynamelen-myname |
1811 | ;- |
1969 | ;- |
1812 | Text 230,210,0x00000000,brandid, brandidlen-brandid |
1970 | Text 20,270,0x00000000,brandid, brandidlen-brandid |
Line 1813... | Line 1971... | ||
1813 | 1971 | ||
Line 1814... | Line 1972... | ||
1814 | ret ; |
1972 | ret ; |
1815 | 1973 | ||
Line 1820... | Line 1978... | ||
1820 | ret |
1978 | ret |
Line 1821... | Line 1979... | ||
1821 | 1979 | ||
Line 1822... | Line 1980... | ||
1822 | ; DATA AREA |
1980 | ; DATA AREA |
1823 | 1981 | ||
1824 | zag: |
1982 | zag: |
1825 | db 'CPUID 2.05 by Sergey Kuzmin and the KolibriOS team' |
1983 | db 'CPUID 2.17 by Sergey Kuzmin and the KolibriOS team' |
1826 | zaglen: |
1984 | zaglen: |
1827 | tsum: |
1985 | tsum: |
1828 | db 'Frequency: . MHz' |
1986 | db 'Frequency: . MHz' |
Line 1855... | Line 2013... | ||
1855 | brand dd ? |
2013 | brand dd ? |
Line 1856... | Line 2014... | ||
1856 | 2014 | ||
1857 | ram_size_a dd ? |
2015 | ram_size_a dd ? |
Line -... | Line 2016... | ||
- | 2016 | ram_size_t dd ? |
|
- | 2017 | ||
- | 2018 | stdc dd ? |
|
- | 2019 | extc dd ? |
|
- | 2020 | ||
- | 2021 | FRS dd ? |
|
- | 2022 | freqsel db ? |
|
- | 2023 | ||
- | 2024 | temp dd ? |
|
- | 2025 | freqbb dd ? |
|
- | 2026 | freqll dd ? |
|
- | 2027 | ||
- | 2028 | wayli dd ? |
|
- | 2029 | lineli dd ? |
|
- | 2030 | ||
- | 2031 | wayld dd ? |
|
- | 2032 | lineld dd ? |
|
- | 2033 | ||
- | 2034 | wayl2 dd ? |
|
- | 2035 | linel2 dd ? |
|
- | 2036 | ||
- | 2037 | wayl3 dd ? |
|
- | 2038 | linel3 dd ? |
|
- | 2039 | ||
- | 2040 | ;number_of_log_cpus dd ? |
|
- | 2041 | ||
1858 | ram_size_t dd ? |
2042 | che db ? ; numbers of calls for Intel caches detection |
1859 | 2043 | ||
1860 | ram: |
2044 | ram: |
Line 1861... | Line 2045... | ||
1861 | db 'Available RAM: out of' |
2045 | db 'Available RAM: out of' |
Line 1867... | Line 2051... | ||
1867 | 2051 | ||
1868 | mb : |
2052 | mb : |
1869 | db 'MB' |
2053 | db 'MB' |
Line -... | Line 2054... | ||
- | 2054 | mblen: |
|
- | 2055 | ||
- | 2056 | ;logcpus : |
|
- | 2057 | ;db 'Number of logical CPU:' |
|
1870 | mblen: |
2058 | ;logcpuslen: |
1871 | 2059 | ||
1872 | speed : |
2060 | speed : |
Line 1873... | Line 2061... | ||
1873 | db 'PERFORMANCE:' |
2061 | db 'PERFORMANCE:' |
Line 1899... | Line 2087... | ||
1899 | 2087 | ||
1900 | brandid: |
2088 | brandid: |
1901 | db 'Brand:' |
2089 | db 'Brand:' |
Line 1902... | Line -... | ||
1902 | brandidlen: |
- | |
1903 | - | ||
1904 | stdc dd ? |
- | |
1905 | extc dd ? |
- | |
1906 | - | ||
1907 | FRS dd ? |
- | |
1908 | freqsel db ? |
- | |
1909 | - | ||
1910 | temp dd ? |
- | |
1911 | freqbb dd ? |
- | |
1912 | freqll dd ? |
- | |
1913 | - | ||
1914 | che db ? ; numbers of calls for Intel caches detection |
2090 | brandidlen: |
1915 | 2091 | ||
1916 | oblom: |
2092 | oblom: |
1917 | db 'SORRY, CPUID IS NOT AVAILABLE' |
2093 | db 'SORRY, CPUID IS NOT AVAILABLE' |
1918 | oblomlen: |
2094 | oblomlen: |
1919 | other: |
2095 | other: |
- | 2096 | db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' |
|
1920 | db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' |
2097 | otherlen: |
1921 | otherlen: |
2098 | |
1922 | cpuname: |
2099 | cpuname: |
1923 | db 'CPU VENDOR: ' |
2100 | db 'CPU VENDOR: ' |
1924 | cpunamelen: |
2101 | cpunamelen: |
Line 1929... | Line 2106... | ||
1929 | db 'MODEL: std ext' |
2106 | db 'MODEL: std ext' |
1930 | modelen: |
2107 | modelen: |
1931 | step: |
2108 | step: |
1932 | db 'STEPPING:' |
2109 | db 'STEPPING:' |
1933 | steplen: |
2110 | steplen: |
- | 2111 | ||
1934 | cache2: |
2112 | cache2: |
Line 1935... | Line 2113... | ||
1935 | 2113 | ||
1936 | db 'L1(data): KB L2: KB' |
2114 | db 'L1(data): KB -way set -byte line size' |
Line 1937... | Line 2115... | ||
1937 | cache2len: |
2115 | cache2len: |
1938 | 2116 | ||
1939 | cache: |
2117 | cache: |
Line -... | Line 2118... | ||
- | 2118 | db 'L1(inst): KB -way set -byte line size' |
|
- | 2119 | cachelen: |
|
- | 2120 | ||
- | 2121 | cache3: |
|
- | 2122 | ||
- | 2123 | db 'L2: KB -way set -byte line size' |
|
- | 2124 | cache3len: |
|
- | 2125 | ||
- | 2126 | cache4: |
|
1940 | db 'L1(inst): KB L3: KB' |
2127 | db 'L3: KB -way set -byte line size' |
Line 1941... | Line 2128... | ||
1941 | cachelen: |
2128 | cache4len: |
1942 | 2129 | ||
Line 1943... | Line 2130... | ||
1943 | cacheP4: |
2130 | cacheP4: |
1944 | 2131 | ||
1945 | db 'L1(inst): Kuops L3: KB' |
2132 | db 'L1(inst): Kuops -way set -byte line size' |
Line 1966... | Line 2153... | ||
1966 | freqllen: |
2153 | freqllen: |
Line 1967... | Line 2154... | ||
1967 | 2154 | ||
1968 | name: |
2155 | name: |
1969 | db 'CODENAME:' |
2156 | db 'CODENAME:' |
- | 2157 | namelen: |
|
1970 | namelen: |
2158 | |
1971 | AMDn: |
2159 | AMDn: |
1972 | db 'AMD' |
2160 | db 'AMD' |
1973 | AMDnlen: |
2161 | AMDnlen: |
1974 | Inteln: |
2162 | Inteln: |
Line 2081... | Line 2269... | ||
2081 | P6Blen: |
2269 | P6Blen: |
2082 | P6D: |
2270 | P6D: |
2083 | db 'Pentium M (Dothan)' |
2271 | db 'Pentium M (Dothan)' |
2084 | P6Dlen: |
2272 | P6Dlen: |
2085 | P6E: |
2273 | P6E: |
2086 | db 'Pentium M (Yonah)' |
2274 | db 'Pentium M (Yonah)/ Core' |
2087 | P6Elen: |
2275 | P6Elen: |
2088 | P6F: |
2276 | P6F: |
2089 | db 'Pentium D (Conroe)' |
2277 | db 'Pentium D (Conroe)/ Core 2 (Kentsfield)' |
2090 | P6Flen: |
2278 | P6Flen: |
2091 | ;--- |
2279 | ;--- |
2092 | PS0: |
2280 | PS0: |
2093 | db 'Itanium (IA-64)' |
2281 | db 'Itanium (IA-64)' |
2094 | PS0len: |
2282 | PS0len: |
Line 2283... | Line 2471... | ||
2283 | 2471 | ||
2284 | stm: |
2472 | stm: |
2285 | db 'Internal name:' |
2473 | db 'Internal name:' |
Line 2286... | Line 2474... | ||
2286 | stmlen: |
2474 | stmlen: |
2287 | 2475 | ||
- | 2476 | athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120 |
|
- | 2477 | db 190, 120, 200, 130, 135, 140, 210, 150, 220, 160, 165, 170, 180, 230, 240 |
|
2288 | athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105 |
2478 | athlonmcoef: db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105 |
2289 | athloncoef2 db 120, 190, 120, 200, 130, 135, 140, 210, 150, 220, 160, 165, 170, 180, 230, 240 |
2479 | db 30, 190, 40, 200, 130, 135, 14, 210, 150, 220, 160, 165, 170, 230, 240 |
2290 | athloncoef3 db 45, 50, 40, 55, 25, 30, 60, 35 |
2480 | athloncoef3 db 45, 50, 40, 55, 25, 30, 60, 35 |
2291 | p4coef db 160, 170, 180, 190, 200, 210, 220, 230, 80, 90, 100, 110, 120, 130, 140, 150 ; Pentium 4 |
2481 | p4coef db 160, 170, 180, 190, 200, 210, 220, 230, 80, 90, 100, 110, 120, 130, 140, 150 ; Pentium 4 (Willamete) |
Line 2292... | Line 2482... | ||
2292 | 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 |
2482 | 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 |
2293 | 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 |
2483 | 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 |