48 lines
5.7 KiB
Markdown
48 lines
5.7 KiB
Markdown
# Analysis Evidence Map
|
|
|
|
## Purpose
|
|
|
|
This page maps the durable outputs under `analysis/` to the wiki pages that interpret them. It is an inventory of locally generated evidence, not a claim that every recovered label or emulator behavior is target-confirmed.
|
|
|
|
Confidence terms used throughout the wiki:
|
|
|
|
- **Confirmed static evidence**: directly supported by a target file, hash, string offset, decoded table, or reproducible parser output.
|
|
- **Validated host artifact**: a host-side parser or emulator passed its local checks, but has not necessarily been accepted by the game or physical hardware.
|
|
- **Inferred label**: derived from ordering, ASR, content matching, or structural correlation and still needs native/script confirmation.
|
|
- **Runtime observation**: observed only in the generated QEMU guest copy; it does not modify or authenticate the extracted rootfs evidence.
|
|
|
|
## Coverage Summary
|
|
|
|
| Analysis area | Durable evidence | Current result | Interpretation |
|
|
| --- | --- | --- | --- |
|
|
| Static binary and package triage | `analysis/static-triage/` | Offset strings and ELF metadata for the main game, SPIKE menu, and netbridge; `.sidx` paths; Intel HEX address ranges | Confirmed static evidence; see `main-game-behavior.md` and `package-image-firmware.md`. |
|
|
| Whole-rootfs audio search | `analysis/audio-search/summary.json` | 7,375 files scanned; 281 files had parseable media streams; none had an audio stream | Supports the conclusion that gameplay audio is stored in Radium `image.bin`, not as ordinary rootfs audio files; see `audio-asset-search.md`. |
|
|
| Main Radium image | `analysis/radium-image/header.json` | Section 8 CRC matches (`0x3f401e79`); all 2,491 PCM rows are bounded; 12,710 sound references resolve; 12,655 command streams decode with zero malformed streams | Confirmed parser output; see `radium-image-format.md` and `sound-export.md`. |
|
|
| SPIKE menu Radium image | `analysis/radium-spike-menu-image/header.json` | Section 8 CRC matches (`0xb8fe11f9`); all 54 PCM rows are bounded; 300 sound references resolve; 340 command streams decode with zero malformed streams | Confirmed parser output; see `sound-spike-menu.md`. |
|
|
| Radium command tables | `analysis/radium-image/command_opcode_rows.tsv`, `analysis/radium-spike-menu-image/command_opcode_rows.tsv` | 108,765 main-game command rows across 13 observed opcodes; 2,065 SPIKE-menu rows across 10 opcodes | The stream structure is decoded, but most non-`0x0b` opcode semantics remain open. |
|
|
| Radium bitmaps | `analysis/radium-image/section3_bitmap_manifest.tsv` | 1,477 records: 1,449 raw indexed previews and 28 compact payloads still undecoded | Partial static recovery; see `radium-section3-bitmaps.md`. |
|
|
| Compiled Godot scripts | `analysis/godot-introspection/` | 93 `.gdc` script summaries, 760 sound constants, and 772 validated sound-reference rows | String/catalog recovery is confirmed; general bytecode/control-flow recovery remains incomplete. |
|
|
| Sound naming | `analysis/all-sound-best-name-manifest.tsv` | One best-available name for 2,545 exports: 2,491 main-game and 54 SPIKE-menu WAVs | Mixed provenance. Native names are stronger than Pokedex alignment, catalog/ASR matches, draft ASR, and structural fallbacks. |
|
|
| Native sound names | `analysis/radium-image/native_named_sound_manifest.tsv` | 25 registrations recovered from direct native call sites | Confirmed static names. |
|
|
| Pokedex voice alignment | `analysis/radium-image/pokedex_voice_label_manifest.tsv` | 1,137 aligned voice rows | Strong structural/content alignment, but not a general native object-name map. |
|
|
| ASR and catalog enrichment | `analysis/radium-image/asr_draft_sound_labels.tsv`, `asr_catalog_sound_label_candidates.tsv`, `asr_review_sound_label_candidates.tsv` | 2,486 ASR rows, 220 catalog matches, and 169 low-confidence review candidates | Inferred labels. The viewer isolates these catalogs from research search by default. |
|
|
| Conagent backend | `analysis/conagent-machine-emulator/` | Configurable host-side HTTP/time/machine-state emulator | Validated host artifact; protocol coverage is intentionally partial; see `conagent-machine-emulator.md`. |
|
|
| Netbridge | `analysis/netbridge-emulator/`, `analysis/netbridge-pico-firmware/` | Python UART emulator plus portable/Pico protocol model for recovered framing, version, CRC, and stub node commands | Host tests pass. Full game acceptance and live electrical/timing validation remain open; see `netbridge-re.md`. |
|
|
| Topper node | `analysis/topper-emulator/` | MicroPython model for the recovered serial-key command path | Static protocol recovery plus host artifact; live nodebus validation remains open. |
|
|
|
|
## Important Boundaries
|
|
|
|
- `analysis/` is derived material. Original target paths and target hashes remain in `artifact-index.md`.
|
|
- CRC validation proves that the decoded table matches the extracted image bytes; it does not prove every inferred semantic label.
|
|
- ASR text is a search aid. It is not a native symbol source and may contain recognition errors.
|
|
- Emulator unit tests validate the recreated model, not compatibility with every game state or the physical SPIKE bus.
|
|
- QEMU results come from `emulation/work/rootfs.ext4`, a generated copy with injected helpers and shims. See `docker-qemu-emulation.md` for the runtime boundary and current blockers.
|
|
|
|
## Open Enrichment Work
|
|
|
|
1. Assign semantics to the remaining Radium opcodes by tracing native consumers.
|
|
2. Decode the 28 compact section 3 bitmap payloads and verify palette/alpha behavior.
|
|
3. Recover broader `.gdc` bytecode control flow where strings alone do not establish reachability.
|
|
4. Promote inferred sound names only when supported by native registration, script linkage, or runtime evidence.
|
|
5. Validate netbridge and topper models against the game or hardware captures before describing them as target-compatible.
|