Restoring interpolation routine to the original.
This commit is contained in:
@@ -2711,41 +2711,43 @@ NEWSYM copyvesa2320x240x16b
|
|||||||
;cmp byte[ScreenScale],1
|
;cmp byte[ScreenScale],1
|
||||||
;je .infsloopa
|
;je .infsloopa
|
||||||
.inloopa
|
.inloopa
|
||||||
mov bx,[esi]
|
mov ax,[esi]
|
||||||
mov ecx,256-2
|
|
||||||
mov ax,[esi+2]
|
|
||||||
add esi,byte 2
|
|
||||||
mov [es:edi],bx
|
|
||||||
add edi,byte 2
|
|
||||||
.inloopb
|
|
||||||
push eax
|
|
||||||
mov ebp,[esi+2]
|
|
||||||
shr eax,byte 1
|
|
||||||
push ebp
|
|
||||||
shr ebx,byte 2
|
|
||||||
and eax,7befh
|
|
||||||
shr ebp,byte 2
|
|
||||||
and ebx,39e7h
|
|
||||||
add eax,ebx
|
|
||||||
and ebp,39e7h
|
|
||||||
add eax,ebp
|
|
||||||
mov [es:edi],ax
|
mov [es:edi],ax
|
||||||
pop eax
|
add esi,byte 2
|
||||||
pop ebx
|
add edi,byte 2
|
||||||
|
mov ecx,254
|
||||||
|
jmp .inloopb
|
||||||
|
.inloopa2
|
||||||
|
mov ax,[esi]
|
||||||
|
mov [es:edi],ax
|
||||||
|
add esi,32*2+2
|
||||||
|
add edi,64*2+2
|
||||||
|
dec dl
|
||||||
|
jnz .inloopa
|
||||||
|
jmp .done
|
||||||
|
.inloopb
|
||||||
|
mov ax,[esi]
|
||||||
|
mov bx,[esi-2]
|
||||||
|
cmp ax,bx
|
||||||
|
jne .inloopb2
|
||||||
|
mov [es:edi],ax
|
||||||
|
mov [es:edi-2],bx
|
||||||
|
jmp .inloopb3
|
||||||
|
.inloopb2
|
||||||
|
shr ax,byte 1
|
||||||
|
shr bx,byte 1
|
||||||
|
and ax,7befh
|
||||||
|
and bx,7befh
|
||||||
|
add ax,bx
|
||||||
|
mov [es:edi],ax
|
||||||
|
mov [es:edi-2],ax
|
||||||
|
jmp .inloopb3
|
||||||
.inloopb3
|
.inloopb3
|
||||||
add esi,byte 2
|
add esi,byte 2
|
||||||
add edi,byte 2
|
add edi,byte 2
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .inloopb
|
jnz .inloopb
|
||||||
.inloopa2
|
jmp .inloopa2
|
||||||
mov ax,[esi]
|
|
||||||
add esi,byte 2
|
|
||||||
mov [es:edi],ax
|
|
||||||
add edi,byte 2
|
|
||||||
add esi,byte 32*2
|
|
||||||
sub edi,byte -64*2
|
|
||||||
dec dl
|
|
||||||
jnz .inloopa
|
|
||||||
|
|
||||||
.done
|
.done
|
||||||
pop es
|
pop es
|
||||||
@@ -3311,56 +3313,64 @@ NEWSYM copyvesa2320x480x16b
|
|||||||
|
|
||||||
.interpolate
|
.interpolate
|
||||||
cmp byte[scanlines],1
|
cmp byte[scanlines],1
|
||||||
je .inloopb
|
je .inloopa2
|
||||||
.inloopa
|
.inloopa
|
||||||
call .inloopc
|
mov ax,[esi]
|
||||||
sub esi,256*2
|
mov [es:edi],ax
|
||||||
add edi,32*2+32*2
|
add esi,byte 2
|
||||||
call .inloopc
|
add edi,byte 2
|
||||||
add esi,32*2
|
mov ecx,254
|
||||||
add edi,32*2+32*2
|
call .inloopb
|
||||||
|
mov ax,[esi]
|
||||||
|
mov [es:edi],ax
|
||||||
|
sub esi,256*2-2
|
||||||
|
add edi,64*2+2
|
||||||
|
mov ax,[esi]
|
||||||
|
mov [es:edi],ax
|
||||||
|
add esi,byte 2
|
||||||
|
add edi,byte 2
|
||||||
|
mov ecx,254
|
||||||
|
call .inloopb
|
||||||
|
add esi,32*2+2
|
||||||
|
add edi,64*2+2
|
||||||
dec dl
|
dec dl
|
||||||
jnz .inloopa
|
jnz .inloopa
|
||||||
jmp .done
|
jmp .done
|
||||||
.inloopb
|
.inloopa2
|
||||||
call .inloopc
|
|
||||||
add esi,32*2
|
|
||||||
add edi,32*2+320*2+32*2
|
|
||||||
dec dl
|
|
||||||
jnz .inloopb
|
|
||||||
jmp .done
|
|
||||||
.inloopc
|
|
||||||
mov bx,[esi]
|
|
||||||
mov ecx,256-2
|
|
||||||
mov ax,[esi+2]
|
|
||||||
add esi,byte 2
|
|
||||||
mov [es:edi],bx
|
|
||||||
add edi,byte 2
|
|
||||||
call .inloopc2
|
|
||||||
mov ax,[esi]
|
mov ax,[esi]
|
||||||
|
mov [es:edi],ax
|
||||||
add esi,byte 2
|
add esi,byte 2
|
||||||
mov [es:edi],ax
|
|
||||||
add edi,byte 2
|
add edi,byte 2
|
||||||
ret
|
mov ecx,254
|
||||||
.inloopc2
|
call .inloopb
|
||||||
push eax
|
mov ax,[esi]
|
||||||
mov ebp,[esi+2]
|
|
||||||
shr eax,byte 1
|
|
||||||
push ebp
|
|
||||||
shr ebx,byte 2
|
|
||||||
and eax,7befh
|
|
||||||
shr ebp,byte 2
|
|
||||||
and ebx,39e7h
|
|
||||||
add eax,ebx
|
|
||||||
and ebp,39e7h
|
|
||||||
add eax,ebp
|
|
||||||
mov [es:edi],ax
|
mov [es:edi],ax
|
||||||
pop eax
|
add esi,16*2+16*2+2
|
||||||
pop ebx
|
add edi,32*2+320*2+32*2+2
|
||||||
|
dec dl
|
||||||
|
jnz .inloopa2
|
||||||
|
jmp .done
|
||||||
|
.inloopb
|
||||||
|
mov ax,[esi]
|
||||||
|
mov bx,[esi-2]
|
||||||
|
cmp ax,bx
|
||||||
|
jne .inloopb2
|
||||||
|
mov [es:edi],ax
|
||||||
|
mov [es:edi-2],bx
|
||||||
|
jmp .inloopb3
|
||||||
|
.inloopb2
|
||||||
|
shr ax,byte 1
|
||||||
|
shr bx,byte 1
|
||||||
|
and ax,7befh
|
||||||
|
and bx,7befh
|
||||||
|
add ax,bx
|
||||||
|
mov [es:edi],ax
|
||||||
|
mov [es:edi-2],ax
|
||||||
|
.inloopb3
|
||||||
add esi,byte 2
|
add esi,byte 2
|
||||||
add edi,byte 2
|
add edi,byte 2
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .inloopc2
|
jnz .inloopb
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.done
|
.done
|
||||||
|
|||||||
Reference in New Issue
Block a user