Expand description
rustyn64-core — the Bus + the fractional master-clock lockstep scheduler.
The single crate that knows about every chip; it owns the Bus (all
mutable state) and the System run loop, implements each chip’s narrow
bus trait, and re-exports the chip crates’ public types so downstream
consumers (rustyn64-frontend, rustyn64-test-harness) depend on
rustyn64-core, not the chip crates directly. See docs/architecture.md.
#![no_std] + alloc; the determinism contract (no system time / OS RNG /
thread scheduling) is enforced here — the scheduler is one timeline.
Re-exports§
pub use bus::Bus;pub use bus::MiInterrupt;pub use bus::RDRAM_SIZE;pub use bus::RcpRegs;pub use scheduler::COUNT_DIVIDER;pub use scheduler::CPU_DIVIDER;pub use scheduler::CPU_HZ;pub use scheduler::MASTER_HZ;pub use scheduler::PHASE_PERIOD;pub use scheduler::PIF_DIVIDER;pub use scheduler::RCP_DIVIDER;pub use scheduler::RCP_HZ;pub use scheduler::SI_DIVIDER;pub use scheduler::System;pub use vi::Vi;pub use rustyn64_audio as rustyn64_audio_crate;pub use rustyn64_cart as rustyn64_cart_crate;pub use rustyn64_cpu as rustyn64_cpu_crate;pub use rustyn64_rdp as rustyn64_rdp_crate;pub use rustyn64_rsp as rustyn64_rsp_crate;pub use rustyn64_audio as audio;pub use rustyn64_cart as cart;pub use rustyn64_cpu as cpu;pub use rustyn64_rdp as rdp;pub use rustyn64_rsp as rsp;
Modules§
- boot
- Retail cartridge boot — the console boot a real N64 performs, moved here from the test harness so the frontend can boot a game too (both consume it).
- bus
- The Bus owns everything mutable.
- scheduler
- The canonical master-clock scheduler — the heart of the emulator.
- vi
- Video Interface (VI) register file.
Functions§
- version
- Returns the crate version string.