Files
seeddsandFernando Messias 62a640b037 Fix custom key loading for compressed game inputs (#204)
nsz 4.6.1 rejects --keys and loads keys.txt beside argv[0] during import.
Run the converter in its temporary output folder with the selected key
file linked there before import, using absolute input and output paths.
Remove the temporary link on both successful and failed conversions.

Integrate PR #204 with XCZ and relative-path regressions, rename the test
flag that shadowed unittest.TestCase.fail, and qualify the documentation
for the verified nsz release. Record the packing finding and provenance.

Validation: reproduced the exact parser failure using real nsz 4.6.1;
a synthetic NSZ conversion verifies selected-key lookup and link cleanup;
52 NSP tests, four documentation tests and git diff --check pass.
The synthetic payload is unencrypted and uses dummy keys. Real-game
decryption, actual XCZ conversion and a full IPA build remain unverified.

Co-authored-by: Fernando Messias <fernandomessias95@gmail.com>
2026-10-26 10:36:23 +08:00

2.5 KiB

Subsystem references

How the host meets each part of a Switch game, and every failure met so far, one entry per mechanism: symptom, cause, fix (file and function), the games it was found on (linked to their notes in dm/games/<id>/README.md). Start from the symptom index when you have a log line or a visible result; the workflows that lead here are in docs/agents.

File Covers
packing.md NSP script, compressed inputs and build artifacts
rewriter.md The NSO rewriter patch_nso.py: jump tables, exclusive windows, patch area reach, cuts and observation gates, functions without unwind entries, stack and system registers, relocations
memory.md Guest layout, heap and application pool, virtual address memory and the alias region (the SDK's node area), engine allocators, mapping SVCs, running out of memory
threads.md Thread creation and cores, address arbitration, yields and spin waits, events
services.md SDK calls and system services: sm connections, names that changed between SDKs, file system and saves, add-on content, input, keyboard and applets, display and operation mode, accounts and network, settings and fonts, C library and time, modules
movies.md The SDK's movie library: decoder lifecycle, output slots, native-texture output, demuxers and codecs, game movie players
audio.md The audio renderer and its command lists by SDK, AudioOut and devices, codecs, timing
frame-rate.md The host's frame step, engine frame limiters, present intervals and display rates, CPU cost
nvn-objects.md NVN object sizes, memory pools, command memory, queues and syncs, CPU-written textures, NVN entry points
rendering.md The replay on Metal: textures, passes and clears, blend / depth / stencil, vertex input, uniforms and ordering, conditional rendering; the Vulkan and OpenGL layers
shaders.md Shader containers by engine, control sections and code, translation, bindings and handles, shaders compiled at run time, pipelines and caches
game-state.md Saves, scripted state, and game behaviour that looks like a host bug but is not

A new general finding goes into the file and section it belongs to, in the same form, with a line in the symptom index; a fact about one game goes into that game's note.