2021-10-14 01:50:48 +00:00
|
|
|
use std::{thread, time};
|
|
|
|
|
2021-10-14 00:38:37 +00:00
|
|
|
use crate::cpu::CPU;
|
|
|
|
use crate::ppu::PPU;
|
|
|
|
use crate::bus::Bus;
|
|
|
|
|
|
|
|
pub struct Console {
|
|
|
|
cpu: CPU,
|
|
|
|
ppu: PPU,
|
|
|
|
bus: Bus,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Console {
|
|
|
|
pub fn new() -> Self {
|
|
|
|
Self {
|
|
|
|
cpu: CPU::new(),
|
|
|
|
ppu: PPU::new(),
|
|
|
|
bus: Bus::new(),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn cpu_run(&mut self) {
|
2021-10-14 01:50:48 +00:00
|
|
|
let mut exit = false;
|
|
|
|
while !exit {
|
|
|
|
self.cpu.run(&mut self.bus);
|
|
|
|
|
2021-10-18 15:13:23 +00:00
|
|
|
// thread::sleep(time::Duration::from_millis(100));
|
2021-10-16 19:17:28 +00:00
|
|
|
exit = self.cpu.get_exec_calls_count() > 1258895;
|
2021-10-14 01:50:48 +00:00
|
|
|
}
|
2021-10-14 00:38:37 +00:00
|
|
|
}
|
|
|
|
}
|