Subversion Repositories Kolibri OS

Rev

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

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