Subversion Repositories Kolibri OS

Rev

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

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