Contributor guides¶
How-to pages for the common changes. Each has a goal, the files to touch, steps, a worked example from existing code, how to test and the pitfalls found so far. Background on how the pieces fit: architecture; per-subsystem entry points: subsystems; known problems by symptom: symptoms.
| Guide | One line |
|---|---|
| add-ipc-service.md | Add an HLE IPC service, or a command of an existing one (CMIF and TIPC, sm registration, *_core.c logic, unit tests). |
| add-svc.md | Add or extend a Horizon svc (svc_register, register layout, AArch32 table, NPDM svc mask, host tests). |
| add-nvn-function.md | Add an NVN API function (names.txt, NVN() macro, command recording versus immediate, replay in mtl_replay.m, gfx/tests). |
| add-maxwell-shader-op.md | Add a Maxwell instruction to the shader translator and test that the generated MSL is right. |
| gpu-title-scan.md | Scan a title's shader control sections for the GPU stages it uses and pick the fewest titles to cover them all. |
| add-game-support.md | Bring up a new game: napple build, headless boot, reading the failure, title page, compatibility matrix. |
| add-signatures.md | Add per-build signatures to knownSignatures/: format, napple sigs, what must never be committed. |
| debugging.md | Crash and hang triage: CRASH output, tracing, screenshots, perf log, scripted input, the four reference titles. |
| network-providers.md | The OnlineProvider extension point: what bsd, nifm, sfdnsres, ssl, friend, nsd and prepo ask of it, the C ABI, loading a provider module, the NullProvider. |
| hardware-simulators.md | NFC / amiibo (virtual amiibo, picker contract, optional dumps) and the IR camera simulator, and how the in-game overlay wires them. |
| studio.md | Napple Studio: the panes, building for a Mac, iPhone/iPad devices and Simulators, signing modes, bundle ids, the free/paid memory-limit rule, debug flags. |
| ios-device-candidate.md | Which iPhone/iPad fits which games: Simulator profiling method, memory figures, picks. |
| fuzzing.md | Run the Rust cargo-fuzz targets, the seeded-mutation tests and the C runtime fuzz drivers; fix and record a finding (findings). |
| testing.md | Every test suite, its command, and whether it runs on Linux or only on macOS. |
| deploy-servers.md | Deploy the Napple game servers to AWS at pretend.napple.lat and the napple.lat DNS: one-time setup, the workflow, rollback, costs, the local test stack. |
| testing-graphics.md | Golden-frame routes per title, the gfx warning and Metal validation gate, contact sheets, approving goldens. |
For community contributors¶
| Guide | One line |
|---|---|
| contributing-report-a-bug.md | Capture the machine details and a trimmed log for a bug report. |
| contributing-document-a-title.md | Run the scripted boot, write docs/titles/<id>.md, update the matrix and regenerate the support tables (field reference). |
| contributing-report-a-graphics-bug.md | Capture frames and graphics logs, narrow a wrong-pixels bug down. |
| contributing-write-a-mod.md | Rules and workflow for mods and game fixes (the format itself lives in the mod docs). |
| contributing-community.md | Labels, Discussions categories, conduct and security check, sign-off decision. |
Related references: environment variables, command line, glossary.