Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 7441 → Rev 7442

/programs/system/cpuid/trunk/Build.bat
1,2 → 1,4
fasm cpuid.asm cpuid
pause
@echo lang fix en >lang.inc
@fasm cpuid.asm cpuid
@pause
@erase lang.inc
/programs/system/cpuid/trunk/CPUID.ASM
2,12 → 2,12
; 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 *
; 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-2014 Sergey Kuzmin and co-authors *
; 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); *
30,6 → 30,8
 
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
46,6 → 48,7
START:
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
;-----------------------------------------------------------------------------
273,6 → 276,7
jmp red
 
.noname:
 
red:
 
;mov byte [multiplier], 115; ; for testing
519,7 → 523,7
jz A8
jmp AA
@@:
Text 100,70,0x80000000
mov [cname], edx
jmp MMXtest
A6:
;mov [FRS], 266 ;!!!!!!
888,7 → 892,7
cmp [m],$8
jz .I8
.I0:
Text 110,70,0x00000000,P50, P50len-P50
mov [cname], P50
mov esi, P50
mov edi, saveproc + 0x6
call concatname
898,7 → 902,7
mov [micron], 80
jmp MMXtest
.I1:
Text 110,70,0x00000000,P5, P5len-P5
mov [cname], P5
mov esi, P5
mov edi, saveproc + 0x6
call concatname
909,7 → 913,7
jmp MMXtest
 
.I2:
Text 110,70,0x00000000,P54C, P54Clen-P54C
mov [cname], P54C
mov esi, P54C
mov edi, saveproc + 0x6
call concatname
920,7 → 924,7
jmp MMXtest
 
.I3:
Text 110,70,0x00000000,P54T, P54Tlen-P54T
mov [cname], P54T
mov esi, P54T
mov edi, saveproc + 0x6
call concatname
931,7 → 935,7
jmp MMXtest
 
.I4:
Text 110,70,0x00000000,P55C, P55Clen-P55C
mov [cname], P55C
mov esi, P55C
mov edi, saveproc + 0x6
call concatname
943,7 → 947,7
 
 
.I7:
Text 110,70,0x00000000,P54C, P54Clen-P54C
mov [cname], P54C
mov esi, P54C
mov edi, saveproc + 0x6
call concatname
954,7 → 958,7
jmp MMXtest
 
.I8:
Text 110,70,0x00000000,P55C, P55Clen-P55C
mov [cname], P55C
mov esi, P55C
mov edi, saveproc + 0x6
call concatname
998,7 → 1002,7
jz .I6F
.I60:
mov [micron], 50
Text 110,70,0x00000000,P60, P60len-P60
mov [cname], P60
mov esi, P60
mov edi, saveproc + 0x6
call concatname
1006,7 → 1010,7
 
.I61:
mov [micron], 35
Text 110,70,0x00000000,P61, P61len-P61
mov [cname], P61
mov esi, P61
mov edi, saveproc + 0x6
call concatname
1014,7 → 1018,7
 
.I63:
mov [micron], 28
Text 110,70,0x00000000,P63, P63len-P63
mov [cname], P63
mov esi, P63
mov edi, saveproc + 0x6
call concatname
1024,7 → 1028,7
mov [micron], 25
cmp [L2], 0
jne .pp65 ; Pentium
Text 110,70,0x00000000,P65c, P65clen-P65c
mov [cname], P65c
mov esi, P65c
mov edi, saveproc + 0x6
call concatname
1031,7 → 1035,7
jmp MMXtest
 
.pp65:
Text 110,70,0x00000000,P65, P65len-P65
mov [cname], P65
mov esi, P65
mov edi, saveproc + 0x6
call concatname
1038,7 → 1042,7
jmp MMXtest
.I66:
mov [micron], 25
Text 110,70,0x00000000,P66, P66len-P66
mov [cname], P66
mov esi, P66
mov edi, saveproc + 0x6
call concatname
1045,7 → 1049,8
jmp MMXtest
.I67:
mov [micron], 25
Text 110,70,0x00000000,P67, P67len-P67 ;but if SSE4.1 supported then it is Intel Core (Penryn)
;but if SSE4.1 supported then it is Intel Core (Penryn)
mov [cname], P67
mov esi, P67
mov edi, saveproc + 0x6
call concatname
1055,7 → 1060,7
mov [micron], 18
cmp [L2], 128
jne .pp68 ; Pentium
Text 110,70,0x00000000,P68c, P68clen-P68c
mov [cname], P68c
mov esi, P68c
mov edi, saveproc + 0x6
call concatname
1062,7 → 1067,7
jmp MMXtest
 
.pp68:
Text 110,70,0x00000000,P68, P68len-P68
mov [cname], P68
mov esi, P68
mov edi, saveproc + 0x6
call concatname
1070,7 → 1075,7
 
.I69:
mov [micron], 13
Text 110,70,0x00000000,P69 , P69len-P69
mov [cname], P69
mov esi, P69
mov edi, saveproc + 0x6
call concatname
1078,7 → 1083,8
 
.I6A:
mov [micron], 18
Text 110,70,0x00000000,P6A, P6Alen-P6A ;but if SSE4.2 supported then it is Intel Core (Nehalem)
;but if SSE4.2 supported then it is Intel Core (Nehalem)
mov [cname], P6A
mov esi, P6A
mov edi, saveproc + 0x6
call concatname
1088,7 → 1094,7
mov [micron], 13
cmp [L2], 256
jne .pp6B ; Pentium
Text 110,70,0x00000000,P6Bc, P6Bclen-P6Bc
mov [cname], P6Bc
mov esi, P6Bc
mov edi, saveproc + 0x6
call concatname
1095,7 → 1101,7
jmp MMXtest
 
.pp6B:
Text 110,70,0x00000000,P6B, P6Blen-P6B
mov [cname], P6B
mov esi, P6B
mov edi, saveproc + 0x6
call concatname
1103,7 → 1109,7
 
.I6D:
mov [micron], 9
Text 110,70,0x00000000,P6D, P6Dlen-P6D
mov [cname], P6D
mov esi, P6D
mov edi, saveproc + 0x6
call concatname
1111,7 → 1117,7
 
.I6E:
mov [micron], 6
Text 110,70,0x00000000,P6E, P6Elen-P6E
mov [cname], P6E
mov esi, P6E
mov edi, saveproc + 0x6
call concatname
1119,7 → 1125,7
 
.I6F:
mov [micron], 6
Text 110,70,0x00000000,P6F, P6Flen-P6F
mov [cname], P6F
mov esi, P6F
mov edi, saveproc + 0x6
call concatname
1177,7 → 1183,6
 
I3A:
mov [micron], 32
;Text 110,70,0x00000000,P3A, P3Alen-P3A
mov [cname], P3A
mov esi, P3A
mov edi, saveproc + 0x10
1186,7 → 1191,6
 
I2A:
mov [micron], 32
;Text 110,70,0x00000000,P2A, P2Alen-P2A
mov [cname], P2A
mov esi, P2A
mov edi, saveproc + 0x10
1195,7 → 1199,6
 
I2D:
mov [micron], 32
;Text 110,70,0x00000000,P2D, P2Dlen-P2D
mov [cname], P2D
mov esi, P2D
mov edi,saveproc + 0x10
1204,7 → 1207,6
 
I25:
mov [micron], 32
;Text 110,70,0x00000000,P25, P25len-P25
mov [cname], P25 ;P25
mov esi, P25
mov edi, saveproc + 0x10 ;12
1213,7 → 1215,6
 
I2C:
mov [micron], 32
;Text 110,70,0x00000000,P2C, P2Clen-P2C
mov [cname], P2C
mov esi, P2C
mov edi,saveproc + 0x10
1222,7 → 1223,6
 
I2F:
mov [micron], 32
;Text 110,70,0x00000000,P2F, P2Flen-P2F
mov [cname], P2F
mov esi, P2F
mov edi, saveproc + 0x10
1231,7 → 1231,6
 
I1E:
mov [micron], 32
;Text 110,70,0x00000000,P1E, P1Elen-P1E
mov [cname], P1E
mov esi, P1E
mov edi, saveproc + 0x10
1240,7 → 1239,6
 
I1A:
mov [micron], 45
;Text 110,70,0x00000000,P1A, P1Alen-P1A
mov [cname], P1A
mov esi, P1A
mov edi, saveproc + 0x10
1249,7 → 1247,6
 
I2E:
mov [micron], 45
;Text 110,70,0x00000000,P2E, P2Elen-P2E
mov [cname], P2E
mov esi, P2E
mov edi, saveproc + 0x10
1258,7 → 1255,6
 
I17:
mov [micron], 45
;Text 110,70,0x00000000,P17, P17len-P17
mov [cname], P17
mov esi, P17
mov edi, saveproc + 0x10
1267,7 → 1263,6
 
I1D:
mov [micron], 45
;Text 110,70,0x00000000,P1D, P1Dlen-P1D
mov [cname], P1D
mov esi, P1D
mov edi, saveproc + 0x10
1276,7 → 1271,6
 
I0F:
mov [micron], 65
;Text 110,70,0x00000000,P0F, P0Flen-P0F
mov [cname], P0F
mov esi, P0F
mov edi, saveproc + 0x10
1285,7 → 1279,6
 
I16:
mov [micron], 65
;Text 110,70,0x00000000,P16, P16len-P16
mov [cname], P16
mov esi, P16
mov edi, saveproc + 0x10
1294,7 → 1287,6
 
I06:
mov [micron], 32
;Text 110,70,0x00000000,P06, P06len-P06
mov [cname], P06
mov esi, P06
mov edi, saveproc + 0x10
1303,7 → 1295,6
 
I03:
mov [micron], 32
;Text 110,70,0x00000000,P03, P03len-P03
mov [cname], P03
mov esi, P03
mov edi, saveproc + 0x10
1312,7 → 1303,6
 
I0D:
mov [micron], 32
;Text 110,70,0x00000000,P0D, P0Dlen-P0D
mov [cname], P0D
mov esi, P0D
mov edi, saveproc + 0x10
1321,7 → 1311,6
 
I36:
mov [micron], 32
;Text 110,70,0x00000000,P36, P36len-P36
mov [cname], P36
mov esi, P36
mov edi, saveproc + 0x10
1330,7 → 1319,6
 
I26:
mov [micron], 32
;Text 110,70,0x00000000,P26, P26len-P26
mov [cname], P26
mov esi, P26
mov edi, saveproc + 0x10
1339,7 → 1327,6
 
I1C:
mov [micron], 32
;Text 110,70,0x00000000,P1C, P1Clen-P1C
mov [cname], P1C
mov esi, P1C
mov edi, saveproc + 0x10
1353,7 → 1340,7
 
Text 15, 190,0x00000000,cache, cachelen-cache
mov [micron], 18
Text 110,70,0x00000000,PS0, PS0len-PS0
mov [cname], PS0
mov esi, PS0
mov edi, saveproc + 0x6
call concatname
1382,13 → 1369,13
mov [micron], 18
cmp [L2], 128
jne .ppF0 ; Pentium
Text 110,70,0x00000000,PF0c, PF0clen-PF0c
mov [cname], PF0c
mov esi, PF0c
mov edi, saveproc + 0x6
call concatname
jmp MMXtest
.ppF0:
Text 110,70,0x00000000,PF0, PF0len-PF0
mov [cname], PF0
mov esi, PF0
mov edi, saveproc + 0x6
call concatname
1405,7 → 1392,7
; mcall
;jmp MMXtest
;.ppF1:
Text 110,70,0x00000000,PF0, PF0len-PF0
mov [cname], PF0
mov esi, PF0
mov edi, saveproc + 0x6
call concatname
1414,13 → 1401,13
mov [micron], 13
cmp [L2], 128
jne .ppF2 ; Pentium
Text 110,70,0x00000000,PF2c, PF2clen-PF2c
mov [cname], PF2c
mov esi, PF2c
mov edi, saveproc + 0x6
call concatname
jmp MMXtest
.ppF2:
Text 110,70,0x00000000,PF2, PF2len-PF2
mov [cname], PF2
mov esi, PF2
mov edi, saveproc + 0x6
call concatname
1429,13 → 1416,13
mov [micron], 09
cmp [L2], 256
jne .ppF3 ; Pentium
Text 110,70,0x00000000,PF3c, PF3clen-PF3c
mov [cname], PF3c
mov esi, PF3c
mov edi, saveproc + 0x6
call concatname
jmp MMXtest
.ppF3:
Text 110,70,0x00000000,PF3, PF3len-PF3
mov [cname], PF3
mov esi, PF3
mov edi, saveproc + 0x6
call concatname
1445,13 → 1432,13
mov [micron], 09
cmp [L2], 512
jae .ppF5 ; Pentium
Text 110,70,0x00000000,PF5c, PF5clen-PF5c
mov [cname], PF5c
mov esi, PF5c
mov edi, saveproc + 0x6
call concatname
jmp MMXtest
.ppF5:
Text 110,70,0x00000000,PF5, PF5len-PF5
mov [cname], PF5
mov esi, PF5
mov edi, saveproc + 0x6
call concatname
1461,13 → 1448,13
mov [micron], 06 ; 065
cmp [L2], 512
ja .ppF6 ; Pentium
Text 110,70,0x00000000,PF6c, PF6clen-PF6c
mov [cname], PF6c
mov esi, PF6c
mov edi, saveproc + 0x6
call concatname
jmp MMXtest
.ppF6:
Text 110,70,0x00000000,PF6, PF6len-PF6
mov [cname], PF6
mov esi, PF6
mov edi, saveproc + 0x6
call concatname
1475,7 → 1462,7
 
 
next_generation:
Text 110,70,0x00000000,NG, NGlen-NG
mov [cname], NG
mov esi, NG
mov edi, saveproc + 0x6
call concatname
1509,7 → 1496,7
mov esi, Cyrixn
mov edi, saveproc
call concatname
Text 110,70,0x00000000,C52, C52len-C52
mov [cname], C52
mov esi, C52
mov edi, saveproc + 0x6
call concatname
1523,7 → 1510,7
mov esi, Cyrixn
mov edi, saveproc
call concatname
Text 110,70,0x00000000,C54, C54len-C54
mov [cname], C54
mov esi, C54
mov edi, saveproc + 0x6
call concatname
1543,7 → 1530,7
mov esi, Cyrixn
mov edi, saveproc
call concatname
Text 110,70,0x00000000,C60, C60len-C60
mov [cname], C60
mov esi, C60
mov edi, saveproc + 0x6
call concatname
1837,7 → 1824,6
mov esi, Vortexn
mov edi, saveproc
call concatname
;Text 110,70,0x00000000,V54, V54len-V54
jmp MMXtest
 
;---------------------
1851,6 → 1837,7
call decode_standard_features
 
call decode_extended_features
 
xor eax,eax
inc eax
cpuid
1960,6 → 1947,7
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
 
1977,32 → 1965,6
; 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, 18
mov ebx, 16
mcall
 
shr eax, 10
 
mov [ram_size_a], eax
 
mov eax, 18
mov ebx, 17
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
2009,7 → 1971,6
 
cmp eax,1 ;
je red ; redraw
je red2
cmp eax,2 ;
je key ; key
cmp eax,3 ;
2049,7 → 2010,6
thread_start:
 
cmp [num_win2],0
 
jne still
 
;================================================RSA test
2315,37 → 2275,22
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
 
 
Button 15,380,92,23,3+0x40000000,0x03FFFFFF ; button "save"
 
mov esi, knopka2
mov edi, img_area3
call ReadGIF
PutImage 15,380,93,24,img_area3+8 ; image "save"
; place size
 
mov eax,12
mov ebx,2h
mcall
 
Text 130,270,0x00000000,instruct, instructlen-instruct
DrawLine 10, 330, 340,340,0x8080FF
DrawLine 330, 330, 275,340;,0x8080FF
2364,8 → 2309,6
call newrating; !!!!
 
cont:
Text 15,50,0x00000000,tsum, tsumlen-tsum ;
 
;Number 82,50,0,4,dword [total],0x000000; MHz
mov esi, total
mov edi, tsum + 0xB ;0xA
2510,6 → 2453,7
 
Text 15,250,,brandid, brandidlen-brandid
 
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
2531,17 → 2475,10
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
 
Number 270,350,0,4,dword [ram_size_t]
Text 300,350,0x00000000,mb, mblen-mb
 
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
2566,6 → 2503,7
je codeNTransmeta
cmp [codeN], $6
je codeNVortex
jmp nnn
 
codeNIntel:
Text 75,70,0x00000000,Inteln, Intelnlen-Inteln
2637,6 → 2575,8
;-
Text 15,250,,brandid, brandidlen-brandid
 
mcall SF_REDRAW, SSF_END_DRAW
 
ret ;
 
call_OpenDialog:
2671,6 → 2611,7
test eax,eax
jnz @r
ret
 
;-----------------------------------------------------------------------------
prepare_text_area:
mov edi,[store_text_area_start]
3033,7 → 2974,7
 
numbertostring:
mov bx, 10
xor cx, cx
xor ecx, ecx
@@m1:
xor dx, dx
div bx
3081,7 → 3022,7
 
; 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
3156,7 → 3097,7
 
multil2:
 
db 'Multiplier .'
db 'Multiplier: . '
 
multil2len:
 
3173,7 → 3114,7
 
freql2:
 
db 'System clock . MHz'
db 'System clock: . MHz'
 
 
freql2len:
3329,28 → 3270,6
 
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
4288,7 → 4207,10
db '/sys/'
start_temp_file_name:
db 'CPUID.txt',0
 
btn_more_cap:
db 'Details', 0
btn_save_cap:
db 'Save', 0
;---------------------------------------------------------------------
align 4
fileinfo:
4300,6 → 4222,9
db 0
.name: dd file_name
 
align 4
sc system_colors
 
store_text_area_start dd ?
store_text_area_end dd ?
store_text_size dd ?
/programs/system/cpuid/trunk/amd.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/cpuid/trunk/cyrix.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/cpuid/trunk/idt.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/cpuid/trunk/intel.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/cpuid/trunk/logos.inc
18,9 → 18,3
 
vortex:
file 'vortex.gif' ;include gif file
 
knopka:
file 'knopka.gif' ;include gif file
 
knopka2:
file 'knopka2.gif' ;gif button Save in file
/programs/system/cpuid/trunk/transmet.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/cpuid/trunk/via.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/cpuid/trunk/vortex.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream