Subversion Repositories Kolibri OS

Rev

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

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