Rev 5716 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5716 | Rev 5722 | ||
---|---|---|---|
Line 21... | Line 21... | ||
21 | mul ebx |
21 | mul ebx |
22 | if BITS_PER_PIXEL = 16 |
22 | if BITS_PER_PIXEL = 16 |
23 | shl eax, 1 |
23 | shl eax, 1 |
24 | else if BITS_PER_PIXEL = 24 |
24 | else if BITS_PER_PIXEL = 24 |
25 | lea eax, [eax*2+eax] |
25 | lea eax, [eax*2+eax] |
- | 26 | else if BITS_PER_PIXEL = 32 |
|
- | 27 | shl eax, 2 |
|
26 | end if |
28 | end if |
27 | @@: |
29 | @@: |
28 | push eax |
30 | push eax |
29 | add eax, esi |
31 | add eax, esi |
30 | cmp [datapointer], eax |
32 | cmp [datapointer], eax |
Line 37... | Line 39... | ||
37 | 39 | ||
38 | mov eax, [rectangle.y] |
40 | mov eax, [rectangle.y] |
39 | movzx ebx, [screen.width] |
41 | movzx ebx, [screen.width] |
40 | mul ebx ; [screen.width]*[rectangle.y] |
42 | mul ebx ; [screen.width]*[rectangle.y] |
41 | add eax, [rectangle.x] ; [screen.width]*[rectangle.y]+[rectangle.x] |
43 | add eax, [rectangle.x] ; [screen.width]*[rectangle.y]+[rectangle.x] |
Line 42... | Line 44... | ||
42 | lea edi, [framebuffer_data+eax*3] ; edi = framebuffer_data+([screen.width]*[rectangle.y]+[rectangle.x])*3 |
44 | lea edi, [framebuffer+eax*3] ; edi = framebuffer_data+([screen.width]*[rectangle.y]+[rectangle.x])*3 |
43 | 45 | ||
44 | movzx eax, [screen.width] |
46 | movzx eax, [screen.width] |
Line 90... | Line 92... | ||
90 | stosb ; red |
92 | stosb ; red |
91 | dec ecx |
93 | dec ecx |
92 | jnz .pixelloop |
94 | jnz .pixelloop |
93 | else if BITS_PER_PIXEL = 24 |
95 | else if BITS_PER_PIXEL = 24 |
94 | rep movsb |
96 | rep movsb |
- | 97 | else if BITS_PER_PIXEL = 32 |
|
- | 98 | .pixelloop: |
|
- | 99 | movsw |
|
- | 100 | movsb |
|
- | 101 | inc esi |
|
- | 102 | dec ecx |
|
- | 103 | jnz .pixelloop |
|
95 | end if |
104 | end if |
Line 96... | Line 105... | ||
96 | 105 | ||
97 | add edi, ebp |
106 | add edi, ebp |
98 | dec edx |
107 | dec edx |