aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS
AgeCommit message (Collapse)Author
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-17Fix kernel VA allocation when random allocation fails (#3755)gdkchan
* Fix kernel VA allocation when random allocation fails * This was off by one
2022-10-17Implement OpenDataStorageWithProgramIndex partially (#3765)gdkchan
* Implement OpenDataStorageWithProgramIndex partially * Was not supposed to change this
2022-10-16TamperMachine: Fix input mask check (#3764)mageven
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.
2022-09-07bsd: implement SendMMsg and RecvMMsg (#3660)Mary-nyan
* bsd: implement sendmmsg and recvmmsg * Fix wrong increment of vlen
2022-09-01Bsd: Fix NullReferenceException in BsdSockAddr.FromIPEndPoint() (#3652)TSRBerry
* Bsd: Fix NullReferenceException in BsdSockAddr.FromIPEndPoint() Allows "Victor Vran Overkill Edition" to boot with guest internet access enabled. Thanks to EmulationFanatic for testing this for me! * Bsd: Return proper error code if RemoteEndPoint is null * Remove whitespace from empty line Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-09-01Change vsync signal to happen at 60hz, regardless of swap interval (#3642)riperiperi
* Change vsync signal to happen at 60hz, regardless of swap interval * Update Ryujinx.HLE/HOS/Services/SurfaceFlinger/SurfaceFlinger.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Fix softlock when toggling vsync Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-09-01bsd: Fix Poll(0) returning ETIMEDOUT instead of SUCCESSMary
This was an oversight of the implementation.
2022-09-01sfdsnres: fix endianess issue for port serialisationMary
2022-08-31Address gdkchan's commentMary
2022-08-31account: Implement LoadNetworkServiceLicenseKindAsyncMary
This is needed to run Pokemon Legends Arceus 1.1.1 with guest internet enabled. The game still get stuck at loading screen.
2022-08-28Bsd: Fix ArgumentOutOfRangeException in SetSocketOption (#3633)TSRBerry
* Bsd: Fix ArgumentOutOfRangeException in SetSocketOption * Ensure option level is Socket before checking for SoLinger
2022-08-26Optimize kernel memory block lookup and consolidate RBTree implementations ↵gdkchan
(#3410) * Implement intrusive red-black tree, use it for HLE kernel block manager * Implement TreeDictionary using IntrusiveRedBlackTree * Implement IntervalTree using IntrusiveRedBlackTree * Implement IntervalTree (on Ryujinx.Memory) using IntrusiveRedBlackTree * Make PredecessorOf and SuccessorOf internal, expose Predecessor and Successor properties on the node itself * Allocation free tree node lookup
2022-08-26bsd: Fix Poll writting in input buffer (#3630)Mary-nyan
This is a very old oversight on our Poll implementation. This worked so far reliably because games and homebrews pass the same buffer as input and output.
2022-08-25pctl: Implement EndFreeCommunicationAc_K
This PR Implement `EndFreeCommunication` (checked by RE). Nothing more. Closes #2420
2022-08-18Removed unused usings. (#3593)Nicholas Rodine
* Removed unused usings. * Added back using, now that it's used. * Removed extra whitespace.
2022-08-15am: Stub SetWirelessPriorityMode, SetWirelessPriorityMode and ↵Ac_K
GetHdcpAuthenticationState (#3535) This PR some calls in `am` service: - ISelfController: SetWirelessPriorityMode, SaveCurrentScreenshot (Partially checked by RE). - ICommonStateGetter: GetHdcpAuthenticationState Close #1831 and close #3527
2022-08-15ControllerApplet: Override player counts when SingleMode is set (#3571)mageven
2022-08-11Rename ToSpan to AsSpan (#3556)gdkchan
2022-08-03Sfdnsres; Stub ResolverSetOptionRequest (#3493)Ac_K
This PR stub ResolverSetOptionRequest (checked by RE), but the options parsing is still missing since we don't support it in our current code. (Close #3479)
2022-07-29Avalonia: Another Cleanup (#3494)Ac_K
* Avalonia: Another Cleanup This PR is a cleanup to the avalonia code recently added: - Some XAML file are autoformatted like a previous PR. - Dlc is renamed to DownloadableContent (Locale exclude). - DownloadableContentManagerWindow is a bit improved (Fixes #3491). - Some nits here and there. * Fix GTK * Remove AttachDebugDevTools * Fix last warning * Fix JSON fields
2022-07-14BSD: Allow use of DontWait flag in Receive (#3462)Fruityloops
2022-07-12Handle the case where byte optionValues are sent to BSD (#3405)riperiperi
Some games and the Mario Odyssey Multiplayer mod do this. The SMO multiplayer mod also needs you to revert #3394 as it uses a blocking socket to receive (otherwise it hangs), and it doesn't seem to like being forced as non-blocking.
2022-07-06Fix Vi managed and stray layers open/close/destroy (#3438)gdkchan
* Fix Vi managed and stray layers open/close/destroy * OpenLayer should set the state to ManagedOpened
2022-07-03Stub GetTemperature (#3429)Ac_K
2022-06-29ui: Fix timezone abbreviation since #3361 (#3430)Mary
As title say
2022-06-24timezone: Fix regression caused by #3361 (#3418)Mary
Because of that PR, TimeZoneRule was bigger than 0x4000 thanks to a misuse of a constant. This commit address this issue and add a new unit test to ensure the size of TimeZoneRule is 0x4000 bytes. Also address suggestions that were lost on the original PR.
2022-06-24time: Make TimeZoneRule blittable and avoid copies (#3361)Mary
* time: Make TimeZoneRule blittable and avoid copies This drastically reduce overhead of using TimeZoneRule around the codebase. Effect on games is unknown * Add missing Box type * Ensure we clean the structure still This doesn't perform any copies * Address gdkchan's comments * Simplify Box
2022-06-24Fix ThreadingLock deadlock on invalid access and TerminateProcess (#3407)gdkchan
2022-06-22Rewrite kernel memory allocator (#3316)gdkchan
* Rewrite kernel memory allocator * Remove unused using * Adjust private static field naming * Change UlongBitSize to UInt64BitSize * Fix unused argument, change argument order to be inline with official code and disable random allocation
2022-06-12Less invasive fix for EventFd blocking operations (#3394)gdkchan
2022-06-11Allow concurrent BSD EventFd read/write (#3385)gdkchan
2022-06-04Fix a potential GPFIFO submission race (#3378)Billy Laws
The syncpoint maximum value represents the maximum possible syncpt value at a given time, however due to PBs being submitted before max was incremented, for a brief moment of time this is not the case which could lead to invalid behaviour if a game waits on the fence at that specific time.
2022-05-31Rewrite SVC handler using source generators rather than IL emit (#3371)gdkchan
* Implement syscall handlers using a source generator * Copy FlushProcessDataCache implementation to Syscall since it was only implemented on Syscall32 * Fix wrong argument order in some syscalls * Delete old Reflection.Emit based syscall handling code * Improvements to the code generation * ControlCodeMemory address and size is always 64-bit
2022-05-31Refactor CPU interface to allow the implementation of other CPU emulators ↵gdkchan
(#3362) * Refactor CPU interface * Use IExecutionContext interface on SVC handler, change how CPU interrupts invokes the handlers * Make CpuEngine take a ITickSource rather than returning one The previous implementation had the scenario where the CPU engine had to implement the tick source in mind, like for example, when we have a hypervisor and the game can read CNTPCT on the host directly. However given that we need to do conversion due to different frequencies anyway, it's not worth it. It's better to just let the user pass the tick source and redirect any reads to CNTPCT to the user tick source * XML docs for the public interfaces * PPTC invalidation due to NativeInterface function name changes * Fix build of the CPU tests * PR feedback
2022-05-31Allow loading NSPs without a NCA inside (#3364)gdkchan
* Allow loading NSPs without a NCA inside * Set isHomebrew as true
2022-05-19Fix audio renderer error message result code base (#3348)gdkchan