diff --git a/programs/system/cpuid/trunk/Build.bat b/programs/system/cpuid/trunk/Build.bat index b504d6bceb..58654f9148 100644 --- a/programs/system/cpuid/trunk/Build.bat +++ b/programs/system/cpuid/trunk/Build.bat @@ -1,2 +1,4 @@ -fasm cpuid.asm cpuid -pause \ No newline at end of file +@echo lang fix en >lang.inc +@fasm cpuid.asm cpuid +@pause +@erase lang.inc \ No newline at end of file diff --git a/programs/system/cpuid/trunk/CPUID.ASM b/programs/system/cpuid/trunk/CPUID.ASM index 4005ce7866..17fac368a3 100644 --- a/programs/system/cpuid/trunk/CPUID.ASM +++ b/programs/system/cpuid/trunk/CPUID.ASM @@ -1,35 +1,37 @@ ;****************************************************************************** -; project name: CPUID * -; platform: KolibriOS, x86 (IA-32), x86-64 achitectures * -; compiler: flat assembler 1.70.03 * -; version: 2.29 * -; last update: 12 October 2014 * -; maintained by: Sergey Kuzmin aka Wildwest * -; e-mail: kuzmin_serg@list.ru * -; site: http://coolthemes.narod.ru/files.html * -; license: Copyright 2004-2014 Sergey Kuzmin and co-authors * -; Rules: * -; 1)you can use pieces of code in your project, but should * -; mention the original author (include copyright notice); * -; 2)if you modify CPUID (improve, port, translate, etc) send * -; your changes to the maintainer or make about post changes * -; at forum http://board.kolibrios.org/viewtopic.php?f=42&t=594* +; project name: CPUID * +; platform: KolibriOS, x86 (IA-32), x86-64 achitectures * +; compiler: flat assembler 1.70.03 * +; version: 2.31 * +; last update: 9 October 2018 * +; maintained by: Sergey Kuzmin aka Wildwest * +; e-mail: kuzmin_serg@list.ru * +; site: http://coolthemes.narod.ru/files.html * +; license: Copyright 2004-2018 Sergey Kuzmin and co-authors * +; Rules: * +; 1)you can use pieces of code in your project, but should * +; mention the original author (include copyright notice); * +; 2)if you modify CPUID (improve, port, translate, etc) send * +; your changes to the maintainer or make about post changes * +; at forum http://board.kolibrios.org/viewtopic.php?f=42&t=594* ;-----------------------------------------------------------------------------* -; English comments * +; English comments * ;------------------------------------------------------------------------------ use32 - org 0x0 - db 'MENUET01' - dd 0x01 - dd START - dd I_END + org 0x0 + db 'MENUET01' + dd 0x01 + dd START + dd I_END dd U_END+4096 dd U_END+4096 - dd 0x0 - dd path + dd 0x0 + dd path include '..\..\..\develop\libraries\box_lib\load_lib.mac' include '..\..\..\macros.inc' +include '../../../gui_patterns.inc' +include '../../../KOSfuncs.inc' include 'lang.inc' include 'draw.inc' include 'brand.inc' ; brand ID decoding @@ -44,144 +46,145 @@ include 'gif_lite.inc' @use_library START: - mcall 68,11 - mcall 66,1,1 + mcall 68,11 + mcall 66,1,1 + mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc, sizeof.system_colors load_libraries l_libs_start,end_l_libs ;----------------------------------------------------------------------------- ;OpenDialog initialisation - push dword OpenDialog_data - call [OpenDialog_Init] + push dword OpenDialog_data + call [OpenDialog_Init] - mov edi,filename_area - mov esi,start_temp_file_name - call copy_file_name_path + mov edi,filename_area + mov esi,start_temp_file_name + call copy_file_name_path ;----------------------------------------------------------------------------- - mcall 68,12,4096*8 ; 16 Kb - I hope this will be enough for store of data - mov [store_text_area_start],eax + mcall 68,12,4096*8 ; 16 Kb - I hope this will be enough for store of data + mov [store_text_area_start],eax ;------------ CYCLES: ; CPU speed - mov eax, 18 - mov ebx,5 - mcall - mov [total1],eax ;in Hz, example 1600490000 - xor edx,edx - mov ebx,1000000 - div ebx - mov [total], eax ; in Mhz, example 1600 - xor edx, edx - mov eax, [total1] - mov ebx, 10000 - div ebx - mov [ost], eax ; example 160049 - mov ecx, [total] - imul ecx, 100 - neg ecx - add ecx, eax - mov [sot], ecx ; example 49 + mov eax, 18 + mov ebx,5 + mcall + mov [total1],eax ;in Hz, example 1600490000 + xor edx,edx + mov ebx,1000000 + div ebx + mov [total], eax ; in Mhz, example 1600 + xor edx, edx + mov eax, [total1] + mov ebx, 10000 + div ebx + mov [ost], eax ; example 160049 + mov ecx, [total] + imul ecx, 100 + neg ecx + add ecx, eax + mov [sot], ecx ; example 49 ;------------ -cpu: ;is CPUID supported? - pushfd ;push original EFLAGS - pop eax ;get original EFLAGS - mov ebx, eax ;save original EFLAGS - xor eax, 00200000h ;flip 21th bit in EFLAGS - push eax ;save new EFLAGS value on stack - popfd ;replace current EFLAGS value - pushfd ;get new EFLAGS - pop eax ;store new EFLAGS in EAX - cmp eax, ebx ;compare values of 21th bit - jz NO_CPUID ;CPUID isn't supported +cpu: ;is CPUID supported? + pushfd ;push original EFLAGS + pop eax ;get original EFLAGS + mov ebx, eax ;save original EFLAGS + xor eax, 00200000h ;flip 21th bit in EFLAGS + push eax ;save new EFLAGS value on stack + popfd ;replace current EFLAGS value + pushfd ;get new EFLAGS + pop eax ;store new EFLAGS in EAX + cmp eax, ebx ;compare values of 21th bit + jz NO_CPUID ;CPUID isn't supported ;------------ -CPUNAME: ; VENDOR - mov eax,0 ; eax=0 - cpuid +CPUNAME: ; VENDOR + mov eax,0 ; eax=0 + cpuid - mov [stdc], eax ; number of calls - mov [cpuname+ 12],ebx - mov [cpuname+ 16],edx - mov [cpuname+ 20],ecx - mov [smallvendor],ecx + mov [stdc], eax ; number of calls + mov [cpuname+ 12],ebx + mov [cpuname+ 16],edx + mov [cpuname+ 20],ecx + mov [smallvendor],ecx ; for various vendors we should later use different methods ;Decoding cache L1 and L2 for Intel - cmp ecx, 'ntel' - jne cpu1 ;is not Intel + cmp ecx, 'ntel' + jne cpu1 ;is not Intel ;Starting L1, L2, L3 caches detection (Intel made it VERY HARD) -mov eax, 2 -cpuid + mov eax, 2 + cpuid -mov [che], al ; number of calls + mov [che], al ; number of calls multik: .eaxl: -test eax, eax ; Test bit 31 -js .ebxl ; <> 0 =>invalid values -call decodecache24 + test eax, eax ; Test bit 31 + js .ebxl ; <> 0 =>invalid values + call decodecache24 .ebxl: -test ebx, ebx -js .ecxl -mov eax, ebx -call decodecache32 + test ebx, ebx + js .ecxl + mov eax, ebx + call decodecache32 .ecxl: -test ecx, ecx -js .edxl -mov eax, ecx -call decodecache32 + test ecx, ecx + js .edxl + mov eax, ecx + call decodecache32 .edxl: -test edx, edx -js cpu1 -mov eax, edx -call decodecache32 + test edx, edx + js cpu1 + mov eax, edx + call decodecache32 -dec [che] ; we made all calls -je cpu1 + dec [che] ; we made all calls + je cpu1 multi: ; not yet -mov eax, 2 ; so we made call again -cpuid + mov eax, 2 ; so we made call again + cpuid -jmp multik + jmp multik ; FAMILY MODEL STEPPING cpu1: - xor eax, eax - inc eax ; eax=1 - cpuid + xor eax, eax + inc eax ; eax=1 + cpuid -mov ecx, eax -shr ecx,8 ; shift it to the correct position -and ecx,0000000Fh ; get CPU family -mov dword[f],ecx + mov ecx, eax + shr ecx,8 ; shift it to the correct position + and ecx,0000000Fh ; get CPU family + mov dword[f],ecx -mov ecx, eax -shr ecx,4 -and ecx,0000000Fh ; get CPU model -mov dword[m],ecx + mov ecx, eax + shr ecx,4 + and ecx,0000000Fh ; get CPU model + mov dword[m],ecx -mov ecx, eax -and ecx,0000000Fh ; get CPU stepping -mov dword[s],ecx + mov ecx, eax + and ecx,0000000Fh ; get CPU stepping + mov dword[s],ecx -;- -mov ecx, eax ; get Type -shl ecx, 18 -shr ecx,30 -;and ecx, 0000000Fh ; only two lower bits can be nonzero -mov dword[t], ecx + ;- + mov ecx, eax ; get Type + shl ecx, 18 + shr ecx,30 + ;and ecx, 0000000Fh ; only two lower bits can be nonzero + mov dword[t], ecx ;======================================================= -cmp dword[smallvendor], 'cAMD' -jz maybe_athlon -cmp dword[smallvendor], 'ntel' -jnz no_full ; if not AMD or Intel + cmp dword[smallvendor], 'cAMD' + jz maybe_athlon + cmp dword[smallvendor], 'ntel' + jnz no_full ; if not AMD or Intel ;detect_it: ;cmp [f], 0Fh @@ -189,129 +192,130 @@ jnz no_full ; if not AMD or Intel full: -mov ecx, eax ; get Extended model -shr ecx,16 ;shift it to the correct position -and ecx, 0000000Fh -shl ecx, 4 -mov dword[newpc],ecx ; this value for old pc=0 and for new pc>0 -add ecx, [m] -mov dword[em],ecx ; effective model + mov ecx, eax ; get Extended model + shr ecx,16 ;shift it to the correct position + and ecx, 0000000Fh + shl ecx, 4 + mov dword[newpc],ecx ; this value for old pc=0 and for new pc>0 + add ecx, [m] + mov dword[em],ecx ; effective model -mov ecx, eax ; get Extended family -shr ecx, 20 ;shift it to the correct position -and ecx, 000000FFh -add ecx, [f] -mov dword[ef],ecx ; effective family + mov ecx, eax ; get Extended family + shr ecx, 20 ;shift it to the correct position + and ecx, 000000FFh + add ecx, [f] + mov dword[ef],ecx ; effective family -jmp fut + jmp fut no_full: -mov ecx, [m] -mov [em], ecx + mov ecx, [m] + mov [em], ecx -mov ecx, [f] -mov [ef], ecx + mov ecx, [f] + mov [ef], ecx -jmp fut + jmp fut maybe_athlon: -mov eax, 0x80000001 ; CPUID ext. function 0x80000001 -cpuid -mov ecx, eax -shr ecx,8 ; shift it to the correct position -and ecx,0000000Fh ; get CPU family -mov dword[ef],ecx + mov eax, 0x80000001 ; CPUID ext. function 0x80000001 + cpuid + mov ecx, eax + shr ecx,8 ; shift it to the correct position + and ecx,0000000Fh ; get CPU family + mov dword[ef],ecx -mov ecx, eax -shr ecx,4 -and ecx,0000000Fh ; get CPU model -mov dword[em],ecx + mov ecx, eax + shr ecx,4 + and ecx,0000000Fh ; get CPU model + mov dword[em],ecx fut: -call decode_sse3_5 + call decode_sse3_5 -;call decode_sse3_5 -;- - call decode_extended + ;call decode_sse3_5 + ;- + call decode_extended - mov eax,$80000000 - cpuid + mov eax,$80000000 + cpuid - mov [extc], eax ; max number of calls + mov [extc], eax ; max number of calls - test eax, $80000000 ;// Test bit 31 - jz .noname + test eax, $80000000 ;// Test bit 31 + jz .noname - cmp eax,$80000003 - ja .mynameis - jmp .noname + cmp eax,$80000003 + ja .mynameis + jmp .noname .mynameis: - mov eax,$80000002 - cpuid - mov [myname],eax - mov [myname+4],ebx - mov [myname+8],ecx - mov [myname+12],edx - mov eax,$80000003 - cpuid - mov [myname+16],eax - mov [myname+20],ebx - mov [myname+24],ecx - mov [myname+28],edx - mov eax,$80000004 - cpuid - mov [myname+32],eax - mov [myname+36],ebx - mov [myname+40],ecx - mov [myname+44],edx - jmp red + mov eax,$80000002 + cpuid + mov [myname],eax + mov [myname+4],ebx + mov [myname+8],ecx + mov [myname+12],edx + mov eax,$80000003 + cpuid + mov [myname+16],eax + mov [myname+20],ebx + mov [myname+24],ecx + mov [myname+28],edx + mov eax,$80000004 + cpuid + mov [myname+32],eax + mov [myname+36],ebx + mov [myname+40],ecx + mov [myname+44],edx + jmp red .noname: + red: -;mov byte [multiplier], 115; ; for testing + ;mov byte [multiplier], 115; ; for testing -call decode_sse3 + call decode_sse3 -call multipl ; get multiplier -mov byte [multiplier], cl + call multipl ; get multiplier + mov byte [multiplier], cl -mov dword [freqbb], 0 -mov dword [freqll], 0 + mov dword [freqbb], 0 + mov dword [freqll], 0 -mov ebx, dword [multiplier] -test ebx, ebx -jz output + mov ebx, dword [multiplier] + test ebx, ebx + jz output -calc: + calc: -mov eax,dword [ost] ; example 166474 -imul eax, 10 ; example 1664740 -xor edx,edx -div ebx ; get system clock (if multiplier detected) + mov eax,dword [ost] ; example 166474 + imul eax, 10 ; example 1664740 + xor edx,edx + div ebx ; get system clock (if multiplier detected) -xor edx, edx ; example eax=16647 -mov ebx, 100 -div ebx -mov dword [freqbb], eax ; example 166 -mov dword [freqll], edx ; example 47 + xor edx, edx ; example eax=16647 + mov ebx, 100 + div ebx + mov dword [freqbb], eax ; example 166 + mov dword [freqll], edx ; example 47 -xor edx, edx - mov eax,dword[multiplier] ; example 115 - mov ebx,10 - div ebx - mov dword[multb], eax ; example 11 - mov dword[multa], edx ; example 5 + xor edx, edx + mov eax,dword[multiplier] ; example 115 + mov ebx,10 + div ebx + mov dword[multb], eax ; example 11 + mov dword[multa], edx ; example 5 output: - call draw_window ; Draw window + call draw_window ; Draw window ;HRERE @@ -327,18 +331,18 @@ PROCCORE: ; Who are you? ; Transmeta - "GenuineTMx86" + ; National Semiconductor - "Geode by NSC" ; Vortex - "Vortex86 SoC" + initial support - cmp dword[smallvendor], 'ntel' ;1 - jz Intel - cmp dword[smallvendor], 'cAMD' ;2 - jz AMD - cmp dword[smallvendor], 'tead' ;3 - jz Cyrix - cmp dword[smallvendor], 'auls' ;4 - jz Centaur - cmp dword[smallvendor], 'Mx86' ;5 - jz Transmeta - cmp dword[smallvendor], ' SoC' ;6 - jz Vortex + cmp dword[smallvendor], 'ntel' ;1 + jz Intel + cmp dword[smallvendor], 'cAMD' ;2 + jz AMD + cmp dword[smallvendor], 'tead' ;3 + jz Cyrix + cmp dword[smallvendor], 'auls' ;4 + jz Centaur + cmp dword[smallvendor], 'Mx86' ;5 + jz Transmeta + cmp dword[smallvendor], ' SoC' ;6 + jz Vortex ; cmp ecx, 'UMC ' ; jz .UMC @@ -352,224 +356,224 @@ PROCCORE: ; Who are you? ; jz .NSC ; jmp Other ; I don't know what to do with you... Other: -Text 75,70,0x00000000,other, otherlen-other + Text 75,70,0x00000000,other, otherlen-other -mov esi, other -mov edi, [saveproc] -call concatname + mov esi, other + mov edi, [saveproc] + call concatname - jmp MMXtest + jmp MMXtest ;------------------------- AMD: ;------------------------------------------------------------------------------- -Text 15, 190,0x00000000,cache, cachelen-cache + Text 15, 190,0x00000000,cache, cachelen-cache -Text 75,70,,AMDn, AMDnlen-AMDn -mov esi, AMDnNew -mov edi, saveproc -call concatname - mov esi, amd - call load_gif -PutImage 135,107,201,49,img_area+8 -MOV [codeN], 2 + Text 75,70,,AMDn, AMDnlen-AMDn + mov esi, AMDnNew + mov edi, saveproc + call concatname + mov esi, amd + call load_gif + PutImage 135,107,201,49,img_area+8 + MOV [codeN], 2 ; place size ; Relax, man. AMD made PRETTY SIMPLE cache detection routine ;CACHE1: -mov eax, 80000005h - cpuid + mov eax, 80000005h + cpuid -movzx eax, cl -mov [lineld], eax + movzx eax, cl + mov [lineld], eax -mov eax, ecx -;shl eax, 8 -;shr eax, 24 + mov eax, ecx + ;shl eax, 8 + ;shr eax, 24 -and eax,00FF0000h -shr eax, 16 -mov [wayld], eax + and eax,00FF0000h + shr eax, 16 + mov [wayld], eax -shr ecx, 24 -mov [L1d], ecx + shr ecx, 24 + mov [L1d], ecx -movzx eax, dl -mov [lineli], eax + movzx eax, dl + mov [lineli], eax -mov eax, edx -;shl eax, 8 -;shr eax, 24 + mov eax, edx + ;shl eax, 8 + ;shr eax, 24 -and eax,00FF0000h -shr eax, 16 -mov [wayli], eax + and eax,00FF0000h + shr eax, 16 + mov [wayli], eax -shr edx, 24 -mov [L1i], edx + shr edx, 24 + mov [L1i], edx ;CACHE2: -mov eax, 80000006h - cpuid + mov eax, 80000006h + cpuid -movzx eax, cl -mov dword[linel2], eax + movzx eax, cl + mov dword[linel2], eax -push ecx -shr ecx, 12+1 -and ecx, 0x7 -mov eax, 1 -shl eax, cl -mov dword [wayl2], eax -pop ecx + push ecx + shr ecx, 12+1 + and ecx, 0x7 + mov eax, 1 + shl eax, cl + mov dword [wayl2], eax + pop ecx -shr ecx, 16 -mov [L2],ecx + shr ecx, 16 + mov [L2],ecx ;CACHE3: edx provides l3 -mov eax, 80000006h - cpuid + mov eax, 80000006h + cpuid -movzx eax, cl ;mov cl to eax, zero extend; cl is counter reg for loop,shifts -mov dword[linel3], eax + movzx eax, cl ;mov cl to eax, zero extend; cl is counter reg for loop,shifts + mov dword[linel3], eax -push edx -shr edx, 12+1 -and edx, 0x7 -mov eax, 1 -shl eax, cl -mov dword [wayl3], eax -pop edx + push edx + shr edx, 12+1 + and edx, 0x7 + mov eax, 1 + shl eax, cl + mov dword [wayl3], eax + pop edx -shr edx, 18 -mov [L3],ecx + shr edx, 18 + mov [L3],ecx - cmp [f], $5 - jz .fiv - cmp [f], $6 - jz .si - cmp [f], $F - jz fif - cmp [f], $10 ;family 16, 010h, - jz ten + cmp [f], $5 + jz .fiv + cmp [f], $6 + jz .si + cmp [f], $F + jz fif + cmp [f], $10 ;family 16, 010h, + jz ten -.fiv: ; Family=5 - mov [micron], 50 - mov edx, A50 - cmp [m], $0 - jz @f - mov [micron], 35 - mov edx, A51 - cmp [m], $1 - jz @f - mov edx, A52 - cmp [m], $2 - jz @f - mov edx, A53 - cmp [m], $3 - jz @f - mov [micron], 30 - mov edx, A56 - cmp [m], $6 - jz @f - mov [micron], 25 - mov edx, A57 - cmp [m], $7 - jz @f - mov edx, A58 - cmp [m], $8 - jz @f - mov edx, A59 - cmp [m], $9 - jz @f - mov [micron], 18 - mov edx, A5D +.fiv: ; Family=5 + mov [micron], 50 + mov edx, A50 + cmp [m], $0 + jz @f + mov [micron], 35 + mov edx, A51 + cmp [m], $1 + jz @f + mov edx, A52 + cmp [m], $2 + jz @f + mov edx, A53 + cmp [m], $3 + jz @f + mov [micron], 30 + mov edx, A56 + cmp [m], $6 + jz @f + mov [micron], 25 + mov edx, A57 + cmp [m], $7 + jz @f + mov edx, A58 + cmp [m], $8 + jz @f + mov edx, A59 + cmp [m], $9 + jz @f + mov [micron], 18 + mov edx, A5D @@: - jmp @f + jmp @f .si: ; Family=6 - mov [micron], 25 - mov edx, At1 - cmp [m], $1 - jz @f - mov [micron], 18 - mov edx, At2 - cmp [m], $2 - jz @f - mov edx, At3 - cmp [m], $3 - jz @f - mov edx, At4 - cmp [m], $4 - jz @f - cmp [m], $6 - jz A6 - mov [micron], 13 - mov edx, At7 - cmp [m], $7 - jz @f - cmp [m], $8 - jz A8 - jmp AA + mov [micron], 25 + mov edx, At1 + cmp [m], $1 + jz @f + mov [micron], 18 + mov edx, At2 + cmp [m], $2 + jz @f + mov edx, At3 + cmp [m], $3 + jz @f + mov edx, At4 + cmp [m], $4 + jz @f + cmp [m], $6 + jz A6 + mov [micron], 13 + mov edx, At7 + cmp [m], $7 + jz @f + cmp [m], $8 + jz A8 + jmp AA @@: - Text 100,70,0x80000000 - jmp MMXtest + mov [cname], edx + jmp MMXtest A6: ;mov [FRS], 266 ;!!!!!! ;Number 315,90,0,3,dword [FRS],0x000000; MHz - call newrating; !!!! + call newrating; !!!! - Text 245,70,0x00000000,pr, prlen-pr - Number 310,70,0,4,dword [rating],0x000000 - mov edx, At6 - jmp @b + Text 245,70,0x00000000,pr, prlen-pr + Number 310,70,0,4,dword [rating],0x000000 + mov edx, At6 + jmp @b A8: ;mov [FRS], 266 ;!!!!!! ;Number 315,90,0,3,dword [FRS],0x000000; MHz - cmp [L2], 256 - jl .App ; Applebred + cmp [L2], 256 + jl .App ; Applebred - call newrating;!!!! + call newrating;!!!! - Text 245,70,0x00000000,pr, prlen-pr - Number 310,70,0,4,dword [rating],0x000000 - mov edx, At8 - jmp @b + Text 245,70,0x00000000,pr, prlen-pr + Number 310,70,0,4,dword [rating],0x000000 + mov edx, At8 + jmp @b .App: - mov edx, At8a - jmp @b + mov edx, At8a + jmp @b AA: ; 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 - mov edx, Atat - cmp [L2], 256 - jl .Tho ; Thorton - mov edx, Ata + mov edx, Atat + cmp [L2], 256 + jl .Tho ; Thorton + mov edx, Ata .Tho: - push edx + push edx - call newrating;!!!!! + call newrating;!!!!! - Number 310,70,0,4,dword [rating],0x000000 - pop edx - jmp @b + Number 310,70,0,4,dword [rating],0x000000 + pop edx + jmp @b fif: ; AMD-64 Family=15 @@ -577,1731 +581,1687 @@ fif: ; AMD-64 Family=15 ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf - cmp [m],$1 ;Dual-core Opteron - jz AF1. - cmp [m],$3 ;Toledo 1024 0.09 - jz AF3. - cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 - jz AF4. - cmp [m],$5 ;Opteron Athlon 64 FX 0.13 (1024) - jz AF5. - cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024) - jz AF7. - cmp [m],$8 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 - jz AF8. - cmp [m],$B ;Athlon 64 - jz AFB. - cmp [m],$C ;Athlon 64 Newcastle(512) 0.13 Sempron> Paris (256) 0.13 |SSE3+ Sempron > Palermo FC0 0.09 // (Venice) - jz AFC. - cmp [m],$E ;Athlon 64 - jz AFE. - cmp [m],$F ;Athlon 64 Winchester(512) |SSE3+ SanDiego(1024) Venice (512) Palermo (256) 0.09 - jz AFF. - jmp next_generation + cmp [m],$1 ;Dual-core Opteron + jz AF1. + cmp [m],$3 ;Toledo 1024 0.09 + jz AF3. + cmp [m],$4 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 + jz AF4. + cmp [m],$5 ;Opteron Athlon 64 FX 0.13 (1024) + jz AF5. + cmp [m],$7 ;Athlon 64 Athlon 64 FX Clawhammer(1024) 0.13 Sledgehammer(1024) 0.13 // SSE3+ SanDiego(1024) + jz AF7. + cmp [m],$8 ;Athlon 64 Mobile Athlon 64 FX ClawHammer (1024) 0.13 + jz AF8. + cmp [m],$B ;Athlon 64 + jz AFB. + cmp [m],$C ;Athlon 64 Newcastle(512) 0.13 Sempron> Paris (256) 0.13 |SSE3+ Sempron > Palermo FC0 0.09 // (Venice) + jz AFC. + cmp [m],$E ;Athlon 64 + jz AFE. + cmp [m],$F ;Athlon 64 Winchester(512) |SSE3+ SanDiego(1024) Venice (512) Palermo (256) 0.09 + jz AFF. + jmp next_generation ten: ;family = 10h -cmp [m],$2 - jz AB23. -cmp [m], $8 - jz AB83. -cmp [m], $9 - jz AB9. -cmp [m], $2 - jz AB8check2. + cmp [m],$2 + jz AB23. + cmp [m], $8 + jz AB83. + cmp [m], $9 + jz AB9. + cmp [m], $2 + jz AB8check2. AB8check2.: -cmp [s],03h - jz AB8right2. -cmp [m],$2 - jz athlonCheck + cmp [s],03h + jz AB8right2. + cmp [m],$2 + jz athlonCheck athlonCheck: -cmp [s],03h - jz athlonKuma + cmp [s],03h + jz athlonKuma -cmp [m], $5 - jz AB4. -cmp [m],$1 - jz AB1. -cmp [m],$4 - jz AB8check. + cmp [m], $5 + jz AB4. + cmp [m],$1 + jz AB1. + cmp [m],$4 + jz AB8check. AB8check.: -cmp [s],02h - jz ABC2. -cmp [s],01h - jz ABC3. -cmp [m], $9 - jz AB6. -cmp [m], $2 - jz AB8check. -cmp [m], 06h - jz ABM. + cmp [s],02h + jz ABC2. + cmp [s],01h + jz ABC3. + cmp [m], $9 + jz AB6. + cmp [m], $2 + jz AB8check. + cmp [m], 06h + jz ABM. athlonKuma: - mov [micron], 65 - Text 100,70,0x00000000,AthlonKuma, AthlonKumalen-AthlonKuma - mov esi, AthlonKuma - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 65 + Text 100,70,0x00000000,AthlonKuma, AthlonKumalen-AthlonKuma + mov esi, AthlonKuma + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB23.: - mov [micron], 65 - Text 100,70,0x00000000,AB23, AB23len-AB23 - mov esi, AB23 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 65 + Text 100,70,0x00000000,AB23, AB23len-AB23 + mov esi, AB23 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB83.: - mov [micron], 65 - Text 100,70,0x00000000,AB83, AB83len-AB83 - mov esi, AB83 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 65 + Text 100,70,0x00000000,AB83, AB83len-AB83 + mov esi, AB83 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB9.: - mov [micron], 65 - Text 100,70,0x00000000,AB9, AB9len-AB9 - mov esi, AB9 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 65 + Text 100,70,0x00000000,AB9, AB9len-AB9 + mov esi, AB9 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB8right2.: - mov [micron], 65 - Text 100,70,0x00000000,AB8right2, AB8right2len-AB8right2 - mov esi, AB8right2 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 65 + Text 100,70,0x00000000,AB8right2, AB8right2len-AB8right2 + mov esi, AB8right2 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB4.: - mov [micron], 45 - Text 100,70,0x00000000,AB4, AB4len-AB4 - mov esi, AB4 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 45 + Text 100,70,0x00000000,AB4, AB4len-AB4 + mov esi, AB4 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB1.: - mov [micron], 65 - Text 100,70,0x00000000,AB1, AB1len-AB1 - mov esi, AB1 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 65 + Text 100,70,0x00000000,AB1, AB1len-AB1 + mov esi, AB1 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest ABC2.: - mov [micron], 45 - Text 100,70,0x00000000,ABC2, ABC2len-ABC2 - mov esi, ABC2 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 45 + Text 100,70,0x00000000,ABC2, ABC2len-ABC2 + mov esi, ABC2 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AB6.: - mov [micron], 45 - Text 100,70,0x00000000,AB6, AB6len-AB6 - mov esi, AB6 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 45 + Text 100,70,0x00000000,AB6, AB6len-AB6 + mov esi, AB6 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest ABC3.: - mov [micron], 45 - Text 100,70,0x00000000,ABC3, ABC3len-ABC3 - mov esi, ABC3 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 45 + Text 100,70,0x00000000,ABC3, ABC3len-ABC3 + mov esi, ABC3 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest ABM.: - mov [micron], 45 - Text 100,70,0x00000000,ABM2, ABM2len-ABM - mov esi, ABM2 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 45 + Text 100,70,0x00000000,ABM2, ABM2len-ABM + mov esi, ABM2 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AF1.: - mov [micron], 09 ;? - Text 100,70,0x00000000,AF1, AF1len-AF1 - mov esi, AF1 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 09 ;? + Text 100,70,0x00000000,AF1, AF1len-AF1 + mov esi, AF1 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AF3.: - mov [micron], 09 - Text 100,70,0x00000000,AF3, AF3len-AF3 - mov esi, AF3 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 09 + Text 100,70,0x00000000,AF3, AF3len-AF3 + mov esi, AF3 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AF4.: - mov [micron], 13 - Text 100,70,0x00000000,AF4, AF4len-AF4 - mov esi, AF4 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AF4, AF4len-AF4 + mov esi, AF4 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AF5.: - mov [micron], 13 - Text 100,70,0x00000000,AF5, AF5len-AF5 - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AF5, AF5len-AF5 + jmp MMXtest AF7.: - mov [micron], 13 - Text 100,70,0x00000000,AF5, AF5len-AF5 - mov esi, AF5 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AF5, AF5len-AF5 + mov esi, AF5 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AF8.: - mov [micron], 13 - Text 100,70,0x00000000,AF4, AF4len-AF4 - mov esi, AF4 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AF4, AF4len-AF4 + mov esi, AF4 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AFB.: - mov [micron], 13 - Text 100,70,0x00000000,AF4, AF4len-AF4 - mov esi, AF4 - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AF4, AF4len-AF4 + mov esi, AF4 + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AFC.: -cmp [L2], 512 -je AFC.n + cmp [L2], 512 + je AFC.n -cmp [sse3sup], 1 -je AFC.npal + cmp [sse3sup], 1 + je AFC.npal AFC.npar: ; paris - mov [micron], 13 - Text 100,70,0x00000000,AFCs, AFCslen-AFCs - mov esi, AFCs - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AFCs, AFCslen-AFCs + mov esi, AFCs + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AFC.npal: ; palermo - mov [micron], 9 - Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp - mov esi, AFCsp - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 9 + Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp + mov esi, AFCsp + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest AFC.n: ;newcastle - mov [micron], 13 - Text 100,70,0x00000000,AFC, AFClen-AFC - mov esi, AFC - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + mov [micron], 13 + Text 100,70,0x00000000,AFC, AFClen-AFC + mov esi, AFC + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest -AFE.: ; error in cpu - jmp AFC. +AFE.: ; error in cpu + jmp AFC. AFF.: -cmp [sse3sup], 1 -je .AFFsse + cmp [sse3sup], 1 + je .AFFsse .win: -mov [micron], 9 ; winchester -jmp MMXtest + mov [micron], 9 ; winchester + jmp MMXtest .AFFsse: -mov [micron], 9 -cmp [L2], 1024 -jz .AFs -cmp [L2], 512 -jz .AFd -cmp [L2], 256 -jz .AFp + mov [micron], 9 + cmp [L2], 1024 + jz .AFs + cmp [L2], 512 + jz .AFd + cmp [L2], 256 + jz .AFp .AFs: -Text 100,70,0x00000000,AFS, AFSlen-AFS - mov esi, AFS - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + Text 100,70,0x00000000,AFS, AFSlen-AFS + mov esi, AFS + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest .AFd: -Text 100,70,0x00000000,AFV, AFVlen-AFV -mov esi, AFV - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + Text 100,70,0x00000000,AFV, AFVlen-AFV + mov esi, AFV + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest .AFp: -Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp -mov esi, AFCsp - mov edi, saveproc + 0x4 - call concatname - jmp MMXtest + Text 100,70,0x00000000,AFCsp, AFCsplen-AFCsp + mov esi, AFCsp + mov edi, saveproc + 0x4 + call concatname + jmp MMXtest ;----------------------------------------------- Intel: -mov [codeN], $1 -Text 75,70,0x00000000,Inteln, Intelnlen-Inteln - mov esi, IntelnNew - mov edi, saveproc - call concatname - mov esi, intel - call load_gif -PutImage 135,107,201,49,img_area+8 + mov [codeN], $1 + Text 75,70,0x00000000,Inteln, Intelnlen-Inteln + mov esi, IntelnNew + mov edi, saveproc + call concatname + mov esi, intel + call load_gif + PutImage 135,107,201,49,img_area+8 det: - cmp [f], $5 - jz five - cmp [f], $6 - jz six - cmp [f], $7 - jz sev - cmp [f], $F - jz fift -five: ;Family=5 + cmp [f], $5 + jz five + cmp [f], $6 + jz six + cmp [f], $7 + jz sev + cmp [f], $F + jz fift +five: ;Family=5 -Text 15, 190,0x00000000,cache, cachelen-cache + Text 15, 190,0x00000000,cache, cachelen-cache - cmp [m],$0 - jz .I0 - cmp [m],$1 - jz .I1 - cmp [m],$2 - jz .I2 - cmp [m],$3 - jz .I3 - cmp [m],$4 - jz .I4 - cmp [m],$7 - jz .I7 - cmp [m],$8 - jz .I8 + cmp [m],$0 + jz .I0 + cmp [m],$1 + jz .I1 + cmp [m],$2 + jz .I2 + cmp [m],$3 + jz .I3 + cmp [m],$4 + jz .I4 + cmp [m],$7 + jz .I7 + cmp [m],$8 + jz .I8 .I0: -Text 110,70,0x00000000,P50, P50len-P50 - mov esi, P50 - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 8 - mov [L1i], 8 - mov [L2], 256 - mov [micron], 80 - jmp MMXtest + mov [cname], P50 + mov esi, P50 + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 8 + mov [L1i], 8 + mov [L2], 256 + mov [micron], 80 + jmp MMXtest .I1: -Text 110,70,0x00000000,P5, P5len-P5 -mov esi, P5 - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 8 - mov [L1i], 8 - mov [L2], 256 - mov [micron], 50 - jmp MMXtest + mov [cname], P5 + mov esi, P5 + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 8 + mov [L1i], 8 + mov [L2], 256 + mov [micron], 50 + jmp MMXtest .I2: -Text 110,70,0x00000000,P54C, P54Clen-P54C -mov esi, P54C - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 8 - mov [L1i], 8 - mov [L2], 256 - mov [micron], 50 - jmp MMXtest + mov [cname], P54C + mov esi, P54C + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 8 + mov [L1i], 8 + mov [L2], 256 + mov [micron], 50 + jmp MMXtest .I3: -Text 110,70,0x00000000,P54T, P54Tlen-P54T -mov esi, P54T - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 8 - mov [L1i], 8 - mov [L2], 256 - mov [micron], 50 - jmp MMXtest + mov [cname], P54T + mov esi, P54T + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 8 + mov [L1i], 8 + mov [L2], 256 + mov [micron], 50 + jmp MMXtest .I4: -Text 110,70,0x00000000,P55C, P55Clen-P55C -mov esi, P55C - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 8 - mov [L1i], 8 - mov [L2], 256 - mov [micron], 35 - jmp MMXtest + mov [cname], P55C + mov esi, P55C + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 8 + mov [L1i], 8 + mov [L2], 256 + mov [micron], 35 + jmp MMXtest .I7: -Text 110,70,0x00000000,P54C, P54Clen-P54C -mov esi, P54C - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 8 - mov [L1i], 8 - mov [L2], 256 - mov [micron], 35 - jmp MMXtest + mov [cname], P54C + mov esi, P54C + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 8 + mov [L1i], 8 + mov [L2], 256 + mov [micron], 35 + jmp MMXtest .I8: -Text 110,70,0x00000000,P55C, P55Clen-P55C -mov esi, P55C - mov edi, saveproc + 0x6 - call concatname - mov [L1d], 16 - mov [L1i], 16 - mov [L2], 256 - mov [micron], 35 - jmp MMXtest + mov [cname], P55C + mov esi, P55C + mov edi, saveproc + 0x6 + call concatname + mov [L1d], 16 + mov [L1i], 16 + mov [L2], 256 + mov [micron], 35 + jmp MMXtest -six: ;Family=6 +six: ;Family=6 -Text 15, 190,0x00000000,cache, cachelen-cache -cmp [newpc],$0 -jnz NEWintel + Text 15, 190,0x00000000,cache, cachelen-cache + cmp [newpc],$0 + jnz NEWintel - cmp [m],$0 - jz .I60 - cmp [m],$1 - jz .I61 - cmp [m],$3 - jz .I63 - cmp [m],$5 - jz .I65 - cmp [m],$6 - jz .I66 - cmp [m],$7 - jz .I67 - cmp [m],$8 - jz .I68 - cmp [m],$9 - jz .I69 - cmp [m],$A - jz .I6A - cmp [m],$B - jz .I6B - cmp [m],$D - jz .I6D - cmp [m],$E - jz .I6E - cmp [m],$F - jz .I6F + cmp [m],$0 + jz .I60 + cmp [m],$1 + jz .I61 + cmp [m],$3 + jz .I63 + cmp [m],$5 + jz .I65 + cmp [m],$6 + jz .I66 + cmp [m],$7 + jz .I67 + cmp [m],$8 + jz .I68 + cmp [m],$9 + jz .I69 + cmp [m],$A + jz .I6A + cmp [m],$B + jz .I6B + cmp [m],$D + jz .I6D + cmp [m],$E + jz .I6E + cmp [m],$F + jz .I6F .I60: - mov [micron], 50 - Text 110,70,0x00000000,P60, P60len-P60 - mov esi, P60 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 50 + mov [cname], P60 + mov esi, P60 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I61: - mov [micron], 35 - Text 110,70,0x00000000,P61, P61len-P61 - mov esi, P61 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 35 + mov [cname], P61 + mov esi, P61 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I63: - mov [micron], 28 - Text 110,70,0x00000000,P63, P63len-P63 - mov esi, P63 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 28 + mov [cname], P63 + mov esi, P63 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I65: - mov [micron], 25 - cmp [L2], 0 - jne .pp65 ; Pentium - Text 110,70,0x00000000,P65c, P65clen-P65c - mov esi, P65c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 25 + cmp [L2], 0 + jne .pp65 ; Pentium + mov [cname], P65c + mov esi, P65c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .pp65: - Text 110,70,0x00000000,P65, P65len-P65 - mov esi, P65 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], P65 + mov esi, P65 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I66: - mov [micron], 25 -Text 110,70,0x00000000,P66, P66len-P66 -mov esi, P66 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 25 + mov [cname], P66 + mov esi, P66 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I67: - mov [micron], 25 -Text 110,70,0x00000000,P67, P67len-P67 ;but if SSE4.1 supported then it is Intel Core (Penryn) - mov esi, P67 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 25 + ;but if SSE4.1 supported then it is Intel Core (Penryn) + mov [cname], P67 + mov esi, P67 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I68: - mov [micron], 18 - cmp [L2], 128 - jne .pp68 ; Pentium -Text 110,70,0x00000000,P68c, P68clen-P68c -mov esi, P68c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 18 + cmp [L2], 128 + jne .pp68 ; Pentium + mov [cname], P68c + mov esi, P68c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .pp68: -Text 110,70,0x00000000,P68, P68len-P68 -mov esi, P68 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], P68 + mov esi, P68 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I69: - mov [micron], 13 -Text 110,70,0x00000000,P69 , P69len-P69 -mov esi, P69 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 13 + mov [cname], P69 + mov esi, P69 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I6A: - mov [micron], 18 -Text 110,70,0x00000000,P6A, P6Alen-P6A ;but if SSE4.2 supported then it is Intel Core (Nehalem) - mov esi, P6A - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 18 + ;but if SSE4.2 supported then it is Intel Core (Nehalem) + mov [cname], P6A + mov esi, P6A + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I6B: - mov [micron], 13 - cmp [L2], 256 - jne .pp6B ; Pentium -Text 110,70,0x00000000,P6Bc, P6Bclen-P6Bc -mov esi, P6Bc - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 13 + cmp [L2], 256 + jne .pp6B ; Pentium + mov [cname], P6Bc + mov esi, P6Bc + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .pp6B: -Text 110,70,0x00000000,P6B, P6Blen-P6B -mov esi, P6B - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], P6B + mov esi, P6B + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I6D: - mov [micron], 9 -Text 110,70,0x00000000,P6D, P6Dlen-P6D -mov esi, P6D - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 9 + mov [cname], P6D + mov esi, P6D + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I6E: - mov [micron], 6 -Text 110,70,0x00000000,P6E, P6Elen-P6E -mov esi, P6E - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 6 + mov [cname], P6E + mov esi, P6E + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .I6F: - mov [micron], 6 -Text 110,70,0x00000000,P6F, P6Flen-P6F -mov esi, P6F - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 6 + mov [cname], P6F + mov esi, P6F + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest ;06Ex - Pentium M Yonah 0.065 ;06Fx - Pentium D Conroe 0.065, Xeon Woodcrest, Celeron D AllenDale, Core 2 Kentsfield NEWintel: - cmp [em],$3A ;IvyBridge - jz I3A - cmp [em],$2A ;SandyBridge - jz I2A - cmp [em],$2D ;SandyBridge-E/EN/EP - jz I2D - cmp [em],$25 ;Arrandale/Clarksdale - jz I25 - cmp [em],$2C ;Gulftown/Westmere-EP - jz I2C ;westmere-EP stepping B1 -> micron 0.032 - cmp [em],$2F ;Westmere-EX - jz I2F - cmp [em],$1E ;Clarksfield/Lynnfield/Jasper Forest - jz I1E - cmp [em],$1A ;Bloomfield/Nehalem-EP - jz I1A - cmp [em],$2E ;Nehalem-EX - jz I2E - cmp [em],$17 ;Yorkfield/Wolfdale/Penryn/Harpertown (DP) - jz I17 - cmp [em],$1D ;Dunnington (MP) - jz I1D - cmp [em],$0F ;Clovertown/Kentsfield/Conroe/Merom/Woodcrest - jz I0F - cmp [em],$16 ;Merom Conroe - jz I16 - cmp [em],$06 ;Cedar Mill/Presler - jz I06 - cmp [em],$03 ;Nocona Irwindale / Prescott - jz I03 - cmp [em],$04 ;NoconaIrwindale / Prescott - jz I03 - cmp [em],$0D ;Dothan - jz I0D - cmp [em],$36 ;Cedarview - jz I36 - cmp [em],$26 ;Lincroft - jz I26 - cmp [em],$1C ;Pineview/Silverthorne - jz I1C - jnz no_known + cmp [em],$3A ;IvyBridge + jz I3A + cmp [em],$2A ;SandyBridge + jz I2A + cmp [em],$2D ;SandyBridge-E/EN/EP + jz I2D + cmp [em],$25 ;Arrandale/Clarksdale + jz I25 + cmp [em],$2C ;Gulftown/Westmere-EP + jz I2C ;westmere-EP stepping B1 -> micron 0.032 + cmp [em],$2F ;Westmere-EX + jz I2F + cmp [em],$1E ;Clarksfield/Lynnfield/Jasper Forest + jz I1E + cmp [em],$1A ;Bloomfield/Nehalem-EP + jz I1A + cmp [em],$2E ;Nehalem-EX + jz I2E + cmp [em],$17 ;Yorkfield/Wolfdale/Penryn/Harpertown (DP) + jz I17 + cmp [em],$1D ;Dunnington (MP) + jz I1D + cmp [em],$0F ;Clovertown/Kentsfield/Conroe/Merom/Woodcrest + jz I0F + cmp [em],$16 ;Merom Conroe + jz I16 + cmp [em],$06 ;Cedar Mill/Presler + jz I06 + cmp [em],$03 ;Nocona Irwindale / Prescott + jz I03 + cmp [em],$04 ;NoconaIrwindale / Prescott + jz I03 + cmp [em],$0D ;Dothan + jz I0D + cmp [em],$36 ;Cedarview + jz I36 + cmp [em],$26 ;Lincroft + jz I26 + cmp [em],$1C ;Pineview/Silverthorne + jz I1C + jnz no_known Inewunknown: - jmp MMXtest + jmp MMXtest I3A: -mov [micron], 32 -;Text 110,70,0x00000000,P3A, P3Alen-P3A -mov [cname], P3A -mov esi, P3A -mov edi, saveproc + 0x10 -call concatname -jmp MMXtest + mov [micron], 32 + mov [cname], P3A + mov esi, P3A + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I2A: -mov [micron], 32 -;Text 110,70,0x00000000,P2A, P2Alen-P2A -mov [cname], P2A -mov esi, P2A -mov edi, saveproc + 0x10 -call concatname -jmp MMXtest + mov [micron], 32 + mov [cname], P2A + mov esi, P2A + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I2D: -mov [micron], 32 -;Text 110,70,0x00000000,P2D, P2Dlen-P2D -mov [cname], P2D -mov esi, P2D -mov edi,saveproc + 0x10 -call concatname -jmp MMXtest + mov [micron], 32 + mov [cname], P2D + mov esi, P2D + mov edi,saveproc + 0x10 + call concatname + jmp MMXtest I25: -mov [micron], 32 -;Text 110,70,0x00000000,P25, P25len-P25 -mov [cname], P25 ;P25 -mov esi, P25 -mov edi, saveproc + 0x10 ;12 -call concatname -jmp MMXtest + mov [micron], 32 + mov [cname], P25 ;P25 + mov esi, P25 + mov edi, saveproc + 0x10 ;12 + call concatname + jmp MMXtest I2C: -mov [micron], 32 -;Text 110,70,0x00000000,P2C, P2Clen-P2C -mov [cname], P2C -mov esi, P2C -mov edi,saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P2C + mov esi, P2C + mov edi,saveproc + 0x10 + call concatname + jmp MMXtest I2F: -mov [micron], 32 -;Text 110,70,0x00000000,P2F, P2Flen-P2F -mov [cname], P2F -mov esi, P2F -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P2F + mov esi, P2F + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I1E: -mov [micron], 32 -;Text 110,70,0x00000000,P1E, P1Elen-P1E -mov [cname], P1E -mov esi, P1E -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P1E + mov esi, P1E + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I1A: -mov [micron], 45 -;Text 110,70,0x00000000,P1A, P1Alen-P1A -mov [cname], P1A -mov esi, P1A -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 45 + mov [cname], P1A + mov esi, P1A + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I2E: -mov [micron], 45 -;Text 110,70,0x00000000,P2E, P2Elen-P2E -mov [cname], P2E -mov esi, P2E -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 45 + mov [cname], P2E + mov esi, P2E + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I17: -mov [micron], 45 -;Text 110,70,0x00000000,P17, P17len-P17 -mov [cname], P17 -mov esi, P17 -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 45 + mov [cname], P17 + mov esi, P17 + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I1D: -mov [micron], 45 -;Text 110,70,0x00000000,P1D, P1Dlen-P1D -mov [cname], P1D -mov esi, P1D -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 45 + mov [cname], P1D + mov esi, P1D + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I0F: -mov [micron], 65 -;Text 110,70,0x00000000,P0F, P0Flen-P0F -mov [cname], P0F -mov esi, P0F -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 65 + mov [cname], P0F + mov esi, P0F + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I16: -mov [micron], 65 -;Text 110,70,0x00000000,P16, P16len-P16 -mov [cname], P16 -mov esi, P16 -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 65 + mov [cname], P16 + mov esi, P16 + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I06: -mov [micron], 32 -;Text 110,70,0x00000000,P06, P06len-P06 -mov [cname], P06 -mov esi, P06 -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P06 + mov esi, P06 + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I03: -mov [micron], 32 -;Text 110,70,0x00000000,P03, P03len-P03 -mov [cname], P03 -mov esi, P03 -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P03 + mov esi, P03 + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I0D: -mov [micron], 32 -;Text 110,70,0x00000000,P0D, P0Dlen-P0D -mov [cname], P0D -mov esi, P0D -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P0D + mov esi, P0D + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I36: -mov [micron], 32 -;Text 110,70,0x00000000,P36, P36len-P36 -mov [cname], P36 -mov esi, P36 -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P36 + mov esi, P36 + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I26: -mov [micron], 32 -;Text 110,70,0x00000000,P26, P26len-P26 -mov [cname], P26 -mov esi, P26 -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P26 + mov esi, P26 + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest I1C: -mov [micron], 32 -;Text 110,70,0x00000000,P1C, P1Clen-P1C -mov [cname], P1C -mov esi, P1C -mov edi, saveproc + 0x10 -call concatname - jmp MMXtest + mov [micron], 32 + mov [cname], P1C + mov esi, P1C + mov edi, saveproc + 0x10 + call concatname + jmp MMXtest ;;;;;;;;;;;;;;;;;;; -sev: ;Family=7 +sev: ;Family=7 .IS0: -Text 15, 190,0x00000000,cache, cachelen-cache -mov [micron], 18 -Text 110,70,0x00000000,PS0, PS0len-PS0 -mov esi, PS0 -mov edi, saveproc + 0x6 -call concatname - jmp MMXtest + Text 15, 190,0x00000000,cache, cachelen-cache + mov [micron], 18 + mov [cname], PS0 + mov esi, PS0 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest -fift: ;Family=15 +fift: ;Family=15 -Text 15, 190,0x00000000,cacheP4, cacheP4len-cacheP4 + Text 15, 190,0x00000000,cacheP4, cacheP4len-cacheP4 - cmp [m],$0 - jz .IF0 - cmp [m],$1 - jz .IF1 - cmp [m],$2 - jz .IF2 - cmp [m],$3 - jz .IF3 - cmp [m],$4 - jz .IF3 ;identical to F3xh - cmp [m],$5 - jz .IF5 - cmp [m],$6 - jz .IF6 - jmp next_generation + cmp [m],$0 + jz .IF0 + cmp [m],$1 + jz .IF1 + cmp [m],$2 + jz .IF2 + cmp [m],$3 + jz .IF3 + cmp [m],$4 + jz .IF3 ;identical to F3xh + cmp [m],$5 + jz .IF5 + cmp [m],$6 + jz .IF6 + jmp next_generation .IF0: - mov [micron], 18 - cmp [L2], 128 - jne .ppF0 ; Pentium -Text 110,70,0x00000000,PF0c, PF0clen-PF0c -mov esi, PF0c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 18 + cmp [L2], 128 + jne .ppF0 ; Pentium + mov [cname], PF0c + mov esi, PF0c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .ppF0: -Text 110,70,0x00000000,PF0, PF0len-PF0 -mov esi, PF0 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], PF0 + mov esi, PF0 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .IF1: - mov [micron], 18 - cmp [L2], 128 - je .IF0;jne.ppF1 ; Pentium - ; mov eax,dword 0x00000004 - ; mov ebx,115*65536+80 - ; mov ecx,dword 0x00000000 - ; mov edx,PF0c - ; mov esi,PF0clen-PF0c - ; mcall - ;jmp MMXtest + mov [micron], 18 + cmp [L2], 128 + je .IF0;jne.ppF1 ; Pentium + ; mov eax,dword 0x00000004 + ; mov ebx,115*65536+80 + ; mov ecx,dword 0x00000000 + ; mov edx,PF0c + ; mov esi,PF0clen-PF0c + ; mcall + ;jmp MMXtest ;.ppF1: -Text 110,70,0x00000000,PF0, PF0len-PF0 -mov esi, PF0 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], PF0 + mov esi, PF0 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .IF2: - mov [micron], 13 - cmp [L2], 128 - jne .ppF2 ; Pentium -Text 110,70,0x00000000,PF2c, PF2clen-PF2c -mov esi, PF2c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 13 + cmp [L2], 128 + jne .ppF2 ; Pentium + mov [cname], PF2c + mov esi, PF2c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .ppF2: -Text 110,70,0x00000000,PF2, PF2len-PF2 -mov esi, PF2 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], PF2 + mov esi, PF2 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .IF3: - mov [micron], 09 - cmp [L2], 256 - jne .ppF3 ; Pentium -Text 110,70,0x00000000,PF3c, PF3clen-PF3c -mov esi, PF3c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 09 + cmp [L2], 256 + jne .ppF3 ; Pentium + mov [cname], PF3c + mov esi, PF3c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .ppF3: -Text 110,70,0x00000000,PF3, PF3len-PF3 -mov esi, PF3 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], PF3 + mov esi, PF3 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .IF5: - mov [micron], 09 - cmp [L2], 512 - jae .ppF5 ; Pentium -Text 110,70,0x00000000,PF5c, PF5clen-PF5c -mov esi, PF5c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 09 + cmp [L2], 512 + jae .ppF5 ; Pentium + mov [cname], PF5c + mov esi, PF5c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .ppF5: -Text 110,70,0x00000000,PF5, PF5len-PF5 -mov esi, PF5 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], PF5 + mov esi, PF5 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .IF6: - mov [micron], 06 ; 065 - cmp [L2], 512 - ja .ppF6 ; Pentium -Text 110,70,0x00000000,PF6c, PF6clen-PF6c -mov esi, PF6c - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 06 ; 065 + cmp [L2], 512 + ja .ppF6 ; Pentium + mov [cname], PF6c + mov esi, PF6c + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .ppF6: -Text 110,70,0x00000000,PF6, PF6len-PF6 -mov esi, PF6 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], PF6 + mov esi, PF6 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest next_generation: -Text 110,70,0x00000000,NG, NGlen-NG -mov esi, NG - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [cname], NG + mov esi, NG + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest ;---------------------------------- Cyrix: -mov [codeN], 3 -Text 15, 190,0x00000000,cache, cachelen-cache + mov [codeN], 3 + Text 15, 190,0x00000000,cache, cachelen-cache - mov esi, cyrix - call load_gif -PutImage 135,107,201,49,img_area+8 + mov esi, cyrix + call load_gif + PutImage 135,107,201,49,img_area+8 - cmp [f], $5 - jz .fivv - cmp [f], $6 - jz .sixx -.fivv: ;Family=5 - cmp [m],$2 - jz .C52 - cmp [m],$4 - jz .C54 + cmp [f], $5 + jz .fivv + cmp [f], $6 + jz .sixx +.fivv: ;Family=5 + cmp [m],$2 + jz .C52 + cmp [m],$4 + jz .C54 .C52: - mov [micron], 50 ;35? - mov [L1i], 8 - mov [L1d], 8 - mov [L2], 512 -Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn -mov esi, Cyrixn - mov edi, saveproc - call concatname -Text 110,70,0x00000000,C52, C52len-C52 -mov esi, C52 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 50 ;35? + mov [L1i], 8 + mov [L1d], 8 + mov [L2], 512 + Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn + mov esi, Cyrixn + mov edi, saveproc + call concatname + mov [cname], C52 + mov esi, C52 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .C54: - mov [micron], 50 - mov [L1i], 8 - mov [L1d], 8 - mov [L2], 512 -Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn -mov esi, Cyrixn - mov edi, saveproc - call concatname -Text 110,70,0x00000000,C54, C54len-C54 -mov esi, C54 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 50 + mov [L1i], 8 + mov [L1d], 8 + mov [L2], 512 + Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn + mov esi, Cyrixn + mov edi, saveproc + call concatname + mov [cname], C54 + mov esi, C54 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest -.sixx: ;Family=6 - cmp [m],$0 - jz .C60 - cmp [m],$5 - jz .C65 +.sixx: ;Family=6 + cmp [m],$0 + jz .C60 + cmp [m],$5 + jz .C65 .C60: - mov [micron], 25 - mov [L1i], 32 - mov [L1d], 32 - mov [L2], 512 -Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn -mov esi, Cyrixn - mov edi, saveproc - call concatname -Text 110,70,0x00000000,C60, C60len-C60 -mov esi, C60 - mov edi, saveproc + 0x6 - call concatname - jmp MMXtest + mov [micron], 25 + mov [L1i], 32 + mov [L1d], 32 + mov [L2], 512 + Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn + mov esi, Cyrixn + mov edi, saveproc + call concatname + mov [cname], C60 + mov esi, C60 + mov edi, saveproc + 0x6 + call concatname + jmp MMXtest .C65: - mov [micron], 25 ;35? - mov [L1i], 32 - mov [L1d], 32 - mov [L2], 512 -Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn -mov esi, Centaurn - mov edi, saveproc - call concatname - mov edx,C65 - mov esi,C65len-C65 - jmp OutProcName + mov [micron], 25 ;35? + mov [L1i], 32 + mov [L1d], 32 + mov [L2], 512 + Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn + mov esi, Centaurn + mov edi, saveproc + call concatname + mov edx,C65 + mov esi,C65len-C65 + jmp OutProcName ;--------------------- Centaur: -Text 15, 190,0x00000000,cache, cachelen-cache + Text 15, 190,0x00000000,cache, cachelen-cache ;CACHE1: -mov eax, 80000005h - cpuid -shr ecx, 24 -mov [L1d], ecx -shr edx, 24 -mov [L1i], edx + mov eax, 80000005h + cpuid + shr ecx, 24 + mov [L1d], ecx + shr edx, 24 + mov [L1i], edx ; cache detection routine ;CACHE1: -mov eax, 80000005h - cpuid + mov eax, 80000005h + cpuid -movzx eax, cl -mov [lineld], eax + movzx eax, cl + mov [lineld], eax -mov eax, ecx -shr eax, 16 -and eax,000000FFh -mov [wayld], eax + mov eax, ecx + shr eax, 16 + and eax,000000FFh + mov [wayld], eax -shr ecx, 24 -mov [L1d], ecx + shr ecx, 24 + mov [L1d], ecx -movzx eax, dl -mov [lineli], eax + movzx eax, dl + mov [lineli], eax -mov eax, edx + mov eax, edx -shr eax, 16 -and eax,000000FFh -mov [wayli], eax + shr eax, 16 + and eax,000000FFh + mov [wayli], eax -shr edx, 24 -mov [L1i], edx + shr edx, 24 + mov [L1i], edx ;CACHE2: -mov eax, 80000006h - cpuid + mov eax, 80000006h + cpuid -cmp [f], $6 - jz vn - jmp vl2old ; if not then old identification + cmp [f], $6 + jz vn + jmp vl2old ; if not then old identification vn: - cmp [m],$9 - jl vl2old -; else new -movzx eax, cl -mov dword[linel2], eax + cmp [m],$9 + jl vl2old + ; else new + movzx eax, cl + mov dword[linel2], eax -mov eax, ecx -shl eax, 16 -shr eax, 28 + mov eax, ecx + shl eax, 16 + shr eax, 28 -mov dword[wayl2], eax + mov dword[wayl2], eax -shr ecx, 16 ; it is 16 bits now -mov [L2],ecx + shr ecx, 16 ; it is 16 bits now + mov [L2],ecx vl2old: -movzx eax, cl -mov dword[linel2], eax + movzx eax, cl + mov dword[linel2], eax -mov eax, ecx -shl eax, 8 -shr eax, 24 + mov eax, ecx + shl eax, 8 + shr eax, 24 -mov dword[wayl2], eax + mov dword[wayl2], eax -shr ecx, 24 ; it was 8 bits earlier -mov [L2],ecx + shr ecx, 24 ; it was 8 bits earlier + mov [L2],ecx - cmp [f], $5 - jz fivC - cmp [f], $6 - jz sixC + cmp [f], $5 + jz fivC + cmp [f], $6 + jz sixC -fivC: ;Family=5 +fivC: ;Family=5 - mov esi, idt - call load_gif -PutImage 135,107,201,49,img_area+8 -;PutImage 125,107,201,49,img_area+8 -; place size + mov esi, idt + call load_gif + 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 -mov esi, IDTn - mov edi, saveproc + 0x4 - call concatname - cmp [m],$4 - jz .V54 - cmp [m],$8 - jz .V58 - cmp [m],$9 - jz .V59 + Text 75,70,0x00000000,IDTn, IDTnlen-IDTn + mov esi, IDTn + mov edi, saveproc + 0x4 + call concatname + cmp [m],$4 + jz .V54 + cmp [m],$8 + jz .V58 + cmp [m],$9 + jz .V59 .V54: - mov [micron], 35 - mov edx,V54 - mov esi,V54len-V54 - jmp OutProcName + mov [micron], 35 + mov edx,V54 + mov esi,V54len-V54 + jmp OutProcName .V58: - mov [micron], 25 - mov edx,V58 - mov esi,V58len-V58 - jmp OutProcName + mov [micron], 25 + mov edx,V58 + mov esi,V58len-V58 + jmp OutProcName .V59: - mov [micron], 25 - mov edx,V59 - mov esi,V59len-V59 - jmp OutProcName + mov [micron], 25 + mov edx,V59 + mov esi,V59len-V59 + jmp OutProcName -sixC: ;Family=6 +sixC: ;Family=6 - mov esi, via - call load_gif -PutImage 135,107,201,49,img_area+8 + mov esi, via + call load_gif + PutImage 135,107,201,49,img_area+8 -Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn -mov esi, Centaurn - mov edi, saveproc - call concatname - cmp [m],$6 - jz .V66 - cmp [m],$7 - jz .V67 - cmp [m],$8 - jz .V68 - cmp [m],$9 - jz .V69 - cmp [m],$A - jz .V6A + Text 75,70,0x00000000,Centaurn, Centaurnlen-Centaurn + mov esi, Centaurn + mov edi, saveproc + call concatname + cmp [m],$6 + jz .V66 + cmp [m],$7 + jz .V67 + cmp [m],$8 + jz .V68 + cmp [m],$9 + jz .V69 + cmp [m],$A + jz .V6A .V66: - mov [micron], 18 ; 25? - mov edx,V66 - mov esi,V66len-V66 - jmp OutProcName + mov [micron], 18 ; 25? + mov edx,V66 + mov esi,V66len-V66 + jmp OutProcName .V67: - mov [micron], 15 - mov edx,V67 - mov esi,V67len-V67 - jmp OutProcName + mov [micron], 15 + mov edx,V67 + mov esi,V67len-V67 + jmp OutProcName .V68: - mov [micron], 13 - mov edx,V68 - mov esi,V68len-V68 - jmp OutProcName + mov [micron], 13 + mov edx,V68 + mov esi,V68len-V68 + jmp OutProcName .V69: - mov [micron], 13 - mov edx,V69 - mov esi,V69len-V69 - jmp OutProcName + mov [micron], 13 + mov edx,V69 + mov esi,V69len-V69 + jmp OutProcName .V6A: - mov [micron], 9 - mov edx,VA - mov esi,VAlen-VA - jmp OutProcName + mov [micron], 9 + mov edx,VA + mov esi,VAlen-VA + jmp OutProcName ;----------- Transmeta: -Text 15, 190,0x00000000,cache, cachelen-cache + Text 15, 190,0x00000000,cache, cachelen-cache -Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan -mov esi, Tranmsmetan - mov edi, saveproc - call concatname + Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan + mov esi, Tranmsmetan + mov edi, saveproc + call concatname - mov esi, transmeta - call load_gif -PutImage 135,107,201,49,img_area+8 + mov esi, transmeta + call load_gif + PutImage 135,107,201,49,img_area+8 ; cache detection routine - it is the same as for AMD (almost) ;CACHE1: -mov eax, 80000005h - cpuid + mov eax, 80000005h + cpuid -movzx eax, cl -mov [lineld], eax + movzx eax, cl + mov [lineld], eax -mov eax, ecx + mov eax, ecx -shr eax,16 -and eax,000000FFh -mov [wayld], eax + shr eax,16 + and eax,000000FFh + mov [wayld], eax -shr ecx, 24 -mov [L1d], ecx + shr ecx, 24 + mov [L1d], ecx -movzx eax, dl -mov [lineli], eax + movzx eax, dl + mov [lineli], eax -mov eax, edx + mov eax, edx -shr eax, 16 -and eax,000000FFh -mov [wayli], eax + shr eax, 16 + and eax,000000FFh + mov [wayli], eax -shr edx, 24 -mov [L1i], edx + shr edx, 24 + mov [L1i], edx ;CACHE2: -mov eax, 80000006h - cpuid + mov eax, 80000006h + cpuid -movzx eax, cl -mov dword[linel2], eax + movzx eax, cl + mov dword[linel2], eax -mov eax, ecx -shl eax, 16 -shr eax, 28 + mov eax, ecx + shl eax, 16 + shr eax, 28 -mov dword[wayl2], eax + mov dword[wayl2], eax -shr ecx, 16 -mov [L2],ecx + shr ecx, 16 + mov [L2],ecx - cmp [f], $5 - jz .fivt - cmp [f], $F - jz .fift -.fivt: ; Family=5 + cmp [f], $5 + jz .fivt + cmp [f], $F + jz .fift +.fivt: ; Family=5 - mov edx,T5 - mov esi,T5len-T5 - jmp @f + mov edx,T5 + mov esi,T5len-T5 + jmp @f -.fift: ; Family=F - mov edx,TF - mov esi,TFlen-TF +.fift: ; Family=F + mov edx,TF + mov esi,TFlen-TF @@: - mov [micron], 13 ; - Text 140,70,0 - jmp MMXtest + mov [micron], 13 ; + Text 140,70,0 + jmp MMXtest OutProcName: - Text 100,70,0 + Text 100,70,0 ;---- ;---------------------------------- new Vortex: -Text 15, 190,0x00000000,cache, cachelen-cache + Text 15, 190,0x00000000,cache, cachelen-cache - mov esi, vortex - call load_gif -PutImage 135,107,201,49,img_area+8 -;PutImage 130,127,201,49,img_area+8 -; place size + mov esi, vortex + call load_gif + PutImage 135,107,201,49,img_area+8 + ;PutImage 130,127,201,49,img_area+8 + ; place size - cmp [f], $5 - jz .V54 ;fivvtx + cmp [f], $5 + jz .V54 ;fivvtx ;.fivvtx: ;Family=5 -; cmp [m],$4 -; jz .V54 +; cmp [m],$4 +; jz .V54 .V54: - mov [micron], 13 - mov [L1i], 16 - mov [L1d], 16 - mov [L2], 256 - mov [wayl2], 4 - mov [wayli], 4 - mov [wayld], 4 -Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn -mov esi, Vortexn - mov edi, saveproc - call concatname -;Text 110,70,0x00000000,V54, V54len-V54 - jmp MMXtest + mov [micron], 13 + mov [L1i], 16 + mov [L1d], 16 + mov [L2], 256 + mov [wayl2], 4 + mov [wayli], 4 + mov [wayld], 4 + Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn + mov esi, Vortexn + mov edi, saveproc + call concatname + jmp MMXtest ;--------------------- -MMXtest: ; MMX test and Brand ID decoding +MMXtest: ; MMX test and Brand ID decoding -call decodebrand ; get Brand ID + call decodebrand ; get Brand ID -call decode_standard_features + call decode_standard_features -call decode_extended_features - xor eax,eax - inc eax - cpuid + call decode_extended_features + + xor eax,eax + inc eax + cpuid HTTtest: - test edx, $10000000; ;Test bit 28 - jz .ELN + test edx, $10000000; ;Test bit 28 + jz .ELN .EL: ;HTT technology is supported - and ebx,00FF0000h ; numbers of logical processors - cmp ebx, 1 shl 16 - ; mov [number_of_log_cpus], ebx - je .ELN ; HHT not enabled (Celeron) + and ebx,00FF0000h ; numbers of logical processors + cmp ebx, 1 shl 16 + ; mov [number_of_log_cpus], ebx + je .ELN ; HHT not enabled (Celeron) - mov dword [HTTn+9], $736579 - mov dword [HTT+ 6], $736579 - jmp TEXTOUT + mov dword [HTTn+9], $736579 + mov dword [HTT+ 6], $736579 + jmp TEXTOUT .ELN: - mov dword [HTTn+ 9], $6F6E - mov dword [HTT+ 6], $6F6E + mov dword [HTTn+ 9], $6F6E + mov dword [HTT+ 6], $6F6E TEXTOUT: -Text 275,290,0x00000000,HTT, HTTlen-HTT -Text 275,310,,sse3, sse3len-sse3 -Text 15,290,,MMXs, MMXslen-MMXs -Text 15,310,,SSE, SSElen-SSE -Text 95,310,,SSE2, SSE2len-SSE2 + Text 275,290,0x00000000,HTT, HTTlen-HTT + Text 275,310,,sse3, sse3len-sse3 + Text 15,290,,MMXs, MMXslen-MMXs + Text 15,310,,SSE, SSElen-SSE + Text 95,310,,SSE2, SSE2len-SSE2 ;------------------- TEST3DNOW: - xor edx, edx - cmp [smallvendor], 'ntel' -; je @f ;recent change -jne .t + xor edx, edx + cmp [smallvendor], 'ntel' + ; je @f ;recent change + jne .t .t: - mov eax, $80000001 ;// Setup extended function 8000_0001h - cpuid + mov eax, $80000001 ;// Setup extended function 8000_0001h + cpuid - test edx, $80000000 ;// Test bit 31 - jnz .XIT + test edx, $80000000 ;// Test bit 31 + jnz .XIT .NOEXTENDED: ;// 3DNow! technology is supported - mov dword [now+ 9], $6F6E - jmp TEST3DNOWP + mov dword [now+ 9], $6F6E + jmp TEST3DNOWP .XIT: - mov dword [now+ 9], $736579 - jmp TEST3DNOWP + mov dword [now+ 9], $736579 + jmp TEST3DNOWP TEST3DNOWP: - cmp [smallvendor], 'ntel' - je .NOEXTENDEDP + cmp [smallvendor], 'ntel' + je .NOEXTENDEDP .tp: - mov eax, $80000001 ;// Setup extended function 8000_0001h - cpuid + mov eax, $80000001 ;// Setup extended function 8000_0001h + cpuid -test edx, $40000000 ;// Test bit 30 - jnz .XITP ;// 3DNow! technology is supported + test edx, $40000000 ;// Test bit 30 + jnz .XITP ;// 3DNow! technology is supported .NOEXTENDEDP: - mov dword [nowp+ 9], $6F6E - jmp TESTMMXP + mov dword [nowp+ 9], $6F6E + jmp TESTMMXP .XITP: - mov dword [nowp+ 9], $736579 - jmp TESTMMXP + mov dword [nowp+ 9], $736579 + jmp TESTMMXP TESTMMXP: - mov eax,$80000000 - cpuid + mov eax,$80000000 + cpuid - test eax, 80000000h - jna NOEXTENDEDM + test eax, 80000000h + jna NOEXTENDEDM - ;cmp eax, $80000000 ;// Is 800_0001h supported? - ;jz .NOEXTENDEDM ;// If not, 3DNow! technology is not supported - mov eax, $80000001 ;// Setup extended function 8000_0001h - cpuid - cmp [smallvendor], 'tead' - jne noCyr + ;cmp eax, $80000000 ;// Is 800_0001h supported? + ;jz .NOEXTENDEDM ;// If not, 3DNow! technology is not supported + mov eax, $80000001 ;// Setup extended function 8000_0001h + cpuid + cmp [smallvendor], 'tead' + jne noCyr Cyrmx: - test edx, $01000000 ;// Test bit 24 - jnz XITM ;// 3DNow! technology is supported - jz NOEXTENDEDM + test edx, $01000000 ;// Test bit 24 + jnz XITM ;// 3DNow! technology is supported + jz NOEXTENDEDM noCyr: - test edx, $00400000 ;// Test bit 22 - jnz XITM ;// 3DNow! technology is supported - ;jz .NOEXTENDEDM + test edx, $00400000 ;// Test bit 22 + jnz XITM ;// 3DNow! technology is supported + ;jz .NOEXTENDEDM NOEXTENDEDM: - mov dword [mmxp+ 7], $6F6E - mov dword [MMXPi+ 8], $6F6E - jmp text3d + mov dword [mmxp+ 7], $6F6E + mov dword [MMXPi+ 8], $6F6E + jmp text3d XITM: - mov dword [mmxp+ 7], $736579 - mov dword [MMXPi+ 8], $736579 + mov dword [mmxp+ 7], $736579 + mov dword [MMXPi+ 8], $736579 text3d: -Text 15,330,0x00000000,now, nowlen-now -Text 95,330,,nowp, nowplen-nowp -Text 95,290,,mmxp, mmxplen-mmxp + Text 15,330,0x00000000,now, nowlen-now + Text 95,330,,nowp, nowplen-nowp + Text 95,290,,mmxp, mmxplen-mmxp + Text 110,70,0x80000000,dword[cname] -jmp still + jmp still ;-------------------------- NO_CPUID: - mov [nocpuid], 1 - Text 15,50,0x00000000,oblom, oblomlen-oblom + mov [nocpuid], 1 + Text 15,50,0x00000000,oblom, oblomlen-oblom FREEZE: -nop -jmp FREEZE ; maybe we should close application or just made some Warning and jump to still: + nop + jmp FREEZE ; maybe we should close application or just made some Warning and jump to still: ;---------------- still: ; waiting for events event_wait: - ;================_RAM_============== - Number 200,350,0,4,dword [ram_size_a],0xFFFFFF ;Number 200,340,0,4,dword [ram_size_a],0xFFFFFF + mov eax,23 ; function 23 - event wait + mov ebx,50 ; wait for 0.5 second + mcall - mov eax, 18 - mov ebx, 16 - mcall + cmp eax,1 ; + je red ; redraw + cmp eax,2 ; + je key ; key + cmp eax,3 ; + je button ; button + jmp still ; + key: ; + mcall ; + jmp still ; + button: ; + mov eax,17 ; + mcall ; + cmp ah,1 ; = 1 ? + je close ; close - shr eax, 10 + cmp ah,2 ; = 2 ? + je thread_start ; - mov [ram_size_a], eax + cmp ah, 3 + je call_OpenDialog - mov eax, 18 - mov ebx, 17 - mcall + mov eax,11 ; function 23 - event wait + mov ebx,1 + mcall - shr eax, 10 - - mov [ram_size_t], eax - - Text 115,350,0x00000000,ram, ramlen-ram - Number 200,350,0,4,dword [ram_size_a],0x000000 - Number 270,350,,,dword [ram_size_t] - - -;============================== - - mov eax,23 ; function 23 - event wait - mov ebx,50 ; wait for 0.5 second - mcall - - cmp eax,1 ; - je red ; redraw - je red2 - cmp eax,2 ; - je key ; key - cmp eax,3 ; - je button ; button - jmp still ; - key: ; - mcall ; - jmp still ; - button: ; - mov eax,17 ; - mcall ; - cmp ah,1 ; = 1 ? - je close ; close - - cmp ah,2 ; = 2 ? - je thread_start ; - - cmp ah, 3 - je call_OpenDialog - - mov eax,11 ; function 23 - event wait - mov ebx,1 - mcall - - mov eax,15 ; function 23 - event wait - mov ebx,3 - mcall + mov eax,15 ; function 23 - event wait + mov ebx,3 + mcall ; cmp ah,3 ; = 3 ? - jne still + jne still close: - mov eax,-1 - mcall + mov eax,-1 + mcall ;**************************** THREAD-SECOND WINDOW thread_start: - cmp [num_win2],0 - - jne still + cmp [num_win2],0 + jne still ;================================================RSA test ;test rsa coding speed - call init_test + call init_test ;length of module - 256 bit - mov eax,26 - mov ebx,9 - mcall - add eax,100 ;test lasts 1 second. - push eax + mov eax,26 + mov ebx,9 + mcall + add eax,100 ;test lasts 1 second. + push eax .loop: - push 4 ;do 4 iterations - this reduces number of calls mcall. + push 4 ;do 4 iterations - this reduces number of calls mcall. .loop1: - call rsa_test ;this procedure change all registers - dec dword [esp] - jnz .loop1 - pop ecx - mov eax,26 - mov ebx,9 - mcall - cmp eax,dword [esp] ;Is time changed? - jl .loop - pop eax - shr dword [iter],4 ;[iter] - speed in Kb/sec. (every iteration codes 64 bytes) -CreateTread window_2,thread2_esp - jmp still + call rsa_test ;this procedure change all registers + dec dword [esp] + jnz .loop1 + pop ecx + mov eax,26 + mov ebx,9 + mcall + cmp eax,dword [esp] ;Is time changed? + jl .loop + pop eax + shr dword [iter],4 ;[iter] - speed in Kb/sec. (every iteration codes 64 bytes) + CreateTread window_2,thread2_esp + jmp still window_2: - mov [num_win2],1 - call draw_window_2 + mov [num_win2],1 + call draw_window_2 still_2: - mov eax,10 - mcall + mov eax,10 + mcall - cmp eax,1 - je window_2 ; window_2 - cmp eax,2 ; - je key_2 ; key_2 - cmp eax,3 ; - je button_2 ; button_2 + cmp eax,1 + je window_2 ; window_2 + cmp eax,2 ; + je key_2 ; key_2 + cmp eax,3 ; + je button_2 ; button_2 - jmp still_2 ; + jmp still_2 ; - key_2: ; - mcall ; - jmp still_2 ; + key_2: ; + mcall ; + jmp still_2 ; - button_2: ; - mov eax,17 ; 17 - mcall ; + button_2: ; + mov eax,17 ; 17 + mcall ; - cmp ah,1 ; = 1 ? - jne still_2 ; noclose + cmp ah,1 ; = 1 ? + jne still_2 ; noclose - mov [num_win2],0 ; + mov [num_win2],0 ; - or eax,-1 ; - mcall + or eax,-1 ; + mcall draw_window_2: - ;call prepare_text_area + ;call prepare_text_area - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,1h ; 1, start of draw - mcall + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1h ; 1, start of draw + mcall -Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard ;460 -; place size + Window 250,250,420,520, 0x33FFFFFF, 0x805080d0, standard ;460 + ; place size -Text 15, 10,0x00000000, STDCA, STDCAlen-STDCA -Text 215, 10,, EXTCA, EXTCAlen-EXTCA + Text 15, 10,0x00000000, STDCA, STDCAlen-STDCA + Text 215, 10,, EXTCA, EXTCAlen-EXTCA -Text 15, 30,0x00000000, FPU, FPUlen-FPU -Text 115, 30,, VME, VMElen-VME -Text 215, 30,, DE, DElen-DE -Text 315, 30,, PSE, PSElen-PSE + Text 15, 30,0x00000000, FPU, FPUlen-FPU + Text 115, 30,, VME, VMElen-VME + Text 215, 30,, DE, DElen-DE + Text 315, 30,, PSE, PSElen-PSE -Text 15, 50,,TSC, TSClen-TSC -Text 115,50,,MSR, MSRlen-MSR -Text 215,50,,PAE, PAElen-PAE -Text 315,50,,MCE, MCElen-MCE + Text 15, 50,,TSC, TSClen-TSC + Text 115,50,,MSR, MSRlen-MSR + Text 215,50,,PAE, PAElen-PAE + Text 315,50,,MCE, MCElen-MCE -Text 15,70,,CX8, CX8len-CX8 -Text 115,70,,APIC, APIClen-APIC -Text 215,70,,Res, Reslen-Res -Text 315,70,,SEP, SEPlen-SEP + Text 15,70,,CX8, CX8len-CX8 + Text 115,70,,APIC, APIClen-APIC + Text 215,70,,Res, Reslen-Res + Text 315,70,,SEP, SEPlen-SEP -Text 15,90,,MTRR, MTRRlen-MTRR -Text 115,90,,PGE, PGElen-PGE -Text 215,90,,MCA, MCAlen-MCA -Text 315,90,,CMOV, CMOVlen-CMOV + Text 15,90,,MTRR, MTRRlen-MTRR + Text 115,90,,PGE, PGElen-PGE + Text 215,90,,MCA, MCAlen-MCA + Text 315,90,,CMOV, CMOVlen-CMOV -Text 15,110,,PAT, PATlen-PAT -Text 115,110,,PSE36, PSE36len-PSE36 -Text 215,110,,PSNUM, PSNUMlen-PSNUM -Text 315,110,,CLFLUSHn, CLFLUSHnlen-CLFLUSHn + Text 15,110,,PAT, PATlen-PAT + Text 115,110,,PSE36, PSE36len-PSE36 + Text 215,110,,PSNUM, PSNUMlen-PSNUM + Text 315,110,,CLFLUSHn, CLFLUSHnlen-CLFLUSHn -Text 15,130,,Res, Reslen-Res -Text 115,130,,DTS, DTSlen-DTS -Text 215,130,,ACPI, ACPIlen-ACPI -Text 315,130,,MMX, MMXlen-MMX + Text 15,130,,Res, Reslen-Res + Text 115,130,,DTS, DTSlen-DTS + Text 215,130,,ACPI, ACPIlen-ACPI + Text 315,130,,MMX, MMXlen-MMX -Text 15,150,,FXSR, FXSRlen-FXSR -Text 115,150,,SSE, SSElen-SSE -Text 215,150,,SSE2, SSE2len-SSE2 -Text 315,150,,SSn, SSnlen-SSn + Text 15,150,,FXSR, FXSRlen-FXSR + Text 115,150,,SSE, SSElen-SSE + Text 215,150,,SSE2, SSE2len-SSE2 + Text 315,150,,SSn, SSnlen-SSn -Text 15,170,,HTT, HTTnlen-HTTn -Text 115,170,,TM, TMlen-TM -Text 215,170,,IA64, IA64len-IA64 -Text 315,170,,PBE, PBElen-PBE -;--------------- -DrawLine 0, 410, 185,185,0x8080FF ;10 + Text 15,170,,HTT, HTTnlen-HTTn + Text 115,170,,TM, TMlen-TM + Text 215,170,,IA64, IA64len-IA64 + Text 315,170,,PBE, PBElen-PBE + ;--------------- + DrawLine 0, 410, 185,185,0x8080FF ;10 -mov eax,$80000000 -cpuid -;mov eax, $03020101 \A0for test of reaction -test eax, eax -js goooddd + mov eax,$80000000 + cpuid + ;mov eax, $03020101 \A0for test of reaction + test eax, eax + js goooddd baaadd: -Text 95,235,0x00000000,NEF, NEFlen-NEF -jmp too + Text 95,235,0x00000000,NEF, NEFlen-NEF + jmp too goooddd: -Text 15,195,0x00000000,SS3, SS3len-SS3 -Text 15,215,,MON, MONlen-MON -Text 15,235,,DS_CPL, DS_CPLlen-DS_CPL -Text 15,255,,EST, ESTlen-EST -Text 15,275,,TM2, TM2len-TM2 -Text 15,295,,VMX, VMXlen-VMX -Text 15,315,,SVM, SVMlen-SVM + Text 15,195,0x00000000,SS3, SS3len-SS3 + Text 15,215,,MON, MONlen-MON + Text 15,235,,DS_CPL, DS_CPLlen-DS_CPL + Text 15,255,,EST, ESTlen-EST + Text 15,275,,TM2, TM2len-TM2 + Text 15,295,,VMX, VMXlen-VMX + Text 15,315,,SVM, SVMlen-SVM -Text 15,355,0x00000000,SMX, SMXlen-SMX -Text 15,335,0x00000000,PAGE, PAGElen-PAGE -Text 15,375,0x00000000,MIS, MISlen-MIS -Text 115,355,0x00000000,WDT, WDTlen-WDT + Text 15,355,0x00000000,SMX, SMXlen-SMX + Text 15,335,0x00000000,PAGE, PAGElen-PAGE + Text 15,375,0x00000000,MIS, MISlen-MIS + Text 115,355,0x00000000,WDT, WDTlen-WDT -Text 115,195,,CNXT_ID, CNXT_IDlen-CNXT_ID -Text 115,215,,CX16, CX16len-CX16 -Text 115,235,,ETPRD, ETPRDlen-ETPRD -Text 115,255,,SYS, SYSlen-SYS -Text 115,275,,LAF, LAFlen-LAF -Text 115,295,,SSSE3, SSSE3len-SSSE3 -Text 115,315,,MCR8, MCR8len-MCR8 + Text 115,195,,CNXT_ID, CNXT_IDlen-CNXT_ID + Text 115,215,,CX16, CX16len-CX16 + Text 115,235,,ETPRD, ETPRDlen-ETPRD + Text 115,255,,SYS, SYSlen-SYS + Text 115,275,,LAF, LAFlen-LAF + Text 115,295,,SSSE3, SSSE3len-SSSE3 + Text 115,315,,MCR8, MCR8len-MCR8 -Text 115,335,0x00000000,EAS, EASlen-EAS + Text 115,335,0x00000000,EAS, EASlen-EAS -Text 115,375,0x00000000,DNP, DNPlen-DNP + Text 115,375,0x00000000,DNP, DNPlen-DNP -Text 315,375,0x00000000,SSE5, SSE5len-SSE5 + Text 315,375,0x00000000,SSE5, SSE5len-SSE5 -Text 215,195,,MP, MPlen-MP -Text 215,215,,NX, NXlen-NX -Text 215,235,,MMXPi, MMXPilen-MMXPi -Text 215,255,,MMXn, MMXnlen-MMXn -Text 215,275,,FXSRn, FXSRnlen-FXSRn -Text 215,295,,DCA,DCAlen-DCA + Text 215,195,,MP, MPlen-MP + Text 215,215,,NX, NXlen-NX + Text 215,235,,MMXPi, MMXPilen-MMXPi + Text 215,255,,MMXn, MMXnlen-MMXn + Text 215,275,,FXSRn, FXSRnlen-FXSRn + Text 215,295,,DCA,DCAlen-DCA -Text 315,295,0x00000000,SSE41,SSE41len-SSE41 -Text 215,335,0x00000000,x2APIC,x2APIClen-x2APIC -Text 215,355,0x00000000,ABM,ABMlen-ABM -Text 215,375,0x00000000,OSVW,OSVWlen-OSVW + Text 315,295,0x00000000,SSE41,SSE41len-SSE41 + Text 215,335,0x00000000,x2APIC,x2APIClen-x2APIC + Text 215,355,0x00000000,ABM,ABMlen-ABM + Text 215,375,0x00000000,OSVW,OSVWlen-OSVW -Text 315,195,,FFXSR, FFXSRlen-FFXSR -Text 315,215,,TSCP, TSCPlen-TSCP -Text 315,235,,LM, LMlen-LM -Text 315,255,,DNo, DNolen-DNo -Text 315,275,,DN, DNlen-DN -Text 215,315,,CMPL, CMPLlen-CMPL -Text 315,315,0x00000000,SS42,SS42len-SS42 -Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT -Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A -Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_ + Text 315,195,,FFXSR, FFXSRlen-FFXSR + Text 315,215,,TSCP, TSCPlen-TSCP + Text 315,235,,LM, LMlen-LM + Text 315,255,,DNo, DNolen-DNo + Text 315,275,,DN, DNlen-DN + Text 215,315,,CMPL, CMPLlen-CMPL + Text 315,315,0x00000000,SS42,SS42len-SS42 + Text 315,335,0x00000000,PPCNT,PPCNTlen-PPCNT + Text 315,295,0x00000000,SSE4A,SSE4Alen-SSE4A + Text 315,355,0x00000000,SKINIT_,SKINIT_len-SKINIT_ too: -DrawLine 10, 400, 430,430,0x8080FF ;10 + DrawLine 10, 400, 430,430,0x8080FF ;10 -Text 15,415,0x00000000,speed, speedlen-speed -Text 130,415,,kbpersec, kbperseclen-kbpersec + Text 15,415,0x00000000,speed, speedlen-speed + Text 130,415,,kbpersec, kbperseclen-kbpersec -DrawLine 10, 80, 400, 400, 0x8080FF + DrawLine 10, 80, 400, 400, 0x8080FF - Text 90,400,0x80000000,performancestr, 0 -DrawLine 322, 400, 400, 400, 0x8080FF -DrawLine 10, 10, 400, 490, 0x8080FF -DrawLine 400, 400, 400, 490, 0x8080FF + Text 90,400,0x80000000,performancestr, 0 + DrawLine 322, 400, 400, 400, 0x8080FF + DrawLine 10, 10, 400, 490, 0x8080FF + DrawLine 400, 400, 400, 490, 0x8080FF -DrawLine 10, 400, 490, 490, 0x8080FF + DrawLine 10, 400, 490, 490, 0x8080FF - ; your proc - Text 20,415,0x808080FF,currentcpu, 0 - Number 170,415,0,5,dword [iter],0x000000 ; + 15 - ;Text 115,370,,kbpersec, kbperseclen-kbpersec ;+ 355 - mov eax, dword[iter] - ;mov ebx, 100 - ;mul ebx - add eax, 215 - mov word[linelen], ax ; need to store it as drawline corrupts eax - DrawLine 215, [linelen], 416,416,0x8080FF ;10 + 355 , 357 - DrawLine 215, [linelen], 417,417,0x8080FF ;10 - DrawLine 215, [linelen], 418,418,0x8080FF ;10 - ;;; DrawLine 20, 390, 371,371,0x8080FF ;10 + ; your proc + Text 20,415,0x808080FF,currentcpu, 0 + Number 170,415,0,5,dword [iter],0x000000 ; + 15 + ;Text 115,370,,kbpersec, kbperseclen-kbpersec ;+ 355 + mov eax, dword[iter] + ;mov ebx, 100 + ;mul ebx + add eax, 215 + mov word[linelen], ax ; need to store it as drawline corrupts eax + DrawLine 215, [linelen], 416,416,0x8080FF ;10 + 355 , 357 + DrawLine 215, [linelen], 417,417,0x8080FF ;10 + DrawLine 215, [linelen], 418,418,0x8080FF ;10 +;;; DrawLine 20, 390, 371,371,0x8080FF ;10 - ; sample proc 1 - Text 20,435,0x80000000,samplename1,0 ; 10 + 40 + 40 +40 + 380 - Number 170,435,0,5,dword [samplespeed1],0x000000; ; 25 + 40 + 40 +40 + 380 - ;Text 115,470,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 +40 + 380 - mov eax, dword[samplespeed1] - add eax, 215 - mov dword[linelen], eax ; need to store it as drawline corrupts eax - DrawLine 215, [linelen], 436,436,0x8080FF ;27+40 + 40 +40 + 380 - DrawLine 215, [linelen], 437,437,0x8080FF ;10 - DrawLine 215, [linelen], 438,438,0x8080FF ;10 + ; sample proc 1 + Text 20,435,0x80000000,samplename1,0 ; 10 + 40 + 40 +40 + 380 + Number 170,435,0,5,dword [samplespeed1],0x000000; ; 25 + 40 + 40 +40 + 380 + ;Text 115,470,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 +40 + 380 + mov eax, dword[samplespeed1] + add eax, 215 + mov dword[linelen], eax ; need to store it as drawline corrupts eax + DrawLine 215, [linelen], 436,436,0x8080FF ;27+40 + 40 +40 + 380 + DrawLine 215, [linelen], 437,437,0x8080FF ;10 + DrawLine 215, [linelen], 438,438,0x8080FF ;10 - ; sample proc 2 - Text 20,455,0x80000000,samplename2,0 ; 10 + 40 + 350 - Number 170,455,0,5,dword [samplespeed2],0x000000; ; 25 + 40 + 350 - ;Text 115,410,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 350 - mov eax, dword[samplespeed2] - add eax, 215 - mov dword[linelen], eax ; need to store it as drawline corrupts eax - DrawLine 215, [linelen], 456,456,0x8080FF ;27+40 + 355 - DrawLine 215, [linelen], 457,457,0x8080FF ;10 - DrawLine 215, [linelen], 458,458,0x8080FF ;10 + ; sample proc 2 + Text 20,455,0x80000000,samplename2,0 ; 10 + 40 + 350 + Number 170,455,0,5,dword [samplespeed2],0x000000; ; 25 + 40 + 350 + ;Text 115,410,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 350 + mov eax, dword[samplespeed2] + add eax, 215 + mov dword[linelen], eax ; need to store it as drawline corrupts eax + DrawLine 215, [linelen], 456,456,0x8080FF ;27+40 + 355 + DrawLine 215, [linelen], 457,457,0x8080FF ;10 + DrawLine 215, [linelen], 458,458,0x8080FF ;10 - ; sample proc 3 - Text 20,475,0x80000000,samplename3,0 ; 10 + 40 + 40 + 38 - Number 170,475,0,5,dword [samplespeed3],0x000000; ; 25 + 40 + 40 + 355 - ;Text 115,440,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 + 380 - mov eax, dword[samplespeed3] - add eax, 215 - mov dword[linelen], eax ; need to store it as drawline corrupts eax - DrawLine 215, [linelen], 476,476,0x8080FF ;27+40 + 40 - DrawLine 215, [linelen], 477,477,0x8080FF ;10 - DrawLine 215, [linelen], 478,478,0x8080FF ;10 + ; sample proc 3 + Text 20,475,0x80000000,samplename3,0 ; 10 + 40 + 40 + 38 + Number 170,475,0,5,dword [samplespeed3],0x000000; ; 25 + 40 + 40 + 355 + ;Text 115,440,0,kbpersec, kbperseclen-kbpersec ; 25 + 40 + 40 + 380 + mov eax, dword[samplespeed3] + add eax, 215 + mov dword[linelen], eax ; need to store it as drawline corrupts eax + DrawLine 215, [linelen], 476,476,0x8080FF ;27+40 + 40 + DrawLine 215, [linelen], 477,477,0x8080FF ;10 + DrawLine 215, [linelen], 478,478,0x8080FF ;10 - mov eax,12 - mov ebx,2h - mcall + mov eax,12 + mov ebx,2h + mcall - ret + ret linelen dd 0 currentcpu db 'Current CPU',0 @@ -2315,773 +2275,754 @@ performancestr db 'PERFORMANCE (KB/S in RSA test 256 bit)',0 ptsstring db '' num_win2 db 0 -; ******* main window ******* - draw_window: - mov eax,12 - mov ebx,1h - mcall + mcall SF_REDRAW, SSF_BEGIN_DRAW - Window 150,150,350,430, 0x34FFFFFF, 0x805080d0, title - ; place size + Window 150, 150, 350, 405, 0x34FFFFFF, 0x805080d0, title - Button 15,345,92,23,2+0x40000000,0x03FFFFFF ; button "press for more" + mov esi, [sc.work_button] + DefineButton 138, 345, 92, 24, 2, + DefineButton 238, 345, 92, 24, 3, - mov esi, knopka - mov edi, img_area2 - call ReadGIF -PutImage 15,345,93,24,img_area2+8 ; image "press for more" -; place size + mov ecx, [sc.work_button_text] + or ecx, 0x90000000 + mov edx, btn_more_cap + mcall SF_DRAW_TEXT, (138 + (92 - 7 * 8) / 2) shl 16 + 350 + mov edx, btn_save_cap + mcall SF_DRAW_TEXT, (238 + (92 - 4 * 8) / 2) shl 16 + 350 + Text 130,270,0x00000000,instruct, instructlen-instruct + DrawLine 10, 330, 340,340,0x8080FF + DrawLine 330, 330, 275,340;,0x8080FF + DrawLine 10, 10, 275,340;,0x8080FF + DrawLine 10, 125, 275,275;,0x8080FF + DrawLine 230, 330, 275,275;,0x8080FF - Button 15,380,92,23,3+0x40000000,0x03FFFFFF ; button "save" + cmp dword[smallvendor], 'cAMD' + jne cont + cmp [f], $6 + jne cont - mov esi, knopka2 - mov edi, img_area3 - call ReadGIF - PutImage 15,380,93,24,img_area3+8 ; image "save" -; place size +; Button 240,85,69,15,3,0x030000FF ; button for rating +; Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button - mov eax,12 - mov ebx,2h - mcall + call newrating; !!!! - Text 130,270,0x00000000,instruct, instructlen-instruct - DrawLine 10, 330, 340,340,0x8080FF - DrawLine 330, 330, 275,340;,0x8080FF - DrawLine 10, 10, 275,340;,0x8080FF - DrawLine 10, 125, 275,275;,0x8080FF - DrawLine 230, 330, 275,275;,0x8080FF +cont: + ;Number 82,50,0,4,dword [total],0x000000; MHz + mov esi, total + mov edi, tsum + 0xB ;0xA + call savenumber - cmp dword[smallvendor], 'cAMD' - jne cont - cmp [f], $6 - jne cont + ;Number 110,50,0,2,dword [sot]; KHz + mov esi, sot + mov edi, tsum + 0x10 + call savenumber -; Button 240,85,69,15,3,0x030000FF ; button for rating -; Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button + ;Number 75,110,1*256,1,dword [f],0x000000 ; + mov esi, f + mov edi, fam + 0x8 ;0x9 + call savenumber - call newrating; !!!! + ;Number 75,130,,,dword [m] + mov esi, m + mov edi, mode + 0x7 + call savenumber - cont: - Text 15,50,0x00000000,tsum, tsumlen-tsum ; + ;Number 75,150,,,dword [s] + mov esi, s + mov edi, step + 0xa ;0x9 + call savenumber -;Number 82,50,0,4,dword [total],0x000000; MHz - mov esi, total - mov edi, tsum + 0xB ;0xA - call savenumber + ;Number 110,110,1*256,2,dword [ef] + mov esi, ef + mov edi, fam + 0xE ;0x9 + call savenumber - ;Number 110,50,0,2,dword [sot]; KHz - mov esi, sot - mov edi, tsum + 0x10 - call savenumber + ;Number 110,130,,,dword [em] + mov esi, em + mov edi, mode + 0xE ;0xD + call savenumber - ;Number 75,110,1*256,1,dword [f],0x000000 ; - mov esi, f - mov edi, fam + 0x8 ;0x9 - call savenumber + mov esi, multb + mov edi, multil + 0xB + call savenumber - ;Number 75,130,,,dword [m] - mov esi, m - mov edi, mode + 0x7 - call savenumber + ;Number 105,30,0,1,dword [multa] + mov esi, multa + mov edi, multil + 0xf + call savenumber - ;Number 75,150,,,dword [s] - mov esi, s - mov edi, step + 0xa ;0x9 - call savenumber + ;Number 140,170,0,2,dword [wayld],0x000000 + mov esi, wayld + mov edi, cache2 + 0x14 ;0x14 + call savenumber - ;Number 110,110,1*256,2,dword [ef] - mov esi, ef - mov edi, fam + 0xE ;0x9 - call savenumber + ;Number 218,170,,,dword [lineld] + mov esi, lineld + mov edi, cache2 + 0x21 + call savenumber - ;Number 110,130,,,dword [em] - mov esi, em - mov edi, mode + 0xE ;0xD - call savenumber + ;Number 140,190,,,dword [wayli] + mov esi, wayli + mov edi, cache + 0x14 + call savenumber + ;Number 218,190,,,dword [lineli] + mov esi, lineli + mov edi, cache + 0x21 + call savenumber - mov esi, multb - mov edi, multil + 0xB - call savenumber + ;Number 140,210,,,dword [wayl2] + mov esi, wayl2 + mov edi, cache3 + 0x14 + call savenumber + ;Number 218,210,,,dword [linel2] + mov esi, linel2 + mov edi, cache3 + 0x21 + call savenumber - ;Number 105,30,0,1,dword [multa] - mov esi, multa - mov edi, multil + 0xf - call savenumber + ;Number 140,230,,,dword [wayl3] + mov esi, wayl3 + mov edi, cache4 + 0x14 + call savenumber + ;Number 218,230,,,dword [linel3] + mov esi, linel3 + mov edi, cache4 + 0x21 + call savenumber - ;Number 140,170,0,2,dword [wayld],0x000000 - mov esi, wayld - mov edi, cache2 + 0x14 ;0x14 - call savenumber + mov esi, L1d + mov edi, cache2 + 0xa + call savenumber - ;Number 218,170,,,dword [lineld] - mov esi, lineld - mov edi, cache2 + 0x21 - call savenumber + ;Number 75,190,,,dword [ L1i] + mov esi, L1i + mov edi, cache + 0xa + call savenumber - ;Number 140,190,,,dword [wayli] - mov esi, wayli - mov edi, cache + 0x14 - call savenumber - ;Number 218,190,,,dword [lineli] - mov esi, lineli - mov edi, cache + 0x21 - call savenumber + ;Number 41,210,0,4,dword[L2] + mov esi, L2 + mov edi, cache3 + 0x4 ;0x3 + call savenumber - ;Number 140,210,,,dword [wayl2] - mov esi, wayl2 - mov edi, cache3 + 0x14 - call savenumber - ;Number 218,210,,,dword [linel2] - mov esi, linel2 - mov edi, cache3 + 0x21 - call savenumber + ;Number 35,230,0,5,dword[L3] + mov esi, L3 + mov edi, cache4 + 0x4 ;0x3 + call savenumber - ;Number 140,230,,,dword [wayl3] - mov esi, wayl3 - mov edi, cache4 + 0x14 - call savenumber - ;Number 218,230,,,dword [linel3] - mov esi, linel3 - mov edi, cache4 + 0x21 - call savenumber + ;-----------Features + ;Number 258,50,0,2,dword [micron] ; micron + mov esi, micron + mov edi, tech + 0xE + call savenumber - mov esi, L1d - mov edi, cache2 + 0xa - call savenumber + mov esi, stdc + mov edi, STDCA + 0x14 + call savenumber -;Number 75,190,,,dword [ L1i] - mov esi, L1i - mov edi, cache + 0xa - call savenumber + ;Number 335,10,,,dword [extc], + mov esi, extc + mov edi, EXTCA + 0x14 + call savenumber -;Number 41,210,0,4,dword[L2] - mov esi, L2 - mov edi, cache3 + 0x4 ;0x3 - call savenumber - -;Number 35,230,0,5,dword[L3] - mov esi, L3 - mov edi, cache4 + 0x4 ;0x3 - call savenumber - -;-----------Features -;Number 258,50,0,2,dword [micron] ; micron - mov esi, micron - mov edi, tech + 0xE - call savenumber - - mov esi, stdc - mov edi, STDCA + 0x14 - call savenumber - -;Number 335,10,,,dword [extc], - mov esi, extc - mov edi, EXTCA + 0x14 - call savenumber - - Text 15,90,,cpuname, cpunamelen-cpuname; - Text 255,250,,typen, typenlen-typen - Text 175, 50,,tech, techlen-tech; + Text 15,90,,cpuname, cpunamelen-cpuname; + Text 255,250,,typen, typenlen-typen + Text 175, 50,,tech, techlen-tech; red2: ;;;;;;;;;;;;;;;;;;;;;;;; goon: - call decodebrand + call decodebrand typedetect: - mov edx, t1 - cmp [t], 00b - jz @f - mov edx, t2 - cmp [t], 01b - jz @f - mov edx, t3 - cmp [t], 11b - jz @f - mov edx, t4 + mov edx, t1 + cmp [t], 00b + jz @f + mov edx, t2 + cmp [t], 01b + jz @f + mov edx, t3 + cmp [t], 11b + jz @f + mov edx, t4 @@: - mov ebx, 290*65536 + 250 - mov ecx, 0x80000000 - mcall 4 + mov ebx, 290*65536 + 250 + mov ecx, 0x80000000 + mcall 4 - Text 15,250,,brandid, brandidlen-brandid + Text 15,250,,brandid, brandidlen-brandid - Text 15,110,0x00000000,fam, famlen-fam - Text 15,130,0x00000000,mode, modelen-mode - Text 15,150,0x00000000,step, steplen-step + Text 15,50,0x00000000,tsum, tsumlen-tsum + Text 15,110,0x00000000,fam, famlen-fam + Text 15,130,0x00000000,mode, modelen-mode + Text 15,150,0x00000000,step, steplen-step - Text 275,290,0x00000000,HTT, HTTlen-HTT - Text 275,310,,sse3, sse3len-sse3 + Text 275,290,0x00000000,HTT, HTTlen-HTT + Text 275,310,,sse3, sse3len-sse3 - Text 175,290,0x00000000,SSE41, SSE41len-SSE41 - Text 175,310,0x00000000,SSE42, SSE42len-SSE42 - Text 175,330,0x00000000,SSE5, SSE5len-SSE5 + Text 175,290,0x00000000,SSE41, SSE41len-SSE41 + Text 175,310,0x00000000,SSE42, SSE42len-SSE42 + Text 175,330,0x00000000,SSE5, SSE5len-SSE5 - Text 15,70,,name, namelen-name - Text 15,290,,MMXs, MMXslen-MMXs - Text 15,310,,SSE, SSElen-SSE - Text 95,310,,SSE2, SSE2len-SSE2 + Text 15,70,,name, namelen-name + Text 15,290,,MMXs, MMXslen-MMXs + Text 15,310,,SSE, SSElen-SSE + Text 95,310,,SSE2, SSE2len-SSE2 - Text 95,290,,mmxp, mmxplen-mmxp - Text 15,330,0x00000000,now, nowlen-now - Text 95,330,,nowp, nowplen-nowp + Text 95,290,,mmxp, mmxplen-mmxp + Text 15,330,0x00000000,now, nowlen-now + Text 95,330,,nowp, nowplen-nowp - Text 115,350,0x00000000,ram, ramlen-ram - Number 200,350,0,4,dword [ram_size_a],0x000000 + Text 15, 190,0x00000000,cache, cachelen-cache + Text 15,170,0x00000000,cache2, cache2len-cache2 + Text 15,210,,cache3, cache3len-cache3 + Text 15,230,,cache4, cache4len-cache4 + call load_gif - Number 270,350,0,4,dword [ram_size_t] - Text 300,350,0x00000000,mb, mblen-mb + cmp [nomultiplier], $1 + je nomultip + Text 15,30,0x00000000,multil2, multil2len-multil2 + Text 175,30,0x00000000,freql2, freql2len-freql2 + Number 85,30,0,2,dword [multb],0x000000; + Number 105,30,0,1,dword [multa] + Number 259,30,0,4,dword [freqbb] + Number 289,30,0,2,dword [freqll] - Text 15, 190,0x00000000,cache, cachelen-cache - Text 15,170,0x00000000,cache2, cache2len-cache2 - Text 15,210,,cache3, cache3len-cache3 - Text 15,230,,cache4, cache4len-cache4 - Text 110,70,0x00000000,dword[cname], 40 - call load_gif - - cmp [nomultiplier], $1 - je nomultip -Text 15,30,0x00000000,multil2, multil2len-multil2 -Text 175,30,0x00000000,freql2, freql2len-freql2 -Number 85,30,0,2,dword [multb],0x000000; -Number 105,30,0,1,dword [multa] -Number 259,30,0,4,dword [freqbb] -Number 289,30,0,2,dword [freqll] - - JumpForCodename: - cmp [codeN], $1 - je codeNIntel - cmp [codeN], $2 - je codeNAMD - cmp [codeN], $3 - je codeNCyrix - cmp [codeN], $4 - je codeNCentaur - cmp [codeN],$5 - je codeNTransmeta - cmp [codeN], $6 - je codeNVortex +JumpForCodename: + cmp [codeN], $1 + je codeNIntel + cmp [codeN], $2 + je codeNAMD + cmp [codeN], $3 + je codeNCyrix + cmp [codeN], $4 + je codeNCentaur + cmp [codeN],$5 + je codeNTransmeta + cmp [codeN], $6 + je codeNVortex + jmp nnn codeNIntel: -Text 75,70,0x00000000,Inteln, Intelnlen-Inteln -mov esi, intel -call load_gif -PutImage 135,107,201,49,img_area+8 -jmp nnn + Text 75,70,0x00000000,Inteln, Intelnlen-Inteln + mov esi, intel + call load_gif + PutImage 135,107,201,49,img_area+8 + jmp nnn codeNAMD: -Text 75,70,,AMDn, AMDnlen-AMDn -mov esi, amd -call load_gif -PutImage 135,107,201,49,img_area+8 -jmp nnn + Text 75,70,,AMDn, AMDnlen-AMDn + mov esi, amd + call load_gif + PutImage 135,107,201,49,img_area+8 + jmp nnn codeNCyrix: -Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn -mov esi, cyrix -call load_gif -PutImage 135,107,201,49,img_area+8 -jmp nnn + Text 75,70,0x00000000,Cyrixn, Cyrixnlen-Cyrixn + mov esi, cyrix + call load_gif + PutImage 135,107,201,49,img_area+8 + jmp nnn codeNCentaur: -Text 75,70,0x00000000,IDTn, IDTnlen-IDTn -mov esi, idt -call load_gif -PutImage 135,107,201,49,img_area+8 -jmp nnn + Text 75,70,0x00000000,IDTn, IDTnlen-IDTn + mov esi, idt + call load_gif + PutImage 135,107,201,49,img_area+8 + jmp nnn codeNTransmeta: -Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan -mov esi, transmeta -call load_gif -PutImage 135,107,201,49,img_area+8 -jmp nnn + Text 75,70,,Tranmsmetan, Tranmsmetanlen-Tranmsmetan + mov esi, transmeta + call load_gif + PutImage 135,107,201,49,img_area+8 + jmp nnn codeNVortex: -Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn -mov esi, vortex -call load_gif -PutImage 135,107,201,49,img_area+8 -jmp nnn + Text 75,70,0x00000000,Vortexn, Vortexnlen-Vortexn + mov esi, vortex + call load_gif + PutImage 135,107,201,49,img_area+8 + jmp nnn nomultip: -Text 15,30,0x00000000,multi3, multi3len-multi3 -Text 175,30,0x00000000,freql3, freql3len-freql3 -Text 259,30,0x00000000, clock0, clock0len-clock0 + Text 15,30,0x00000000,multi3, multi3len-multi3 + Text 175,30,0x00000000,freql3, freql3len-freql3 + Text 259,30,0x00000000, clock0, clock0len-clock0 -jmp JumpForCodename + jmp JumpForCodename nnn: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - Text 15,10,0x00000000,stm, stmlen-stm -; Fix for deleting leading whitespaces -; in Intel P4's internal name -; by Madis Calme -; 23.12.2004 ver. 0.81 - cld - mov edi,myname - mov al,20h - or ecx,-1 - repe scasb - dec edi - mov esi,mynamelen - sub esi,edi - Text 105, 10, 0x00000000, edi, esi + Text 15,10,0x00000000,stm, stmlen-stm + ; Fix for deleting leading whitespaces + ; in Intel P4's internal name + ; by Madis Calme + ; 23.12.2004 ver. 0.81 + cld + mov edi,myname + mov al,20h + or ecx,-1 + repe scasb + dec edi + mov esi,mynamelen + sub esi,edi + Text 105, 10, 0x00000000, edi, esi ;- -Text 15,250,,brandid, brandidlen-brandid + Text 15,250,,brandid, brandidlen-brandid - ret ; + mcall SF_REDRAW, SSF_END_DRAW + + ret ; call_OpenDialog: - mov [OpenDialog_data.type],1 ; Save + mov [OpenDialog_data.type],1 ; Save - push dword OpenDialog_data - call [OpenDialog_Start] + push dword OpenDialog_data + call [OpenDialog_Start] - cmp [OpenDialog_data.status],2 ; OpenDialog does not start - je .save_file_default_path + cmp [OpenDialog_data.status],2 ; OpenDialog does not start + je .save_file_default_path - cmp [OpenDialog_data.status],1 - jne still + cmp [OpenDialog_data.status],1 + jne still - call store_data - jmp still + call store_data + jmp still .save_file_default_path: - mov edi,file_name - mov esi,file_default_path - call copy_file_name_path - call store_data - jmp still + mov edi,file_name + mov esi,file_default_path + call copy_file_name_path + call store_data + jmp still copy_file_name_path: - xor eax,eax - cld + xor eax,eax + cld @@: - lodsb - stosb - test eax,eax - jnz @r - ret + lodsb + stosb + test eax,eax + jnz @r + ret + ;----------------------------------------------------------------------------- prepare_text_area: - mov edi,[store_text_area_start] + mov edi,[store_text_area_start] - push edi - mov ecx,4096 - mov eax,dword ' ' - cld - rep stosd - pop edi - mov [store_text_area_end], edi + push edi + mov ecx,4096 + mov eax,dword ' ' + cld + rep stosd + pop edi + mov [store_text_area_end], edi - mov esi,title - call addstring + mov esi,title + call addstring - mov esi, stm - call addstring + mov esi, stm + call addstring - mov esi, myname - call addstring + mov esi, myname + call addstring - cmp [nomultiplier], $1 - je noMult - jne detMulti - ;jne detFreq + cmp [nomultiplier], $1 + je noMult + jne detMulti + ;jne detFreq - detMulti: - mov esi,multil - call addstring - jmp detFreq + detMulti: + mov esi,multil + call addstring + jmp detFreq - detFreq: - mov esi, freql - call addstring + detFreq: + mov esi, freql + call addstring - noMult: - mov esi,multi3 - call addstring + noMult: + mov esi,multi3 + call addstring - mov esi,freql3 - call addstring + mov esi,freql3 + call addstring - mov esi, tech - call addstring + mov esi, tech + call addstring - mov esi, saveproc - call addstring + mov esi, saveproc + call addstring - mov esi, cpuname - call addstring + mov esi, cpuname + call addstring - mov esi, fam - call addstring + mov esi, fam + call addstring - mov esi, mode - call addstring + mov esi, mode + call addstring - mov esi, step - call addstring + mov esi, step + call addstring - mov esi, cache2 - call addstring + mov esi, cache2 + call addstring - mov esi, cache - call addstring + mov esi, cache + call addstring - mov esi, cache3 - call addstring + mov esi, cache3 + call addstring - mov esi, cache4 - call addstring + mov esi, cache4 + call addstring - mov esi, brandid - call addstring + mov esi, brandid + call addstring - mov esi, MMXs - call addstring + mov esi, MMXs + call addstring - mov esi, mmxp - call addstring + mov esi, mmxp + call addstring - mov esi, now - call addstring + mov esi, now + call addstring - mov esi, HTT - call addstring + mov esi, HTT + call addstring - mov esi, SSE - call addstring + mov esi, SSE + call addstring - mov esi, SSE41 - call addstring + mov esi, SSE41 + call addstring - mov esi, SSE42 - call addstring + mov esi, SSE42 + call addstring - mov esi, SSE5 - call addstring + mov esi, SSE5 + call addstring - mov esi, SSE2 - call addstring + mov esi, SSE2 + call addstring - mov esi, nowp - call addstring + mov esi, nowp + call addstring - mov esi, sse3 - call addstring + mov esi, sse3 + call addstring - mov esi, standard - call addstring + mov esi, standard + call addstring - mov esi, STDCA - call addstring + mov esi, STDCA + call addstring - mov esi, EXTCA - call addstring + mov esi, EXTCA + call addstring - mov esi, FPU - call addstring + mov esi, FPU + call addstring - mov esi, VME - call addstring + mov esi, VME + call addstring - mov esi, DE - call addstring + mov esi, DE + call addstring - mov esi, PSE - call addstring + mov esi, PSE + call addstring - mov esi, TSC - call addstring + mov esi, TSC + call addstring - mov esi, MSR - call addstring + mov esi, MSR + call addstring - mov esi, PAE - call addstring + mov esi, PAE + call addstring - mov esi, MCE - call addstring + mov esi, MCE + call addstring - mov esi, CX8 - call addstring + mov esi, CX8 + call addstring - mov esi, APIC - call addstring + mov esi, APIC + call addstring - mov esi, Res - call addstring + mov esi, Res + call addstring - mov esi, SEP - call addstring + mov esi, SEP + call addstring - mov esi, MTRR - call addstring + mov esi, MTRR + call addstring - mov esi, PGE - call addstring + mov esi, PGE + call addstring - mov esi, MCA - call addstring + mov esi, MCA + call addstring - mov esi, CMOV - call addstring + mov esi, CMOV + call addstring - mov esi, PAT - call addstring + mov esi, PAT + call addstring - mov esi, PSE36 - call addstring + mov esi, PSE36 + call addstring - mov esi, PSNUM - call addstring + mov esi, PSNUM + call addstring - mov esi, CLFLUSHn - call addstring + mov esi, CLFLUSHn + call addstring - mov esi, Res - call addstring + mov esi, Res + call addstring - mov esi, DTS - call addstring + mov esi, DTS + call addstring - mov esi, ACPI - call addstring + mov esi, ACPI + call addstring - mov esi, MMX - call addstring + mov esi, MMX + call addstring - mov esi, FXSR - call addstring + mov esi, FXSR + call addstring - mov esi, SSE - call addstring + mov esi, SSE + call addstring - mov esi, SSn - call addstring + mov esi, SSn + call addstring - mov esi, HTT - call addstring + mov esi, HTT + call addstring - mov esi, TM - call addstring + mov esi, TM + call addstring - mov esi, IA64 - call addstring + mov esi, IA64 + call addstring - mov esi, PBE - call addstring + mov esi, PBE + call addstring - mov esi, SS3 - call addstring + mov esi, SS3 + call addstring - mov esi, CNXT_ID - call addstring + mov esi, CNXT_ID + call addstring - mov esi, MP - call addstring + mov esi, MP + call addstring - mov esi, FFXSR - call addstring + mov esi, FFXSR + call addstring - mov esi, MON - call addstring + mov esi, MON + call addstring - mov esi, CX16 - call addstring + mov esi, CX16 + call addstring - mov esi, NX - call addstring + mov esi, NX + call addstring - mov esi, TSCP - call addstring + mov esi, TSCP + call addstring - mov esi, DS_CPL - call addstring + mov esi, DS_CPL + call addstring - mov esi, ETPRD - call addstring + mov esi, ETPRD + call addstring - mov esi, MMXPi - call addstring + mov esi, MMXPi + call addstring - mov esi, LM - call addstring + mov esi, LM + call addstring - mov esi, EST - call addstring + mov esi, EST + call addstring - mov esi, SYS - call addstring + mov esi, SYS + call addstring - mov esi, MMXn - call addstring + mov esi, MMXn + call addstring - mov esi, DNo - call addstring + mov esi, DNo + call addstring - mov esi, TM2 - call addstring + mov esi, TM2 + call addstring - mov esi, LAF - call addstring + mov esi, LAF + call addstring - mov esi, FFXSR - call addstring + mov esi, FFXSR + call addstring - mov esi, DN - call addstring + mov esi, DN + call addstring - mov esi, VMX - call addstring + mov esi, VMX + call addstring - mov esi, SSSE3 - call addstring + mov esi, SSSE3 + call addstring - mov esi, DCA - call addstring + mov esi, DCA + call addstring - mov esi, CMPL - call addstring + mov esi, CMPL + call addstring - mov esi, SVM - call addstring + mov esi, SVM + call addstring - mov esi, MCR8 - call addstring + mov esi, MCR8 + call addstring - mov esi, SMX - call addstring + mov esi, SMX + call addstring - mov esi, x2APIC - call addstring + mov esi, x2APIC + call addstring - mov esi, PPCNT - call addstring + mov esi, PPCNT + call addstring - mov esi, PAGE - call addstring + mov esi, PAGE + call addstring - mov esi, EAS - call addstring + mov esi, EAS + call addstring - mov esi, ABM - call addstring + mov esi, ABM + call addstring - mov esi, MIS - call addstring + mov esi, MIS + call addstring - mov esi,OSVW - call addstring + mov esi,OSVW + call addstring - mov esi,SKINIT_ - call addstring + mov esi,SKINIT_ + call addstring - mov esi, WDT - call addstring + mov esi, WDT + call addstring - ret + ret addstring: - mov edi, [store_text_area_end] - xor eax, eax - xor ecx, ecx - cld + mov edi, [store_text_area_end] + xor eax, eax + xor ecx, ecx + cld @@: - lodsb - stosb - inc [store_text_area_end] - cmp [esi], byte 0x0 - jnz @r - mov al,0Ah - stosb + lodsb + stosb + inc [store_text_area_end] + cmp [esi], byte 0x0 + jnz @r + mov al,0Ah + stosb - mov [store_text_area_end],edi - xor edi,edi - xor esi, esi -ret + mov [store_text_area_end],edi + xor edi,edi + xor esi, esi + ret savenumber: - xor eax, eax - cld - lodsw - call numbertostring - xor esi, esi - xor edi, edi + xor eax, eax + cld + lodsw + call numbertostring + xor esi, esi + xor edi, edi -ret + ret savestring: - xor eax, eax - cld - lodsw - ;call numbertostring - xor esi, esi - xor edi, edi + xor eax, eax + cld + lodsw + ;call numbertostring + xor esi, esi + xor edi, edi -ret + ret numbertostring: - mov bx, 10 - xor cx, cx + mov bx, 10 + xor ecx, ecx @@m1: - xor dx, dx - div bx - push dx - inc cx - test ax, ax - jnz @@m1 + xor dx, dx + div bx + push dx + inc cx + test ax, ax + jnz @@m1 @@m2: - pop ax - add al, '0' - stosb - loop @@m2 -ret + pop ax + add al, '0' + stosb + loop @@m2 + ret concatname: - ;mov edi, [saveproc] - xor eax, eax - xor ecx, ecx - cld + ;mov edi, [saveproc] + xor eax, eax + xor ecx, ecx + cld @@: - lodsb - stosb - cmp [esi], byte 0x0 - jnz @r + lodsb + stosb + cmp [esi], byte 0x0 + jnz @r - xor edi,edi - xor esi, esi -ret + xor edi,edi + xor esi, esi + ret store_data: - call prepare_text_area - mov eax,[store_text_area_start] - mov [fileinfo.return],eax - mov ebx,[store_text_area_end] - sub ebx,eax - inc ebx - mov [fileinfo.size],ebx - mcall 70,fileinfo -ret + call prepare_text_area + mov eax,[store_text_area_start] + mov [fileinfo.return],eax + mov ebx,[store_text_area_end] + sub ebx,eax + inc ebx + mov [fileinfo.size],ebx + mcall 70,fileinfo + ret load_gif: - mov edi, img_area + mov edi, img_area jmp ReadGIF ; DATA AREA -title db 'CPUID 2.29 by S.Kuzmin & the KolibriOS team',0 +title db 'CPUID 2.31',0 stm: db 'Internal name:', 0 @@ -3089,60 +3030,60 @@ stm: stmlen: SS42: - db 'SSE4.2: ',0 + db 'SSE4.2: ',0 SS42len: SMX: - db 'SMX: ',0 + db 'SMX: ',0 SMXlen: x2APIC: - db 'x2APIC: ' + db 'x2APIC: ' x2APIClen: PPCNT: - db 'POPCNT: ' + db 'POPCNT: ' PPCNTlen: PAGE: - db 'Page1Gb: ' + db 'Page1Gb: ' PAGElen: EAS: - db 'EAS: ',0 + db 'EAS: ',0 EASlen: newLabel: - db '3DNP: ',0 + db '3DNP: ',0 newLabellen: ABM: - db 'ABM: ' + db 'ABM: ' ABMlen: SSE4A: - db 'SSE4A: ' + db 'SSE4A: ' SSE4Alen: MIS: - db 'MIS: ',0 + db 'MIS: ',0 MISlen: DNP: - db '3DNP: ' + db '3DNP: ' DNPlen: OSVW: - db 'OSVW: ',0 + db 'OSVW: ',0 OSVWlen: SKINIT_: - db 'SKINIT: ',0 + db 'SKINIT: ',0 SKINIT_len: WDT: - db 'WDT: ',0 + db 'WDT: ',0 WDTlen: @@ -3150,13 +3091,13 @@ saveproc: db ' ',0 multil: - db 'Multiplier: . ', 0 + db 'Multiplier: . ', 0 multillen: multil2: - db 'Multiplier .' + db 'Multiplier: . ' multil2len: @@ -3173,7 +3114,7 @@ freqllen: freql2: - db 'System clock . MHz' + db 'System clock: . MHz' freql2len: @@ -3187,13 +3128,13 @@ freql3len: tsum: - db 'Frequency: . MHz ',0 + db 'Frequency: . MHz ',0 tsumlen: tech: - db 'Technology: 0. micron ', 0 + db 'Technology: 0. micron ', 0 techlen: @@ -3201,11 +3142,11 @@ name: if lang eq it - db 'Codename:',0 + db 'Codename:',0 else - db 'CODENAME:',0 + db 'CODENAME:',0 end if @@ -3216,11 +3157,11 @@ vendorname: if lang eq it - db 'Vendor CPU ', 0 + db 'Vendor CPU ', 0 else - db 'CPU VENDOR: ', 0 + db 'CPU VENDOR: ', 0 end if @@ -3230,11 +3171,11 @@ cpuname: if lang eq it - db 'Vendor CPU ', 0 + db 'Vendor CPU ', 0 else - db 'CPU VENDOR: ', 0 + db 'CPU VENDOR: ', 0 end if @@ -3245,11 +3186,11 @@ fam: if lang eq it - db 'Famiglia: std ext', 0 + db 'Famiglia: std ext', 0 else - db 'FAMILY: std ext', 0 + db 'FAMILY: std ext', 0 end if @@ -3259,11 +3200,11 @@ mode: if lang eq it - db 'Modello: std ext', 0 + db 'Modello: std ext', 0 else - db 'MODEL: std ext', 0 + db 'MODEL: std ext', 0 end if @@ -3273,11 +3214,11 @@ step: if lang eq it - db 'Stepping: ', 0 + db 'Stepping: ', 0 else - db 'STEPPING: ', 0 + db 'STEPPING: ', 0 end if @@ -3285,20 +3226,20 @@ steplen: cache: - db 'L1(inst): KB -way set -byte line size',0 + db 'L1(inst): KB -way set -byte line size',0 cachelen: cache2: - db 'L1(data): KB -way set -byte line size',0 + db 'L1(data): KB -way set -byte line size',0 cache2len: cache3: - db 'L2: KB -way set -byte line size',0 + db 'L2: KB -way set -byte line size',0 cache3len: @@ -3310,13 +3251,13 @@ cache4len: brandid: - db 'Brand:', 0 + db 'Brand:', 0 brandidlen: MMXs: - db 'MMX: ',0 + db 'MMX: ',0 MMXslen: @@ -3329,28 +3270,6 @@ rating dd 0x0 rat dd 0x0 ; - - -ram: - -if lang eq it - - db 'RAM libera: su' - -else - - db 'Available RAM: out of' - -end if - - - - - -ramlen: - - - NEF: db 'EXTENDED FEATURES ARE NOT AVAILABLE',0 @@ -3379,11 +3298,11 @@ speed : if lang eq it -; db 'Performance',0 +; db 'Performance',0 else -; db 'PERFORMANCE:',0 +; db 'PERFORMANCE:',0 end if @@ -3403,11 +3322,11 @@ instruct: if lang eq it - db 'Set istruzioni' + db 'Set istruzioni' else - db 'Instruction sets' + db 'Instruction sets' end if @@ -3420,7 +3339,7 @@ standard db 'Standard and Extended features plus Performance test',0 STDCA: - db 'Highest STD call is ',0 + db 'Highest STD call is ',0 STDCAlen: @@ -3428,7 +3347,7 @@ STDCAlen: EXTCA: - db 'Highest EXT call is h',0 + db 'Highest EXT call is h',0 EXTCAlen: @@ -3437,11 +3356,11 @@ oblom: if lang eq it - db 'CPUID non e disponibile' + db 'CPUID non e disponibile' else - db 'SORRY, CPUID IS NOT AVAILABLE' + db 'SORRY, CPUID IS NOT AVAILABLE' end if @@ -3452,11 +3371,11 @@ other: if lang eq it - db 'Questo vendor non e supportato' + db 'Questo vendor non e supportato' else - db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' + db 'SORRY, THIS VENDOR IS NOT SUPPORTED YET' end if @@ -3464,7 +3383,7 @@ otherlen: cacheP4: - db 'L1(inst): Kuops -way set -byte line size' + db 'L1(inst): Kuops -way set -byte line size' cacheP4len: @@ -3475,11 +3394,11 @@ typen: if lang eq it - db 'Tipo:' + db 'Tipo:' else - db 'Type:' + db 'Type:' end if @@ -3500,19 +3419,19 @@ prlen: AMDn: - db 'AMD',0 + db 'AMD',0 AMDnlen: AMDnNew: - db 'CODENAME: AMD',0 + db 'CODENAME: AMD',0 AMDnNewlen: Inteln: - db 'Intel',0 + db 'Intel',0 Intelnlen: @@ -3524,19 +3443,19 @@ IntelnNewlen: Cyrixn: - db 'Cyrix',0 + db 'Cyrix',0 Cyrixnlen: IDTn: - db 'IDT/Centaur',0 + db 'IDT/Centaur',0 IDTnlen: Centaurn: - db 'VIA',0 + db 'VIA',0 Centaurnlen: @@ -3544,19 +3463,19 @@ Centaurnlen: Tranmsmetan: - db 'Transmeta',0 + db 'Transmeta',0 Tranmsmetanlen: Vortexn: - db 'Vortex86',0 + db 'Vortex86',0 Vortexnlen: mmxp: - db 'MMX+: ',0 + db 'MMX+: ',0 mmxplen: @@ -3564,57 +3483,57 @@ mmxplen: HTT: - db 'HTT: ',0 + db 'HTT: ',0 HTTlen: HTTn: - db 'HTT: ',0 + db 'HTT: ',0 HTTnlen: sse3: - db 'SSE3: ',0 + db 'SSE3: ',0 sse3len: SSE41: - db 'SSE4.1: ',0 + db 'SSE4.1: ',0 SSE41len: SSE42: - db 'SSE4.2: ',0 + db 'SSE4.2: ',0 SSE42len: SSE5: - db 'SSE5: ',0 + db 'SSE5: ',0 SSE5len: now: - db '3DNOW!: ',0 + db '3DNOW!: ',0 nowlen: nowp: - db '3DNOW!+: ',0 + db '3DNOW!+: ',0 nowplen: ;-Type -t1 db 'OEM',0 +t1 db 'OEM',0 -t2 db 'Overdrive',0 +t2 db 'Overdrive',0 -t3 db 'Dual',0 +t3 db 'Dual',0 -t4 db 'Unknown',0 +t4 db 'Unknown',0 @@ -3912,45 +3831,45 @@ db 'SORRY, CODENAME IS NOT SUPPORTED YET ' ;---------AMD -A50 db 'K5 (PR75, PR90, PR100)',0 +A50 db 'K5 (PR75, PR90, PR100)',0 -A51 db '5k86 (PR120, PR133)',0 +A51 db '5k86 (PR120, PR133)',0 -A52 db '5k86 (PR166)',0 +A52 db '5k86 (PR166)',0 -A53 db '5k86 (PR200)',0 +A53 db '5k86 (PR200)',0 -A56 db 'K6',0 +A56 db 'K6',0 -A57 db 'K6',0 +A57 db 'K6',0 -A58 db 'K6-2',0 +A58 db 'K6-2',0 -A59 db 'K6-III',0 +A59 db 'K6-III',0 -A5D db 'K6-2+ or K6-III+',0 +A5D db 'K6-2+ or K6-III+',0 ;------------------- -At1 db 'Athlon',0 +At1 db 'Athlon',0 -At2 db 'Athlon',0 +At2 db 'Athlon',0 -At3 db 'Duron (Spitfire)',0 +At3 db 'Duron (Spitfire)',0 -At4 db 'Athlon (Thunderbird)',0 +At4 db 'Athlon (Thunderbird)',0 -At6 db 'AthlonXP (Palomino)',0 +At6 db 'AthlonXP (Palomino)',0 -At7 db 'Duron (Morgan)',0 +At7 db 'Duron (Morgan)',0 -At8 db 'AthlonXP (Thoroughbred)',0 +At8 db 'AthlonXP (Thoroughbred)',0 -At8a db 'Duron (Applebred)',0 +At8a db 'Duron (Applebred)',0 -Ata db 'AthlonXP (Barton)',0 +Ata db 'AthlonXP (Barton)',0 -Atat db 'AthlonXP (Thorton)',0 +Atat db 'AthlonXP (Thorton)',0 ;------------------- AthlonKuma: @@ -4185,51 +4104,51 @@ TFlen: NG: - db 'Next generation CPU',0 + db 'Next generation CPU',0 NGlen: -athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120 +athloncoef db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 120 - db 190, 120, 200, 130, 135, 140, 210, 150, 220, 160, 165, 170, 180, 230, 240 + db 190, 120, 200, 130, 135, 140, 210, 150, 220, 160, 165, 170, 180, 230, 240 -athlonmcoef: db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105 +athlonmcoef: db 110, 115, 120, 125, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105 - db 30, 190, 40, 200, 130, 135, 14, 210, 150, 220, 160, 165, 170, 230, 240 + db 30, 190, 40, 200, 130, 135, 14, 210, 150, 220, 160, 165, 170, 230, 240 -athloncoef3 db 45, 50, 40, 55, 25, 30, 60, 35 +athloncoef3 db 45, 50, 40, 55, 25, 30, 60, 35 -p4coef db 160, 170, 180, 190, 200, 210, 220, 230, 80, 90, 100, 110, 120, 130, 140, 150 ; Pentium 4 (Willamete) +p4coef db 160, 170, 180, 190, 200, 210, 220, 230, 80, 90, 100, 110, 120, 130, 140, 150 ; Pentium 4 (Willamete) -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 +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 -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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; I_END: -img_area: ; image is going to be unpacked to here -rb 201*49*3+8 ; image resolution (bits to reserve) +img_area: ; image is going to be unpacked to here +rb 201*49*3+8 ; image resolution (bits to reserve) -img_area2: ; image is going to be unpacked to here -rb 93*24*3+8 ; image resolution (bits to reserve) +img_area2: ; image is going to be unpacked to here +rb 93*24*3+8 ; image resolution (bits to reserve) -img_area3: ; image is going to be unpacked to here -rb 93*24*3+8 ; image resolution (bits to reserve) +img_area3: ; image is going to be unpacked to here +rb 93*24*3+8 ; image resolution (bits to reserve) gif_hash_area: -rd 4096+1 ;hash area size for unpacking gif +rd 4096+1 ;hash area size for unpacking gif ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 +system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 -err_message_found_lib2 db 'proc_lib.obj - Not found!',0 +err_message_found_lib2 db 'proc_lib.obj - Not found!',0 -err_message_import2 db 'proc_lib.obj - Wrong import!',0 +err_message_import2 db 'proc_lib.obj - Wrong import!',0 head_f_i: -head_f_l db 'error',0 +head_f_l db 'error',0 ;--------------------------------------------------------------------- l_libs_start: @@ -4240,93 +4159,99 @@ end_l_libs: ;--------------------------------------------------------------------- align 4 ProcLib_import: -OpenDialog_Init dd aOpenDialog_Init -OpenDialog_Start dd aOpenDialog_Start +OpenDialog_Init dd aOpenDialog_Init +OpenDialog_Start dd aOpenDialog_Start ;OpenDialog__Version dd aOpenDialog_Version - dd 0 - dd 0 -aOpenDialog_Init db 'OpenDialog_init',0 -aOpenDialog_Start db 'OpenDialog_start',0 + dd 0 + dd 0 +aOpenDialog_Init db 'OpenDialog_init',0 +aOpenDialog_Start db 'OpenDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 ;--------------------------------------------------------------------- align 4 OpenDialog_data: -.type dd 0 -.procinfo dd Proc_Info ;+4 -.com_area_name dd communication_area_name ;+8 -.com_area dd 0 ;+12 -.opendir_pach dd temp_dir_pach ;+16 -.dir_default_pach dd communication_area_default_pach ;+20 -.start_path dd open_dialog_path ;+24 -.draw_window dd draw_window ;+28 -.status dd 0 ;+32 -.openfile_pach dd file_name ;+36 -.filename_area dd filename_area ;+40 -.filter_area dd Filter +.type dd 0 +.procinfo dd Proc_Info ;+4 +.com_area_name dd communication_area_name ;+8 +.com_area dd 0 ;+12 +.opendir_pach dd temp_dir_pach ;+16 +.dir_default_pach dd communication_area_default_pach ;+20 +.start_path dd open_dialog_path ;+24 +.draw_window dd draw_window ;+28 +.status dd 0 ;+32 +.openfile_pach dd file_name ;+36 +.filename_area dd filename_area ;+40 +.filter_area dd Filter .x: -.x_size dw 420 ;+48 ; Window X size -.x_start dw 10 ;+50 ; Window X position +.x_size dw 420 ;+48 ; Window X size +.x_start dw 10 ;+50 ; Window X position .y: -.y_size dw 320 ;+52 ; Window y size -.y_start dw 10 ;+54 ; Window Y position +.y_size dw 320 ;+52 ; Window y size +.y_start dw 10 ;+54 ; Window Y position communication_area_name: - db 'FFFFFFFF_open_dialog',0 + db 'FFFFFFFF_open_dialog',0 open_dialog_path: - db '/sys/File Managers/opendial',0 + db '/sys/File Managers/opendial',0 communication_area_default_pach: - db '/sys',0 + db '/sys',0 Filter: -dd Filter.end - Filter.1 +dd Filter.end - Filter.1 .1: -db 'TXT',0 -db 'LOG',0 +db 'TXT',0 +db 'LOG',0 .end: -dd 0 +dd 0 file_default_path: - db '/sys/' + db '/sys/' start_temp_file_name: - db 'CPUID.txt',0 - + db 'CPUID.txt',0 +btn_more_cap: + db 'Details', 0 +btn_save_cap: + db 'Save', 0 ;--------------------------------------------------------------------- -align 4 +align 4 fileinfo: -.subfunction dd 2 -.Offset dd 0 -.Offset_1 dd 0 -.size dd 4096 -.return dd 0 - db 0 -.name: dd file_name +.subfunction dd 2 +.Offset dd 0 +.Offset_1 dd 0 +.size dd 4096 +.return dd 0 + db 0 +.name: dd file_name -store_text_area_start dd ? -store_text_area_end dd ? -store_text_size dd ? +align 4 +sc system_colors + +store_text_area_start dd ? +store_text_area_end dd ? +store_text_size dd ? ;--------------------------------------------------------------------- library_path: - rb 4096 + rb 4096 ;--------------------------------------------------------------------- path: - rb 4096 + rb 4096 ;--------------------------------------------------------------------- temp_dir_pach: - rb 4096 + rb 4096 ;--------------------------------------------------------------------- file_name: - rb 4096 + rb 4096 ;--------------------------------------------------------------------- file_name_1: - rb 4096 + rb 4096 ;--------------------------------------------------------------------- filename_area: - rb 256 + rb 256 ;--------------------------------------------------------------------- - rb 4096 + rb 4096 stacktop: ;--------------------------------------------------------------------- -Proc_Info process_information +Proc_Info process_information ; RSA test data align 4 num1 rd 40 diff --git a/programs/system/cpuid/trunk/amd.gif b/programs/system/cpuid/trunk/amd.gif index e7456dbacc..8ce794538e 100644 Binary files a/programs/system/cpuid/trunk/amd.gif and b/programs/system/cpuid/trunk/amd.gif differ diff --git a/programs/system/cpuid/trunk/cyrix.gif b/programs/system/cpuid/trunk/cyrix.gif index 0afc54b9e5..7bc0650d75 100644 Binary files a/programs/system/cpuid/trunk/cyrix.gif and b/programs/system/cpuid/trunk/cyrix.gif differ diff --git a/programs/system/cpuid/trunk/idt.gif b/programs/system/cpuid/trunk/idt.gif index 3f07f7b1a5..af91fb409e 100644 Binary files a/programs/system/cpuid/trunk/idt.gif and b/programs/system/cpuid/trunk/idt.gif differ diff --git a/programs/system/cpuid/trunk/intel.gif b/programs/system/cpuid/trunk/intel.gif index 3a8979eb64..571ab7f868 100644 Binary files a/programs/system/cpuid/trunk/intel.gif and b/programs/system/cpuid/trunk/intel.gif differ diff --git a/programs/system/cpuid/trunk/logos.inc b/programs/system/cpuid/trunk/logos.inc index 72946bfd06..e5256d33fb 100644 --- a/programs/system/cpuid/trunk/logos.inc +++ b/programs/system/cpuid/trunk/logos.inc @@ -18,9 +18,3 @@ file 'via.gif' ;include gif file vortex: file 'vortex.gif' ;include gif file - -knopka: -file 'knopka.gif' ;include gif file - -knopka2: -file 'knopka2.gif' ;gif button Save in file \ No newline at end of file diff --git a/programs/system/cpuid/trunk/transmet.gif b/programs/system/cpuid/trunk/transmet.gif index 0476eb46dc..265e0735f7 100644 Binary files a/programs/system/cpuid/trunk/transmet.gif and b/programs/system/cpuid/trunk/transmet.gif differ diff --git a/programs/system/cpuid/trunk/via.gif b/programs/system/cpuid/trunk/via.gif index 9d2f06f542..9b067c45c8 100644 Binary files a/programs/system/cpuid/trunk/via.gif and b/programs/system/cpuid/trunk/via.gif differ diff --git a/programs/system/cpuid/trunk/vortex.gif b/programs/system/cpuid/trunk/vortex.gif index c56c0e044f..f93ed575ff 100644 Binary files a/programs/system/cpuid/trunk/vortex.gif and b/programs/system/cpuid/trunk/vortex.gif differ