Subversion Repositories Kolibri OS

Rev

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

  1. ;
  2. ; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû
  3. ; ÂÎÇÌÎÆÍÀ ÏÎÐ×À ÎÁÎÐÓÄÎÂÀÍÈß!
  4. ; ÈÑÏÎËÜÇÓÉÒÅ ÍÀ ÑÂÎÉ ÑÒÐÀÕ È ÐÈÑÊ!
  5. ;
  6. ; Çàìåòêè :
  7. ;       Äîïèñàòü çàïóñê òåñòîâ (rtst) (íåò ðåàêöèè íà îøèáêó çàïóñêà)
  8. ;       Ïåðåäåëàòü îáíîâëåíèå ãðàôèêà (ñäåëàòü îòäåëüíûì ïðîöåññîì)
  9. ;       Äîáàâèòü ðåàêöèþ íà ïàðàìåòðû äàò÷èêîâ
  10. ;
  11. ; Èñòîðèÿ :
  12. ;         09/2005 - íà÷àëî
  13. ;      04/10/2005 - îòêîììåíòèðîâàë êîä
  14. ;      09/11/2005 - äîïèñàíû òåñòû (ïîêà íåò òåñòà ïàìÿòè)
  15. ;      30/01/2006 - äîáàâëåííû ãðàôèêè
  16. ;      02/02/2006 - Äîáàâëåíà íàñòðîéêà âðåìåíè îáíîâëåíèÿ
  17. ;      10/02/2006 - äîáàâëåííà åùå èíôîðìàöèÿ ñ äàò÷èêîâ, îïò. wb_get_chip_name
  18. ;      01/03/2006 - äîáàâëåííà åùå èíôîðìàöèÿ ñ äàò÷èêîâ
  19. ;      16/03/2006 - îïòèìèçèðîâàíà ïî ðàçìåðó
  20. ;      17/03/2006 - ïîäñâåòêà èçìåí¸ííûõ ïàðàìåòðîâ, îïòèìèçàöèÿ, about
  21. ;      20/03/2006 - Ïóáëèêàöèÿ
  22. ;               ---  v 0.2 ---
  23. ;      24/03/2006 - Äîáàâëåííà ïîääåðæêà IT8705F, IT8712F è SIS950
  24. ;      25/03/2006 - Âûâîä òð¸õ òåìïåðàòóð è òð¸õ âåíòèëåé
  25. ;      28/03/2006 - Ãðàôèê temp3 è èçìåíåíèå öâåòà ãðàôèêîâ, îáðàáîòêà îòðèöàòåëüíûõ çíà÷åíèé ãðàôèêà
  26. ;      30/03/2006 - Îïòèìèçàöèÿ ïî ðàçìåðó âåðñèè îò 28/03/2006, ïåðåïèñàë ðèñîâàíèå ãðàôèêà
  27. ;      14/04/2006 - Èñïðàâèë ãðàôèê (jle -> jbe), äîáàâèë mem usage, âû÷èñëåíèå äëèííû ÷èñåë, çàêðûòèå ïî Esc
  28. ;      19/04/2006 - Î÷èñòêà íåèíèöèàëèçèðîâàííûõ äàííûõ
  29. ;               ---  v 0.3 ---
  30. ;      01/07/2006 - Ðàçëè÷èå ITE 8705F, ITE 8712F è IT8716F
  31. ;      04/07/2006 - Äîáàâëåííû íàïðóãè äëÿ ÷èïîâ Winbond
  32. ;      10/07/2006 - äîáàâëåííû íàïðóãè äëÿ ÷èïîâ ITE, ìíîæèòåëè äëÿ AMD K6, Intel P6, P7, îïòèìèçàöèÿ ïî ðàçìåðó
  33. ;      11/07/2006 - Ðåàêöèÿ íà èçìåíåíèå íàïðóãè, îïòèìèçàöèÿ ïî ðàçìåðó
  34. ;      12/07/2006 - it87_get_fan_speed bug fix, çàâåðøåíèå òåñòà ïî 18/18
  35. ;      13/07/2006 - it87_get_fan_speed bug fix, èñïðàâëåí âûâîä ÷èñåë ñ ïëàâàþùåé òî÷êîé
  36. ;      14/07/2006 - èñïðàâëåííû ïîêàçàíèÿ -12V äëÿ Winbond, îñòàëàñü ïðîáëåíìà ñ -5V
  37. ;      17/07/2006 - èñïðàâëåííà îøèáêà îïðåäåëåíèÿ ìíîæèòåëÿ äëÿ P6, äîáàâëåííû ìíîæèòåëè
  38. ;      18/07/2006 - Óëè÷øèë âûâîä ìíîæèòåëÿ, èñïðàâëåííû ìíîæèòåëè äëÿ P6 Tualatin, config.inc
  39. ;      22/07/2006 - P6 multiplier bugfix
  40. ;      30/07/2006 - P6 multiplier bugfix
  41. ;               --- v 0.4 ---
  42. ;      10/08/2006 - íà÷àòà ðàáîòà ïî ïîääåðæêå SMBus, ïåðåïèñàíû ôóíêöèè äëÿ ÷èïîâ ìîíèòîðèíãà
  43. ;      24/08/2006 - äîáàâëåííà ÷àñòîòà ïðîöåññîðà
  44. ;      10/09/2006 - bugfix
  45. ;      25/11/2006 - äîáàâëåí ABIT uGuru
  46. ;      20/12/2006 - W83627DHG, W83627EHF, W83627EHG, mutipliers for AthonXP-M, Athlon64, Athlon64-M,
  47. ;            Intel Dothan, Yonah, Conroe, Merom
  48. ;      24/12/2006 - ITE chips model id bugfix by Serge
  49. ;
  50. ;    Ýé! Ó ìåíÿ íåò ìíîãî âðåìåíè.
  51.  
  52. ; Âíåøíèå ôàéëû :
  53. ;       hwm*.inc        - ïðîöåäóðû ðàáîòû ñ äàò÷èêàìè ìîíèòîðèíãà
  54. ;       system.inc      - âû÷èñëåíèå çàãðóçêè ïðîöåññîðà, çàâåðøåíèå òåñòà, etc...
  55. ;       tests.inc       - òåñòû ;-)
  56. ;       diag.inc        - ïîääåðæêà äèàãðàì
  57. ;       tab_*.inc       - ïðîöåäóðû îòðèñîâêè ñîîòâåòñòâóþøèõ âêëàäîê
  58.  
  59.  
  60. ; Èäåíòèôèêàòîðû êíîïîê :
  61. ;       01 - Exit
  62. ;       02 - Info tab
  63. ;       03 - Tests tab
  64. ;       04 - Config tab
  65. ;       05 - About tab
  66. ;       06 - P5 test
  67. ;       07 - P6 test
  68. ;       08 - K6 test
  69. ;       09 - K7 test
  70. ;       10 - MMX test   - not used
  71. ;       11 - Update time increment
  72. ;       12 - Update time decriment
  73. ;       13..17 - Èçìåíåíèå öâåòà CPU_load, Mem_usage, Temp1, Temp2, Temp3
  74.  
  75. include 'config.inc'
  76. include 'macros.inc'
  77.  
  78. tcol    equ     0x5080d0
  79. atcol   equ     0x4070c0
  80. val_mod equ     0x3090
  81.  
  82. MEOS_APP_START
  83. include "tests.inc"     ; <-- Ìíîãî âûðàâíèâàíèé, ëó÷øå çäåñü
  84. CODE
  85. ;--- Init ------------------------------------------------------------
  86.         ; Î÷èùàåì íåèíèöèàëèçèðîâàííûå äàííûå
  87.         mov     ecx, __memory - __udata
  88.         mov     edi, __udata
  89.         xor     eax, eax
  90.         rep     stosb
  91.  
  92.         xor     eax, eax
  93.         cpuid                                   ; Óçíà¸ì ïðîèçâîäèòåëÿ ïðîöà
  94.         mov     [Vendor + 0], ebx
  95.         mov     [Vendor + 4], edx
  96.         mov     [Vendor + 8], ecx
  97.         mov     eax, 1
  98.         cpuid                                   ; Åñòü ëè MMX ?
  99.         mov     ecx, eax
  100.         shr     al, 4
  101.         and     ax, 0x0F0F
  102.         mov     [CPU_fam], ah
  103.         mov     [CPU_mod], al
  104.         shr     edx, 23
  105.         and     dl, 1
  106.         mov     [CPU_mmx], dl
  107.         shr     ecx, 12
  108.         and     cl, 11b
  109.         mov     [CPU_type], cl
  110.        
  111.         ; ! Öâåòà èç ìàññèâà colors
  112.         mov     dword[d_cpu_load], 0xFF00       ; èíèöèàëèçèðóåì ãðàôèê çàãðóçêè ÀËÓ
  113.         mov     dword[d_mem_usage], 0x8BA169    ; -- mem usega
  114.         mov     dword[d_temp1], 0xFF0000        ; -- ãðàôèê òåìïåðàòóðû ÖÏÓ
  115.         mov     dword[d_temp2], 0xFF            ; -- ãðàôèê òåìïåðàòóðû ÌÏ
  116.         mov     dword[d_temp3], 0xFF7E23
  117.  
  118.         call    hwm_init                        ; Èíèöèàëèçèðóåì ÷èï ìîíèòîðèíãà
  119.  
  120.         jmp     draw_window
  121. ;--- Wait & translate event ------------------------------------------
  122. wait_for_event:
  123.         mov     byte[diag_add_v], 0     ; äîáàâëÿåì äàííûå ê ãðàôèêó òîëüêî ïî òàéìåðó
  124.         mov     ebx, [update_time]
  125.         mov     eax, 23
  126.         int     0x40
  127.         test    eax, eax
  128.         jnz     @f
  129.         inc     byte [diag_add_v]
  130.         inc     eax                     ; ïåðåðèñóåì îêíî (eax := 1)
  131. @@:     dec     eax                     ; redraw request ?
  132.         jz      draw_window
  133.         dec     eax                     ; key in buffer ?
  134.         jz      key
  135.         dec     eax                     ; button in buffer ?
  136.         jz      button
  137.         jmp     wait_for_event
  138. ;--- Key pressed -----------------------------------------------------
  139. key:
  140.         mov     eax, 2
  141.         int     0x40
  142.         cmp     ah, 27                  ; Esc - çàâåðøåíèå ðàáîòû
  143.         je      exit
  144.         jmp     wait_for_event
  145. ;--- Button down -----------------------------------------------------
  146. button:
  147.         mov     eax, 17                 ; get id
  148.         int     0x40
  149.         cmp     ah, 1                   ; button id == 1 ?
  150.         jne     noexit
  151. exit:   cmp     byte[test_id], 0
  152.         je      @f
  153.         call    stop_test
  154. @@:     mov     eax, -1         ; close this program
  155.         int     0x40
  156. noexit:
  157.         ; êíîïêè âêëàäîê (2 .. 5)
  158.         cmp     ah, 5
  159.         jg      no_tabs
  160.         mov     byte[act_tab], ah
  161.         jmp     draw_window
  162. no_tabs:
  163.         ; êíîïêè çàïóñêà òåñòâî (6 .. 10)
  164.         cmp     ah, 10
  165.         jg      no_test_bt
  166.         ; åñëè íåò çàïóùåíûõ òåñòîâ - çàïóñêàåì âûáðàííûé
  167.         cmp     byte[test_id], 0
  168.         je      run_test
  169.         ; åñëè êíîïêà àêòèâíîãî òåñòà - îñòàíàâëèâàåì òåñò, èíà÷å íè÷åãî íå äåëàåì     
  170.         cmp     [test_id], ah
  171.         jne     wait_for_event
  172.         call    stop_test
  173.         jmp     draw_window
  174.  
  175. tsts:   dd      p5, p6, k6, k7
  176. run_test:
  177.         push    eax
  178.         movzx   ecx, ah
  179.         mov     ecx, [tsts + (ecx * 4) - (6 * 4)]
  180. rtst:   mov     eax, 51
  181.         mov     edx, stp
  182.         mov     ebx, 1
  183.         int     0x40
  184.         cmp     eax, 0xFFFFFFF0 ; -16
  185.         je      wait_for_event  ; <-- îøèáêà çàïóñêà òåñòà, ÏÅÐÅÏÈÑÀÒÜ
  186.         mov     [test_pid], eax
  187.         pop     eax
  188.         mov     byte [test_id], ah
  189.         jmp     draw_window
  190.         ;-------------------------
  191.         ; êíîïêè èçìåíåíèÿ âðåìåíè îáíîâëåíèÿ
  192. no_test_bt:
  193.         cmp     ah, 11
  194.         jne     no_ut_inc
  195.         add     dword[update_time], 10
  196.         jmp     draw_window
  197. no_ut_inc:
  198.         cmp     ah, 12
  199.         jne     no_ut_dec
  200.         cmp     dword[update_time], 10
  201.         jng     wait_for_event
  202.         sub     dword[update_time], 10
  203.         jmp     draw_window
  204. no_ut_dec:
  205.         ;-------------------------
  206.         ; êíîïêè èçìåíåíèÿ öâåòà ãðàôèêîâ (13..17)
  207.         cmp     ah, 17
  208.         jg      no_change_color
  209.         sub     ah, 13
  210.         movzx   ecx, ah
  211.         mov     esi, [d_colors + ecx * 4]
  212.         mov     eax, [esi]
  213.         mov     ecx, (colors_end - colors) / 4  ; êîëè÷åñòâî öâåòîâ
  214. @@:     dec     ecx
  215.         cmp     eax, [colors + ecx * 4]
  216.         jne     @b
  217.         mov     ebx, [colors + ecx * 4 - 4]
  218.         mov     [esi], ebx
  219.         jmp     draw_window
  220. no_change_color:
  221.         jmp     wait_for_event
  222. ;---------------------------------------------------------------------
  223. draw_window:
  224.         mov     eax,12
  225.         mov     ebx,1
  226.         int     0x40
  227.         ; Ñîçäà¸ì îêíî
  228.         xor     eax, eax
  229.         mov     ebx, 300 * 65536 + 309
  230.         mov     ecx, 150 * 65536 + 450
  231.         mov     edx, tcol + 0x3000000   ; color of work area RRGGBB,8->color
  232.         mov     esi, 0x805080d0         ; color of grab bar  RRGGBB,8->color
  233.         mov     edi, 0x005080d0         ; color of frames    RRGGBB
  234.         int     0x40
  235.         ; Ñîçäà¸ì ðàìêó ãðàôèêà
  236.         mov     eax, 13
  237.         mov     ebx, 10 * 65536 + 290
  238.         mov     ecx, 138 * 65536 + 105
  239.         mov     edx, atcol
  240.         int     0x40
  241.         mov     ebx, 12 * 65536 + 286
  242.         mov     ecx, 140 * 65536 + 101
  243.         mov     edx, tcol
  244.         int     0x40
  245.         mov     eax, 38
  246.         mov     edx, atcol
  247.         mov     ebx, 12 * 65536 + 286 + 12
  248.         mov     ecx, 140 * 65536 + 140
  249. @@:     add     ecx, 10 * 65536 + 10
  250.         int     0x40
  251.         cmp     cx, 230                 ; ïðèâÿçàíî ê êîîðäèíàòàì îêíà
  252.         jl      @b
  253.         ; Ïèøèì çàãîëîâîê
  254.         mov     eax, 4
  255.         mov     ebx, 8 * 65536 + 8
  256.         mov     edx, title
  257.         mov     ecx, 0x10FFFFFF
  258.         mov     esi, 29
  259.         int     0x40
  260.        
  261.         ; Ïèøèì íàçâàíèÿ ïàðàìåòðîâ (Cpu load, temper, etc...)
  262.         mov     edx, msgs_mon
  263.         mov     ebx, 17 * 65536 + 30
  264.         call    show_text
  265.        
  266.         mov     edx, msgs_mon2
  267.         mov     ebx, 156 * 65536 + 30
  268.         call    show_text
  269.        
  270.         ; Ðèñóåì êíîïêè ñìåíû öâåòà
  271.         mov     eax, 8
  272.         mov     ebx, 112 * 65536 + 5
  273.         mov     ecx, 30 * 65536 + 6
  274.         mov     edx, 13
  275. @@:     mov     esi, [d_colors - 13 * 4 + edx * 4]
  276.         mov     esi, [esi]
  277.         int     0x40
  278.         add     ecx, 10 * 65536
  279.         inc     edx
  280.         cmp     edx, 13 + 5             ; 5 êíîïîê
  281.         jne     @b
  282.        
  283.         ; Ïèøèì çàãðóçêó ïðîöåññîðà
  284.         call    cpu_usage
  285.         ;--- äîáàâëÿåì íà ãðàôèê ---
  286.         mov     esi, d_cpu_load
  287.         call    d_add
  288.         call    d_show
  289.         ;---------------------------
  290.         movzx   ecx, al
  291.         mov     eax, 47
  292.         mov     edx, 121 * 65536 + 30
  293.         xor     esi, esi
  294.         call    digit_len
  295.         int     0x40
  296.        
  297.         ; Ïèøèì èñïîëüçóåìóþ ïàìÿòü
  298.         call    mem_usage
  299.         ;--- äîáàâëÿåì íà ãðàôèê ---
  300.         mov     esi, d_mem_usage
  301.         call    d_add
  302.         call    d_show
  303.         ;---------------------------
  304.         movzx   ecx, al
  305.         mov     eax, 47
  306.         mov     edx, 121 * 65536 + 40
  307.         xor     esi, esi
  308.         call    digit_len
  309.         int     0x40
  310.        
  311.         cmp     byte[hwm_enable], 0
  312.         jne     show_mon
  313.         ; Íåò äàò÷èêîâ - ïèøåì NO
  314.         mov     ecx, 8  ;<- êîëè÷åñòâî ïàðàìåòðîâ
  315.         mov     eax, 4
  316.         mov     ebx, 121 * 65536 + 50
  317.         mov     edx, msg_no
  318.         mov     esi, 3
  319. @@:     int     0x40
  320.         add     ebx, 10
  321.         loop    @b
  322.  
  323.         mov     ecx, 7  ;<- êîëè÷åñòâî ïàðàìåòðîâ
  324.         mov     ebx, 260 * 65536 + 30
  325. @@:     int     0x40
  326.         add     ebx, 10
  327.         loop    @b
  328.  
  329.         jmp     no_monitor
  330. show_mon:
  331.         ;Åñòü äàò÷èêè ïèøèì èíôó
  332.         call    hwm_get_params
  333.         ;---------------------------
  334.         ; Òåìïåðàòóðó
  335.         mov     ecx, 3
  336.         mov     esi, hwm_temps
  337.         mov     edx, 121 * 65536 + 50
  338.         xor     eax, eax
  339. sh_temp:push    ecx
  340.         lodsw
  341.         push    esi
  342.         ; ðåàêöèÿ íà èçìåíåíèÿ
  343.         xor     esi, esi
  344.         cmp     [old_t1 + ecx * 4 - 4], eax
  345.         je      @f
  346.         mov     [old_t1 + ecx * 4 - 4], eax
  347.         mov     esi, val_mod
  348. @@:     movzx   ecx, al
  349.         push    eax
  350.         mov     eax, 47
  351.         mov     ebx, 0x20000
  352.         int     0x40
  353.         pop     eax
  354.         mov     cl, ah
  355.         mov     eax, 47
  356.         mov     ebx, 0x10000
  357.         add     edx, 15 * 65536
  358.         int     0x40
  359.         sub     edx, 15 * 65536 - 10
  360.         pop     esi
  361.         pop     ecx
  362.         loop    sh_temp
  363.         ;;--- äîáàâëÿåì íà ãðàôèê temp1 ---
  364.         movzx   eax, word[hwm_temps]
  365.         mov     esi, d_temp1
  366.         call    d_add
  367.         call    d_show
  368.         ;;--- äîáàâëÿåì íà ãðàôèê temp2 ---
  369.         movzx   eax, word[hwm_temps + 2]
  370.         mov     esi, d_temp2
  371.         call    d_add
  372.         call    d_show
  373.         ;;--- äîáàâëÿåì íà ãðàôèê temp3 ---
  374.         movzx   eax, word[hwm_temps + 4]
  375.         mov     esi, d_temp3
  376.         call    d_add
  377.         call    d_show
  378.  
  379.         ;---------------------------
  380.         ; Ñêîðîñòè âðàøåíèÿ âåíòèëåé
  381.         mov     ecx, 5
  382.         mov     esi, hwm_rpms
  383.         mov     edx, 121 * 65536 + 80
  384. sh_fan: push    ecx
  385.         lodsd
  386.         push    esi
  387.         ;ðåàêöèÿ íà èçìåíåíèÿ
  388.         xor     esi, esi
  389.         cmp     [old_f1 + ecx * 4 - 4], eax
  390.         je      @f
  391.         mov     [old_f1 + ecx * 4 - 4], eax
  392.         mov     esi, val_mod
  393. @@:     mov     ecx, eax
  394.         call    digit_len
  395.         mov     eax, 47
  396.         int     0x40
  397.         add     edx, 10
  398.         pop     esi
  399.         pop     ecx
  400.         loop    sh_fan
  401.        
  402.         ;---------------------------
  403.         ; Íàïðóãè
  404.         mov     esi, hwm_voltages
  405.         mov     edi, old_volts
  406.         mov     ecx, 7
  407.         mov     ebx, 260 * 65536 + 30
  408.         mov     edx, Data_String
  409. volt_nxt:
  410.         push    ecx
  411.         push    esi
  412.         call    ftoa
  413.         ;ðåàêöèÿ íà èçìåíåíèÿ
  414.         xor     ecx, ecx
  415.         fld     dword [esi]
  416.         fsub    dword [edi]
  417.         fabs
  418.        
  419.         ; fcomp dword [c_eps]   ; bug in MeOsEmul
  420.         ; fstsw ax
  421.         fcom    dword [c_eps]   ; 0xBADCODE
  422.         fstsw   ax
  423.         finit  
  424.        
  425.         sahf
  426.         jc      @f
  427.         mov     ecx, val_mod
  428. @@:     mov     esi, Data_String        ; ñ÷èòàåì êîë-âî ñèìâîëîâ
  429. @@:     lodsb
  430.         test    al, al
  431.         jnz     @b
  432.         sub     esi, Data_String
  433.        
  434.         mov     eax, 4
  435.         int     0x40
  436.         add     ebx, 10
  437.         pop     esi
  438.         pop     ecx
  439.         movsd
  440.         loop    volt_nxt
  441.        
  442. no_monitor:
  443.         ;---------------------------
  444.         ; Ñîçäà¸ì êíîïêè âêëàäîê
  445.         mov     edi, 250 * 65536 + 25
  446.         mov     ecx, 4
  447.         mov     eax, 8
  448.         mov     ebx, 10 * 65536 + 70
  449.         mov     edx, 2
  450. n_bt:   push    ecx
  451.         mov     ecx, edi
  452.         mov     esi, tcol
  453.         cmp     byte [act_tab], dl
  454.         jne     na1
  455.         mov     esi, atcol
  456. na1:    int     0x40
  457.         inc     edx
  458.         add     ebx, 73 * 65536
  459.         pop     ecx
  460.         loop    n_bt
  461.         ; Ïèøèì íàçâàíèÿ âêëàäîê
  462.         mov     eax, 4
  463.         mov     ebx, 35 * 65536 + 260
  464.         mov     edx, tab_lab
  465.         mov     ecx, 0x10000000
  466.         mov     esi, 39
  467.         int     0x40
  468.         ; ñîçäà¸ì ðàìêó âíèçó ýêðàíà
  469.         mov     eax, 13
  470.         mov     ebx, 10 * 65536 + 290
  471.         mov     ecx, 275 * 65536 + 160
  472.         mov     edx, atcol
  473.         int     0x40
  474.         mov     ebx, 12 * 65536 + 286
  475.         mov     ecx, 277 * 65536 + 156
  476.         mov     edx, tcol
  477.         int     0x40
  478.         ; ðèñóåì âûáðàííóþ âêëàäêó
  479.         mov     al, [act_tab]
  480.         cmp     al, 2
  481.         je      info_tab
  482.         cmp     al, 3
  483.         je      test_tab
  484.         cmp     al, 4
  485.         je      config_tab
  486.         jmp     about_tab
  487. end_drow_tab:
  488.         mov     eax, 12
  489.         mov     ebx, 2
  490.         int     0x40
  491.         jmp     wait_for_event
  492. ;--- Drow Info tab ---------------
  493. info_tab:
  494.         include "tab_info.inc"
  495. ;--- Drow test tab ---------------
  496. test_tab:
  497.         include "tab_test.inc"
  498. ;--- Drow Config tab -------------
  499. config_tab:
  500.         include "tab_conf.inc"
  501. ;--- Drow About tab --------------
  502. about_tab:
  503.         include "tab_about.inc"
  504. ;---------------------------------------------------------------------
  505.         include "system.inc"
  506.         include "hwm.inc"
  507.         include "diag.inc"
  508.        
  509.  
  510. DATA
  511. act_tab         db      2                       ; Íîìåð àêòèâíîé âêëàäêè
  512. tab_lab         db      'Info       Tests      Configs     About'
  513. title           db      'Ghost Monitor v0.4 [24/12/06]'
  514.  
  515. msgs_mon mls \
  516.         'CPU Load (%)',\
  517.         'Mem Usage(%)',\
  518.         'Temp1',\
  519.         'Temp2',\
  520.         'Temp3',\
  521.         'Fan1',\
  522.         'Fan2',\
  523.         'Fan3',\
  524.         'Fan4',\
  525.         'Fan5'
  526.        
  527. msgs_mon2 mls \
  528.         'Vcore',\
  529.         'AGP',\
  530.         '+3.3V',\
  531.         'AVcc (+5V)',\
  532.         '+12V',\
  533.         '-12V',\
  534.         '-5V'
  535.  
  536. msg_yes         db      'Yes'
  537. msg_no          db      'N/A'
  538.  
  539. update_time     dd      300                     ; ïåðèîä îáíîâëåíèÿ â ñîòûõ äîëÿõ ñåêóíäû
  540. d_colors        dd      d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
  541. c_eps           dd      0.01
  542.  
  543. ; Öâåòà ãðàôèêîâ
  544. colors:         dd      0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000    ; ïåðâûé è ïîñëåäíèé ðàâíû
  545. colors_end:
  546. ;---------------------------------------------------------------------
  547. UDATA
  548.  
  549. test_pid        dd      ?                       ; åñëè test_id == 0 - íå èìååò ñìûñëà
  550. test_id         db      ?                       ; 0 - òåñò íå çàïóøåí (ñîîòâåòñòâóåò ¹ êíîïêè 6..10)
  551. diag_add_v      db      ?                       ; 0 - íå äîáàâëÿòü äàííûå íà ãðàôèê, !0 - äîáàâëÿòü
  552.  
  553. Vendor:         times   12 db ?
  554. CPU_fam:        db      ?
  555. CPU_mod:        db      ?
  556. CPU_type:       db      ?
  557. CPU_mmx:        db      ?
  558.  
  559. ; Äëÿ ðåàêöèè íà èçìåíåíèÿ
  560. old_t1:         dd      ?       ; ïîñëåäíåå çíà÷åíèå temp1
  561. old_t2:         dd      ?       ; ...
  562. old_t3:         dd      ?
  563. old_f1:         dd      ?
  564. old_f2:         dd      ?
  565. old_f3:         dd      ?
  566. old_volts:      times   7 dd ?
  567.  
  568. ; Ãðôèêè
  569. diag_beg:
  570. d_cpu_load:     dd      ?
  571.                 times 286 db ?
  572.                
  573. d_mem_usage:    dd      ?
  574.                 times 286 db ?
  575.                
  576. d_temp1:        dd      ?
  577.                 times 286 db ?
  578.                
  579. d_temp2:        dd      ?
  580.                 times 286 db ?
  581.  
  582. d_temp3:        dd      ?
  583.                 times 286 db ?
  584. diag_end:
  585.  
  586. ; --- ñòåê òåñòà, âîèçáåæàíèå ãëþêîâ íå ïåðåíîñèòü â äðóãîå ìåñòî ----
  587. th_stack:       times   1024 db ?
  588. stp:
  589. ;---------------------------------------------------------------------
  590. MEOS_APP_END
  591.