Subversion Repositories Kolibri OS

Rev

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

  1. ;------------------------------------------------------------------------------
  2. draw_device_button:
  3.         call    device_detect_f70
  4.         mov     edi,[retrieved_devices_table_counter]
  5.         mov     edx,120
  6.         mov     bx,[left_panel_x.start_x]
  7.         mov     cx,[left_panel_y.start_y]
  8.         shl     ebx,16
  9. ;       mov     bx,50   ; button size X
  10.         sub     cx,30
  11.         shl     ecx,16
  12.         mov     cx,12
  13.         mov     esi,0xaa00
  14.         mov     ebp,retrieved_devices_table
  15. ;--------------------------------------
  16. .loop:
  17.         push    esi
  18.         mov     esi,ebp
  19.         cld
  20. @@:
  21.         lodsb
  22.         test    al,al
  23.         jnz     @b
  24.        
  25.         sub     esi,ebp
  26.         lea     esi,[esi*3]
  27.         shl     esi,1
  28.         mov     bx,si
  29.         pop     esi
  30.        
  31.         mcall   8
  32.  
  33.         pusha
  34.         mov     eax,ebx
  35.         inc     eax
  36.         shl     eax,16
  37.         add     ebx,eax
  38.         mov     bx,2
  39.         inc     ecx
  40.         mcall   13,,,0xcccccc
  41.         popa
  42.  
  43.         pusha
  44.         mov     edx,ebp
  45.         inc     edx
  46.         shr     ecx,16
  47.         mov     bx,cx
  48.         add     ebx,4 shl 16 +3
  49.         mcall   4,,0x90000000
  50.         sub     ebx,1 shl 16 + 1
  51.         mcall   ,,0x90ffffff
  52.         popa
  53.  
  54.         mov     eax,ebx
  55.         shl     eax,16
  56.         add     ebx,eax
  57.         add     ebx,3 shl 16
  58.  
  59.         inc     edx
  60.         add     ebp,10
  61.         dec     edi
  62.         jnz     .loop
  63.        
  64.         xor     eax,eax
  65.         mov     ax,[right_panel_x.start_x]
  66.         add     ax,[right_panel_x.size_x]
  67.         ror     ebx,16
  68.         sub     ax,bx
  69.         rol     ebx,16
  70.         inc     ax
  71.         mov     bx,ax
  72.        
  73.         add     ecx,1
  74.         add     ebx,1
  75.         mcall   13,,,0xcccccc
  76.         ret
  77. ;------------------------------------------------------------------------------
  78.