Reordered video modes in dos port [stainless]
This commit is contained in:
@@ -621,14 +621,14 @@ db '',13,10
|
||||
%endif
|
||||
%ifdef __MSDOS__
|
||||
db '; Video Mode, 0 - 10',13,10
|
||||
db '; 0 = 320x240x256 1 = 256x256x256',13,10
|
||||
db '; 2 = 320x240x256 VESA2 3 = 320x240x65536 VESA2',13,10
|
||||
db '; 4 = 640x480x256 VESA2 5 = 640x480x65536 VESA2',13,10
|
||||
db '; 6 = 512x384x256 VESA2 7 = 512x384x65536 VESA2',13,10
|
||||
db '; 8 = 640x480x65536 VESA1.2 9 = 320x480x256 VESA2',13,10
|
||||
db '; 10 = 320x480x65536 VESA2',13,10
|
||||
db '; 0 = 256x256x8B (MODEQ) 1 = 320x240x8B (MODEX)',13,10
|
||||
db '; 2 = 640x480x16B (VESA1) 3 = 320x240x8B (VESA2)',13,10
|
||||
db '; 4 = 320x240x16B (VESA2) 5 = 320x480x8B (VESA2)',13,10
|
||||
db '; 6 = 320x480x16B (VESA2) 7 = 512x384x8B (VESA2)',13,10
|
||||
db '; 8 = 512x384x16B (VESA2) 9 = 640x480x8B (VESA2)',13,10
|
||||
db '; 10 = 640x480x16B (VESA2)',13,10
|
||||
db '',13,10
|
||||
db 'VideoMode = %U',13,10
|
||||
db 'VideoModeDos = %U',13,10
|
||||
db '',13,10
|
||||
%endif
|
||||
db '; Sound Emulation = 0 or 1 (1 = ON)',13,10
|
||||
@@ -1901,8 +1901,8 @@ SECTION .data
|
||||
db 'VIDEOMODELIN'
|
||||
%endif
|
||||
%ifdef __MSDOS__
|
||||
.stri dd 9
|
||||
db 'VIDEOMODE'
|
||||
.stri dd 12
|
||||
db 'VIDEOMODEDOS'
|
||||
%endif
|
||||
.strj dd 7
|
||||
db 'EXECUTE'
|
||||
|
||||
@@ -1013,35 +1013,35 @@ NEWSYM NumVideoModes, dd 11
|
||||
; GUI Video Mode Names - Make sure that all names are of the same length
|
||||
; and end with a NULL terminator
|
||||
NEWSYM GUIVideoModeNames
|
||||
db '320X240X8B MODEX',0
|
||||
db '256X256X8B MODEQ',0
|
||||
db '320X240X8B VESA2',0
|
||||
db '320X240X16B VESA2',0
|
||||
db '640X480X8B VESA2',0
|
||||
db '640X480X16B VESA2',0
|
||||
db '512X384X8B VESA2',0
|
||||
db '512X384X16B VESA2',0
|
||||
db '640X480X16B VS1.2',0
|
||||
db '320X480X8B VESA2',0
|
||||
db '320X480X16B VESA2',0
|
||||
db ' 0X 0X 0B VESA2',0
|
||||
db '256X256X8B MODEQ',0 ; 0
|
||||
db '320X240X8B MODEX',0 ; 1
|
||||
db '640X480X16B VESA1',0 ; 2
|
||||
db '320X240X8B VESA2',0 ; 3
|
||||
db '320X240X16B VESA2',0 ; 4
|
||||
db '320X480X8B VESA2',0 ; 5
|
||||
db '320X480X16B VESA2',0 ; 6
|
||||
db '512X384X8B VESA2',0 ; 7
|
||||
db '512X384X16B VESA2',0 ; 8
|
||||
db '640X480X8B VESA2',0 ; 9
|
||||
db '640X480X16B VESA2',0 ; 10
|
||||
db ' ',0
|
||||
|
||||
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
||||
; 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 GUINGVID, db 1,1,1,1,1,1,1,1,1,1,0,0 ; New Graphics Mode Available
|
||||
NEWSYM GUISLVID, db 0,1,0,0,1,1,0,0,1,1,1,0 ; Scanlines
|
||||
NEWSYM GUIINVID, db 0,0,0,0,0,1,0,0,0,0,0,0 ; Interpolation
|
||||
NEWSYM GUIEAVID, db 0,0,0,0,1,0,0,0,0,0,0,0 ; Eagle
|
||||
NEWSYM GUIIEVID, db 0,0,0,0,1,1,0,0,0,0,0,0 ; (Interp | Eagle)
|
||||
NEWSYM GUIFSVID, db 0,0,1,1,1,1,0,0,0,0,0,0 ; Full Screen
|
||||
NEWSYM GUISSVID, db 0,0,0,0,1,1,0,0,1,0,0,0 ; Small Screen
|
||||
NEWSYM GUITBVID, db 0,0,1,1,1,1,1,1,0,1,1,0 ; Triple Buffering
|
||||
NEWSYM GUIHSVID, db 0,0,0,0,0,1,0,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 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,0,1,1,1,1,0 ; New Graphics Mode Available
|
||||
NEWSYM GUISLVID, db 1,0,1,0,0,1,1,0,0,1,1,0 ; Scanlines
|
||||
NEWSYM GUIINVID, db 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,1,0,0 ; Eagle
|
||||
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,1,1,0 ; (Interp | Eagle)
|
||||
NEWSYM GUIFSVID, db 0,0,0,1,1,0,0,0,0,1,1,0 ; Full Screen
|
||||
NEWSYM GUISSVID, db 0,0,1,0,0,0,0,0,0,1,1,0 ; Small Screen
|
||||
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,0,1,0,0,0,1,0 ; Half/Quarter Scanlines
|
||||
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 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 GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
|
||||
SECTION .text
|
||||
|
||||
@@ -42,27 +42,27 @@ NEWSYM dosinitvideo
|
||||
mov byte[res640],0
|
||||
mov byte[res480],0
|
||||
cmp byte[cvidmode],0
|
||||
je near .initmodex
|
||||
cmp byte[cvidmode],1
|
||||
je near .initmodeq
|
||||
cmp byte[cvidmode],1
|
||||
je near .initmodex
|
||||
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
|
||||
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
|
||||
cmp byte[cvidmode],10
|
||||
cmp byte[cvidmode],6
|
||||
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
|
||||
|
||||
;*******************************************************
|
||||
|
||||
@@ -1436,16 +1436,16 @@ SECTION .data
|
||||
db ' -u Force PAL timing',13,10
|
||||
%ifndef __LINUX__
|
||||
db ' -v # Select Video Mode :',13,10
|
||||
db ' 0 = 320x240x256 1 = 256x256x256',13,10
|
||||
db ' 2 = 320x240x256(VESA2) 3 = 320x240x16b(VESA2) ',13,10
|
||||
db ' 4 = 640x480x256(VESA2) 5 = 640x480x16b(VESA2) ',13,10
|
||||
db ' 6 = 512x384x256(VESA2) 7 = 512x384x16b(VESA2) ',13,10
|
||||
db ' 8 = 640x480x16b(VESA1.2) 9 = 320x480x256(VESA2) ',13,10
|
||||
db ' 10 = 320x480x65536(VESA2)',13,10
|
||||
db ' 0 = 256x256x8B (MODEQ) 1 = 320x240x8B (MODEX)',13,10
|
||||
db ' 2 = 640x480x16B (VESA1) 3 = 320x240x8B (VESA2)',13,10
|
||||
db ' 4 = 320x240x16B (VESA2) 5 = 320x480x8B (VESA2)',13,10
|
||||
db ' 6 = 320x480x16B (VESA2) 7 = 512x384x8B (VESA2)',13,10
|
||||
db ' 8 = 512x384x16B (VESA2) 9 = 640x480x8B (VESA2)',13,10
|
||||
db ' 10 = 640x480x16B (VESA2)',13,10
|
||||
%endif
|
||||
db ' -w Enable VSync',13,10
|
||||
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 '',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
|
||||
cmp byte[scanlines],1
|
||||
je .nohires
|
||||
cmp byte[cvidmode],9
|
||||
cmp byte[cvidmode],5
|
||||
je .yeshires
|
||||
cmp byte[cvidmode],4
|
||||
cmp byte[cvidmode],9
|
||||
jne .nohires
|
||||
.yeshires
|
||||
mov byte[Mode7HiRes],1
|
||||
|
||||
@@ -259,29 +259,29 @@ NEWSYM DosDrawScreenB
|
||||
ScreenShow:
|
||||
cmp byte[debugdisble],0
|
||||
je .debug
|
||||
cmp byte[cvidmode],1
|
||||
cmp byte[cvidmode],0
|
||||
je near copymodeq
|
||||
.debug
|
||||
cmp byte[cvidmode],2
|
||||
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
|
||||
cmp byte[cvidmode],1
|
||||
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
|
||||
je .startcopy
|
||||
inc byte[curfps2]
|
||||
@@ -299,28 +299,28 @@ NEWSYM dosvidpastecopyscr
|
||||
ret
|
||||
|
||||
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
|
||||
je near copymodeq
|
||||
cmp byte[cvidmode],1
|
||||
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
|
||||
%endif
|
||||
|
||||
@@ -5394,28 +5394,28 @@ NEWSYM copyvesa12640x480x16b
|
||||
;*******************************************************
|
||||
NEWSYM DOSClearScreen
|
||||
%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
|
||||
je near cscopymodeq
|
||||
cmp byte[cvidmode],1
|
||||
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
|
||||
ret
|
||||
|
||||
@@ -5584,11 +5584,11 @@ NEWSYM GetScreen
|
||||
; jbe .getscreen
|
||||
; ret
|
||||
;.getscreen
|
||||
cmp byte[cvidmode],3
|
||||
cmp byte[cvidmode],4
|
||||
je near getcopyvesa2320x240x16b
|
||||
cmp byte[cvidmode],5
|
||||
cmp byte[cvidmode],10
|
||||
; je near getcopyvesa2640x480x16b
|
||||
cmp byte[cvidmode],7
|
||||
cmp byte[cvidmode],8
|
||||
; je near getcopyvesa2512x384x16b
|
||||
%endif
|
||||
ret
|
||||
@@ -5691,4 +5691,4 @@ NEWSYM cscopyvesa12640x480x16b
|
||||
jnz near .loopa
|
||||
pop es
|
||||
ret
|
||||
%endif
|
||||
%endif
|
||||
|
||||
Reference in New Issue
Block a user