Added full screen to 640x400 modes in the DOS port.
This commit is contained in:
@@ -1046,7 +1046,7 @@ 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,1,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,1,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,1,1,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
|
||||||
NEWSYM GUIHSVID, db 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0 ; Half/Quarter Scanlines
|
NEWSYM GUIHSVID, db 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0 ; Half/Quarter Scanlines
|
||||||
|
|||||||
@@ -1292,6 +1292,8 @@ NEWSYM copyvesa2640x400x8b
|
|||||||
mov dl,[resolutn]
|
mov dl,[resolutn]
|
||||||
dec dl
|
dec dl
|
||||||
dec dl
|
dec dl
|
||||||
|
cmp byte[ScreenScale],1
|
||||||
|
je near .fullscreen
|
||||||
cmp byte[smallscreenon],1
|
cmp byte[smallscreenon],1
|
||||||
je .smallscreen
|
je .smallscreen
|
||||||
.loopa
|
.loopa
|
||||||
@@ -1342,6 +1344,45 @@ NEWSYM copyvesa2640x400x8b
|
|||||||
dec dl
|
dec dl
|
||||||
jnz .ssloopb
|
jnz .ssloopb
|
||||||
emms
|
emms
|
||||||
|
jmp .done
|
||||||
|
|
||||||
|
.fullscreen
|
||||||
|
push ebx
|
||||||
|
sub edi,64
|
||||||
|
.fsloopa
|
||||||
|
mov ecx,64
|
||||||
|
call .fsloopb
|
||||||
|
add esi,32
|
||||||
|
mov ecx,64
|
||||||
|
call .fsloopb
|
||||||
|
sub esi,256
|
||||||
|
mov ecx,64
|
||||||
|
call .fsloopb
|
||||||
|
add esi,32
|
||||||
|
dec dl
|
||||||
|
dec dl
|
||||||
|
jnz .fsloopa
|
||||||
|
pop ebx
|
||||||
|
jmp .done
|
||||||
|
.fsloopb
|
||||||
|
mov ebx,1
|
||||||
|
call .fsloopc
|
||||||
|
sub esi,1
|
||||||
|
mov ebx,4
|
||||||
|
call .fsloopc
|
||||||
|
dec ecx
|
||||||
|
jnz .fsloopb
|
||||||
|
ret
|
||||||
|
.fsloopc
|
||||||
|
mov al,[esi]
|
||||||
|
mov [es:edi],al
|
||||||
|
inc edi
|
||||||
|
mov [es:edi],al
|
||||||
|
inc esi
|
||||||
|
inc edi
|
||||||
|
dec ebx
|
||||||
|
jnz .fsloopc
|
||||||
|
ret
|
||||||
|
|
||||||
.done
|
.done
|
||||||
pop es
|
pop es
|
||||||
@@ -1368,6 +1409,8 @@ NEWSYM copyvesa2640x400x16b
|
|||||||
mov dl,[resolutn]
|
mov dl,[resolutn]
|
||||||
dec dl
|
dec dl
|
||||||
dec dl
|
dec dl
|
||||||
|
cmp byte[ScreenScale],1
|
||||||
|
je near .fullscreen
|
||||||
cmp byte[smallscreenon],1
|
cmp byte[smallscreenon],1
|
||||||
je .smallscreen
|
je .smallscreen
|
||||||
.loopa
|
.loopa
|
||||||
@@ -1418,6 +1461,44 @@ NEWSYM copyvesa2640x400x16b
|
|||||||
dec dl
|
dec dl
|
||||||
jnz .ssloopb
|
jnz .ssloopb
|
||||||
emms
|
emms
|
||||||
|
jmp .done
|
||||||
|
|
||||||
|
.fullscreen
|
||||||
|
push ebx
|
||||||
|
sub edi,64*2
|
||||||
|
.fsloopa
|
||||||
|
mov ecx,64
|
||||||
|
call .fsloopb
|
||||||
|
add esi,32*2
|
||||||
|
mov ecx,64
|
||||||
|
call .fsloopb
|
||||||
|
sub esi,256*2
|
||||||
|
mov ecx,64
|
||||||
|
call .fsloopb
|
||||||
|
add esi,32*2
|
||||||
|
dec dl
|
||||||
|
dec dl
|
||||||
|
jnz .fsloopa
|
||||||
|
pop ebx
|
||||||
|
jmp .done
|
||||||
|
.fsloopb
|
||||||
|
mov ebx,1
|
||||||
|
call .fsloopc
|
||||||
|
sub esi,2
|
||||||
|
mov ebx,4
|
||||||
|
call .fsloopc
|
||||||
|
dec ecx
|
||||||
|
jnz .fsloopb
|
||||||
|
ret
|
||||||
|
.fsloopc
|
||||||
|
mov ax,[esi]
|
||||||
|
mov [es:edi],ax
|
||||||
|
mov [es:edi+2],ax
|
||||||
|
add esi,byte 2
|
||||||
|
add edi,byte 4
|
||||||
|
dec ebx
|
||||||
|
jnz .fsloopc
|
||||||
|
ret
|
||||||
|
|
||||||
.done
|
.done
|
||||||
pop es
|
pop es
|
||||||
|
|||||||
Reference in New Issue
Block a user