Subversion Repositories Kolibri OS

Rev

Rev 6488 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6488 Rev 6497
Line 1... Line 1...
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.71.22 				      *
5
; version:	 2.29							      *
5
; version:	 2.43							      *
6
; last update:	 12 October 2014					      *
6
; last update:	 15 Ausust 2016 					      *
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
; forum topic:	 http://board.kolibrios.org/viewtopic.php?f=42&t=594	      *
10
; license:	 Copyright 2004-2014 Sergey Kuzmin and co-authors	      *
10
; license:	 Copyright 2004-2014 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
; Comments are in English						      *
19
;------------------------------------------------------------------------------
19
;------------------------------------------------------------------------------
20
use32
20
use32 
21
  org	 0x0
21
  org	 0x0
22
  db	 'MENUET01'
22
  db	 'MENUET01'
23
  dd	 0x01
23
  dd	 0x01
Line 40... Line 40...
40
include 'rsatest.inc'
40
include 'rsatest.inc'
41
include 'variable.inc'
41
include 'variable.inc'
Line 42... Line 42...
42
 
42
 
Line 43... Line 43...
43
@use_library
43
@use_library
44
 
44
 
45
START:
45
START:			;
Line 46... Line 46...
46
	mcall	68,11
46
	mcall	68,11
47
	mcall	66,1,1
47
	mcall	66,1,1
Line 430... Line 430...
430
shr ecx, 16
430
shr ecx, 16
431
mov [L2],ecx
431
mov [L2],ecx
Line 432... Line 432...
432
 
432
 
Line 433... Line 433...
433
;CACHE3: edx provides l3
433
;CACHE3: edx provides l3 
434
 
434
 
Line 435... Line 435...
435
mov eax, 80000006h
435
;mov eax, 80000006h
436
    cpuid
436
;    cpuid
Line 437... Line 437...
437
 
437
    
438
movzx eax, cl       ;mov cl to eax, zero extend; cl is counter reg for loop,shifts
438
;movzx eax, cl	    ;mov cl to eax, zero extend; cl is counter reg for loop,shifts
439
mov dword[linel3], eax
439
;mov dword[linel3], eax	 
440
 
440
 
441
push edx
441
;push edx
442
shr edx, 12+1
442
;shr edx, 12+1
443
and edx, 0x7
443
;and edx, 0x7
-
 
444
;mov eax, 1
-
 
445
;shl eax, cl
-
 
446
;mov dword [wayl3], eax
Line 444... Line -...
444
mov eax, 1
-
 
445
shl eax, cl
-
 
Line 446... Line 447...
446
mov dword [wayl3], eax
447
;pop edx
447
pop edx
448
 
448
 
449
;shr edx, 18
449
shr edx, 18
450
;mov [L3],ecx
Line 570... Line 571...
570
	pop	edx
571
	pop	edx
571
	jmp	@b
572
	jmp	@b
Line 572... Line 573...
572
 
573
 
Line -... Line 574...
-
 
574
fif:  ;  AMD-64    Family=15
573
fif:  ;  AMD-64    Family=15
575
 
574
 
576
mov [nomultiplier], 1  ;dont detect multipl for new AMD
Line 575... Line -...
575
;here is a need to rewrite detection of AMD F-th family according to "Revision Guide for
-
 
-
 
577
;here is a need to rewrite detection of AMD F-th family according to "Revision Guide for
576
;AMD AthlonTM 64 and  AMD OpteronTM  Processors" 25759.pdf
578
;AMD AthlonTM 64 and  AMD OpteronTM  Processors" 25759.pdf
577
 
579
 
578
 
580
; checking sse3 for new AMD's is needed
579
   cmp [m],$1	;Dual-core Opteron
581
    cmp [m],$1	; Dual-core Opteron
580
    jz   AF1.
582
    jz	 AF1.
581
   cmp [m],$3	;Toledo 1024 0.09
583
    cmp [m],$3	; Toledo 1024 0.09   
582
    jz  AF3.
584
    jz	AF3.
583
   cmp [m],$4	;Athlon 64 Mobile Athlon 64 FX  ClawHammer (1024) 0.13
585
    cmp [m],$4	;Athlon 64 Mobile Athlon 64 FX	ClawHammer (1024) 0.13
584
    jz AF4.
586
    jz AF4.
585
   cmp [m],$5	;Opteron Athlon 64 FX 0.13 (1024)
587
    cmp [m],$5	; Opteron     Athlon 64 FX 0.13 (1024)
586
    jz AF5.
588
    jz AF5.
587
   cmp [m],$7	;Athlon 64 Athlon 64 FX  Clawhammer(1024) 0.13   Sledgehammer(1024)  0.13  // SSE3+ SanDiego(1024)
589
    cmp [m],$7	;Athlon 64 Athlon 64 FX  Clawhammer(1024) 0.13	 Sledgehammer(1024)  0.13  
588
    jz AF7.
590
    jz AF7.
589
   cmp [m],$8   ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13
591
   cmp [m],$8  ; Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13
590
    jz AF8.
592
    jz AF8.
591
   cmp [m],$B   ;Athlon 64
593
   cmp [m],$B  ; Athlon 64
592
    jz AFB.
594
    jz AFB.
593
   cmp [m],$C   ;Athlon 64 Newcastle(512) 0.13  Sempron> Paris (256)   0.13  |SSE3+ Sempron >  Palermo FC0 0.09  // (Venice)
595
   cmp [m],$C  ;Athlon 64 Newcastle(512) 0.13  
594
    jz AFC.
596
    jz AFC.
595
   cmp [m],$E   ;Athlon 64
597
   cmp [m],$E  ; Athlon 64   
596
    jz AFE.
598
    jz AFE.
Line 597... Line 599...
597
   cmp [m],$F   ;Athlon 64 Winchester(512) |SSE3+ SanDiego(1024)  Venice (512)  Palermo (256) 0.09
599
   cmp [m],$F ; Athlon 64 Winchester(512) |SSE3+ SanDiego(1024)  Venice (512)  Palermo (256) 0.09
Line 598... Line 600...
598
    jz AFF.
600
    jz AFF.
-
 
601
    jmp next_generation
599
    jmp next_generation
602
    
600
 
603
ten:	  ;family = 10h
601
ten:      ;family = 10h
604
 
-
 
605
;Opteron (Barcelona)
-
 
606
cmp [m],$2  ;model 2, stepping 1, Opteron processor 2347
602
 
607
   jz AB23.
603
cmp [m],$2
608
cmp [m], $8 ;model 2, stepping 2, opteron processor 8356
-
 
609
   jz AB83.
-
 
610
   
604
   jz AB23.
611
;Phenom X4 (9-series) (Agena) 
605
cmp [m], $8
612
cmp [m], $9    
Line 606... Line 613...
606
   jz AB83.
613
  jz AB9.      ; 4 cores, cache 4x64
607
cmp [m], $9
614
  
608
  jz AB9.
615
;Phenom X3 (8-series) (Toliman) 
-
 
616
cmp [m], $2	     ;3 cores, cache 3x63
-
 
617
  jz AB8check2.
609
cmp [m], $2
618
  
610
  jz AB8check2.
619
AB8check2.:
Line 611... Line 620...
611
 
620
cmp [s],03h	     
612
AB8check2.:
621
    jz AB8right2.
613
cmp [s],03h
622
 
Line 614... Line 623...
614
    jz AB8right2.
623
;Athlon 6-series 
-
 
624
cmp [m],$2
615
cmp [m],$2
625
  jz athlonCheck
-
 
626
  
-
 
627
athlonCheck:	   ;stepping 03h, Athlon X2 7450 ; DONE
616
  jz athlonCheck
628
cmp [s],03h
617
 
629
    jz athlonKuma
-
 
630
 
-
 
631
;Athlon X2 (Rana)
618
athlonCheck:
632
cmp [m], $5    ;Model 5, 05h, stepping 3, 03h, AMD Athlon(tm) II X3 
619
cmp [s],03h
633
 jz AB4.
Line 620... Line 634...
620
    jz athlonKuma
634
 
621
 
635
;Opteron (Budapest)	0.065 micron, Core stepping(s)
622
cmp [m], $5
636
cmp [m],$1     ;AMD Opteron 1354 (rev. B3) specifications
623
 jz AB4.
637
   jz AB1.	   ;model 2 02h, stepping 3 03h
624
cmp [m],$1
638
 
-
 
639
;Opteron (Shanghai)  0.045 micron, Cores
-
 
640
cmp [m],$4	  
625
   jz AB1.
641
    jz AB8check.
626
cmp [m],$4
642
    
-
 
643
AB8check.:
-
 
644
cmp [s],02h    ;2387
627
    jz AB8check.
645
    jz ABC2.
628
 
646
cmp [s],01h    ;8300
-
 
647
     jz ABC3.
-
 
648
 
629
AB8check.:
649
;Opteron (Magny-Cours) 
630
cmp [s],02h
650
cmp [m], $9		
Line 631... Line 651...
631
    jz ABC2.
651
    jz AB6.
632
cmp [s],01h
652
    
Line 849... Line 869...
849
    call concatname
869
    call concatname
850
 jmp MMXtest
870
 jmp MMXtest
851
;-----------------------------------------------
871
;-----------------------------------------------
852
Intel:
872
Intel:
853
mov [codeN], $1
873
mov [codeN], $1   
854
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln
874
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln	;75,70
855
	mov esi, IntelnNew
875
	mov esi, IntelnNew   ;un comment this four lines
856
	mov edi, saveproc
876
	mov edi, saveproc
857
	call concatname
877
	call concatname
858
	mov	esi, intel
878
	mov	esi, intel
859
	call	load_gif
879
	call	load_gif
-
 
880
PutImage 135,107,201,49,img_area+8  ;this one
-
 
881
  
-
 
882
 
860
PutImage 135,107,201,49,img_area+8
883
;PutImage 125,107,201,49,img_area+8
-
 
884
;	  place   size
Line 861... Line 885...
861
 
885
 
862
det:
886
det:
863
    cmp [f], $5
887
    cmp [f], $5
864
    jz five
888
    jz five
Line 1125... Line 1149...
1125
    jmp MMXtest
1149
    jmp MMXtest
Line 1126... Line 1150...
1126
 
1150
 
1127
;06Ex - Pentium M Yonah 0.065
1151
;06Ex - Pentium M Yonah 0.065
Line 1128... Line 1152...
1128
;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield
1152
;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield
Line 1129... Line 1153...
1129
 
1153
 
1130
NEWintel:
1154
NEWintel:    ;http://www.cpu-world.com/info/Intel/Intel_Core_i7.html
1131
 
1155
 
1132
   cmp [em],$3A   ;IvyBridge
1156
   cmp [em],$3A   ;IvyBridge ; only one
1133
    jz I3A
1157
    jz I3A 
1134
   cmp [em],$2A   ;SandyBridge
1158
   cmp [em],$2A   ;SandyBridge
1135
    jz I2A
1159
    jz I2A
1136
   cmp [em],$2D  ;SandyBridge-E/EN/EP
1160
   cmp [em],$2D  ;SandyBridge-E/EN/EP
1137
    jz I2D
1161
    jz I2D
1138
   cmp [em],$25   ;Arrandale/Clarksdale
1162
   cmp [em],$25   ;Arrandale/Clarksdale
1139
    jz I25
1163
    jz I25    
1140
   cmp [em],$2C   ;Gulftown/Westmere-EP
1164
   cmp [em],$2C   ;Gulftown/Westmere-EP
1141
    jz I2C        ;westmere-EP stepping B1 -> micron 0.032
1165
    jz I2C	     
1142
   cmp [em],$2F   ;Westmere-EX
1166
   cmp [em],$2F   ;Westmere-EX
1143
    jz I2F
1167
    jz I2F    
Line 1167... Line 1191...
1167
    jz I36
1191
    jz I36
1168
   cmp [em],$26   ;Lincroft
1192
   cmp [em],$26   ;Lincroft
1169
    jz I26
1193
    jz I26
1170
   cmp [em],$1C   ;Pineview/Silverthorne
1194
   cmp [em],$1C   ;Pineview/Silverthorne
1171
    jz I1C
1195
    jz I1C
1172
	jnz no_known
1196
	jmp no_known
Line 1173... Line 1197...
1173
 
1197
 
1174
Inewunknown:
1198
Inewunknown:
Line 1175... Line 1199...
1175
    jmp MMXtest
1199
    jmp MMXtest
Line 1200... Line 1224...
1200
mov edi,saveproc + 0x10
1224
mov edi,saveproc + 0x10
1201
call concatname
1225
call concatname
1202
jmp MMXtest
1226
jmp MMXtest
Line 1203... Line 1227...
1203
 
1227
 
1204
I25:
-
 
1205
mov [micron], 32
1228
I25:
-
 
1229
;Text 110,70,0x00000000,P25, P25len-P25
1206
;Text 110,70,0x00000000,P25, P25len-P25
1230
mov [micron], 32
1207
mov [cname], P25  ;P25
1231
mov [cname], P25  ;P25
1208
mov esi, P25
1232
mov esi, P25   ;un comment this four lines
1209
mov edi, saveproc + 0x10  ;12
1233
mov edi, saveproc + 0x10  ;12
1210
call concatname
1234
call concatname
Line 1211... Line 1235...
1211
jmp MMXtest
1235
jmp MMXtest
Line 1334... Line 1358...
1334
mov esi, P26
1358
mov esi, P26
1335
mov edi, saveproc + 0x10
1359
mov edi, saveproc + 0x10
1336
call concatname
1360
call concatname
1337
    jmp MMXtest
1361
    jmp MMXtest
Line -... Line 1362...
-
 
1362
    
1338
 
1363
    
1339
I1C:
1364
I1C:
1340
mov [micron], 32
1365
mov [micron], 32
1341
;Text 110,70,0x00000000,P1C, P1Clen-P1C
1366
;Text 110,70,0x00000000,P1C, P1Clen-P1C 
1342
mov [cname], P1C
1367
mov [cname], P1C 
Line 1348... Line 1373...
1348
 
1373
 
1349
;;;;;;;;;;;;;;;;;;;
1374
;;;;;;;;;;;;;;;;;;;
1350
sev:	;Family=7
1375
sev:	;Family=7
Line 1351... Line 1376...
1351
.IS0:
1376
.IS0:
-
 
1377
 
1352
 
1378
Text 15, 190,0x00000000,cache, cachelen-cache ;?
1353
Text 15, 190,0x00000000,cache, cachelen-cache
1379
 
1354
mov [micron], 18
1380
    mov [micron], 18
1355
Text 110,70,0x00000000,PS0, PS0len-PS0
1381
Text 110,70,0x00000000,PS0, PS0len-PS0
1356
mov esi, PS0
1382
mov esi, PS0
Line 1487... Line 1513...
1487
 
1513
 
1488
	mov	esi, cyrix
1514
	mov	esi, cyrix
1489
	call	load_gif
1515
	call	load_gif
Line 1490... Line -...
1490
PutImage 135,107,201,49,img_area+8
-
 
1491
 
1516
PutImage 135,107,201,49,img_area+8
1492
 
1517
 
1493
    cmp [f], $5
1518
    cmp [f], $5
1494
    jz .fivv
1519
    jz .fivv
1495
    cmp [f], $6
1520
    cmp [f], $6
Line 1648... Line 1673...
1648
fivC:		   ;Family=5
1673
fivC:		   ;Family=5
Line 1649... Line 1674...
1649
 
1674
 
1650
	mov	esi, idt
1675
	mov	esi, idt
1651
	call	load_gif
1676
	call	load_gif
1652
PutImage 135,107,201,49,img_area+8
-
 
1653
;PutImage 125,107,201,49,img_area+8
-
 
-
 
1677
PutImage 135,107,201,49,img_area+8
Line 1654... Line 1678...
1654
;         place   size
1678
 
1655
 
1679
 
1656
Text 75,70,0x00000000,IDTn, IDTnlen-IDTn
1680
Text 75,70,0x00000000,IDTn, IDTnlen-IDTn
1657
mov esi, IDTn
1681
mov esi, IDTn
Line 1683... Line 1707...
1683
 
1707
 
1684
	mov	esi, via
1708
	mov	esi, via
1685
	call	load_gif
1709
	call	load_gif
Line 1686... Line -...
1686
PutImage 135,107,201,49,img_area+8
-
 
1687
 
1710
PutImage 135,107,201,49,img_area+8
1688
 
1711
 
1689
Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn
1712
Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn
1690
mov esi, Centaurn
1713
mov esi, Centaurn
1691
    mov edi, saveproc
1714
    mov edi, saveproc
Line 1737... Line 1760...
1737
 
1760
 
1738
	mov	esi, transmeta
1761
	mov	esi, transmeta
1739
	call	load_gif
1762
	call	load_gif
Line -... Line 1763...
-
 
1763
PutImage 135,107,201,49,img_area+8
1740
PutImage 135,107,201,49,img_area+8
1764
 
1741
 
1765
 
1742
; cache detection routine - it is the same as for AMD (almost)
1766
; cache detection routine - it is the same as for AMD (almost)
1743
;CACHE1:
1767
;CACHE1:
Line 1814... Line 1838...
1814
Text 15, 190,0x00000000,cache, cachelen-cache
1838
Text 15, 190,0x00000000,cache, cachelen-cache
Line 1815... Line 1839...
1815
 
1839
 
1816
	mov	esi, vortex
1840
	mov	esi, vortex
1817
	call	load_gif
1841
	call	load_gif
1818
PutImage 135,107,201,49,img_area+8
-
 
1819
;PutImage 130,127,201,49,img_area+8
-
 
1820
;         place   size
-
 
1821
 
1842
PutImage 135,107,201,49,img_area+8
1822
    cmp [f], $5
1843
    cmp [f], $5
1823
    jz .V54 ;fivvtx
-
 
1824
;.fivvtx:         ;Family=5
-
 
1825
;    cmp [m],$4
1844
    jz .V54 ;fivvtx
1826
;    jz .V54
1845
 
1827
.V54:
1846
.V54:
1828
    mov [micron], 13
1847
    mov [micron], 13
1829
    mov [L1i], 16
1848
    mov [L1i], 16
1830
    mov [L1d], 16
1849
    mov [L1d], 16
Line 1994... Line 2013...
1994
  shr eax, 10
2013
  shr eax, 10
Line 1995... Line 2014...
1995
 
2014
 
Line 1996... Line 2015...
1996
  mov [ram_size_t], eax
2015
  mov [ram_size_t], eax
-
 
2016
  
-
 
2017
  Text 115,350,0x00000000,ram, ramlen-ram
1997
 
2018
  ;Text 300,350,,mb, mblen-mb
-
 
2019
 
1998
  Text 115,350,0x00000000,ram, ramlen-ram
2020
  Number 200,350,0,4,dword [ram_size_a],0x000000
Line 1999... Line 2021...
1999
  Number 200,350,0,4,dword [ram_size_a],0x000000
2021
 
Line 2094... Line 2116...
2094
    cmp  eax,3		;
2116
    cmp  eax,3		;
2095
    je	 button_2	;  button_2
2117
    je	 button_2	;  button_2
Line 2096... Line 2118...
2096
 
2118
 
Line 2097... Line 2119...
2097
    jmp  still_2	;
2119
    jmp  still_2	;
2098
 
2120
 
2099
  key_2:		;
2121
    key_2:		
Line 2100... Line 2122...
2100
    mcall		;
2122
    mcall		
2101
    jmp  still_2	;
2123
    jmp  still_2	;
2102
 
2124
 
Line 2113... Line 2135...
2113
    mcall
2135
    mcall
Line 2114... Line 2136...
2114
 
2136
 
Line 2115... Line -...
2115
 
-
 
2116
draw_window_2:
-
 
2117
 
2137
 
2118
    ;call prepare_text_area
2138
draw_window_2:
2119
 
2139
 
Line 2120... Line -...
2120
    mov  eax,12 		   ; function 12:tell os about windowdraw
-
 
2121
    mov  ebx,1h 		    ; 1, start of draw
2140
    mov  eax,12 		   ; function 12:tell os about windowdraw
2122
    mcall
-
 
2123
 
-
 
Line 2124... Line 2141...
2124
 
2141
    mov  ebx,1h 		    ; 1, start of draw
2125
Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard  ;460
2142
    mcall
Line 2126... Line 2143...
2126
; place size
2143
 
Line 2201... Line 2218...
2201
Text 115,255,,SYS, SYSlen-SYS
2218
Text 115,255,,SYS, SYSlen-SYS
2202
Text 115,275,,LAF, LAFlen-LAF
2219
Text 115,275,,LAF, LAFlen-LAF
2203
Text 115,295,,SSSE3, SSSE3len-SSSE3
2220
Text 115,295,,SSSE3, SSSE3len-SSSE3
2204
Text 115,315,,MCR8, MCR8len-MCR8
2221
Text 115,315,,MCR8, MCR8len-MCR8
Line -... Line 2222...
-
 
2222
 
-
 
2223
;added
Line 2205... Line -...
2205
 
-
 
2206
 
-
 
2207
Text 115,335,0x00000000,EAS, EASlen-EAS
2224
Text 115,335,0x00000000,EAS, EASlen-EAS   ;115,335
Line 2208... Line 2225...
2208
 
2225
 
Line 2209... Line 2226...
2209
Text 115,375,0x00000000,DNP, DNPlen-DNP
2226
Text 115,375,0x00000000,DNP, DNPlen-DNP   ;115,375
Line 2229... Line 2246...
2229
Text 315,255,,DNo, DNolen-DNo
2246
Text 315,255,,DNo, DNolen-DNo
2230
Text 315,275,,DN, DNlen-DN
2247
Text 315,275,,DN, DNlen-DN
2231
Text 215,315,,CMPL, CMPLlen-CMPL
2248
Text 215,315,,CMPL, CMPLlen-CMPL
2232
Text 315,315,0x00000000,SS42,SS42len-SS42
2249
Text 315,315,0x00000000,SS42,SS42len-SS42
2233
Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT
2250
Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT 
2234
Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A
2251
Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A   ;try here
2235
Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_
2252
Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_
Line 2236... Line 2253...
2236
 
2253
 
2237
too:
2254
too:
Line 2322... Line 2339...
2322
   mcall
2339
   mcall
Line 2323... Line 2340...
2323
 
2340
 
2324
 Window 150,150,350,430, 0x34FFFFFF, 0x805080d0, title
2341
 Window 150,150,350,430, 0x34FFFFFF, 0x805080d0, title
Line 2325... Line 2342...
2325
	  ; place size
2342
	  ; place size
Line 2326... Line 2343...
2326
 
2343
 
2327
   Button 15,345,92,23,2+0x40000000,0x03FFFFFF ; button "press for more"
2344
   Button 15,345,92,23,2+0x40000000,0x03FFFFFF ;Button 15,330,92,23,2+0x40000000,0x03FFFFFF ; button "press for more"
2328
 
2345
 
2329
	mov	esi, knopka
2346
	mov	esi, knopka
2330
	mov	edi, img_area2
2347
	mov	edi, img_area2
Line 2331... Line 2348...
2331
 	call	load_gif2
2348
	call	load_gif2
Line 2332... Line 2349...
2332
PutImage 15,345,93,24,img_area2+8 ; image "press for more"
2349
PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8   ; image "press for more"
2333
;         place   size
2350
;	  place   size
2334
 
2351
 
2335
 
2352
 
2336
  Button 15,380,92,23,3+0x40000000,0x03FFFFFF ; button "save"
2353
  Button 15,380,92,23,3+0x40000000,0x03FFFFFF ; button "save"  ;370 
Line 2337... Line 2354...
2337
 
2354
 
2338
	mov	esi, knopka2
2355
	mov	esi, knopka2
2339
	mov	edi, img_area3
2356
	mov	edi, img_area3
Line 2355... Line 2372...
2355
  cmp dword[smallvendor], 'cAMD'
2372
  cmp dword[smallvendor], 'cAMD'
2356
  jne cont
2373
  jne cont
2357
  cmp [f], $6
2374
  cmp [f], $6
2358
  jne cont
2375
  jne cont
Line 2359... Line -...
2359
 
-
 
2360
;   Button 240,85,69,15,3,0x030000FF  ;  button for rating
-
 
2361
;    Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button
-
 
2362
 
2376
 
Line 2363... Line 2377...
2363
   call newrating; !!!!
2377
   call newrating; !!!!
2364
 
2378
 
Line 2390... Line 2404...
2390
    mov edi, step + 0xa   ;0x9
2404
    mov edi, step + 0xa   ;0x9
2391
    call savenumber
2405
    call savenumber
Line 2392... Line 2406...
2392
 
2406
 
2393
    ;Number 110,110,1*256,2,dword [ef]
2407
    ;Number 110,110,1*256,2,dword [ef]
2394
    mov esi, ef
2408
    mov esi, ef
2395
    mov edi, fam + 0xE    ;0x9
2409
    mov edi, fam + 0xF	  ;0xE
Line 2396... Line 2410...
2396
    call savenumber
2410
    call savenumber
2397
 
2411
 
2398
    ;Number 110,130,,,dword [em]
2412
    ;Number 110,130,,,dword [em]
Line 2484... Line 2498...
2484
    Text 255,250,,typen, typenlen-typen
2498
    Text 255,250,,typen, typenlen-typen
2485
    Text 175, 50,,tech, techlen-tech;
2499
    Text 175, 50,,tech, techlen-tech;
Line 2486... Line 2500...
2486
 
2500
   
Line 2487... Line -...
2487
   red2:
-
 
-
 
2501
   red2:
2488
 
2502
 
Line -... Line 2503...
-
 
2503
  
2489
    ;;;;;;;;;;;;;;;;;;;;;;;;
2504
    goon: 
Line 2490... Line 2505...
2490
    goon:
2505
    
2491
 
2506
    ;call PROCCORE 
2492
    call decodebrand
2507
    call decodebrand 
Line 2514... Line 2529...
2514
    Text 15,150,0x00000000,step, steplen-step
2529
    Text 15,150,0x00000000,step, steplen-step
Line 2515... Line 2530...
2515
 
2530
    
2516
    Text 275,290,0x00000000,HTT, HTTlen-HTT
2531
    Text 275,290,0x00000000,HTT, HTTlen-HTT
Line -... Line 2532...
-
 
2532
    Text 275,310,,sse3, sse3len-sse3
2517
    Text 275,310,,sse3, sse3len-sse3
2533
    
2518
 
2534
     ;try here
2519
    Text 175,290,0x00000000,SSE41, SSE41len-SSE41
2535
    Text 175,290,0x00000000,SSE41, SSE41len-SSE41
Line 2520... Line -...
2520
    Text 175,310,0x00000000,SSE42, SSE42len-SSE42
-
 
2521
    Text 175,330,0x00000000,SSE5, SSE5len-SSE5
2536
    Text 175,310,0x00000000,SSE42, SSE42len-SSE42 
-
 
2537
    Text 175,330,0x00000000,SSE5, SSE5len-SSE5 
2522
 
2538
    
2523
 
2539
    Text 15,70,,name, namelen-name
2524
    Text 15,70,,name, namelen-name
2540
 
Line 2525... Line 2541...
2525
    Text 15,290,,MMXs, MMXslen-MMXs
2541
    Text 15,290,,MMXs, MMXslen-MMXs
Line 2538... Line 2554...
2538
 
2554
    
2539
    Text 15, 190,0x00000000,cache, cachelen-cache
2555
    Text 15, 190,0x00000000,cache, cachelen-cache 
2540
    Text 15,170,0x00000000,cache2, cache2len-cache2
2556
    Text 15,170,0x00000000,cache2, cache2len-cache2
2541
    Text 15,210,,cache3, cache3len-cache3
2557
    Text 15,210,,cache3, cache3len-cache3
-
 
2558
    Text 15,230,,cache4, cache4len-cache4
2542
    Text 15,230,,cache4, cache4len-cache4
2559
	
-
 
2560
    Text 110,70,0x00000000,dword[cname], 40
2543
    Text 110,70,0x00000000,dword[cname], 40
2561
  
Line 2544... Line 2562...
2544
    call	load_gif
2562
	call	load_gif
2545
 
2563
	
2546
    cmp [nomultiplier], $1
2564
    cmp [nomultiplier], $1
Line 2564... Line 2582...
2564
    cmp [codeN],$5
2582
    cmp [codeN],$5
2565
    je codeNTransmeta
2583
    je codeNTransmeta
2566
    cmp [codeN], $6
2584
    cmp [codeN], $6
2567
    je codeNVortex
2585
    je codeNVortex
Line -... Line 2586...
-
 
2586
    
2568
 
2587
 
2569
codeNIntel:
2588
codeNIntel:
2570
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln
2589
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln
2571
mov	esi, intel
2590
mov	esi, intel
2572
call	load_gif
2591
call	load_gif
Line 2692... Line 2711...
2692
	call addstring
2711
	call addstring
Line 2693... Line 2712...
2693
 
2712
 
2694
   cmp [nomultiplier], $1
2713
   cmp [nomultiplier], $1
2695
	je noMult
2714
	je noMult
2696
	jne detMulti
2715
	jne detMulti 
Line 2697... Line 2716...
2697
	 ;jne detFreq
2716
	
2698
 
2717
	 
2699
	detMulti:
2718
	detMulti:
2700
	mov esi,multil
2719
	mov esi,multil 
Line 2863... Line 2882...
2863
	call addstring
2882
	call addstring
Line 2864... Line 2883...
2864
 
2883
 
2865
	mov esi, SSE
2884
	mov esi, SSE
Line 2866... Line -...
2866
	call addstring
-
 
2867
 
2885
	call addstring
2868
 
2886
 
Line 2869... Line 2887...
2869
	mov esi, SSn
2887
	mov esi, SSn
2870
	call addstring
2888
	call addstring
Line 2987... Line 3005...
2987
  call addstring
3005
  call addstring
Line 2988... Line 3006...
2988
 
3006
  
2989
  mov esi, WDT
3007
  mov esi, WDT
Line -... Line 3008...
-
 
3008
  call addstring
2990
  call addstring
3009
  
Line -... Line 3010...
-
 
3010
  
2991
 
3011
	ret
2992
	ret
3012
 
2993
 
3013
	
2994
addstring:
3014
addstring:
2995
	mov edi, [store_text_area_end]
3015
	mov edi, [store_text_area_end]
Line 3078... Line 3098...
3078
load_gif:
3098
load_gif:
3079
	mov	edi, img_area
3099
	mov	edi, img_area
3080
load_gif2:
3100
load_gif2:
Line 3081... Line 3101...
3081
 
3101
 
-
 
3102
COLOR_ORDER equ MENUETOS
Line 3082... Line 3103...
3082
COLOR_ORDER equ MENUETOS
3103
include 'gif_lite.inc'	      ; parse GIF files
Line 3083... Line 3104...
3083
 
3104
 
Line 3084... Line 3105...
3084
; DATA AREA
3105
; DATA AREA
3085
 
3106
 
Line 3086... Line 3107...
3086
title	 db   'CPUID 2.29 by S.Kuzmin & the KolibriOS team',0
3107
title	 db   'CPUID 2.43 by S.Kuzmin & the KolibriOS team',0
Line 3417... Line 3438...
3417
 
3438
 
Line 3418... Line -...
3418
 
-
 
3419
 
3439
 
Line 3420... Line 3440...
3420
standard    db 'Standard and Extended features plus Performance test',0
3440
 
Line 3421... Line 3441...
3421
 
3441
standard    db 'Standard and Extended features plus Performance test',0
Line 3469... Line 3489...
3469
    db 'L1(inst):     Kuops    -way set     -byte line size'
3489
    db 'L1(inst):     Kuops    -way set     -byte line size'
Line 3470... Line 3490...
3470
 
3490
 
Line 3471... Line -...
3471
cacheP4len:
-
 
3472
 
-
 
3473
 
3491
cacheP4len:
Line 3474... Line 3492...
3474
 
3492
 
Line 3475... Line 3493...
3475
 
3493
 
Line 3569... Line 3587...
3569
    db 'HTT:          ',0
3587
    db 'HTT:          ',0
Line 3570... Line 3588...
3570
 
3588
 
Line -... Line 3589...
-
 
3589
HTTlen:
3571
HTTlen:
3590
 
Line 3572... Line 3591...
3572
 
3591
 
Line 3573... Line 3592...
3573
 
3592
 
Line -... Line 3593...
-
 
3593
HTTn:
3574
HTTn:
3594
 
Line 3575... Line 3595...
3575
 
3595
    db 'HTT:         ',0
Line 3576... Line 3596...
3576
    db 'HTT:         ',0
3596
 
Line 3606... Line 3626...
3606
 
3626
 
Line 3607... Line 3627...
3607
    db '3DNOW!+:         ',0
3627
    db '3DNOW!+:         ',0
Line -... Line 3628...
-
 
3628
 
-
 
3629
nowplen:
3608
 
3630
 
Line -... Line 3631...
-
 
3631
 
-
 
3632
 
3609
nowplen:
3633
;-Type
Line 3610... Line 3634...
3610
 
3634
 
Line 3611... Line 3635...
3611
;-Type
3635
 
Line 3834... Line 3858...
3834
db 'Sandy Bridge',0
3858
db 'Sandy Bridge',0
Line 3835... Line 3859...
3835
 
3859
 
Line 3836... Line 3860...
3836
P2Alen:
3860
P2Alen:
3837
 
3861
 
Line 3838... Line 3862...
3838
P2D:
3862
P2D:
Line 3839... Line -...
3839
db 'Sandy bridge-E',0
-
 
3840
 
3863
db 'Sandy bridge-E',0 ; stepping M1, micron 0.032 
3841
P2Dlen:
3864
 
3842
 
3865
P2Dlen:
Line 3843... Line 3866...
3843
 
3866
 
Line 4040... Line 4063...
4040
 
4063
 
Line 4041... Line 4064...
4041
AF4len:
4064
AF4len:
Line 4042... Line 4065...
4042
 
4065
 
Line 4043... Line 4066...
4043
AF5:
4066
AF5:
Line 4044... Line 4067...
4044
 
4067
 
Line 4206... Line 4229...
4206
 
4229
 
Line 4207... Line 4230...
4207
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
4230
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
Line -... Line 4231...
-
 
4231
 
-
 
4232
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
-
 
4233
 
-
 
4234
 
-
 
4235
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
4236
;
-
 
4237
 
-
 
4238
;  include images and unpacking- and hasharea
-
 
4239
 
-
 
4240
;
4208
 
4241
 
4209
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
4242
include 'logos.inc' ; include file where gif's are stored
Line 4210... Line 4243...
4210
 
4243
 
4211
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4244
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 4445... Line 4478...
4445
 
4478
 
Line 4446... Line 4479...
4446
linel3 dd ?
4479
linel3 dd ?
Line -... Line 4480...
-
 
4480
 
4447
 
4481
che db ? ; numbers of calls for Intel caches detection
Line 4448... Line 4482...
4448
che db ? ; numbers of calls for Intel caches detection
4482
 
Line 4449... Line 4483...
4449
 
4483
;;added
Line 4459... Line 4493...
4459
   db 0x0
4493
   db 0x0
Line 4460... Line 4494...
4460
 
4494
 
Line 4461... Line -...
4461
 
-
 
4462
align 4
-
 
4463
 
4495
 
Line 4464... Line 4496...
4464
 
4496
align 4
Line 4465... Line 4497...
4465
 
4497