pub struct Console { /* private fields */ }
Expand description
Used to act as an owner of everything needed to run a game Is also responsible for holding ram, as well as communication between processors.
Implementations§
Source§impl Console
impl Console
pub fn new(cart: Cart, sample_rate: u32) -> Self
Sourcepub fn step<'a, A, V>(&'a mut self, audio: &mut A, video: &mut V) -> i32where
A: AudioDevice,
V: VideoDevice,
pub fn step<'a, A, V>(&'a mut self, audio: &mut A, video: &mut V) -> i32where
A: AudioDevice,
V: VideoDevice,
Advance the console by a single CPU cycle.
This needs access to the audio and video devices, because the APU may generate audio samples, and the PPU may generate a frame.
Sourcepub fn step_micros<'a, A, V>(
&'a mut self,
audio: &mut A,
video: &mut V,
micros: u32,
)where
A: AudioDevice,
V: VideoDevice,
pub fn step_micros<'a, A, V>(
&'a mut self,
audio: &mut A,
video: &mut V,
micros: u32,
)where
A: AudioDevice,
V: VideoDevice,
Advance the console by a certain number of micro seconds.
Sourcepub fn step_frame<'a, A, V>(&'a mut self, audio: &mut A, video: &mut V)where
A: AudioDevice,
V: VideoDevice,
pub fn step_frame<'a, A, V>(&'a mut self, audio: &mut A, video: &mut V)where
A: AudioDevice,
V: VideoDevice,
Advance the console until the next frame.
Unlike the other step methods, this is not based on timing, but based on waiting until the ppu actually generates a video frame. This is more useful for applications that want to do something at the start of every frame, like playing the next frame of input from a recorded script, or things like that.
pub fn update_controller(&mut self, buttons: ButtonState)
Auto Trait Implementations§
impl Freeze for Console
impl !RefUnwindSafe for Console
impl !Send for Console
impl !Sync for Console
impl Unpin for Console
impl !UnwindSafe for Console
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more