Skip to content

feat(dma): model cycle-driven OAM transfers on the bus#4

Merged
pakitovic merged 1 commit into
mainfrom
codex/dma-oam-bus-transfer
Mar 19, 2026
Merged

feat(dma): model cycle-driven OAM transfers on the bus#4
pakitovic merged 1 commit into
mainfrom
codex/dma-oam-bus-transfer

Conversation

@pakitovic

Copy link
Copy Markdown
Owner

Summary

  • model DMG OAM DMA as a shared T-cycle transfer with a typed transfer contract, explicit 2-T-cycle startup seam, published bus-impact state, and lifecycle/status views that do not depend on FF46 readback
  • route OAM DMA byte movement through the shared machine bus and arbitration path, feed live DMA constraints into CPU and bus arbitration, and extend DMA and bus scheduler traces with the published transfer and arbitration metadata
  • add focused DMA unit and integration coverage for startup timing, HRAM-only restriction onset, partial-progress observability, completion ordering, copied OAM contents, shared trace visibility, and arbitration precedence
  • update the DMA handbook, testing guidance, and roadmap status/phase notes to document the startup seam, restriction timing, SameBoy timing cross-check, and Phase 3.5 closure
  • add extra regression coverage for APU register readback/trigger behavior, serial startup and trace reporting, and cartridge size-decoder and header parsing edge cases

Validation

  • make check

Model DMG OAM DMA as a shared T-cycle transfer with an explicit startup seam, published CPU HRAM-only restrictions, and real byte movement through the bus arbitration path.

Expose common DMA transfer metadata and lifecycle/status views for future families, extend scheduler/bus trace output with DMA arbitration state, and add focused machine-level DMA coverage plus trace fixture updates.

Include extra regression coverage for APU register behavior, serial startup/control state, and cartridge header size decoding edge cases.
@pakitovic
pakitovic merged commit e6defbe into main Mar 19, 2026
1 check passed
@pakitovic
pakitovic deleted the codex/dma-oam-bus-transfer branch March 22, 2026 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant