1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
extern crate gameboy_core;
extern crate glutin;
extern crate gl;
#[macro_use]
extern crate c_str_macro;

mod shader;
mod screen;

use screen::Screen;
use gameboy_core::emulator::Emulator;

pub fn start(rom: Vec<u8>) {
    let mut screen = Screen::new();
    let mut emulator = Emulator::new();
    emulator.load_rom(rom);

    while screen.is_running {
        emulator.cycle(&mut screen);
    }
}