Files
Claude 35e045f9f7 Port the runtime and translator fixes from upstream's KartPad batch
From patchzyy/Wiicompiled 6f14bde (#244), runtime and translator parts only:
- Keep KD and NCD devices available while networking is off; only IP and
  SSL need the network.
- Run RFLiIsWorking's alarm pump in a private interrupt context so callback
  register writes don't clobber the caller, and release the alarm recursion
  guard before rescheduling.
- Share one LR continuation dispatch per translated function when it has
  several continuation calls.

The renderer half of that commit is left out: it conflicts with the stereo
renderer, and upstream reverted part of it (e409d9f) for stutters.

(cherry picked from part of commit 6f14bde26a4ed6390d4f18e1b3a9c1be6819d589)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011tcyLz63pXjoYEwsFjfg8F
2026-10-05 12:58:10 +00:00
..
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00

Translator tests

Translator.Tests is the default binary-free suite. It covers the decoder, IR/SSA, code generation helpers, parsers with synthetic inputs, project-manifest loading, DOL-only image construction, and generic entry-point translation.

The older asset-backed and host-C++-compiler-backed test sources are intentionally retained in Translator.Tests but excluded in its project file. They mixed MKWii fixtures, several compiler selection strategies, and private-method reflection checks, which made the normal suite both slow and red on a clean Windows setup. They should become a separate opt-in integration project when that work is useful again.

An external generic DOL can be included without adding it to the repository:

$env:RECOMP_GENERIC_DOL = 'D:\path\to\main.dol'
dotnet test translator/Translator.sln -c Release

The test treats the file as a generic DOL: it reads the DOL entry point, builds a DOL-only image, and translates that entry point without game-specific addresses or bindings.