applets-dlc (batch 2026-10-24-plan5): DLC mounting plus error, player select and controller applets¶
Branch claude/applets-dlc-2026-10-24-plan5, Linux cloud. Status: tested (Linux mock), unbuilt on macOS.
Changed¶
aoc:u(misc.c, new aoc_core.[ch]): count/list/base id/prepare from the manifest'sdlcarray; no DLC keeps today's answers.fsp-srv30OpenDataStorageByDataId(fs.c, small append; weak no-DLC default so the host-only fs tests still link): serves a DLC's romfs.bin read-only.applet.c+ newapplet_lib_core.[ch]: error (0xe) and player select (0x10) library applets dispatched; controller (0xc) answer moved to the core and now honours single mode.- Tests:
runtime/tests/test_svc_aoc.c(45 checks),test_svc_applet_libs.c(70 checks). - Rust: no change needed.
napple-buildalready embeds selected DLC (dlc/<id>/v<ver>/romfs.bin, manifestdlcentries) andnapple-coreparses CNMT AddOnContent;cargo test -p napple-build -p napple-corepasses.
Verified vs not¶
- tested: all new logic, 26 Linux test binaries (ASan+UBSan),
check-syntax.shclean, cargo tests. - unbuilt/untested: everything on macOS, fs.c command 30 (no host test written), a real game with DLC.
- [unverified] against a console/title: aoc command ids/layouts,
R_AOC_NOT_FOUND, libnx struct layouts.