diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index cc19fe4f..c6d0cd89 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -442,6 +442,7 @@ NEWSYM FossilUse, db 0 NEWSYM TimerEnable, db 0 NEWSYM Surround, db 0 +NEWSYM LargeSoundBuf, db 0 NEWSYM InterSound, db 1 NEWSYM FastFwdToggle, db 0 NEWSYM En2xSaI, db 0 diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 786ae55a..5d4c880d 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2102,6 +2102,9 @@ DisplayGUISoundClick: GUIClickCButton 11,101,byte[SoundNoiseDis] GUIClickCButtonS 11,111,byte[RevStereo] GUIClickCButton 11,121,byte[Surround] +%ifndef __LINUX__ + GUIClickCButton 11,121,byte[LargeSoundBuf] +%endif GUIClickCButton 11,131,byte[InterSound] GUIClickCButton 11,141,byte[LowPassFilter] GUIClickCButton 11,151,byte[SoundBufEn] diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 01a32ccc..83932509 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -2077,15 +2077,22 @@ DisplayGUISound: mov dword[GUITemp],GUIIconDataCheckBoxC .nocheckbox3 GUIDisplayIconWin 6,11,111,[GUITemp] -; cmp byte[OSPort],3 -; je near .checkbox42 -%ifndef __LINUX__ + cmp byte[OSPort],3 + je near .nocheckbox42 mov dword[GUITemp],GUIIconDataCheckBoxUC cmp byte[Surround],0 je .nocheckbox4 mov dword[GUITemp],GUIIconDataCheckBoxC .nocheckbox4 GUIDisplayIconWin 6,11,121,[GUITemp] +.nocheckbox42 +%ifndef __LINUX__ + mov dword[GUITemp],GUIIconDataCheckBoxUC + cmp byte[LargeSoundBuf],0 + je .nocheckbox43 + mov dword[GUITemp],GUIIconDataCheckBoxC +.nocheckbox43 + GUIDisplayIconWin 6,11,121,[GUITemp] %endif mov dword[GUITemp],GUIIconDataCheckBoxUC cmp byte[InterSound],0 @@ -2199,7 +2206,7 @@ GUISoundTextD db '---%',0 GUISoundTextH db 'REVERSE STEREO',0 GUISoundTextI db 'SURROUND SOUND',0 %ifndef __LINUX__ -GUISoundTextIb db 'BASS ENHANCEMENT',0 +GUISoundTextIb db 'LARGE SOUND BUFFER',0 %endif GUISoundTextJ db 'SOUND INTERPOLATION',0 GUISoundTextK db 'LOW PASS FILTER',0 diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index f44a4487..de8040c5 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -185,6 +185,7 @@ void initwinvideo(); extern BYTE StereoSound; extern DWORD SoundQuality; extern BYTE Surround; +extern BYTE LargeSoundBuf; extern int CurKeyPos; extern int CurKeyReadPos; extern int KeyBuffer[16]; @@ -460,7 +461,6 @@ int RegisterWinClass ( void ) return TRUE; } - void ShutdownApplication() { @@ -521,6 +521,11 @@ InitSound() wfx.nSamplesPerSec = 11025; } + if (LargeSoundBuf == 1) + { + SoundBufferSize*=2; + } + if(StereoSound==1) { wfx.nChannels = 2;