Subversion Repositories Kolibri OS

Rev

Rev 313 | Rev 518 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 313 Rev 340
1
;
1
;
2
; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû
2
; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû
3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
4
; All Right Reserved
4
; All Right Reserved
5
;
5
;
6
; ÂÎÇÌÎÆÍÀ ÏÎÐ×À ÎÁÎÐÓÄÎÂÀÍÈß!
6
; ÂÎÇÌÎÆÍÀ ÏÎÐ×À ÎÁÎÐÓÄÎÂÀÍÈß!
7
; ÈÑÏÎËÜÇÓÉÒÅ ÍÀ ÑÂÎÉ ÑÒÐÀÕ È ÐÈÑÊ!
7
; ÈÑÏÎËÜÇÓÉÒÅ ÍÀ ÑÂÎÉ ÑÒÐÀÕ È ÐÈÑÊ!
8
;
8
;
9
; Çàìåòêè :
9
; Çàìåòêè :
10
;	Äîïèñàòü çàïóñê òåñòîâ (rtst) (íåò ðåàêöèè íà îøèáêó çàïóñêà)
10
;	Äîïèñàòü çàïóñê òåñòîâ (rtst) (íåò ðåàêöèè íà îøèáêó çàïóñêà)
11
;	Ïåðåäåëàòü îáíîâëåíèå ãðàôèêà (ñäåëàòü îòäåëüíûì ïðîöåññîì)
11
;	Ïåðåäåëàòü îáíîâëåíèå ãðàôèêà (ñäåëàòü îòäåëüíûì ïðîöåññîì)
12
;	Äîáàâèòü ðåàêöèþ íà ïàðàìåòðû äàò÷èêîâ
12
;	Äîáàâèòü ðåàêöèþ íà ïàðàìåòðû äàò÷èêîâ
13
;
13
;
14
; Èñòîðèÿ :
14
; Èñòîðèÿ :
15
;         09/2005 - íà÷àëî
15
;         09/2005 - íà÷àëî
16
;      04/10/2005 - îòêîììåíòèðîâàë êîä
16
;      04/10/2005 - îòêîììåíòèðîâàë êîä
17
;      09/11/2005 - äîïèñàíû òåñòû (ïîêà íåò òåñòà ïàìÿòè)
17
;      09/11/2005 - äîïèñàíû òåñòû (ïîêà íåò òåñòà ïàìÿòè)
18
;      30/01/2006 - äîáàâëåííû ãðàôèêè
18
;      30/01/2006 - äîáàâëåííû ãðàôèêè
19
;      02/02/2006 - Äîáàâëåíà íàñòðîéêà âðåìåíè îáíîâëåíèÿ
19
;      02/02/2006 - Äîáàâëåíà íàñòðîéêà âðåìåíè îáíîâëåíèÿ
20
;      10/02/2006 - äîáàâëåííà åùå èíôîðìàöèÿ ñ äàò÷èêîâ, îïò. wb_get_chip_name
20
;      10/02/2006 - äîáàâëåííà åùå èíôîðìàöèÿ ñ äàò÷èêîâ, îïò. wb_get_chip_name
21
;      01/03/2006 - äîáàâëåííà åùå èíôîðìàöèÿ ñ äàò÷èêîâ
21
;      01/03/2006 - äîáàâëåííà åùå èíôîðìàöèÿ ñ äàò÷èêîâ
22
;      16/03/2006 - îïòèìèçèðîâàíà ïî ðàçìåðó
22
;      16/03/2006 - îïòèìèçèðîâàíà ïî ðàçìåðó
23
;      17/03/2006 - ïîäñâåòêà èçìåí¸ííûõ ïàðàìåòðîâ, îïòèìèçàöèÿ, about
23
;      17/03/2006 - ïîäñâåòêà èçìåí¸ííûõ ïàðàìåòðîâ, îïòèìèçàöèÿ, about
24
;      20/03/2006 - Ïóáëèêàöèÿ
24
;      20/03/2006 - Ïóáëèêàöèÿ
25
;               ---  v 0.2 ---
25
;               ---  v 0.2 ---
26
;      24/03/2006 - Äîáàâëåííà ïîääåðæêà IT8705F, IT8712F è SIS950
26
;      24/03/2006 - Äîáàâëåííà ïîääåðæêà IT8705F, IT8712F è SIS950
27
;      25/03/2006 - Âûâîä òð¸õ òåìïåðàòóð è òð¸õ âåíòèëåé
27
;      25/03/2006 - Âûâîä òð¸õ òåìïåðàòóð è òð¸õ âåíòèëåé
28
;      28/03/2006 - Ãðàôèê temp3 è èçìåíåíèå öâåòà ãðàôèêîâ, îáðàáîòêà îòðèöàòåëüíûõ çíà÷åíèé ãðàôèêà
28
;      28/03/2006 - Ãðàôèê temp3 è èçìåíåíèå öâåòà ãðàôèêîâ, îáðàáîòêà îòðèöàòåëüíûõ çíà÷åíèé ãðàôèêà
29
;      30/03/2006 - Îïòèìèçàöèÿ ïî ðàçìåðó âåðñèè îò 28/03/2006, ïåðåïèñàë ðèñîâàíèå ãðàôèêà
29
;      30/03/2006 - Îïòèìèçàöèÿ ïî ðàçìåðó âåðñèè îò 28/03/2006, ïåðåïèñàë ðèñîâàíèå ãðàôèêà
30
;      14/04/2006 - Èñïðàâèë ãðàôèê (jle -> jbe), äîáàâèë mem usage, âû÷èñëåíèå äëèííû ÷èñåë, çàêðûòèå ïî Esc
30
;      14/04/2006 - Èñïðàâèë ãðàôèê (jle -> jbe), äîáàâèë mem usage, âû÷èñëåíèå äëèííû ÷èñåë, çàêðûòèå ïî Esc
31
;      19/04/2006 - Î÷èñòêà íåèíèöèàëèçèðîâàííûõ äàííûõ
31
;      19/04/2006 - Î÷èñòêà íåèíèöèàëèçèðîâàííûõ äàííûõ
32
;               ---  v 0.3 ---
32
;               ---  v 0.3 ---
33
;      01/07/2006 - Ðàçëè÷èå ITE 8705F, ITE 8712F è IT8716F
33
;      01/07/2006 - Ðàçëè÷èå ITE 8705F, ITE 8712F è IT8716F
34
;      04/07/2006 - Äîáàâëåííû íàïðóãè äëÿ ÷èïîâ Winbond
34
;      04/07/2006 - Äîáàâëåííû íàïðóãè äëÿ ÷èïîâ Winbond
35
;      10/07/2006 - äîáàâëåííû íàïðóãè äëÿ ÷èïîâ ITE, ìíîæèòåëè äëÿ AMD K6, Intel P6, P7, îïòèìèçàöèÿ ïî ðàçìåðó
35
;      10/07/2006 - äîáàâëåííû íàïðóãè äëÿ ÷èïîâ ITE, ìíîæèòåëè äëÿ AMD K6, Intel P6, P7, îïòèìèçàöèÿ ïî ðàçìåðó
36
;      11/07/2006 - Ðåàêöèÿ íà èçìåíåíèå íàïðóãè, îïòèìèçàöèÿ ïî ðàçìåðó
36
;      11/07/2006 - Ðåàêöèÿ íà èçìåíåíèå íàïðóãè, îïòèìèçàöèÿ ïî ðàçìåðó
37
;      12/07/2006 - it87_get_fan_speed bug fix, çàâåðøåíèå òåñòà ïî 18/18
37
;      12/07/2006 - it87_get_fan_speed bug fix, çàâåðøåíèå òåñòà ïî 18/18
38
;      13/07/2006 - it87_get_fan_speed bug fix, èñïðàâëåí âûâîä ÷èñåë ñ ïëàâàþùåé òî÷êîé
38
;      13/07/2006 - it87_get_fan_speed bug fix, èñïðàâëåí âûâîä ÷èñåë ñ ïëàâàþùåé òî÷êîé
39
;      14/07/2006 - èñïðàâëåííû ïîêàçàíèÿ -12V äëÿ Winbond, îñòàëàñü ïðîáëåíìà ñ -5V
39
;      14/07/2006 - èñïðàâëåííû ïîêàçàíèÿ -12V äëÿ Winbond, îñòàëàñü ïðîáëåíìà ñ -5V
40
;      17/07/2006 - èñïðàâëåííà îøèáêà îïðåäåëåíèÿ ìíîæèòåëÿ äëÿ P6, äîáàâëåííû ìíîæèòåëè
40
;      17/07/2006 - èñïðàâëåííà îøèáêà îïðåäåëåíèÿ ìíîæèòåëÿ äëÿ P6, äîáàâëåííû ìíîæèòåëè
41
;      18/07/2006 - Óëè÷øèë âûâîä ìíîæèòåëÿ, èñïðàâëåííû ìíîæèòåëè äëÿ P6 Tualatin, config.inc
41
;      18/07/2006 - Óëè÷øèë âûâîä ìíîæèòåëÿ, èñïðàâëåííû ìíîæèòåëè äëÿ P6 Tualatin, config.inc
42
;      22/07/2006 - P6 multiplier bugfix
42
;      22/07/2006 - P6 multiplier bugfix
43
;      30/07/2006 - P6 multiplier bugfix
43
;      30/07/2006 - P6 multiplier bugfix
44
;               --- v 0.4 ---
44
;               --- v 0.4 ---
45
;      10/08/2006 - íà÷àòà ðàáîòà ïî ïîääåðæêå SMBus, ïåðåïèñàíû ôóíêöèè äëÿ ÷èïîâ ìîíèòîðèíãà
45
;      10/08/2006 - íà÷àòà ðàáîòà ïî ïîääåðæêå SMBus, ïåðåïèñàíû ôóíêöèè äëÿ ÷èïîâ ìîíèòîðèíãà
46
;      24/08/2006 - äîáàâëåííà ÷àñòîòà ïðîöåññîðà
46
;      24/08/2006 - äîáàâëåííà ÷àñòîòà ïðîöåññîðà
47
;      10/09/2006 - bugfix
47
;      10/09/2006 - bugfix
48
;      25/11/2006 - äîáàâëåí ABIT uGuru
48
;      25/11/2006 - äîáàâëåí ABIT uGuru
49
;      20/12/2006 - W83627DHG, W83627EHF, W83627EHG, mutipliers for AthonXP-M, Athlon64, Athlon64-M,
49
;      20/12/2006 - W83627DHG, W83627EHF, W83627EHG, mutipliers for AthonXP-M, Athlon64, Athlon64-M,
50
;            Intel Dothan, Yonah, Conroe, Merom
50
;            Intel Dothan, Yonah, Conroe, Merom
51
;      24/12/2006 - ITE chips model id bugfix by Serge
51
;      24/12/2006 - ITE chips model id bugfix by Serge
52
;      26/12/2006 - èñïðàâëåííà ãëóïàÿ îøèáêà â îïðåäåëåíèè ITE è uGuru
52
;      26/12/2006 - èñïðàâëåííà ãëóïàÿ îøèáêà â îïðåäåëåíèè ITE è uGuru
53
;      31/01/2007 - èñïðàâëåíà îøèáêà âíåñ¸ííàÿ 17/07/06 â îïðåäåëåíèå ìíîæèòåëÿ äëÿ Intel NorthWood
53
;      31/01/2007 - èñïðàâëåíà îøèáêà âíåñ¸ííàÿ 17/07/06 â îïðåäåëåíèå ìíîæèòåëÿ äëÿ Intel NorthWood
54
;
54
;
55
;    Ýé! Ó ìåíÿ íåò ìíîãî âðåìåíè.
55
;    Ýé! Ó ìåíÿ íåò ìíîãî âðåìåíè.
56
 
56
 
57
; Âíåøíèå ôàéëû :
57
; Âíåøíèå ôàéëû :
58
;	hwm*.inc	- ïðîöåäóðû ðàáîòû ñ äàò÷èêàìè ìîíèòîðèíãà
58
;	hwm*.inc	- ïðîöåäóðû ðàáîòû ñ äàò÷èêàìè ìîíèòîðèíãà
59
;	system.inc	- âû÷èñëåíèå çàãðóçêè ïðîöåññîðà, çàâåðøåíèå òåñòà, etc...
59
;	system.inc	- âû÷èñëåíèå çàãðóçêè ïðîöåññîðà, çàâåðøåíèå òåñòà, etc...
60
;	tests.inc	- òåñòû ;-)
60
;	tests.inc	- òåñòû ;-)
61
;	diag.inc	- ïîääåðæêà äèàãðàì
61
;	diag.inc	- ïîääåðæêà äèàãðàì
62
;	tab_*.inc	- ïðîöåäóðû îòðèñîâêè ñîîòâåòñòâóþøèõ âêëàäîê
62
;	tab_*.inc	- ïðîöåäóðû îòðèñîâêè ñîîòâåòñòâóþøèõ âêëàäîê
63
 
63
 
64
 
64
 
65
; Èäåíòèôèêàòîðû êíîïîê :
65
; Èäåíòèôèêàòîðû êíîïîê :
66
;	01 - Exit
66
;	01 - Exit
67
;	02 - Info tab
67
;	02 - Info tab
68
;	03 - Tests tab
68
;	03 - Tests tab
69
;	04 - Config tab
69
;	04 - Config tab
70
;	05 - About tab
70
;	05 - About tab
71
;	06 - P5 test
71
;	06 - P5 test
72
;	07 - P6 test
72
;	07 - P6 test
73
;	08 - K6 test
73
;	08 - K6 test
74
;	09 - K7 test
74
;	09 - K7 test
75
;	10 - MMX test	- not used
75
;	10 - MMX test	- not used
76
;	11 - Update time increment
76
;	11 - Update time increment
77
;	12 - Update time decriment
77
;	12 - Update time decriment
78
;	13..17 - Èçìåíåíèå öâåòà CPU_load, Mem_usage, Temp1, Temp2, Temp3
78
;	13..17 - Èçìåíåíèå öâåòà CPU_load, Mem_usage, Temp1, Temp2, Temp3
79
 
79
 
80
include 'config.inc'
80
include 'config.inc'
81
include 'macros.inc'
81
include 'macros.inc'
82
 
82
 
83
tcol	equ	0x5080d0
83
tcol	equ	0x5080d0
84
atcol	equ	0x4070c0
84
atcol	equ	0x4070c0
85
val_mod	equ	0x3090
85
val_mod	equ	0x3090
86
 
86
 
87
MEOS_APP_START
87
MEOS_APP_START
88
include "tests.inc"	; <-- Ìíîãî âûðàâíèâàíèé, ëó÷øå çäåñü
88
include "tests.inc"	; <-- Ìíîãî âûðàâíèâàíèé, ëó÷øå çäåñü
89
CODE
89
CODE
90
;--- Init ------------------------------------------------------------
90
;--- Init ------------------------------------------------------------
91
	; Î÷èùàåì íåèíèöèàëèçèðîâàííûå äàííûå
91
	; Î÷èùàåì íåèíèöèàëèçèðîâàííûå äàííûå
92
	mov	ecx, __memory - __udata
92
	mov	ecx, __memory - __udata
93
	mov	edi, __udata
93
	mov	edi, __udata
94
	xor	eax, eax
94
	xor	eax, eax
95
	rep	stosb
95
	rep	stosb
96
 
96
 
97
	xor	eax, eax
97
	xor	eax, eax
98
	cpuid					; Óçíà¸ì ïðîèçâîäèòåëÿ ïðîöà
98
	cpuid					; Óçíà¸ì ïðîèçâîäèòåëÿ ïðîöà
99
	mov	[Vendor + 0], ebx
99
	mov	[Vendor + 0], ebx
100
	mov	[Vendor + 4], edx
100
	mov	[Vendor + 4], edx
101
	mov	[Vendor + 8], ecx
101
	mov	[Vendor + 8], ecx
102
	mov	eax, 1
102
	mov	eax, 1
103
	cpuid					; Åñòü ëè MMX ?
103
	cpuid					; Åñòü ëè MMX ?
104
	mov	ecx, eax
104
	mov	ecx, eax
105
	shr	al, 4
105
	shr	al, 4
106
	and	ax, 0x0F0F
106
	and	ax, 0x0F0F
107
	mov	[CPU_fam], ah
107
	mov	[CPU_fam], ah
108
	mov	[CPU_mod], al
108
	mov	[CPU_mod], al
109
	shr	edx, 23
109
	shr	edx, 23
110
	and	dl, 1
110
	and	dl, 1
111
	mov	[CPU_mmx], dl
111
	mov	[CPU_mmx], dl
112
	shr	ecx, 12
112
	shr	ecx, 12
113
	and	cl, 11b
113
	and	cl, 11b
114
	mov	[CPU_type], cl
114
	mov	[CPU_type], cl
115
	
115
	
116
	; ! Öâåòà èç ìàññèâà colors
116
	; ! Öâåòà èç ìàññèâà colors
117
	mov	dword[d_cpu_load], 0xFF00	; èíèöèàëèçèðóåì ãðàôèê çàãðóçêè ÀËÓ
117
	mov	dword[d_cpu_load], 0xFF00	; èíèöèàëèçèðóåì ãðàôèê çàãðóçêè ÀËÓ
118
	mov	dword[d_mem_usage], 0x8BA169	; -- mem usega
118
	mov	dword[d_mem_usage], 0x8BA169	; -- mem usega
119
	mov	dword[d_temp1], 0xFF0000	; -- ãðàôèê òåìïåðàòóðû ÖÏÓ
119
	mov	dword[d_temp1], 0xFF0000	; -- ãðàôèê òåìïåðàòóðû ÖÏÓ
120
	mov	dword[d_temp2], 0xFF		; -- ãðàôèê òåìïåðàòóðû ÌÏ
120
	mov	dword[d_temp2], 0xFF		; -- ãðàôèê òåìïåðàòóðû ÌÏ
121
	mov	dword[d_temp3], 0xFF7E23
121
	mov	dword[d_temp3], 0xFF7E23
122
 
122
 
123
	call	hwm_init			; Èíèöèàëèçèðóåì ÷èï ìîíèòîðèíãà
123
	call	hwm_init			; Èíèöèàëèçèðóåì ÷èï ìîíèòîðèíãà
124
 
124
 
125
	jmp	draw_window
125
	jmp	draw_window
126
;--- Wait & translate event ------------------------------------------
126
;--- Wait & translate event ------------------------------------------
127
wait_for_event:
127
wait_for_event:
128
	mov	byte[diag_add_v], 0	; äîáàâëÿåì äàííûå ê ãðàôèêó òîëüêî ïî òàéìåðó
128
	mov	byte[diag_add_v], 0	; äîáàâëÿåì äàííûå ê ãðàôèêó òîëüêî ïî òàéìåðó
129
	mov	ebx, [update_time]
129
	mov	ebx, [update_time]
130
	mov	eax, 23
130
	mov	eax, 23
131
	int	0x40
131
	int	0x40
132
	test	eax, eax
132
	test	eax, eax
133
	jnz	@f
133
	jnz	@f
134
	inc	byte [diag_add_v]
134
	inc	byte [diag_add_v]
135
	inc	eax			; ïåðåðèñóåì îêíî (eax := 1)
135
	inc	eax			; ïåðåðèñóåì îêíî (eax := 1)
136
@@:	dec	eax			; redraw request ?
136
@@:	dec	eax			; redraw request ?
137
	jz	draw_window
137
	jz	draw_window
138
	dec	eax			; key in buffer ?
138
	dec	eax			; key in buffer ?
139
	jz	key
139
	jz	key
140
	dec	eax			; button in buffer ?
140
	dec	eax			; button in buffer ?
141
	jz	button
141
	jz	button
142
	jmp	wait_for_event
142
	jmp	wait_for_event
143
;--- Key pressed -----------------------------------------------------
143
;--- Key pressed -----------------------------------------------------
144
key:
144
key:
145
	mov	eax, 2
145
	mov	eax, 2
146
	int	0x40
146
	int	0x40
147
	cmp	ah, 27			; Esc - çàâåðøåíèå ðàáîòû
147
	cmp	ah, 27			; Esc - çàâåðøåíèå ðàáîòû
148
	je	exit
148
	je	exit
149
	jmp	wait_for_event
149
	jmp	wait_for_event
150
;--- Button down -----------------------------------------------------
150
;--- Button down -----------------------------------------------------
151
button:
151
button:
152
	mov	eax, 17			; get id
152
	mov	eax, 17			; get id
153
	int	0x40
153
	int	0x40
154
	cmp	ah, 1			; button id == 1 ?
154
	cmp	ah, 1			; button id == 1 ?
155
	jne	noexit
155
	jne	noexit
156
exit:	cmp	byte[test_id], 0
156
exit:	cmp	byte[test_id], 0
157
	je	@f
157
	je	@f
158
	call	stop_test
158
	call	stop_test
159
@@:	mov	eax, -1		; close this program
159
@@:	mov	eax, -1		; close this program
160
	int	0x40
160
	int	0x40
161
noexit:
161
noexit:
162
	; êíîïêè âêëàäîê (2 .. 5)
162
	; êíîïêè âêëàäîê (2 .. 5)
163
	cmp	ah, 5
163
	cmp	ah, 5
164
	jg	no_tabs
164
	jg	no_tabs
165
	mov	byte[act_tab], ah
165
	mov	byte[act_tab], ah
166
	jmp	draw_window
166
	jmp	draw_window
167
no_tabs:
167
no_tabs:
168
	; êíîïêè çàïóñêà òåñòâî (6 .. 10)
168
	; êíîïêè çàïóñêà òåñòâî (6 .. 10)
169
	cmp	ah, 10
169
	cmp	ah, 10
170
	jg	no_test_bt
170
	jg	no_test_bt
171
	; åñëè íåò çàïóùåíûõ òåñòîâ - çàïóñêàåì âûáðàííûé
171
	; åñëè íåò çàïóùåíûõ òåñòîâ - çàïóñêàåì âûáðàííûé
172
	cmp	byte[test_id], 0
172
	cmp	byte[test_id], 0
173
	je	run_test
173
	je	run_test
174
	; åñëè êíîïêà àêòèâíîãî òåñòà - îñòàíàâëèâàåì òåñò, èíà÷å íè÷åãî íå äåëàåì	
174
	; åñëè êíîïêà àêòèâíîãî òåñòà - îñòàíàâëèâàåì òåñò, èíà÷å íè÷åãî íå äåëàåì	
175
	cmp	[test_id], ah
175
	cmp	[test_id], ah
176
	jne	wait_for_event
176
	jne	wait_for_event
177
	call	stop_test
177
	call	stop_test
178
	jmp	draw_window
178
	jmp	draw_window
179
 
179
 
180
tsts:	dd	p5, p6, k6, k7
180
tsts:	dd	p5, p6, k6, k7
181
run_test:
181
run_test:
182
	push	eax
182
	push	eax
183
	movzx	ecx, ah
183
	movzx	ecx, ah
184
	mov	ecx, [tsts + (ecx * 4) - (6 * 4)]
184
	mov	ecx, [tsts + (ecx * 4) - (6 * 4)]
185
rtst:	mov	eax, 51
185
rtst:	mov	eax, 51
186
	mov	edx, stp
186
	mov	edx, stp
187
	mov	ebx, 1
187
	mov	ebx, 1
188
	int	0x40
188
	int	0x40
189
	cmp	eax, 0xFFFFFFF0	; -16
189
	cmp	eax, 0xFFFFFFF0	; -16
190
	je	wait_for_event	; <-- îøèáêà çàïóñêà òåñòà, ÏÅÐÅÏÈÑÀÒÜ
190
	je	wait_for_event	; <-- îøèáêà çàïóñêà òåñòà, ÏÅÐÅÏÈÑÀÒÜ
191
	mov	[test_pid], eax
191
	mov	[test_pid], eax
192
	pop	eax
192
	pop	eax
193
	mov	byte [test_id], ah
193
	mov	byte [test_id], ah
194
	jmp	draw_window
194
	jmp	draw_window
195
	;-------------------------
195
	;-------------------------
196
	; êíîïêè èçìåíåíèÿ âðåìåíè îáíîâëåíèÿ
196
	; êíîïêè èçìåíåíèÿ âðåìåíè îáíîâëåíèÿ
197
no_test_bt:
197
no_test_bt:
198
	cmp	ah, 11
198
	cmp	ah, 11
199
	jne	no_ut_inc
199
	jne	no_ut_inc
200
	add	dword[update_time], 10
200
	add	dword[update_time], 10
201
	jmp	draw_window
201
	jmp	draw_window
202
no_ut_inc:
202
no_ut_inc:
203
	cmp	ah, 12
203
	cmp	ah, 12
204
	jne	no_ut_dec
204
	jne	no_ut_dec
205
	cmp	dword[update_time], 10
205
	cmp	dword[update_time], 10
206
	jng	wait_for_event
206
	jng	wait_for_event
207
	sub	dword[update_time], 10
207
	sub	dword[update_time], 10
208
	jmp	draw_window
208
	jmp	draw_window
209
no_ut_dec:
209
no_ut_dec:
210
	;-------------------------
210
	;-------------------------
211
	; êíîïêè èçìåíåíèÿ öâåòà ãðàôèêîâ (13..17)
211
	; êíîïêè èçìåíåíèÿ öâåòà ãðàôèêîâ (13..17)
212
	cmp	ah, 17
212
	cmp	ah, 17
213
	jg	no_change_color
213
	jg	no_change_color
214
	sub	ah, 13
214
	sub	ah, 13
215
	movzx	ecx, ah
215
	movzx	ecx, ah
216
	mov	esi, [d_colors + ecx * 4]
216
	mov	esi, [d_colors + ecx * 4]
217
	mov	eax, [esi]
217
	mov	eax, [esi]
218
	mov	ecx, (colors_end - colors) / 4	; êîëè÷åñòâî öâåòîâ
218
	mov	ecx, (colors_end - colors) / 4	; êîëè÷åñòâî öâåòîâ
219
@@:	dec	ecx
219
@@:	dec	ecx
220
	cmp	eax, [colors + ecx * 4]
220
	cmp	eax, [colors + ecx * 4]
221
	jne	@b
221
	jne	@b
222
	mov	ebx, [colors + ecx * 4 - 4]
222
	mov	ebx, [colors + ecx * 4 - 4]
223
	mov	[esi], ebx
223
	mov	[esi], ebx
224
	jmp	draw_window
224
	jmp	draw_window
225
no_change_color:
225
no_change_color:
226
	jmp	wait_for_event
226
	jmp	wait_for_event
227
;---------------------------------------------------------------------
227
;---------------------------------------------------------------------
228
draw_window:
228
draw_window:
229
	mov	eax,12
229
	mov	eax,12
230
	mov	ebx,1
230
	mov	ebx,1
231
	int	0x40
231
	int	0x40
232
	; Ñîçäà¸ì îêíî
232
	; Ñîçäà¸ì îêíî
233
	xor	eax, eax
233
	xor	eax, eax
234
	mov	ebx, 300 * 65536 + 309
234
	mov	ebx, 300 * 65536 + 309
235
	mov	ecx, 150 * 65536 + 450
235
	mov	ecx, 150 * 65536 + 450
236
	mov	edx, tcol + 0x3000000	; color of work area RRGGBB,8->color
236
	mov	edx, tcol + 0x13000000	; color of work area RRGGBB,8->color
237
	mov	esi, 0x805080d0		; color of grab bar  RRGGBB,8->color
-
 
238
	mov	edi, 0x005080d0		; color of frames    RRGGBB
237
	mov	edi, title		; color of frames    RRGGBB
239
	int	0x40
238
	int	0x40
240
	; Ñîçäà¸ì ðàìêó ãðàôèêà
239
	; Ñîçäà¸ì ðàìêó ãðàôèêà
241
	mov	eax, 13
240
	mov	eax, 13
242
	mov	ebx, 10 * 65536 + 290
241
	mov	ebx, 10 * 65536 + 290
243
	mov	ecx, 138 * 65536 + 105
242
	mov	ecx, 138 * 65536 + 105
244
	mov	edx, atcol
243
	mov	edx, atcol
245
	int	0x40
244
	int	0x40
246
	mov	ebx, 12 * 65536 + 286
245
	mov	ebx, 12 * 65536 + 286
247
	mov	ecx, 140 * 65536 + 101
246
	mov	ecx, 140 * 65536 + 101
248
	mov	edx, tcol
247
	mov	edx, tcol
249
	int	0x40
248
	int	0x40
250
	mov	eax, 38
249
	mov	eax, 38
251
	mov	edx, atcol
250
	mov	edx, atcol
252
	mov	ebx, 12 * 65536 + 286 + 12
251
	mov	ebx, 12 * 65536 + 286 + 12
253
	mov	ecx, 140 * 65536 + 140
252
	mov	ecx, 140 * 65536 + 140
254
@@:	add	ecx, 10 * 65536 + 10
253
@@:	add	ecx, 10 * 65536 + 10
255
	int	0x40
254
	int	0x40
256
	cmp	cx, 230			; ïðèâÿçàíî ê êîîðäèíàòàì îêíà
255
	cmp	cx, 230			; ïðèâÿçàíî ê êîîðäèíàòàì îêíà
257
	jl	@b
256
	jl	@b
258
	; Ïèøèì çàãîëîâîê
-
 
259
	mov	eax, 4
-
 
260
	mov	ebx, 8 * 65536 + 8
-
 
261
	mov	edx, title
-
 
262
	mov	ecx, 0x10FFFFFF
-
 
263
	mov	esi, 29
-
 
264
	int	0x40
-
 
265
	
257
	
266
	; Ïèøèì íàçâàíèÿ ïàðàìåòðîâ (Cpu load, temper, etc...)
258
	; Ïèøèì íàçâàíèÿ ïàðàìåòðîâ (Cpu load, temper, etc...)
267
	mov	edx, msgs_mon
259
	mov	edx, msgs_mon
268
	mov	ebx, 17 * 65536 + 30
260
	mov	ebx, 17 * 65536 + 30
269
	call	show_text
261
	call	show_text
270
	
262
	
271
	mov	edx, msgs_mon2
263
	mov	edx, msgs_mon2
272
	mov	ebx, 156 * 65536 + 30
264
	mov	ebx, 156 * 65536 + 30
273
	call	show_text
265
	call	show_text
274
	
266
	
275
	; Ðèñóåì êíîïêè ñìåíû öâåòà
267
	; Ðèñóåì êíîïêè ñìåíû öâåòà
276
	mov	eax, 8
268
	mov	eax, 8
277
	mov	ebx, 112 * 65536 + 5
269
	mov	ebx, 112 * 65536 + 5
278
	mov	ecx, 30 * 65536 + 6
270
	mov	ecx, 30 * 65536 + 6
279
	mov	edx, 13
271
	mov	edx, 13
280
@@:	mov	esi, [d_colors - 13 * 4 + edx * 4]
272
@@:	mov	esi, [d_colors - 13 * 4 + edx * 4]
281
	mov	esi, [esi]
273
	mov	esi, [esi]
282
	int	0x40
274
	int	0x40
283
	add	ecx, 10 * 65536
275
	add	ecx, 10 * 65536
284
	inc	edx
276
	inc	edx
285
	cmp	edx, 13 + 5		; 5 êíîïîê
277
	cmp	edx, 13 + 5		; 5 êíîïîê
286
	jne	@b
278
	jne	@b
287
	
279
	
288
	; Ïèøèì çàãðóçêó ïðîöåññîðà
280
	; Ïèøèì çàãðóçêó ïðîöåññîðà
289
	call	cpu_usage
281
	call	cpu_usage
290
	;--- äîáàâëÿåì íà ãðàôèê ---
282
	;--- äîáàâëÿåì íà ãðàôèê ---
291
	mov	esi, d_cpu_load
283
	mov	esi, d_cpu_load
292
	call	d_add
284
	call	d_add
293
	call	d_show
285
	call	d_show
294
	;---------------------------
286
	;---------------------------
295
	movzx	ecx, al
287
	movzx	ecx, al
296
	mov	eax, 47
288
	mov	eax, 47
297
	mov	edx, 121 * 65536 + 30
289
	mov	edx, 121 * 65536 + 30
298
	xor	esi, esi
290
	xor	esi, esi
299
	call	digit_len
291
	call	digit_len
300
	int	0x40
292
	int	0x40
301
	
293
	
302
	; Ïèøèì èñïîëüçóåìóþ ïàìÿòü
294
	; Ïèøèì èñïîëüçóåìóþ ïàìÿòü
303
	call	mem_usage
295
	call	mem_usage
304
	;--- äîáàâëÿåì íà ãðàôèê ---
296
	;--- äîáàâëÿåì íà ãðàôèê ---
305
	mov	esi, d_mem_usage
297
	mov	esi, d_mem_usage
306
	call	d_add
298
	call	d_add
307
	call	d_show
299
	call	d_show
308
	;---------------------------
300
	;---------------------------
309
	movzx	ecx, al
301
	movzx	ecx, al
310
	mov	eax, 47
302
	mov	eax, 47
311
	mov	edx, 121 * 65536 + 40
303
	mov	edx, 121 * 65536 + 40
312
	xor	esi, esi
304
	xor	esi, esi
313
	call	digit_len
305
	call	digit_len
314
	int	0x40
306
	int	0x40
315
	
307
	
316
	cmp	byte[hwm_enable], 0
308
	cmp	byte[hwm_enable], 0
317
	jne	show_mon
309
	jne	show_mon
318
	; Íåò äàò÷èêîâ - ïèøåì NO
310
	; Íåò äàò÷èêîâ - ïèøåì NO
319
	mov	ecx, 8	;<- êîëè÷åñòâî ïàðàìåòðîâ
311
	mov	ecx, 8	;<- êîëè÷åñòâî ïàðàìåòðîâ
320
	mov	eax, 4
312
	mov	eax, 4
321
	mov	ebx, 121 * 65536 + 50
313
	mov	ebx, 121 * 65536 + 50
322
	mov	edx, msg_no
314
	mov	edx, msg_no
323
	mov	esi, 3
315
	mov	esi, 3
324
@@:	int	0x40
316
@@:	int	0x40
325
	add	ebx, 10
317
	add	ebx, 10
326
	loop	@b
318
	loop	@b
327
 
319
 
328
	mov	ecx, 7	;<- êîëè÷åñòâî ïàðàìåòðîâ
320
	mov	ecx, 7	;<- êîëè÷åñòâî ïàðàìåòðîâ
329
	mov	ebx, 260 * 65536 + 30
321
	mov	ebx, 260 * 65536 + 30
330
@@:	int	0x40
322
@@:	int	0x40
331
	add	ebx, 10
323
	add	ebx, 10
332
	loop	@b
324
	loop	@b
333
 
325
 
334
	jmp	no_monitor
326
	jmp	no_monitor
335
show_mon:
327
show_mon:
336
	;Åñòü äàò÷èêè ïèøèì èíôó
328
	;Åñòü äàò÷èêè ïèøèì èíôó
337
	call	hwm_get_params
329
	call	hwm_get_params
338
	;---------------------------
330
	;---------------------------
339
	; Òåìïåðàòóðó
331
	; Òåìïåðàòóðó
340
	mov	ecx, 3
332
	mov	ecx, 3
341
	mov	esi, hwm_temps
333
	mov	esi, hwm_temps
342
	mov	edx, 121 * 65536 + 50
334
	mov	edx, 121 * 65536 + 50
343
	xor	eax, eax
335
	xor	eax, eax
344
sh_temp:push	ecx
336
sh_temp:push	ecx
345
	lodsw
337
	lodsw
346
	push	esi
338
	push	esi
347
	; ðåàêöèÿ íà èçìåíåíèÿ
339
	; ðåàêöèÿ íà èçìåíåíèÿ
348
	xor	esi, esi
340
	xor	esi, esi
349
	cmp	[old_t1 + ecx * 4 - 4], eax
341
	cmp	[old_t1 + ecx * 4 - 4], eax
350
	je	@f
342
	je	@f
351
	mov	[old_t1 + ecx * 4 - 4], eax
343
	mov	[old_t1 + ecx * 4 - 4], eax
352
	mov	esi, val_mod
344
	mov	esi, val_mod
353
@@:	movzx	ecx, al
345
@@:	movzx	ecx, al
354
	push	eax
346
	push	eax
355
	mov	eax, 47
347
	mov	eax, 47
356
	mov	ebx, 0x20000
348
	mov	ebx, 0x20000
357
	int	0x40
349
	int	0x40
358
	pop	eax
350
	pop	eax
359
	mov	cl, ah
351
	mov	cl, ah
360
	mov	eax, 47
352
	mov	eax, 47
361
	mov	ebx, 0x10000
353
	mov	ebx, 0x10000
362
	add	edx, 15 * 65536
354
	add	edx, 15 * 65536
363
	int	0x40
355
	int	0x40
364
	sub	edx, 15 * 65536 - 10
356
	sub	edx, 15 * 65536 - 10
365
	pop	esi
357
	pop	esi
366
	pop	ecx
358
	pop	ecx
367
	loop	sh_temp
359
	loop	sh_temp
368
	;;--- äîáàâëÿåì íà ãðàôèê temp1 ---
360
	;;--- äîáàâëÿåì íà ãðàôèê temp1 ---
369
	movzx	eax, word[hwm_temps]
361
	movzx	eax, word[hwm_temps]
370
	mov	esi, d_temp1
362
	mov	esi, d_temp1
371
	call	d_add
363
	call	d_add
372
	call	d_show
364
	call	d_show
373
	;;--- äîáàâëÿåì íà ãðàôèê temp2 ---
365
	;;--- äîáàâëÿåì íà ãðàôèê temp2 ---
374
	movzx	eax, word[hwm_temps + 2]
366
	movzx	eax, word[hwm_temps + 2]
375
	mov	esi, d_temp2
367
	mov	esi, d_temp2
376
	call	d_add
368
	call	d_add
377
	call	d_show
369
	call	d_show
378
	;;--- äîáàâëÿåì íà ãðàôèê temp3 ---
370
	;;--- äîáàâëÿåì íà ãðàôèê temp3 ---
379
	movzx	eax, word[hwm_temps + 4]
371
	movzx	eax, word[hwm_temps + 4]
380
	mov	esi, d_temp3
372
	mov	esi, d_temp3
381
	call	d_add
373
	call	d_add
382
	call	d_show
374
	call	d_show
383
 
375
 
384
	;---------------------------
376
	;---------------------------
385
	; Ñêîðîñòè âðàøåíèÿ âåíòèëåé
377
	; Ñêîðîñòè âðàøåíèÿ âåíòèëåé
386
	mov	ecx, 5
378
	mov	ecx, 5
387
	mov	esi, hwm_rpms
379
	mov	esi, hwm_rpms
388
	mov	edx, 121 * 65536 + 80
380
	mov	edx, 121 * 65536 + 80
389
sh_fan:	push	ecx
381
sh_fan:	push	ecx
390
	lodsd
382
	lodsd
391
	push	esi
383
	push	esi
392
	;ðåàêöèÿ íà èçìåíåíèÿ
384
	;ðåàêöèÿ íà èçìåíåíèÿ
393
	xor	esi, esi
385
	xor	esi, esi
394
	cmp	[old_f1 + ecx * 4 - 4], eax
386
	cmp	[old_f1 + ecx * 4 - 4], eax
395
	je	@f
387
	je	@f
396
	mov	[old_f1 + ecx * 4 - 4], eax
388
	mov	[old_f1 + ecx * 4 - 4], eax
397
	mov	esi, val_mod
389
	mov	esi, val_mod
398
@@:	mov	ecx, eax
390
@@:	mov	ecx, eax
399
	call	digit_len
391
	call	digit_len
400
	mov	eax, 47
392
	mov	eax, 47
401
	int	0x40
393
	int	0x40
402
	add	edx, 10	
394
	add	edx, 10	
403
	pop	esi
395
	pop	esi
404
	pop	ecx
396
	pop	ecx
405
	loop	sh_fan
397
	loop	sh_fan
406
	
398
	
407
	;---------------------------
399
	;---------------------------
408
	; Íàïðóãè
400
	; Íàïðóãè
409
	mov	esi, hwm_voltages
401
	mov	esi, hwm_voltages
410
	mov	edi, old_volts
402
	mov	edi, old_volts
411
	mov	ecx, 7
403
	mov	ecx, 7
412
	mov	ebx, 260 * 65536 + 30
404
	mov	ebx, 260 * 65536 + 30
413
	mov	edx, Data_String
405
	mov	edx, Data_String
414
volt_nxt:
406
volt_nxt:
415
	push	ecx
407
	push	ecx
416
	push	esi
408
	push	esi
417
	call	ftoa
409
	call	ftoa
418
	;ðåàêöèÿ íà èçìåíåíèÿ
410
	;ðåàêöèÿ íà èçìåíåíèÿ
419
	xor	ecx, ecx
411
	xor	ecx, ecx
420
	fld	dword [esi]
412
	fld	dword [esi]
421
	fsub	dword [edi]
413
	fsub	dword [edi]
422
	fabs
414
	fabs
423
	
415
	
424
	; fcomp	dword [c_eps]	; bug in MeOsEmul
416
	; fcomp	dword [c_eps]	; bug in MeOsEmul
425
	; fstsw	ax
417
	; fstsw	ax
426
	fcom	dword [c_eps]	; 0xBADCODE
418
	fcom	dword [c_eps]	; 0xBADCODE
427
	fstsw	ax
419
	fstsw	ax
428
	finit	
420
	finit	
429
	
421
	
430
	sahf
422
	sahf
431
	jc	@f
423
	jc	@f
432
	mov	ecx, val_mod
424
	mov	ecx, val_mod
433
@@:	mov	esi, Data_String	; ñ÷èòàåì êîë-âî ñèìâîëîâ
425
@@:	mov	esi, Data_String	; ñ÷èòàåì êîë-âî ñèìâîëîâ
434
@@:	lodsb
426
@@:	lodsb
435
	test	al, al
427
	test	al, al
436
	jnz	@b
428
	jnz	@b
437
	sub	esi, Data_String
429
	sub	esi, Data_String
438
	
430
	
439
	mov	eax, 4
431
	mov	eax, 4
440
	int	0x40
432
	int	0x40
441
	add	ebx, 10
433
	add	ebx, 10
442
	pop	esi
434
	pop	esi
443
	pop	ecx
435
	pop	ecx
444
	movsd
436
	movsd
445
	loop	volt_nxt
437
	loop	volt_nxt
446
	
438
	
447
no_monitor:
439
no_monitor:
448
	;---------------------------
440
	;---------------------------
449
	; Ñîçäà¸ì êíîïêè âêëàäîê
441
	; Ñîçäà¸ì êíîïêè âêëàäîê
450
	mov	edi, 250 * 65536 + 25
442
	mov	edi, 250 * 65536 + 25
451
	mov	ecx, 4
443
	mov	ecx, 4
452
	mov	eax, 8
444
	mov	eax, 8
453
	mov	ebx, 10 * 65536 + 70
445
	mov	ebx, 10 * 65536 + 70
454
	mov	edx, 2
446
	mov	edx, 2
455
n_bt:	push	ecx
447
n_bt:	push	ecx
456
	mov	ecx, edi
448
	mov	ecx, edi
457
	mov	esi, tcol
449
	mov	esi, tcol
458
	cmp	byte [act_tab], dl
450
	cmp	byte [act_tab], dl
459
	jne	na1
451
	jne	na1
460
	mov	esi, atcol
452
	mov	esi, atcol
461
na1:	int	0x40
453
na1:	int	0x40
462
	inc	edx
454
	inc	edx
463
	add	ebx, 73 * 65536
455
	add	ebx, 73 * 65536
464
	pop	ecx
456
	pop	ecx
465
	loop	n_bt
457
	loop	n_bt
466
	; Ïèøèì íàçâàíèÿ âêëàäîê
458
	; Ïèøèì íàçâàíèÿ âêëàäîê
467
	mov	eax, 4
459
	mov	eax, 4
468
	mov	ebx, 35 * 65536 + 260
460
	mov	ebx, 35 * 65536 + 260
469
	mov	edx, tab_lab
461
	mov	edx, tab_lab
470
	mov	ecx, 0x10000000
462
	mov	ecx, 0x10000000
471
	mov	esi, 39
463
	mov	esi, 39
472
	int	0x40
464
	int	0x40
473
	; ñîçäà¸ì ðàìêó âíèçó ýêðàíà
465
	; ñîçäà¸ì ðàìêó âíèçó ýêðàíà
474
	mov	eax, 13
466
	mov	eax, 13
475
	mov	ebx, 10 * 65536 + 290
467
	mov	ebx, 10 * 65536 + 290
476
	mov	ecx, 275 * 65536 + 160
468
	mov	ecx, 275 * 65536 + 160
477
	mov	edx, atcol
469
	mov	edx, atcol
478
	int	0x40
470
	int	0x40
479
	mov	ebx, 12 * 65536 + 286
471
	mov	ebx, 12 * 65536 + 286
480
	mov	ecx, 277 * 65536 + 156
472
	mov	ecx, 277 * 65536 + 156
481
	mov	edx, tcol
473
	mov	edx, tcol
482
	int	0x40
474
	int	0x40
483
	; ðèñóåì âûáðàííóþ âêëàäêó
475
	; ðèñóåì âûáðàííóþ âêëàäêó
484
	mov	al, [act_tab]
476
	mov	al, [act_tab]
485
	cmp	al, 2
477
	cmp	al, 2
486
	je	info_tab
478
	je	info_tab
487
	cmp	al, 3
479
	cmp	al, 3
488
	je	test_tab
480
	je	test_tab
489
	cmp	al, 4
481
	cmp	al, 4
490
	je	config_tab
482
	je	config_tab
491
	jmp	about_tab
483
	jmp	about_tab
492
end_drow_tab:
484
end_drow_tab:
493
	mov	eax, 12
485
	mov	eax, 12
494
	mov	ebx, 2
486
	mov	ebx, 2
495
	int	0x40
487
	int	0x40
496
	jmp	wait_for_event
488
	jmp	wait_for_event
497
;--- Drow Info tab ---------------
489
;--- Drow Info tab ---------------
498
info_tab:
490
info_tab:
499
	include	"tab_info.inc"
491
	include	"tab_info.inc"
500
;--- Drow test tab ---------------
492
;--- Drow test tab ---------------
501
test_tab:
493
test_tab:
502
	include "tab_test.inc"
494
	include "tab_test.inc"
503
;--- Drow Config tab -------------
495
;--- Drow Config tab -------------
504
config_tab:
496
config_tab:
505
	include "tab_conf.inc"
497
	include "tab_conf.inc"
506
;--- Drow About tab --------------
498
;--- Drow About tab --------------
507
about_tab:
499
about_tab:
508
	include "tab_about.inc"
500
	include "tab_about.inc"
509
;---------------------------------------------------------------------
501
;---------------------------------------------------------------------
510
	include	"system.inc"
502
	include	"system.inc"
511
	include "hwm.inc"
503
	include "hwm.inc"
512
	include "diag.inc"
504
	include "diag.inc"
513
	
505
	
514
 
506
 
515
DATA
507
DATA
516
act_tab		db	2 			; Íîìåð àêòèâíîé âêëàäêè
508
act_tab		db	2 			; Íîìåð àêòèâíîé âêëàäêè
517
tab_lab		db	'Info       Tests      Configs     About'
509
tab_lab		db	'Info       Tests      Configs     About'
518
title		db	'Ghost Monitor v0.4 [26/12/06]'
510
title		db	'Ghost Monitor v0.4 [26/12/06]',0
519
 
511
 
520
msgs_mon mls \
512
msgs_mon mls \
521
	'CPU Load (%)',\
513
	'CPU Load (%)',\
522
	'Mem Usage(%)',\
514
	'Mem Usage(%)',\
523
	'Temp1',\
515
	'Temp1',\
524
	'Temp2',\
516
	'Temp2',\
525
	'Temp3',\
517
	'Temp3',\
526
	'Fan1',\
518
	'Fan1',\
527
	'Fan2',\
519
	'Fan2',\
528
	'Fan3',\
520
	'Fan3',\
529
	'Fan4',\
521
	'Fan4',\
530
	'Fan5'
522
	'Fan5'
531
	
523
	
532
msgs_mon2 mls \
524
msgs_mon2 mls \
533
	'Vcore',\
525
	'Vcore',\
534
	'AGP',\
526
	'AGP',\
535
	'+3.3V',\
527
	'+3.3V',\
536
	'AVcc (+5V)',\
528
	'AVcc (+5V)',\
537
	'+12V',\
529
	'+12V',\
538
	'-12V',\
530
	'-12V',\
539
	'-5V'
531
	'-5V'
540
 
532
 
541
msg_yes		db	'Yes'
533
msg_yes		db	'Yes'
542
msg_no		db	'N/A'
534
msg_no		db	'N/A'
543
 
535
 
544
update_time	dd	300			; ïåðèîä îáíîâëåíèÿ â ñîòûõ äîëÿõ ñåêóíäû
536
update_time	dd	300			; ïåðèîä îáíîâëåíèÿ â ñîòûõ äîëÿõ ñåêóíäû
545
d_colors	dd	d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
537
d_colors	dd	d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
546
c_eps		dd	0.01
538
c_eps		dd	0.01
547
 
539
 
548
; Öâåòà ãðàôèêîâ
540
; Öâåòà ãðàôèêîâ
549
colors:		dd	0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000	; ïåðâûé è ïîñëåäíèé ðàâíû
541
colors:		dd	0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000	; ïåðâûé è ïîñëåäíèé ðàâíû
550
colors_end:
542
colors_end:
551
;---------------------------------------------------------------------
543
;---------------------------------------------------------------------
552
UDATA
544
UDATA
553
 
545
 
554
test_pid	dd	?			; åñëè test_id == 0 - íå èìååò ñìûñëà
546
test_pid	dd	?			; åñëè test_id == 0 - íå èìååò ñìûñëà
555
test_id		db	?			; 0 - òåñò íå çàïóøåí (ñîîòâåòñòâóåò ¹ êíîïêè 6..10)
547
test_id		db	?			; 0 - òåñò íå çàïóøåí (ñîîòâåòñòâóåò ¹ êíîïêè 6..10)
556
diag_add_v	db	?			; 0 - íå äîáàâëÿòü äàííûå íà ãðàôèê, !0 - äîáàâëÿòü
548
diag_add_v	db	?			; 0 - íå äîáàâëÿòü äàííûå íà ãðàôèê, !0 - äîáàâëÿòü
557
 
549
 
558
Vendor:		times	12 db ?
550
Vendor:		times	12 db ?
559
CPU_fam:	db	?
551
CPU_fam:	db	?
560
CPU_mod:	db	?
552
CPU_mod:	db	?
561
CPU_type:	db	?
553
CPU_type:	db	?
562
CPU_mmx:	db	?
554
CPU_mmx:	db	?
563
 
555
 
564
; Äëÿ ðåàêöèè íà èçìåíåíèÿ
556
; Äëÿ ðåàêöèè íà èçìåíåíèÿ
565
old_t1:		dd	?	; ïîñëåäíåå çíà÷åíèå temp1
557
old_t1:		dd	?	; ïîñëåäíåå çíà÷åíèå temp1
566
old_t2:		dd	?	; ...
558
old_t2:		dd	?	; ...
567
old_t3:		dd	?
559
old_t3:		dd	?
568
old_f1:		dd	?
560
old_f1:		dd	?
569
old_f2:		dd	?
561
old_f2:		dd	?
570
old_f3:		dd	?
562
old_f3:		dd	?
571
old_volts:	times	7 dd ?
563
old_volts:	times	7 dd ?
572
 
564
 
573
; Ãðôèêè
565
; Ãðôèêè
574
diag_beg:
566
diag_beg:
575
d_cpu_load:	dd	?
567
d_cpu_load:	dd	?
576
		times 286 db ?
568
		times 286 db ?
577
		
569
		
578
d_mem_usage:	dd	?
570
d_mem_usage:	dd	?
579
		times 286 db ?
571
		times 286 db ?
580
		
572
		
581
d_temp1:	dd	?
573
d_temp1:	dd	?
582
		times 286 db ?
574
		times 286 db ?
583
		
575
		
584
d_temp2:	dd	?
576
d_temp2:	dd	?
585
		times 286 db ?
577
		times 286 db ?
586
 
578
 
587
d_temp3:	dd	?
579
d_temp3:	dd	?
588
		times 286 db ?
580
		times 286 db ?
589
diag_end:
581
diag_end:
590
 
582
 
591
; --- ñòåê òåñòà, âîèçáåæàíèå ãëþêîâ íå ïåðåíîñèòü â äðóãîå ìåñòî ----
583
; --- ñòåê òåñòà, âîèçáåæàíèå ãëþêîâ íå ïåðåíîñèòü â äðóãîå ìåñòî ----
592
th_stack:	times	1024 db ?
584
th_stack:	times	1024 db ?
593
stp:
585
stp:
594
;---------------------------------------------------------------------
586
;---------------------------------------------------------------------
595
MEOS_APP_END
587
MEOS_APP_END