Subversion Repositories Kolibri OS

Rev

Rev 223 | 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. ;
  42. ;    ▌щ! ╙ ьхэ  эхЄ ьэюую тЁхьхэш.
  43.  
  44. ; ┬эх°эшх Їрщы√ :
  45. ;       hwm*.inc        - яЁюЎхфєЁ√ ЁрсюЄ√ ё фрЄўшърьш ьюэшЄюЁшэур
  46. ;       system.inc      - т√ўшёыхэшх чруЁєчъш яЁюЎхёёюЁр, чртхЁ°хэшх ЄхёЄр, etc...
  47. ;       tests.inc       - ЄхёЄ√ ;-)
  48. ;       diag.inc        - яюффхЁцър фшруЁрь
  49. ;       *_tab.inc       - яЁюЎхфєЁ√ юЄЁшёютъш ёююЄтхЄёЄтє■°шї тъырфюъ
  50.  
  51.  
  52. ; ╚фхэЄшЇшърЄюЁ√ ъэюяюъ :
  53. ;       01 - Exit
  54. ;       02 - Info tab
  55. ;       03 - Tests tab
  56. ;       04 - Config tab
  57. ;       05 - About tab
  58. ;       06 - P5 test
  59. ;       07 - P6 test
  60. ;       08 - K6 test
  61. ;       09 - K7 test
  62. ;       10 - MMX test   - not used
  63. ;       11 - Update time increment
  64. ;       12 - Update time decriment
  65. ;       13..17 - ╚чьхэхэшх ЎтхЄр CPU_load, Mem_usage, Temp1, Temp2, Temp3
  66.  
  67. include 'config.inc'
  68. include 'macros.inc'
  69.  
  70. tcol    equ     0x5080d0
  71. atcol   equ     0x4070c0
  72. val_mod equ     0x3090
  73.  
  74. MEOS_APP_START
  75. include "tests.inc"     ; <-- ╠эюую т√Ёртэштрэшщ, ыєў°х чфхё№
  76. CODE
  77. ;--- Init ------------------------------------------------------------
  78.         ; ╬ўш∙рхь эхшэшЎшрышчшЁютрээ√х фрээ√х
  79.         mov     ecx, __memory - __udata
  80.         mov     edi, __udata
  81.         xor     eax, eax
  82.         rep     stosb
  83.  
  84.         xor     eax, eax
  85.         cpuid                                   ; ╙чэр╕ь яЁюшчтюфшЄхы  яЁюЎр
  86.         mov     [Vendor + 0], ebx
  87.         mov     [Vendor + 4], edx
  88.         mov     [Vendor + 8], ecx
  89.         mov     eax, 1
  90.         cpuid                                   ; ┼ёЄ№ ыш MMX ?
  91.         mov     ecx, eax
  92.         shr     al, 4
  93.         and     ax, 0x0F0F
  94.         mov     [CPU_fam], ah
  95.         mov     [CPU_mod], al
  96.         shr     edx, 23
  97.         and     dl, 1
  98.         mov     [CPU_mmx], dl
  99.         shr     ecx, 12
  100.         and     cl, 11b
  101.         mov     [CPU_type], cl
  102.        
  103.         ; ! ╓тхЄр шч ьрёёштр colors
  104.         mov     dword[d_cpu_load], 0xFF00       ; шэшЎшрышчшЁєхь уЁрЇшъ чруЁєчъш └╦╙
  105.         mov     dword[d_mem_usage], 0x8BA169    ; -- mem usega
  106.         mov     dword[d_temp1], 0xFF0000        ; -- уЁрЇшъ ЄхьяхЁрЄєЁ√ ╓╧╙
  107.         mov     dword[d_temp2], 0xFF            ; -- уЁрЇшъ ЄхьяхЁрЄєЁ√ ╠╧
  108.         mov     dword[d_temp3], 0xFF7E23
  109.  
  110.         call    hwm_init                        ; ╚эшЎшрышчшЁєхь ўшя ьюэшЄюЁшэур
  111.  
  112.         jmp     draw_window
  113. ;--- Wait & translate event ------------------------------------------
  114. wait_for_event:
  115.         mov     byte[diag_add_v], 0     ; фюсрты хь фрээ√х ъ уЁрЇшъє Єюы№ъю яю ЄрщьхЁє
  116.         mov     ebx, [update_time]
  117.         mov     eax, 23
  118.         int     0x40
  119.         test    eax, eax
  120.         jnz     @f
  121.         inc     byte [diag_add_v]
  122.         inc     eax                     ; яхЁхЁшёєхь юъэю (eax := 1)
  123. @@:     dec     eax                     ; redraw request ?
  124.         jz      draw_window
  125.         dec     eax                     ; key in buffer ?
  126.         jz      key
  127.         dec     eax                     ; button in buffer ?
  128.         jz      button
  129.         jmp     wait_for_event
  130. ;--- Key pressed -----------------------------------------------------
  131. key:
  132.         mov     eax, 2
  133.         int     0x40
  134.         cmp     ah, 27                  ; Esc - чртхЁ°хэшх ЁрсюЄ√
  135.         je      exit
  136.         jmp     wait_for_event
  137. ;--- Button down -----------------------------------------------------
  138. button:
  139.         mov     eax, 17                 ; get id
  140.         int     0x40
  141.         cmp     ah, 1                   ; button id == 1 ?
  142.         jne     noexit
  143. exit:   cmp     byte[test_id], 0
  144.         je      @f
  145.         call    stop_test
  146. @@:     mov     eax, -1         ; close this program
  147.         int     0x40
  148. noexit:
  149.         ; ъэюяъш тъырфюъ (2 .. 5)
  150.         cmp     ah, 5
  151.         jg      no_tabs
  152.         mov     byte[act_tab], ah
  153.         jmp     draw_window
  154. no_tabs:
  155.         ; ъэюяъш чряєёър ЄхёЄтю (6 .. 10)
  156.         cmp     ah, 10
  157.         jg      no_test_bt
  158.         ; хёыш эхЄ чряє∙хэ√ї ЄхёЄют - чряєёърхь т√сЁрээ√щ
  159.         cmp     byte[test_id], 0
  160.         je      run_test
  161.         ; хёыш ъэюяър ръЄштэюую ЄхёЄр - юёЄрэртыштрхь ЄхёЄ, шэрўх эшўхую эх фхырхь     
  162.         cmp     [test_id], ah
  163.         jne     wait_for_event
  164.         call    stop_test
  165.         jmp     draw_window
  166.  
  167. tsts:   dd      p5, p6, k6, k7
  168. run_test:
  169.         push    eax
  170.         movzx   ecx, ah
  171.         mov     ecx, [tsts + (ecx * 4) - (6 * 4)]
  172. rtst:   mov     eax, 51
  173.         mov     edx, stp
  174.         mov     ebx, 1
  175.         int     0x40
  176.         cmp     eax, 0xFFFFFFF0 ; -16
  177.         je      wait_for_event  ; <-- ю°шсър чряєёър ЄхёЄр, ╧┼╨┼╧╚╤└╥▄
  178.         mov     [test_pid], eax
  179.         pop     eax
  180.         mov     byte [test_id], ah
  181.         jmp     draw_window
  182.         ;-------------------------
  183.         ; ъэюяъш шчьхэхэш  тЁхьхэш юсэютыхэш 
  184. no_test_bt:
  185.         cmp     ah, 11
  186.         jne     no_ut_inc
  187.         add     dword[update_time], 10
  188.         jmp     draw_window
  189. no_ut_inc:
  190.         cmp     ah, 12
  191.         jne     no_ut_dec
  192.         cmp     dword[update_time], 10
  193.         jng     wait_for_event
  194.         sub     dword[update_time], 10
  195.         jmp     draw_window
  196. no_ut_dec:
  197.         ;-------------------------
  198.         ; ъэюяъш шчьхэхэш  ЎтхЄр уЁрЇшъют (13..17)
  199.         cmp     ah, 17
  200.         jg      no_change_color
  201.         sub     ah, 13
  202.         movzx   ecx, ah
  203.         mov     esi, [d_colors + ecx * 4]
  204.         mov     eax, [esi]
  205.         call    next_color
  206.         mov     [esi], ebx
  207.         jmp     draw_window
  208. no_change_color:
  209.  
  210.         jmp     wait_for_event
  211. ;---------------------------------------------------------------------
  212. ; ╓тхЄр уЁрЇшъют
  213. colors: dd      0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000    ; яхЁт√щ ш яюёыхфэшщ Ёртэ√
  214. next_color:
  215.         mov     ecx, (next_color - colors) / 4  ; ъюышўхёЄтю ЎтхЄют
  216. @@:     dec     ecx
  217.         cmp     eax, [colors + ecx * 4]
  218.         jne     @b
  219.         mov     ebx, [colors + ecx * 4 - 4]
  220.         ret
  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 + 430
  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, 118 * 65536 + 105
  238.         mov     edx, atcol
  239.         int     0x40
  240.         mov     ebx, 12 * 65536 + 286
  241.         mov     ecx, 120 * 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, 120 * 65536 + 120
  248. @@:     add     ecx, 10 * 65536 + 10
  249.         int     0x40
  250.         cmp     cx, 210                 ; яЁшт чрэю ъ ъююЁфшэрЄрь юъэр
  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, 6  ;<- ъюышўхёЄтю ярЁрьхЄЁют
  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, 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[temps]
  364.         mov     esi, d_temp1
  365.         call    d_add
  366.         call    d_show
  367.         ;;--- фюсрты хь эр уЁрЇшъ temp2 ---
  368.         movzx   eax, word[temps + 2]
  369.         mov     esi, d_temp2
  370.         call    d_add
  371.         call    d_show
  372.         ;;--- фюсрты хь эр уЁрЇшъ temp3 ---
  373.         movzx   eax, word[temps + 4]
  374.         mov     esi, d_temp3
  375.         call    d_add
  376.         call    d_show
  377.  
  378.         ;---------------------------
  379.         ; ╤ъюЁюёЄш тЁр°хэш  тхэЄшыхщ
  380.         mov     ecx, 3
  381.         mov     esi, 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, Vcore
  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, 230 * 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 + 240
  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, 255 * 65536 + 160
  471.         mov     edx, atcol
  472.         int     0x40
  473.         mov     ebx, 12 * 65536 + 286
  474.         mov     ecx, 257 * 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 "info_tab.inc"
  494. ;--- Drow test tab ---------------
  495. test_tab:
  496.         include "test_tab.inc"
  497. ;--- Drow Config tab -------------
  498. config_tab:
  499.         include "conf_tab.inc"
  500. ;--- Drow About tab --------------
  501. about_tab:
  502.         include "abou_tab.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.3 [30/07/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.        
  524. msgs_mon2 mls \
  525.         'Vcore',\
  526.         'AGP',\
  527.         '+3.3V',\
  528.         'AVcc (+5V)',\
  529.         '+12V',\
  530.         '-12V',\
  531.         '-5V'
  532.  
  533. msg_yes         db      'Yes'
  534. msg_no          db      'N/A'
  535.  
  536. update_time     dd      300                     ; яхЁшюф юсэютыхэш  т ёюЄ√ї фюы ї ёхъєэф√
  537. d_colors        dd      d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
  538. c_eps           dd      0.01
  539. ;---------------------------------------------------------------------
  540. UDATA
  541.  
  542. test_pid        dd      ?                       ; хёыш test_id == 0 - эх шьххЄ ёь√ёыр
  543. test_id         db      ?                       ; 0 - ЄхёЄ эх чряє°хэ (ёююЄтхЄёЄтєхЄ ╣ ъэюяъш 6..10)
  544. diag_add_v      db      ?                       ; 0 - эх фюсрты Є№ фрээ√х эр уЁрЇшъ, !0 - фюсрты Є№
  545.  
  546. Vendor:         times   12 db ?
  547. CPU_fam:        db      ?
  548. CPU_mod:        db      ?
  549. CPU_type:       db      ?
  550. CPU_mmx:        db      ?
  551.  
  552. ; ─ы  ЁхръЎшш эр шчьхэхэш 
  553. old_t1:         dd      ?       ; яюёыхфэхх чэрўхэшх temp1
  554. old_t2:         dd      ?       ; ...
  555. old_t3:         dd      ?
  556. old_f1:         dd      ?
  557. old_f2:         dd      ?
  558. old_f3:         dd      ?
  559. old_volts:      times   7 dd ?
  560.  
  561. ; ├ЁЇшъш
  562. diag_beg:
  563. d_cpu_load:     dd      ?
  564.                 times 286 db ?
  565.                
  566. d_mem_usage:    dd      ?
  567.                 times 286 db ?
  568.                
  569. d_temp1:        dd      ?
  570.                 times 286 db ?
  571.                
  572. d_temp2:        dd      ?
  573.                 times 286 db ?
  574.  
  575. d_temp3:        dd      ?
  576.                 times 286 db ?
  577. diag_end:
  578.  
  579. ; --- ёЄхъ ЄхёЄр, тюшчсхцрэшх уы■ъют эх яхЁхэюёшЄ№ т фЁєуюх ьхёЄю ----
  580. th_stack:       times   1024 db ?
  581. stp:
  582. ;---------------------------------------------------------------------
  583. MEOS_APP_END
  584.