Added interpolation to 320x240x16B in the DOS port.
This commit is contained in:
@@ -1043,9 +1043,9 @@ db ' ',0
|
|||||||
NEWSYM GUI16VID, db 0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0 ; 16-bit mode
|
NEWSYM GUI16VID, db 0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0 ; 16-bit mode
|
||||||
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 ; New Graphics Mode Available
|
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 ; New Graphics Mode Available
|
||||||
NEWSYM GUISLVID, db 0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0 ; Scanlines
|
NEWSYM GUISLVID, db 0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0 ; Scanlines
|
||||||
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 ; Interpolation
|
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0 ; Interpolation
|
||||||
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 ; Eagle
|
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 ; Eagle
|
||||||
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0 ; (Interp | Eagle)
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0 ; (Interp | Eagle)
|
||||||
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0 ; Full Screen
|
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0 ; Full Screen
|
||||||
NEWSYM GUISSVID, db 0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0 ; Small Screen
|
NEWSYM GUISSVID, db 0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0 ; Small Screen
|
||||||
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0 ; Triple Buffering
|
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0 ; Triple Buffering
|
||||||
|
|||||||
@@ -2590,6 +2590,14 @@ NEWSYM copyvesa2320x240x16b
|
|||||||
mov dl,[resolutn]
|
mov dl,[resolutn]
|
||||||
dec dl
|
dec dl
|
||||||
dec dl
|
dec dl
|
||||||
|
cmp byte[GUIOn],1
|
||||||
|
jne .nogui
|
||||||
|
cmp byte[FilteredGUI],1
|
||||||
|
jne .nointerp
|
||||||
|
.nogui
|
||||||
|
cmp byte[antienab],1
|
||||||
|
je near .interpolate
|
||||||
|
.nointerp
|
||||||
cmp byte[ScreenScale],1
|
cmp byte[ScreenScale],1
|
||||||
je near .fullscreen
|
je near .fullscreen
|
||||||
cmp byte[MMXSupport],1
|
cmp byte[MMXSupport],1
|
||||||
@@ -2634,6 +2642,42 @@ NEWSYM copyvesa2320x240x16b
|
|||||||
jnz .fsloopb
|
jnz .fsloopb
|
||||||
jmp .fsloopa2
|
jmp .fsloopa2
|
||||||
|
|
||||||
|
.interpolate
|
||||||
|
;cmp byte[ScreenScale],1
|
||||||
|
;je .infsloopa
|
||||||
|
.inloopa
|
||||||
|
mov ecx,256
|
||||||
|
jmp .inloopb
|
||||||
|
.inloopa2
|
||||||
|
add esi,32*2
|
||||||
|
add edi,64*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,1
|
||||||
|
shr bx,1
|
||||||
|
and ax,7befh
|
||||||
|
and bx,7befh
|
||||||
|
add ax,bx
|
||||||
|
mov [es:edi],ax
|
||||||
|
mov [es:edi-2],ax
|
||||||
|
jmp .inloopb3
|
||||||
|
.inloopb3
|
||||||
|
add esi,2
|
||||||
|
add edi,2
|
||||||
|
dec ecx
|
||||||
|
jnz .inloopb
|
||||||
|
jmp .inloopa2
|
||||||
|
|
||||||
.done
|
.done
|
||||||
pop es
|
pop es
|
||||||
ret
|
ret
|
||||||
|
|||||||
Reference in New Issue
Block a user