Commit Graph

7440 Commits

Author SHA1 Message Date
Anthony 7528d9a4e3 Change locking APIs to nops
to prevent interference DirectSoundBuffer streaming.
2022-03-07 20:33:12 +13:00
Anthony 60dbf241e8 Stream audio from Xbox DirectSoundBuffers
to handle cases where titles write to sound buffers after they are created.
Note titles do not have to lock the buffer or otherwise call any API to write to sound buffers.

Every few ms, for each sound buffer currently playing, write a chunk of sound data ahead of the current audio play cursor.

Fixes audio issues in titles including:
- NBA Live 2005 (no audio)
- Crash Tag Team Racing (audio looping incorrectly)
- Madagascar (audio looping incorrectly)
2022-03-07 20:33:11 +13:00
Anthony 852adf0d21 optimize DirectSound Buffer's StopEx function 2022-03-06 21:00:02 +13:00
Luke Usher 1e300d63ec
Merge pull request #2310 from Margen67/actions
CI: Upgrade to VS2022
2022-03-04 09:02:15 +00:00
Margen67 5b0cf41507 Update README 2022-03-04 00:26:57 -08:00
Margen67 0c8dd778d0 CI: Upgrade to VS2022
Remove windows-2016 since it's going to be removed soon;
 actions/virtual-environments#4312
Use ${GITHUB_SHA::7} for tag to prevent commit weirdness.
2022-03-03 21:48:08 -08:00
RadWolfie 25b9a2efcc
Merge pull request #2325 from LukeUsher/log-failed-patches
hle: detect when patches fail to apply
2022-03-01 17:00:42 -06:00
Luke Usher 3a59c62753
Update src/core/hle/Patches.cpp
Co-authored-by: RadWolfie <RadWolfie@users.noreply.github.com>
2022-03-01 22:41:18 +00:00
Luke Usher 884a9080b5 hle: detect when patches fail to apply 2022-03-01 20:40:56 +00:00
ergo720 f857593f77
Merge pull request #2315 from ergo720/thread_ob_handle
Updated Ps kernel functions to use Ob handles + unpatch thread XAPI functions + added APC support to kernel via Ob
2022-02-22 23:20:29 +01:00
ergo720 d3b2554b20 Use a separate array for the native handles in NtWaitForMultipleObjectsEx 2022-02-20 16:07:42 +01:00
ergo720 f174872702 Unpatch timeSetEvent and timeKillEvent + fixes a crash in chihiro games + missing audio effects in virtua cop 3 + fixes a bug in SignalObjectAndWait 2022-02-20 12:22:36 +01:00
ergo720 c6ea72dcf4 Use a condition variable to notify interrupts, fixes stuttering in the dashboard 2022-02-18 20:17:22 +01:00
ergo720 bc98e164b2 Removed CxbxKrnlTerminateThread and some unnecessary calls to TerminateProcess 2022-02-18 15:30:18 +01:00
ergo720 6867907a3c Fixed a bug in NtWaitForMultipleObjectsEx that caused the dashboard to deadlock + more review remarks 2022-02-18 12:42:56 +01:00
ergo720 7589f0a94c Avoid using std::async in WaitApc 2022-02-17 02:33:44 +01:00
RadWolfie a769e896c6 hidden bug while debugging on xbox kernel thread's issue 2022-02-16 18:20:04 +01:00
RadWolfie 44ed2ee3aa update Timer_Shutdown to reduce wait time for shutdown if threads are all xbox 2022-02-16 18:20:04 +01:00
ergo720 06f34134ff Review remarks + use PsCreateSystemThread to start all xbox threads 2022-02-16 18:20:04 +01:00
RadWolfie 6320dd5539 fix shutdown process crashed on shutdown and reboots 2022-02-16 18:20:03 +01:00
RadWolfie 8c7247abf5 reimplement suspend xbox threads so we can shutdown emulation properly 2022-02-16 18:20:02 +01:00
RadWolfie 0b90a48434 register duplicated xbox handle require duplicated handle from host 2022-02-16 18:20:01 +01:00
ergo720 e85af190d5 Properly set the ref count of ethread, fixes Amped 2022-02-16 18:20:01 +01:00
ergo720 733670c7f8 Fixed an issue with xbox handle registration 2022-02-16 18:20:01 +01:00
ergo720 79ac0c3019 Updated thread timings in ethread + null id upon thread termination 2022-02-16 18:20:00 +01:00
ergo720 ec6b16c68a Added support to Ps notification routines 2022-02-16 18:20:00 +01:00
ergo720 e9cc351bba Unpatch XSetProcessQuantumLength + moved unused xapi patched to standalone file + added code to handle xbox user APCs in SignalObjectAndWait 2022-02-16 18:19:59 +01:00
RadWolfie e208c73586 fix thread calls issue from GetNativeHandle to keep special handle return 2022-02-16 18:19:59 +01:00
RadWolfie 7e5f9a7cb7 unpatch GetExitCodeThread 2022-02-16 18:19:58 +01:00
RadWolfie b39801df11 unpatch SetThreadPriority, GetThreadPriority, SetThreadPriorityBoost 2022-02-16 18:19:58 +01:00
ergo720 a791b7609c Updated KeDelayExecutionThread, KeSetBasePriorityThread and XAPI thread functions to accept ob handles + more bug fixes 2022-02-16 18:19:58 +01:00
ergo720 b664488274 Bug fixes 2022-02-16 18:19:57 +01:00
ergo720 114be1b7c9 Added APCs support to kernel 2022-02-16 18:19:57 +01:00
ergo720 607a48e3ea Update Nt functions that accept thread handles (except for NtQueueApcThread) 2022-02-16 18:19:56 +01:00
ergo720 9082891903 Make Ps functions use Ob to create thread handles 2022-02-16 18:19:56 +01:00
Luke Usher 484a2c3f47
Merge pull request #2321 from PatrickvL/cleanup_system_selection
Cleanup system selection, so it's no longer abusing xbeType
2022-02-16 14:10:55 +00:00
PatrickvL c883034372 Cleanup system selection, so it's no longer abusing xbeType
Rename g_bIsDebug into g_bIsDevKit for consistency with system selection
Cleaned up related comments
2022-02-16 14:56:45 +01:00
Luke Usher 41d45dd88d
Merge pull request #2320 from ergo720/fix_port_func_arg
Fix incorrect type in port io kernel functions
2022-02-06 10:57:12 +00:00
Luke Usher 86022747f0
Merge pull request #2319 from RadWolfie/init-exception-manager-early
Move Crash Manager's Init at Beginning of Emulation & Fix Hidden Crash
2022-02-06 10:56:44 +00:00
ergo720 1125c1c45d Fix incorrect type in port io kernel functions 2022-02-06 11:33:58 +01:00
RadWolfie 7d116628c2 make complete set of FS instructions for offset 0x00 and 0x04 to retreive and set 2022-02-05 17:33:09 -06:00
RadWolfie f41cc02c6c disable overwrite host's stack data 2022-02-04 13:15:07 -06:00
RadWolfie da72da4d03 initialize exception manager at beginning of emulation process 2022-02-04 12:29:05 -06:00
PatrickvL db1bae2d4e
Merge pull request #2318 from GXTX/port_fixes
Fix kernel type hints for READ_PORT_BUFFER and friends
2022-02-04 08:59:19 +01:00
wutno 59fe8eb6db Fix kernel type hints for READ_PORT_BUFFER and friends 2022-02-04 02:20:27 -05:00
Luke Usher be4fb1deb6
Merge pull request #2312 from RadWolfie/fix-uem-led-status
Fix UEM and LED Status
2022-01-28 16:37:49 +00:00
RadWolfie 1e05973b81
Merge pull request #2301 from Margen67/net
Upgrade CxbxDebugger to .NET Framework 4.8
2022-01-28 10:24:08 -06:00
RadWolfie 79b3b4e803
Merge pull request #2308 from Margen67/labeler
labeler.yml: Consistently use quotation marks
2022-01-23 02:41:19 -06:00
Margen67 02b9d75b38
Update .github/labeler.yml
Co-authored-by: RadWolfie <RadWolfie@users.noreply.github.com>
2022-01-23 00:37:47 -08:00
Margen67 349f28c6cb Upgrade CxbxDebugger to .NET Framework 4.8 2022-01-19 15:59:17 -06:00