Subversion Repositories Kolibri OS

Rev

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