Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. ;---------------------------------------------------------------------
  2. ;copy_base_24bpp:
  3. ;       DEBUGF  1, "copy_base_24bpp\n"
  4. ;       push    ecx
  5. ;       mov     esi,[eax+28]    ; RAW area
  6. ;       add     esi,eax
  7. ;       add     esi,ebp
  8. ;       mov     edi,buffer_area
  9. ;       mov     ecx,SPRITE_SIZE_X*SPRITE_SIZE_Y
  10. ;       cld
  11. ;--------------------------------------
  12. ;@@:
  13. ;       lodsd
  14. ;       and     eax,0xffffff
  15. ;       dec     esi
  16. ;       stosd
  17. ;       dec     ecx
  18. ;       jnz     @b
  19. ;
  20. ;       pop     ecx
  21. ;       DEBUGF  1, "copy_base_24bpp end\n"
  22. ;       ret
  23. ;---------------------------------------------------------------------
  24. copy_base_8bpp:
  25. ;       DEBUGF  1, "copy_base_8bpp\n"
  26.         push    ecx
  27.         mov     esi,[eax+28]    ; RAW area
  28.         add     esi,eax
  29.         add     esi,ebp
  30.  
  31.         mov     ebp,[eax+20]    ; RAW palette
  32.         add     ebp,eax
  33.         mov     edi,buffer_area
  34.         mov     ecx,SPRITE_SIZE_X*SPRITE_SIZE_Y
  35.         cld
  36. ;--------------------------------------
  37. @@:
  38.         lodsb
  39.         movzx   eax,al
  40.         shl     eax,2
  41.         mov     eax,[eax+ebp]
  42.         stosd
  43.         dec     ecx
  44.         jnz     @b
  45.  
  46.         pop     ecx
  47. ;       DEBUGF  1, "copy_base_8bpp end\n"
  48.         ret
  49. ;---------------------------------------------------------------------
  50.