hle/service/acc: Implement acc:e, acc:e:u1, acc:e:u2, and dauth:0 services

- Add acc:e service with full account management functionality
- Add acc:e:u1 service (minimal implementation)
- Add acc:e:u2 service with extended functionality including PIN code support
- Add dauth:0 device authentication service
- Update acc_su function mappings to match newer firmware versions
- Move TrySelectUserWithoutInteraction from ID 51 to 52 with deprecated fallback

These services provide additional account management interfaces used by
newer Switch firmware versions and some games that require extended
account functionality.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-05-24 15:42:58 +10:00
parent 1ba7861366
commit 129e76a13c
11 changed files with 260 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-FileCopyrightText: 2025 citron Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
add_library(core STATIC
@@ -384,6 +385,12 @@ add_library(core STATIC
hle/service/acc/acc.h
hle/service/acc/acc_aa.cpp
hle/service/acc/acc_aa.h
hle/service/acc/acc_e.cpp
hle/service/acc/acc_e.h
hle/service/acc/acc_e_u1.cpp
hle/service/acc/acc_e_u1.h
hle/service/acc/acc_e_u2.cpp
hle/service/acc/acc_e_u2.h
hle/service/acc/acc_su.cpp
hle/service/acc/acc_su.h
hle/service/acc/acc_u0.cpp
@@ -392,6 +399,8 @@ add_library(core STATIC
hle/service/acc/acc_u1.h
hle/service/acc/async_context.cpp
hle/service/acc/async_context.h
hle/service/acc/dauth_0.cpp
hle/service/acc/dauth_0.h
hle/service/acc/errors.h
hle/service/acc/profile_manager.cpp
hle/service/acc/profile_manager.h