From 580a6d6689ec3594f6bd35e8d42c7de94ff80aa7 Mon Sep 17 00:00:00 2001 From: ipher <> Date: Thu, 2 Mar 2006 02:07:12 +0000 Subject: [PATCH] NTSC Filter GUI option in the Video window --- zsnes/src/cfg.psr | 1 + zsnes/src/dos/dosintrf.asm | 1 + zsnes/src/gui/gui.asm | 1 + zsnes/src/gui/guikeys.inc | 8 ++++++++ zsnes/src/gui/guimouse.inc | 6 ++++++ zsnes/src/gui/guiwindp.inc | 24 ++++++++++-------------- zsnes/src/linux/sdlintrf.asm | 1 + zsnes/src/win/winintrf.asm | 2 +- 8 files changed, 29 insertions(+), 15 deletions(-) diff --git a/zsnes/src/cfg.psr b/zsnes/src/cfg.psr index fe648b0a..fac98bc7 100644 --- a/zsnes/src/cfg.psr +++ b/zsnes/src/cfg.psr @@ -354,3 +354,4 @@ NEWSYM MovieVideoMode, db 4 NEWSYM MovieAudio, db 1 NEWSYM MovieVideoAudio, db 0 NEWSYM MovieAudioCompress, db 0 +NEWSYM NTSCFilter, db 0 \ No newline at end of file diff --git a/zsnes/src/dos/dosintrf.asm b/zsnes/src/dos/dosintrf.asm index 82ed5dbf..b1e5f460 100644 --- a/zsnes/src/dos/dosintrf.asm +++ b/zsnes/src/dos/dosintrf.asm @@ -971,6 +971,7 @@ NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffer NEWSYM GUIHQ2X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; HQ2X Filter NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; HQ3X Filter NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; HQ4X Filter +NEWSYM GUINTSC, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; NTSC Filter SECTION .text ; **************************** diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index f2c98eb7..9c976c96 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -144,6 +144,7 @@ EXTSYM GUIEnableTransp,FilteredGUI,MouseWheel,TrapMouseCursor,AlwaysOnTop EXTSYM pl1p209,pl1p209b,SaveMainWindowPos,FastFwdToggle,SidewinderFix,RaisePitch EXTSYM KeyDisplayBatt,PauseFocusChange,KeyIncreaseGamma,KeyDecreaseGamma EXTSYM MovieVideoMode, MovieAudio, MovieVideoAudio, MovieAudioCompress +EXTSYM NTSCFilter, GUINTSC %ifdef __UNIXSDL__ EXTSYM numlockptr diff --git a/zsnes/src/gui/guikeys.inc b/zsnes/src/gui/guikeys.inc index 61c86911..b9d2fbd1 100644 --- a/zsnes/src/gui/guikeys.inc +++ b/zsnes/src/gui/guikeys.inc @@ -1133,6 +1133,14 @@ GUIVideoKeys: je .nohiresmode7 xor byte[Mode7HiRes16b],1 .nohiresmode7 + cmp dh,'N' + jne .nontscfilters + xor ebx,ebx + mov bl,[cvidmode] + cmp byte[GUINTSC+ebx],0 + je .nohiresmode7 + xor byte[NTSCFilter],1 +.nontscfilters cmp dh,'B' jne .nobilinearfilter xor ebx,ebx diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 5913d7ac..9f52f404 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2418,6 +2418,12 @@ DisplayGUIVideoClick: je .nocheckboxtm7 GUIClickCButton5 11,173,byte[Mode7HiRes16b],1 .nocheckboxtm7 + xor ebx,ebx + mov bl,[cvidmode] + cmp byte[GUIM7VID+ebx],0 + je .nontscfilter + GUIClickCButton5 11,173,byte[Mode7HiRes16b],1 +.nontscfilter xor ebx,ebx mov bl,[cvidmode] cmp byte[GUIHSVID+ebx],0 diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index fc6a60ae..2101f232 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -1573,9 +1573,16 @@ DisplayGUIVideo: xor eax,eax mov al,[cvidmode] cmp byte[GUIBIFIL+eax],0 - je near .nocheckboxbf + je near .nocheckboxe GUIDisplayCheckboxu 5,11,163,BilinearFilter,GUIVideoTextbf,0 +.nocheckboxe + xor eax,eax + mov al,[cvidmode] + cmp byte[GUINTSC+eax],0 + je near .nocheckboxbf + GUIDisplayCheckboxu 5,115,173,NTSCFilter,GUIVideoTexte,0 + .nocheckboxbf xor eax,eax mov al,[cvidmode] @@ -1682,12 +1689,6 @@ GUIVideoTextC3 db '25%',0 GUIVideoTextE db 'MODE : ',0 -;GUIVideoText1 db 'VIDEO MODES :',0 -;GUIVideoText2 db 'FULL SCANLINES',0 -;GUIVideoTextb db 'SCANLINES:',0 -;GUIVideoTexta db 'FULL',0 -;GUIVideoTexta2 db '50%',0 -;GUIVideoTexta3 db '25%',0 GUIVideoTextc db '2XSAI ENGINE',0 GUIVideoTextd db 'SUPER EAGLE',0 GUIVideoTextd2 db 'SUPER 2XSAI',0 @@ -1706,12 +1707,7 @@ GUIVideoText8b db 'HI-RES MODE 7',0 ; -c GUIVideoText8c db 'GRAYSCALE MODE',0 ; -c GUIVideoText8 db 'SET',0 ; set button GUIVideoText9 db 'VSYNC',0 ; -c -;GUIVideoTextH db 'MODE : ',0 -;GUIVideoTextw0 db 'LEGEND:',0 -;GUIVideoTextw1 db 'S = STRETCH R = KEEP RATIO',0 -;GUIVideoTextw2 db ' D = ALLOW SPECIAL FILTERS',0 -;GUIVideoTextw3 db ' W = WIN F = FULL',0 -;GUIVideoTextw4 db ' O = USES OPENGL',0 +GUIVideoTexte db 'NTSC',0 SECTION .bss @@ -3201,7 +3197,7 @@ DisplayGUIMovies: ; Movie Record/Playback options GUIDisplayButtonHoleTu 15,9,128,byte[MovieVideoMode],0,GUIMovieTextD1,1 GUIDisplayButtonHoleTu 15,9,138,byte[MovieVideoMode],1,GUIMovieTextD2,2 GUIDisplayButtonHoleTu 15,9,148,byte[MovieVideoMode],2,GUIMovieTextD3,0 - GUIDisplayButtonHoleTu 15,9,158,byte[MovieVideoMode],3,GUIMovieTextD4,7 + GUIDisplayButtonHoleTu 15,9,158,byte[MovieVideoMode],3,GUIMovieTextD4,9 GUIDisplayButtonHoleTu 15,9,168,byte[MovieVideoMode],4,GUIMovieTextD5,0 GUIDisplayButtonHoleTu 15,9,178,byte[MovieVideoMode],5,GUIMovieTextD6,0 diff --git a/zsnes/src/linux/sdlintrf.asm b/zsnes/src/linux/sdlintrf.asm index e8db4b07..f13adf33 100644 --- a/zsnes/src/linux/sdlintrf.asm +++ b/zsnes/src/linux/sdlintrf.asm @@ -828,6 +828,7 @@ NEWSYM GUIHQ2X, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1 ; hq2x filt NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq4x filter NEWSYM GUIRESIZE, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ; resizable +NEWSYM GUINTSC, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; NTSC Filter SECTION .text diff --git a/zsnes/src/win/winintrf.asm b/zsnes/src/win/winintrf.asm index b9ccc4a6..8792f920 100644 --- a/zsnes/src/win/winintrf.asm +++ b/zsnes/src/win/winintrf.asm @@ -1019,7 +1019,7 @@ NEWSYM GUIDSMODE, db 0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,1,0,1 NEWSYM GUIHQ2X, db 0,0,0,1,0,1,1,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 ; hq2x filter NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; hq4x filter - +NEWSYM GUINTSC, 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,1,1,1,1,1 ; NTSC Filter SECTION .text