J Sync 7/21/26
This commit is contained in:
@@ -1,5 +1,14 @@
|
||||
# Artifact Index
|
||||
|
||||
## Target Firmware Evidence
|
||||
|
||||
These files are unmodified target-root artifacts used for static protocol
|
||||
recovery.
|
||||
|
||||
| SHA-256 | Target path | Notes |
|
||||
| --- | --- | --- |
|
||||
| `f8eb96998a32ff86008663f7f07f2df76c32a9c86200f690c215dc36917391a9` | `/games/pokemon_pro/spike3/powerdist/powerdist_ext.hex` | 32,799-byte Intel HEX image; command `0x15` poll and unsolicited sequence-0 cabinet-input report paths are documented in `netbridge-re.md`. |
|
||||
|
||||
## Process Emulator Source Artifacts
|
||||
|
||||
These are clean-room source files. Their generated capsule, run logs, copied
|
||||
@@ -25,22 +34,59 @@ Generated capsule manifests record hashes for `/games/pokemon_pro/game`, both
|
||||
Radium `image.bin` files, Godot `main.pck`, the menu/display executables, the
|
||||
extracted loader, both generated preload DSOs, and the copied Mesa overlay.
|
||||
|
||||
## VPX Geometry Recreation Artifacts
|
||||
## VPX Clean Rebuild and Historical Recreation Artifacts
|
||||
|
||||
These are generated private-use development artifacts. The assembled table now
|
||||
embeds a registered overhead photograph and five private decal assets. It does
|
||||
not embed game audio, scoring code, or target machine code. The manual,
|
||||
photographs, extracted graphics, and assembled table must remain within the
|
||||
authorized private-use distribution boundary.
|
||||
The active clean-room implementation is under `emulation/vpx-rebuild/`. Its
|
||||
maintained and generated artifacts are:
|
||||
|
||||
| Path | Artifact role | Validation and handling caveat |
|
||||
| --- | --- | --- |
|
||||
| `emulation/playfield-contract/pokemon-pro-hardware.json` | Canonical geometry-free contract for 45 switches, 11 sensors, 9 cabinet controls, 13 drivers, and 113 logical lamps. | Static contract/consumer validation is recorded in `emulation/playfield-contract/VALIDATION.md`; it is not live-game proof. |
|
||||
| `emulation/vpx-rebuild/design/geometry.json` | Clean-room Pro XY/Z, mechanism, collision, and physics source of truth. | Top-down placement is registered to official evidence; installed Z, force, friction, clearance, and timing values still need physical-machine measurement. |
|
||||
| `emulation/vpx-rebuild/design/lights.json` | Independent 113-lamp trace and confidence records. | Exact-address mapping is statically validated; rendered response still needs final integrated capture. |
|
||||
| `emulation/vpx-rebuild/design/REFERENCE.md` | Edition scope, official/secondary source URLs, and accuracy boundary. | Official Stern evidence wins over secondary sources. |
|
||||
| `emulation/vpx-rebuild/assets/playfield/pokemon-pro-official-registered.png` | Deterministically registered 952x2115 private-use base image. | Official photograph contains baked-in hardware/lighting; not a licensed bare-playfield scan and not redistributable by this assessment. |
|
||||
| `emulation/vpx-rebuild/assets/models/` | Original procedural VPX mechanism and toy meshes. | Simulation models, not production CAD or direct physical scans. |
|
||||
| `emulation/vpx-rebuild/assets/sounds/` | Original procedural CC0 bank containing 69 mechanical/physics source events. | Contains no copied game samples; QEMU remains the source of licensed music, speech, and game effects. |
|
||||
| `emulation/vpx-rebuild/script/PokemonPro_Rebuild.vbs.in` | Clean standalone/SPIKE3 table behavior and integration template. | Maintained input; generated `source/script.vbs` and distribution sidecar must not be hand-edited. |
|
||||
| `emulation/vpx-rebuild/tools/generate_table.py` | Deterministic unpacked-VPX source generator and contract binder. | Generator/source checks do not establish live gameplay. |
|
||||
| `emulation/vpx-rebuild/source/` | Generated diff-friendly VPX source. | Rebuilt from maintained inputs; do not hand-edit. |
|
||||
| `emulation/vpx-rebuild/dist/PokemonPro_Rebuild.vpx` | Active private-use VPX 10.8.1 assembled table selected by the default launcher; 5,902,336 bytes, SHA-256 `ddce5d48033ee3c6e67248910a73897293e8b9c36eee29df164160a93572a30e`. | Generated output; exact current hash also appears in `qa/rebuild-validation.json` and `qa/runtime-smoke.log`. |
|
||||
| `emulation/vpx-rebuild/dist/PokemonPro_Rebuild.vbs` | Sidecar matching the active assembled table. | Generated output; round-trip script equality is checked by `build.sh`. |
|
||||
| `emulation/vpx-rebuild/qa/rebuild-validation.json` | Machine-readable current 359-item build, asset, contract, geometry, lamp, and round-trip report. | A `pass` is static/generated-source evidence, not physical-machine calibration or a complete game. |
|
||||
| `emulation/vpx-rebuild/qa/runtime-smoke.log` | Exact-current-table VPX 10.8.1 runtime-load record: table/VBS load, script compile/start, Metal initialization, two frames, clean close, and exit code 0. | Uses bounded `CaptureAttract`, not interactive `-Play`; it proves runtime/render startup but not a shot or full mechanism sequence. |
|
||||
| `emulation/vpx-rebuild/qa/vpx-playfield-capture.png` | 1024x1024 frame from the exact-current-table runtime smoke; SHA-256 `5c99e798e467c8475b2c1aa48a4134881d9293d915aafde4e998ed6ebea5871c`. | Render-review evidence; photographed base art still contains baked-in hardware and lighting. |
|
||||
|
||||
The registered photograph, service manual, Pokemon/Stern imagery, and assembled
|
||||
table must remain within the authorized private-use boundary. The table does
|
||||
not embed target machine code or the game's scoring rules. See
|
||||
`vpx-table-recreation.md` for the separated static, VPX-runtime, integrated,
|
||||
and hardware validation states.
|
||||
|
||||
The following SHA-256 table is the preserved earlier VPX/bridge milestone.
|
||||
Entries under `emulation/vpx/` describe the deprecated greybox/manual workflow;
|
||||
they are retained for audit and are not inputs or defaults for the clean
|
||||
rebuild. Shared plugin, launcher, guest-helper, and emulator paths may still be
|
||||
active, but the hashes below are milestone hashes rather than an assertion
|
||||
that every shared file is unchanged today.
|
||||
|
||||
| SHA-256 | Path | Notes |
|
||||
| --- | --- | --- |
|
||||
| `49f132dea4b957d2bd9b2640a69fdc49f4e6f69e3efe473cc0ad1352a4e18fc8` | `emulation/vpx/PokemonPro_Greybox.vpx` | 2,392,064-byte VPX 10.8.1 table; 323 game items, 56 contacts, 13 drivers, 113 logical lamp locations, six trough balls, one captive ball, registered overhead texture, and five private decals. |
|
||||
| `3dbeb3afbe3b848ec41b072cc736c2034d597e178bbf677a9821114c4d115610` | `emulation/vpx/layout.json` | Versioned 952x2115 manifest with 45 switches, 11 sensors, 13 drivers, 113 lamps expanded to 150 exact channels, physics provenance, ball inventory, and mechanism mappings. |
|
||||
| `13f5a89e6487e306e0621d5f4a2914c03324a168a97882fc9f893ee5835c41a3` | `emulation/vpx/PokemonPro_Greybox.vbs` | Standalone/SPIKE3/QA control, plugin bridge, switch/lamp/driver behavior, traps, drains, and deterministic launcher/mechanism tests. Current native stop point: unsupported `Service1Key` through `Service4Key` identifiers. |
|
||||
| `5881967247f52b1016b4552401c666cb331f1870aaba8328877f043796d1823a` | `emulation/vpx/tools/generate_layout.py` | Deterministic hardware, geometry, physics, asset-registration, and CPU-SPI route manifest generator. |
|
||||
| `74e978ecdb3b40182ac79adf8c6f93538fa071c316e7a3426c389b1b5b4cb6ca` | `emulation/vpx/tools/generate_table.py` | Rounded collision paths, layered VPX source, balls/mechanisms, private texture/decal registration, controller integration, QA, and overlays. |
|
||||
| `a195a95b8ddf7a914b87f12dff2d137f543f515a6424900e176a8c2e4a51c076` | `emulation/VPX_EMULATOR_STATUS.md` | Current implementation inventory, reproduced native stop points, ordered recovery plan, and acceptance checklist for branch `vpx-emulator`. |
|
||||
| `fd64431a28fb08a880acff091dc752301b785a2c93fe3985f9fb316db01026a0` | `emulation/vpx/PokemonPro_Greybox.vpx` | Deprecated historical VPX 10.8.1 greybox milestone hash; the current working copy may differ. The clean rebuild does not inspect or write it, and it is not an input or runtime default. |
|
||||
| `652b59cbfa3d38bae9194e096a9a15d6e9e7ea73b077707aced2827a774b8a84` | `emulation/vpx/layout.json` | Historical greybox geometry/mapping manifest; superseded for active electrical mapping by `emulation/playfield-contract/pokemon-pro-hardware.json`. |
|
||||
| `0e5047593cc1b4f6e53fb9324165c08adf8b1c6d1c7ad430281fd581c1278eeb` | `emulation/vpx-plugin/tests/test_bridge.cpp` | VPX bridge protocol fixture with the live-verified Service Back, Up, Down, and Enter CPU-SPI addresses; exercised by the plugin mapping, reconnect, and 10,000-pulse tests. |
|
||||
| `18028e0065d4260799264ec255999a8e4ced4c7e4213484379752d360e1f4768` | `emulation/vpx/PokemonPro_Greybox.vbs` | Deprecated historical greybox controller/QA sidecar; not the active clean-table script. |
|
||||
| `127c653b08aa275afd86141bef1ad7d44a48525f034d1bdd1a0188671d61bd04` | `emulation/vpx/manual/PokemonPro_Manual.vpx` | Historical editor-owned derivative of the greybox workflow; not the active clean-table source of truth. |
|
||||
| `560f8108ed1224945a5597f8d960e266fea5feea74f813a17b3a6a7ea2233ad8` | `emulation/vpx/prepare-manual-table.sh` | Creates the protected manual table, refreshes only its generated controller sidecar, and backs up before an explicit reset. |
|
||||
| `1c9826c3c302b24d66ccce780eb65b75ead20be59dcd062667d921e9effb6f11` | `emulation/vpx/edit-manual-macos.sh` | Opens the manual table in standalone VPX with an isolated preferences path and prints Live Editor save guidance. |
|
||||
| `ebb09dfb3b708f2b1e363c49f59ca78b7e64067ab50a9d598b4d2d5c07dfa972` | `emulation/vpx/test-manual-macos.sh` | Fast standalone physics launcher for the editor-owned table. |
|
||||
| `95819aec421da92aa2a6305c0b5e9bebb56ad18f86400212e85d6b42badaedc7` | `emulation/scripts/run-playable-manual-macos.sh` | Full native QEMU/HVF and VPX integration launcher using the editor-owned table. |
|
||||
| `2777d9a83a42a2ef076e6956bd8c15bfc54e1cff99eddbd012385fd5db90db5b` | `emulation/scripts/run-playable-macos.sh` | Native cabinet supervisor with matching VPX/QEMU-focus control instructions and automatic generated-rootfs guest-helper refresh. |
|
||||
| `b7a864e250907952e83239a6b3dd69923bca86fed0816a3c5a99a026b92edcf5` | `emulation/scripts/run-macos.sh` | Native QEMU/HVF supervisor with playfield bridge and explicit optional/required conagent backend collision handling. |
|
||||
| `d08a4f577ed481371d16f734e360553ea19f49c8afab83d2c4d528af51abc270` | `emulation/guest-tools/keyboard-switch-relay.c` | AArch64 guest relay using the cabinet map when QEMU Cocoa has focus: Shift flippers, `1` Start, `5` coin, Return/Space Action, and `7`/`8`/`9`/`0` service controls. Installed binary SHA-256 `55054003950873900b5ce203292846f158b861060dbdd2e04b5be4a8afa1869c` was verified from the rebuilt ext4 image. |
|
||||
| `732437382c6bc88df080e3a9c1cf66803eb35b1e6f736a76896ab35d8f48c0e2` | `emulation/vpx/tools/generate_layout.py` | Deterministic hardware, geometry, physics, asset-registration, live-corrected service CPU-SPI, and power-distribution route manifest generator. |
|
||||
| `cedb8d18f491d06c1dde2b5aa2fdee9f4786001ac0be029e672d25204e97f709` | `emulation/vpx/tools/generate_table.py` | Rounded collision paths, layered VPX source, controller integration, QA, and exact cabinet-route validation. |
|
||||
| `836e26f693990680688780befa5d826c37d656d827f9448f68ececcede777230` | `emulation/VPX_EMULATOR_STATUS.md` | Current implementation inventory, repaired CPU-SPI/powerdist input paths, persistent-provisioning stop point, manual geometry workflow, and acceptance checklist for branch `vpx-emulator`. |
|
||||
| `e13eb92e99a806ea86625de8cc426876929625190f763bfe93cd2e821efd3f88` | `emulation/vpx/tools/verify_collision_topology.py` | Static assertions for continuous collision/visual rail inventory and runtime/editor flags. |
|
||||
| `829c929b4ed51d2d7544cfae1aeb0b8571b50e1d71de299bcfdc0535844372e1` | `emulation/vpx/qa/collision-topology.json` | Per-path polygon area, winding, vertex, and self-intersection report. |
|
||||
| `e3ed8627e92c9175791c6aad0a2868df7dd66ac53602663431c6cd0c7a98a52a` | `emulation/vpx/qa/collision-validation.json` | Passing 13-collision/13-visual topology summary with zero legacy segments and intersections. |
|
||||
@@ -181,9 +227,9 @@ These files are workspace-local generated artifacts, not target-root files.
|
||||
| `b5ddb933f125cf6b54b81c56f4e3430ded50d843c045a49f0727a1f7ebc5f66f` | `rootfs-triage-wiki/scripts/harvest_loose_openable_assets.py` | Static loose-asset copier for PNG, TTF, MP4, and MOV files. |
|
||||
| `257cb2d9ba653385aba63157a3bc143bb479c5188071ef529996d3f5da258b71` | `analysis/topper-emulator/topper_emulator.py` | MicroPython SPIKE node-board emulator for the Magikarp topper serial-key path; 6,452 bytes. |
|
||||
| `32263b75f49aefba04596c196f85cc4ae4477eb536f767fcdeac7c0d5fc40e9b` | `analysis/topper-emulator/README.md` | Emulator notes and recovered command summary; 5,820 bytes. |
|
||||
| `5b510902f4027e364702a61338ff613bde2b77d8441ba2703b343e642cac0453` | `analysis/netbridge-emulator/netbridge_emu.py` | Python host-side emulator for the RP2040 netbridge UART protocol, bridge commands, CRC response, PTY/socket serving, and a stub nodebus device. |
|
||||
| `542b9835e6b6d8107d68cc6d62bfdfe85995fe61029c36ffcdba3e0295f6d455` | `analysis/netbridge-emulator/test_netbridge_emu.py` | Unit tests for host frame escaping/checksum, version response, firmware CRC response, and node serial-key command. |
|
||||
| `b7a05a1f4d3cffc7d163e26afed6fa5402ee1a94df1687447dc1aefe067e03cd` | `analysis/netbridge-emulator/README.md` | Runbook and porting notes for the host-side netbridge emulator. |
|
||||
| `75c5c40ec0835140c3ee26474144777e69eb0947f57d428b72000470f0a77aaa` | `analysis/netbridge-emulator/netbridge_emu.py` | Live netbridge and `spike3-playfield/v1` service with manifest cabinet aliases, CPU-SPI routing, polled and unsolicited powerdist input reports, ordered output, and safe QEMU synchronization. |
|
||||
| `7fcbb6b3752ddf7212d996660871d4b96b3f83666266e82fb027e4478bd46769` | `analysis/netbridge-emulator/test_netbridge_emu.py` | Sixty-eight protocol, routing, active-low wire-state, unsolicited UART, event-pump, output, synchronization, and recovery tests. |
|
||||
| `e4e8828d0a0bcf7c533f67d03d69e83fd9bab93278d6ac8f084a2699b12be8f0` | `analysis/netbridge-emulator/README.md` | Runbook and porting notes for the host-side netbridge emulator. |
|
||||
| `a27f5e00f09a014391418f6822dc6c5481c224ef0cf42786b8b290ecd508d9c3` | `analysis/netbridge-pico-firmware/CMakeLists.txt` | Pico SDK and portable host-test build file for the RP2040 netbridge firmware recreation. |
|
||||
| `d01867dc66873799b966cf24b7574d9e389277f1556d88b92fd61342ea760222` | `analysis/netbridge-pico-firmware/include/netbridge_protocol.h` | Shared host-frame protocol and model API for the Pico firmware recreation. |
|
||||
| `918b434ad6c8b4a0455b4eea0bd7ed8c341fb4e709bc6012c0aa43b4c074601e` | `analysis/netbridge-pico-firmware/src/netbridge_protocol.c` | Portable STX/ETX/ESC frame encoder/decoder for the Pico firmware recreation. |
|
||||
@@ -214,7 +260,7 @@ These files are workspace-local generated support artifacts, not target-root evi
|
||||
| `61f62ec692e91cddcd1dd81d7edb32aaeb7951f80c82f64b472fa54f9009e217` | `emulation/README.md` | User-facing emulator runbook, optional netbridge mode, and current limitations. |
|
||||
| `239ddcc7b6928582df66273cd557bf939dbc14f792f554c6ee2e6d4844ac00ca` | `rootfs-triage-wiki/docker-qemu-emulation.md` | Wiki page documenting implementation, verified progress, optional netbridge wiring, and the current display and hardware blockers. |
|
||||
| `62eddb1582076ca9e07b3910e71673e7d15e4cd3599d73ce51e3a4148e5b95ad` | `rootfs-triage-wiki/analysis-evidence-map.md` | Cross-reference from durable `analysis/` outputs to wiki findings, confidence boundaries, and open enrichment work. |
|
||||
| `ac568dc027509f7c30475f444490771cdfa37e2510deeb32cda29367ee5ec78a` | `rootfs-triage-wiki/netbridge-re.md` | Wiki page documenting Ghidra-backed netbridge protocol recovery, emulator use, Docker wiring, and Pico firmware recreation. |
|
||||
| `3ec9bb35a9fc74f992f84fc71405b5dda9c8c096312263902dfc850597ff8a98` | `rootfs-triage-wiki/netbridge-re.md` | Wiki page documenting Ghidra-backed netbridge and power-distribution protocol recovery, emulator use, Docker wiring, and Pico firmware recreation. |
|
||||
|
||||
## Generated Static Triage Artifacts
|
||||
|
||||
|
||||
Reference in New Issue
Block a user