From 818539feaeb1270b7d547cabe0fac4aadeef4bab Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Sun, 29 Jul 2001 23:53:50 +0000 Subject: [PATCH] Moved grayscale toggle code from C to ASM; enabled grayscale toggle in dos port --- zsnes/src/dos/dosintrf.asm | 8 ++++++++ zsnes/src/gui/guimouse.inc | 2 -- zsnes/src/gui/guiwindp.inc | 6 ------ zsnes/src/linux/sdlintrf.asm | 7 +++++++ zsnes/src/linux/sdllink.c | 4 ---- zsnes/src/win/winintrf.asm | 9 +++++++-- zsnes/src/win/winlink.cpp | 4 ---- 7 files changed, 22 insertions(+), 18 deletions(-) diff --git a/zsnes/src/dos/dosintrf.asm b/zsnes/src/dos/dosintrf.asm index e2d09787..89cf53e7 100644 --- a/zsnes/src/dos/dosintrf.asm +++ b/zsnes/src/dos/dosintrf.asm @@ -54,6 +54,7 @@ EXTSYM DOSJoyRead EXTSYM pl1contrl,pl2contrl,pl3contrl,pl4contrl,pl5contrl EXTSYM BufferSizeW,BufferSizeB,ProcessSoundBuffer EXTSYM TCPIPPortNum +EXTSYM V8Mode,GrayscaleMode ; EXTSYM InitTCP ; EXTSYM StartServer ; EXTSYM InitTCP @@ -753,6 +754,13 @@ NEWSYM InitPreGame ; Executes before starting/continuing a game jc near interror mov [oldhand8s],cx mov [oldhand8o],edx + + mov al,[GrayscaleMode] + cmp al,[V8Mode] + je .nochangemode + xor byte[V8Mode],1 +.nochangemode + .nofs cmp byte[NoSoundReinit],1 je .nosound diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index bca3c37e..3fb22382 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2183,9 +2183,7 @@ DisplayGUIVideoClick: je .nocheckboxttb GUIClickCButton5 11,163,byte[Triplebufen],1 .nocheckboxttb -%ifndef __MSDOS__ GUIClickCButton 11,183,byte[GrayscaleMode] -%endif %ifndef __LINUX__ GUIClickCButton2 115,183,byte[vsyncon],byte[cfgvsync],1 %endif diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 8b7ddd6f..cc5114bf 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -1705,9 +1705,7 @@ DisplayGUIVideo: je .notext8 GUIOuttextwin2 5,26,178,GUIVideoText8b .notext8 -%ifndef __MSDOS__ GUIOuttextwin2 5,26,188,GUIVideoText8c -%endif GUIOuttextwin2 5,130,188,GUIVideoText9 add byte[GUItextcolor],15 @@ -1800,9 +1798,7 @@ DisplayGUIVideo: je .notext8b GUIOuttextwin2 5,25,177,GUIVideoText8b .notext8b -%ifndef __MSDOS__ GUIOuttextwin2 5,25,187,GUIVideoText8c -%endif GUIOuttextwin2 5,129,187,GUIVideoText9 DrawGUIButton 5,128,60,164,71,GUIVideoText8,4,0,0 mov al,[GUIWincol] @@ -1921,14 +1917,12 @@ DisplayGUIVideo: .nocheckbox1m72 GUIDisplayIconWin 5,11,173,[GUITemp] .nocheckboxm72 -%ifndef __MSDOS__ mov dword[GUITemp],GUIIconDataCheckBoxUC cmp byte[GrayscaleMode],0 je .nocheckboxm73 mov dword[GUITemp],GUIIconDataCheckBoxC .nocheckboxm73 GUIDisplayIconWin 5,11,183,[GUITemp] -%endif %ifndef __LINUX__ mov dword[GUITemp],GUIIconDataCheckBoxUC cmp byte[vsyncon],0 diff --git a/zsnes/src/linux/sdlintrf.asm b/zsnes/src/linux/sdlintrf.asm index 4b0317a2..cced9e9e 100644 --- a/zsnes/src/linux/sdlintrf.asm +++ b/zsnes/src/linux/sdlintrf.asm @@ -132,6 +132,7 @@ EXTSYM UDPDisableMode,UDPEnableMode,UDPClearVars,UDPWait1Sec EXTSYM WinErrorA2,WinErrorB2,WinErrorC2 EXTSYM ZsnesPage EXTSYM GetLocalTime +EXTSYM V8Mode,GrayscaleMode NEWSYM WinIntRFAsmStart @@ -808,6 +809,12 @@ NEWSYM InitPreGame ; Executes before starting/continuing a game call initwinvideo popad + mov al,[GrayscaleMode] + cmp al,[V8Mode] + je .nochangemode + xor byte[V8Mode],1 +.nochangemode + mov byte[RaisePitch],1 pushad call AdjustFrequency diff --git a/zsnes/src/linux/sdllink.c b/zsnes/src/linux/sdllink.c index d178db1d..16faf04d 100644 --- a/zsnes/src/linux/sdllink.c +++ b/zsnes/src/linux/sdllink.c @@ -675,16 +675,12 @@ void Stop36HZ(void) DWORD FirstVid = 1; DWORD FirstFull = 1; extern BYTE GUIWFVID[]; -extern BYTE GrayscaleMode; -extern BYTE V8Mode; void clearwin(); void initwinvideo(void) { DWORD newmode = 0; - V8Mode = (GrayscaleMode == 1); - if (CurMode != cvidmode) { CurMode = cvidmode; diff --git a/zsnes/src/win/winintrf.asm b/zsnes/src/win/winintrf.asm index 1439d3fa..f76f6739 100644 --- a/zsnes/src/win/winintrf.asm +++ b/zsnes/src/win/winintrf.asm @@ -144,6 +144,7 @@ EXTSYM Disconnect EXTSYM UDPDisableMode,UDPEnableMode,UDPClearVars,UDPWait1Sec EXTSYM WinErrorA2,WinErrorB2,WinErrorC2 EXTSYM ZsnesPage +EXTSYM V8Mode,GrayscaleMode EXTSYM _imp__GetLocalTime@4 @@ -985,8 +986,6 @@ NEWSYM Output_Text ; Output character (ah=02h) or string (ah=09h) ret -NEWSYM TempBlah, dd 0 - NEWSYM InitPreGame ; Executes before starting/continuing a game mov byte[pressed+1],2 pushad @@ -997,6 +996,12 @@ NEWSYM InitPreGame ; Executes before starting/continuing a game call initwinvideo popad + mov al,[GrayscaleMode] + cmp al,[V8Mode] + je .nochangemode + xor byte[V8Mode],1 +.nochangemode + mov byte[RaisePitch],1 pushad call AdjustFrequency diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index 1993adfb..2207e09c 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -1476,8 +1476,6 @@ void Stop36HZ(void) char WinMessage[256]; extern unsigned char cvidmode; -extern BYTE GrayscaleMode; -extern BYTE V8Mode; DWORD FirstVid=1; DWORD FirstFull=1; extern BYTE GUIWFVID[]; @@ -1492,8 +1490,6 @@ void initwinvideo(void) RECT rc1, swrect; DWORD newmode=0; - V8Mode = (GrayscaleMode == 1); - if (CurMode!=cvidmode) { CurMode=cvidmode;