revert CPUID.ASM to r6496

git-svn-id: svn://kolibrios.org@6499 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
CleverMouse 2016-08-23 19:31:57 +00:00
parent 1049bcf59a
commit c6db9a29e8

View File

@ -1,21 +1,21 @@
;****************************************************************************** ;******************************************************************************
; project name: CPUID * ; project name: CPUID *
; platform: KolibriOS, x86 (IA-32), x86-64 achitectures * ; platform: KolibriOS, x86 (IA-32), x86-64 achitectures *
; compiler: flat assembler 1.71.22 * ; compiler: flat assembler 1.70.03 *
; version: 2.43 * ; version: 2.29 *
; last update: 15 Ausust 2016 * ; last update: 12 October 2014 *
; maintained by: Sergey Kuzmin aka Wildwest * ; maintained by: Sergey Kuzmin aka Wildwest *
; e-mail: kuzmin_serg@list.ru * ; e-mail: kuzmin_serg@list.ru *
; forum topic: http://board.kolibrios.org/viewtopic.php?f=42&t=594 * ; site: http://coolthemes.narod.ru/files.html *
; license: Copyright 2004-2014 Sergey Kuzmin and co-authors * ; license: Copyright 2004-2014 Sergey Kuzmin and co-authors *
; Rules: * ; Rules: *
; 1)you can use pieces of code in your project, but should * ; 1)you can use pieces of code in your project, but should *
; mention the original author (include copyright notice); * ; mention the original author (include copyright notice); *
; 2)if you modify CPUID (improve, port, translate, etc) send * ; 2)if you modify CPUID (improve, port, translate, etc) send *
; your changes to the maintainer or make about post changes * ; your changes to the maintainer or make about post changes *
; at forum http://board.kolibrios.org/viewtopic.php?f=42&t=594* ; at forum http://board.kolibrios.org/viewtopic.php?f=42&t=594*
;-----------------------------------------------------------------------------* ;-----------------------------------------------------------------------------*
; Comments are in English * ; English comments *
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
use32 use32
org 0x0 org 0x0
@ -42,13 +42,13 @@ include 'variable.inc'
@use_library @use_library
START: ; START:
mcall 68,11 mcall 68,11
mcall 66,1,1 mcall 66,1,1
load_libraries l_libs_start,end_l_libs load_libraries l_libs_start,end_l_libs
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
;OpenDialog initialisation ;OpenDialog initialisation
push dword OpenDialog_data push dword OpenDialog_data
call [OpenDialog_Init] call [OpenDialog_Init]
@ -120,8 +120,8 @@ mov [che], al ; number of calls
multik: multik:
.eaxl: .eaxl:
test eax, eax ; Test bit 31 test eax, eax ; Test bit 31
js .ebxl ; <> 0 =>invalid values js .ebxl ; <> 0 =>invalid values
call decodecache24 call decodecache24
.ebxl: .ebxl:
test ebx, ebx test ebx, ebx
@ -274,7 +274,7 @@ call decode_sse3_5
.noname: .noname:
red: red:
;mov byte [multiplier], 115; ; for testing ;mov byte [multiplier], 115; ; for testing
call decode_sse3 call decode_sse3
@ -314,18 +314,18 @@ output:
;HRERE ;HRERE
PROCCORE: ; Who are you? PROCCORE: ; Who are you?
; Intel - "GenuineIntel" + ; Intel - "GenuineIntel" +
; AMD - "AuthenticAMD" + ; AMD - "AuthenticAMD" +
; Cyrix - "CyrixInstead" + ; Cyrix - "CyrixInstead" +
; UMC - "UMC UMC UMC " ; UMC - "UMC UMC UMC "
; NexGen - "NexGenDriven" ; NexGen - "NexGenDriven"
; Centaur - "CentaurHauls" + ; Centaur - "CentaurHauls" +
; Rise Technology - "RiseRiseRise" ; Rise Technology - "RiseRiseRise"
; SiS - "SiS SiS SiS " ; SiS - "SiS SiS SiS "
; Transmeta - "GenuineTMx86" + ; Transmeta - "GenuineTMx86" +
; National Semiconductor - "Geode by NSC" ; National Semiconductor - "Geode by NSC"
; Vortex - "Vortex86 SoC" + initial support ; Vortex - "Vortex86 SoC" + initial support
cmp dword[smallvendor], 'ntel' ;1 cmp dword[smallvendor], 'ntel' ;1
jz Intel jz Intel
cmp dword[smallvendor], 'cAMD' ;2 cmp dword[smallvendor], 'cAMD' ;2
@ -374,7 +374,7 @@ call concatname
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 PutImage 135,107,201,49,img_area+8
MOV [codeN], 2 MOV [codeN], 2
; place size ; place size
; Relax, man. AMD made PRETTY SIMPLE cache detection routine ; Relax, man. AMD made PRETTY SIMPLE cache detection routine
;CACHE1: ;CACHE1:
@ -432,23 +432,22 @@ mov [L2],ecx
;CACHE3: edx provides l3 ;CACHE3: edx provides l3
;mov eax, 80000006h mov eax, 80000006h
; cpuid cpuid
;movzx eax, cl ;mov cl to eax, zero extend; cl is counter reg for loop,shifts movzx eax, cl ;mov cl to eax, zero extend; cl is counter reg for loop,shifts
;mov dword[linel3], eax mov dword[linel3], eax
;push edx push edx
;shr edx, 12+1 shr edx, 12+1
;and edx, 0x7 and edx, 0x7
;mov eax, 1 mov eax, 1
;shl eax, cl shl eax, cl
;mov dword [wayl3], eax mov dword [wayl3], eax
;pop edx pop edx
;shr edx, 18
;mov [L3],ecx
shr edx, 18
mov [L3],ecx
cmp [f], $5 cmp [f], $5
jz .fiv jz .fiv
@ -522,7 +521,7 @@ mov [L2],ecx
Text 100,70,0x80000000 Text 100,70,0x80000000
jmp MMXtest jmp MMXtest
A6: A6:
;mov [FRS], 266 ;!!!!!! ;mov [FRS], 266 ;!!!!!!
;Number 315,90,0,3,dword [FRS],0x000000; MHz ;Number 315,90,0,3,dword [FRS],0x000000; MHz
call newrating; !!!! call newrating; !!!!
@ -534,7 +533,7 @@ A6:
A8: A8:
;mov [FRS], 266 ;!!!!!! ;mov [FRS], 266 ;!!!!!!
;Number 315,90,0,3,dword [FRS],0x000000; MHz ;Number 315,90,0,3,dword [FRS],0x000000; MHz
cmp [L2], 256 cmp [L2], 256
@ -553,10 +552,10 @@ A8:
AA: AA:
; mov [FRS], 333; !!!! ; mov [FRS], 333; !!!!
Text 245,70,0x00000000,pr, prlen-pr Text 245,70,0x00000000,pr, prlen-pr
; Number 315,90,0,3,dword [FRS],0x000000; MHz ; Number 315,90,0,3,dword [FRS],0x000000; MHz
mov edx, Atat mov edx, Atat
cmp [L2], 256 cmp [L2], 256
@ -573,88 +572,69 @@ AA:
fif: ; AMD-64 Family=15 fif: ; AMD-64 Family=15
mov [nomultiplier], 1 ;dont detect multipl for new AMD
;here is a need to rewrite detection of AMD F-th family according to "Revision Guide for ;here is a need to rewrite detection of AMD F-th family according to "Revision Guide for
;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf
; checking sse3 for new AMD's is needed
cmp [m],$1 ; Dual-core Opteron cmp [m],$1 ;Dual-core Opteron
jz AF1. jz AF1.
cmp [m],$3 ; Toledo 1024 0.09 cmp [m],$3 ;Toledo 1024 0.09
jz AF3. jz AF3.
cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13
jz AF4. jz AF4.
cmp [m],$5 ; Opteron Athlon 64 FX 0.13 (1024) cmp [m],$5 ;Opteron Athlon 64 FX 0.13 (1024)
jz AF5. jz AF5.
cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024)
jz AF7. jz AF7.
cmp [m],$8 ; Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 cmp [m],$8 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13
jz AF8. jz AF8.
cmp [m],$B ; Athlon 64 cmp [m],$B ;Athlon 64
jz AFB. jz AFB.
cmp [m],$C ;Athlon 64 Newcastle(512) 0.13 cmp [m],$C ;Athlon 64 Newcastle(512) 0.13 Sempron> Paris (256) 0.13 |SSE3+ Sempron > Palermo FC0 0.09 // (Venice)
jz AFC. jz AFC.
cmp [m],$E ; Athlon 64 cmp [m],$E ;Athlon 64
jz AFE. jz AFE.
cmp [m],$F ; Athlon 64 Winchester(512) |SSE3+ SanDiego(1024) Venice (512) Palermo (256) 0.09 cmp [m],$F ;Athlon 64 Winchester(512) |SSE3+ SanDiego(1024) Venice (512) Palermo (256) 0.09
jz AFF. jz AFF.
jmp next_generation jmp next_generation
ten: ;family = 10h ten: ;family = 10h
;Opteron (Barcelona) cmp [m],$2
cmp [m],$2 ;model 2, stepping 1, Opteron processor 2347
jz AB23. jz AB23.
cmp [m], $8 ;model 2, stepping 2, opteron processor 8356 cmp [m], $8
jz AB83. jz AB83.
;Phenom X4 (9-series) (Agena)
cmp [m], $9 cmp [m], $9
jz AB9. ; 4 cores, cache 4x64 jz AB9.
cmp [m], $2
;Phenom X3 (8-series) (Toliman)
cmp [m], $2 ;3 cores, cache 3x63
jz AB8check2. jz AB8check2.
AB8check2.: AB8check2.:
cmp [s],03h cmp [s],03h
jz AB8right2. jz AB8right2.
;Athlon 6-series
cmp [m],$2 cmp [m],$2
jz athlonCheck jz athlonCheck
athlonCheck: ;stepping 03h, Athlon X2 7450 ; DONE athlonCheck:
cmp [s],03h cmp [s],03h
jz athlonKuma jz athlonKuma
;Athlon X2 (Rana) cmp [m], $5
cmp [m], $5 ;Model 5, 05h, stepping 3, 03h, AMD Athlon(tm) II X3
jz AB4. jz AB4.
cmp [m],$1
;Opteron (Budapest) 0.065 micron, Core stepping(s) jz AB1.
cmp [m],$1 ;AMD Opteron 1354 (rev. B3) specifications
jz AB1. ;model 2 02h, stepping 3 03h
;Opteron (Shanghai) 0.045 micron, Cores
cmp [m],$4 cmp [m],$4
jz AB8check. jz AB8check.
AB8check.: AB8check.:
cmp [s],02h ;2387 cmp [s],02h
jz ABC2. jz ABC2.
cmp [s],01h ;8300 cmp [s],01h
jz ABC3. jz ABC3.
;Opteron (Magny-Cours)
cmp [m], $9 cmp [m], $9
jz AB6. jz AB6.
;Athlon II X2 0.045 micron
cmp [m], $2 cmp [m], $2
jz AB8check. jz AB8check.
;Turion II (Caspian)
cmp [m], 06h cmp [m], 06h
jz ABM. jz ABM.
@ -871,17 +851,13 @@ mov esi, AFCsp
;----------------------------------------------- ;-----------------------------------------------
Intel: Intel:
mov [codeN], $1 mov [codeN], $1
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln ;75,70 Text 75,70,0x00000000,Inteln, Intelnlen-Inteln
mov esi, IntelnNew ;un comment this four lines mov esi, IntelnNew
mov edi, saveproc mov edi, saveproc
call concatname call concatname
mov esi, intel mov esi, intel
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 ;this one PutImage 135,107,201,49,img_area+8
;PutImage 125,107,201,49,img_area+8
; place size
det: det:
cmp [f], $5 cmp [f], $5
@ -1151,9 +1127,9 @@ mov esi, P6F
;06Ex - Pentium M Yonah 0.065 ;06Ex - Pentium M Yonah 0.065
;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield ;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield
NEWintel: ;http://www.cpu-world.com/info/Intel/Intel_Core_i7.html NEWintel:
cmp [em],$3A ;IvyBridge ; only one cmp [em],$3A ;IvyBridge
jz I3A jz I3A
cmp [em],$2A ;SandyBridge cmp [em],$2A ;SandyBridge
jz I2A jz I2A
@ -1162,7 +1138,7 @@ NEWintel: ;http://www.cpu-world.com/info/Intel/Intel_Core_i7.html
cmp [em],$25 ;Arrandale/Clarksdale cmp [em],$25 ;Arrandale/Clarksdale
jz I25 jz I25
cmp [em],$2C ;Gulftown/Westmere-EP cmp [em],$2C ;Gulftown/Westmere-EP
jz I2C jz I2C ;westmere-EP stepping B1 -> micron 0.032
cmp [em],$2F ;Westmere-EX cmp [em],$2F ;Westmere-EX
jz I2F jz I2F
cmp [em],$1E ;Clarksfield/Lynnfield/Jasper Forest cmp [em],$1E ;Clarksfield/Lynnfield/Jasper Forest
@ -1193,7 +1169,7 @@ NEWintel: ;http://www.cpu-world.com/info/Intel/Intel_Core_i7.html
jz I26 jz I26
cmp [em],$1C ;Pineview/Silverthorne cmp [em],$1C ;Pineview/Silverthorne
jz I1C jz I1C
jmp no_known jnz no_known
Inewunknown: Inewunknown:
jmp MMXtest jmp MMXtest
@ -1226,10 +1202,10 @@ call concatname
jmp MMXtest jmp MMXtest
I25: I25:
;Text 110,70,0x00000000,P25, P25len-P25
mov [micron], 32 mov [micron], 32
;Text 110,70,0x00000000,P25, P25len-P25
mov [cname], P25 ;P25 mov [cname], P25 ;P25
mov esi, P25 ;un comment this four lines mov esi, P25
mov edi, saveproc + 0x10 ;12 mov edi, saveproc + 0x10 ;12
call concatname call concatname
jmp MMXtest jmp MMXtest
@ -1360,7 +1336,6 @@ mov edi, saveproc + 0x10
call concatname call concatname
jmp MMXtest jmp MMXtest
I1C: I1C:
mov [micron], 32 mov [micron], 32
;Text 110,70,0x00000000,P1C, P1Clen-P1C ;Text 110,70,0x00000000,P1C, P1Clen-P1C
@ -1375,13 +1350,12 @@ call concatname
sev: ;Family=7 sev: ;Family=7
.IS0: .IS0:
Text 15, 190,0x00000000,cache, cachelen-cache ;? Text 15, 190,0x00000000,cache, cachelen-cache
mov [micron], 18
mov [micron], 18
Text 110,70,0x00000000,PS0, PS0len-PS0 Text 110,70,0x00000000,PS0, PS0len-PS0
mov esi, PS0 mov esi, PS0
mov edi, saveproc + 0x6 mov edi, saveproc + 0x6
call concatname call concatname
jmp MMXtest jmp MMXtest
fift: ;Family=15 fift: ;Family=15
@ -1515,6 +1489,7 @@ Text 15, 190,0x00000000,cache, cachelen-cache
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 PutImage 135,107,201,49,img_area+8
cmp [f], $5 cmp [f], $5
jz .fivv jz .fivv
cmp [f], $6 cmp [f], $6
@ -1636,7 +1611,7 @@ cmp [f], $6
vn: vn:
cmp [m],$9 cmp [m],$9
jl vl2old jl vl2old
; else new ; else new
movzx eax, cl movzx eax, cl
mov dword[linel2], eax mov dword[linel2], eax
@ -1675,7 +1650,8 @@ fivC: ;Family=5
mov esi, idt mov esi, idt
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 PutImage 135,107,201,49,img_area+8
;PutImage 125,107,201,49,img_area+8
; place size
Text 75,70,0x00000000,IDTn, IDTnlen-IDTn Text 75,70,0x00000000,IDTn, IDTnlen-IDTn
mov esi, IDTn mov esi, IDTn
@ -1709,6 +1685,7 @@ sixC: ;Family=6
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 PutImage 135,107,201,49,img_area+8
Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn
mov esi, Centaurn mov esi, Centaurn
mov edi, saveproc mov edi, saveproc
@ -1762,7 +1739,6 @@ mov esi, Tranmsmetan
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 PutImage 135,107,201,49,img_area+8
; cache detection routine - it is the same as for AMD (almost) ; cache detection routine - it is the same as for AMD (almost)
;CACHE1: ;CACHE1:
mov eax, 80000005h mov eax, 80000005h
@ -1814,13 +1790,13 @@ mov [L2],ecx
jz .fivt jz .fivt
cmp [f], $F cmp [f], $F
jz .fift jz .fift
.fivt: ; Family=5 .fivt: ; Family=5
mov edx,T5 mov edx,T5
mov esi,T5len-T5 mov esi,T5len-T5
jmp @f jmp @f
.fift: ; Family=F .fift: ; Family=F
mov edx,TF mov edx,TF
mov esi,TFlen-TF mov esi,TFlen-TF
@@: @@:
@ -1840,9 +1816,14 @@ Text 15, 190,0x00000000,cache, cachelen-cache
mov esi, vortex mov esi, vortex
call load_gif call load_gif
PutImage 135,107,201,49,img_area+8 PutImage 135,107,201,49,img_area+8
;PutImage 130,127,201,49,img_area+8
; place size
cmp [f], $5 cmp [f], $5
jz .V54 ;fivvtx jz .V54 ;fivvtx
;.fivvtx: ;Family=5
; cmp [m],$4
; jz .V54
.V54: .V54:
mov [micron], 13 mov [micron], 13
mov [L1i], 16 mov [L1i], 16
@ -1950,8 +1931,8 @@ TESTMMXP:
test eax, 80000000h test eax, 80000000h
jna NOEXTENDEDM jna NOEXTENDEDM
;cmp eax, $80000000 ;// Is 800_0001h supported? ;cmp eax, $80000000 ;// Is 800_0001h supported?
;jz .NOEXTENDEDM ;// If not, 3DNow! technology is not supported ;jz .NOEXTENDEDM ;// If not, 3DNow! technology is not supported
mov eax, $80000001 ;// Setup extended function 8000_0001h mov eax, $80000001 ;// Setup extended function 8000_0001h
cpuid cpuid
cmp [smallvendor], 'tead' cmp [smallvendor], 'tead'
@ -1963,7 +1944,7 @@ Cyrmx:
noCyr: noCyr:
test edx, $00400000 ;// Test bit 22 test edx, $00400000 ;// Test bit 22
jnz XITM ;// 3DNow! technology is supported jnz XITM ;// 3DNow! technology is supported
;jz .NOEXTENDEDM ;jz .NOEXTENDEDM
NOEXTENDEDM: NOEXTENDEDM:
mov dword [mmxp+ 7], $6F6E mov dword [mmxp+ 7], $6F6E
@ -2015,10 +1996,7 @@ event_wait:
mov [ram_size_t], eax mov [ram_size_t], eax
Text 115,350,0x00000000,ram, ramlen-ram Text 115,350,0x00000000,ram, ramlen-ram
;Text 300,350,,mb, mblen-mb
Number 200,350,0,4,dword [ram_size_a],0x000000 Number 200,350,0,4,dword [ram_size_a],0x000000
Number 270,350,,,dword [ram_size_t] Number 270,350,,,dword [ram_size_t]
@ -2030,7 +2008,7 @@ event_wait:
cmp eax,1 ; cmp eax,1 ;
je red ; redraw je red ; redraw
je red2 je red2
cmp eax,2 ; cmp eax,2 ;
je key ; key je key ; key
cmp eax,3 ; cmp eax,3 ;
@ -2052,14 +2030,14 @@ event_wait:
je call_OpenDialog je call_OpenDialog
mov eax,11 ; function 23 - event wait mov eax,11 ; function 23 - event wait
mov ebx,1 mov ebx,1
mcall mcall
mov eax,15 ; function 23 - event wait mov eax,15 ; function 23 - event wait
mov ebx,3 mov ebx,3
mcall mcall
; cmp ah,3 ; = 3 ? ; cmp ah,3 ; = 3 ?
jne still jne still
close: close:
@ -2118,11 +2096,11 @@ still_2:
jmp still_2 ; jmp still_2 ;
key_2: key_2: ;
mcall mcall ;
jmp still_2 ; jmp still_2 ;
button_2: ; button_2: ;
mov eax,17 ; 17 mov eax,17 ; 17
mcall ; mcall ;
@ -2137,11 +2115,16 @@ still_2:
draw_window_2: draw_window_2:
;call prepare_text_area
mov eax,12 ; function 12:tell os about windowdraw mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1h ; 1, start of draw mov ebx,1h ; 1, start of draw
mcall mcall
Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard ;460 Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard ;460
; place size
Text 15, 10,0x00000000, STDCA, STDCAlen-STDCA Text 15, 10,0x00000000, STDCA, STDCAlen-STDCA
Text 215, 10,, EXTCA, EXTCAlen-EXTCA Text 215, 10,, EXTCA, EXTCAlen-EXTCA
@ -2220,10 +2203,10 @@ Text 115,275,,LAF, LAFlen-LAF
Text 115,295,,SSSE3, SSSE3len-SSSE3 Text 115,295,,SSSE3, SSSE3len-SSSE3
Text 115,315,,MCR8, MCR8len-MCR8 Text 115,315,,MCR8, MCR8len-MCR8
;added
Text 115,335,0x00000000,EAS, EASlen-EAS ;115,335
Text 115,375,0x00000000,DNP, DNPlen-DNP ;115,375 Text 115,335,0x00000000,EAS, EASlen-EAS
Text 115,375,0x00000000,DNP, DNPlen-DNP
Text 315,375,0x00000000,SSE5, SSE5len-SSE5 Text 315,375,0x00000000,SSE5, SSE5len-SSE5
@ -2248,7 +2231,7 @@ Text 315,275,,DN, DNlen-DN
Text 215,315,,CMPL, CMPLlen-CMPL Text 215,315,,CMPL, CMPLlen-CMPL
Text 315,315,0x00000000,SS42,SS42len-SS42 Text 315,315,0x00000000,SS42,SS42len-SS42
Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT
Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A ;try here Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A
Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_ Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_
too: too:
@ -2259,14 +2242,14 @@ Text 130,415,,kbpersec, kbperseclen-kbpersec
DrawLine 10, 80, 400, 400, 0x8080FF DrawLine 10, 80, 400, 400, 0x8080FF
Text 90,400,0x80000000,performancestr, 0 Text 90,400,0x80000000,performancestr, 0
DrawLine 322, 400, 400, 400, 0x8080FF DrawLine 322, 400, 400, 400, 0x8080FF
DrawLine 10, 10, 400, 490, 0x8080FF DrawLine 10, 10, 400, 490, 0x8080FF
DrawLine 400, 400, 400, 490, 0x8080FF DrawLine 400, 400, 400, 490, 0x8080FF
DrawLine 10, 400, 490, 490, 0x8080FF DrawLine 10, 400, 490, 490, 0x8080FF
; your proc ; your proc
Text 20,415,0x808080FF,currentcpu, 0 Text 20,415,0x808080FF,currentcpu, 0
Number 170,415,0,5,dword [iter],0x000000 ; + 15 Number 170,415,0,5,dword [iter],0x000000 ; + 15
;Text 115,370,,kbpersec, kbperseclen-kbpersec ;+ 355 ;Text 115,370,,kbpersec, kbperseclen-kbpersec ;+ 355
@ -2321,7 +2304,7 @@ DrawLine 10, 400, 490, 490, 0x8080FF
linelen dd 0 linelen dd 0
currentcpu db 'Current CPU',0 currentcpu db 'Current CPU',0
samplename1 db 'Intel Core i5 CPU', 0x000000 ; not real results! samplename1 db 'Intel Core i5 CPU', 0x000000 ; not real results!
samplespeed1 dd 62 samplespeed1 dd 62
samplename2 db 'Intel Core i3 CPU', 0 samplename2 db 'Intel Core i3 CPU', 0
samplespeed2 dd 48 samplespeed2 dd 48
@ -2341,22 +2324,22 @@ draw_window:
Window 150,150,350,430, 0x34FFFFFF, 0x805080d0, title Window 150,150,350,430, 0x34FFFFFF, 0x805080d0, title
; place size ; place size
Button 15,345,92,23,2+0x40000000,0x03FFFFFF ;Button 15,330,92,23,2+0x40000000,0x03FFFFFF ; button "press for more" Button 15,345,92,23,2+0x40000000,0x03FFFFFF ; button "press for more"
mov esi, knopka mov esi, knopka
mov edi, img_area2 mov edi, img_area2
call load_gif2 call load_gif2
PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "press for more" PutImage 15,345,93,24,img_area2+8 ; image "press for more"
; place size ; place size
Button 15,380,92,23,3+0x40000000,0x03FFFFFF ; button "save" ;370 Button 15,380,92,23,3+0x40000000,0x03FFFFFF ; button "save"
mov esi, knopka2 mov esi, knopka2
mov edi, img_area3 mov edi, img_area3
call load_gif2 call load_gif2
PutImage 15,380,93,24,img_area3+8 ; image "save" ;370 PutImage 15,380,93,24,img_area3+8 ; image "save"
; place size ; place size
mov eax,12 mov eax,12
mov ebx,2h mov ebx,2h
@ -2374,12 +2357,15 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
cmp [f], $6 cmp [f], $6
jne cont jne cont
; Button 240,85,69,15,3,0x030000FF ; button for rating
; Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button
call newrating; !!!! call newrating; !!!!
cont: cont:
Text 15,50,0x00000000,tsum, tsumlen-tsum ; Text 15,50,0x00000000,tsum, tsumlen-tsum ;
;Number 82,50,0,4,dword [total],0x000000; MHz ;Number 82,50,0,4,dword [total],0x000000; MHz
mov esi, total mov esi, total
mov edi, tsum + 0xB ;0xA mov edi, tsum + 0xB ;0xA
call savenumber call savenumber
@ -2391,7 +2377,7 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
;Number 75,110,1*256,1,dword [f],0x000000 ; ;Number 75,110,1*256,1,dword [f],0x000000 ;
mov esi, f mov esi, f
mov edi, fam + 0x8 ;0x9 mov edi, fam + 0x8 ;0x9
call savenumber call savenumber
;Number 75,130,,,dword [m] ;Number 75,130,,,dword [m]
@ -2406,7 +2392,7 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
;Number 110,110,1*256,2,dword [ef] ;Number 110,110,1*256,2,dword [ef]
mov esi, ef mov esi, ef
mov edi, fam + 0xF ;0xE mov edi, fam + 0xE ;0x9
call savenumber call savenumber
;Number 110,130,,,dword [em] ;Number 110,130,,,dword [em]
@ -2464,17 +2450,17 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
mov edi, cache2 + 0xa mov edi, cache2 + 0xa
call savenumber call savenumber
;Number 75,190,,,dword [ L1i] ;Number 75,190,,,dword [ L1i]
mov esi, L1i mov esi, L1i
mov edi, cache + 0xa mov edi, cache + 0xa
call savenumber call savenumber
;Number 41,210,0,4,dword[L2] ;Number 41,210,0,4,dword[L2]
mov esi, L2 mov esi, L2
mov edi, cache3 + 0x4 ;0x3 mov edi, cache3 + 0x4 ;0x3
call savenumber call savenumber
;Number 35,230,0,5,dword[L3] ;Number 35,230,0,5,dword[L3]
mov esi, L3 mov esi, L3
mov edi, cache4 + 0x4 ;0x3 mov edi, cache4 + 0x4 ;0x3
call savenumber call savenumber
@ -2500,10 +2486,9 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
red2: red2:
;;;;;;;;;;;;;;;;;;;;;;;;
goon: goon:
;call PROCCORE
call decodebrand call decodebrand
typedetect: typedetect:
@ -2531,13 +2516,12 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
Text 275,290,0x00000000,HTT, HTTlen-HTT Text 275,290,0x00000000,HTT, HTTlen-HTT
Text 275,310,,sse3, sse3len-sse3 Text 275,310,,sse3, sse3len-sse3
;try here
Text 175,290,0x00000000,SSE41, SSE41len-SSE41 Text 175,290,0x00000000,SSE41, SSE41len-SSE41
Text 175,310,0x00000000,SSE42, SSE42len-SSE42 Text 175,310,0x00000000,SSE42, SSE42len-SSE42
Text 175,330,0x00000000,SSE5, SSE5len-SSE5 Text 175,330,0x00000000,SSE5, SSE5len-SSE5
Text 15,70,,name, namelen-name
Text 15,70,,name, namelen-name
Text 15,290,,MMXs, MMXslen-MMXs Text 15,290,,MMXs, MMXslen-MMXs
Text 15,310,,SSE, SSElen-SSE Text 15,310,,SSE, SSElen-SSE
Text 95,310,,SSE2, SSE2len-SSE2 Text 95,310,,SSE2, SSE2len-SSE2
@ -2556,13 +2540,11 @@ PutImage 15,345,93,24,img_area2+8 ;PutImage 15,330,93,24,img_area2+8 ; image "
Text 15,170,0x00000000,cache2, cache2len-cache2 Text 15,170,0x00000000,cache2, cache2len-cache2
Text 15,210,,cache3, cache3len-cache3 Text 15,210,,cache3, cache3len-cache3
Text 15,230,,cache4, cache4len-cache4 Text 15,230,,cache4, cache4len-cache4
Text 110,70,0x00000000,dword[cname], 40 Text 110,70,0x00000000,dword[cname], 40
call load_gif
call load_gif
cmp [nomultiplier], $1 cmp [nomultiplier], $1
je nomultip je nomultip
Text 15,30,0x00000000,multil2, multil2len-multil2 Text 15,30,0x00000000,multil2, multil2len-multil2
Text 175,30,0x00000000,freql2, freql2len-freql2 Text 175,30,0x00000000,freql2, freql2len-freql2
Number 85,30,0,2,dword [multb],0x000000; Number 85,30,0,2,dword [multb],0x000000;
@ -2584,7 +2566,6 @@ Number 289,30,0,2,dword [freqll]
cmp [codeN], $6 cmp [codeN], $6
je codeNVortex je codeNVortex
codeNIntel: codeNIntel:
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln Text 75,70,0x00000000,Inteln, Intelnlen-Inteln
mov esi, intel mov esi, intel
@ -2713,7 +2694,7 @@ prepare_text_area:
cmp [nomultiplier], $1 cmp [nomultiplier], $1
je noMult je noMult
jne detMulti jne detMulti
;jne detFreq
detMulti: detMulti:
mov esi,multil mov esi,multil
@ -2884,6 +2865,7 @@ prepare_text_area:
mov esi, SSE mov esi, SSE
call addstring call addstring
mov esi, SSn mov esi, SSn
call addstring call addstring
@ -3007,10 +2989,8 @@ prepare_text_area:
mov esi, WDT mov esi, WDT
call addstring call addstring
ret ret
addstring: addstring:
mov edi, [store_text_area_end] mov edi, [store_text_area_end]
xor eax, eax xor eax, eax
@ -3096,15 +3076,14 @@ ret
load_gif: load_gif:
mov edi, img_areasss mov edi, img_area
load_gif2: load_gif2:
COLOR_ORDER equ MENUETOS COLOR_ORDER equ MENUETOS
; DATA AREA ; DATA AREA
title db 'CPUID 2.43 by S.Kuzmin & the KolibriOS team',0 title db 'CPUID 2.29 by S.Kuzmin & the KolibriOS team',0
stm: stm:
db 'Internal name:', 0 db 'Internal name:', 0
@ -3268,11 +3247,11 @@ fam:
if lang eq it if lang eq it
db 'Famiglia: std ext', 0 db 'Famiglia: std ext', 0
else else
db 'FAMILY: std ext', 0 db 'FAMILY: std ext', 0
end if end if
@ -3440,6 +3419,7 @@ instructlen:
standard db 'Standard and Extended features plus Performance test',0 standard db 'Standard and Extended features plus Performance test',0
STDCA: STDCA:
db 'Highest STD call is ',0 db 'Highest STD call is ',0
@ -3491,6 +3471,8 @@ cacheP4:
cacheP4len: cacheP4len:
typen: typen:
if lang eq it if lang eq it
@ -3589,7 +3571,6 @@ HTT:
HTTlen: HTTlen:
HTTn: HTTn:
db 'HTT: ',0 db 'HTT: ',0
@ -3597,7 +3578,6 @@ HTTn:
HTTnlen: HTTnlen:
sse3: sse3:
db 'SSE3: ',0 db 'SSE3: ',0
@ -3613,7 +3593,7 @@ SSE42:
SSE42len: SSE42len:
SSE5: SSE5:
db 'SSE5: ',0 db 'SSE5: ',0
SSE5len: SSE5len:
now: now:
@ -3628,12 +3608,8 @@ nowp:
nowplen: nowplen:
;-Type ;-Type
t1 db 'OEM',0 t1 db 'OEM',0
t2 db 'Overdrive',0 t2 db 'Overdrive',0
@ -3860,10 +3836,11 @@ db 'Sandy Bridge',0
P2Alen: P2Alen:
P2D: P2D:
db 'Sandy bridge-E',0 ; stepping M1, micron 0.032 db 'Sandy bridge-E',0
P2Dlen: P2Dlen:
P25: P25:
db 'Arrandale',0 db 'Arrandale',0
P25len: P25len:
@ -4065,7 +4042,7 @@ AF4len:
AF5: AF5:
db 'Caspian',0 db 'Opteron/Athlon 64 FX (SledgeHammer)',0
AF5len: AF5len:
@ -4231,16 +4208,6 @@ coppercoeff db 50, 30, 40, 20, 55, 35, 45, 25, 35, 70, 80, 60, 20, 75, 15, 65
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 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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; include images and unpacking- and hasharea
;
include 'logos.inc' ; include file where gif's are stored
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I_END: I_END:
@ -4277,12 +4244,12 @@ align 4
ProcLib_import: ProcLib_import:
OpenDialog_Init dd aOpenDialog_Init OpenDialog_Init dd aOpenDialog_Init
OpenDialog_Start dd aOpenDialog_Start OpenDialog_Start dd aOpenDialog_Start
;OpenDialog__Version dd aOpenDialog_Version ;OpenDialog__Version dd aOpenDialog_Version
dd 0 dd 0
dd 0 dd 0
aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Init db 'OpenDialog_init',0
aOpenDialog_Start db 'OpenDialog_start',0 aOpenDialog_Start db 'OpenDialog_start',0
;aOpenDialog_Version db 'Version_OpenDialog',0 ;aOpenDialog_Version db 'Version_OpenDialog',0
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
align 4 align 4
OpenDialog_data: OpenDialog_data:
@ -4480,7 +4447,6 @@ linel3 dd ?
che db ? ; numbers of calls for Intel caches detection che db ? ; numbers of calls for Intel caches detection
;;added
cname dd ? cname dd ?
codeN dd ? codeN dd ?
@ -4495,6 +4461,8 @@ mynamelen:
align 4 align 4
thread2_stack_area rb 64 thread2_stack_area rb 64
thread2_esp = $ thread2_esp = $