Newer
Older
use crate::{cpu::Cpu, mmu::Mmu, ppu::Ppu, util::read_file};
pub struct GameBoy {
cpu: Cpu,
}
impl GameBoy {
pub fn new() -> GameBoy {
let ppu = Ppu::new();
let mmu = Mmu::new(ppu);
let cpu = Cpu::new(mmu);
GameBoy { cpu: cpu }
}
let cycles = self.cpu_clock();
self.ppu_clock(cycles);
cycles
}
pub fn cpu_clock(&mut self) -> u8 {
pub fn ppu_clock(&mut self, cycles: u8) {
self.ppu().clock(cycles)
}
pub fn cpu(&mut self) -> &mut Cpu {
&mut self.cpu
pub fn ppu(&mut self) -> &mut Ppu {
self.cpu.ppu()
pub fn load_boot(&mut self, path: &str) {
let data = read_file(path);
}
pub fn load_boot_default(&mut self) {
self.load_boot("./res/dmg_rom.bin");