DMA census: classify conveyor and moving-platform frames
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 15/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- godot, rust
- Domain
- game-dev, reverse-engineering
Research direction
Start from the DMA census tests in psiv-core's US-image suite, which depend on dma_census.rs from #595; that file is not yet published, so wait for it. Then trace the DMAPlanes_VInt, DMAPlane_A_VInt and DMAPlane_B_VInt calls in the ConveyorRide and RidePlatform implementations for the ten assigned scenes, and run scene_runner::mechanics_tests and the session_vahal platform tests. Done means each assigned census row names its consuming mechanic and loop phase, per-tick movement and frame ownership are asserted for all four belt directions and both platform directions, and a regression control catches an omitted or duplicated DMA frame. The task requires the original US ROM, and it is scoped to a single PR under the parent issue's rules.
Written by the indexing model from the issue text.
Description
Child of https://github.com/TusanHomichi/PSIV/issues/599. Finish only this task in one fresh session and one PR. The parent's original authorization boundaries still apply; this child grants no additional authority. Do not read earlier sessions' transcripts.
Child of TusanHomichi/PSIV#599; deliver one PR. Await publication of #595's dma_census.rs and preserve its one-frame DmaPlanes behavior. Own exactly ten scenes: Event_ConveyorBeltDown/Up/Right/Left, Event_VahFortMovingPlatform1/2, and Event_WpnPlntMovingPlatform1/2/3/4. Trace every uncovered DMAPlanes_VInt, DMAPlane_A_VInt or DMAPlane_B_VInt call against verified US bytes and the ConveyorRide/RidePlatform implementations. Record the named mechanic and loop phase that spends each frame, including repeated executions. Add genuinely missing synchronization frames through the owning mechanic without adding a second frame to existing movement ticks. Leave layout-refresh CPU and boundary modeling to #546. Preserve unrelated census rows, movement, collision and update policies. Original #599 authority and protected-input rules apply; no earlier session transcripts, unrelated repairs, release, deployment or asset distribution.
Verification: Run psiv-core's US-image dma_census tests, scene_runner::mechanics_tests, and the relevant session_vahal/runtime platform tests through documented locks. Assert per-tick movement and frame ownership for both platform directions and all four belt directions. Include a regression control detecting an omitted or duplicated DMA frame. Every assigned row names its consuming mechanic or disappears after a verified fix.
If this is too big, publish any progress, split it with proj split FILE (a JSON array of title/body/check tasks), then end the session. Wait for the PR to land before declaring this task done.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 8h 43m
- Merged PRs (30d)
- 288
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TusanHomichi/PSIV
-
priority: medium ready
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TusanHomichi/PSIV#646 ·
Maintainers usually reply within 1 day
-
later
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TusanHomichi/PSIV#504 ·
Maintainers usually reply within 1 day
-
later priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TusanHomichi/PSIV#462 ·
Maintainers usually reply within 1 day
-
later priority: medium
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TusanHomichi/PSIV#446 ·
Maintainers usually reply within 1 day
-
good first issue ready tooling
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
TusanHomichi/PSIV#146 ·
Maintainers usually reply within 1 day
All issues in TusanHomichi/PSIV
Similar issues
-
ライブラリを追加Openpriority middle
Difficulty 1/5 Under an hour Newbie friendliness 62/100
KATO-Hiro/AtCoderClans#13015 ·
Maintainers usually reply within 1 day
-
needs-review
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
UCS-Care-Group/mailcraft#1429 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
area:tui bug P1
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
agent-of-empires/agent-of-empires#5705 · 1 comment ·
Maintainers usually reply within 1 day
-
bug lab rust-mcp
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day