Restoring interpolation routine to the original.
This commit is contained in:
@@ -2711,42 +2711,44 @@ NEWSYM copyvesa2320x240x16b
|
||||
;cmp byte[ScreenScale],1
|
||||
;je .infsloopa
|
||||
.inloopa
|
||||
mov bx,[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 ax,[esi]
|
||||
mov [es:edi],ax
|
||||
pop eax
|
||||
pop ebx
|
||||
add esi,byte 2
|
||||
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
|
||||
add esi,byte 2
|
||||
add edi,byte 2
|
||||
dec ecx
|
||||
jnz .inloopb
|
||||
.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
|
||||
|
||||
jmp .inloopa2
|
||||
|
||||
.done
|
||||
pop es
|
||||
ret
|
||||
@@ -3311,56 +3313,64 @@ NEWSYM copyvesa2320x480x16b
|
||||
|
||||
.interpolate
|
||||
cmp byte[scanlines],1
|
||||
je .inloopb
|
||||
je .inloopa2
|
||||
.inloopa
|
||||
call .inloopc
|
||||
sub esi,256*2
|
||||
add edi,32*2+32*2
|
||||
call .inloopc
|
||||
add esi,32*2
|
||||
add edi,32*2+32*2
|
||||
mov ax,[esi]
|
||||
mov [es:edi],ax
|
||||
add esi,byte 2
|
||||
add edi,byte 2
|
||||
mov ecx,254
|
||||
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
|
||||
jnz .inloopa
|
||||
jmp .done
|
||||
.inloopb
|
||||
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
|
||||
.inloopa2
|
||||
mov ax,[esi]
|
||||
mov [es:edi],ax
|
||||
add esi,byte 2
|
||||
mov [es:edi],ax
|
||||
add edi,byte 2
|
||||
ret
|
||||
.inloopc2
|
||||
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 ecx,254
|
||||
call .inloopb
|
||||
mov ax,[esi]
|
||||
mov [es:edi],ax
|
||||
pop eax
|
||||
pop ebx
|
||||
add esi,16*2+16*2+2
|
||||
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 edi,byte 2
|
||||
dec ecx
|
||||
jnz .inloopc2
|
||||
jnz .inloopb
|
||||
ret
|
||||
|
||||
.done
|
||||
|
||||
Reference in New Issue
Block a user