Commit graph

14630 commits

Author SHA1 Message Date
iwubcode
d7de49ccf6 Core / VideoCommon: Remove original custom asset loader 2025-06-06 19:20:25 -05:00
JMC47
5ec5db9240
Merge pull request #13392 from jordan-woyak/frame-pacing-accurate-time
CoreTiming: Add setting to pursue accurate overall emulation runtime
2025-06-06 19:17:44 -04:00
Admiral H. Curtiss
ea959f2651
DSP/Jit: Don't return to dispatcher if no exception was generated 2025-06-05 20:57:27 +02:00
Admiral H. Curtiss
a43fc68452
DSPAnalyzer: Set store instructions as potentially generating exceptions 2025-06-05 19:10:42 +02:00
JMC47
8def02072b
Merge pull request #13379 from JoshuaVandaele/system-ng
Use minizip-ng in non-compatibility mode
2025-06-04 15:21:05 -04:00
Sketch
35d70fd531 IOS/KD: Set Checksum when flushing NWC24Config 2025-05-23 18:01:06 -04:00
Joshua Vandaële
2ed5f16600
minizip-ng: Stop using compatibility mode 2025-05-22 12:51:55 +02:00
JMC47
a62449711f
Merge pull request #12769 from sepalani/wii-speak
IOS/USB: Emulate Wii Speak using cubeb
2025-05-21 13:54:56 -04:00
JMC47
1dc4dc6b6d
Merge pull request #13675 from LillyJadeKatrin/retroachievements-close-deadlock
AchievementManager - LoadGameCallback
2025-05-20 11:54:31 -04:00
Jordan Woyak
faaf13eaad
Merge pull request #13562 from sanjay900/santroller-support
LibusbDevice: Send wakeup command to Santroller devices
2025-05-20 01:13:39 -05:00
LillyJadeKatrin
dac023af15 Resolve clang-tidy violation 2025-05-18 05:16:17 -04:00
LillyJadeKatrin
b6803d00fe Revert "RetroAchievements: Fix potential deadlock on shutdown."
This reverts commit 826f04d06c.
2025-05-17 08:29:50 -04:00
LillyJadeKatrin
137e50dc25 AchievementManager: Remove CloseGame from LoadGameCallback
This was causing deadlocks when a game didn't load (including if RetroAchievements does not yet support it) because it was attempting to close the queue the the callback was currently running on, forcing LoadGameCallback to wait for LoadGameCallback to finish. However, it appears that recent changes to the queue have independently resolved the reason CloseGame was being called here in the first place.
2025-05-17 08:29:34 -04:00
Jordan Woyak
c211efd84a
Merge pull request #13603 from tygyh/FifoPlayer-Make-functions-static
FifoPlayer: Make functions static
2025-05-14 23:01:34 -05:00
Jordan Woyak
826f04d06c RetroAchievements: Fix potential deadlock on shutdown. 2025-05-14 01:10:53 -05:00
JMC47
57dce8bd7c
Merge pull request #13650 from JosJuice/stswx-uncached
PowerPC: Correctly handle stswi/stswx to uncached memory
2025-05-12 19:19:52 -04:00
JMC47
cf3702cbc8
Merge pull request #13046 from SuperSamus/vi-overclock
Add VBI Frequency Override
2025-05-12 13:36:55 -04:00
Martino Fontana
832570c658 Core: Add VBI Frequency Override
This feature allows overriding the frequency of the Vertical Blank Interrupt. For many games, this means that their gameplay speed will change without affecting audio, which would be useful by itself (e.g. grinding in RPGs).

However, there are games that use delta time for their game logic, which allows them to be played at >60 FPS at the same gameplay speed!

Some games aren't dynamic though, and require a patch to adjust their game speed variable.
2025-05-12 18:54:36 +02:00
JMC47
f19a33340a
Merge pull request #13631 from LillyJadeKatrin/retroachievements-mem2
AchievementManager: MEM2 Support
2025-05-10 14:56:14 -04:00
JosJuice
2b376a92ae PowerPC: Correctly handle stswi/stswx to uncached memory
On real hardware, stswi and stswx don't trigger any of the special
behavior for uncached unaligned writes that was implemented in 543ed8a.
This is confirmed by a hwtest (a new commit in
https://github.com/dolphin-emu/hwtests/pull/42).

This change fixes Dolphin's stswi and stswx implementations so they stop
triggering the special behavior, bringing them back to the behavior they
had before 543ed8a. No games are known to be affected, but Extrems has
reported that it affects homebrew they've made.
2025-05-10 19:47:15 +02:00
JMC47
0351fd56b1
Merge pull request #10766 from xperia64/dsp_format_fun
DSP accelerator improvements
2025-05-09 19:04:23 -04:00
JMC47
b18bca11e8
Merge pull request #13440 from jordan-woyak/si-dev-change-tweak
HW/SI: Don't require waiting a second before disconnecting an SIDevice.
2025-05-09 18:55:18 -04:00
Admiral H. Curtiss
37f97cabb4
Merge pull request #13639 from Tilka/move
AchievementManager: fix -Wpessimizing-move warning
2025-05-08 21:40:06 +02:00
Admiral H. Curtiss
083ffd5fdb
Merge pull request #13643 from parona-source/no-retroachievments-buildfix
Remove filename option from stubbed AchievementManager::LoadGame
2025-05-08 21:37:11 +02:00
JMC47
721175b0d2
Merge pull request #13642 from sepalani/hid-log
IOS/USB: Change HIDv4.cpp LogLevel to avoid INTRMSG killing performance
2025-05-08 15:19:51 -04:00
Alfred Wingate
85bbaf6563
Remove filename option from stubbed AchievementManager::LoadGame
Fixes: c796691d00
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2025-05-08 22:05:42 +03:00
Sepalani
17e57f550c IOS/USB: Change HIDv4.cpp LogLevel to avoid INTRMSG killing performance
This message can be sent a lot when polling inputs from a keyboard. HIDv5.cpp doesn't log INTRMSG in such a way. If needed, log messages can be added into specific devices instead.
2025-05-08 22:14:01 +04:00
Tillmann Karras
a8fb4153d7 AchievementManager: fix -Wpessimizing-move warning 2025-05-08 00:15:17 +01:00
Jordan Woyak
01bb9d1f8c
Merge pull request #13584 from tygyh/Core/HW/SI-Make-variables-constant
Core/HW/SI: Make variables constant
2025-05-07 16:06:00 -05:00
Jordan Woyak
a52e8ff9bd
Merge pull request #13585 from tygyh/Core/HW/GCMemcard-Make-variables-constant
Core/HW/GCMemcard: Make variables constant
2025-05-07 16:04:44 -05:00
Jordan Woyak
c4616226ab
Merge pull request #13589 from tygyh/Core/HW/EXI-Remove-redundant-inline-specifiers
Core/HW/EXI: Remove redundant `inline` specifiers
2025-05-07 15:44:53 -05:00
Sepalani
eff334524a HotkeyManager: Add HK_TOGGLE_WII_SPEAK_MUTE 2025-05-07 21:27:50 +04:00
Sepalani
4efbd35a5e IOS/USB: Implement Wii Speak SAMPLER_FREQ register properly
Fix the default sampling rate which should be 16KHz
2025-05-07 20:33:22 +04:00
Sepalani
74a875e9d6 IOS/USB: Implement a bare-bones Wii Speak loudness level
Add a volume modifier to the UI which relies on gain.
2025-05-07 20:33:22 +04:00
Sepalani
1f0ff42aa0 IOS/USB: Implement Wii Speak REQUEST_SET_INTERFACE command
Based on LibusbDevice::SubmitTransfer code
2025-05-07 20:33:22 +04:00
Sepalani
61ab0faab8 Config: Rename MAIN_WII_SPEAK_CONNECTED to MAIN_WII_SPEAK_MUTED 2025-05-07 20:33:22 +04:00
Sepalani
aea5054509 CubebUtils: Add COM helper class 2025-05-07 20:33:22 +04:00
Sepalani
407218a8b4 IOS/USB: Report Wii Speak packet size properly 2025-05-07 20:33:22 +04:00
Sepalani
dbc09bfb0d Android: Add emulated Wii Speak 2025-05-07 20:33:22 +04:00
Sepalani
a85ffc116e IOS/USB: Only sample Wii Speak data when necessary
Skip data when HLE Wii Speak is not connected

Lock microphone buffer less frequently
2025-05-07 20:33:22 +04:00
Sepalani
f5dd80bb5b IOS/USB: Try to fix the Wii Speak Channel record/playback feature
1. Fix Wii Speak SAMPLER_MUTE register:
The register should be 12 (i.e. 0x0c) instead of 0xc0.

2. Fix Wii Speak buffer memcpy size parameter:
It seems to fix random echoes and reduce noises when nobody is speaking.

3. Change the isochronous transfer timing:
It is based on empirical testing.
2025-05-07 20:33:22 +04:00
Sepalani
6a36930c74 IOS/USB: Add more logs to the Wii Speak code 2025-05-07 20:33:22 +04:00
Sepalani
1ac40f25a2 IOS/USB: Emulate Wii Speak using cubeb
Based on @noahpistilli (Sketch) PR:
https://github.com/dolphin-emu/dolphin/pull/12567

Fixed the Windows support and the heisenbug caused by uninitialized
members.

Config system integration finalized.
2025-05-07 20:33:22 +04:00
Sketch
451e36defc IOS/USB: Emulate Wii Speak (OpenAL)
Credits to @degasus and shuffle2 (godisgovernment):
https://github.com/degasus/dolphin/tree/wiispeak
2025-05-07 17:45:59 +04:00
LillyJadeKatrin
85bb066cb0 AchievementManager: update dev memory clone for Wii
The clone of system memory used by AchievementManager during achievement development for the sake of thread decoupling was only copying MEM1; this grabs MEM2 as well if it exists.
2025-05-06 16:59:27 -04:00
LillyJadeKatrin
599f28045e AchievementManager: verify MEM2 if it exists
Adds MEM2 to MemoryVerifier.
2025-05-06 16:59:27 -04:00
Tillmann Karras
6f25e20c6a VideoCommon: reset some CP registers during PI_FIFO_RESET
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-05 21:18:37 +01:00
Jordan Woyak
6e22e145a0 HW/SI: Don't require waiting a second before disconnecting an SIDevice. 2025-05-04 15:00:48 -05:00
Admiral H. Curtiss
d2db9d9590
Merge pull request #13608 from jordan-woyak/async-work-thread
Common: Add AsyncWorkThread.
2025-05-04 18:45:14 +02:00
Admiral H. Curtiss
380a9291ad
Merge pull request #13602 from jordan-woyak/move-only-function
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00