Commit Graph
1232 Commits
Author SHA1 Message Date
JMC47 9143c4cc95 Merge pull request #14172 from sepalani/usb-iso-ret
IOS/USB: Add helper to set return values of IsoMessage's packets
2026-03-12 16:33:07 -04:00
JosJuice 7b372db559 DiscIO: Only allow alphanumeric ASCII in game IDs
We often use game IDs in paths, so we should try to make sure path
traversal is impossible in game IDs. Admittedly, doing any kind of real
attack using the six bytes available in game IDs is unrealistic, but no
game ID should contain non-alphanumeric or non-ASCII characters anyway.

Might also fix https://bugs.dolphin-emu.org/issues/13982 by skipping
converting between encodings for game IDs.
2026-02-24 21:36:02 +01:00
Jordan Woyak 5d2e93fa3e Common: Add SetPlatformSocketOptions function and SEND_FLAGS constant to Network.h to deal with OS-specific SIGPIPE behavior. 2026-02-15 20:14:15 -06:00
Sepalani 6f3282e073 IOS/USB: Add missing vector header in Emulated/Microphone.h 2026-02-11 18:25:15 +04:00
Martino Fontana a14c88ba67 Remove unused imports
Yellow squiggly lines begone!
Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes.
If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed.
The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports.
Not everything is removed, but the cleanup should be substantial enough.
Because this done on Linux, code that isn't used on it is mostly untouched.
(Hopefully no open PR is depending on these imports...)
2026-01-25 16:12:15 +01:00
iwubcode 373e35ed5b Merge pull request #14267 from jordan-woyak/std-expected
Common: Replace Result with std::expected.
2026-01-17 22:33:15 -06:00
JMC47 035bcffc63 Merge pull request #14289 from Sintendo/typos
Fix various typos and spelling mistakes
2026-01-17 19:10:50 -05:00
Jordan Woyak dffc7a650d Common: Replace Result with C++23's std::expected. 2026-01-17 16:58:45 -06:00
Sintendo 1e0473e44f Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
Joshua Vandaële 55f0715ad4 c++23: Replace Common::ToUnderlying with std::to_underlying
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2026-01-09 23:49:10 +01:00
Sepalani b05a7e2059 IOS/USB: Add helper to set return values of IsoMessage's packets 2026-01-01 15:44:18 +04:00
JMC47 6d9978519a Merge pull request #14205 from cscd98/interface-replace
mingw: replace usages of Interface as clashes with existing struct
2025-12-22 13:40:41 -05:00
JMC47 561428b80d Merge pull request #14184 from jordan-woyak/es-setuid-faster
IOS/ES: Make the Wii menu "Data Management" "Save Data" screen not nearly as hard to emulate at full speed.
2025-12-22 13:38:55 -05:00
JMC47 8a64bc499f Merge pull request #14154 from jordan-woyak/result-parameter-order
Common/Result: Swap order of template parameters to match C++26's std::expected.
2025-12-22 13:34:11 -05:00
Craig Carnell ec6f511c95 mingw: replace usages of Interface as clashes with existing struct 2025-12-11 12:18:02 +00:00
Jordan Woyak afaedb3c13 IOS/ES: Set the ESDevice::SetUID IPCReply delay based on ESCore::FindInstalledTMD.
This makes SetUID take more emulated time giving the host more time to actually do the work.
The Wii menu "Data Management" -> "Save Data" -> "Wii" screen is no longer nearly as hard to emulate at full speed.
2025-11-28 18:04:57 -06:00
Jordan Woyak 54c74429df IOS/ES: Make UpdateUIDAndGID and CheckIsAllowedToSetUID take an existing UIDSys so it only needs to be built once in ESDevice::SetUID.
Constructing the UIDSys from the filesystem is a major bottleneck in the Wii menu "Data Management" -> "Save Data" -> "Wii" screen and this change makes it about twice as fast.
2025-11-28 03:02:07 -06:00
JosJuice 807488caf9 Merge pull request #14066 from Biendeo/master
IOS: Logitech USB Microphone Basic Support
2025-11-25 23:12:39 +01:00
Biendeo 07324ca067 USB: Add emulated Logitech USB Microphone
Co-authored by: supermilkdude67 <[email protected]>
2025-11-25 10:40:30 +11:00
JosJuice 5769fc7372 Merge pull request #14134 from jordan-woyak/mercusys-rtl-firmware
Bluetooth/RealtekFirmwareLoader: Add Mercusys MA530 to list.
2025-11-23 14:29:08 +01:00
Jordan Woyak 127e068e51 Common/Result: Swap order of template parameters to match C++26's std::expected, make all member functions constexpr, and add moving "unexpected" conversion constructor for consistency. 2025-11-21 19:24:48 -06:00
Jordan Woyak 4f30aaf1ca Merge pull request #13152 from Naim2000/sdlock
SDIO: report write lock status
2025-11-20 15:04:39 -06:00
Jordan Woyak 1a71f0fa2e SDIO: Remove file "good" checks so errors are properly produced. 2025-11-19 21:05:57 -06:00
Naim2000 f1f8b0a825 SDIO: the CID/CSD are sent a bit differently 2025-11-19 21:05:54 -06:00
Naim2000 227c4e0515 SDIO: report actual error if writes are disabled 2025-11-19 20:11:05 -06:00
Naim2000 2e340ab160 SDIO: report write lock status 2025-11-19 18:58:13 -06:00
Jordan Woyak 41b6ab40e1 Merge pull request #13619 from y21/usbv5_getversion_size
Check buffer out/size in HID_USBv5/USB_VEN GetVersion Ioctl
2025-11-19 17:32:33 -06:00
Jordan Woyak 1514c0f256 Bluetooth/RealtekFirmwareLoader: Add Mercusys MA530 to list. 2025-11-17 19:31:59 -06:00
JMC47 c44ea1389a Merge pull request #13236 from JosJuice/jit-set-msr-on-fallback
Call JitInterface::UpdateMembase from PowerPC::MSRUpdated
2025-11-11 20:55:24 -05:00
JosJuice 8749855643 Call JitInterface::UpdateMembase from PowerPC::MSRUpdated
When the interpreter calls MSRUpdated, we should update the membase
variable. Not because the interpreter itself needs it, but because the
JIT needs it if it's falling back to the interpreter for an instruction
that sets the MSR.

Additionally, the JIT's FallBackToInterpreter needs to read back the new
membase value afterwards.

This fixes games crashing on JitArm64 if mtmsr is set to fall back to
interpreter. I was unable to reproduce the issue on Jit64, presumably
due to a fortunate series of coincidences (instructions that set MSR are
always followed by an exception exit, and
PowerPCManager::CheckExternalExceptions was always calling
JitInterface::UpdateMembase, and Jit64::WriteExceptionExit was always
calling Jit64::EmitUpdateMembase.)
2025-11-02 21:18:07 +01:00
Jordan Woyak 57d7485ea6 Core/IOS/FS: Clean up some hard to read NAND state saving logic. 2025-11-01 12:33:30 -05:00
Sepalani ba8f4ca6a2 IP/Top: Make InetAToN async 2025-10-31 01:13:36 +04:00
Mateus B. Cassiano 9bf6906432 RealtekFirmwareLoader: more RTL8761B device IDs 2025-09-28 22:04:06 -04:00
Matthieu Speder 9d0b3e0e39 RealtekFirmwareLoader: Alternate USB PID for Ugreen CM390 2025-09-25 12:04:54 +02:00
Joshua Vandaële 83cbedd609 RealtekFirmwareLoader: Fix shadowed variable warning 2025-09-07 16:54:11 +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
Dentomologist 3cc00c0676 DolphinAnalytics: Use Pascal case for GameQuirk enum 2025-08-14 13:54:23 -07: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
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
Admiral H. Curtiss 06e05e0f90 Merge pull request #13794 from Sintendo/doouble-lookup
Avoid map/set double lookups
2025-08-01 21:43:12 +02:00
Jordan Woyak 95ad2d804d RealtekFirmwareLoader: Automatically download missing firmware from gitlab.com. 2025-07-23 19:58:25 -05:00
Jordan Woyak bfef65a9d1 BTReal: Implement Realtek Bluetooth firmware loading.
Logic and structures are largely taken from Linux source:
drivers/bluetooth/btusb.c
drivers/bluetooth/btrtl.c
drivers/bluetooth/btrtl.h
2025-07-23 19:58:25 -05:00
Jordan Woyak 0e90b85bab LibUSBBluetoothAdapter: Add SendBlockingCommand function. 2025-07-23 19:58:25 -05:00
Jordan Woyak 5336c23329 Core: Move HCICommandPayload struct template from BTReal to LibUSBBluetoothAdapter header. 2025-07-23 19:58:25 -05:00
Jordan Woyak 2b541361c6 Common: Move AsU8Span utility function from BTReal to Common/BitUtils. 2025-07-23 19:58:25 -05:00
JMC47 45ba6ed6b1 Merge pull request #13770 from JoshuaVandaele/usbutils
USBUtils: Refactor USB device handling
2025-07-23 20:57:17 -04:00
Joshua Vandaële 4ae195ee60 USBUtils: Refactor USB device handling 2025-07-23 03:26:25 +02:00
JMC47 c6de692d01 Merge pull request #13784 from jordan-woyak/btreal-restore-keys-on-hci-reset
BTReal: Always restore link keys on HCI reset.
2025-07-21 21:00:20 -04:00
Admiral H. Curtiss 68713e08b4 Common: Move GetDeviceProperty() into its own header
Otherwise we include Windows headers in the entire codebase through CommonFuncs.h
2025-07-19 21:24:51 +02:00
JMC47 9e05063929 Merge pull request #13793 from jordan-woyak/libusb-unicode-descriptor
LibusbUtils: Add GetStringDescriptor function.
2025-07-16 20:30:12 -04:00