Subversion Repositories Kolibri OS

Rev

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

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