/programs/system/gmon/gmon.asm |
---|
35,6 → 35,7 |
; 12 - Update time decriment (tab_conf.inc) |
; 13..17 - Èçìåíåíèå öâåòà CPU_load, Mem_usage, Temp1, Temp2, Temp3 |
include 'lang.inc' |
include 'config.inc' |
include 'macros.inc' |
70,7 → 71,7 |
shr ecx, 12 |
and cl, 11b |
mov [CPU_type], cl |
; ! Öâåòà èç ìàññèâà colors |
mov dword[d_cpu_load], 0xFF00 ; èíèöèàëèçèðóåì ãðàôèê çàãðóçêè ÀËÓ |
mov dword[d_mem_usage], 0x8BA169 ; -- mem usega |
129,7 → 130,7 |
; åñëè íåò çàïóùåíûõ òåñòîâ - çàïóñêàåì âûáðàííûé |
cmp byte[test_id], 0 |
je run_test |
; åñëè êíîïêà àêòèâíîãî òåñòà - îñòàíàâëèâàåì òåñò, èíà÷å íè÷åãî íå äåëàåì |
; åñëè êíîïêà àêòèâíîãî òåñòà - îñòàíàâëèâàåì òåñò, èíà÷å íè÷åãî íå äåëàåì |
cmp [test_id], ah |
jne wait_for_event |
call stop_test |
212,16 → 213,16 |
int 0x40 |
cmp cx, 230 ; ïðèâÿçàíî ê êîîðäèíàòàì îêíà |
jl @b |
; Ïèøèì íàçâàíèÿ ïàðàìåòðîâ (Cpu load, temper, etc...) |
mov edx, msgs_mon |
mov ebx, 17 * 65536 + 30 |
call show_text |
mov edx, msgs_mon2 |
mov ebx, 156 * 65536 + 30 |
call show_text |
; Ðèñóåì êíîïêè ñìåíû öâåòà |
mov eax, 8 |
mov ebx, 112 * 65536 + 5 |
234,7 → 235,7 |
inc edx |
cmp edx, 13 + 5 ; 5 êíîïîê |
jne @b |
; Ïèøèì çàãðóçêó ïðîöåññîðà |
call cpu_usage |
;--- äîáàâëÿåì íà ãðàôèê --- |
248,7 → 249,7 |
xor esi, esi |
call digit_len |
int 0x40 |
; Ïèøèì èñïîëüçóåìóþ ïàìÿòü |
call mem_usage |
;--- äîáàâëÿåì íà ãðàôèê --- |
262,7 → 263,7 |
xor esi, esi |
call digit_len |
int 0x40 |
cmp byte[hwm_enable], 0 |
jne show_mon |
; Íåò äàò÷èêîâ - ïèøåì NO |
349,11 → 350,11 |
call digit_len |
mov eax, 47 |
int 0x40 |
add edx, 10 |
add edx, 10 |
pop esi |
pop ecx |
loop sh_fan |
;--------------------------- |
; Íàïðóãè |
mov esi, hwm_voltages |
370,13 → 371,13 |
fld dword [esi] |
fsub dword [edi] |
fabs |
; fcomp dword [c_eps] ; bug in MeOsEmul |
; fstsw ax |
fcom dword [c_eps] ; 0xBADCODE |
fstsw ax |
finit |
finit |
sahf |
jc @f |
mov ecx, val_mod |
385,7 → 386,7 |
test al, al |
jnz @b |
sub esi, Data_String |
mov eax, 4 |
int 0x40 |
add ebx, 10 |
393,7 → 394,7 |
pop ecx |
movsd |
loop volt_nxt |
no_monitor: |
;--------------------------- |
; Ñîçäà¸ì êíîïêè âêëàäîê |
460,8 → 461,8 |
include "system.inc" |
include "hwm.inc" |
include "diag.inc" |
DATA |
act_tab db 2 ; Íîìåð àêòèâíîé âêëàäêè |
tab_lab db 'Info Tests Configs About' |
478,7 → 479,7 |
'Fan3',\ |
'Fan4',\ |
'Fan5' |
msgs_mon2 mls \ |
'Vcore',\ |
'AGP',\ |
524,13 → 525,13 |
diag_beg: |
d_cpu_load: dd ? |
times 286 db ? |
d_mem_usage: dd ? |
times 286 db ? |
d_temp1: dd ? |
times 286 db ? |
d_temp2: dd ? |
times 286 db ? |
/programs/system/gmon/macros.inc |
---|
1,5 → 1,6 |
; language for programs |
lang fix en ; ru en fr ge fi |
;lang fix en ; ru en fr ge fi |
; added lang.inc for compiling with a specific language |
@^ fix macro comment { |
^@ fix } |
103,12 → 104,12 |
db ssize |
db sstring |
common |
db -1 ; mod |
} |
; strings |
macro sz name,[data] { ; from MFAR [mike.dld] |
common |
363,4 → 364,4 |
EVM_BACKGROUND = 10000b |
EVM_MOUSE = 100000b |
EVM_IPC = 1000000b |
EVM_STACK = 10000000b |
EVM_STACK = 10000000b |
/programs/system/gmon/makefile |
---|
0,0 → 1,19 |
#!gmake |
# Macro |
FASM=/opt/bin/fasm |
KPACK=/opt/bin/kpack |
LANG=lang.inc |
FILE=gmon |
SOURCE=${FILE}.asm |
OUT=${FILE}.bin |
en: |
echo "lang fix en" > ${LANG} |
${FASM} ${SOURCE} ${OUT} |
it: |
echo "lang fix it" > ${LANG} |
${FASM} ${SOURCE} ${OUT} |
clean: |
rm -f ${LANG} ${OUT} |
/programs/system/gmon/tab_about.inc |
---|
9,18 → 9,36 |
call show_text |
jmp end_drow_tab |
msg_about mls \ ; äîëæíà áûòü õîòÿáû îäíà ñòðîêà |
' Ghost Monitor',\ |
'',\ |
' tool for testing and monitoring hardware',\ |
'',\ |
'Supported SuperIO : W83627HF,W83697HF',\ |
' W83627THF,W83627THF-A,W83627EHF-A,',\ |
' W83637THF,IT8705F,IT8712F,SiS950',\ |
' ABIT uGuru',\ |
'',\ |
'Tests based on R.J.Redelmeier CPUBurn',\ |
'',\ |
'Mailto : ghost.nsk@mail.ru',\ |
'',\ |
' *** Use at YOUR own RISK ***' |
if lang eq it |
msg_about mls \ |
' Ghost Monitor',\ |
'',\ |
'strumento per testare il proprio hardware',\ |
'',\ |
'Supported SuperIO : W83627HF,W83697HF',\ |
' W83627THF,W83627THF-A,W83627EHF-A,',\ |
' W83637THF,IT8705F,IT8712F,SiS950',\ |
' ABIT uGuru',\ |
'',\ |
'Test basati su R.J.Redelmeier CPUBurn',\ |
'',\ |
'Mailto : ghost.nsk@mail.ru',\ |
'',\ |
' *** Usare a prioprio rischio ***' |
else |
msg_about mls \ ; äîëæíà áûòü õîòÿáû îäíà ñòðîêà |
' Ghost Monitor',\ |
'',\ |
' tool for testing and monitoring hardware',\ |
'',\ |
'Supported SuperIO : W83627HF,W83697HF',\ |
' W83627THF,W83627THF-A,W83627EHF-A,',\ |
' W83637THF,IT8705F,IT8712F,SiS950',\ |
' ABIT uGuru',\ |
'',\ |
'Tests based on R.J.Redelmeier CPUBurn',\ |
'',\ |
'Mailto : ghost.nsk@mail.ru',\ |
'',\ |
' *** Use at YOUR own RISK ***' |
end if |
/programs/system/gmon/tab_info.inc |
---|
49,7 → 49,7 |
mov edx, 160 * 65536 + 295 |
xor esi, esi |
int 0x40 |
; push eax ; Âåðíóòü êîä ïîñëå èñïðàâëåíèÿ ftoa |
; fild dword[esp] |
; push 1000;000 |
66,7 → 66,7 |
; int 0x40 |
; pop eax |
; pop eax |
; Ñåìåéñòâî è ìîäåëü ïðîöåññîðà |
mov eax, 47 |
mov ebx, 0x10100 |
78,7 → 78,7 |
mov cl, [CPU_mod] |
add edx, 10 * 65536 |
int 0x40 |
; êîýôôèöèåíò óìíîæåíèÿ |
call multiplier |
test ecx, ecx |
112,7 → 112,7 |
xor esi, esi |
int 0x40 |
end if |
; Ðàññòàâëÿåì äâîåòî÷èÿ |
mov eax, 4 |
mov ebx, 152 * 65536 + 285 |
125,14 → 125,24 |
add ebx, 10 |
pop ecx |
loop nxt_dp |
;--------------------------------------------------------------------- |
;--------------------------------------------------------------------- |
jmp end_drow_tab |
dub_p db ':' |
lab_info_tab mls \ |
'CPU Vendor',\ |
'CPU frequency (MHz)',\ |
'MMX tehnology',\ |
'Multiplier',\ |
'Monitoring chip',\ |
'Free memory (Kb)' |
if lang eq it |
lab_info_tab mls \ |
'Vendor CPU',\ |
'Frequenza CPU (MHz)',\ |
'MMX tehnology',\ |
'Multiplier',\ |
'Monitoring chip',\ |
'Memoria libera (Kb)' |
else |
lab_info_tab mls \ |
'CPU Vendor',\ |
'CPU frequency (MHz)',\ |
'MMX tehnology',\ |
'Multiplier',\ |
'Monitoring chip',\ |
'Free memory (Kb)' |
end if |
/programs/system/gmon/tab_test.inc |
---|
132,13 → 132,17 |
mov ecx, 418 * 65536 + 10 |
mov edx, atcol |
int 0x40 |
jmp end_drow_tab |
tmsg_p db 'Pentium (Pro/II/III)' ; 7/20 |
tmsg_k6 db 'K6 (I/II/III)' ; 13 |
tmsg_k7 db 'K7/Athlon/Duron' ; 15 |
;tmsg_mmx db 'MMX (memory)' ; 12 |
tmsg_rec db '- recommendate' ; 14 |
tmsg_war db 'May permanent damage to electronic' ; 34 |
if lang eq it |
tmsg_war db 'Potrebbe danneggiare lo hardware ' ; 34 |
else |
tmsg_war db 'May permanent damage to electronic' ; 34 |
end if |