Reordered video modes in dos port [stainless]
This commit is contained in:
@@ -621,14 +621,14 @@ db '',13,10
|
|||||||
%endif
|
%endif
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
db '; Video Mode, 0 - 10',13,10
|
db '; Video Mode, 0 - 10',13,10
|
||||||
db '; 0 = 320x240x256 1 = 256x256x256',13,10
|
db '; 0 = 256x256x8B (MODEQ) 1 = 320x240x8B (MODEX)',13,10
|
||||||
db '; 2 = 320x240x256 VESA2 3 = 320x240x65536 VESA2',13,10
|
db '; 2 = 640x480x16B (VESA1) 3 = 320x240x8B (VESA2)',13,10
|
||||||
db '; 4 = 640x480x256 VESA2 5 = 640x480x65536 VESA2',13,10
|
db '; 4 = 320x240x16B (VESA2) 5 = 320x480x8B (VESA2)',13,10
|
||||||
db '; 6 = 512x384x256 VESA2 7 = 512x384x65536 VESA2',13,10
|
db '; 6 = 320x480x16B (VESA2) 7 = 512x384x8B (VESA2)',13,10
|
||||||
db '; 8 = 640x480x65536 VESA1.2 9 = 320x480x256 VESA2',13,10
|
db '; 8 = 512x384x16B (VESA2) 9 = 640x480x8B (VESA2)',13,10
|
||||||
db '; 10 = 320x480x65536 VESA2',13,10
|
db '; 10 = 640x480x16B (VESA2)',13,10
|
||||||
db '',13,10
|
db '',13,10
|
||||||
db 'VideoMode = %U',13,10
|
db 'VideoModeDos = %U',13,10
|
||||||
db '',13,10
|
db '',13,10
|
||||||
%endif
|
%endif
|
||||||
db '; Sound Emulation = 0 or 1 (1 = ON)',13,10
|
db '; Sound Emulation = 0 or 1 (1 = ON)',13,10
|
||||||
@@ -1901,8 +1901,8 @@ SECTION .data
|
|||||||
db 'VIDEOMODELIN'
|
db 'VIDEOMODELIN'
|
||||||
%endif
|
%endif
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
.stri dd 9
|
.stri dd 12
|
||||||
db 'VIDEOMODE'
|
db 'VIDEOMODEDOS'
|
||||||
%endif
|
%endif
|
||||||
.strj dd 7
|
.strj dd 7
|
||||||
db 'EXECUTE'
|
db 'EXECUTE'
|
||||||
|
|||||||
@@ -1013,35 +1013,35 @@ NEWSYM NumVideoModes, dd 11
|
|||||||
; GUI Video Mode Names - Make sure that all names are of the same length
|
; GUI Video Mode Names - Make sure that all names are of the same length
|
||||||
; and end with a NULL terminator
|
; and end with a NULL terminator
|
||||||
NEWSYM GUIVideoModeNames
|
NEWSYM GUIVideoModeNames
|
||||||
db '320X240X8B MODEX',0
|
db '256X256X8B MODEQ',0 ; 0
|
||||||
db '256X256X8B MODEQ',0
|
db '320X240X8B MODEX',0 ; 1
|
||||||
db '320X240X8B VESA2',0
|
db '640X480X16B VESA1',0 ; 2
|
||||||
db '320X240X16B VESA2',0
|
db '320X240X8B VESA2',0 ; 3
|
||||||
db '640X480X8B VESA2',0
|
db '320X240X16B VESA2',0 ; 4
|
||||||
db '640X480X16B VESA2',0
|
db '320X480X8B VESA2',0 ; 5
|
||||||
db '512X384X8B VESA2',0
|
db '320X480X16B VESA2',0 ; 6
|
||||||
db '512X384X16B VESA2',0
|
db '512X384X8B VESA2',0 ; 7
|
||||||
db '640X480X16B VS1.2',0
|
db '512X384X16B VESA2',0 ; 8
|
||||||
db '320X480X8B VESA2',0
|
db '640X480X8B VESA2',0 ; 9
|
||||||
db '320X480X16B VESA2',0
|
db '640X480X16B VESA2',0 ; 10
|
||||||
db ' 0X 0X 0B VESA2',0
|
db ' ',0
|
||||||
|
|
||||||
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
||||||
; Left side starts with Video Mode 0
|
; Left side starts with Video Mode 0
|
||||||
NEWSYM GUI16VID, db 0,0,0,1,0,1,0,1,1,0,1,0 ; 16-bit mode
|
NEWSYM GUI16VID, db 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,0 ; New Graphics Mode Available
|
NEWSYM GUINGVID, db 1,1,1,1,1,1,0,1,1,1,1,0 ; New Graphics Mode Available
|
||||||
NEWSYM GUISLVID, db 0,1,0,0,1,1,0,0,1,1,1,0 ; Scanlines
|
NEWSYM GUISLVID, db 1,0,1,0,0,1,1,0,0,1,1,0 ; Scanlines
|
||||||
NEWSYM GUIINVID, db 0,0,0,0,0,1,0,0,0,0,0,0 ; Interpolation
|
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,1,0 ; Interpolation
|
||||||
NEWSYM GUIEAVID, db 0,0,0,0,1,0,0,0,0,0,0,0 ; Eagle
|
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,1,0,0 ; Eagle
|
||||||
NEWSYM GUIIEVID, db 0,0,0,0,1,1,0,0,0,0,0,0 ; (Interp | Eagle)
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,1,1,0 ; (Interp | Eagle)
|
||||||
NEWSYM GUIFSVID, db 0,0,1,1,1,1,0,0,0,0,0,0 ; Full Screen
|
NEWSYM GUIFSVID, db 0,0,0,1,1,0,0,0,0,1,1,0 ; Full Screen
|
||||||
NEWSYM GUISSVID, db 0,0,0,0,1,1,0,0,1,0,0,0 ; Small Screen
|
NEWSYM GUISSVID, db 0,0,1,0,0,0,0,0,0,1,1,0 ; Small Screen
|
||||||
NEWSYM GUITBVID, db 0,0,1,1,1,1,1,1,0,1,1,0 ; Triple Buffering
|
NEWSYM GUITBVID, db 0,0,0,1,1,1,1,1,1,1,1,0 ; Triple Buffering
|
||||||
NEWSYM GUIHSVID, db 0,0,0,0,0,1,0,0,0,0,1,0 ; Half/Quarter Scanlines
|
NEWSYM GUIHSVID, db 0,0,0,0,0,0,1,0,0,0,1,0 ; Half/Quarter Scanlines
|
||||||
NEWSYM GUI2xVID, db 0,0,0,0,0,1,0,0,0,0,0,0 ; 2xSaI/Super Eagle Engines
|
NEWSYM GUI2xVID, db 0,0,0,0,0,0,0,0,0,0,1,0 ; 2xSaI/Super Eagle Engines
|
||||||
NEWSYM GUIWFVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; If Windows Full Screen
|
NEWSYM GUIWFVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; If Windows Full Screen
|
||||||
NEWSYM GUII2VID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
NEWSYM GUII2VID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
||||||
NEWSYM GUIM7VID, db 0,0,0,0,0,1,0,0,0,0,0,0 ; Interpolation
|
NEWSYM GUIM7VID, db 0,0,0,0,0,0,0,0,0,0,1,0 ; Interpolation
|
||||||
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Bilinear Filtering
|
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Bilinear Filtering
|
||||||
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
|
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|||||||
@@ -42,27 +42,27 @@ NEWSYM dosinitvideo
|
|||||||
mov byte[res640],0
|
mov byte[res640],0
|
||||||
mov byte[res480],0
|
mov byte[res480],0
|
||||||
cmp byte[cvidmode],0
|
cmp byte[cvidmode],0
|
||||||
je near .initmodex
|
|
||||||
cmp byte[cvidmode],1
|
|
||||||
je near .initmodeq
|
je near .initmodeq
|
||||||
|
cmp byte[cvidmode],1
|
||||||
|
je near .initmodex
|
||||||
cmp byte[cvidmode],2
|
cmp byte[cvidmode],2
|
||||||
je near .initvesa2320x240x8
|
|
||||||
cmp byte[cvidmode],3
|
|
||||||
je near .initvesa2320x240x16
|
|
||||||
cmp byte[cvidmode],4
|
|
||||||
je near .initvesa2640x480x8
|
|
||||||
cmp byte[cvidmode],5
|
|
||||||
je near .initvesa2640x480x16
|
|
||||||
cmp byte[cvidmode],6
|
|
||||||
je near .initvesa2512x384x8
|
|
||||||
cmp byte[cvidmode],7
|
|
||||||
je near .initvesa2512x384x16
|
|
||||||
cmp byte[cvidmode],8
|
|
||||||
je near .initvesa12640x480x16
|
je near .initvesa12640x480x16
|
||||||
cmp byte[cvidmode],9
|
cmp byte[cvidmode],3
|
||||||
|
je near .initvesa2320x240x8
|
||||||
|
cmp byte[cvidmode],4
|
||||||
|
je near .initvesa2320x240x16
|
||||||
|
cmp byte[cvidmode],5
|
||||||
je near .initvesa2320x480x8
|
je near .initvesa2320x480x8
|
||||||
cmp byte[cvidmode],10
|
cmp byte[cvidmode],6
|
||||||
je near .initvesa2320x480x16
|
je near .initvesa2320x480x16
|
||||||
|
cmp byte[cvidmode],7
|
||||||
|
je near .initvesa2512x384x8
|
||||||
|
cmp byte[cvidmode],8
|
||||||
|
je near .initvesa2512x384x16
|
||||||
|
cmp byte[cvidmode],9
|
||||||
|
je near .initvesa2640x480x8
|
||||||
|
cmp byte[cvidmode],10
|
||||||
|
je near .initvesa2640x480x16
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
|
|||||||
@@ -1436,16 +1436,16 @@ SECTION .data
|
|||||||
db ' -u Force PAL timing',13,10
|
db ' -u Force PAL timing',13,10
|
||||||
%ifndef __LINUX__
|
%ifndef __LINUX__
|
||||||
db ' -v # Select Video Mode :',13,10
|
db ' -v # Select Video Mode :',13,10
|
||||||
db ' 0 = 320x240x256 1 = 256x256x256',13,10
|
db ' 0 = 256x256x8B (MODEQ) 1 = 320x240x8B (MODEX)',13,10
|
||||||
db ' 2 = 320x240x256(VESA2) 3 = 320x240x16b(VESA2) ',13,10
|
db ' 2 = 640x480x16B (VESA1) 3 = 320x240x8B (VESA2)',13,10
|
||||||
db ' 4 = 640x480x256(VESA2) 5 = 640x480x16b(VESA2) ',13,10
|
db ' 4 = 320x240x16B (VESA2) 5 = 320x480x8B (VESA2)',13,10
|
||||||
db ' 6 = 512x384x256(VESA2) 7 = 512x384x16b(VESA2) ',13,10
|
db ' 6 = 320x480x16B (VESA2) 7 = 512x384x8B (VESA2)',13,10
|
||||||
db ' 8 = 640x480x16b(VESA1.2) 9 = 320x480x256(VESA2) ',13,10
|
db ' 8 = 512x384x16B (VESA2) 9 = 640x480x8B (VESA2)',13,10
|
||||||
db ' 10 = 320x480x65536(VESA2)',13,10
|
db ' 10 = 640x480x16B (VESA2)',13,10
|
||||||
%endif
|
%endif
|
||||||
db ' -w Enable VSync',13,10
|
db ' -w Enable VSync',13,10
|
||||||
db 'Press any key to continue.',0
|
db 'Press any key to continue.',0
|
||||||
.noparms3 db 13,' -y Enable EAGLE (640x480x256 only) or Interpolation (640x480x65536 only)',13,10
|
.noparms3 db 13,' -y Enable EAGLE (640x480x8B only) or Interpolation (640x480x16B only)',13,10
|
||||||
db ' -z Enable Stereo Sound',13,10
|
db ' -z Enable Stereo Sound',13,10
|
||||||
db '',13,10
|
db '',13,10
|
||||||
db ' File Formats Supported by GUI : .SMC,.SFC,.SWC,.FIG,.058,.078,.1,.USA,.JAP',13,10
|
db ' File Formats Supported by GUI : .SMC,.SFC,.SWC,.FIG,.058,.078,.1,.USA,.JAP',13,10
|
||||||
|
|||||||
@@ -270,9 +270,9 @@ NEWSYM cachevideo
|
|||||||
je .nohires
|
je .nohires
|
||||||
cmp byte[scanlines],1
|
cmp byte[scanlines],1
|
||||||
je .nohires
|
je .nohires
|
||||||
cmp byte[cvidmode],9
|
cmp byte[cvidmode],5
|
||||||
je .yeshires
|
je .yeshires
|
||||||
cmp byte[cvidmode],4
|
cmp byte[cvidmode],9
|
||||||
jne .nohires
|
jne .nohires
|
||||||
.yeshires
|
.yeshires
|
||||||
mov byte[Mode7HiRes],1
|
mov byte[Mode7HiRes],1
|
||||||
|
|||||||
@@ -259,29 +259,29 @@ NEWSYM DosDrawScreenB
|
|||||||
ScreenShow:
|
ScreenShow:
|
||||||
cmp byte[debugdisble],0
|
cmp byte[debugdisble],0
|
||||||
je .debug
|
je .debug
|
||||||
cmp byte[cvidmode],1
|
cmp byte[cvidmode],0
|
||||||
je near copymodeq
|
je near copymodeq
|
||||||
.debug
|
.debug
|
||||||
cmp byte[cvidmode],2
|
cmp byte[cvidmode],1
|
||||||
je near copyvesa2320x240x8b
|
|
||||||
cmp byte[cvidmode],3
|
|
||||||
je near copyvesa2320x240x16b
|
|
||||||
cmp byte[cvidmode],4
|
|
||||||
je near copyvesa2640x480x8b
|
|
||||||
cmp byte[cvidmode],5
|
|
||||||
je near copyvesa2640x480x16b
|
|
||||||
cmp byte[cvidmode],6
|
|
||||||
je near copyvesa2512x384x8b
|
|
||||||
cmp byte[cvidmode],7
|
|
||||||
je near copyvesa2512x384x16b
|
|
||||||
cmp byte[cvidmode],8
|
|
||||||
je near copyvesa12640x480x16b
|
|
||||||
cmp byte[cvidmode],9
|
|
||||||
je near copyvesa2320x480x8b
|
|
||||||
cmp byte[cvidmode],10
|
|
||||||
je near copyvesa2320x480x16b
|
|
||||||
cmp byte[cvidmode],0
|
|
||||||
je near copymodex
|
je near copymodex
|
||||||
|
cmp byte[cvidmode],2
|
||||||
|
je near copyvesa12640x480x16b
|
||||||
|
cmp byte[cvidmode],3
|
||||||
|
je near copyvesa2320x240x8b
|
||||||
|
cmp byte[cvidmode],4
|
||||||
|
je near copyvesa2320x240x16b
|
||||||
|
cmp byte[cvidmode],5
|
||||||
|
je near copyvesa2320x480x8b
|
||||||
|
cmp byte[cvidmode],6
|
||||||
|
je near copyvesa2320x480x16b
|
||||||
|
cmp byte[cvidmode],7
|
||||||
|
je near copyvesa2512x384x8b
|
||||||
|
cmp byte[cvidmode],8
|
||||||
|
je near copyvesa2512x384x16b
|
||||||
|
cmp byte[cvidmode],9
|
||||||
|
je near copyvesa2640x480x8b
|
||||||
|
cmp byte[cvidmode],10
|
||||||
|
je near copyvesa2640x480x16b
|
||||||
cmp byte[curblank],40h
|
cmp byte[curblank],40h
|
||||||
je .startcopy
|
je .startcopy
|
||||||
inc byte[curfps2]
|
inc byte[curfps2]
|
||||||
@@ -299,28 +299,28 @@ NEWSYM dosvidpastecopyscr
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
ScreenShowGUI:
|
ScreenShowGUI:
|
||||||
cmp byte[cvidmode],1
|
|
||||||
je near copymodeq
|
|
||||||
cmp byte[cvidmode],2
|
|
||||||
je near copyvesa2320x240x8b
|
|
||||||
cmp byte[cvidmode],3
|
|
||||||
je near copyvesa2320x240x16bgui
|
|
||||||
cmp byte[cvidmode],4
|
|
||||||
je near copyvesa2640x480x8bgui
|
|
||||||
cmp byte[cvidmode],5
|
|
||||||
je near copyvesa2640x480x16bgui
|
|
||||||
cmp byte[cvidmode],6
|
|
||||||
je near copyvesa2512x384x8b
|
|
||||||
cmp byte[cvidmode],7
|
|
||||||
je near copyvesa2512x384x16bgui
|
|
||||||
cmp byte[cvidmode],8
|
|
||||||
je near copyvesa12640x480x16bgui
|
|
||||||
cmp byte[cvidmode],9
|
|
||||||
je near copyvesa2320x480x8bgui
|
|
||||||
cmp byte[cvidmode],10
|
|
||||||
je near copyvesa2320x480x16bgui
|
|
||||||
cmp byte[cvidmode],0
|
cmp byte[cvidmode],0
|
||||||
|
je near copymodeq
|
||||||
|
cmp byte[cvidmode],1
|
||||||
je near copymodex
|
je near copymodex
|
||||||
|
cmp byte[cvidmode],2
|
||||||
|
je near copyvesa12640x480x16bgui
|
||||||
|
cmp byte[cvidmode],3
|
||||||
|
je near copyvesa2320x240x8b
|
||||||
|
cmp byte[cvidmode],4
|
||||||
|
je near copyvesa2320x240x16bgui
|
||||||
|
cmp byte[cvidmode],5
|
||||||
|
je near copyvesa2320x480x8bgui
|
||||||
|
cmp byte[cvidmode],6
|
||||||
|
je near copyvesa2320x480x16bgui
|
||||||
|
cmp byte[cvidmode],7
|
||||||
|
je near copyvesa2512x384x8b
|
||||||
|
cmp byte[cvidmode],8
|
||||||
|
je near copyvesa2512x384x16bgui
|
||||||
|
cmp byte[cvidmode],9
|
||||||
|
je near copyvesa2640x480x8bgui
|
||||||
|
cmp byte[cvidmode],10
|
||||||
|
je near copyvesa2640x480x16bgui
|
||||||
jmp copymodeq
|
jmp copymodeq
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -5394,28 +5394,28 @@ NEWSYM copyvesa12640x480x16b
|
|||||||
;*******************************************************
|
;*******************************************************
|
||||||
NEWSYM DOSClearScreen
|
NEWSYM DOSClearScreen
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
cmp byte[cvidmode],1
|
|
||||||
je near cscopymodeq
|
|
||||||
cmp byte[cvidmode],2
|
|
||||||
je near cscopyvesa2320x240x8b
|
|
||||||
cmp byte[cvidmode],3
|
|
||||||
je near cscopyvesa2320x240x16b
|
|
||||||
cmp byte[cvidmode],4
|
|
||||||
je near cscopyvesa2640x480x8b
|
|
||||||
cmp byte[cvidmode],5
|
|
||||||
je near cscopyvesa2640x480x16b
|
|
||||||
cmp byte[cvidmode],6
|
|
||||||
je near cscopyvesa2512x384x8b
|
|
||||||
cmp byte[cvidmode],7
|
|
||||||
je near cscopyvesa2512x384x16b
|
|
||||||
cmp byte[cvidmode],8
|
|
||||||
je near cscopyvesa12640x480x16b
|
|
||||||
cmp byte[cvidmode],9
|
|
||||||
je near cscopyvesa2320x480x8b
|
|
||||||
cmp byte[cvidmode],10
|
|
||||||
je near cscopyvesa2320x480x16b
|
|
||||||
cmp byte[cvidmode],0
|
cmp byte[cvidmode],0
|
||||||
|
je near cscopymodeq
|
||||||
|
cmp byte[cvidmode],1
|
||||||
je near cscopymodex
|
je near cscopymodex
|
||||||
|
cmp byte[cvidmode],2
|
||||||
|
je near cscopyvesa12640x480x16b
|
||||||
|
cmp byte[cvidmode],3
|
||||||
|
je near cscopyvesa2320x240x8b
|
||||||
|
cmp byte[cvidmode],4
|
||||||
|
je near cscopyvesa2320x240x16b
|
||||||
|
cmp byte[cvidmode],5
|
||||||
|
je near cscopyvesa2320x480x8b
|
||||||
|
cmp byte[cvidmode],6
|
||||||
|
je near cscopyvesa2320x480x16b
|
||||||
|
cmp byte[cvidmode],7
|
||||||
|
je near cscopyvesa2512x384x8b
|
||||||
|
cmp byte[cvidmode],8
|
||||||
|
je near cscopyvesa2512x384x16b
|
||||||
|
cmp byte[cvidmode],9
|
||||||
|
je near cscopyvesa2640x480x8b
|
||||||
|
cmp byte[cvidmode],10
|
||||||
|
je near cscopyvesa2640x480x16b
|
||||||
%endif
|
%endif
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -5584,11 +5584,11 @@ NEWSYM GetScreen
|
|||||||
; jbe .getscreen
|
; jbe .getscreen
|
||||||
; ret
|
; ret
|
||||||
;.getscreen
|
;.getscreen
|
||||||
cmp byte[cvidmode],3
|
cmp byte[cvidmode],4
|
||||||
je near getcopyvesa2320x240x16b
|
je near getcopyvesa2320x240x16b
|
||||||
cmp byte[cvidmode],5
|
cmp byte[cvidmode],10
|
||||||
; je near getcopyvesa2640x480x16b
|
; je near getcopyvesa2640x480x16b
|
||||||
cmp byte[cvidmode],7
|
cmp byte[cvidmode],8
|
||||||
; je near getcopyvesa2512x384x16b
|
; je near getcopyvesa2512x384x16b
|
||||||
%endif
|
%endif
|
||||||
ret
|
ret
|
||||||
|
|||||||
Reference in New Issue
Block a user