From 6a1d38b6b18ccbbaba6299987211f559d225966f Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Tue, 12 Jun 2001 19:45:38 +0000 Subject: [PATCH] Readded large sound buffer option --- zsnes/src/gui/gui.asm | 8 +++++--- zsnes/src/gui/guikeys.inc | 14 ++++++++++---- zsnes/src/gui/guimouse.inc | 5 ++++- zsnes/src/gui/guiwindp.inc | 21 +++++++++++++++++---- zsnes/src/win/winlink.cpp | 7 ++++++- 5 files changed, 42 insertions(+), 13 deletions(-) diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 7abba47b..0791c4fa 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -547,7 +547,7 @@ NEWSYM KeySlowDown, dd 0 NEWSYM UseCubicSpline, db 1 -NEWSYM ExclusiveSound, db 0 +NEWSYM LargeSoundBuf, db 0 NEWSYM HighPriority, db 0 NEWSYM AlwaysOnTop, db 0 NEWSYM SaveMainWindowPos, db 1 @@ -583,6 +583,8 @@ NEWSYM FilteredGUI, db 0 NEWSYM BilinearFilter, db 0 NEWSYM TripleBufferWin, db 0 +NEWSYM ExclusiveSound, db 0 + GUIsave equ $-GUIRAdd NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff @@ -600,9 +602,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 ,20 ,36 ,20 ,30 ,20 ,20 ,50 ,60 ,30 ,65 ,50 ,22 ,60 +GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,26 ,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,240 ,7*16,9*16,8*16,9*16,140 ,250 ,160 -GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,168 ,191 ,40 ,189 ,192 ,98 ,42 ,40 ,42 ,70 ,190 ,60 +GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,178 ,191 ,40 ,189 ,192 ,98 ,42 ,40 ,42 ,70 ,190 ,60 GUIwinptr db 0 GUItextcolor db 0,0,0,0,0 diff --git a/zsnes/src/gui/guikeys.inc b/zsnes/src/gui/guikeys.inc index a5f2dcfe..31f3c186 100644 --- a/zsnes/src/gui/guikeys.inc +++ b/zsnes/src/gui/guikeys.inc @@ -993,10 +993,10 @@ GUISoundKeys: xor byte[RevStereo],1 .notrevst %ifdef __WIN32__ - cmp dh,'X' - jne .noexclusivesound - xor byte[ExclusiveSound],1 -.noexclusivesound + cmp dh,'A' + jne .nolargebuffer + xor byte[LargeSoundBuf],1 +.nolargebuffer %endif %ifdef __MSDOS__ cmp dh,'U' @@ -1020,6 +1020,12 @@ GUISoundKeys: jne .nocubic xor byte[UseCubicSpline],1 .nocubic +%ifdef __WIN32__ + cmp dh,'X' + jne .noexclusivesound + xor byte[ExclusiveSound],1 +.noexclusivesound +%endif ret .sampratenext db 1,4,5,6,2,3,0,0,0,0 diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 5133f7cd..fda312ba 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2243,12 +2243,15 @@ DisplayGUISoundClick: %endif ;.win32sound %ifdef __WIN32__ - GUIClickCButton 11,121,byte[ExclusiveSound] + GUIClickCButton 11,121,byte[LargeSoundBuf] %endif GUIClickCButton 11,131,byte[InterSound] GUIClickCButton 11,141,byte[LowPassFilter] GUIClickCButton 11,151,byte[SoundBufEn] GUIClickCButton 11,161,byte[UseCubicSpline] +%ifdef __WIN32__ + GUIClickCButton 11,171,byte[ExclusiveSound] +%endif cmp eax,15 jl near .nosrate cmp edx,61 diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 092f4d40..75a19821 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -2140,6 +2140,9 @@ DisplayGUISound: GUIOuttextwin2u 6,26,146,GUISoundTextK,0 GUIOuttextwin2u 6,26,156,GUISoundTextL,6 GUIOuttextwin2u 6,26,166,GUISoundTextM,0 +%ifdef __WIN32__ + GUIOuttextwin2u 6,26,176,GUISoundTextN,1 +%endif add byte[GUItextcolor],15 GUIOuttextwin2 6,25,25,GUISoundText1 GUIOuttextwin2 6,25,34,GUISoundText3 @@ -2164,6 +2167,9 @@ DisplayGUISound: GUIOuttextwin2 6,25,145,GUISoundTextK GUIOuttextwin2 6,25,155,GUISoundTextL GUIOuttextwin2 6,25,165,GUISoundTextM +%ifdef __WIN32__ + GUIOuttextwin2 6,25,175,GUISoundTextN +%endif mov al,[GUIWincol] mov byte[GUItextcolor],al GUIOuttextwin2 6,6,16,GUISoundText6 @@ -2225,7 +2231,7 @@ DisplayGUISound: .nocheckbox42 %ifdef __WIN32__ mov dword[GUITemp],GUIIconDataCheckBoxUC - cmp byte[ExclusiveSound],0 + cmp byte[LargeSoundBuf],0 je .nocheckbox43 mov dword[GUITemp],GUIIconDataCheckBoxC .nocheckbox43 @@ -2255,6 +2261,14 @@ DisplayGUISound: mov dword[GUITemp],GUIIconDataCheckBoxC .nocheckbox8 GUIDisplayIconWin 6,11,161,[GUITemp] +%ifdef __WIN32__ + mov dword[GUITemp],GUIIconDataCheckBoxUC + cmp byte[ExclusiveSound],0 + je .nocheckbox9 + mov dword[GUITemp],GUIIconDataCheckBoxC +.nocheckbox9 + GUIDisplayIconWin 6,11,171,[GUITemp] +%endif DrawGUIWinBox 6,15,61,69,69,167 mov dword[GUITemp],GUISoundText7 xor eax,eax @@ -2269,7 +2283,6 @@ DisplayGUISound: mov byte[GUItextcolor],222 .zero4 GUIOuttextwin2 6,22,63,[GUITemp] - mov eax,dword[GUIwinposx+6*4] mov ebx,dword[GUIwinposy+6*4] mov ecx,eax @@ -2284,7 +2297,6 @@ DisplayGUISound: inc eax sub dl,13 DrawGUILine - xor eax,eax mov al,[MusicRelVol] mov dword[GUITemp],11 @@ -2342,11 +2354,12 @@ GUISoundTextCb db '48000HZ',0 GUISoundTextD db '---%',0 GUISoundTextH db 'REVERSE STEREO',0 GUISoundTextI db 'SURROUND SOUND',0 -GUISoundTextIb db 'EXCLUSIVE MODE',0 +GUISoundTextIb db 'LARGE SOUND BUFFER',0 GUISoundTextJ db 'SOUND INTERPOLATION',0 GUISoundTextK db 'LOW PASS FILTER',0 GUISoundTextL db 'SOUND BUFFERING',0 GUISoundTextM db 'CUBIC SPLINE INTERP',0 +GUISoundTextN db 'EXCLUSIVE MODE',0 DisplayGUICheatConv: mov eax,[ccheatnpos] diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index d24cb193..b30454ec 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -37,7 +37,6 @@ DWORD WindowWidth = 256; DWORD WindowHeight = 224; DWORD FullScreen=0; -DWORD PrevFull=0; DWORD Moving=0; DWORD SoundBufferSize=1024*18; DWORD FirstSound=1; @@ -223,6 +222,7 @@ void initwinvideo(); void DosExit(); extern BYTE StereoSound; extern DWORD SoundQuality; +extern BYTE LargeSoundBuf; extern BYTE ExclusiveSound; extern BYTE HighPriority; extern BYTE AlwaysOnTop; @@ -661,6 +661,11 @@ ReInitSound() SoundBufferSize=1024*2; } + if (LargeSoundBuf == 1) + { + SoundBufferSize*=2; + } + if (StereoSound==1) { wfx.nChannels = 2;