Reordered video modes

This commit is contained in:
pagefault
2001-08-09 19:22:11 +00:00
parent abed89cea4
commit 444c3004f4
3 changed files with 85 additions and 92 deletions

View File

@@ -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

View File

@@ -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
; **************************** ; ****************************

View File

@@ -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;