Subversion Repositories Kolibri OS

Rev

Rev 2559 | Rev 2583 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
31 halyavin 1
;
2559 mario79 2
;   CPU -process Manager
31 halyavin 3
;
2559 mario79 4
;------------------------------------------------------------------------------
2582 mario79 5
; version:	1.80
6
; last update:  07/04/2012
7
; changed by:   Marat Zakiyanov aka Mario79, aka Mario
8
; changes:      Complete elimination of flicker.
9
;               Using f.0 C = 1 - don't fill working area on window draw.
10
;               Increasing the size of buttons and a bright color.
11
;------------------------------------------------------------------------------
2559 mario79 12
; version:	1.70
13
; last update:  04/04/2012
14
; changed by:   Marat Zakiyanov aka Mario79, aka Mario
15
; changes:      Code refactoring and optimization.
16
;               Added russian language support.
17
;               Fix - processes information showing  not been updated during
18
;               the processing of mouse events.
19
;------------------------------------------------------------------------------
20
; Many fix's and changes created by:
21
;               Diamond, Heavyiron, SPraid, ,
22
;               Leency, IgorA, kaitz
23
;---------------------------------------------------------------------
24
;   integrated with load_lib.obj by 
25
;---------------------------------------------------------------------
31 halyavin 26
;   additions by M.Lisovin lisovin@26.ru
2559 mario79 27
;---------------------------------------------------------------------
28
;   original author - VTurjanmaa
29
;------------------------------------------------------------------------------
30
	use32
31
	org 0x0
32
	db 'MENUET01'		; 8 byte id
33
	dd 0x01			; header version
34
	dd START		; start of code
35
	dd IM_END		; size of image
36
	dd U_END		; memory for app
37
	dd stack_area		; esp
38
	dd 0x0			; boot parameters
39
	dd 0x0			; path
40
;------------------------------------------------------------------------------
31 halyavin 41
include 'lang.inc'
1209 diamond 42
include '../../../macros.inc'
1373 IgorA 43
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
1209 diamond 44
include '../../../develop/libraries/box_lib/load_lib.mac'
2559 mario79 45
;------------------------------------------------------------------------------
2582 mario79 46
display_processes=24	;32		; number of processes to show
2559 mario79 47
window_x_size=524
48
window_y_size=430
49
;------------------------------------------------------------------------------
1205 Lrz 50
@use_library	;use load lib macros
2559 mario79 51
;------------------------------------------------------------------------------
1373 IgorA 52
START:				; start of execution
2559 mario79 53
	mcall	68,11
1205 Lrz 54
sys_load_library  library_name, cur_dir_path, library_path, system_path, \
55
err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
1373 IgorA 56
	inc	eax
57
	jz	close
2559 mario79 58
;------------------------------------------------------------------------------
59
	mcall	40,0x27	;set event
60
;------------------------------------------------------------------------------
61
;set window size and position for 0 function
62
;to [winxpos] and [winypos] variables
63
;get screen size
64
	mcall	14
65
	mov	ebx,eax
66
;calculate (x_screen-window_x_size)/2
67
	shr	ebx,16+1
68
	sub	ebx,window_x_size/2
69
	shl	ebx,16
70
	mov	bx,window_x_size
71
;winxpos=xcoord*65536+xsize
72
	mov	[winxpos],ebx
73
;calculate (y_screen-window_y_size)/2
74
	and	eax,0xffff
75
	shr	eax,1
76
	sub	eax,window_y_size/2
77
	shl	eax,16
78
	mov	ax,window_y_size
79
;winypos=ycoord*65536+ysize
80
	mov	[winypos],eax
81
;------------------------------------------------------------------------------
1373 IgorA 82
	mcall	48,3,sc,40
2128 leency 83
	edit_boxes_set_sys_color edit1,edit1_end,sc		;set color
1373 IgorA 84
	check_boxes_set_sys_color check1,check1_end,sc	;set color
2559 mario79 85
;------------------------------------------------------------------------------
86
align 4
87
;main loop when process name isn't edited.
88
red:
89
	call	draw_window		; redraw all window
90
;------------------------------------------------------------------------------
91
align 4
31 halyavin 92
still:
2559 mario79 93
	mcall	23,100		; wait here for event 1 sec.
31 halyavin 94
 
2559 mario79 95
	dec	eax		      ; redraw request ?
96
	jz	red
1205 Lrz 97
 
2559 mario79 98
	dec	eax		      ; key in buffer ?
99
	jz	key
100
 
101
	dec	eax		      ; button in buffer ?
102
	jz	button
103
 
1373 IgorA 104
	push	dword edit1
105
	call	[edit_box_mouse]
2559 mario79 106
 
1385 diamond 107
	push	dword[check1+32]
2559 mario79 108
 
1266 Lrz 109
	push	dword check1
110
	call	[check_box_mouse]
2559 mario79 111
 
1385 diamond 112
	pop	eax
2559 mario79 113
 
1385 diamond 114
	cmp	eax, dword[check1+32]
2559 mario79 115
	jz	still_end
116
 
117
	push	dword check1
118
	call	[check_box_draw]
119
;--------------------------------------
120
align 4
121
show_process_info_1:
122
	mcall	26,9
123
	add	eax,100
124
	mov	[time_counter],eax
1205 Lrz 125
 
2559 mario79 126
	call	show_process_info	; draw new state of processes
127
	jmp	still
128
;------------------------------------------------------------------------------
129
align 4
130
still_end:
131
	mcall	26,9
132
	cmp	[time_counter],eax
133
	ja	still
31 halyavin 134
 
2559 mario79 135
	add	eax,100
136
	mov	[time_counter],eax
1212 Lrz 137
 
2559 mario79 138
	call	show_process_info	; draw new state of processes
139
	jmp	still
140
;------------------------------------------------------------------------------
141
align 4
142
key:				; key
143
	mcall	2
1205 Lrz 144
 
2559 mario79 145
	cmp	ah,184 		; PageUp
146
	jz	pgdn
1205 Lrz 147
 
2559 mario79 148
	cmp	ah,183
149
	jz	pgup			; PageDown
150
 
151
	cmp	ah,27
152
	jz	close			; Esc
153
 
1373 IgorA 154
	push	dword edit1
155
	call	[edit_box_key]
1266 Lrz 156
				; Check ENTER with ed_focus edit_box
2559 mario79 157
	lea	edi,[edit1]
158
	test	word ed_flags,ed_focus
159
	jz	still_end
1205 Lrz 160
 
2559 mario79 161
	sub	ah,13			; ENTER?
162
	jz	program_start		; RUN a program
1212 Lrz 163
 
2559 mario79 164
	jmp	still
165
;------------------------------------------------------------------------------
166
align 4
167
button:
31 halyavin 168
; get button id
2559 mario79 169
	mcall	17
170
	shr	eax,8
31 halyavin 171
;id in [10,50] corresponds to terminate buttons.
2559 mario79 172
	cmp	eax,10
173
	jb	noterm
31 halyavin 174
 
2559 mario79 175
	cmp	eax,50
176
	jg	noterm
31 halyavin 177
;calculate button index
2559 mario79 178
	sub	eax,11
31 halyavin 179
;calculate process slot
2559 mario79 180
	mov	ecx,[tasklist+4*eax]
31 halyavin 181
;ignore empty buttons
2559 mario79 182
	test	ecx,ecx
183
	jle	still_end
31 halyavin 184
;terminate application
2559 mario79 185
	mcall	18,2
2582 mario79 186
	jmp	show_process_info_1
2559 mario79 187
;--------------------------------------
188
align 4
189
noterm:
190
;special buttons
191
	dec	eax
192
	jz	close
1212 Lrz 193
 
2559 mario79 194
	sub	eax,50
195
	jz	pgdn	  ;51
31 halyavin 196
 
2559 mario79 197
	dec	eax
198
	jz	pgup	  ;52
1203 Lrz 199
 
2559 mario79 200
	dec	eax
201
	jz	program_start	;53
1212 Lrz 202
 
2559 mario79 203
	dec	eax
204
	jz	reboot 	;54
1212 Lrz 205
 
2559 mario79 206
	jmp	still_end
207
;buttons handlers
208
;------------------------------------------------------------------------------
209
align 4
210
pgdn:
211
	sub	[list_start],display_processes
2582 mario79 212
	jge	show_process_info_1
2559 mario79 213
	mov	[list_start],0
2582 mario79 214
	jmp	show_process_info_1
2559 mario79 215
;------------------------------------------------------------------------------
216
align 4
217
pgup:
218
	mov	eax,[list_add]  ;maximal displayed process slot
219
	mov	[list_start],eax
2582 mario79 220
	jmp	show_process_info_1
2559 mario79 221
;------------------------------------------------------------------------------
222
align 4
223
program_start:
224
	mcall	70,file_start
2582 mario79 225
	jmp	show_process_info_1
2559 mario79 226
;------------------------------------------------------------------------------
227
align 4
228
reboot:
229
	mcall	70,sys_reboot
31 halyavin 230
;close program if we going to reboot
2559 mario79 231
;------------------------------------------------------------------------------
232
align 4
233
close:
234
	or	eax,-1 		; close this program
235
	mcall
236
;------------------------------------------------------------------------------
237
align 4
2582 mario79 238
draw_empty_slot:
239
	cmp	[draw_window_flag],1
240
	je	@f
241
	mov	ecx,[curposy]
242
	shl	ecx,16
243
	mov	cx,10	; button height
244
	push	ecx
245
	add	ecx,3 shl 16
246
	mcall	13,<11,95>,,[btn_bacground_color]
247
	pop	ecx
248
 
249
	mcall	13,<111,393>,,[bar_bacground_color]
250
;--------------------------------------
251
align 4
252
@@:
253
	ret
254
;------------------------------------------------------------------------------
255
align 4
31 halyavin 256
draw_next_process:
257
;input:
258
;  edi - current slot
259
;  [curposy] - y position
260
;output:
261
;  edi - next slot (or -1 if no next slot)
262
;registers corrupted!
263
;delete old button
2582 mario79 264
	cmp	[draw_window_flag],0
265
	je	@f
2559 mario79 266
	mov	edx,[index]
267
	add	edx,(1 shl 31)+11
268
	mcall	8
2582 mario79 269
;--------------------------------------
270
align 4
271
@@:
31 halyavin 272
;create terminate process button
2559 mario79 273
	mov	ecx,[curposy]
274
	shl	ecx,16
2582 mario79 275
	mov	cx,13	; button height
2559 mario79 276
	mov	edx,[index]
277
	add	edx,11
2582 mario79 278
	mov	esi,0xccddee	; 0xaabbcc
31 halyavin 279
;contrast
2559 mario79 280
	test	dword [index],1
281
	jz	.change_color_button
2582 mario79 282
	mov	esi,0xaabbcc	; 0x8899aa
2559 mario79 283
;--------------------------------------
284
align 4
31 halyavin 285
.change_color_button:
2582 mario79 286
	cmp	[draw_window_flag],0
287
	je	@f
288
	mcall	8,<10,99>
289
;--------------------------------------
290
align 4
291
@@:
292
	mov	[btn_bacground_color],esi
31 halyavin 293
;draw background for proccess information
2559 mario79 294
; ecx was already set
2582 mario79 295
	mov	edx,0xddffdd	; 0x88ff88
31 halyavin 296
;contrast
2559 mario79 297
	test	dword [index],1
298
	jz	.change_color_info
2582 mario79 299
	mov	edx,0xffffff	; 0xddffdd
2559 mario79 300
;--------------------------------------
301
align 4
31 halyavin 302
.change_color_info:
2582 mario79 303
	inc	cx
304
	cmp	[draw_window_flag],0
305
	je	@f
2559 mario79 306
	mcall	13,<110,395>
2582 mario79 307
;--------------------------------------
308
align 4
309
@@:
310
	mov	[bar_bacground_color],edx
31 halyavin 311
;nothing else should be done
312
;if there is no process for this button
2582 mario79 313
	cmp	edi,-1
314
	jne	.return_1
315
 
316
	call	draw_empty_slot
317
	or	edi,-1
318
	jmp	.ret
2559 mario79 319
;--------------------------------------
320
align 4
321
.return_1:
31 halyavin 322
;find process
2559 mario79 323
	inc	edi
31 halyavin 324
;more comfortable register for next loop
2559 mario79 325
	mov	ecx,edi
31 halyavin 326
;precacluate pointer to process buffer
2559 mario79 327
	mov	ebx,process_info_buffer
328
;--------------------------------------
329
align 4
31 halyavin 330
.find_loop:
2559 mario79 331
	cmp	ecx,256
332
	jge	.no_processes
31 halyavin 333
;load process information in buffer
2559 mario79 334
	mcall	9
31 halyavin 335
;if current slot greater than maximal slot,
336
;there is no more proccesses.
2559 mario79 337
	cmp	ecx,eax
338
	jg	.no_processes
31 halyavin 339
;if slot state is equal to 9, it is empty.
2559 mario79 340
	cmp	[process_info_buffer+process_information.slot_state],9
341
	jnz	.process_found
31 halyavin 342
 
2559 mario79 343
	inc	ecx
344
	jmp	.find_loop
345
;--------------------------------------
346
align 4
31 halyavin 347
.no_processes:
2582 mario79 348
	call	draw_empty_slot
2559 mario79 349
	or	edi,-1
350
	ret
351
;--------------------------------------
352
align 4
31 halyavin 353
.process_found:
1266 Lrz 354
;check on/off check box
2559 mario79 355
	push	edi
356
	lea	edi,[check1]
357
	test	dword ch_flags,ch_flag_en
358
	pop	edi
359
	jnz	@f
1266 Lrz 360
 
2559 mario79 361
	cmp	dword [process_info_buffer+10],'ICON'
362
	jz	.return_1
1266 Lrz 363
 
2559 mario79 364
	cmp	dword [process_info_buffer+10],'OS/I'
365
	jz	.return_1
366
 
367
	cmp	byte [process_info_buffer+10],'@'
368
	jz	.return_1
369
;--------------------------------------
370
align 4
371
@@:
372
	mov	edi,ecx
373
	mov	[list_add],ecx
31 halyavin 374
;get processor cpeed
375
;for percent calculating
2559 mario79 376
	mcall	18,5
377
	xor	edx,edx
378
	mov	ebx,100
379
	div	ebx
31 halyavin 380
;eax = number of operation for 1% now
381
;calculate process cpu usage percent
2559 mario79 382
	mov	ebx,eax
383
	mov	eax,[process_info_buffer+process_information.cpu_usage]
384
;	cdq
385
	xor	edx,edx ; for CPU more 2 GHz - mike.dld
386
	div	ebx
387
	mov	[cpu_percent],eax
31 halyavin 388
;set text color to display process information
389
;([tcolor] variable)
390
;0%      : black
391
;1-80%   : green
392
;81-100% : red
2559 mario79 393
	test	eax,eax
394
	jnz	.no_black
1212 Lrz 395
 
2559 mario79 396
	mov	[tcolor],eax
397
	jmp	.color_set
398
;--------------------------------------
399
align 4
31 halyavin 400
.no_black:
2559 mario79 401
	cmp	eax,80
402
	ja	.no_green
1212 Lrz 403
 
2559 mario79 404
	mov	dword [tcolor],0x107a30
405
	jmp	.color_set
406
;--------------------------------------
407
align 4
31 halyavin 408
.no_green:
2559 mario79 409
	mov	dword [tcolor],0xac0000
410
;--------------------------------------
411
align 4
31 halyavin 412
.color_set:
413
;show slot number
414
;ecx haven't changed since .process_found
2582 mario79 415
	push	edi
2559 mario79 416
	mov	edx,[curposy]
2582 mario79 417
	add	edx,15*65536+3
418
	mov	esi,[tcolor]
419
	and	esi,0xffffff
420
	or	esi,0x40000000
421
	mcall	47,<2,256>,,,,[btn_bacground_color]
31 halyavin 422
;show process name
2559 mario79 423
	mov	ebx,[curposy]
2582 mario79 424
	add	ebx,40*65536+3
425
	mov	ecx,[tcolor]
426
	and	ecx,0xffffff
427
	or	ecx,0x40000000
428
	mcall	4,,,process_info_buffer.process_name,11,[btn_bacground_color]
31 halyavin 429
;show pid
2559 mario79 430
	mov	edx,[curposy]
2582 mario79 431
	add	edx,125*65536+3
432
	mov	esi,[tcolor]
433
	and	esi,0xffffff
434
	or	esi,0x40000000
435
	mcall	47,<8,256>,[process_info_buffer.PID],,,[bar_bacground_color]
31 halyavin 436
;show cpu usage
2559 mario79 437
	add	edx,60*65536
438
	mcall	,,[process_info_buffer.cpu_usage]
31 halyavin 439
;show cpu percent
2559 mario79 440
	add	edx,60*65536
441
	mcall	,<3,0>,[cpu_percent]
31 halyavin 442
;show memory start - obsolete
2559 mario79 443
	add	edx,30*65536
444
	mcall	,<8,256>,[process_info_buffer.memory_start]
31 halyavin 445
;show memory usage
2559 mario79 446
	mov	ecx,[process_info_buffer.used_memory]
447
	inc	ecx
448
	add	edx,60*65536
449
	mcall
31 halyavin 450
;show window stack and value
2559 mario79 451
	add	edx,60*65536
452
	mcall	,,dword [process_info_buffer.window_stack_position]
31 halyavin 453
;show window xy size
2559 mario79 454
	mov	ecx,[process_info_buffer.box.left]
455
	shl	ecx,16
456
	add	ecx,[process_info_buffer.box.top]
457
	add	edx,60*65536
458
	mcall
2582 mario79 459
	pop	edi
2559 mario79 460
;--------------------------------------
461
align 4
31 halyavin 462
.ret:
463
;build index->slot map for terminating processes.
2559 mario79 464
	mov	eax,[index]
465
	mov	[tasklist+4*eax],edi
466
	ret
467
;------------------------------------------------------------------------------
468
align 4
469
f11:
31 halyavin 470
;full update
2559 mario79 471
	push	edi
472
	call	draw_window
473
	pop	edi
474
;------------------------------------------------------------------------------
31 halyavin 475
;   *********************************************
476
;   *******  WINDOW DEFINITIONS AND DRAW ********
477
;   *********************************************
2559 mario79 478
align 4
31 halyavin 479
draw_window:
2559 mario79 480
	mcall	12, 1
481
; DRAW WINDOW
482
	xor	eax,eax				; function 0 : define and draw window
483
	xor	esi,esi
2582 mario79 484
	mcall	,[winxpos],[winypos],0x74ffffff,,title	;0x34ddffdd
485
 
486
	mcall	9,process_info_buffer,-1
487
	mov	eax,[ebx+62]
488
	inc	eax
489
	mov	[client_area_x_size],eax
490
	mov	eax,[ebx+66]
491
	inc	eax
492
	mov	[client_area_y_size],eax
493
 
494
	mov	ebx,[client_area_x_size]
495
	mcall	13,,<0,20>,0xffffff
2559 mario79 496
; function 4 : write text to window
497
	xor	ecx,ecx
2582 mario79 498
	mcall	4,<17,8>,,text,text_len
31 halyavin 499
 
2582 mario79 500
	mcall	13,<0,10>,<20,336>,0xffffff
501
 
502
	mov	ebx,[client_area_x_size]
503
	sub	ebx,10+100+395
504
	add	ebx,(10+100+395) shl 16
505
	mcall
506
 
507
	mcall	26,9
508
	add	eax,100
509
	mov	[time_counter],eax
510
 
511
	mov	[draw_window_flag],1
512
	call	show_process_info
513
	mov	[draw_window_flag],0
514
 
515
	mov	ebx,[client_area_x_size]
516
	mov	ecx,[client_area_y_size]
517
	sub	ecx,20+336
518
	add	ecx,(20+336) shl 16
519
	mcall	13,,,0xffffff
520
 
1373 IgorA 521
	push	dword edit1
522
	call	[edit_box_draw]
2559 mario79 523
 
1373 IgorA 524
	push	dword check1
1266 Lrz 525
	call	[check_box_draw]
2582 mario79 526
 
31 halyavin 527
; previous page button
2582 mario79 528
	mcall	8,<25,96>,<361,14>,51,0xccddee	;0xaabbcc
1207 Lrz 529
; next page button  52
2559 mario79 530
	inc	edx
531
	mcall	,<125,96>
31 halyavin 532
; ">" (text enter) button
2559 mario79 533
	add	ecx,20 shl 16
1207 Lrz 534
; run button 53
2559 mario79 535
	inc	edx
2582 mario79 536
	mcall	,<456,50>
31 halyavin 537
; reboot button
2559 mario79 538
	sub	ebx,120*65536
539
	add	ebx,60
540
	sub	ecx,20 shl 16
541
	inc	edx
542
	mcall
31 halyavin 543
;"PREV PAGE", "NEXT PAGE" and "REBOOT" labels
2559 mario79 544
	xor	ecx,ecx
2582 mario79 545
	mcall	4,<45,365>,,tbts,tbte-tbts
31 halyavin 546
;"RUN" labels
2582 mario79 547
	mcall	,<464,385>,,tbts_3,tbte_2-tbts_3
31 halyavin 548
;print application name in text box
2559 mario79 549
	mcall	12, 2
550
	ret
551
;------------------------------------------------------------------------------
552
align 4
553
show_process_info:
554
	mov	edi,[list_start]
555
	mov	[list_add],edi
556
	mov	dword [index],0
2582 mario79 557
	mov	dword [curposy],20
2559 mario79 558
;--------------------------------------
559
align 4
560
.loop_draw:
561
	call	draw_next_process
562
	inc	dword [index]
2582 mario79 563
	add	dword [curposy],14
2559 mario79 564
	cmp	[index],display_processes
565
	jl	.loop_draw
566
	ret
567
;------------------------------------------------------------------------------
31 halyavin 568
; DATA AREA
2559 mario79 569
;------------------------------------------------------------------------------
1373 IgorA 570
system_path	 db '/sys/lib/'
571
library_name	 db 'box_lib.obj',0
1205 Lrz 572
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
573
 
1373 IgorA 574
err_message_found_lib	db 'Sorry I cannot load library box_lib.obj',0
1205 Lrz 575
head_f_i:
1373 IgorA 576
head_f_l	db 'System error',0
577
err_message_import	db 'Error on load import library box_lib.obj',0
2559 mario79 578
;------------------------------------------------------------------------------
579
align 4
1205 Lrz 580
myimport:
2559 mario79 581
edit_box_draw		dd aEdit_box_draw
582
edit_box_key		dd aEdit_box_key
583
edit_box_mouse		dd aEdit_box_mouse
584
;version_ed		dd aVersion_ed
1205 Lrz 585
 
2559 mario79 586
check_box_draw		dd aCheck_box_draw
587
check_box_mouse		dd aCheck_box_mouse
588
;version_ch		dd aVersion_ch
1205 Lrz 589
 
2559 mario79 590
;option_box_draw	dd aOption_box_draw
591
;option_box_mouse	dd aOption_box_mouse
592
;version_op		dd aVersion_op
1205 Lrz 593
 
2559 mario79 594
		dd 0
595
		dd 0
1205 Lrz 596
 
2559 mario79 597
aEdit_box_draw		db 'edit_box',0
598
aEdit_box_key		db 'edit_box_key',0
599
aEdit_box_mouse		db 'edit_box_mouse',0
600
;aVersion_ed		db 'version_ed',0
1205 Lrz 601
 
2559 mario79 602
aCheck_box_draw		db 'check_box_draw',0
603
aCheck_box_mouse	db 'check_box_mouse',0
604
;aVersion_ch		db 'version_ch',0
1205 Lrz 605
 
2559 mario79 606
;aOption_box_draw	db 'option_box_draw',0
607
;aOption_box_mouse	db 'option_box_mouse',0
608
;aVersion_op		db 'version_op',0
609
;------------------------------------------------------------------------------
610
align 4
2582 mario79 611
check1 check_box 10,383,6,11,0x80AABBCC,0,0,check_text,check_t_e,0;ch_flag_en
1266 Lrz 612
check1_end:
2582 mario79 613
edit1 edit_box 350,95,381,0xffffff,0x6f9480,0,0xAABBCC,0,start_application_c,\
2559 mario79 614
   start_application,mouse_dd,ed_focus,start_application_e,start_application_e
1228 Lrz 615
edit1_end:
31 halyavin 616
list_start  dd 0
2559 mario79 617
;------------------------------------------------------------------------------
618
align 4
748 heavyiron 619
sys_reboot:
1373 IgorA 620
	    dd 7
621
	    dd 0
622
	    dd 0
623
	    dd 0
624
	    dd 0
625
	    db '/sys/end',0
2559 mario79 626
;------------------------------------------------------------------------------
340 heavyiron 627
if lang eq de
31 halyavin 628
text:
2559 mario79 629
	db 'NAME/BEENDEN        PID     CPU-LAST   % '
630
	db 'SPEICHER START/NUTZUNG  W-STACK   W-SIZE'
205 heavyiron 631
text_len = $-text
31 halyavin 632
 
2582 mario79 633
tbts:	db 'SEITE ZURUECK     SEITE VOR                        REBOOT SYSTEM'
135 diamond 634
tbte:
2559 mario79 635
tbts_3	db 'START'
135 diamond 636
tbte_2:
2559 mario79 637
check_text	db '@ on/off'
1266 Lrz 638
check_t_e=$-check_text
2559 mario79 639
title	db 'Prozesse  - Ctrl/Alt/Del',0
640
;--------------------------------------
268 kaitz 641
else if lang eq et
642
text:
2559 mario79 643
	db 'NIMI/LÕPETA         PID    CPU-KASUTUS %   '
644
	db 'MÄLU ALGUS/KASUTUS  W-PUHVER  W-SUURUS'
268 kaitz 645
text_len = $-text
646
 
2559 mario79 647
tbts:	db 'EELMINE LEHT   JÄRGMINE LEHT                     REBOODI SÜSTEEM'
268 kaitz 648
tbte:
2559 mario79 649
tbts_3	db 'START'
268 kaitz 650
tbte_2:
2559 mario79 651
check_text	db '@ on/off'
1266 Lrz 652
check_t_e=$-check_text
2559 mario79 653
title	db 'Protsessid - Ctrl/Alt/Del'
654
;--------------------------------------
655
else if lang eq ru
656
text:
657
	db 'ˆŒŸ/‡€‚…˜ˆ’œ      PID     CPU-‡€ƒ“‡Š€ %  '
658
	db '€ŒŸ’œ €—€‹Ž/‚‘…ƒŽ  W-STACK    W-SIZE'
659
text_len = $-text
268 kaitz 660
 
2559 mario79 661
tbts:	db '…„.‘’        ‘‹…„.‘’                          ……‡€ƒ“‡Š€'
662
tbte:
663
tbts_3	db '‡€“‘Š'
664
tbte_2:
665
check_text	db '@ ¢ª«/¢ëª«'
666
check_t_e=$-check_text
667
title	db '„¨á¯¥âç¥à ¯à®æ¥áᮢ - Ctrl/Alt/Del',0
668
;--------------------------------------
340 heavyiron 669
else
670
text:
2559 mario79 671
	db 'NAME/TERMINATE      PID     CPU-USAGE  %   '
672
	db 'MEMORY START/USAGE  W-STACK    W-SIZE'
340 heavyiron 673
text_len = $-text
674
 
2559 mario79 675
tbts:	db 'PREV PAGE       NEXT PAGE                         REBOOT SYSTEM'
340 heavyiron 676
tbte:
2559 mario79 677
tbts_3	db ' RUN'
340 heavyiron 678
tbte_2:
2559 mario79 679
check_text	db '@ on/off'
1266 Lrz 680
check_t_e=$-check_text
2559 mario79 681
title	db 'Process manager - Ctrl/Alt/Del',0
340 heavyiron 682
 
135 diamond 683
end if
2559 mario79 684
;------------------------------------------------------------------------------
685
align 4
686
file_start:
687
	dd 7
688
	dd 0
689
	dd 0
690
	dd 0
691
	dd 0
1205 Lrz 692
start_application: db '/sys/LAUNCHER',0
693
start_application_e=$-start_application-1
694
;                   times 60 db 0
2559 mario79 695
	rb 60
1205 Lrz 696
start_application_c=$-start_application-1
2559 mario79 697
;------------------------------------------------------------------------------
698
IM_END:
699
;------------------------------------------------------------------------------
700
align 4
1228 Lrz 701
sc system_colors
2559 mario79 702
winxpos		rd 1
703
winypos		rd 1
1214 Lrz 704
mouse_dd	rd 1
2559 mario79 705
cpu_percent	rd 1
706
tcolor		rd 1
707
list_add	rd 1
708
curposy		rd 1
709
index		rd 1
710
tasklist	rd display_processes
711
time_counter	rd 1
2582 mario79 712
 
713
client_area_x_size	rd 1
714
client_area_y_size	rd 1
715
bar_bacground_color	rd 1
716
btn_bacground_color	rd 1
717
draw_window_flag	rd 1
2559 mario79 718
;------------------------------------------------------------------------------
719
align 4
720
library_path:
31 halyavin 721
process_info_buffer process_information
2559 mario79 722
;------------------------------------------------------------------------------
723
align 4
724
cur_dir_path:
725
	rb 1024
726
;------------------------------------------------------------------------------
727
align 4
728
	rb 1024
729
stack_area:
730
;------------------------------------------------------------------------------
31 halyavin 731
U_END:
2559 mario79 732
;------------------------------------------------------------------------------