JosJuice
2fe7e109aa
PPCAnalyst: Split "in use" analysis into reads and writes
...
If the last write to a register comes before the last read of it,
we can write the register to ppcState after the last write instead of
after the last read. This will hopefully help spread out m_ppc_state
writes across a code block, improving pipelining. Also, if there's a
conditional branch that's after the last write but before the last read,
instead of needing to emit one m_ppc_state write on each side of the
branch, we now only need to emit one m_ppc_state write.
A note about the changes made to stmw and mfcr: These instructions don't
write to any GPRs or CRs respectively – they only read from them.
With this commit, there are no longer any cases where registers get
written back to m_ppc_state after an instruction that just reads from
them, so we can get rid of all STP logic from these two instructions.
lmw still needs its STP logic, since that one does write to registers.
2026-02-23 17:46:26 +01:00
Admiral H. Curtiss
0d359e23da
Merge pull request #14212 from cscd98/cast-func
...
mingw: use reinterpret_cast for function→void* conversion to satisfy C++ standard
2026-02-21 18:27:50 +01:00
Admiral H. Curtiss
fee2b0ee03
Merge pull request #14209 from cscd98/static-cast-fix
...
mingw: replace static_cast with reinterpret_cast as not permitted between void* and function params
2026-02-21 18:27:22 +01:00
Jordan Woyak
2eeff845bd
Merge pull request #14387 from Dentomologist/cheatsmanager_update_tabs_on_creation
...
CheatsManager: Update code tabs on creation
2026-02-20 19:31:40 -06:00
Jordan Woyak
2b590b12e6
Merge pull request #14402 from sepalani/tri-osd-bind
...
AMMediaboard: Replace bind PanicAlert with OSD message
2026-02-20 19:28:07 -06:00
Jordan Woyak
ddedae327f
Merge pull request #14395 from sepalani/tri-connect
...
AMMediaboard: Add more connect log messages
2026-02-20 19:25:59 -06:00
Jordan Woyak
b5a1a06f6c
Merge pull request #14394 from sepalani/tri-log
...
AMMediaboard: Add more log messages
2026-02-20 19:24:24 -06:00
cristian64
643fcaec03
DolphinQt: Restore log font current index accurately.
...
The logic in the code was deliberately avoiding index `2` (**Selected
Font**; the debug font) by using `std::min(index, 1)`. Presumably, the
reason was that there was no debugger in Qt version of Dolphin at the
time.
Test plan:
- Select a debug font via the **Options > Font...** action.
- Show the **Log** tab via the **View > Log** action.
- In the **Log** tab, choose the **Selected Font** item in the combobox.
- Restart Dolphin.
**Without** the patch, the **Monospaced Font** item is wrongly selected
in the combobox.
**With** the patch, the **Selected Font** item is now properly restored
from the saved settings, and the selected debug font is correctly used
in the log messages.
2026-02-20 22:14:35 +00:00
JMC47
981b7df420
Merge pull request #14335 from TixoRebel/joycon-config
...
Core: Add SDL Hints settings
2026-02-20 02:44:52 -05:00
Andrew Strauss
61c36b0cc8
Add new window to configure SDL hints and store them in the main ini file
...
Signed-off-by: Andrew Strauss <astrauss11@gmail.com>
2026-02-20 02:05:35 -05:00
Dentomologist
3d16e0c5be
Merge pull request #14343 from TryTwo/toggle_breaking
...
BreakpointsWidget: Add option to toggle all breaking
2026-02-19 21:55:38 -08:00
TryTwo
f9c7731f4d
Debugger/ BreakpointsWidget: Add option to disable/enable all breaking without affecting individual breakpoint enabled states.
...
Allows you to quickly stop breaking, play the game, then re-enable breaking. useful if you have many active breakpoints, but need to run the game.
2026-02-19 16:23:42 -07:00
Sepalani
989586433a
AMMediaboard: Replace bind PanicAlert with OSD message
2026-02-20 02:43:51 +04:00
Dentomologist
02db73c8dc
Merge pull request #14344 from TryTwo/cheatsearch_work2
...
Cheat Search: Add ability to delete items and fix duplicate commands
2026-02-19 14:36:54 -08:00
Sepalani
81b414c9c9
AMMediaboard: Add more connect log messages
2026-02-19 13:30:17 +04:00
Sepalani
b92cef5001
AMMediaboard: Add more log messages
2026-02-18 19:00:06 +04:00
Jordan Woyak
9674b1fa8f
MagneticCardReader: Automatically insert a blank card when Command_A0_Clean is received.
2026-02-16 18:59:57 -06:00
Craig Carnell
bd728d1c20
mingw: replace static_cast with reinterpret_cast as not permitted between void* and function params
2026-02-16 13:28:11 +00:00
Jordan Woyak
bc0c3d9f6a
HW/GCPad: Make Android default to shaking the device for Triforce coin input.
2026-02-16 00:46:50 -06:00
JosJuice
051133787e
Android: Add Triforce Baseboard
...
This lets users select Triforce Baseboard for SI and SP1. Limitations:
* The test, service and coin buttons can be bound to gamepads and other
physical inputs, but aren't available in the touch input overlay.
* The IP redirections are exposed to the user as a raw string rather than
a table like in DolphinQt.
2026-02-15 23:13:18 -06:00
Jordan Woyak
c28ec7a6d3
Triforce: Rename IPOverrides to IPRedirections.
2026-02-15 23:13:18 -06:00
Jordan Woyak
cbd43914a5
Network: Improve IPv4PortRange::ToString to support CIDR notation and only last octet difference.
2026-02-15 23:13:18 -06:00
Jordan Woyak
0ff8fb71a3
Triforce: Minor cleanups.
2026-02-15 20:14:15 -06:00
Jordan Woyak
282e14cce6
AMMediaboard: Move things from global namespace to AMMediaboard namespace.
2026-02-15 20:14:15 -06:00
Jordan Woyak
f00b1c590e
DolphinQt: Add Triforce tab to main settings window.
2026-02-15 20:14:15 -06:00
Jordan Woyak
0fc8f463f2
DolphinQt/Debugger/NetworkWidget: Minor cleanups.
2026-02-15 20:14:15 -06:00
Sepalani
2d9b3c4118
Debugger/NetworkWidget: Add Triforce support
2026-02-15 20:14:15 -06:00
Jordan Woyak
f657b32521
HW: Rewrite MagCard features of SI_DeviceAMBaseboard in new MagneticCardReader class.
...
A huge thank you goes to GXTX and https://github.com/GXTX/YACardEmu which this code is based on.
2026-02-15 20:14:15 -06:00
Jordan Woyak
d893565b78
AMMediaboard: IP override improvements and other cleanups.
...
Overrides now also apply in reverse for accepted connections.
IP Override UI now includes a description.
Mario Kart Arcade GP 4x Multicabinet now works on one PC without any tricky IP configurations.
Added AMMBCommandBind, NetDIMMBind, and some helper functions.
Removed redundant settings.
2026-02-15 20:14:15 -06:00
Jordan Woyak
cf8573421c
AMMediaboard: Clean up the defined memory ranges.
2026-02-15 20:14:15 -06:00
Jordan Woyak
93565eb8fa
AMMediaboard: Save the IP from AMMBCommandModifyMyIPaddr for later use.
2026-02-15 20:14:15 -06:00
Joshua Vandaële
dc4645d255
SI_DeviceAMBaseboard: Shadowed variable "command"
2026-02-15 20:14:15 -06:00
Jordan Woyak
b2bbbb64bd
SI_DeviceAMBaseboard: Fix signed/unsigned comparison.
2026-02-15 20:14:15 -06:00
Joshua Vandaële
7b0ee77840
SI_DeviceAMBaseboard: Comparing an unsigned int and an int
2026-02-15 20:14:15 -06:00
Joshua Vandaële
2c2bfc1fe1
Enums: Unhandled switch statement
2026-02-15 20:14:15 -06:00
Jordan Woyak
535c81c8df
Triforce: Automatically set SuggestedAspectRatio as ForceStandard to work around widescreen heuristic issues.
2026-02-15 20:14:15 -06:00
Jordan Woyak
e14a58c1d8
AMMediaboard: Make AMMBCommandSocket determine socket protocol from domain and type rather than forcing TCP.
2026-02-15 20:14:15 -06:00
Jordan Woyak
32e4d88aa9
AMMediaboard: Improve connect() and bind() logging.
2026-02-15 20:14:15 -06:00
Jordan Woyak
a4fd5f8343
Triforce: Lazily load the game into memory using CachedBlobReader.
2026-02-15 20:14:15 -06:00
Jordan Woyak
3681cade41
DiscIO: Add IsCached virtual function to BlobReader.
2026-02-15 20:14:15 -06:00
Jordan Woyak
aaa7094442
Triforce: Implement save states.
2026-02-15 20:14:15 -06:00
Jordan Woyak
63dc3b1972
AMMediaboard: Adjust the verbosity of many LOG entries.
2026-02-15 20:14:15 -06:00
Jordan Woyak
bd3739ce08
AMMediaboard: Flatten the NetDIMMConnect function.
2026-02-15 20:14:15 -06:00
Jordan Woyak
0d7aef298e
AMMediaboard: Increase size of NetworkBufferAddress3 area to fix Mario Kart Arcade GP multicab.
2026-02-15 20:14:15 -06:00
Jordan Woyak
af5e90a160
AMMediaboard: Introduce GuestSocketAddress to fix bad sin_family values.
...
I think the "family" field is only one byte.
2026-02-15 20:14:15 -06:00
Jordan Woyak
f8f74b58fd
AMMediaboard: Clean up AMMBCommandModifyMyIPaddr.
2026-02-15 20:14:15 -06:00
Jordan Woyak
0075313dc9
AMMediaboard: Don't swap32 the IPv4 result in AMMBCommand::InetAddr.
2026-02-15 20:14:15 -06:00
Jordan Woyak
a876529a02
AMMediaboard: Minor adjustments to logging.
2026-02-15 20:14:15 -06:00
Jordan Woyak
7ab2672698
DolphinQt: Add user interface for Triforce IP address overrides.
2026-02-15 20:14:15 -06:00
Jordan Woyak
3e2b7fee46
AMMediaboard: Allow IP address overrides to be configured.
2026-02-15 20:14:15 -06:00