From 36da242ddd5356b02bf4074fb1288af6a64dc272 Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Wed, 16 May 2001 00:32:33 +0000 Subject: [PATCH] Added black and white mode --- zsnes/src/gui/gui.asm | 6 ++++-- zsnes/src/gui/guimouse.inc | 4 +++- zsnes/src/gui/guiwindp.inc | 25 +++++++++++++++++++------ zsnes/src/linux/sdllink.c | 5 +++++ zsnes/src/win/winlink.cpp | 6 ++++++ 5 files changed, 37 insertions(+), 9 deletions(-) diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 9bb5ee95..a858ab38 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -578,6 +578,8 @@ NEWSYM GUIWRAdd, db 8 NEWSYM GUIWGAdd, db 8 NEWSYM GUIWBAdd, db 25 +NEWSYM BlackAndWhite, db 0 + GUIsave equ $-GUIRAdd NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff @@ -595,9 +597,9 @@ ModemOKStat db 0 ; OK is detected on modem status ; LOAD STAT INPT OPT VID SND CHT NET GMKEY GUIOP ABT RSET SRC STCN MOVE CMBO ADDO GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,65 ,5 ,30 ,20 ,10 ,80 ,65 ,20 ,70 ,50 ,3 ,50 -GUIwinposyo dd 0,20 ,70 ,30 ,20 ,22 ,36 ,20 ,30 ,20 ,20 ,50 ,60 ,30 ,65 ,50 ,22 ,60 +GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,36 ,20 ,30 ,20 ,20 ,50 ,60 ,30 ,65 ,50 ,22 ,60 GUIwinsizex dd 0,244 ,126 ,189 ,167 ,170 ,148 ,244 ,8*16,13*16,180 ,7*16,9*16,8*16,9*16,140 ,250 ,160 -GUIwinsizey dd 0,190 ,3*16,166 ,190 ,186 ,168 ,191 ,40 ,189 ,182 ,98 ,42 ,40 ,42 ,70 ,190 ,60 +GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,168 ,191 ,40 ,189 ,182 ,98 ,42 ,40 ,42 ,70 ,190 ,60 GUIwinptr db 0 GUItextcolor db 0,0,0,0,0 diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 203bb0cb..c771f786 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2149,13 +2149,15 @@ DisplayGUIVideoClick: je .nocheckboxttb GUIClickCButton5 11,163,byte[Triplebufen],1 .nocheckboxttb +%ifndef __MSDOS__ + GUIClickCButton5 11,183,byte[BlackAndWhite],1 +%endif xor ebx,ebx mov bl,[cvidmode] cmp byte[GUIM7VID+ebx],0 je .nocheckboxtm7 GUIClickCButton5 11,173,byte[Mode7HiRes16b],1 .nocheckboxtm7 - 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 549dde91..983d3c01 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -1707,7 +1707,9 @@ DisplayGUIVideo: je .notext8 GUIOuttextwin2 5,26,178,GUIVideoText8b .notext8 - +%ifndef __MSDOS__ + GUIOuttextwin2 5,26,188,GUIVideoText8c +%endif add byte[GUItextcolor],15 ; cmp byte[OSPort],3 @@ -1786,6 +1788,9 @@ DisplayGUIVideo: je .notext8b GUIOuttextwin2 5,25,177,GUIVideoText8b .notext8b +%ifndef __MSDOS__ + GUIOuttextwin2 5,25,187,GUIVideoText8c +%endif DrawGUIButton 5,128,60,164,71,GUIVideoText8,4,0,0 mov al,[GUIWincol] mov byte[GUItextcolor],al @@ -1890,7 +1895,14 @@ DisplayGUIVideo: .nocheckbox1m72 GUIDisplayIconWin 5,11,173,[GUITemp] .nocheckboxm72 - +%ifndef __MSDOS__ + mov dword[GUITemp],GUIIconDataCheckBoxUC + cmp byte[BlackAndWhite],0 + je .nocheckboxm73 + mov dword[GUITemp],GUIIconDataCheckBoxC +.nocheckboxm73 + GUIDisplayIconWin 5,11,183,[GUITemp] +%endif xor eax,eax mov al,[cvidmode] cmp byte[GUIIEVID+eax],0 @@ -2022,15 +2034,15 @@ DisplayGUIVideo: mov dword[GUITemp],eax mov al,[GUIWincol] mov byte[GUItextcolor],al - GUIOuttextwin2 5,7,189,GUIVideoTextH - GUIOuttextwin2 5,49,189,[GUITemp] + GUIOuttextwin2 5,7,196,GUIVideoTextH + GUIOuttextwin2 5,49,196,[GUITemp] mov byte[GUItextcolor],163 cmp byte[GUIWincoladd],0 je .zero6 mov byte[GUItextcolor],164 .zero6 - GUIOuttextwin2 5,6,188,GUIVideoTextH - GUIOuttextwin2 5,48,188,[GUITemp] + GUIOuttextwin2 5,6,195,GUIVideoTextH + GUIOuttextwin2 5,48,195,[GUITemp] ret GUIVideoText1 db 'VIDEO MODES :',0 @@ -2046,6 +2058,7 @@ GUIVideoText5 db 'FULL SCREEN',0 ; -c GUIVideoText6 db 'SMALL SCREEN',0 ; -c GUIVideoText7 db 'TRIPLE BUFFERING',0 ; -c GUIVideoText8b db 'HI-RESOLUTION MODE7',0 ; -c +GUIVideoText8c db 'BLACK AND WHITE MODE',0 ; -c GUIVideoText8 db 'SET',0 ; set button GUIVideoTextH db 'MODE : ',0 GUIVideoTextw0 db 'LEGEND:',0 diff --git a/zsnes/src/linux/sdllink.c b/zsnes/src/linux/sdllink.c index 069c60dc..b6563e49 100644 --- a/zsnes/src/linux/sdllink.c +++ b/zsnes/src/linux/sdllink.c @@ -638,6 +638,8 @@ void Stop36HZ(void) } extern unsigned char cvidmode; +extern BYTE BlackAndWhite; +extern BYTE V8Mode; DWORD FirstVid=1; DWORD FirstFull=1; extern BYTE GUIWFVID[]; @@ -651,6 +653,9 @@ void initwinvideo(void) //RECT rc1, swrect; DWORD newmode=0; + if (BlackAndWhite == 1) V8Mode = 1; + else V8Mode = 0; + //STUB_FUNCTION; if(CurMode!=cvidmode) diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index 1a15f7e6..16be5ae1 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -1218,6 +1218,8 @@ void Stop36HZ(void) char WinMessage[256]; extern unsigned char cvidmode; +extern BYTE BlackAndWhite; +extern BYTE V8Mode; DWORD FirstVid=1; DWORD FirstFull=1; extern BYTE GUIWFVID[]; @@ -1231,6 +1233,10 @@ void initwinvideo(void) WINDOWPLACEMENT wndpl; RECT rc1, swrect; DWORD newmode=0; + + if (BlackAndWhite == 1) V8Mode = 1; + else V8Mode = 0; + if(CurMode!=cvidmode) { CurMode=cvidmode;