Added scanlines to 320x256 Mode-X in DOS port.
This commit is contained in:
@@ -1040,7 +1040,7 @@ db ' ',0
|
|||||||
; Left side starts with Video Mode 0
|
; Left side starts with Video Mode 0
|
||||||
NEWSYM GUI16VID, db 0,0,0,0,0,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 ; 16-bit mode
|
||||||
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,0,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,0 ; New Graphics Mode Available
|
||||||
NEWSYM GUISLVID, db 0,0,1,0,0,0,1,0,0,1,1,0,0,1,1,0 ; Scanlines
|
NEWSYM GUISLVID, db 0,0,1,0,0,1,1,0,0,1,1,0,0,1,1,0 ; Scanlines
|
||||||
NEWSYM GUIINVID, db 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,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,1,0,0 ; Eagle
|
NEWSYM GUIEAVID, db 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,1,1,0 ; (Interp | Eagle)
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0 ; (Interp | Eagle)
|
||||||
|
|||||||
@@ -39,7 +39,14 @@ NEWSYM res480, resb 1
|
|||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
NEWSYM dosinitvideo2
|
NEWSYM dosinitvideo2
|
||||||
|
cmp byte[cvidmode],2
|
||||||
|
jne .nomodeq
|
||||||
jmp dosinitvideo.initmodeq256
|
jmp dosinitvideo.initmodeq256
|
||||||
|
.nomodeq
|
||||||
|
cmp byte[cvidmode],5
|
||||||
|
jne .nomodex
|
||||||
|
jmp dosinitvideo.initmodex256
|
||||||
|
.nomodex
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
; InitVideo
|
; InitVideo
|
||||||
@@ -157,7 +164,14 @@ NEWSYM dosinitvideo
|
|||||||
|
|
||||||
.initmodex256
|
.initmodex256
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
|
cmp byte[scanlines],1
|
||||||
|
je near .scanlines2
|
||||||
SetVGAMode .Mode320x256
|
SetVGAMode .Mode320x256
|
||||||
|
jmp .done2
|
||||||
|
.scanlines2
|
||||||
|
SetVGAMode .Mode320x256s
|
||||||
|
jmp .done2
|
||||||
|
.done2
|
||||||
call cscopymodex
|
call cscopymodex
|
||||||
%endif
|
%endif
|
||||||
call makepal
|
call makepal
|
||||||
|
|||||||
@@ -123,6 +123,14 @@ SECTION .data
|
|||||||
dw 03c4h,00604h,03ceh,04005h,03ceh,00506h,03c0h,04110h,03c0h,00013h
|
dw 03c4h,00604h,03ceh,04005h,03ceh,00506h,03c0h,04110h,03c0h,00013h
|
||||||
dd 0
|
dd 0
|
||||||
|
|
||||||
|
.Mode320x256s
|
||||||
|
dw 03c2h,0e300h,03d4h,05f00h,03d4h,04f01h,03d4h,05002h,03d4h,08203h
|
||||||
|
dw 03d4h,05404h,03d4h,08005h,03d4h,02306h,03d4h,01d07h,03d4h,00008h
|
||||||
|
dw 03d4h,06009h,03d4h,00a10h,03d4h,0ac11h,03d4h,0ff12h,03d4h,02813h
|
||||||
|
dw 03d4h,00014h,03d4h,00715h,03d4h,01a16h,03d4h,0e317h,03c4h,00101h
|
||||||
|
dw 03c4h,00604h,03ceh,04005h,03ceh,00506h,03c0h,04110h,03c0h,00013h
|
||||||
|
dd 0
|
||||||
|
|
||||||
|
|
||||||
SECTION .text
|
SECTION .text
|
||||||
%endif
|
%endif
|
||||||
|
|||||||
@@ -1004,7 +1004,12 @@ GUIVideoKeys:
|
|||||||
GUIkeystoggleoptn byte[scanlines],1
|
GUIkeystoggleoptn byte[scanlines],1
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
cmp byte[cvidmode],2
|
cmp byte[cvidmode],2
|
||||||
|
jne .nomodeq
|
||||||
|
jmp .refresh
|
||||||
|
.nomodeq
|
||||||
|
cmp byte[cvidmode],5
|
||||||
jne .nofullscanlines
|
jne .nofullscanlines
|
||||||
|
.refresh
|
||||||
mov byte[cbitmode],1
|
mov byte[cbitmode],1
|
||||||
call initvideo2
|
call initvideo2
|
||||||
mov byte[cbitmode],0
|
mov byte[cbitmode],0
|
||||||
@@ -1022,12 +1027,12 @@ GUIVideoKeys:
|
|||||||
call ClearScreen
|
call ClearScreen
|
||||||
GUIkeystoggleoptn byte[scanlines],3
|
GUIkeystoggleoptn byte[scanlines],3
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
cmp byte[cvidmode],2
|
;cmp byte[cvidmode],2
|
||||||
jne .nohalfscanlines
|
;jne .nohalfscanlines
|
||||||
mov byte[cbitmode],1
|
;mov byte[cbitmode],1
|
||||||
call initvideo2
|
;call initvideo2
|
||||||
mov byte[cbitmode],0
|
;mov byte[cbitmode],0
|
||||||
call GUISetPal
|
;call GUISetPal
|
||||||
%endif
|
%endif
|
||||||
.nohalfscanlines
|
.nohalfscanlines
|
||||||
cmp dh,'2'
|
cmp dh,'2'
|
||||||
@@ -1037,12 +1042,12 @@ GUIVideoKeys:
|
|||||||
call ClearScreen
|
call ClearScreen
|
||||||
GUIkeystoggleoptn byte[scanlines],2
|
GUIkeystoggleoptn byte[scanlines],2
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
cmp byte[cvidmode],2
|
;cmp byte[cvidmode],2
|
||||||
jne .noquarterscanlines
|
;jne .noquarterscanlines
|
||||||
mov byte[cbitmode],1
|
;mov byte[cbitmode],1
|
||||||
call initvideo2
|
;call initvideo2
|
||||||
mov byte[cbitmode],0
|
;mov byte[cbitmode],0
|
||||||
call GUISetPal
|
;call GUISetPal
|
||||||
%endif
|
%endif
|
||||||
.noquarterscanlines
|
.noquarterscanlines
|
||||||
cmp dh,'X'
|
cmp dh,'X'
|
||||||
|
|||||||
@@ -1237,12 +1237,17 @@ GUIWinClicked:
|
|||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
cmp byte[cvidmode],2
|
cmp byte[cvidmode],2
|
||||||
jne %%nomodeq
|
jne %%nomodeq
|
||||||
|
jmp %%refresh
|
||||||
|
%%nomodeq
|
||||||
|
cmp byte[cvidmode],5
|
||||||
|
jne %%nomodex
|
||||||
|
%%refresh
|
||||||
mov byte[cbitmode],1
|
mov byte[cbitmode],1
|
||||||
call initvideo2
|
call initvideo2
|
||||||
mov byte[cbitmode],0
|
mov byte[cbitmode],0
|
||||||
call GUISetPal
|
call GUISetPal
|
||||||
%endif
|
%endif
|
||||||
%%nomodeq
|
%%nomodex
|
||||||
ret
|
ret
|
||||||
%%noclick
|
%%noclick
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|||||||
Reference in New Issue
Block a user