Skip to main content

rustynes_core/
scheduler.rs

1//! Lockstep-scheduler types shared across the bus, the IRQ-timing trace
2//! fixture, and (in Phase B+) the CPU IRQ sampling path.
3//!
4//! Currently re-exports [`M2Phase`] (canonical reference enum for "which
5//! half of the 6502 cycle the bus is currently in") from `rustynes-cpu`.
6//! The definition lives in `rustynes-cpu` because the `rustynes_cpu::Bus`
7//! trait method `poll_irq_at_phase` was parameterised over it until v2.9.8
8//! removed that method (ADR 0042); consumers of `rustynes-core` (the test
9//! harness, the `irq_trace` fixture) import the enum from
10//! `rustynes_core::scheduler` via this re-export.
11//!
12//! See `docs/scheduler.md` and `docs/adr/0002-irq-timing-coordination.md`
13//! for the surrounding design.
14
15pub use rustynes_cpu::M2Phase;