Subversion Repositories Kolibri OS

Rev

Rev 7676 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
205 heavyiron 1
;
6353 nisargshah 2
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
313 Ghost 3
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
4
; All Right Reserved
5
;
6353 nisargshah 6
; ВОЗМОЖНА ПОРЧА ОБОРУДОВАНИЯ!
7
; ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК!
205 heavyiron 8
;
6353 nisargshah 9
; Заметки :
7676 art_zh 10
;       Дописать запуск тестов (rtst) (нет реакции на ошибку запуска)
11
;       Переделать обновление графика (сделать отдельным процессом)
12
;       Добавить реакцию на параметры датчиков
205 heavyiron 13
;
14
 
6353 nisargshah 15
; Внешние файлы :
7676 art_zh 16
;       hwm*.inc        - процедуры работы с датчиками мониторинга
17
;       system.inc      - вычисление загрузки процессора, завершение теста, etc...
18
;       tests.inc       - тесты ;-)
19
;       diag.inc        - поддержка диаграм
20
;       tab_*.inc       - процедуры отрисовки соответствуюших вкладок
205 heavyiron 21
 
22
 
6353 nisargshah 23
; Identifier buttons :
7676 art_zh 24
;       01 - Exit
25
;       02 - Info tab
26
;       03 - Tests tab
27
;       04 - Config tab
28
;       05 - About tab
29
;       06 - P5 test (tab_test.inc)
30
;       07 - P6 test (tab_test.inc)
31
;       08 - K6 test (tab_test.inc)
32
;       09 - K7 test (tab_test.inc)
33
;       10 - MMX test   - not used (tab_test.inc)
34
;       11 - Update time increment (tab_conf.inc)
35
;       12 - Update time decriment (tab_conf.inc)
36
;       13..17 - Color Changing buttons CPU_load, Mem_usage, Temp1, Temp2, Temp3
205 heavyiron 37
 
38
include 'config.inc'
39
include 'macros.inc'
40
 
7676 art_zh 41
macro clear_prev_no arg1	; clears previous number printed at arg1
7134 dunkaist 42
{
43
   pusha
7676 art_zh 44
   mov	   ebx, 0x00070000
45
   mov	   ecx, 1000000     ; dummy value
46
   mov	   edx, arg1
47
   mov	   esi, 0x40000000 + tcol
48
   mov	   edi, tcol	; bg col
49
   mov	   eax, 47
50
   int	   0x40
7134 dunkaist 51
   popa
52
}
53
 
54
nl	equ	0x0d, 0x0a
55
 
56
 
205 heavyiron 57
tcol	equ	0x5080d0
58
atcol	equ	0x4070c0
5950 pathoswith 59
val_mod equ	0x3090
205 heavyiron 60
 
61
MEOS_APP_START
6353 nisargshah 62
include "tests.inc"	; <-- Много выравниваний, лучше здесь
205 heavyiron 63
CODE
64
;--- Init ------------------------------------------------------------
6353 nisargshah 65
	; Очищаем неинициализированные данные
205 heavyiron 66
	mov	ecx, __memory - __udata
67
	mov	edi, __udata
68
	xor	eax, eax
69
	rep	stosb
70
 
71
	xor	eax, eax
6353 nisargshah 72
	cpuid					; Узнаём производителя проца
205 heavyiron 73
	mov	[Vendor + 0], ebx
74
	mov	[Vendor + 4], edx
75
	mov	[Vendor + 8], ecx
76
	mov	eax, 1
6353 nisargshah 77
	cpuid					; Есть ли MMX ?
205 heavyiron 78
	mov	ecx, eax
79
	shr	al, 4
80
	and	ax, 0x0F0F
81
	mov	[CPU_fam], ah
82
	mov	[CPU_mod], al
7676 art_zh 83
	mov	eax, ecx
84
	shr	eax, 12
85
	and	eax, 0x0FFF0			; Extended Family/Model bits
86
	or	[CPU_mod], al
87
	mov	al, [CPU_fam]			; will not work on AMD fam.20h -- fix it later!!
88
	cmp	al, 0x0F
89
	jne	@f
90
	add	[CPU_fam], ah
91
 @@:
205 heavyiron 92
	shr	edx, 23
93
	and	dl, 1
94
	mov	[CPU_mmx], dl
95
	shr	ecx, 12
96
	and	cl, 11b
97
	mov	[CPU_type], cl
3604 fedesco 98
 
6353 nisargshah 99
	; ! Цвета из массива colors
100
	mov	dword[d_cpu_load], 0xFF00	; инициализируем график загрузки АЛУ
205 heavyiron 101
	mov	dword[d_mem_usage], 0x8BA169	; -- mem usega
6353 nisargshah 102
	mov	dword[d_temp1], 0xFF0000	; -- график температуры ЦПУ
103
	mov	dword[d_temp2], 0xFF		; -- график температуры МП
205 heavyiron 104
	mov	dword[d_temp3], 0xFF7E23
105
 
6353 nisargshah 106
	call	hwm_init			; Initialize monitoring chip
205 heavyiron 107
 
108
	jmp	draw_window
109
;--- Wait & translate event ------------------------------------------
110
wait_for_event:
6353 nisargshah 111
	mov	byte[diag_add_v], 0	; добавляем данные к графику только по таймеру
205 heavyiron 112
	mov	ebx, [update_time]
113
	mov	eax, 23
114
	int	0x40
115
	test	eax, eax
116
	jnz	@f
117
	inc	byte [diag_add_v]
6353 nisargshah 118
	jmp	redraw
205 heavyiron 119
@@:	dec	eax			; redraw request ?
120
	jz	draw_window
121
	dec	eax			; key in buffer ?
122
	jz	key
123
	dec	eax			; button in buffer ?
124
	jz	button
125
	jmp	wait_for_event
126
;--- Key pressed -----------------------------------------------------
127
key:
128
	mov	eax, 2
129
	int	0x40
6353 nisargshah 130
	cmp	ah, 27			; Esc - shutdown
205 heavyiron 131
	je	exit
132
	jmp	wait_for_event
133
;--- Button down -----------------------------------------------------
134
button:
5950 pathoswith 135
	mov	eax, 17 		; get id
205 heavyiron 136
	int	0x40
137
	cmp	ah, 1			; button id == 1 ?
138
	jne	noexit
139
exit:	cmp	byte[test_id], 0
140
	je	@f
141
	call	stop_test
5950 pathoswith 142
@@:	mov	eax, -1 	; close this program
205 heavyiron 143
	int	0x40
144
noexit:
6353 nisargshah 145
	; button tabs (2 .. 5)
205 heavyiron 146
	cmp	ah, 5
147
	jg	no_tabs
148
	mov	byte[act_tab], ah
6353 nisargshah 149
	jmp	redraw_tabs
205 heavyiron 150
no_tabs:
6353 nisargshah 151
	; кнопки запуска тество (6 .. 10)
205 heavyiron 152
	cmp	ah, 10
153
	jg	no_test_bt
6353 nisargshah 154
	; если нет запущеных тестов - запускаем выбранный
205 heavyiron 155
	cmp	byte[test_id], 0
156
	je	run_test
6353 nisargshah 157
	; если кнопка активного теста - останавливаем тест, иначе ничего не делаем
205 heavyiron 158
	cmp	[test_id], ah
159
	jne	wait_for_event
160
	call	stop_test
6353 nisargshah 161
	jmp	redraw_tabs
205 heavyiron 162
 
6353 nisargshah 163
tsts:	dd	p5, p6, k6_, k7_
205 heavyiron 164
run_test:
165
	push	eax
166
	movzx	ecx, ah
167
	mov	ecx, [tsts + (ecx * 4) - (6 * 4)]
168
rtst:	mov	eax, 51
169
	mov	edx, stp
170
	mov	ebx, 1
171
	int	0x40
5950 pathoswith 172
	cmp	eax, 0xFFFFFFF0 ; -16
6353 nisargshah 173
	je	wait_for_event	; <-- ошибка запуска теста, ПЕРЕПИСАТЬ
205 heavyiron 174
	mov	[test_pid], eax
175
	pop	eax
176
	mov	byte [test_id], ah
6353 nisargshah 177
	jmp	redraw_tabs
205 heavyiron 178
	;-------------------------
6353 nisargshah 179
	; кнопки изменения времени обновления
205 heavyiron 180
no_test_bt:
181
	cmp	ah, 11
182
	jne	no_ut_inc
183
	add	dword[update_time], 10
6353 nisargshah 184
	jmp	redraw_tabs
205 heavyiron 185
no_ut_inc:
186
	cmp	ah, 12
187
	jne	no_ut_dec
188
	cmp	dword[update_time], 10
189
	jng	wait_for_event
190
	sub	dword[update_time], 10
6353 nisargshah 191
	jmp	redraw_tabs
205 heavyiron 192
no_ut_dec:
193
	;-------------------------
6353 nisargshah 194
	; color change button schedules (13..17)
205 heavyiron 195
	cmp	ah, 17
196
	jg	no_change_color
197
	sub	ah, 13
198
	movzx	ecx, ah
199
	mov	esi, [d_colors + ecx * 4]
200
	mov	eax, [esi]
6353 nisargshah 201
	mov	ecx, (colors_end - colors) / 4	; number of colors
223 Ghost 202
@@:	dec	ecx
203
	cmp	eax, [colors + ecx * 4]
204
	jne	@b
205
	mov	ebx, [colors + ecx * 4 - 4]
205 heavyiron 206
	mov	[esi], ebx
6353 nisargshah 207
	jmp	redraw_tabs
205 heavyiron 208
no_change_color:
209
	jmp	wait_for_event
210
;---------------------------------------------------------------------
211
draw_window:
212
	mov	eax,12
213
	mov	ebx,1
214
	int	0x40
6353 nisargshah 215
	; Создаём окно
205 heavyiron 216
	xor	eax, eax
217
	mov	ebx, 300 * 65536 + 309
223 Ghost 218
	mov	ecx, 150 * 65536 + 450
551 spraid 219
	mov	edx, tcol + 0x14000000	; color of work area RRGGBB,8->color
340 heavyiron 220
	mov	edi, title		; color of frames    RRGGBB
205 heavyiron 221
	int	0x40
6353 nisargshah 222
	; Create a graphic frame (not for graph)
205 heavyiron 223
	mov	eax, 13
224
	mov	ebx, 10 * 65536 + 290
223 Ghost 225
	mov	ecx, 138 * 65536 + 105
205 heavyiron 226
	mov	edx, atcol
227
	int	0x40
3604 fedesco 228
 
6353 nisargshah 229
	; write parameter names (Cpu load, temper, etc ...)
7676 art_zh 230
	mov	edx, msgs_mon	      ; text for indicators
205 heavyiron 231
	mov	ebx, 17 * 65536 + 30
7676 art_zh 232
	call	show_text
3604 fedesco 233
 
205 heavyiron 234
	mov	edx, msgs_mon2
6353 nisargshah 235
	mov	ebx, 166 * 65536 + 30
205 heavyiron 236
	call	show_text
3604 fedesco 237
 
6353 nisargshah 238
	jmp draw_tabs ; draw tabs for the first time
239
 
240
redraw_tabs: ; delete previously created tabs
241
 
242
	mov	ecx, 4
205 heavyiron 243
	mov	eax, 8
6353 nisargshah 244
	mov	edx, 0x80000000 + 2
245
del_tabs:
246
	int	0x40
247
	inc	edx
248
	loop	del_tabs
249
 
250
	; Delete color change buttons
251
	mov	eax, 8
252
	mov	edx, 0x80000000 + 13
253
@@:
254
	int	0x40
255
	inc	edx
7676 art_zh 256
	cmp	edx, 0x80000000 + 13 + 5	; 5 (buttons)
6353 nisargshah 257
	jne	@b
258
 
259
draw_tabs:
260
 
261
	; Drawing color change buttons
262
	mov	eax, 8
205 heavyiron 263
	mov	ebx, 112 * 65536 + 5
264
	mov	ecx, 30 * 65536 + 6
265
	mov	edx, 13
6353 nisargshah 266
 
267
@@:
268
	mov	esi, [d_colors - 13 * 4 + edx * 4]
205 heavyiron 269
	mov	esi, [esi]
270
	int	0x40
271
	add	ecx, 10 * 65536
272
	inc	edx
7676 art_zh 273
	cmp	edx, 13 + 5		; 5 (buttons)
205 heavyiron 274
	jne	@b
3604 fedesco 275
 
6353 nisargshah 276
	; info, test, config, about buttons
277
	; Create 4 buttons
278
	mov	edi, 250 * 65536 + 25
279
	mov	ecx, 4
280
	mov	eax, 8
281
	mov	ebx, 10 * 65536 + 70
282
	mov	edx, 2
7676 art_zh 283
n_bt:
284
	push	ecx
6353 nisargshah 285
	mov	ecx, edi
286
	mov	esi, tcol
287
	cmp	byte [act_tab], dl
288
	jne	na1
289
	mov	esi, atcol
7676 art_zh 290
na1:
6353 nisargshah 291
	int	0x40
292
	inc	edx
293
	add	ebx, 73 * 65536
294
	pop	ecx
7676 art_zh 295
	loop	n_bt
6353 nisargshah 296
 
297
	; write name tabs
298
	mov	eax, 4
299
	mov	ebx, (18 shl 16) + 256
300
	mov	edx, tab_lab
301
	mov	ecx, 0x10000000
302
	mov	esi, 4
303
	int	0x40
304
	add	ebx, (72 shl 16)
305
	mov	edx, tab_lab.2
306
	mov	esi, 5
307
	int	0x40
308
	add	ebx, (72 shl 16)
309
	mov	edx, tab_lab.3
310
	mov	esi, 7
311
	int	0x40
312
	add	ebx, (72 shl 16)
313
	mov	edx, tab_lab.4
314
	mov	esi, 5
315
	int	0x40
316
 
317
	; create a frame at the bottom of the screen
318
	mov	eax, 13
319
	mov	ebx, 10 * 65536 + 290
320
	mov	ecx, 275 * 65536 + 160
321
	mov	edx, atcol
322
	int	0x40
323
	mov	ebx, 12 * 65536 + 286
324
	mov	ecx, 277 * 65536 + 156
325
	mov	edx, tcol
326
	int	0x40
327
 
328
	; draw the selected tab
329
	mov	al, [act_tab]
330
	cmp	al, 2
7676 art_zh 331
	je	info_tab
6353 nisargshah 332
	cmp	al, 3
7676 art_zh 333
	je	test_tab
6353 nisargshah 334
	cmp	al, 4
7676 art_zh 335
	je	config_tab
6353 nisargshah 336
	jmp	about_tab
337
 
338
;--- Drow Info tab ---------------
339
info_tab:
7676 art_zh 340
	include "tab_info.inc"
6353 nisargshah 341
;--- Drow test tab ---------------
342
test_tab:
7676 art_zh 343
	include "tab_test.inc"
6353 nisargshah 344
;--- Drow Config tab -------------
345
config_tab:
7676 art_zh 346
	include "tab_conf.inc"
6353 nisargshah 347
;--- Drow About tab --------------
348
about_tab:
7676 art_zh 349
	include "tab_about.inc"
6353 nisargshah 350
 
351
redraw:
352
 
353
	; frame for graph
354
 
355
	mov	eax, 13
356
	mov	ebx, 12 * 65536 + 286
357
	mov	ecx, 140 * 65536 + 101
358
	mov	edx, tcol
359
	int	0x40
360
	mov	eax, 38
361
	mov	edx, atcol
362
	mov	ebx, 12 * 65536 + 286 + 12
363
	mov	ecx, 140 * 65536 + 140
364
@@:	add	ecx, 10 * 65536 + 10
365
	int	0x40
366
	cmp	cx, 230 		; привязано к координатам окна
367
	jl	@b
368
 
369
	; write CPU usage
7676 art_zh 370
	call	cpu_usage
6353 nisargshah 371
	;--- добавляем на график ---
372
	mov esi, d_cpu_load
7676 art_zh 373
	call	d_add
374
	call	d_show
205 heavyiron 375
	;---------------------------
376
	movzx	ecx, al
377
	mov	eax, 47
378
	mov	edx, 121 * 65536 + 30
379
	xor	esi, esi
380
	call	digit_len
6353 nisargshah 381
	clear_prev_no edx
205 heavyiron 382
	int	0x40
3604 fedesco 383
 
6353 nisargshah 384
	; write used memory
205 heavyiron 385
	call	mem_usage
6353 nisargshah 386
	;--- добавляем на график ---
205 heavyiron 387
	mov	esi, d_mem_usage
388
	call	d_add
389
	call	d_show
390
	;---------------------------
391
	movzx	ecx, al
392
	mov	eax, 47
393
	mov	edx, 121 * 65536 + 40
394
	xor	esi, esi
395
	call	digit_len
6353 nisargshah 396
	clear_prev_no edx
205 heavyiron 397
	int	0x40
3604 fedesco 398
 
205 heavyiron 399
	cmp	byte[hwm_enable], 0
400
	jne	show_mon
6353 nisargshah 401
	; Нет датчиков - пишем NO
402
	mov	ecx, 8	;<- number of parameters
205 heavyiron 403
	mov	eax, 4
404
	mov	ebx, 121 * 65536 + 50
405
	mov	edx, msg_no
406
	mov	esi, 3
407
@@:	int	0x40
408
	add	ebx, 10
409
	loop	@b
410
 
6353 nisargshah 411
	mov	ecx, 7	;<- number of parameters
205 heavyiron 412
	mov	ebx, 260 * 65536 + 30
413
@@:	int	0x40
414
	add	ebx, 10
415
	loop	@b
416
 
417
	jmp	no_monitor
418
show_mon:
6353 nisargshah 419
	;Есть датчики пишим инфу
205 heavyiron 420
	call	hwm_get_params
421
	;---------------------------
6353 nisargshah 422
	; Температуру
205 heavyiron 423
	mov	ecx, 3
223 Ghost 424
	mov	esi, hwm_temps
205 heavyiron 425
	mov	edx, 121 * 65536 + 50
426
	xor	eax, eax
427
sh_temp:push	ecx
428
	lodsw
429
	push	esi
6353 nisargshah 430
	; реакция на изменения
205 heavyiron 431
	xor	esi, esi
432
	cmp	[old_t1 + ecx * 4 - 4], eax
433
	je	@f
434
	mov	[old_t1 + ecx * 4 - 4], eax
435
	mov	esi, val_mod
436
@@:	movzx	ecx, al
437
	push	eax
438
	mov	eax, 47
439
	mov	ebx, 0x20000
6353 nisargshah 440
	clear_prev_no edx
205 heavyiron 441
	int	0x40
442
	pop	eax
443
	mov	cl, ah
444
	mov	eax, 47
445
	mov	ebx, 0x10000
446
	add	edx, 15 * 65536
447
	int	0x40
448
	sub	edx, 15 * 65536 - 10
449
	pop	esi
450
	pop	ecx
451
	loop	sh_temp
6353 nisargshah 452
	;;--- Add to the chart temp1 ---
223 Ghost 453
	movzx	eax, word[hwm_temps]
205 heavyiron 454
	mov	esi, d_temp1
455
	call	d_add
456
	call	d_show
6353 nisargshah 457
	;;--- Add to the chart temp2 ---
223 Ghost 458
	movzx	eax, word[hwm_temps + 2]
205 heavyiron 459
	mov	esi, d_temp2
460
	call	d_add
461
	call	d_show
6353 nisargshah 462
	;;--- Add to the chart temp3 ---
223 Ghost 463
	movzx	eax, word[hwm_temps + 4]
205 heavyiron 464
	mov	esi, d_temp3
465
	call	d_add
466
	call	d_show
467
 
468
	;---------------------------
6353 nisargshah 469
	; Скорости врашения вентилей
223 Ghost 470
	mov	ecx, 5
471
	mov	esi, hwm_rpms
205 heavyiron 472
	mov	edx, 121 * 65536 + 80
5950 pathoswith 473
sh_fan: push	ecx
205 heavyiron 474
	lodsd
475
	push	esi
6353 nisargshah 476
	;реакция на изменения
205 heavyiron 477
	xor	esi, esi
478
	cmp	[old_f1 + ecx * 4 - 4], eax
479
	je	@f
480
	mov	[old_f1 + ecx * 4 - 4], eax
481
	mov	esi, val_mod
482
@@:	mov	ecx, eax
483
	call	digit_len
484
	mov	eax, 47
6353 nisargshah 485
	clear_prev_no edx
205 heavyiron 486
	int	0x40
3604 fedesco 487
	add	edx, 10
205 heavyiron 488
	pop	esi
489
	pop	ecx
490
	loop	sh_fan
3604 fedesco 491
 
205 heavyiron 492
	;---------------------------
6353 nisargshah 493
	; Напруги
223 Ghost 494
	mov	esi, hwm_voltages
205 heavyiron 495
	mov	edi, old_volts
496
	mov	ecx, 7
497
	mov	ebx, 260 * 65536 + 30
498
	mov	edx, Data_String
499
volt_nxt:
500
	push	ecx
501
	push	esi
502
	call	ftoa
6353 nisargshah 503
	;реакция на изменения
205 heavyiron 504
	xor	ecx, ecx
505
	fld	dword [esi]
506
	fsub	dword [edi]
507
	fabs
3604 fedesco 508
 
7676 art_zh 509
	; fcomp dword [c_eps]   ; bug in MeOsEmul
5950 pathoswith 510
	; fstsw ax
205 heavyiron 511
	fcom	dword [c_eps]	; 0xBADCODE
512
	fstsw	ax
3604 fedesco 513
	finit
514
 
205 heavyiron 515
	sahf
516
	jc	@f
517
	mov	ecx, val_mod
6353 nisargshah 518
@@:	mov	esi, Data_String	; считаем кол-во символов
205 heavyiron 519
@@:	lodsb
520
	test	al, al
521
	jnz	@b
522
	sub	esi, Data_String
3604 fedesco 523
 
205 heavyiron 524
	mov	eax, 4
525
	int	0x40
526
	add	ebx, 10
527
	pop	esi
528
	pop	ecx
529
	movsd
530
	loop	volt_nxt
3604 fedesco 531
 
205 heavyiron 532
no_monitor:
533
	;---------------------------
7676 art_zh 534
	mov	al, [act_tab]	; check if info tab is active
205 heavyiron 535
	cmp	al, 2
6353 nisargshah 536
	jne	end_drow_tab
537
	jmp	free_mem    ; in tab_info.inc
538
 
205 heavyiron 539
end_drow_tab:
540
	mov	eax, 12
541
	mov	ebx, 2
542
	int	0x40
543
	jmp	wait_for_event
544
;---------------------------------------------------------------------
5950 pathoswith 545
	include "system.inc"
205 heavyiron 546
	include "hwm.inc"
547
	include "diag.inc"
548
 
3604 fedesco 549
 
205 heavyiron 550
DATA
6353 nisargshah 551
act_tab 	db	2			; active tab number
5920 IgorA 552
tab_lab:
553
.1: db 'Info'
554
.2: db 'Tests'
7817 hidnplayr 555
.3: db 'Config'
5920 IgorA 556
.4: db 'About'
557
title		db	'Ghost Monitor v0.4 [18/11/15]',0
205 heavyiron 558
 
559
msgs_mon mls \
560
	'CPU Load (%)',\
561
	'Mem Usage(%)',\
562
	'Temp1',\
563
	'Temp2',\
564
	'Temp3',\
565
	'Fan1',\
566
	'Fan2',\
223 Ghost 567
	'Fan3',\
568
	'Fan4',\
569
	'Fan5'
3604 fedesco 570
 
205 heavyiron 571
msgs_mon2 mls \
572
	'Vcore',\
573
	'AGP',\
574
	'+3.3V',\
575
	'AVcc (+5V)',\
576
	'+12V',\
577
	'-12V',\
578
	'-5V'
579
 
5950 pathoswith 580
msg_yes 	db	'Yes'
205 heavyiron 581
msg_no		db	'N/A'
582
 
6353 nisargshah 583
update_time	dd	300			; период обновления в сотых долях секунды
205 heavyiron 584
d_colors	dd	d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
585
c_eps		dd	0.01
223 Ghost 586
 
6353 nisargshah 587
; Цвета графиков
588
colors: 	dd	0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000	; первый и последний равны
223 Ghost 589
colors_end:
205 heavyiron 590
;---------------------------------------------------------------------
591
UDATA
592
 
6353 nisargshah 593
test_pid	dd	?			; если test_id == 0 - не имеет смысла
594
test_id 	db	?			; 0 - тест не запушен (соответствует № кнопки 6..10)
595
diag_add_v	db	?			; 0 - не добавлять данные на график, !0 - добавлять
205 heavyiron 596
 
5950 pathoswith 597
Vendor: 	times	12 db ?
205 heavyiron 598
CPU_fam:	db	?
599
CPU_mod:	db	?
600
CPU_type:	db	?
601
CPU_mmx:	db	?
602
 
6353 nisargshah 603
; Для реакции на изменения
604
old_t1: 	dd	?	; последнее значение temp1
5950 pathoswith 605
old_t2: 	dd	?	; ...
606
old_t3: 	dd	?
607
old_f1: 	dd	?
608
old_f2: 	dd	?
609
old_f3: 	dd	?
205 heavyiron 610
old_volts:	times	7 dd ?
611
 
6353 nisargshah 612
; Грфики
205 heavyiron 613
diag_beg:
614
d_cpu_load:	dd	?
615
		times 286 db ?
3604 fedesco 616
 
205 heavyiron 617
d_mem_usage:	dd	?
618
		times 286 db ?
3604 fedesco 619
 
205 heavyiron 620
d_temp1:	dd	?
621
		times 286 db ?
3604 fedesco 622
 
205 heavyiron 623
d_temp2:	dd	?
624
		times 286 db ?
625
 
626
d_temp3:	dd	?
627
		times 286 db ?
628
diag_end:
629
 
6353 nisargshah 630
; --- стек теста, воизбежание глюков не переносить в другое место ----
205 heavyiron 631
th_stack:	times	1024 db ?
632
stp:
633
;---------------------------------------------------------------------
634
MEOS_APP_END