aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services
AgeCommit message (Collapse)Author
2023-02-10Treat NpadIdType < 0 as invalid. Filter invalid SupportedPlayers inside ↵Logan Stromberg
IHidServer.SetSupportedNpadIdType(). (#4377) Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
2023-02-08Replace BitConverter.ToString(bytes).Replace("-", "") with ↵Berkan Diler
Convert.ToHexString(bytes) (#4382)
2023-02-01Implement Account LoadOpenContext (#4359)gdkchan
* Implement Account LoadOpenContext * Formatting
2023-01-21Catch Profile.json parse to prevent crash on launch (#3393)Phi
* Catch Profile.json parse to prevent crash on launch * Update Ryujinx.HLE/HOS/Services/Account/Acc/AccountSaveDataManager.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: PhiZero <wolkan.craanen@gmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-01-18Optimize string memory usage. Use Spans and StringBuilders where possible ↵Andrey Sukharev
(#3933) * Optimize string memory usage. Use ReadOnlySpan<char> and StringBuilder where possible. * Fix copypaste error * Code generator review fixes * Use if statement instead of switch * Code style fixes Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Another code style fix * Styling fix Co-authored-by: Mary-nyan <thog@protonmail.com> * Styling fix Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Mary-nyan <thog@protonmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2023-01-18HOS: Load RomFs by pid (#4301)Ac_K
We currently loading only one RomFs at a time, which could be wrong if one day we want to load more than one guest at time. This PR fixes that by loading romfs by pid.
2023-01-15Implement missing service calls in `pm` (#4210)Isaac Marovitz
* Implement `GetTitleId` Fixes #2516 * Null check + Proper result code * Better comment * Implement `GetApplicationProcessId` * Add TODOs * Update Ryujinx.HLE/HOS/Services/Pm/IInformationInterface.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.HLE/HOS/Services/Pm/IDebugMonitorInterface.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Remove new function from KernelStatic Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-01-09Replace tabs with spaces across the project (#4244)gdkchan
* Replace tabs with spaces across the project * Include AXAML files too
2023-01-08Horizon: Impl Prepo, Fixes bugs, Clean things (#4220)Ac_K
* Horizon: Impl Prepo, Fixes bugs, Clean things * remove ToArray() * resultCode > status * Remove old services * Addresses gdkchan's comments and more cleanup * Addresses Gdkchan's feedback 2 * Reorganize services, make sure service are loaded before guest Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com> * Create interfaces for lm and sm Co-authored-by: gdkchan <5624669+gdkchan@users.noreply.github.com>
2023-01-04IPC refactor part 3+4: New server HIPC message processor (#4188)gdkchan
* IPC refactor part 3 + 4: New server HIPC message processor with source generator based serialization * Make types match on calls to AlignUp/AlignDown * Formatting * Address some PR feedback * Move BitfieldExtensions to Ryujinx.Common.Utilities and consolidate implementations * Rename Reader/Writer to SpanReader/SpanWriter and move to Ryujinx.Common.Memory * Implement EventType * Address more PR feedback * Log request processing errors since they are not normal * Rename waitable to multiwait and add missing lock * PR feedback * Ac_K PR feedback
2022-12-29HLE: Add basic stubs to get Labo VR booting to title screen. (#4007)Luminoso-256
* HLE: Add basic stubs to get Labo VR booting to title screen. * Address code review * Apply suggestions from code review (pt. 2) Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Apply suggestions from code review (pt. 3) Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Formatting: final batch? Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Address last? bit of formatting Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-12-26Added Generic Math to BitUtils (#3929)Hunter
* Generic Math Update Updated Several functions in Ryujinx.Common/Utilities/BitUtils to use generic math * Updated BitUtil calls * Removed Whitespace * Switched decrement * Fixed changed method calls. The method calls were originally changed on accident due to me relying too much on intellisense doing stuff for me * Update Ryujinx.Common/Utilities/BitUtils.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-12-26bsd::RecvFrom: verify output buffer size before writing socket address (#4135)gnisman
* bsd::RecvFrom: Ryujinx does not verify output buffer size before writing socket address * Calculate the size of BsdSockAddr * use bsdSockAddr variable * Update Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs Co-authored-by: Mary-nyan <thog@protonmail.com> * Update Ryujinx.HLE/HOS/Services/Sockets/Bsd/Types/BsdSockAddr.cs Co-authored-by: Mary-nyan <thog@protonmail.com> * set errno to ENOMEM in case we can't write the address to memory * Update Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs Co-authored-by: Mary-nyan <thog@protonmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-12-24Some minor cleanups and optimizations (#4174)Berkan Diler
* Replace Array.Clear(x, 0, x.Length) with Array.Clear(x) * Use DateTime.UnixEpoch field * Replace SHA256.ComputeHash calls with static SHA256.HashData call More performant and avoids the need to initialize a SHA256 instance.
2022-12-21hle: Handle GPU profiler and debugger device path correctly (#4138)Mary-nyan
This fix a warning on "慟哭そして…" by handling correctly the debug mode flag. When debug mode isn't enabled, opening /dev/nvhost-dbg-gpu or /dev/nvhost-prof-gpu should fail with a not implemented error code. This implement this behaviour and also define stubbed interfaces for completness.
2022-12-18hle: Fix wrong conversion in UserPresence.ToString (#4142)Mary-nyan
This fixes an error from #3805 that caused a wrong conversion of ``AppKeyValueStorage`` to string. As that information isn't really relevant without appropriate parsing, it was removed from ``ToString``. This should get ride of "bell warning" in Mario Kart 8 when entering Time Trials.
2022-12-12Bsd: Add support for dns_mitm (#4102)TSRBerry
* bsd: Add dns_mitm from Atmosphère related AMS files: - https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/ams_mitm/source/dns_mitm/dnsmitm_resolver_impl.cpp - https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/ams_mitm/source/dns_mitm/dnsmitm_host_redirection.cpp * Remove debug logging and adjust redirect message * Improve formatting Co-authored-by: Ac_K <Acoustik666@gmail.com> * Replace Initialize with instance property * bsd: dns_mitm - Ignore empty lines * bsd: Mark _mitmHostEntries as readonly * bsd: Initialize Aliases when returning IpHostEntry Fixes NullReferenceException Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-12-12Use method overloads that support trimming. Mark some types to be trimming ↵Andrey Sukharev
friendly (#4083) * Use method overloads that support trimming. Mark some types to be trimming friendly * Use generic version of marshalling method
2022-12-12Bsd: Implement Select (#4017)TSRBerry
* bsd: Add gdkchan's Select implementation Co-authored-by: TSRBerry <20988865+tsrberry@users.noreply.github.com> * bsd: Fix Select() causing a crash with an ArgumentException .NET Sockets have to be used for the Select() call * bsd: Make Select more generic * bsd: Adjust namespaces and remove unused imports * bsd: Fix NullReferenceException in Select Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-12-10Fix Redundant Qualifer Warnings (#4091)Isaac Marovitz
* Fix Redundant Qualifer Warnings * Remove unnecessary using
2022-12-07acc: Stub CheckNetworkServiceAvailabilityAsync (#4052)Ac_K
2022-12-05Make structs readonly when applicable (#4002)Andrey Sukharev
* Make all structs readonly when applicable. It should reduce amount of needless defensive copies * Make structs with trivial boilerplate equality code record structs * Remove unnecessary readonly modifiers from TextureCreateInfo * Make BitMap structs readonly too
2022-12-04Use source generated regular expressions (#4005)Andrey Sukharev
2022-11-28amadeus: Fixes and initial 15.0.0 support (#3908)Mary-nyan
* amadeus: Allow OOB read of GC-ADPCM coefficients Fixes "Ninja Gaiden Sigma 2" and possibly "NINJA GAIDEN 3: Razor's Edge" * amadeus: Fix wrong variable usage in delay effect We should transform the delay line values, not the input. * amadeus: Update GroupedBiquadFilterCommand documentation * amadeus: Simplify PoolMapper alignment checks * amadeus: Update Surround delay effect matrix to REV11 * amadeus: Add drop parameter support and use 32 bits integers for estimate time Also implement accurate ExecuteAudioRendererRendering stub. * Address gdkchan's comments * Address gdkchan's other comments * Address gdkchan's comment
2022-11-28sfdnsres; Fix deserializer of AddrInfoSerialized when addresses are empty ↵Ac_K
(#3924)
2022-11-27bsd: Fix eventfd broken logic (#3647)Mary-nyan
* bsd: Fix eventfd broken logic This commit fix eventfd logic being broken. The following changes were made: - EventFd IPC definition had argument inverted - EventFd events weren't fired correctly - Poll logic was wrong and unfinished for eventfd - Reintroduce workaround from #3385 but in a safer way, and spawn 4 threads. * ipc: Rework a bit for multithreads * Clean up debug logs * Make server thread yield when managed lock isn't availaible * Fix replyTargetHandle not being added in the proper locking scope * Simplify some scopes * Address gdkchan's comments * Revert IPC workaround for now * Reintroduce the EventFileDescriptor workaround
2022-11-27HLE: fix small issue in IPsmSession (#3909)Luminoso-256
2022-11-24Reduce usage of Marshal.PtrToStructure and Marshal.StructureToPtr (#3805)Mary-nyan
* common: Make BinaryReaderExtensions Read & Write take unamanged types This allows us to not rely on Marshal.PtrToStructure and Marshal.StructureToPtr for those. * common: Make MemoryHelper Read & Write takes unamanged types * Update Marshal.SizeOf => Unsafe.SizeOf when appropriate and start moving software applet to unmanaged types
2022-11-23Update to LibHac 0.17.0 (#3878)Alex Barney
* Update to LibHac 0.17.0 * Don't clear SD card saves when starting the emulator This was an old workaround for errors that happened when a user's SD card encryption seed changed. SD card saves have been unencrypted for over a year, so we should be fine to remove the workaround.
2022-11-23Stub IFriendService: 1 (Cancel) (#3841)WilliamWsyHK
* Add friend/Cancel. Closes #3824 * Update according to review comments. * Add comment base on request * Update Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-11-18am: Stub GetSaveDataSizeMax (#3857)TSRBerry
* am: Stub GetSaveDataSizeMax() * am: Remove todo comment for GetSaveDataSizeMax() * am: saveDataSize & journalDataSize should be of type long * am: Add explanation for returning default values in GetSaveDataSizeMax()
2022-11-16Update units of memory from decimal to binary prefixes (#3716)Wunk
`MB` and `GB` can either be interpreted as having base-10 units, or base-2. `MiB` and `GiB` removes this discrepancy so that units of memory are always interpreted using base-2 units.
2022-11-16Use new C# 11 u8 string literals (#3854)Berkan Diler
2022-11-16Make use of Random.Shared (#3852)Berkan Diler
2022-11-09infra: Migrate to .NET 7 (#3795)Mary-nyan
* Update readme to mention .NET 7 * infra: Migrate to .NET 7 .NET 7 is still in preview but this prepare for the release coming up next month. * Use Random.Shared in CreateRandom * Move UInt128Utils.cs to Ryujinx.Common project * Fix inverted parameters in System.UInt128 constructor * Fix Visual Studio complains on Ryujinx.Graphics.Vic * time: Fix missing alignment enforcement in SystemClockContext Fixes at least Smash * time: Fix missing alignment enforcement in SteadyClockContext Fix games (like recent version of Smash) using time shared memory * Switch to .NET 7.0.100 release * Enable Tiered PGO * Ensure CreateId validity requirements are meet when doing random generation Also enforce correct packing layout for other Mii structures. This fix a Mario Kart 8 crashes related to the default Miis.
2022-10-27AppletAE: stub SetRecordVolumeMuted (#3804)Luke Warner
* Update IIrSensorServer.cs * Update IIrSensorServer.cs * Apply suggestions from code review Addressed formatting feedback Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update IIrSensorServer.cs * Update ISelfController.cs * Update ISelfController.cs Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-10-27hid/irs: Stub StopImageProcessorAsync (#3799)Luke Warner
* Update IIrSensorServer.cs * Update IIrSensorServer.cs * Apply suggestions from code review Addressed formatting feedback Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update IIrSensorServer.cs Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-10-19Implement the GetSessionCacheMode in SSL servuce (#3735)WilliamWsyHK
2022-10-19Manage state of NfcManager (#3678)Carl Ouellette
* Manage state of NfcManager Very basic state management but works with Hyrule Warriors Definitive Edition. Partially fixes #2122 * Fixes changes from review
2022-10-18Avoid allocations in .Parse methods (#3760)Berkan Diler
* Avoid allocations in .Parse methods Use the Span overloads of the Parse methods when possible to avoid string allocations and remove one unnecessarry array allocation * Avoid another string allocation
2022-10-17Implement OpenDataStorageWithProgramIndex partially (#3765)gdkchan
* Implement OpenDataStorageWithProgramIndex partially * Was not supposed to change this
2022-10-15bsd: Check if socket is bound before calling RecvFrom() (#3761)TSRBerry
2022-10-05Change NvMap ID allocation to match nvservices (#3741)gdkchan
* Change NvMap ID allocation to match nvservices * Move NvMapIdDictionary to Types
2022-10-04Fix memory corruption in BCAT and FS Read methods when buffer is larger than ↵gdkchan
needed (#3739) * Fix memory corruption in FS Read methods when buffer is larger than needed * PR feedback * nit: Don't move this around
2022-10-02Allow Surface Flinger frame enqueue after process has exited (#3733)gdkchan
2022-10-02fatal: Implement Service (#3573)Ac_K
* fatal: Implement Service This PR adds a basic implementation of fatal service, guest processes call it when there is something wrong. But since we can already have all informations by debugging it's not really useful. In any case, that's avoid an unimplemented service exception. Structs/Enum are based on Atmosphère source code. After logs the error report, I call SvcBreak. Feedbacks are welcome on this, since some guests calls it right after fatal service so I can remove it if needed. * Addresses gdkchan feedback
2022-09-29Fix SSL GetCertificates with certificate ID set to All (#3727)gdkchan
* Fix SSL GetCertificates with certificate ID set to All * Fix last entry status value
2022-09-27Fix ListOpenContextStoredUsers and stub LoadOpenContext (#3718)gdkchan
* Fix ListOpenContextStoredUsers and stub LoadOpenContext * Remove nonsensical comment
2022-09-10Allocate work buffer for audio renderer instead of using guest supplied ↵gdkchan
memory (#3276) * Allocate work buffer for audio renderer instead of using guest supplied memory * Typo * Use GC.AllocateArray to allocate pinned array
2022-09-07bsd: improve socket pollMary
We should report errors even when not requested. This also ensure we only clear the bits that were requested on the output. Finally, this fix when input events is 0.