Subversion Repositories Kolibri OS

Rev

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

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