pub fn step<'a, A, V>(&'a mut self, audio: &mut A, video: &mut V) -> i32
    where
        A: AudioDevice,
        V: VideoDevice,
    {
        let cpucycles = self.cpu.step();
        let m = &mut self.cpu.mem;
        for _ in 0..cpucycles * 3 {
            self.ppu.step(m, video);
        }
        for _ in 0..cpucycles {
            self.apu.step(m, audio);
        }
        cpucycles
    }
/// 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.
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.
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 .
pub fn step<'a, A, V>(&'a mut self, audio: &mut A, video: &mut V) -> i32
    where
        A: AudioDevice,
        V: VideoDevice,
    {
        let cpucycles = self.cpu.step();
        let m = &mut self.cpu.mem;
        for _ in 0..cpucycles * 3 {
            self.ppu.step(m, video);
        }
        for _ in 0..cpucycles {
            self.apu.step(m, audio);
        }
        cpucycles
    }
pub fn step < ' a , A , V > ( & ' a mut self , audio : & mut A , video : & mut V ) -> i32 where A : AudioDevice , V : VideoDevice , { let cpucycles = self . cpu . step ( ) ; let m = & mut self . cpu . mem ; for _ in 0 .. cpucycles * 3 { self . ppu . step ( m , video ) ; } for _ in 0 .. cpucycles { self . apu . step ( m , audio ) ; } cpucycles }
Advance the console by a single CPU cycle.
Advance the console by a single CPU cycle .
&'a mut self
audio
&mut A
video
&mut V
&'a mut self
audio
&mut A
video
&mut V