Reads and IPC-reply audits compare each watched range with what the Starlet and the devices wrote, revealing other writers; register-list transfers in a watched virtual range log their translation. Co-Authored-By: Claude Opus 5.5 <[email protected]>
195 lines
7.5 KiB
JSON
195 lines
7.5 KiB
JSON
{
|
|
"recordedAt": "2026-10-03",
|
|
"purpose": "Publish the exact existing StarletOS integration, without emulator behavior changes",
|
|
"sourceBaseCommit": "a8dbbab62de0ec429d9d887c39b9669c75f51c21",
|
|
"previousRemoteMaster": "b931671fde1e0461cbca37eeb8348a25d44ab76e",
|
|
"companionRepository": "https://git.yaya48.xyz/Yaya48/StarletOS",
|
|
"companionCheckpoint": "efa8b310da2c3e3bd36d762080d42d410a5413c9",
|
|
"files": [
|
|
{
|
|
"path": "CMakeLists.txt",
|
|
"sha256": "1ed308f4ccc9d6a4405d9ec232a4ac64fb88aa9c69a4773ee93fe7c62b357d4d",
|
|
"bytes": 34657
|
|
},
|
|
{
|
|
"path": "Run-Wii-Starlet-Bootstrap.ps1",
|
|
"sha256": "486f99f899fde18371b7bfc2b67fcf12a64ceb748285cc00ae4a71716349d07a",
|
|
"bytes": 18583
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/Boot/Boot.cpp",
|
|
"sha256": "43a0b1c2e60c9a362fe3637ba0aa7b23e8b75ce5e5517cd3515b50ec596c43a5",
|
|
"bytes": 27009
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/CMakeLists.txt",
|
|
"sha256": "32dc85b995c9beb3739cc1ea554c308042e16b6c270071550728d18c85ada79e",
|
|
"bytes": 24388
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/Config/MainSettings.cpp",
|
|
"sha256": "e331e8f7145ebfce5cd3d2be1b3dabe1dce597e8040132402f04a0152526ce56",
|
|
"bytes": 47583
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/Config/MainSettings.h",
|
|
"sha256": "9052fbc4a1da18ea3e8a11a93d62ef06423da74671b1f9b1091bb62f1fcff62b",
|
|
"bytes": 18437
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/ConfigManager.cpp",
|
|
"sha256": "7d369d0264f5a1ad0df5ac44e9b6ea0f514a196ec7f80952218f9439ab17ea10",
|
|
"bytes": 19807
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/HW/HW.cpp",
|
|
"sha256": "7e9bcfff87f526510aad149e781ae57140e32f7b32beafec00271fbcdb152848",
|
|
"bytes": 4526
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/HW/WII_IPC.cpp",
|
|
"sha256": "c3faf948533d494243caa229730dac8a8161144647aad22d219f1b4c9f727030",
|
|
"bytes": 23116
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/ARMCore.cpp",
|
|
"sha256": "262946f1fb95250d1aa1ca73c9bc27ef5f83511731bf84c765a41b04fe7ff70a",
|
|
"bytes": 76503
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/ARMCore.h",
|
|
"sha256": "fa80b0d697e19f0aee178be4b13097ad5466f0bbd0cb9b3e7a74876c045b731f",
|
|
"bytes": 14647
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/ARMJitX64.cpp",
|
|
"sha256": "30ac3e6f74edd40a76406394ed40d66a1ca5b6b9a17b9699a1534d255320108f",
|
|
"bytes": 109425
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/ARMJitX64.h",
|
|
"sha256": "7e99ddee84b738bbb1e72aae0c8e2ee31335499c9eeb9585dfe5725688ad8c9e",
|
|
"bytes": 13979
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/BootstrapELF.cpp",
|
|
"sha256": "344e6e38922b64fa58d9755c2df5fd752b00cf3dc73114809f6e9cada724c42a",
|
|
"bytes": 8554
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/BootstrapELF.h",
|
|
"sha256": "b25184cb4d3934e02220417b8e4b8005fc57010f4d3ab7af697c98f11afb305f",
|
|
"bytes": 943
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/Starlet.cpp",
|
|
"sha256": "2d10d03f2434f03a58f0a8e5f6cdab93ee8e8028d94ad519d137e739b3a99467",
|
|
"bytes": 26556
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/Starlet.h",
|
|
"sha256": "5dbdd1a854fd17377a339886949d80ebb1969d6453a4bdfd5a6f9a503bbb4f2a",
|
|
"bytes": 3553
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/StarletMemory.cpp",
|
|
"sha256": "f46cb37943c0feb9695e5d0541864e06fb47c2cbed7e6d48b03df64006181afd",
|
|
"bytes": 196308
|
|
},
|
|
{
|
|
"path": "Source/Core/Core/IOS/Starlet/StarletMemory.h",
|
|
"sha256": "6d58d81d94b32a647dbc3babea3e943aee307c02d9f1fb8904d8ebaccd22cf05",
|
|
"bytes": 16542
|
|
},
|
|
{
|
|
"path": "Source/Core/DolphinNoGUI/PlatformHeadless.cpp",
|
|
"sha256": "1390cff0a139f0b0a90559e0fda855446d279190827a6c5079718421924f4041",
|
|
"bytes": 2533
|
|
},
|
|
{
|
|
"path": "Source/UnitTests/CMakeLists.txt",
|
|
"sha256": "bb0aeb694c2f328b891e5e961fe0af16c5b30ff1a5f02d4a8d84bdfa5930b581",
|
|
"bytes": 1659
|
|
},
|
|
{
|
|
"path": "Source/UnitTests/Core/CMakeLists.txt",
|
|
"sha256": "563899ae142ba4d0e146bb125bd35c8387a77d25db5ac48cf8ba48a32cb30314",
|
|
"bytes": 2043
|
|
},
|
|
{
|
|
"path": "Source/UnitTests/Core/IOS/Starlet/BootstrapELFTest.cpp",
|
|
"sha256": "62d483a737b68cca00e51c4a93511b4863022ed2f4b90e721ff36325630cfc3a",
|
|
"bytes": 7057
|
|
},
|
|
{
|
|
"path": "Source/UnitTests/Core/IOS/Starlet/DMATest.cpp",
|
|
"sha256": "15b0816292fff6dcf48d485466f7bf495f2128ba625f3e7c1f225614be631e84",
|
|
"bytes": 16450
|
|
},
|
|
{
|
|
"path": "Tools/StarletBootstrapProbe/StarletBootstrapProbe.cpp",
|
|
"sha256": "83873691164d9b92e3be62f699146feaf8ab713bcb45d25821975e7454f56ede",
|
|
"bytes": 6179
|
|
},
|
|
{
|
|
"path": "docs/Wii_Starlet_Bootstrap.md",
|
|
"sha256": "bd7ec585472dc44815da8fcb2be6d726b91f04dd0964d82097842fb4ba764021",
|
|
"bytes": 4937
|
|
}
|
|
],
|
|
"checks": {
|
|
"sourceSnapshotMatchesPriorStarletOSArchive": true,
|
|
"unpublishedHistoricalFileVersionsScanned": 67,
|
|
"privateFindings": 0,
|
|
"newFullBuildOrHardwareTest": "NOT RUN: publication of existing qualified bytes only; see companion phase reports"
|
|
},
|
|
"updates": [
|
|
{
|
|
"recordedAt": "2026-10-06",
|
|
"purpose": "StarletOS Phase 11 proposal L2: IPC request/reply metadata trace while the original IOS runs (DOLPHIN_IPC_TRACE=1); no behavior change otherwise",
|
|
"files": [
|
|
"Source/Core/Core/HW/WII_IPC.cpp"
|
|
]
|
|
},
|
|
{
|
|
"recordedAt": "2026-10-06",
|
|
"purpose": "StarletOS Phase 11 proposal M1: REV_BOOTSTRAP_WIIMOTE=1 gives a bootstrap-ELF (Revolution) session the emulated Wii Remotes with the identity paired in the attached NAND; never writes the NAND; off by default",
|
|
"files": [
|
|
"Source/Core/Core/IOS/Starlet/Starlet.cpp",
|
|
"Source/Core/Core/IOS/Starlet/StarletMemory.cpp",
|
|
"Source/Core/Core/IOS/Starlet/StarletMemory.h"
|
|
]
|
|
},
|
|
{
|
|
"recordedAt": "2026-10-06",
|
|
"purpose": "StarletOS Phase 11 proposal M1e: the IPC trace also prints the paths named by filesystem IOCTLs (64-byte path, 76-byte record at +6, rename pair, first IOCTLV vector of 64 bytes); paths only",
|
|
"files": [
|
|
"Source/Core/Core/HW/WII_IPC.cpp"
|
|
]
|
|
},
|
|
{
|
|
"recordedAt": "2026-10-06",
|
|
"purpose": "StarletOS Phase 11 proposal F1: REV_WATCH=start:size[,...] logs Starlet CPU stores (instruction address, LR) and device DMA writes in those physical ranges; the ARM JIT routes accesses in watched ranges to its bus slow path and records the instruction address there; off by default",
|
|
"files": [
|
|
"Source/Core/Core/IOS/Starlet/Starlet.cpp",
|
|
"Source/Core/Core/IOS/Starlet/StarletMemory.cpp",
|
|
"Source/Core/Core/IOS/Starlet/StarletMemory.h",
|
|
"Source/Core/Core/IOS/Starlet/ARMCore.h",
|
|
"Source/Core/Core/IOS/Starlet/ARMJitX64.cpp",
|
|
"Source/Core/Core/IOS/Starlet/ARMJitX64.h"
|
|
]
|
|
},
|
|
{
|
|
"recordedAt": "2026-10-06",
|
|
"purpose": "StarletOS Phase 11 proposal H1: with REV_WATCH, a shadow of each watched range (Starlet stores and device DMA); Starlet reads that differ from it (REVWATCH DIFF) and IPC-reply audits (REVWATCH AUDIT) reveal other writers; register-list transfers whose virtual range overlaps a watched range run through the architectural helper and log their translation (REVWATCH LDM/STM)",
|
|
"files": [
|
|
"Source/Core/Core/IOS/Starlet/ARMCore.cpp",
|
|
"Source/Core/Core/IOS/Starlet/ARMCore.h",
|
|
"Source/Core/Core/IOS/Starlet/ARMJitX64.cpp",
|
|
"Source/Core/Core/IOS/Starlet/StarletMemory.cpp",
|
|
"Source/Core/Core/IOS/Starlet/StarletMemory.h"
|
|
]
|
|
}
|
|
]
|
|
}
|