diff --git a/programs/system/cpuid/trunk/Build.bat b/programs/system/cpuid/trunk/Build.bat index b504d6bceb..e4f03398bd 100644 --- a/programs/system/cpuid/trunk/Build.bat +++ b/programs/system/cpuid/trunk/Build.bat @@ -1,2 +1,6 @@ -fasm cpuid.asm cpuid -pause \ No newline at end of file +@erase lang.inc +@echo lang fix en >lang.inc +@fasm -m 16384 cpuid.asm cpuid +@erase lang.inc +@kpack cpuid +@pause diff --git a/programs/system/cpuid/trunk/CPUID.ASM b/programs/system/cpuid/trunk/CPUID.ASM index 0c7ec6e8cf..9d080008c7 100644 --- a/programs/system/cpuid/trunk/CPUID.ASM +++ b/programs/system/cpuid/trunk/CPUID.ASM @@ -1,19 +1,19 @@ ;****************************************************************************** -; project name: CPUID * -; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures * -; compiler: flat assembler 1.67.21 * -; version: 2.21 * -; last update: 18th May 2007 1st 2nd 3rd 4th 5th 6th 7th 8th 9th * -; maintained by: Sergey Kuzmin aka Wildwest * -; e-mail: kuzmin_serg@list.ru * -; site: http://coolthemes.narod.ru/files.html * -; license: Copyright 2004-2007 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://meos.sysbin.com * +; project name: CPUID * +; platform: KolibriOS, x86 (IA-32), x86-64 achitectures * +; compiler: flat assembler 1.70.03 * +; version: 2.28 * +; last update: 23rd October 2013 * +; maintained by: Sergey Kuzmin aka Wildwest * +; e-mail: kuzmin_serg@list.ru * +; site: http://coolthemes.narod.ru/files.html * +; license: Copyright 2004-2013 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 * ;------------------------------------------------------------------------------ @@ -28,8 +28,7 @@ use32 dd 0x0 dd 0x0 -include 'lang.inc' ; language support - +include 'lang.inc' ; language support include '..\..\..\macros.inc' ; useful macroses include 'draw.inc' include 'brand.inc' ;Brand ID decoding @@ -165,15 +164,15 @@ jz maybe_athlon cmp dword[smallvendor], 'ntel' jnz no_full ; if not AMD or Intel -detect_it: -cmp [f], 0Fh -jne no_full +;detect_it: +;cmp [f], 0Fh +;jne no_full fixed calculation of extended model for Intel full: mov ecx, eax ; get Extended model shr ecx,16 ;shift it to the correct position -and ecx, 0000000Fh +and ecx, 0000000Fh shl ecx, 4 add ecx, [m] mov dword[em],ecx ; effective model @@ -199,7 +198,7 @@ jmp fut maybe_athlon: mov eax, 0x80000001 ; CPUID ext. function 0x80000001 -cpuid +cpuid mov ecx, eax shr ecx,8 ; shift it to the correct position and ecx,0000000Fh ; get CPU family @@ -241,15 +240,15 @@ mov dword [myname], $612F6E mov [myname+44],edx .noname: -red: +red: ;mov byte [multiplier], 115; ; for testing -call multipl ; get multiplier +call multipl ; get multiplier mov byte [multiplier], cl mov dword [freqbb], 0 -mov dword [freqll], 0 +mov dword [freqll], 0 mov ebx, dword [multiplier] test ebx, ebx @@ -306,7 +305,7 @@ PROCCORE: ; Who are you? ; SiS - "SiS SiS SiS " ; Transmeta - "GenuineTMx86" + ; National Semiconductor - "Geode by NSC" - +; Vortex - "Vortex86 SoC" + initial support cmp dword[smallvendor], 'ntel' jz Intel cmp dword[smallvendor], 'cAMD' @@ -317,6 +316,8 @@ PROCCORE: ; Who are you? jz Centaur cmp dword[smallvendor], 'Mx86' jz Transmeta + cmp dword[smallvendor], ' SoC' + jz Vortex ; cmp ecx, 'UMC ' ; jz .UMC @@ -467,9 +468,9 @@ mov [L2],ecx Text 100,70,0x80000000 jmp MMXtest A6: - mov [FRS], 266 ;!!!!!! +; mov [FRS], 266 ;!!!!!! - Number 315,90,0,3,dword [FRS],0x000000; MHz +; Number 315,90,0,3,dword [FRS],0x000000; MHz call newrating; !!!! @@ -481,9 +482,9 @@ A6: A8: - mov [FRS], 266 ;!!!!!! +; mov [FRS], 266 ;!!!!!! - Number 315,90,0,3,dword [FRS],0x000000; MHz +; Number 315,90,0,3,dword [FRS],0x000000; MHz cmp [L2], 256 jl .App ; Applebred @@ -501,10 +502,10 @@ A8: AA: - mov [FRS], 333; !!!! +; mov [FRS], 333; !!!! Text 245,70,0x00000000,pr, prlen-pr - Number 315,90,0,3,dword [FRS],0x000000; MHz +; Number 315,90,0,3,dword [FRS],0x000000; MHz mov edx, Atat cmp [L2], 256 @@ -525,7 +526,7 @@ fif: ; AMD-64 Family=15 ;AMD AthlonTM 64 and AMD OpteronTM Processors" 25759.pdf ; checking sse3 for new AMD's is needed - cmp [m],$1 ; Dual-core Opteron + cmp [m],$1 ; Dual-core Opteron jz .AF1 cmp [m],$3 ; Toledo 1024 0.09 // Manchester ||Windsor Dual Core not supported jz .AF3 @@ -772,7 +773,7 @@ Text 110,70,0x00000000,P66, P66len-P66 jmp MMXtest .I67: mov [micron], 25 -Text 110,70,0x00000000,P67, P67len-P67 +Text 110,70,0x00000000,P67, P67len-P67 ;but if SSE4.1 supported then it is Intel Core (Penryn) jmp MMXtest .I68: mov [micron], 18 @@ -789,7 +790,7 @@ Text 110,70,0x00000000,P69 , P69len-P69 jmp MMXtest .I6A: mov [micron], 18 -Text 110,70,0x00000000,P6A, P6Alen-P6A +Text 110,70,0x00000000,P6A, P6Alen-P6A ;but if SSE4.2 supported then it is Intel Core (Nehalem) jmp MMXtest .I6B: mov [micron], 13 @@ -1214,6 +1215,38 @@ OutProcName: Text 100,70,0 ;---- +;---------------------------------- new +Vortex: + +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 + + cmp [f], $5 + jz .V54 ;fivvtx +;.fivvtx: ;Family=5 +; 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 +;Text 110,70,0x00000000,V54, V54len-V54 + jmp MMXtest + +;--------------------- + + + MMXtest: ; MMX test and Brand ID decoding call decodebrand ; get Brand ID @@ -1344,7 +1377,7 @@ jmp FREEZE ; maybe we should close application or just made some Warning and jum ;---------------- still: -; затем переходим в цикл ожидания событий +; waiting for events event_wait: ;================_RAM_============== @@ -1375,72 +1408,73 @@ event_wait: ;============================== - mov eax,23 ; функция 23: ожидание события - mov ebx,50 ; ждемс 0.5 сек + mov eax,23 ; function 23 - event wait + mov ebx,50 ; wait for 0.5 second mcall - cmp eax,1 ; + cmp eax,1 ; je red ; redraw - cmp eax,2 ; + cmp eax,2 ; je key ; key - cmp eax,3 ; + cmp eax,3 ; je button ; button - jmp still ; - key: ; - mcall ; - jmp still ; - button: ; - mov eax,17 ; - mcall ; + 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 ; = 3 ? + je thread_start ; + ; +; cmp ah,3 ; = 3 ? jne still -vybor: - Number 310,70,0,4,dword [rating],0xFFFFFF ; +;vybor: - Number 315,90,0,3,dword [FRS]; MHz +; Number 310,70,0,4,dword [rating],0xFFFFFF ; -cmp [FRS], 266 -jz .s1 -cmp [FRS], 333 -jz .s2 -cmp [FRS], 400 -jz .s3 +; Number 315,90,0,3,dword [FRS]; MHz -.s1: -mov [FRS], 333 -.rating: -call newrating - Number 310,70,0,4,dword [rating],0x000000 +;cmp [FRS], 266 +;jz .s1 +;cmp [FRS], 333 +;jz .s2 +;cmp [FRS], 400 +;jz .s3 - Number 315,90,0,3,dword [FRS]; MHz -jmp still +;.s1: +;mov [FRS], 333 +;.rating:; +;call newrating +; Number 310,70,0,4,dword [rating],0x000000 -.s2: -mov [FRS], 400 -jmp .rating - -.s3: -mov [FRS], 266 -jmp .rating +; Number 315,90,0,3,dword [FRS]; MHz +;jmp still +; +;.s2: +;mov [FRS], 400 +;jmp .rating +; +;.s3: +;mov [FRS], 266 +;jmp .rating close: - mov eax,-1 - mcall + mov eax,-1 + mcall ;**************************** THREAD-SECOND WINDOW thread_start: - cmp [num_win2],0 + cmp [num_win2],0 - jne still + jne still ;================================================RSA test @@ -1470,37 +1504,37 @@ 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: +still_2: - mov eax,10 - mcall + mov eax,10 + mcall - cmp eax,1 + cmp eax,1 je window_2 ; window_2 - cmp eax,2 ; + cmp eax,2 ; je key_2 ; key_2 - cmp eax,3 ; + 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 - mov [num_win2],0 ; + mov [num_win2],0 ; - or eax,-1 ; + or eax,-1 ; mcall draw_window_2: @@ -1654,19 +1688,19 @@ PutImage 15,330,93,24,img_area2+8 ; image "press for more" cmp [f], $6 jne cont - Button 240,85,69,15,3,0x030000FF ; button for rating +; Button 240,85,69,15,3,0x030000FF ; button for rating - Text 245,90,0x00FFFFFF,FR, FRlen-FR +; Text 245,90,0x00FFFFFF,FR, FRlen-FR ; text at button call newrating; !!!! cont: - Text 15,50,0x00000000,tsum, tsumlen-tsum ; - Text 15,90,,cpuname, cpunamelen-cpuname; + Text 15,50,0x00000000,tsum, tsumlen-tsum ; + Text 15,90,,cpuname, cpunamelen-cpuname; Text 255,250,,typen, typenlen-typen; - Text 175, 50,,tech, techlen-tech; + Text 175, 50,,tech, techlen-tech; Number 82,50,0,4,dword [total],0x000000; MHz Number 110,50,0,2,dword [sot]; KHz @@ -1676,7 +1710,7 @@ PutImage 15,330,93,24,img_area2+8 ; image "press for more" Text 15,230,,cache4, cache4len-cache4 - Number 75,110,1*256,1,dword [f],0x000000 ; + Number 75,110,1*256,1,dword [f],0x000000 ; Number 75,130,,,dword [m] Number 75,150,,,dword [s] @@ -1712,7 +1746,7 @@ Number 289,30,0,2,dword [freqll] ;- Text 15,250,,brandid, brandidlen-brandid - ret ; + ret ; load_gif: mov edi, img_area @@ -1723,565 +1757,1120 @@ include 'gif_lite.inc' ; parse GIF files ; DATA AREA -title db 'CPUID 2.21 by S.Kuzmin & the KolibriOS team',0 +title db 'CPUID 2.28 by S.Kuzmin & the KolibriOS team',0 + tsum: + if lang eq it - db 'Frequenza: . MHz' + + db 'Frequenza: . MHz' + else - db 'Frequency: . MHz' + + db 'Frequency: . MHz' + end if + + + tsumlen: + + total dd 0x0 + total1 dd 0x0 + rating dd 0x0 + rat dd 0x0 ; + + ram: + if lang eq it - db 'RAM libera: su' + + db 'RAM libera: su' + else - db 'Available RAM: out of' + + db 'Available RAM: out of' + end if + + + ramlen: + + NEF: + db 'EXTENDED FEATURES ARE NOT AVAILABLE' + NEFlen: + + mb : + db 'MB' + mblen: + + ;logcpus : + ;db 'Number of logical CPU:' + ;logcpuslen: + + speed : + if lang eq it - db 'Performance' + + db 'Performance' + else - db 'PERFORMANCE:' + + db 'PERFORMANCE:' + end if + + + speedlen: + + kbpersec: + db 'KB/SEC' + kbperseclen: + + instruct: + if lang eq it - db 'Set istruzioni' + + db 'Set istruzioni' + else - db 'Instruction sets' + + db 'Instruction sets' + end if + + + instructlen: + + standard db 'Standard and Extended features plus Performance test',0 -FR: - db 'Choose FSB:' -FRlen: + + +;FR: + +; db 'Choose FSB:' + +;FRlen: + + STDCA: + db 'Highest STD call is ' + STDCAlen: + + EXTCA: + db 'Highest EXT call is h' + EXTCAlen: + + brandid: + db 'Brand:' + brandidlen: + + 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 + + oblomlen: + 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 + + otherlen: + + cpuname: + if lang eq it - db 'Vendor CPU ' + + db 'Vendor CPU ' + else - db 'CPU VENDOR: ' + + db 'CPU VENDOR: ' + end if + + cpunamelen: + fam: + if lang eq it - db 'Famiglia: std ext' + + db 'Famiglia: std ext' + else - db 'FAMILY: std ext' + + db 'FAMILY: std ext' + end if + + + famlen: + mode: + if lang eq it - db 'Modello: std ext' + + db 'Modello: std ext' + else - db 'MODEL: std ext' + + db 'MODEL: std ext' + end if + + modelen: + step: + if lang eq it - db 'Stepping:' + + db 'Stepping:' + else - db 'STEPPING:' + + db 'STEPPING:' + end if + + steplen: + + cache2: + + db 'L1(data): KB -way set -byte line size' + cache2len: + + cache: + db 'L1(inst): KB -way set -byte line size' + cachelen: + + cache3: + + db 'L2: KB -way set -byte line size' + cache3len: + + cache4: + db 'L3: KB -way set -byte line size' + cache4len: + + cacheP4: + + db 'L1(inst): Kuops -way set -byte line size' + cacheP4len: + + tech: + if lang eq it - db 'Tecnologia: 0. micron ' + + db 'Tecnologia: 0. micron ' + else - db 'Technology: 0. micron ' + + db 'Technology: 0. micron ' + end if + + + techlen: + + typen: + if lang eq it - db 'Tipo:' + + db 'Tipo:' + else - db 'Type:' + + db 'Type:' + end if + + typenlen: + + pr: + db 'P-rating:' + prlen: + + multil: + db 'Multiplier: .' + multillen: + + freql: + db 'System clock: . MHz' + freqllen: + + name: + if lang eq it - db 'Codename:' + + db 'Codename:' + else - db 'CODENAME:' + + db 'CODENAME:' + end if + + namelen: + + AMDn: + db 'AMD' + AMDnlen: + Inteln: + db 'Intel' + Intelnlen: + Cyrixn: + db 'Cyrix' + Cyrixnlen: + IDTn: + db 'IDT/Centaur' + IDTnlen: + Centaurn: + db 'VIA' + Centaurnlen: + + Tranmsmetan: + db 'Transmeta' + Tranmsmetanlen: + +Vortexn: + db 'Vortex86' +Vortexnlen: + + MMXs: + db 'MMX: ' + MMXslen: + + mmxp: + db 'MMX+: ' + mmxplen: + + HTT: + db 'HTT: ' + HTTlen: + + HTTn: + db 'HTT: ' + HTTnlen: + + sse3: + db 'SSE3: ' + sse3len: + now: + db '3DNOW!: ' + nowlen: + nowp: + db '3DNOW!+: ' + nowplen: + + ;-Type + + t1 db 'OEM',0 + t2 db 'Overdrive',0 + t3 db 'Dual',0 + t4 db 'Unknown',0 + + ;----------Intel + P50: + db 'P5 A-step' + P50len: + P5: + db 'P5' + P5len: + P54T: + db 'P24T Overdrive' + P54Tlen: + P54C: + db 'P54C' + P54Clen: + P55C: + db 'P55C (with MMX)' + P55Clen: + ; --- + P60: + db 'Pentium Pro A-step' + P60len: + P61: + db 'Pentium Pro' + P61len: + P63: + db 'Pentium II (Klamath)' + P63len: + P65: + db 'Pentium II (Deschutes)' + P65len: + P66: + db 'Celeron (Medocino)' + P66len: + P67: + db 'Pentium III (Katmai)' + P67len: + P68: + db 'Pentium III (Coppermine)' + P68len: + P69: + db 'Pentium M (Banias)' + P69len: + P6A: + db 'Pentium III Xeon (Cascades)' + P6Alen: + P6B: + db 'Pentium III (Tualatin)' + P6Blen: + P6D: + db 'Pentium M (Dothan)' + P6Dlen: + P6E: + db 'Pentium M (Yonah)/ Core' + P6Elen: + P6F: + db 'Pentium D (Conroe)/ Core 2 (Kentsfield)' + P6Flen: + ;--- + PS0: + db 'Itanium (IA-64)' + PS0len: + ;------------ + PF0: + db 'Pentium 4 (Willamete)' + PF0len: + PF2: + db 'Pentium 4 (Northwood)' + PF2len: + PF3: + db 'Pentium 4 (Prescott)' + PF3len: + PF5: + db 'Pentium 4 (Tejas)' + PF5len: + PF6: + db 'Pentium 4 (Presler)' + PF6len: + ;----------------Intel Celerons + P65c: + db 'Celeron (Covington)' + P65clen: + P68c: + db 'Celeron (Coppermine)' + P68clen: + P6Bc: + db 'Celeron (Tualatin)' + P6Bclen: + PF0c: + db 'Celeron (Willamete)' + PF0clen: + PF2c: + db 'Celeron (Northwood)' + PF2clen: + PF3c: + db 'Celeron (Prescott)' + PF3clen: + PF5c: + db 'Celeron D (Texas)' + PF5clen: + PF6c: + db 'Celeron D (Presler)' + PF6clen: + ;---------AMD + A50 db 'K5 (PR75, PR90, PR100)',0 + A51 db '5k86 (PR120, PR133)',0 + A52 db '5k86 (PR166)',0 + A53 db '5k86 (PR200)',0 + A56 db 'K6',0 + A57 db 'K6',0 + A58 db 'K6-2',0 + A59 db 'K6-III',0 + A5D db 'K6-2+ or K6-III+',0 + ;------------------- + At1 db 'Athlon',0 + At2 db 'Athlon',0 + At3 db 'Duron (Spitfire)',0 + At4 db 'Athlon (Thunderbird)',0 + At6 db 'AthlonXP (Palomino)',0 + At7 db 'Duron (Morgan)',0 + At8 db 'AthlonXP (Thoroughbred)',0 + At8a db 'Duron (Applebred)',0 + Ata db 'AthlonXP (Barton)',0 + Atat db 'AthlonXP (Thorton)',0 + ;------------------- + AF1: + db 'Dual-core Opteron' + AF1len: + AF3: + db 'Athlon 64 (Toledo)' + AF3len: + AF4: + db 'Athlon 64 (ClawHammer)' + AF4len: + AF5: + db 'Opteron/Athlon 64 FX (SledgeHammer)' + AF5len: + + AFC: + db 'Athlon 64 (Newcastle)' + AFClen: + + AFF: + db 'Athlon 64 (Winchester)' + AFFlen: + + AFS: + db 'Athlon 64 (San Diego)' + AFSlen: + + AFV: + db 'Athlon 64 (Venice)' + AFVlen: + + AFCs: + db 'Sempron (Paris)' + AFCslen: + + AFCsp: + db 'Sempron (Palermo)' + AFCsplen: + + ;---------Cyrix + C52: + db '6x86 M1' + C52len: + C54: + db 'MediaGX' + C54len: + C60: + db '6x86MX M2' + C60len: + C65: + db 'C3 (Cyrix M2)' ;? + C65len: + ;--------IDT + V54: + db 'WinChip C6' + V54len: + V58: + db 'WinChip 2' + V58len: + V59: + db 'WinChip 3' + V59len: + ;-------VIA + V66: + db 'C3 (Samuel)' ; Joshua is unreleased 065 + V66len: + V67: + db 'C3 (Samuel2/Ezra)' ; ? + V67len: + V68: + db 'C3 (Ezra-T/Eden)' ;? + V68len: + V69: + db 'C3 (Antaur/Nehemiah)' ;? + V69len: + VA: + db 'C7 (Esther)' ;? + VAlen: + ;---------Transmeta + T5: + db 'Crusoe' ; + T5len: + TF: + db 'Efficeon' ; + TFlen: + ;--------- + NG: + db 'Next generation CPU' + NGlen: + + stm: + if lang eq it - db 'Nome: ' + + db 'Nome: ' + else - db 'Internal name:' + + db 'Internal name:' + end if + + stmlen: -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 -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 -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) -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 + + +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 + +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 + +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) + +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 + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; + ; include images and unpacking- and hasharea -; -include 'logos.inc' ; include file where gif's are stored -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) +; + +include 'logos.inc' ; include file where gif's are stored ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - I_END: +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) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; RSA test data + align 4 + num1 rd 40 + num2 rd 40 + num3 rd 40 + iter rd 1 + openkey rd 1 + + IncludeUGlobals + + ost dd ? + sot dd ? + f dd ? + m dd ? + s dd ? + t dd ? + + ef dd ? + em dd ? + + multiplier dd ? + multa dd ? + multb dd ? + + smallvendor dd ? + L1d dd ? + L1i dd ? + L2 dd ? + L3 dd ? + micron dd ? + brand dd ? + + ram_size_a dd ? + ram_size_t dd ? + + stdc dd ? + extc dd ? + + FRS dd ? + freqsel db ? + sse3sup db ? + + freqbb dd ? + freqll dd ? + + wayli dd ? + lineli dd ? + + wayld dd ? + lineld dd ? + + wayl2 dd ? + linel2 dd ? + + wayl3 dd ? + linel3 dd ? + + ;number_of_log_cpus dd ? + + che db ? ; numbers of calls for Intel caches detection + + myname: + rb 48 + mynamelen: + + align 4 + + thread2_stack_area rb 64 + thread2_esp = $ -U_END: + +U_END: \ No newline at end of file diff --git a/programs/system/cpuid/trunk/HISTORY.TXT b/programs/system/cpuid/trunk/HISTORY.TXT index 5881ca4792..23494a4580 100644 --- a/programs/system/cpuid/trunk/HISTORY.TXT +++ b/programs/system/cpuid/trunk/HISTORY.TXT @@ -1,16 +1,16 @@ ;****************************************************************************** ; project name: CPUID ; target platform: KolibriOS, x86 (IA-32), x86-64 achitectures -; compability: CPUID works in MS Windows by means of emulator KlbrInWin from Diamond (http://diamondz.land.ru) -; compiler: flat assembler 1.67.21 -; version: 2.21 -; last update: 18th May 2007 +; compability: CPUID works in MS Windows by means of emulator KlbrInWin from Diamond http://board.kolibrios.org/viewtopic.php?f=23&t=1273 +; compiler: flat assembler 1.70.03 +; version: 2.28 +; last update: 23rd October 2013 ; maintained by: Sergey Kuzmin aka Wildwest ; e-mail: kuzmin_serg@list.ru ; site: http://coolthemes.narod.ru/files.html ;****************************************************************************** ; Summary: -; supported vendors - Intel, AMD, VIA, Cyrix, IDT (Centaur),Transmeta +; supported vendors - Intel, AMD, VIA, Cyrix, IDT (Centaur),Transmeta, Vortex86 ; displayed features - CPU frequency; ; Internal Name; ; Multiplier and System Clock frequency; @@ -34,14 +34,26 @@ ; update caches descriptors for intel Core 1/2 ; quantity of logical CPU/cores - requires APIC ID analysis ; newest AMD/Intel codename detection +; improve support of Vortex86 ;****************************************************************************** ;HISTORY: -;3.0: CPUID 18/05/2007 (not finished) +;2.3: CPUID 23/10/2013 (not finished) ;Authors: Sergey Kuzmin aka Wildwest +; Pavel Rymovskiy aka Heavyiron +; fedesco ;Features: +; (+) 'choose FSB' button removed and related code changed in the way it would use FSB value detected by Ghost's code; +; (+) fixed calculation of Extended model for newest Intel; +; (+) initial support of new vendor Vortex86 - logo, caches, technology; +; (+) Italian translation by fedesco; +; (+) makefile for *nix by fedesco; +; (+) new cache descriptors for Intel; +; (+) fixed typo, which makes output of Brand ID for AMD CPU's at incorrect place by Heavyiron; ; (+) fixed typo, which makes selection of incorrect codename for AMD F8x CPU's; ;Known issues: Sempron marked as AthlonXP ; second window doesn't closed when you close main window +; incorrect multiplier detection for newest CPU +; incorrect cache detection for several models of newest Intel CPU, because they designed for another cache detection approach ;----------------------------------------------------------------------------- ;2.2: CPUID 01/05/2007 ;Authors: Sergey Kuzmin aka Wildwest diff --git a/programs/system/cpuid/trunk/README.TXT b/programs/system/cpuid/trunk/README.TXT index cd639a03ad..3ca6aff70c 100644 --- a/programs/system/cpuid/trunk/README.TXT +++ b/programs/system/cpuid/trunk/README.TXT @@ -5,7 +5,7 @@ ENGLISH Hi! My name is Sergey Kuzmin aka Wildwest. This is one of the mostly famous program for KolibriOS/MenuetOS. I called it CPUID. CPUID talks with you CPU and show log. -Current version is 2.21 and you can use it on your own risk without any warranty. +Current version is 2.28 and you can use it on your own risk without any warranty. E-mail me (kuzmin_serg@list.ru) if you have some problems or suggestions. All righs on this program are mine, except parts of code written by other developers. @@ -31,14 +31,16 @@ People from international KolibriOS/MenuetOS team help me and I wish to mention Iliya Mikhailov (Russia) for piece of code from his great GMON; - Pavel Rymovskiy (Belarus) and Leency (Ukraine) for their work, which enhance look & feel of CPUID. + Pavel Rymovskiy (Belarus) and Kirill Lipatov (Ukraine) for their work, which enhance look & feel of CPUID + + fedesco (Italy) for makefile for compilation on *nix systems and for translation to Italian language. Also I want to thank folks which help me by testing and suggestions - Sonny, Smiddy and all the RU-Team. Please, test it and e-mail me screenshot. -The CPUID thread with announcements and discussion is at http://meos.sysbin.com/viewtopic.php?t=594 +The CPUID thread with announcements and discussion is at http://board.kolibrios.org/viewtopic.php?f=42&t=594 Bye... @@ -48,13 +50,13 @@ RUSSIAN Привет! Меня зовут Сергей Кузьмин aka Wildwest. Это одна из самых известных программ для KolibriOS/MenuetOS. Она называется CPUID и показывает результаты идентификации процессора. -Это версия 2.21 и ВЫ можете её использовать на свой собственный риск безо всяких гарантий. +Это версия 2.28 и ВЫ можете её использовать на свой собственный риск безо всяких гарантий. Если будут какие-то проблемы или предложения, то напишите мне (kuzmin_serg@list.ru). Все права на программу принадлежат мне, кроме прав на части, написанных остальными разработчиками. Следующие версии будут выкладываться на страничке: http://coolthemes.narod.ru/files.html -Люди из международной команды MenuetOS помогали мне и я хотел бы упомянуть их здесь: +Люди из международной команды KolibriOS/MenuetOS помогали мне и я хотел бы упомянуть их здесь: Ville Turjanmaa (Финляндия), написавшего MenuetOS; @@ -68,20 +70,22 @@ RUSSIAN Марата Закиянова (Россия) за его любезное предложение помочь с созданием дополнительного окна; - Андрея Халявина (Россия) за его терпение в процессе отладки теста произовительности ; + Андрея Халявина (Россия) за его терпение в процессе отладки теста произовительности; Евгения Гречникова (Россия) за чистку кода и оптимизацию; Илью Михайлова (Россия) за кусок кода из его замечательной программы GMON; - Павла Рымовского (Белоруссия) и Leency (Украина) за работу, спосособствовавшую улучшению внешнего вида CPUID. + Павла Рымовского (Белоруссия) и Кирилла Липатова (Украина) за работу, спосособствовавшую улучшению внешнего вида CPUID; + + fedesco (Италия) за makefile для компиляции в *nix-системах и перевод интерфейса на итальянский язык. Также я хочу поблагодарить людей, помогавших мне тестированием и предложениями - - Sonny, Smiddy и всю "советскую команду" KolibriOS/MenuetOS . + Sonny, Smiddy и всю "советскую команду" KolibriOS/MenuetOS. Пожалуйста, протестируйте программу и пришлите мне скриншот по e-mail. -До встреч на форуме(http://meos.sysbin.com/viewtopic.php?t=594). +До встреч на форуме http://board.kolibrios.org/viewtopic.php?f=42&t=594 diff --git a/programs/system/cpuid/trunk/caches.inc b/programs/system/cpuid/trunk/caches.inc index 5af4ade650..3093abcd31 100644 --- a/programs/system/cpuid/trunk/caches.inc +++ b/programs/system/cpuid/trunk/caches.inc @@ -1,22 +1,140 @@ ; Decoding cache L1,L2,L3 for Intel decodecache32: + call decodecache + + decodecache24: + shr eax, 8 + call decodecache + shr eax, 8 + call decodecache + shr eax, 8 + decodecache: comp0: cmp al, 00h je L000 -;-------L2 + +comp6: +cmp al, 06h +je kk6 + +comp7: +cmp al, 08h +je kk7 + +comp61: ;+1 +cmp al, 09h +je kk61 + +comp11: +cmp al, 0Ah +je kk11 +je Ld8 + + +comp13: +cmp al, 0Ch +je kk13 +je Ld16 + +comp62: ;+1 +cmp al, 0Dh +je kk15 + +comp63: ;+1 +cmp al, 0Eh +je kk63 + +comp14: +cmp al, 10h +je kk14 +je Ld16 + + +comp8: +cmp al, 15h +je kk8 + +comp48: +cmp al, 1Ah +je kk48 +je L96 + +comp64: ;+1 +cmp al, 21h +je kk23 + + +comp39: +cmp al, 22h +je kk39 +je L305 + +comp40: +cmp al, 23h +je kk40 +je L31 + +comp41: +cmp al, 25h +je kk41 +je L32 + +comp42: +cmp al, 29h +je kk42 +je L34 + +comp16: +cmp al, 2Ch +je kk16 +je Ld32 + +comp10: +cmp al, 30h +je kk10 + +comp18: +cmp al, 39h +je kk18 +je L128 + +comp49: +cmp al, 3Ah +je kk49 +je L192 + +comp19: +cmp al, 3Bh +je kk19 +je L128 + +comp22: +cmp al, 3Ch +je kk22 +je L256 + +comp50: +cmp al, 3Dh +je kk50 +je L384 + +comp51: +cmp al, 3Eh +je kk51 +je L512 comp1: cmp al, 41h @@ -43,18 +161,91 @@ cmp al, 45h je kk5 -;------------L1 inst -comp6: -cmp al, 06h -je kk6 +comp53: +cmp al, 46h +je kk53 +je L34 -comp7: -cmp al, 08h -je kk7 +comp54: +cmp al, 47h +je kk54 +je L38 -comp8: -cmp al, 15h -je kk8 +comp65: ;+1 +cmp al, 48h +je kk26 + + +comp55: +cmp al, 49h +je kk55 +je L34 + +comp56: +cmp al, 4Ah +je kk56 +je L36 + +comp57: +cmp al, 4Bh +je kk57 +je L38 + +comp58: +cmp al, 4Ch +je kk58 +je L312 + +comp59: +cmp al, 4Dh +je kk59 +je L316 + +comp60: +cmp al, 4Eh +je kk60 +je L6144 + +comp36: +cmp al, 60h +je kk36 +je Ld16 + +comp12: +cmp al, 66h +je kk12 +je Ld8 + +comp15: +cmp al, 67h +je kk15 +je Ld16 + +comp17: +cmp al, 68h +je kk17 +je Ld32 + +comp33: +cmp al, 70h +je kk33 +je Li12 + +comp34: +cmp al, 71h +je kk34 +je Li16 + +comp35: +cmp al, 72h +je kk35 +je Li32 + + +comp47: +cmp al, 73h +je kk47 +je Li64 comp9: @@ -62,242 +253,242 @@ cmp al, 77h je kk9 -comp10: -cmp al, 30h -je kk10 - -;---------------L1 data -comp11: -cmp al, 0Ah -je kk11 - -comp12: -cmp al, 66h -je kk12 - -comp13: -cmp al, 0Ch -je kk13 - -comp14: -cmp al, 10h -je kk14 - -comp15: -cmp al, 67h -je kk15 - -comp16: -cmp al, 2Ch -je kk16 - -comp17: -cmp al, 68h -je kk17 - -;-------L2 -comp18: -cmp al, 39h -je kk18 - -comp19: -cmp al, 3Bh -je kk19 - -comp20: -cmp al, 79h -je kk20 - -comp21: -cmp al, 81h -je kk21 - -comp22: -cmp al, 3Ch -je kk22 - -comp23: -cmp al, 7Ah -je kk23 - -comp24: -cmp al, 7Eh -je kk24 - -comp25: -cmp al, 82h -je kk25 - -comp26: -cmp al, 7Bh -je kk26 - -comp27: -cmp al, 83h -je kk27 - -comp28: -cmp al, 86h -je kk28 - -comp29: -cmp al, 7Ch -je kk29 - -comp30: -cmp al, 84h -je kk30 - -comp31: -cmp al, 87h -je kk31 - -comp32: -cmp al, 85h -je kk32 - -;-----L1 Trace instr - -comp33: -cmp al, 70h -je kk33 - -comp34: -cmp al, 71h -je kk34 - -comp35: -cmp al, 72h -je kk35 - -;----New codes - -comp36: -cmp al, 60h -je kk36 comp37: cmp al, 78h je kk37 +je L1024 + + + +comp20: +cmp al, 79h +je kk20 +je L128 + +comp23: +cmp al, 7Ah +je kk23 +je L256 + + +comp26: +cmp al, 7Bh +je kk26 +je L512 + +comp29: +cmp al, 7Ch +je kk29 +je L1024 comp38: cmp al, 7Dh je kk38 +je L2048 -;---- L3 -comp39: -cmp al, 22h -je kk39 - -comp40: -cmp al, 23h -je kk40 - -comp41: -cmp al, 25h -je kk41 - -comp42: -cmp al, 29h -je kk42 - -comp43: -cmp al, 88h -je kk43 - -comp44: -cmp al, 89h -je kk44 - -comp45: -cmp al, 8Ah -je kk45 - -comp46: -cmp al, 8Dh -je kk46 - -;============= v. 2.04 -comp47: -cmp al, 73h -je kk47 - -comp48: -cmp al, 1Ah -je kk48 - -comp49: -cmp al, 3Ah -je kk49 - -comp50: -cmp al, 3Dh -je kk50 - -comp51: -cmp al, 3Eh -je kk51 +comp24: +cmp al, 7Eh +je kk24 +je L256 comp52: cmp al, 7Fh je kk52 +je L512 -comp53: -cmp al, 46h -je kk53 -comp54: -cmp al, 47h -je kk54 +comp66: +cmp al, 80h +je kk21 -comp55: -cmp al, 49h -je kk55 -comp56: -cmp al, 4Ah +comp21: +cmp al, 81h +je kk21 +je L128 + + +comp25: +cmp al, 82h +je kk25 +je L256 + + +comp27: +cmp al, 83h +je kk27 +je L512 + + +comp30: +cmp al, 84h +je kk30 +je L1024 + +comp32: +cmp al, 85h +je kk32 +je L2048 + +comp28: +cmp al, 86h +je kk28 +je L512 + +comp31: +cmp al, 87h +je kk31 +je L1024 + +comp43: +cmp al, 88h +je kk43 +je L32 + +comp44: +cmp al, 89h +je kk44 +je L34 + +comp45: +cmp al, 8Ah +je kk45 +je L38 + +comp46: +cmp al, 8Dh +je kk46 +je L34 + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;comp67: ;+1 +;cmp al, 208 ; D0h +;je kk39 + +;comp68: ;+1 +;cmp al, 209 ; D1h +;je kk68 + +;comp69: ;+1 +;cmp al, 210 ; D2h +;je kk43 + +;comp70: ;+1 +;cmp al, 214 ; D6h +;je kk40 + +;comp71: ;+1 +;cmp al, 215 ; D7h +;je kk41 + +;comp72: ;+1 +;cmp al, 216 ;D8h +;je kk42 + +;comp73: ;+1 +;cmp al, 220 ; DCh +;je kk73 + +;comp74: ;+1 +;cmp al, 221 ;DDh +;je kk74 + +;comp75: ;+1 +;cmp al, 222 ;DEh +;je kk56 + +;comp76: ;+1 +;cmp al, 226 ;E2h +;je kk76 + +;comp77: ;+1 +;cmp al, 227 ;E3h +;je kk55 + +;comp78: ;+1 +;cmp al, 228 ;E4h +;je kk57 + +;comp79: ;+1 +;cmp al, 234 ;EAh +;je kk79 + +;comp80: ;+1 +;cmp al, 235 ;EBh +;je kk80 + +;comp81: ;+1 +;cmp al, 236 ;ECh +;je kk81 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +comp67: ;+1 +cmp al, 0D0h +je kk39 + +comp68: ;+1 +cmp al, 0D1h +je kk68 + +comp69: ;+1 +cmp al, 0D2h +je kk43 + +comp70: ;+1 +cmp al, 0D6h +je kk40 + +comp71: ;+1 +cmp al, 0D7h +je kk41 + +comp72: ;+1 +cmp al, 0D8h +je kk42 + +comp73: ;+1 +cmp al, 0DCh +je kk73 + +comp74: ;+1 +cmp al, 0DDh +je kk74 + +comp75: ;+1 +cmp al, 0DEh je kk56 -comp57: -cmp al, 4Bh +comp76: ;+1 +cmp al, 0E2h +je kk76 + +comp77: ;+1 +cmp al, 0E3h +je kk55 + +comp78: ;+1 +cmp al, 0E4h je kk57 -comp58: -cmp al, 4Ch -je kk58 +comp79: ;+1 +cmp al, 0EAh +je kk79 -comp59: -cmp al, 4Dh -je kk59 +comp80: ;+1 +cmp al, 0EBh +je kk80 -ret +comp81: ;+1 +cmp al, 0ECh +je kk81 +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +jne L000 ;------------------ -kk1: -mov [wayl2], 4 -mov [linel2], 32 -jmp L128 -kk2: -mov [wayl2], 4 -mov [linel2], 32 -jmp L256 - -kk3: -mov [wayl2], 4 -mov [linel2], 32 -jmp L512 - -kk4: -mov [wayl2], 4 -mov [linel2], 32 -jmp L1024 - -kk5: -mov [wayl2], 4 -mov [linel2], 32 -jmp L2048 -;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;; L1 instr kk6: mov [wayli], 4 mov [lineli], 32 @@ -318,6 +509,32 @@ mov [wayli], 4 mov [lineli], 64 jmp Li16 +kk61: +mov [wayli], 4 ;+1 +mov [lineli], 64 +jmp Li32 + + +kk33: +mov [wayli], 8 +;mov [lineli], 32 +jmp Li12 + +kk34: +mov [wayli], 8 +;mov [lineli], 32 +jmp Li16 + +kk35: +mov [wayli], 8 +;mov [lineli], 32 +jmp Li32 + +kk47: +mov [wayli], 8 +;mov [lineli], 32 +jmp Li64 + kk10: mov [wayli], 8 mov [lineli], 64 @@ -359,40 +576,36 @@ kk17: mov [wayld], 4 mov [lineld], 64 jmp Ld32 -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -kk18: -mov [wayl2], 4 -mov [linel2], 64 -jmp L128 +kk63: +mov [wayld], 6 +mov [lineld], 64 +jmp Ld24 + +kk36: +mov [wayld], 8 +mov [lineld], 64 +jmp Ld16 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;; L2 kk19: mov [wayl2], 2 mov [linel2], 64 jmp L128 -kk20: -mov [wayl2], 8 +kk52: +mov [wayl2], 2 mov [linel2], 64 -jmp L128 +jmp L512 -kk21: -mov [wayl2], 8 +kk1: +mov [wayl2], 4 mov [linel2], 32 jmp L128 -kk22: +kk2: mov [wayl2], 4 -mov [linel2], 64 -jmp L256 - -kk23: -mov [wayl2], 8 -mov [linel2], 64 -jmp L256 - -kk24: -mov [wayl2], 8 -mov [linel2], 128 +mov [linel2], 32 jmp L256 kk25: @@ -400,18 +613,93 @@ mov [wayl2], 4 mov [linel2], 32 jmp L256 -kk26: -mov [wayl2], 8 +kk3: +mov [wayl2], 4 +mov [linel2], 32 +jmp L512 + +kk4: +mov [wayl2], 4 +mov [linel2], 32 +jmp L1024 + +kk5: +mov [wayl2], 4 +mov [linel2], 32 +jmp L2048 + +kk18: +mov [wayl2], 4 +mov [linel2], 64 +jmp L128 + +kk22: +mov [wayl2], 4 +mov [linel2], 64 +jmp L256 + +kk28: +mov [wayl2], 4 mov [linel2], 64 jmp L512 +kk51: +mov [wayl2], 4 +mov [linel2], 64 +jmp L512 + +kk37: +mov [wayl2], 4 +mov [linel2], 64 +jmp L1024 + +kk48: +mov [wayl2], 6 +mov [linel2], 64 +jmp L96 + +kk49: +mov [wayl2], 6 +mov [linel2], 64 +jmp L192 + +kk50: +mov [wayl2], 6 +mov [linel2], 64 +jmp L384 + +kk21: +mov [wayl2], 8 +mov [linel2], 32 +jmp L128 + kk27: mov [wayl2], 8 mov [linel2], 32 jmp L512 -kk28: -mov [wayl2], 4 +kk30: +mov [wayl2], 8 +mov [linel2], 32 +jmp L1024 + +kk32: +mov [wayl2], 8 +mov [linel2], 32 +jmp L2048 + +kk20: +mov [wayl2], 8 +mov [linel2], 64 +jmp L128 + +kk23: +mov [wayl2], 8 +mov [linel2], 64 +jmp L256 + +kk26: +mov [wayl2], 8 mov [linel2], 64 jmp L512 @@ -420,51 +708,31 @@ mov [wayl2], 8 mov [linel2], 64 jmp L1024 -kk30: -mov [wayl2], 8 -mov [linel2], 32 -jmp L1024 - kk31: mov [wayl2], 8 mov [linel2], 64 jmp L1024 -kk32: -mov [wayl2], 8 -mov [linel2], 32 -jmp L2048 -;;;;;;;;;;;;;;;;;;;;;;;;; -kk33: -mov [wayli], 8 -;mov [lineli], 32 -jmp Li12 - -kk34: -mov [wayli], 8 -;mov [lineli], 32 -jmp Li16 - -kk35: -mov [wayli], 8 -;mov [lineli], 32 -jmp Li32 -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -kk36: -mov [wayld], 8 -mov [lineld], 64 -jmp Ld16 - -kk37: -mov [wayl2], 4 -mov [linel2], 64 -jmp L1024 - kk38: mov [wayl2], 8 mov [linel2], 64 jmp L2048 -;;;;;;;;;;;;;;;;;;;;;;;;; + +kk24: +mov [wayl2], 8 +mov [linel2], 128 +jmp L256 + +kk65: +mov [wayl2], 12 +mov [linel2], 64 +jmp L3072 + +kk60: +mov [wayl2], 24 +mov [linel2], 64 +jmp L6144 +;;;;;;;;;;;;;;;;;;;;;;;;; L3 kk39: mov [wayl3], 4 mov [linel3], 64 @@ -500,75 +768,81 @@ mov [wayl3], 4 mov [linel3], 64 jmp L38 -kk46: -mov [wayl3], 12 -mov [linel3], 128 -jmp L33 -;;;;;;;;;;;;;;;;;;;;;; -kk47: -mov [wayli], 8 -;mov [lineli], 32 -jmp Li64 - -kk48: -mov [wayl2], 6 -mov [linel2], 64 -jmp L96 - -kk49: -mov [wayl2], 6 -mov [linel2], 64 -jmp L192 - -kk50: -mov [wayl2], 6 -mov [linel2], 64 -jmp L384 - -kk51: -mov [wayl2], 4 -mov [linel2], 64 -jmp L512 - -kk52: -mov [wayl2], 2 -mov [linel2], 64 -jmp L512 - kk53: mov [wayl3], 4 mov [linel3], 64 jmp L34 +kk68: +mov [wayl3], 4 +mov [linel3], 64 +jmp L31 + kk54: mov [wayl3], 8 mov [linel3], 64 jmp L38 -kk55: -mov [wayl3], 16 +kk74: +mov [wayl3], 12 mov [linel3], 64 -jmp L34 +jmp L33 + +kk73: +mov [wayl3], 12 +mov [linel3], 64 +jmp L315 kk56: mov [wayl3], 12 mov [linel3], 64 jmp L36 -kk57: -mov [wayl3], 16 -mov [linel3], 64 -jmp L38 - kk58: mov [wayl3], 12 mov [linel3], 64 jmp L312 +kk46: +mov [wayl3], 12 +mov [linel3], 128 +jmp L33 + +kk76: +mov [wayl3], 16 +mov [linel3], 64 +jmp L32 + +kk55: +mov [wayl3], 16 +mov [linel3], 64 +jmp L34 + +kk57: +mov [wayl3], 16 +mov [linel3], 64 +jmp L38 + kk59: mov [wayl3], 16 mov [linel3], 64 jmp L316 + +kk79: +mov [wayl3], 24 +mov [linel3], 64 +jmp L312 + +kk80: +mov [wayl3], 24 +mov [linel3], 64 +jmp L318 + +kk81: +mov [wayl3], 24 +mov [linel3], 64 +jmp L324 + ;------------------ Li8: mov [L1i], 8 @@ -598,6 +872,10 @@ Ld16: mov [L1d], 16 jmp L000 +Ld24: +mov [L1d], 24 +jmp L000 + Ld32: mov [L1d], 32 jmp L000 @@ -634,6 +912,14 @@ L2048: mov [L2], 2048 jmp L000 +L3072: +mov [L2], 3072 +jmp L000 + +L6144: +mov [L2], 6144 +jmp L000 + L305: mov [L3], 512 jmp L000 @@ -642,6 +928,10 @@ L31: mov [L3], 1024 jmp L000 +L315: +mov [L3], 1536 +jmp L000 + L32: mov [L3], 2048 jmp L000 @@ -668,9 +958,15 @@ jmp L000 L316: mov [L3], 16384 -;jmp L000 +jmp L000 +L318: +mov [L3], 18432 +jmp L000 +L324: +mov [L3], 24576 +jmp L000 L000: -ret +ret \ No newline at end of file diff --git a/programs/system/cpuid/trunk/logos.inc b/programs/system/cpuid/trunk/logos.inc index cee5013978..4bee3a65dd 100644 --- a/programs/system/cpuid/trunk/logos.inc +++ b/programs/system/cpuid/trunk/logos.inc @@ -16,5 +16,9 @@ file 'transmet.gif' ;include gif file via: file 'via.gif' ;include gif file +vortex: +file 'vortex.gif' ;include gif file + knopka: file 'knopka.gif' ;include gif file + diff --git a/programs/system/cpuid/trunk/multipli.inc b/programs/system/cpuid/trunk/multipli.inc index c6a9bcda20..8a3081adba 100644 --- a/programs/system/cpuid/trunk/multipli.inc +++ b/programs/system/cpuid/trunk/multipli.inc @@ -1,12 +1,20 @@ newrating: -cmp [FRS], 266 -jz f266 -cmp [FRS], 333 -jz f333 -cmp [FRS], 400 -jz f400 +cmp [freqbb], 151 +jl f266 +cmp [freqbb], 150 +ja ft + +jmp vyxod +ft: + +cmp [freqbb], 180 +ja f400 + +cmp [freqbb], 181 +jl f333 +jmp vyxod f266: ;формулы вычисления XP-рейтинга Athlon-ов (Tbred, Barton): @@ -14,6 +22,7 @@ f266: ;XP+ (Freq<2000MHz) = 1000 + (Freq-1000)*1,5 = Freq*1.5-500 ;XP+ (Freq>=2000MHz) = 900 + (Freq-1000)*1,5 = Freq*1.5-600 + mov [FRS], 266 cmp [total], 2000 jl pal @@ -41,7 +50,7 @@ jmp vyxod f333: - +mov [FRS], 333 cmp [L2], 256 @@ -97,7 +106,7 @@ jmp vyxod jmp vyxod f400: - +mov [FRS], 400 ;FSB400/512kB: ;XP+ = Freq*1.5 - 100 diff --git a/programs/system/cpuid/trunk/vortex.gif b/programs/system/cpuid/trunk/vortex.gif new file mode 100644 index 0000000000..c56c0e044f Binary files /dev/null and b/programs/system/cpuid/trunk/vortex.gif differ