Skip to main content

Crate rusty2600_core

Crate rusty2600_core 

Source
Expand description

rusty2600-core — the Bus + the master-clock lockstep scheduler. The single crate that knows about every chip; it re-exports their public types so downstream consumers depend on rusty2600-core, not the chip crates directly.

The timebase is integer TIA color clocks with the 6507 on every third one and the WSYNC/RDY beam-stall freezing the CPU — see scheduler. The Bus owns the TIA (video + audio), the RIOT (RAM + I/O + timer), and the cart board; there is no separate WRAM (the 2600’s only RAM is in the RIOT) — see bus.

Re-exports§

pub use bus::AudioBus;
pub use bus::Bus;
pub use bus::VideoBus;
pub use bus::WriteEvent;
pub use bus::WriteLog;
pub use movie::Movie;
pub use movie::MovieError;
pub use movie::MovieFrame;
pub use movie::MovieRegion;
pub use movie::MovieStart;
pub use save_state::SaveState;
pub use save_state::SaveStateError;
pub use scheduler::System;
pub use rusty2600_cart as cart;
pub use rusty2600_cpu as cpu;
pub use rusty2600_riot as riot;
pub use rusty2600_tia as tia;

Modules§

bus
The Bus owns everything mutable.
movie
TAS movies — a versioned, deterministic recording of a play session.
save_state
Save-states — a versioned binary snapshot of an entire System.
scheduler
The master-clock lockstep scheduler — the heart of the emulator.

Enums§

Tier
Accuracy-evidence tier for a supported bankswitch scheme.

Traits§

Board
A cartridge bankswitch board.

Functions§

detect
Detect the bankswitch scheme from a ROM image and build the board.