Update of /cvsroot/vba/VisualBoyAdvance/src/win32 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv26844/src/win32 Modified Files: DirectSound.cpp MainWnd.cpp MainWnd.h MainWndOptions.cpp VBA.cpp VBA.h resource.h vba.rc Log Message: Added option to enable/disable hardware acceleration for DirectSound buffers. This fixes buggy hardware drivers. Index: VBA.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/VBA.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** VBA.cpp 5 Aug 2006 17:28:04 -0000 1.22 --- VBA.cpp 6 Aug 2006 12:40:35 -0000 1.23 *************** *** 267,270 **** --- 267,271 ---- soundRecording = false; soundRecorder = NULL; + dsoundDisableHardwareAcceleration = true; sound = NULL; aviRecording = false; Index: DirectSound.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/DirectSound.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DirectSound.cpp 4 Jun 2006 17:13:56 -0000 1.4 --- DirectSound.cpp 6 Aug 2006 12:40:35 -0000 1.5 *************** *** 18,21 **** --- 18,22 ---- // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + // MFC #include "stdafx.h" *************** *** 30,37 **** #include "../Sound.h" ! // DirectSound includes ! #include <mmsystem.h> ! #include <mmreg.h> ! #include <dsound.h> --- 31,38 ---- #include "../Sound.h" ! // DirectSound8 ! #include <Dsound.h> ! #pragma comment( lib, "Dsound" ) ! #pragma comment( lib, "Dxguid" ) *************** *** 141,144 **** --- 142,148 ---- dsbdesc.dwSize = sizeof(DSBUFFERDESC); dsbdesc.dwFlags = DSBCAPS_PRIMARYBUFFER; + if( theApp.dsoundDisableHardwareAcceleration ) { + dsbdesc.dwFlags |= DSBCAPS_LOCSOFTWARE; + } if( FAILED( hr = pDirectSound->CreateSoundBuffer( &dsbdesc, &dsbPrimary, NULL ) ) ) { *************** *** 182,185 **** --- 186,192 ---- dsbdesc.dwSize = sizeof(DSBUFFERDESC); dsbdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLPOSITIONNOTIFY; + if( theApp.dsoundDisableHardwareAcceleration ) { + dsbdesc.dwFlags |= DSBCAPS_LOCSOFTWARE; + } dsbdesc.dwBufferBytes = soundBufferTotalLen; dsbdesc.lpwfxFormat = &wfx; Index: VBA.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/VBA.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** VBA.h 31 Jul 2006 15:51:01 -0000 1.11 --- VBA.h 6 Aug 2006 12:40:35 -0000 1.12 *************** *** 167,170 **** --- 167,171 ---- WavWriter *soundRecorder; CString soundRecordName; + bool dsoundDisableHardwareAcceleration; ISound *sound; bool aviRecording; Index: MainWnd.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWnd.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** MainWnd.cpp 4 Aug 2006 11:24:24 -0000 1.26 --- MainWnd.cpp 6 Aug 2006 12:40:35 -0000 1.27 *************** *** 420,423 **** --- 420,425 ---- ON_MESSAGE(VBA_CONFIRM_MODE, OnConfirmMode) ON_MESSAGE(WM_SYSCOMMAND, OnMySysCommand) + ON_COMMAND(ID_OPTIONS_SOUND_HARDWAREACCELERATION, &MainWnd::OnOptionsSoundHardwareacceleration) + ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_HARDWAREACCELERATION, &MainWnd::OnUpdateOptionsSoundHardwareacceleration) END_MESSAGE_MAP() *************** *** 1280,1281 **** --- 1282,1284 ---- return Default(); } + Index: MainWnd.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWnd.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** MainWnd.h 1 Aug 2006 19:21:16 -0000 1.11 --- MainWnd.h 6 Aug 2006 12:40:35 -0000 1.12 *************** *** 419,422 **** --- 419,426 ---- afx_msg BOOL OnFileLoadSlot(UINT nID); afx_msg BOOL OnFileSaveSlot(UINT nID); + public: + afx_msg void OnOptionsSoundHardwareacceleration(); + public: + afx_msg void OnUpdateOptionsSoundHardwareacceleration(CCmdUI *pCmdUI); }; Index: vba.rc =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/vba.rc,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** vba.rc 4 Aug 2006 11:24:24 -0000 1.62 --- vba.rc 6 Aug 2006 12:40:35 -0000 1.63 *************** *** 1400,1409 **** POPUP "&File" BEGIN ! MENUITEM "&Open...", ID_FILE_OPEN MENUITEM "Open Gameboy...", ID_FILE_OPENGAMEBOY MENUITEM SEPARATOR ! MENUITEM "&Load...", ID_FILE_LOAD ! MENUITEM "&Save...", ID_FILE_SAVE ! POPUP "Loa&d Game" BEGIN MENUITEM "Most recent", ID_FILE_LOADGAME_MOSTRECENT --- 1400,1409 ---- POPUP "&File" BEGIN ! MENUITEM "Open...", ID_FILE_OPEN MENUITEM "Open Gameboy...", ID_FILE_OPENGAMEBOY MENUITEM SEPARATOR ! MENUITEM "Load...", ID_FILE_LOAD ! MENUITEM "Save...", ID_FILE_SAVE ! POPUP "Load Game" BEGIN MENUITEM "Most recent", ID_FILE_LOADGAME_MOSTRECENT *************** *** 1421,1425 **** MENUITEM "Slot #10", ID_FILE_LOADGAME_SLOT10 END ! POPUP "S&ave Game" BEGIN MENUITEM "Oldest slot", ID_FILE_SAVEGAME_OLDESTSLOT --- 1421,1425 ---- MENUITEM "Slot #10", ID_FILE_LOADGAME_SLOT10 END ! POPUP "Save Game" BEGIN MENUITEM "Oldest slot", ID_FILE_SAVEGAME_OLDESTSLOT *************** *** 1437,1444 **** END MENUITEM SEPARATOR ! MENUITEM "&Pause", ID_FILE_PAUSE ! MENUITEM "&Reset", ID_FILE_RESET MENUITEM SEPARATOR ! POPUP "Re¢" BEGIN MENUITEM "&Reset", ID_FILE_RECENT_RESET --- 1437,1444 ---- END MENUITEM SEPARATOR ! MENUITEM "Pause", ID_FILE_PAUSE ! MENUITEM "Reset", ID_FILE_RESET MENUITEM SEPARATOR ! POPUP "Recent" BEGIN MENUITEM "&Reset", ID_FILE_RECENT_RESET *************** *** 1447,1451 **** END MENUITEM SEPARATOR ! POPUP "&Import" BEGIN MENUITEM "&Battery file...", ID_FILE_IMPORT_BATTERYFILE --- 1447,1451 ---- END MENUITEM SEPARATOR ! POPUP "Import" BEGIN MENUITEM "&Battery file...", ID_FILE_IMPORT_BATTERYFILE *************** *** 1453,1457 **** MENUITEM "&Gameshark Snapshot...", ID_FILE_IMPORT_GAMESHARKSNAPSHOT END ! POPUP "E&xport" BEGIN MENUITEM "&Battery file...", ID_FILE_EXPORT_BATTERYFILE --- 1453,1457 ---- MENUITEM "&Gameshark Snapshot...", ID_FILE_IMPORT_GAMESHARKSNAPSHOT END ! POPUP "Export" BEGIN MENUITEM "&Battery file...", ID_FILE_EXPORT_BATTERYFILE *************** *** 1459,1469 **** END MENUITEM SEPARATOR ! MENUITEM "S&creen capture...", ID_FILE_SCREENCAPTURE ! MENUITEM "Ro&m information...", ID_FILE_ROMINFORMATION ! MENUITEM "&Toggle menu", ID_FILE_TOGGLEMENU MENUITEM SEPARATOR ! MENUITEM "&Close", ID_FILE_CLOSE MENUITEM SEPARATOR ! MENUITEM "&Exit", ID_FILE_EXIT END POPUP "&Options" --- 1459,1469 ---- END MENUITEM SEPARATOR ! MENUITEM "Screen capture...", ID_FILE_SCREENCAPTURE ! MENUITEM "Rom information...", ID_FILE_ROMINFORMATION ! MENUITEM "Toggle menu", ID_FILE_TOGGLEMENU MENUITEM SEPARATOR ! MENUITEM "Close", ID_FILE_CLOSE MENUITEM SEPARATOR ! MENUITEM "Exit", ID_FILE_EXIT END POPUP "&Options" *************** *** 1620,1623 **** --- 1620,1624 ---- MENUITEM "&4x", ID_OPTIONS_SOUND_VOLUME_4X END + MENUITEM "Hardware Acceleration", ID_OPTIONS_SOUND_HARDWAREACCELERATION END POPUP "&Gameboy" Index: resource.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/resource.h,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** resource.h 4 Aug 2006 11:24:24 -0000 1.49 --- resource.h 6 Aug 2006 12:40:35 -0000 1.50 *************** *** 750,753 **** --- 750,754 ---- #define ID_HELP_GNUPUBLICLICENSE 40277 #define ID_OPTIONS_EMULATOR_GENERICFLASHCARD 40279 + #define ID_OPTIONS_SOUND_HARDWAREACCELERATION 40281 // Next default values for new objects *************** *** 756,760 **** #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 158 ! #define _APS_NEXT_COMMAND_VALUE 40278 #define _APS_NEXT_CONTROL_VALUE 1256 #define _APS_NEXT_SYMED_VALUE 108 --- 757,761 ---- #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 158 ! #define _APS_NEXT_COMMAND_VALUE 40282 #define _APS_NEXT_CONTROL_VALUE 1256 #define _APS_NEXT_SYMED_VALUE 108 Index: MainWndOptions.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWndOptions.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MainWndOptions.cpp 1 Aug 2006 19:21:16 -0000 1.13 --- MainWndOptions.cpp 6 Aug 2006 12:40:35 -0000 1.14 *************** *** 752,756 **** void MainWnd::OnOptionsEmulatorGenericflashcard() { ! if(emulating && theApp.cartridgeType == 1) theApp.winGenericflashcardEnable = !theApp.winGenericflashcardEnable; } --- 752,756 ---- void MainWnd::OnOptionsEmulatorGenericflashcard() { ! if(emulating && theApp.cartridgeType == IMAGE_GB) theApp.winGenericflashcardEnable = !theApp.winGenericflashcardEnable; } *************** *** 758,767 **** void MainWnd::OnUpdateOptionsEmulatorGenericflashcard(CCmdUI* pCmdUI) { ! if(emulating && theApp.cartridgeType == 1) pCmdUI->SetCheck(theApp.winGenericflashcardEnable); else pCmdUI->SetCheck(false); ! pCmdUI->Enable(emulating && theApp.cartridgeType == 1); } --- 758,767 ---- void MainWnd::OnUpdateOptionsEmulatorGenericflashcard(CCmdUI* pCmdUI) { ! if(emulating && theApp.cartridgeType == IMAGE_GB) pCmdUI->SetCheck(theApp.winGenericflashcardEnable); else pCmdUI->SetCheck(false); ! pCmdUI->Enable(emulating && theApp.cartridgeType == IMAGE_GB); } *************** *** 1775,1778 **** void MainWnd::OnUpdateOptionsEmulatorGameoverrides(CCmdUI* pCmdUI) { ! pCmdUI->Enable(emulating && theApp.cartridgeType == 0); } --- 1775,1790 ---- void MainWnd::OnUpdateOptionsEmulatorGameoverrides(CCmdUI* pCmdUI) { ! pCmdUI->Enable(emulating && (theApp.cartridgeType == 0)); ! } ! ! void MainWnd::OnOptionsSoundHardwareacceleration() ! { ! theApp.dsoundDisableHardwareAcceleration = !theApp.dsoundDisableHardwareAcceleration; ! systemSoundShutdown(); ! systemSoundInit(); ! } ! ! void MainWnd::OnUpdateOptionsSoundHardwareacceleration(CCmdUI *pCmdUI) ! { ! pCmdUI->SetCheck(!theApp.dsoundDisableHardwareAcceleration); } |