Subversion Repositories Kolibri OS

Rev

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