aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/acc/acc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* service: placeholder handlers for known but unimplemented commandsTakoroka2 days1-2/+2
| | | | | | | | | | | | | | Add StubReplyZeroed, StubReplyEvent and StubReplyInterface to ServiceFrameworkBase: for Switch 2 callers they reply with zeroed data, with zeroed data and a copy handle to an event that never fires, or with an nx2: stub interface; other callers get the unimplemented-function path as before. Each command is logged once. Use them for the commands of the interfaces games open that had no handler or a nullptr one (hid, am, audio, aoc, caps, mii, set, lm, acc, ssl, bsd and the nx2 vi2/gsv/gpu/syncpt sessions): a command that returns an interface now returns one, a command that returns a handle returns an event, so callers no longer get handle 0 or object 0 back.
* Revert "[hle] constexpr handler dispatch maps, introduce version gating ↵PavelBARABANOV2026-10-151-970/+961
| | | | | | | | | | | | | | | | | (#4480)" (#4532) This reverts commit 218c6705d950635bc18f8458d738a1996fb592b6. - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md). - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4532 Reviewed-by: lizzie <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle] constexpr handler dispatch maps, introduce version gating (#4480)lizzie2026-10-131-961/+970
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR primarily focuses on upbringing constexpr maps for handlers. Each time an HLE object of a service is construed, it registers it's own handlers, over and over. Regardless of whetever it needs them at the moment or not. Additionally we don't require to keep track of different function pointers amongst each object. This can be done by overriding the given function instead, as opposed to having a separate hash map for every given object. In other words: Remove handlers (and handlers_tipc) map for every instance then read from a static defined per-class. - [x] Migrate all HLE functions to new `frozen::map` constexpr time finder - [ ] Measure if this approach actually makes better codegen Optional: - [x] Properly gate all functions (that have versions commented next to them) - [x] Maybe store `HandlerFnP<>` and `const char*` separately, version gating can go in a different map as well Information such as name can be used on debug builds, but doesn't particularly help on release as one can consult an external reference (or have an annotated IPC map) Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Co-authored-by: Maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4480 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [hle] VirtualBoy classics fixes, QLaunch IPC fixes, implement extra ams ↵lizzie2026-09-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | SVCInfo (#4343) Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- `OpenSystemApplicationProxy` `OpenSystemApplicationProxy` ALSO yes those cmds DO NOT take an attribute Implemented SVC infos to match Atmosphere's values Implement more stub I2C session cmds stub CMD2103 for rhythm groove better error handling on svc get info to match ams (see ams svc info) Virtual Boy classic fix adept from https://git.ryujinx.app/projects/Kenji-NX/commit/2288084b531b185f5840a696b23265014f07e2f2 by @Mythrax acc:u1 was missing the *Deprecated cmd Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4343 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [hle/service] stub missing homebrew services, fix NPad/caps crashes (#4264)lizzie2026-08-181-12/+405
| | | | | | | | | | | | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- this PR adds various missing services (acc:e, acc:e:u1) to expand homebrew compatibility notably this also fixes NPad related crashes due to nullref Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4264 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [hle] remove parent object reference data on Request/Response builders, pass ↵lizzie2026-06-291-6/+6
| | | | | | | | | | | | | | | | by argument (#3774) anyways this should remove a bunch of redundant code/stack usage for response builders (ahem, msvc) SHOULD help games that use IPC heavily like PKZA and whatnot biblical levels of performance greed Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3774 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [kernel, hle] Initial 22.0.0 kernel changes and cmd stubs (#3761)maufeat2026-05-051-0/+8
| | | | | | | | | | | | | - KProcess::Run() and CreateThread() SVC now write the current thread handle to TLS+0x110 - KPageTableBase::LockForMapDeviceAddressSpace now checks for a new KPageTableBase boolean, m_allowed_exec_device_mapping - Stub `am` + `acc` + `settings` cmd module that needs to work for qlaunch Thanks to: @alula and @yellows8 Source for changes: https://github.com/Atmosphere-NX/Atmosphere/pull/2744, https://switchbrew.org/, https://yls8.mtheall.com/ Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3761 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [hle/acc] fix (false) return where it's just 2 (#3763)lizzie2026-03-221-2/+1
| | | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3763 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [tests] fix compile+linking issues with PlayTime (#3345)lizzie2026-01-191-1/+1
| | | | | | | | | | | | | fixes linking + comp issues but not the test themselves, who have now became invalid Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: DraVee <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3345 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [core/hle] Adds sorting game titles and prevents hard crashes in qlaunch (#3330)Maufeat2026-01-191-3/+4
| | | | | | | | | | | Adds correct sorting in qlaunch (tested with FW 19 and FW20-21) Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3330 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
* [core/hle] implement Unknown330 and stub extra 20/15 missing funcs (#3269)lizzie2026-01-061-0/+1
| | | | | | | | | | | | stub for IApplicationFunctions::Unknown330; stubs for BSD sockets values Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3269 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [hle,display,overlay,starter,hid] add overlay functions, starter applet ↵Maufeat2025-11-271-3/+51
| | | | | | | | | | | | | | | | | | | | (initially), HID handheld for system applets and fw21 stubs (#3080) Adds fully functional overlay display. - Enable Overlay Applet via "View" -> "Enable Overlay Display Applet" - Open the overlay by pressing the home button for over 1s - Can adjust volume - Can toggle airplane mode (if on WiFi, maybe if overlay is enabled pretend to be on WiFi?) - Future TODO(?): Adjust Brightness implementation for host system - Inputs are properly registered. e.g. if overlay open, application does not register inputs. You can control volume and airplane mode outside of the emulator window Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3080 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
* [acc, ldn] Implement CreateClientProcessMonitor and stub LoadIdTokenCache ↵JPikachu2025-10-241-2/+13
| | | | | | | | | | | | | | | | | | | | changes (#2810) - IManagerForApplication/SystemService: from 19.0.0+ LoadIdTokenCache (3) is now LoadIdTokenCacheDeprecated (3) - IManagerForApplication/SystemService: LoadIdTokenCache (4) stubbed - Implement CreateClientProcessMonitor to ldn:s and ldn:u - Create new client_process_monitor.cpp/.h files - Change non-domain (C) functions into domain (D) functions to fix crashes Thanks to SwitchBrew documentation, fixes 'Pokemon: Legends Z-A' LDN issues. Co-authored-by: JPikachu <jpikachu.eden@gmail.com> Co-authored-by: unknown <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2810 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: JPikachu <jpikachu@eden-emu.dev> Co-committed-by: JPikachu <jpikachu@eden-emu.dev>
* [core] fix msvc comp (#2567)crueter2025-09-241-1/+1
| | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2567
* LoadIdTokenCache stub (#2531)PavelBARABANOV2025-09-241-2/+16
| | | | | | | Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2531 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com> Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
* [common] remove ranges polyfill (#2546)lizzie2025-09-241-1/+1
| | | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2546 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [cmake] enable clang-cl and WoA builds (#348)lizzie2025-09-091-1/+1
| | | | | | | | | | | | | | Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64. Compiling on clang is *dramatically* faster so this should be useful for CI. Co-authored-by: crueter <crueter@eden-emu.dev> Co-authored-by: crueter <crueter@crueter.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [desktop, core] yuzu -> Eden, eden -> Edencrueter2025-07-191-1/+1
| | | | Signed-off-by: crueter <crueter@eden-emu.dev>
* profile_manager: Implement firmware avatar selector (#205)JPikachu2025-06-261-0/+32
| | | | | | | | | | | | | | | | | | Adds an option to set a user's profile image from the avatars in the firmware. Background color can be changed with a color picker. Also modifies profile image saving to account for this, and as a result images are now saved as JPEG with 100% quality. Any PNG, JPEG, or BMP can now also be used in the image file picker instead of just JPEG. Using ryujinx's implementation and other parts of the yuzu codebase for reference. Credit: Torzu, lui Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/56 Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion> Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion> Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion> Co-authored-by: Maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/205 Co-authored-by: JPikachu <jpikachu@noreply.localhost> Co-committed-by: JPikachu <jpikachu@noreply.localhost>
* returned several servicesPavel Barabanov2025-05-121-0/+4
|
* everything related to the FW 20 has been deleted.Pavel Barabanov2025-05-111-16/+2
|
* User Data Migration from Citron, Sudachi, and Yuzu (#91)swurl2025-05-081-1/+1
| | | | | | | | | | | | Includes citron, sudachi, yuzu currently broken, because the eden dir is always made early? Signed-off-by: swurl <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/91 Co-authored-by: swurl <swurl@swurl.xyz> Co-committed-by: swurl <swurl@swurl.xyz>
* started adding services for firmware 20.0.0 without implementationPavel Barabanov2025-05-031-2/+16
|
* Qlauncher firmware 19Pavel Barabanov2025-04-141-7/+82
|
* Added v18.0.0 stubs and updated tzdb_to_nxdarktux2025-04-041-0/+18
|
* acc: add account manager for acc:u1Liam2024-02-241-8/+15
|
* service: acc: Ensure proper profile sizegerman772023-11-051-9/+47
|
* Merge pull request #11791 from german77/bufferxliamwhite2023-10-181-6/+6
|\ | | | | service: hle: Allow to access read buffer A and X directly
| * service: hle: Allow to access read buffer A and X directlygerman772023-10-161-6/+6
| |
* | service: acc: Implement functions needed for profile select (#11653)Narr the Reg2023-10-171-1/+42
|/
* core: remove ResultVal typeLiam2023-08-081-5/+6
|
* core: implement GetGaiStringErrorRequest, IContextRegistrarLiam2023-07-221-1/+2
|
* general: fix spelling mistakesLiam2023-03-121-1/+1
|
* hle: rename legacy errors to ResultsLiam2023-03-061-16/+10
|
* service: move hle_ipc from kernelLiam2023-03-011-34/+34
|
* Merge pull request #9832 from liamwhite/hle-mpliamwhite2023-03-011-10/+13
|\ | | | | service: HLE multiprocess
| * service: refactor server architectureLiam2023-02-211-10/+13
| | | | | | | | Converts services to have their own processes
* | core: Update service function tables to 16.0.0+Narr the Reg2023-02-241-0/+8
|/
* general: rename CurrentProcess to ApplicationProcessLiam2023-02-131-2/+2
|
* general: fix compile for Apple ClangLiam2022-11-221-0/+1
|
* core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext.bunnei2022-11-021-21/+13
| | | | | | - These APIs are used to capture the opened users and allow that state to be persisted across processes. - They are not intended to just return the system opened users, that is what ListOpenUsers is for. - Fixes the launch hang with Bayonetta 3.
* core/acc: Make CheckAvailability use LOG_DEBUGFearlessTobi2022-08-271-1/+1
| | | | Previously it was spamming the logs in certain multiplayer games like Puyo Puyo Tetris.
* service: ac: Replace intances of ProfileData with UserDatagerman772022-07-141-10/+10
|
* core: Replace all instances of ResultCode with Resultgerman772022-06-261-7/+7
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* core: Reduce unused includesameerj2022-03-191-1/+0
|
* general: Rename NewUUID to UUID, and remove the previous UUID implMorph2022-02-051-29/+28
| | | | This completes the removal of the old UUID implementation.
* profile: Migrate to the new UUID implementationMorph2022-02-051-46/+47
|
* general: Get the current process program id directly from the systemMorph2021-11-041-4/+2
| | | | This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.