Files
dolphin/docs/StarletOS_Handoff.md
T
Yaya48andClaude Opus 5.5 cd8c8cedca IOS LLE: optional IPC request/reply metadata trace (StarletOS phase 11 L2)
With DOLPHIN_IPC_TRACE=1 and the original IOS on the emulated Starlet, log
each request Broadway posts (X1: command, descriptor, argument words, an
OPEN's path) and each reply Starlet posts (Y1: original command, result).
Buffer contents are never read; nothing changes without the variable.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 18:40:56 +02:00

6.8 KiB

StarletOS integration handoff — 2026-10-03

This checkpoint publishes the existing emulator changes used by the companion StarletOS repository. It is a recovered source checkpoint, not a new claim that stock IOS or physical hardware is fully supported. The Rust project's current phase is 10C, stock NCD probe H02B awaiting SD staging and its physical result; consult its HANDOFF and phase reports.

Published work

  • The existing local commits c230971f07 (NAND conformance/diagnostic tools) and a8dbbab62d (SD CMD6/conformance report) precede this integration checkpoint.
  • 16 modified files and 6 previously untracked files are now tracked here: ARM bootstrap ELF loader and tests, direct PPC/Starlet launch, read-only NAND and explicit disposable-copy support, diagnostics and regression runner, ARMv5TE LDRD/STRD handling, and the existing MSVC dependency-detection fix.
  • docs/StarletOS_Checkpoint.json records SHA-256s of the 22 exact source files. The companion repository also pins the published Dolphin commit.
  • Every runtime byte matches the source snapshot captured before publication. Only Git attributes, ignore rules and handoff metadata were added this turn.
  • Inspection of 67 changed file versions in the two pending commits found no available private NAND key/content markers, device identifiers or credentials. The staged integration files were inspected separately before publication.
  • No full rebuild, new emulator test or Wii test is claimed by this Git import. Historical qualification remains in the companion project's phase reports.

Other computers

Clone this fork beside starlet-ios-rust, checkout the commit pinned in StarletOS/support/dolphin/manifest.json, then follow the companion docs/DEVELOPMENT.md. The previous private base bundle and source overlay are no longer needed to retrieve these sources: their commits are on this server. Use docs/Wii_Starlet_Bootstrap.md for the existing build and test runner.

NAND, keys, user profiles, traces and generated builds remain local/ignored. The .starlet_user3 profile is needed only for the full Menu scenarios; the standalone Starlet bootstrap probe does not need a NAND or keys. The old .before-p10a-h07b script is retained locally as an ignored backup.

Future sessions

Read AGENTS.md. Record the starting commit, changed behavior, actual tests and remaining work. Update this handoff and any changed file hashes, commit to this fork, then update the pinned dependency in StarletOS. Never label a build, a source comparison or a fake emulator device as a physical Wii observation.

Linux qualification — 2026-10-03

Starting checkout: master 54f5a74bbf4e3be8418a3e98d006436c16a23e40, clean; fetch and fast-forward-only pull found no divergence. All recursive submodules were initialized at their recorded commits. No runtime/source bytes changed; this addition records the first build on the destination Linux PC.

  • Debian 13 x86_64, GCC 14.2.0, CMake 3.31.6, Ninja 1.12.1. Release build in .starlet_linux: StarletBootstrapProbe, dolphin-nogui, tests succeeded. Qt, X11/EGL, desktop audio/input, LLVM disassembly and optional integrations were disabled; headless and tests enabled. The complete configuration is in the companion docs/LINUX_QUALIFICATION.md. This is not a GUI qualification.
  • 95 selected tests of bootstrap ELF loading, ARM execution, SRAM, DMA, timer, register and IPC behavior passed. Google Test also reports two existing disabled tests; they were not enabled. The rest of Dolphin's unit suite was not run.
  • Ten standalone bootstrap runs passed: idle, panic, fatal data, undefined instruction and Phase 02 self-test, each in interpreter and JIT. Rust used the companion's pinned nightly-2026-09-20. The Phase 02 trace still says IRQ delivery deferred and timer flag relatch untested; no hardware inference.
  • SHA-256 of Linux StarletBootstrapProbe: a536e5125c193d3ae23f3a5028e2f34df0359785d86191500c65ce7bcd9610f9. Tests: 6acf5f26206e5afee2b3fbe3fd149b7c7c4dcd1f035d4dc12b89193df1d13a6f. NoGUI: bd0f9420428f07a1c8785c131f430cc0f9eed88a5723e2e56546291fa3b72544.
  • Logs are private/local in companion target/linux-qualification-20261003/; their hashes and commands are summarized in its public traceability report. All 22 pinned integration file hashes still match. The private Menu profile and NAND were not used or modified by these standalone tests. No full Menu replay or physical Wii test is established by this build.

Next: use the companion handoff. Stock-IOS H02B has now been copied to the identified SD and verified after remount; the console result is pending. Rebuilding its PPC binary under Linux remains unqualified (the exact devkitPro packages could not be downloaded: HTTP 403). Preserve the archived probe. This documentation commit changes the dependency pin, not the built code; the executables above still report their build's original commit.

Phase 11 IPC trace for the original IOS — 2026-10-06

Starting checkout: master 78738093ece433e9198213f91d43a3a0d60e3fa2, clean; fetch found no divergence. Companion: StarletOS Phase 11 proposal L2 (docs/PHASE11_PROPOSAL.md), approved by the user.

  • Source/Core/Core/HW/WII_IPC.cpp: with the environment variable DOLPHIN_IPC_TRACE=1 and the original IOS running on the emulated Starlet (WiiIOSLLE), every request Broadway posts (PPCCTRL X1) is logged as IPCTRACE RQ <addr> C <command> FD <fd> A <five argument words> (an OPEN adds P <path>), and every reply Starlet posts (ARMCTRL Y1) as IPCTRACE RP <addr> C <original command> RC <result>. Notice level, WII_IPC log type. Metadata only: buffer contents are never read. Without the variable, or in HLE mode, nothing changes.
  • The file is now an exact integration file (.gitattributes -text, hash in docs/StarletOS_Checkpoint.json, 23 files).
  • Build: .starlet_linux dolphin-emu-nogui and tests rebuilt; the 95 selected Starlet tests (filter in the companion docs/LINUX_QUALIFICATION.md) passed.
  • Emulation smoke run (supporting evidence only, private log in the companion target/phase11/l2/): headless, Null video, the companion's Phase 10C NAND read-only behind a private profile's COW journal, original boot chain to the System Menu for 5 minutes: 74342 requests and 74337 replies traced (5 asynchronous requests still pending at the stop).
  • Limitation: this Linux build has no window platform (X11 disabled; the system lacks the xi development package), so no one can point and click in it yet. A separate X11 build directory is the next step once libxi-dev is installed; the qualified headless build stays unchanged.

Next: the companion's Phase 11 L2c (the user launches the Mii Channel from the Menu in a window with the trace on); analysis stays in the companion.