summaryrefslogtreecommitdiff
path: root/Source
AgeCommit message (Collapse)Author
2026-02-15AMMediaboard: Don't swap32 the IPv4 result in AMMBCommand::InetAddr.Jordan Woyak
2026-02-15AMMediaboard: Minor adjustments to logging.Jordan Woyak
2026-02-15DolphinQt: Add user interface for Triforce IP address overrides.Jordan Woyak
2026-02-15AMMediaboard: Allow IP address overrides to be configured.Jordan Woyak
2026-02-15Common/Network: Add structs: IPv4Port, IPv4PortRange and functions: ↵Jordan Woyak
IPAddressToString, ParseIPv4PortRange.
2026-02-15StringUtil: Add SplitStringIntoArray function template.Jordan Woyak
2026-02-15BootManager: Fix "enumeration value not handled in switch" warning.Jordan Woyak
2026-02-15MainWindow: Remove the check preventing Triforce volumes from booting ↵Jordan Woyak
without the Baseboard hardware attached. The hardware is now automatically attached later in the boot process.
2026-02-15BootManager: Automatically attach Triforce Baseboard hardware.Jordan Woyak
2026-02-15AMMediaboard: Make timeout 0ms in NetDIMMAccept to improve performance.Jordan Woyak
2026-02-15AMMediaboard: Replace select() with PlatformPoll in NetDIMMConnect.Jordan Woyak
2026-02-15AMMediaboard: Clean up and make a function for AMMBCommandAccept.Jordan Woyak
2026-02-15AMMediaboard: Emulate AMMBCommandSelect using poll/WSAPoll.Jordan Woyak
2026-02-15Common/UnixUtil: Only define CreateEventFD on Linux.Jordan Woyak
2026-02-15AMMediaboard: Deduplicate code into AMMBCommandModifyMyIPaddr.Jordan Woyak
2026-02-15AMMediaboard: Deduplicate code into AMMBCommandRecv.Jordan Woyak
2026-02-15AMMediaboard: Deduplicate code into AMMBCommandSend.Jordan Woyak
2026-02-15AMMediaboard: Deduplicate code into AMMBCommandSocket.Jordan Woyak
2026-02-15AMMediaboard: Deduplicate code into AMMBCommandSetSockOpt.Jordan Woyak
2026-02-15AMMediaboard: Translate between guest and host FDs to fix ↵Jordan Woyak
AMMBCommand::Select behavior.
2026-02-15Common/BitUtils: Make SetBit constexpr.Jordan Woyak
2026-02-15AMMediaboard: Fix value in s_mediaboard_ranges array.Jordan Woyak
2026-02-15AMMediaboard: Use SetPlatformSocketOptions and SEND_FLAGS.Jordan Woyak
2026-02-15Common: Add SetPlatformSocketOptions function and SEND_FLAGS constant to ↵Jordan Woyak
Network.h to deal with OS-specific SIGPIPE behavior.
2026-02-15SI_DeviceAMBaseboard: Fix log issues related to GeneralDriverOutputSepalani
2026-02-15SI_DeviceAMBaseboard: Add missing bounds checksSepalani
VolumeDisc: Fix Triforce's GetGameID memcpy by checking MakerID's size
2026-02-15Triforce: Fix remaining issuesSepalani
2026-02-15AMMediaboard: Fix several warningsSepalani
2026-02-15SI_DeviceAMBaseboard: Improve bounds checkingSepalani
2026-02-15SI_DeviceAMBaseboard: Add validate_jvs_io helperSepalani
2026-02-15SI_DeviceAMBaseboard: Improve logging and validation edge casesSepalani
2026-02-15SI_DeviceAMBaseboard: Add validate_data_in_out helperSepalani
2026-02-15AMBaseboard: Convert union ICCommand into structSepalani
2026-02-15Triforce: Address some logging and error checksSepalani
2026-02-15Triforce: Minor cleanups related to coding style and documentationSepalani
2026-02-15AMMediaboard: Replace magic number 15 with a MAX_IPV4_STRING_LENGTH constant.Jordan Woyak
2026-02-15AMMediaboard: Add NetworkCMDBufferCheck calls for reading of timeout in ↵Jordan Woyak
Select commands.
2026-02-15Triforce: Warning silencing and other minor cleanups.Jordan Woyak
2026-02-15Triforce: Code fixes.crediar
Fixed a bug caused by static usage of Core::System::GetInstance() Removed unused headers Removed unneeded code Optimised code Added sanity checks Added SafeCopyFromEmu/SafeCopyToEmu Set Triforce buttons to be translatable
2026-02-15Triforce: Optimized codecrediar
Removed unneeded code Removed unused code Added EINPROGRESS to fix networking on Linux systems Added function NetworkBufferCheck and NetworkCMDBufferCheck to verify buffer sizes Added NetworkCMDBufferRead/NetworkCMDBufferWrite/NetworkBufferRead/NetworkBufferWrite Added multiply buffer size checks Rewrote GetGameType() Moved AMMediaboard::Shutdown to DVDInterface::Shutdown() Changed JVSIOMessage overrun check Changed SwapBuffers function to be a member function Added sanity checks for buffer sizes Added translation prefix for Triforce buttons Updated text for misconfigurations when trying to boot normal games with Triforce hardware connected Fixed NAMCAM for Mario Kart GP
2026-02-15Triforce: Code cleanups.Jordan Woyak
2026-02-15DiscIO: Make Volume::DecodeString take a std::span so it can work with ↵Jordan Woyak
std::array.
2026-02-15Added Triforce supportcrediar
2026-02-15Add classic controller support code for RUUE01 - Animal Crossing: City Folk ↵spaceage64
(NTSC-U) Added control scheme to codes. Split .ini files based on Rev 0/1. Added controller mapping instructions. Added other regions and removed redundant lines. Added Grass Deterioration cheats. Changed wording regarding Right Stick variant. Removed credits from RA Verified list. Update ApprovedInis.json from PatchAllowlist test. Updated approved list hash to match AchievementManager. Attempted to fix the approved hash list again. Update approved INI list and PatchAllowlist verification data
2026-02-15Jit: Emit Branch Watch code only if it's enabledMartino Fontana
JIT code related to Branch Watch was emitted if the debugging UI was active: the emitted code would dynamically check whether Branch Watch is active. However, this causes two problems: 1. It decreases performance by just having the debugging UI enabled 2. It clutters the host assembly in the JIT tab, making it harder to read (unaware readers will wonder what these instructions are for) With this PR, code related to Branch Watch is emitted only if Branch Watch itself is active, fixing the issues above. The JIT cache will now be wiped whenever the feature is toggled, causing a slight stutter. However, this isn't the kind of feature that is toggled over and over, so IMO it is an acceptable trade-off.
2026-02-15Merge pull request #14385 from dreamsyntax/cpu-clock-maxJMC47
Qt/Android: CPU Clock Override max to 500%
2026-02-14CheatsManager: Update code tabs on creationDentomologist
Call `OnStateChanged` when creating CheatsManager to update the AR and Gecko code tabs with codes for the currently running game (if any). Previously, creating CheatsManager while a game was running wouldn't show any codes until the next time the core state changed (excluding Starting or Stopping which had no effect). Fixes https://bugs.dolphin-emu.org/issues/13977.
2026-02-14Merge pull request #12917 from JosJuice/transfer-sysconf-controlDentomologist
Explicitly transfer control of SYSCONF to emulated system
2026-02-14Merge pull request #14329 from JosJuice/android-hotplugJosJuice
Android: Rework input device hotplug
2026-02-14Explicitly transfer control of SYSCONF to emulated systemJosJuice
The functions SaveToSYSCONF and LoadFromSYSCONF contain checks for whether emulation is running. The intent of this is that when we're emulating a Wii, the emulated system may write to SYSCONF whenever it likes and does not expect anything else to write to SYSCONF, so the host code shouldn't access SYSCONF while emulation is ongoing. However, Core::IsRunning is an imperfect proxy for whether we've handed over control of SYSCONF to the emulated system yet, as the actual handover happens at a slightly different point in time than when the emulation state is changed. This usually isn't a problem, but in theory it could be a determinism problem if a setting is changed right as emulation is starting, or it could cause the emulated software to briefly misbehave if a setting is changed right as emulation is stopping. Things got worse in 72cf2bdb87f09deff22e1085de3290126aa4ad05 when I replaced the Core::IsRunning calls with !Core::IsUninitialized. With IsRunning, there was be a period of time where SYSCONF should have been protected but wasn't. With !IsUninitialized, there was a period of time where SYSCONF shouldn't have been protected but was, and crucially, this period of time included the moments where we do setup and teardown of the emulated NAND, which broke transferring SYSCONF settings between the host and the guest. 72cf2bdb87f09deff22e1085de3290126aa4ad05 was reverted because of this. This commit adds a flag that we explicitly flip when control is handed over to or from the emulated system. This protects the SYSCONF file for exactly as long as is needed.