Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 263 → Rev 264

/programs/network/VNCclient/raw.inc
1,40 → 1,33
encoding_raw:
DEBUGF 1,'FRAME: RAW\n'
DEBUGF 1,'RAW\n'
 
mov ax,[screen.width] ;
mov bx,[frame.y] ;
mov ax,[frame.y] ;
mov bx,[screen.width] ;
mul bx ;
DEBUGF 1,'screen.width*frame.y=%u\n',ax
mov bx,3 ;
mul bx ;
shl edx,16 ;
mov dx,ax ;
mov ebx,edx ; mov ebx,[screen.width]*[frame.y]*3
push ebx
DEBUGF 1,'screen.width*frame.y*3=%u\n',edx
mov ax,[frame.x] ;
mov bx,3 ;
mul bx ;
shl edx,16 ;
mov dx,ax ;
pop ebx
add ebx,edx ; add ebx,[frame.x]*3
add ebx,framebuffer_data ; add ebx,framebuffer_data
push ebx
DEBUGF 1,'frame.x*3=%u\n',edx
mov dx,ax ; [screen.width]*[frame.y]
movzx eax,[frame.x]
add edx,eax ; [screen.width]*[frame.y]+[frame.x]
 
mov eax,3 ;
mul edx ; ([screen.width]*[frame.y]+[frame.x])*3
 
add eax,framebuffer_data ;
push eax ; framebuffer_data+([screen.width]*[frame.y]+[frame.x])*3
 
mov ax,[frame.width] ;
mov bx,3 ;
mul bx ;
shl edx,16 ;
mov dx,ax ;
DEBUGF 1,'frame.width*3=%u\n',edx
pop ebx
add edx,ebx ; mov edx,ebx+[frame.width]*3
mov dx,ax ; [frame.width]*3
 
push ebx
pop eax ;
add edx,eax ; framebuffer_data+([screen.width]*[frame.y]+[frame.x])*3+[frame.width]*3
push eax ;
push edx ;
 
mov ax,[frame.height] ;
dec ax ;
mov bx,3 ;
mul bx ;
mov bx,[screen.width] ;
43,72 → 36,87
mov dx,ax ;
mov ecx,edx ;
pop edx ;
DEBUGF 1,'frame.height*screen.width*3=%u\n',ecx
add ecx,edx ; mov ecx,edx+[frame.height]*[screen.width]*3
add ecx,edx ; mov ecx,edx+([frame.height]-1)*[screen.width]*3
pop ebx
 
DEBUGF 1,'FRAME: framebuffer:%u ebx:%u ecx:%u edx:%u\n',framebuffer_data,ebx,ecx,edx
 
.pixelloop32:
cmp ebx,ecx
jge next_rectangle
 
add esi,2 ; 32 bit code RAW
; add esi,2 ; 32 bit code RAW - OK
; mov al,[esi] ;
; mov [ebx],al ;
; inc ebx ;
; dec esi ;
; ;
; mov al,[esi] ;
; mov [ebx],al ;
; inc ebx ;
; dec esi ;
; ;
; mov al,[esi] ;
; mov [ebx],al ;
; inc ebx ;
; add esi,4 ;
 
; push ecx ; 16 bit code RAW
; mov cl,51
;
; mov ax,[esi] ;
; xchg al,ah
; and al,00011111b ;
; xchg al,ah
; mul cl
; mov [ebx],al ;
; inc ebx ;
;
; mov ax,[esi] ;
; xchg al,ah
; shr ax,5 ;
; xchg al,ah
; and al,00011111b ;
; mul cl
; mov [ebx],al ;
; inc ebx ;
;
; mov ax,[esi] ;
; xchg al,ah
; shr ax,10 ;
; and al,00011111b ;
; mul cl
; mov [ebx],al ;
; inc ebx ;
;
; inc esi ;
; inc esi ;
; pop ecx
 
push ecx ; 8 bit code RAW - OK
mov cl,85 ;
;
mov al,[esi] ;
shr al,4 ;
and al,3 ;
mul cl ;
mov [ebx],al ;
inc ebx ;
dec esi ;
;
mov al,[esi] ;
shr al,2 ;
and al,3 ;
mul cl ;
mov [ebx],al ;
inc ebx ;
dec esi ;
;
mov al,[esi] ;
mov [ebx],al ;
and al,3 ;
mul cl ;
mov byte[ebx],al ;
inc ebx ;
add esi,4 ;
inc esi ;
pop ecx ;
 
; mov ax,[esi] ; 16 bit code RAW
; and ax,32
; mov [ebx],al
; inc ebx
;
; mov ax,[esi]
; shr ax,5
; and ax,32
; mov [ebx],al
; inc ebx
;
; mov ax,[esi]
; shr ax,10
; and ax,64
; mov [ebx],al
; inc ebx
; inc esi
; inc esi
 
 
; mov al,[esi] ; 8 bit code RAW
; and al,7 ;
; mov byte[ebx],0xff;al ;
; inc ebx ;
; ;
; mov al,[esi] ;
; shr al,3 ;
; and al,7 ;
; mov [ebx],al ;
; inc ebx ;
; ;
; mov al,[esi] ;
; shr al,6 ;
; and al,3 ;
; mov [ebx],al ;
; inc ebx ;
; ;
; inc esi ;
 
 
cmp ebx,edx
jl .pixelloop32