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. include         'hwm_wb.inc'
  3. include         'hwm_it87.inc'
  4.  
  5. uglobal
  6.         hwm_enable:db   0               ; 0 - no, 1 - Winbond, 2 - ITE
  7.         temps   db      0,0, 0,0, 0,0   ; ãðàäóñ, äåñÿòûå, ãðàäóñ, ...
  8.         rpms    dd      0, 0, 0         ; fan1, fan2, fan3
  9.         Vcore   dd      0.0
  10.         Vin0    dd      0.0
  11.         Vin1    dd      0.0
  12.         AVcc    dd      0.0
  13.         Vin2    dd      0.0
  14.         V12     dd      0.0
  15.         V5      dd      0.0
  16. endg
  17.  
  18. hwm_unk         db      9, 'Not found'
  19. hwm_chip_name   dd      hwm_unk
  20.  
  21. hwm_init:
  22. ; Ïðîâåðêà íàëè÷èÿ è èíèöèàëèçàöèÿ
  23.         pusha
  24.  
  25.         mov     eax, 46         ; ðåçåðâèðóåì 0x295 è 0x296 ïîðòû
  26.         xor     ebx, ebx
  27.         mov     ecx, 0x295
  28.         mov     edx, 0x296
  29.         int     0x40
  30.         test    eax, eax
  31.         jz      hwm_ports_ok
  32. hwm_no:
  33.         mov     eax, 46         ; îñâîáîæäàåì 0x295 è 0x296 ïîðòû
  34.         xor     ebx, ebx
  35.         inc     ebx
  36.         mov     ecx, 0x295
  37.         mov     edx, 0x296
  38.         int     0x40
  39.         popa
  40.         ret
  41. hwm_ports_ok:
  42.  
  43.         call    wb_init
  44.         jc      not_wb
  45.         mov     byte [hwm_enable], 1
  46.         call    wb_get_name
  47.         jmp     hwm_ok
  48.        
  49. not_wb: call    it87_init
  50.         jc      hwm_no
  51.         mov     byte [hwm_enable], 2
  52.         call    it87_get_name
  53.        
  54. hwm_ok: mov     [hwm_chip_name], edx
  55.         popa
  56.         ret
  57. ;----------------------------------------------------
  58. hwm_get_params:
  59. ; Âûçûâàòü òîëüêî åñëè íàéäåí
  60.         pusha
  61.         mov     al, [hwm_enable]
  62.         dec     al
  63.         jnz     @f
  64.         call    wb_get_temp
  65.         call    wb_get_fan_speed
  66.         mov     edi, wb_coeff
  67.         call    wb_get_volt
  68.         fld     dword[V12]
  69.         fld     dword[wb_n12v_const]
  70.         faddp   st1, st0
  71.         fstp    dword[V12]
  72.         popa
  73.         ret
  74. @@:     call    it87_get_temp
  75.         call    it87_get_fan_speed
  76.         mov     edi, ite_coeff
  77.         call    wb_get_volt
  78.         popa
  79.         ret
  80. ;----------------------------------------------------
  81.