From d16bd910aa21ddcebd51d6301d2d52af40b0bd41 Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Tue, 14 Aug 2001 03:17:13 +0000 Subject: [PATCH] Readded 1280x960 modes --- zsnes/src/cfgload.asm | 11 +++++--- zsnes/src/win/winintrf.asm | 53 +++++++++++++++++++++----------------- zsnes/src/win/winlink.cpp | 34 +++++++++++++++++++++--- 3 files changed, 66 insertions(+), 32 deletions(-) diff --git a/zsnes/src/cfgload.asm b/zsnes/src/cfgload.asm index 4df66e30..7116a101 100644 --- a/zsnes/src/cfgload.asm +++ b/zsnes/src/cfgload.asm @@ -576,7 +576,7 @@ db '',13,10 db 'Execute = %T',13,10 db '',13,10 %ifdef __WIN32__ -db '; Video Mode, 0 - 27',13,10 +db '; Video Mode, 0 - 32',13,10 db '; 0 = 256x224 R WIN 1 = 256x224 R FULL',13,10 db '; 2 = 512x448 R WIN 3 = 512x448 DR WIN',13,10 db '; 4 = 640x480 S WIN 5 = 640x480 DS WIN',13,10 @@ -588,9 +588,12 @@ db '; 14 = 800x600 DR FULL 15 = 800x600 DS FULL',13,10 db '; 16 = 1024x768 S WIN 17 = 1024x768 DS WIN',13,10 db '; 18 = 1024x768 S FULL 19 = 1024x768 DR FULL',13,10 db '; 20 = 1024x768 DS FULL 21 = 1024x896 R WIN',13,10 -db '; 22 = 1024x896 DR WIN 23 = 1280x1024 S WIN',13,10 -db '; 24 = 1280x1024 DS WIN 25 = 1280x1024 S FULL',13,10 -db '; 26 = 1280x1024 DR FULL 27 = 1280x1024 DS FULL',13,10 +db '; 22 = 1024x896 DR WIN 23 = 1280x960 S WIN',13,10 +db '; 24 = 1280x960 DS WIN 25 = 1280x960 S FULL',13,10 +db '; 26 = 1280x960 DR FULL 27 = 1280x960 DS FULL',13,10 +db '; 28 = 1280x1024 S WIN 29 = 1280x1024 DS WIN',13,10 +db '; 30 = 1280x1024 S FULL 31 = 1280x1024 DR FULL',13,10 +db '; 32 = 1280x1024 DS FULL',13,10 db '',13,10 db 'VideoModeWin = %U',13,10 db '',13,10 diff --git a/zsnes/src/win/winintrf.asm b/zsnes/src/win/winintrf.asm index 0004fbe8..fdefb30a 100644 --- a/zsnes/src/win/winintrf.asm +++ b/zsnes/src/win/winintrf.asm @@ -1215,7 +1215,7 @@ NEWSYM ClearScreen SECTION .data ; Total Number of Video Modes -NEWSYM NumVideoModes, dd 28 +NEWSYM NumVideoModes, dd 33 ; GUI Video Mode Names - Make sure that all names are of the same length ; and end with a NULL terminator @@ -1243,32 +1243,37 @@ db '1024x768 DR FULL',0 ;19 db '1024x768 DS FULL',0 ;20 db '1024x896 R WIN ',0 ;21 db '1024x896 DR WIN ',0 ;22 -db '1280x1024 S WIN ',0 ;23 -db '1280x1024 DS WIN ',0 ;24 -db '1280x1024 S FULL',0 ;25 -db '1280x1024 DR FULL',0 ;26 -db '1280x1024 DS FULL',0 ;27 +db '1280x960 S WIN ',0 ;23 +db '1280x960 DS WIN ',0 ;24 +db '1280x960 S FULL',0 ;25 +db '1280x960 DR FULL',0 ;26 +db '1280x960 DS FULL',0 ;27 +db '1280x1024 S WIN ',0 ;28 +db '1280x1024 DS WIN ',0 ;29 +db '1280x1024 S FULL',0 ;30 +db '1280x1024 DR FULL',0 ;31 +db '1280x1024 DS FULL',0 ;32 ; Video Mode Feature Availability (1 = Available, 0 = Not Available) ; 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,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,1,1 ; New Graphics Mode Available -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,0,0 ; Scanlines -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,0,0 ; Interpolation -NEWSYM GUII2VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 ; Interpolation(w) -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,0,0 ; Eagle -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,0,0 ; (Interp | 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,0,0 ; Full Screen -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,0,0 ; Small 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,0,0 ; Triple Buffering -NEWSYM GUIHSVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 ; Half/Quarter Scanlines -NEWSYM GUI2xVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 ; 2xSaI/Super Eagle Engines -NEWSYM GUIM7VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 ; ?Mode 7 video thing? -NEWSYM GUIWFVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1 ; If Windows Full Screen -NEWSYM GUIDSIZE, db 0,0,0,1,0,1,1,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 -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,0,0,0,0 -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,0,0 -NEWSYM GUITBWVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1 ; Triple Buffering (Win) +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,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,1,1,1,1,1,1,1 ; New Graphics Mode Available +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,0,0,0,0,0,0,0 ; Scanlines +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,0,0,0,0,0,0,0 ; Interpolation +NEWSYM GUII2VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1 ; Interpolation(w) +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,0,0,0,0,0,0,0 ; Eagle +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,0,0,0,0,0,0,0 ; (Interp | 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,0,0,0,0,0,0,0 ; Full Screen +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,0,0,0,0,0,0,0 ; Small 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,0,0,0,0,0,0,0 ; Triple Buffering +NEWSYM GUIHSVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1 ; Half/Quarter Scanlines +NEWSYM GUI2xVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1 ; 2xSaI/Super Eagle Engines +NEWSYM GUIM7VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1 ; ?Mode 7 video thing? +NEWSYM GUIWFVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1 ; If Windows Full Screen +NEWSYM GUIDSIZE, db 0,0,0,1,0,1,1,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1 +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,0,0,0,0,0,0,0,0,0 +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,0,0,0,0,0,0,0 +NEWSYM GUITBWVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1 ; Triple Buffering (Win) SECTION .text ; **************************** diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index 00923191..d5596297 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -1622,25 +1622,51 @@ void initwinvideo(void) break; case 23: WindowWidth=1280; - WindowHeight=1024; + WindowHeight=960; break; case 24: WindowWidth=1280; - WindowHeight=1024; + WindowHeight=960; SurfaceX=512; SurfaceY=448; break; case 25: WindowWidth=1280; - WindowHeight=1024; + WindowHeight=960; break; case 26: + WindowWidth=1280; + WindowHeight=960; + SurfaceX=640; + SurfaceY=480; + break; + case 27: + WindowWidth=1280; + WindowHeight=960; + SurfaceX=512; + SurfaceY=448; + break; + case 28: + WindowWidth=1280; + WindowHeight=1024; + break; + case 29: + WindowWidth=1280; + WindowHeight=1024; + SurfaceX=512; + SurfaceY=448; + break; + case 30: + WindowWidth=1280; + WindowHeight=1024; + break; + case 31: WindowWidth=1280; WindowHeight=1024; SurfaceX=640; SurfaceY=480; break; - case 27: + case 32: WindowWidth=1280; WindowHeight=1024; SurfaceX=512;