JMC47
a93754cb71
Merge pull request #13245 from JosJuice/mbp-condition-flush
...
Jit: Flush registers used in memory breakpoint conditions
2025-09-28 14:02:29 -04:00
JMC47
72397ccd87
Merge pull request #13909 from Dentomologist/codewidgets_show_code_approval_in_hardcore_mode
...
CodeWidgets: Show code approval in Hardcore mode
2025-09-28 14:01:59 -04:00
JMC47
a7d61dd2a5
Merge pull request #13969 from mspeder/ugreen
...
RealtekFirmwareLoader: Alternate USB PID for Ugreen CM390
2025-09-26 17:18:42 -04:00
JMC47
8f9c335633
Merge pull request #13954 from TryTwo/debug_crash_fix
...
Crash fix: Add debug check to JIT Profiling bool.
2025-09-26 17:15:02 -04:00
JMC47
a175985871
Merge pull request #13951 from TellowKrinkle/InterpreterOpt
...
Cached Interpreter: Speculative devirtualization
2025-09-26 17:14:24 -04:00
JMC47
70d5c85acd
Merge pull request #13897 from TryTwo/Imgui_Font_Size
...
Qt/Imgui: Add SpinBox to adjust imgui font size.
2025-09-26 17:13:40 -04:00
TryTwo
f8a8ddeddf
OSD / Imgui: Add font size spinbox to Interface Pane.
...
Adjust some imgui windows to work better with different font sizes.
2025-09-25 16:34:04 -07:00
Matthieu Speder
9d0b3e0e39
RealtekFirmwareLoader: Alternate USB PID for Ugreen CM390
2025-09-25 12:04:54 +02:00
Jordan Woyak
ed93e9481a
WiimoteReal: Send reports with proper timing for theoretically better speaker data.
2025-09-19 22:11:48 -05:00
TellowKrinkle
0cde7ae79b
Cached Interpreter: Speculative devirtualization
2025-09-18 21:07:09 -05:00
TryTwo
31ba2af9cb
Crash fix: Add check to see if debugging is enabled in Jit's IsProfilingEnabled().
...
Enable JIT Block Profiling = On, with Enable Debugging UI = Off, will crash dolphin when starting a game.
2025-09-18 17:46:02 -07:00
JMC47
5a153c3d41
Merge pull request #13892 from JosJuice/retroachievements-hookableevent
...
AchievementManager: Use HookableEvent instead of std::function callbacks
2025-09-16 14:48:43 -04:00
JMC47
9845aa1541
Merge pull request #13864 from Dentomologist/branchwatch_extract_shared_function_logic
...
BranchWatch: Extract shared function logic
2025-09-16 14:46:03 -04:00
JosJuice
770c74cc95
Merge pull request #13852 from Sintendo/jitarm64-subfcx
...
JitArm64_Integer: subfcx optimizations
2025-09-16 20:16:42 +02:00
JMC47
695e06ca98
Merge pull request #13930 from Dentomologist/retroachievements_avoid_leaderboard_list_crash
...
RetroAchievements: Avoid crash due to uninitialized memory read
2025-09-13 03:36:56 -04:00
Joshua Vandaële
83cbedd609
RealtekFirmwareLoader: Fix shadowed variable warning
2025-09-07 16:54:11 +02:00
Dentomologist
85a89eb420
RetroAchievements: Avoid uninitialized memory access
...
Avoid creating and then destroying a leaderboard list when game is null,
as doing so causes an access to uninitialized memory due to a bug in
rcheevos.
This can be triggered by starting a game with an invalid or expired
login token.
2025-09-05 17:23:39 -07:00
Tilka
033a0540f7
Merge pull request #13899 from SuperSamus/patch-cheats-osd
...
PatchEngine: OSD message showing number of enabled patches and cheats
2025-08-31 00:27:23 +01:00
Martino Fontana
64a20c74fc
PatchEngine: OSD message showing number of enabled patches and cheats
2025-08-30 16:51:51 +02:00
Tillmann Karras
c248f1afa4
IOS/WD: fix wrong BitSet ctor being called
...
We don't want list initialization here.
Thank you, UB-san.
2025-08-30 03:05:35 +01:00
Tillmann Karras
63257d1ee9
CoreTiming: set default overclock factors to 1.0
...
I'm not aware of any issue here but let's set meaningful defaults
anyway.
2025-08-30 03:05:35 +01:00
Tillmann Karras
18f0bd1d4b
VI: set default overclock factor to 1.0
...
GetTicksPerHalfLine() gets called via Preset() before RefreshConfig()
has a chance to replace the dummy value 0.0.
Thank you, UB-san.
2025-08-30 03:03:21 +01:00
JMC47
e0c72cd963
Merge pull request #13825 from jordan-woyak/dont-count-playtime-while-suspended
...
Common/Timer: Add a SteadyAwakeClock class to make play time tracking ignore time while suspended.
2025-08-28 13:58:26 -04:00
Dentomologist
44f6743a5b
CodeWidgets: Show code approval in Hardcore mode
...
When Hardcore mode is enabled, show an icon for each code in
ARCodeWidget and GeckoCodeWidget indicating whether it's an approved
code or not.
2025-08-25 12:31:38 -07:00
JosJuice
de98c3b96f
AchievementManager: Use HookableEvent instead of std::function callbacks
...
The callback mechanism AchievementManager had until now only supported
one caller registering a callback, and it didn't have any
synchronization. This isn't a problem for DolphinQt, but the PR to add
Android support for RetroAchievements exposes these problems. Let's
replace it with HookableEvent, which can handle all of this.
2025-08-24 14:47:13 +02:00
Martino Fontana
8026289775
ActionReplay: Fixup #13764
2025-08-23 12:04:04 +02:00
JMC47
95781c9ac9
Merge pull request #13764 from SuperSamus/patch-invalidate-cache
...
ActionReplay/PatchEngine: Make writes invalidate cache
2025-08-22 19:16:47 -04:00
JosJuice
09e68e707e
Merge pull request #13836 from Sintendo/jitarm64-subfe
...
JitArm64_Integer: Minor subfe optimizations
2025-08-20 22:40:14 +02:00
Tilka
be6a6bce9f
Merge pull request #13873 from Dentomologist/dolphinanalytics_use_pascal_case_for_gamequirk_enum
...
DolphinAnalytics: Use Pascal case for GameQuirk enum
2025-08-19 21:57:34 +01:00
Tilka
2696e053ea
Merge pull request #13887 from Tilka/unused_sign_bit
...
Jit64: drop unused constant
2025-08-19 19:40:49 +01:00
JMC47
37f5ae4209
Merge pull request #13868 from Geotale/master
...
Fix Single-Precision-Only Inputs to FMAs Instructions in Interpreter
2025-08-18 18:25:38 -04:00
Tillmann Karras
84b5a73b2a
Jit64: drop unused constant
...
Unused since c4799e5977
.
2025-08-18 23:09:37 +01:00
Geotale
07443e2d41
Improve Interpreted FMADDS Precision
...
Improves the accuracy of FMADDS and other single precision FMA operations
This is accomplished by using an error-free transformation
It also thoroughly explains the quirks and difficulty of these operations
This fixes Mario Strikers and is necessary for fully fixing 1080 Avalanche
For single precision inputs it should be equivalent to a 32-bit FMA
2025-08-17 21:15:55 -05:00
Tillmann Karras
37758fa290
OpcodeDecoder: provide default GetVertexSize() implementation
2025-08-18 01:41:14 +01:00
OatmealDome
cfb78dc816
FloatUtils: Move MakeQuiet function here from Interpreter_FPUtils
2025-08-17 11:23:12 -04:00
Tilka
ab1f75b4d6
Merge pull request #13853 from LillyJadeKatrin/retroachievements-patch-fix
...
Fixed Patch Allowlist Check
2025-08-17 10:25:30 +01:00
Dentomologist
3cc00c0676
DolphinAnalytics: Use Pascal case for GameQuirk enum
2025-08-14 13:54:23 -07:00
Pokechu22
dfbf39c768
Mention enable MMU in the DSI Exception message (Invalid read from ###/Invalid write to ###)
...
This has been possible for a long time now (see https://dolphin-emu.org/blog/2016/09/06/booting-the-final-gc-game/#side-effects-of-a-hardcode-rewrite ), but it seems like people still aren't aware of it.
2025-08-13 11:55:40 -07:00
Dentomologist
bd79bc47cc
BranchWatch: Extract shared function logic
...
IsolateWasOverwritten and IsolateNotOverwritten share the same basic
logic and have almost exactly the same code, with the only difference
being the comparison function used to keep or discard branches. To avoid
unnecessary code duplication and ensure that the functions stay in sync
after any future changes, create a helper function that takes the
comparison function as a parameter and have IsolateWasOverwritten and
IsolateNotOverwritten call that helper.
2025-08-12 12:15:22 -07:00
Tilka
ba656e641e
Merge pull request #13854 from dreamsyntax/fix-regression-callers-broken
...
PPCSymbolDB: Fix callers not updating
2025-08-10 19:13:29 +01:00
Jordan Woyak
292f7401b3
HW/VideoInterface: Don't affect aspect ratio with VBI Frequency Override
2025-08-10 15:45:15 +02:00
LillyJadeKatrin
39ea49fc39
Fixed Patch Allowlist Check
...
Previous changes to the patch allowlist format were not reflected in AchievementManager; this corrects that and re-enables patches and codes in hardcore mode.
2025-08-10 07:47:19 -04:00
Tillmann Karras
ec8b8bdb8d
IOS/FS: add safety assert
...
This is to prevent someone (me) from accidentally deleting their entire
/tmp directory just by not initializing the config system correctly.
2025-08-10 04:58:57 +01:00
dreamsyntax
d946656b87
PPCSymbolDB: Fix callers not updating
...
Fixes regression from http://github.com/dolphin-emu/dolphin/pull/13821
2025-08-09 09:36:17 -07:00
Sintendo
6a92a90bce
JitArm64_Integer: subfcx - Subtract shifted 12-bit constant
...
Eliminate an instruction by encoding the constant in the subtraction,
part two.
Before:
0x52900019 mov w25, #0x8000 ; =32768
0x6b190359 subs w25, w26, w25
After:
0x71402359 subs w25, w26, #0x8, lsl #12 ; =0x8000
2025-08-07 07:51:15 +02:00
Sintendo
45a3e35b06
JitArm64_Integer: subfcx - Subtract 12-bit constant
...
Eliminate an instruction by encoding the constant in the subtraction.
Before:
0x5280037a mov w26, #0x1b ; =27
0x6b1a02bb subs w27, w21, w26
0x93407f78 sxtw x24, w27
After:
0x71006ebb subs w27, w21, #0x1b
0x93407f7a sxtw x26, w27
2025-08-07 07:51:15 +02:00
Sintendo
fc9f2d9cea
JitArm64_Integer: subfcx - Optimize b == 0
...
Equivalent to a negation, no need to materialize the zero.
Before:
0x52800015 mov w21, #0x0 ; =0
0x6b1802b6 subs w22, w21, w24
After:
0x6b1803f6 negs w22, w24
2025-08-07 07:51:15 +02:00
Sintendo
e3d889feb1
JitArm64_Integer: subfcx - Optimize a == 0
...
This case can be handled as a move. It also generates a constant carry
flag.
Before:
0x52800013 mov w19, #0x0 ; =0
0x6b1302b3 subs w19, w21, w19
After:
0x2a1503f3 mov w19, w21
2025-08-07 07:51:15 +02:00
JMC47
ab990018f2
Merge pull request #13831 from JoshuaVandaele/dualcore-conf
...
Config: Change default value for Dual Core from enabled to disabled
2025-08-05 13:45:15 -04:00
JMC47
c6d55d1b50
Merge pull request #13791 from jordan-woyak/realtek-firmware-loader
...
BTReal: Implement Realtek firmware loading.
2025-08-04 19:42:59 -04:00