Reordered video modes
This commit is contained in:
@@ -576,24 +576,24 @@ db '',13,10
|
|||||||
db 'Execute = %T',13,10
|
db 'Execute = %T',13,10
|
||||||
db '',13,10
|
db '',13,10
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
db '; Video Mode, 0 - 25',13,10
|
db '; Video Mode, 0 - 23',13,10
|
||||||
db '; 0 = 64x56 R WIN 1 = 128x112 R WIN',13,10
|
db '; 0 = 256x224 R WIN 1 = 256x224 R FULL',13,10
|
||||||
db '; 2 = 256X224 R WIN 3 = 256x224 R FULL',13,10
|
db '; 2 = 512x448 R WIN 3 = 512x448 DR WIN',13,10
|
||||||
db '; 4 = 512X448 R WIN 5 = 512X448 DR WIN',13,10
|
db '; 4 = 640x480 S WIN 5 = 640x480 DR FULL',13,10
|
||||||
db '; 6 = 640x480 S WIN 7 = 640x480 DR FULL',13,10
|
db '; 6 = 640x480 DS FULL 7 = 640x480 S FULL',13,10
|
||||||
db '; 8 = 640X480 DS FULL 9 = 640X480 S FULL',13,10
|
db '; 8 = 768x672 R WIN 9 = 768x672 DR WIN',13,10
|
||||||
db '; 10 = 800x600 S WIN 11 = 800x600 DS WIN',13,10
|
db '; 10 = 800x600 S WIN 11 = 800x600 DS WIN',13,10
|
||||||
db '; 12 = 800x600 S FULL 13 = 800x600 DS FULL',13,10
|
db '; 12 = 800x600 S FULL 13 = 800x600 DR FULL',13,10
|
||||||
db '; 14 = 1024X768 S WIN 15 = 1024X768 DS WIN',13,10
|
db '; 14 = 800x600 DS FULL 15 = 1024x768 S WIN',13,10
|
||||||
db '; 16 = 1024x768 S FULL 17 = 1024x768 DS FULL',13,10
|
db '; 16 = 1024x768 DS WIN 17 = 1024x768 S FULL',13,10
|
||||||
db '; 18 = 768x672 R WIN 19 = 768x672 DR WIN',13,10
|
db '; 18 = 1024x768 DR FULL 19 = 1024x768 DS FULL',13,10
|
||||||
db '; 20 = 1024x896 R WIN 21 = 1024x896 DR WIN',13,10
|
db '; 20 = 1024x896 R WIN 21 = 1024x896 DR WIN',13,10
|
||||||
db '; 22 = 1280x960 DR FULL 23 = 1280x960 DS FULL',13,10
|
db '; 22 = 1280x960 DR FULL 23 = 1280x960 DS FULL',13,10
|
||||||
db '; 24 = 800x600 DR FULL 25 = 1024x768 DR FULL',13,10
|
|
||||||
db '',13,10
|
db '',13,10
|
||||||
db 'VideoModeWin = %U',13,10
|
db 'VideoModeWin = %U',13,10
|
||||||
db '',13,10
|
db '',13,10
|
||||||
%elifdef __LINUX__
|
%endif
|
||||||
|
%ifdef __LINUX__
|
||||||
%ifdef __OPENGL__
|
%ifdef __OPENGL__
|
||||||
db '; Video Mode, 0 - 15',13,10
|
db '; Video Mode, 0 - 15',13,10
|
||||||
%else
|
%else
|
||||||
@@ -1887,14 +1887,16 @@ SECTION .data
|
|||||||
db 'SOUND'
|
db 'SOUND'
|
||||||
.strh dd 9
|
.strh dd 9
|
||||||
db 'SOUNDRATE'
|
db 'SOUNDRATE'
|
||||||
.stri dd 9
|
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
|
.stri dd 12
|
||||||
db 'VIDEOMODEWIN'
|
db 'VIDEOMODEWIN'
|
||||||
%endif
|
%endif
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
|
.stri dd 12
|
||||||
db 'VIDEOMODELIN'
|
db 'VIDEOMODELIN'
|
||||||
%endif
|
%endif
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
|
.stri dd 9
|
||||||
db 'VIDEOMODE'
|
db 'VIDEOMODE'
|
||||||
%endif
|
%endif
|
||||||
.strj dd 7
|
.strj dd 7
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ NEWSYM StartUp
|
|||||||
NEWSYM SystemInit
|
NEWSYM SystemInit
|
||||||
; Be sure to set SBHDMA to a value other than 0 if 16bit sound exists
|
; Be sure to set SBHDMA to a value other than 0 if 16bit sound exists
|
||||||
push es
|
push es
|
||||||
mov byte[cfgcvidmode],4
|
mov byte[cfgcvidmode],2
|
||||||
mov byte[cvidmode],4
|
mov byte[cvidmode],2
|
||||||
call getcmdline
|
call getcmdline
|
||||||
|
|
||||||
mov byte[esi],'Z'
|
mov byte[esi],'Z'
|
||||||
@@ -1215,58 +1215,57 @@ NEWSYM ClearScreen
|
|||||||
SECTION .data
|
SECTION .data
|
||||||
|
|
||||||
; Total Number of Video Modes
|
; Total Number of Video Modes
|
||||||
NEWSYM NumVideoModes, dd 26
|
NEWSYM NumVideoModes, dd 24
|
||||||
|
|
||||||
; 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 '64x56 R WIN ',0 ;0
|
db '256x224 R WIN ',0 ;0
|
||||||
db '128x112 R WIN ',0 ;1
|
db '256x224 R FULL',0 ;1
|
||||||
db '256x224 R WIN ',0 ;2
|
db '512x448 R WIN ',0 ;2
|
||||||
db '256x224 R FULL',0 ;3
|
db '512x448 DR WIN ',0 ;3
|
||||||
db '512x448 R WIN ',0 ;4
|
db '640x480 S WIN ',0 ;4
|
||||||
db '512x448 DR WIN ',0 ;5
|
db '640x480 DR FULL',0 ;5
|
||||||
db '640x480 S WIN ',0 ;6
|
db '640x480 DS FULL',0 ;6
|
||||||
db '640x480 DR FULL',0 ;7
|
db '640x480 S FULL',0 ;7
|
||||||
db '640x480 DS FULL',0 ;8
|
db '768x672 R WIN ',0 ;8
|
||||||
db '640x480 S FULL',0 ;9
|
db '768x672 DR WIN ',0 ;9
|
||||||
db '800x600 S WIN ',0 ;10
|
db '800x600 S WIN ',0 ;10
|
||||||
db '800x600 DS WIN ',0 ;11
|
db '800x600 DS WIN ',0 ;11
|
||||||
db '800x600 S FULL',0 ;12
|
db '800x600 S FULL',0 ;12
|
||||||
db '800x600 DS FULL',0 ;13
|
db '800x600 DR FULL',0 ;13
|
||||||
db '1024x768 S WIN ',0 ;14
|
db '800x600 DS FULL',0 ;14
|
||||||
db '1024x768 DS WIN ',0 ;15
|
db '1024x768 S WIN ',0 ;15
|
||||||
db '1024x768 S FULL',0 ;16
|
db '1024x768 DS WIN ',0 ;16
|
||||||
db '1024x768 DS FULL',0 ;17
|
db '1024x768 S FULL',0 ;17
|
||||||
db '768x672 R WIN ',0 ;18
|
db '1024x768 DR FULL',0 ;18
|
||||||
db '768x672 DR WIN ',0 ;19
|
db '1024x768 DS FULL',0 ;19
|
||||||
db '1024x896 R WIN ',0 ;20
|
db '1024x896 R WIN ',0 ;20
|
||||||
db '1024x896 DR WIN ',0 ;21
|
db '1024x896 DR WIN ',0 ;21
|
||||||
db '1280x960 DR FULL',0 ;22
|
db '1280x960 DR FULL',0 ;22
|
||||||
db '1280x960 DS FULL',0 ;23
|
db '1280x960 DS FULL',0 ;23
|
||||||
db '800x600 DR FULL',0 ;24
|
|
||||||
db '1024x768 DR FULL',0 ;25
|
|
||||||
|
|
||||||
; 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 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
|
||||||
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Mode Available
|
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
||||||
NEWSYM GUISLVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Scanlines
|
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Mode Available
|
||||||
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
NEWSYM GUISLVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Scanlines
|
||||||
NEWSYM GUII2VID, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1 ; Interpolation(w)
|
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
||||||
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
|
NEWSYM GUII2VID, db 0,0,0,1,0,1,1,0,0,1,0,1,0,1,1,1,0,1,1,1,0,1,1,1 ; Interpolation(w)
|
||||||
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
|
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
|
||||||
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
|
||||||
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
|
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
|
||||||
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
|
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
|
||||||
NEWSYM GUIHSVID, db 0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1 ; Half/Quarter Scanlines
|
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
|
||||||
NEWSYM GUI2xVID, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1 ; 2xSaI/Super Eagle Engines
|
NEWSYM GUIHSVID, db 0,0,0,1,0,1,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1 ; Half/Quarter Scanlines
|
||||||
NEWSYM GUIM7VID, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1 ; ?Mode 7 video thing?
|
NEWSYM GUI2xVID, db 0,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1 ; 2xSaI/Super Eagle Engines
|
||||||
NEWSYM GUIWFVID, db 0,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,1 ; If Windows Full Screen
|
NEWSYM GUIM7VID, db 0,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1 ; ?Mode 7 video thing?
|
||||||
NEWSYM GUIDSIZE, db 0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1
|
NEWSYM GUIWFVID, db 0,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1 ; If Windows Full Screen
|
||||||
NEWSYM GUIRATIO, db 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
NEWSYM GUIDSIZE, db 0,0,0,1,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1
|
||||||
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
NEWSYM GUIRATIO, db 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
NEWSYM GUITBWVID, db 0,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,1 ; Triple Buffering (Win)
|
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
NEWSYM GUITBWVID, db 0,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1 ; Triple Buffering (Win)
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
; ****************************
|
; ****************************
|
||||||
|
|||||||
@@ -1503,53 +1503,55 @@ void initwinvideo(void)
|
|||||||
switch (cvidmode)
|
switch (cvidmode)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
WindowWidth=64;
|
|
||||||
WindowHeight=56;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
WindowWidth=128;
|
|
||||||
WindowHeight=112;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
WindowWidth=256;
|
WindowWidth=256;
|
||||||
WindowHeight=224;
|
WindowHeight=224;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 1:
|
||||||
WindowWidth=640;
|
WindowWidth=640;
|
||||||
WindowHeight=480;
|
WindowHeight=480;
|
||||||
SurfaceX=320;
|
SurfaceX=320;
|
||||||
SurfaceY=240;
|
SurfaceY=240;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 2:
|
||||||
WindowWidth=512;
|
WindowWidth=512;
|
||||||
WindowHeight=448;
|
WindowHeight=448;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 3:
|
||||||
WindowWidth=512;
|
WindowWidth=512;
|
||||||
WindowHeight=448;
|
WindowHeight=448;
|
||||||
SurfaceX=512;
|
SurfaceX=512;
|
||||||
SurfaceY=448;
|
SurfaceY=448;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 4:
|
||||||
WindowWidth=640;
|
WindowWidth=640;
|
||||||
WindowHeight=480;
|
WindowHeight=480;
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
WindowWidth=640;
|
WindowWidth=640;
|
||||||
WindowHeight=480;
|
WindowHeight=480;
|
||||||
SurfaceX=640;
|
SurfaceX=640;
|
||||||
SurfaceY=480;
|
SurfaceY=480;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
WindowWidth=640;
|
WindowWidth=640;
|
||||||
WindowHeight=480;
|
WindowHeight=480;
|
||||||
SurfaceX=512;
|
SurfaceX=512;
|
||||||
SurfaceY=448;
|
SurfaceY=448;
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
WindowWidth=640;
|
WindowWidth=640;
|
||||||
WindowHeight=480;
|
WindowHeight=480;
|
||||||
break;
|
break;
|
||||||
|
case 8:
|
||||||
|
WindowWidth=768;
|
||||||
|
WindowHeight=672;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
WindowWidth=768;
|
||||||
|
WindowHeight=672;
|
||||||
|
SurfaceX=512;
|
||||||
|
SurfaceY=448;
|
||||||
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
WindowWidth=800;
|
WindowWidth=800;
|
||||||
WindowHeight=600;
|
WindowHeight=600;
|
||||||
@@ -1567,36 +1569,38 @@ void initwinvideo(void)
|
|||||||
case 13:
|
case 13:
|
||||||
WindowWidth=800;
|
WindowWidth=800;
|
||||||
WindowHeight=600;
|
WindowHeight=600;
|
||||||
SurfaceX=512;
|
SurfaceX=640;
|
||||||
SurfaceY=448;
|
SurfaceY=480;
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
WindowWidth=1024;
|
WindowWidth=800;
|
||||||
WindowHeight=768;
|
WindowHeight=600;
|
||||||
|
SurfaceX=512;
|
||||||
|
SurfaceY=448;
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
WindowWidth=1024;
|
WindowWidth=1024;
|
||||||
WindowHeight=768;
|
WindowHeight=768;
|
||||||
SurfaceX=512;
|
|
||||||
SurfaceY=448;
|
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
WindowWidth=1024;
|
WindowWidth=1024;
|
||||||
WindowHeight=768;
|
WindowHeight=768;
|
||||||
|
SurfaceX=512;
|
||||||
|
SurfaceY=448;
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
WindowWidth=1024;
|
WindowWidth=1024;
|
||||||
WindowHeight=768;
|
WindowHeight=768;
|
||||||
SurfaceX=512;
|
|
||||||
SurfaceY=448;
|
|
||||||
break;
|
break;
|
||||||
case 18:
|
case 18:
|
||||||
WindowWidth=768;
|
WindowWidth=1024;
|
||||||
WindowHeight=672;
|
WindowHeight=768;
|
||||||
|
SurfaceX=640;
|
||||||
|
SurfaceY=480;
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 19:
|
||||||
WindowWidth=768;
|
WindowWidth=1024;
|
||||||
WindowHeight=672;
|
WindowHeight=768;
|
||||||
SurfaceX=512;
|
SurfaceX=512;
|
||||||
SurfaceY=448;
|
SurfaceY=448;
|
||||||
break;
|
break;
|
||||||
@@ -1622,18 +1626,6 @@ void initwinvideo(void)
|
|||||||
SurfaceX=512;
|
SurfaceX=512;
|
||||||
SurfaceY=448;
|
SurfaceY=448;
|
||||||
break;
|
break;
|
||||||
case 24:
|
|
||||||
WindowWidth=800;
|
|
||||||
WindowHeight=600;
|
|
||||||
SurfaceX=640;
|
|
||||||
SurfaceY=480;
|
|
||||||
break;
|
|
||||||
case 25:
|
|
||||||
WindowWidth=1024;
|
|
||||||
WindowHeight=768;
|
|
||||||
SurfaceX=640;
|
|
||||||
SurfaceY=480;
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
WindowWidth=256;
|
WindowWidth=256;
|
||||||
WindowHeight=224;
|
WindowHeight=224;
|
||||||
|
|||||||
Reference in New Issue
Block a user