Subversion Repositories Kolibri OS

Rev

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