Subversion Repositories Kolibri OS

Rev

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

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