Merge branch 'main' of ssh://git.musuka.dev:2222/paoda/gb into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
commit
ee5504111b
16
src/emu.rs
16
src/emu.rs
|
@ -11,7 +11,6 @@ pub const SM83_CYCLE_TIME: Duration = Duration::from_nanos(1_000_000_000 / SM83_
|
||||||
pub const CYCLES_IN_FRAME: Cycle = Cycle::new(456 * 154); // 456 Cycles times 154 scanlines
|
pub const CYCLES_IN_FRAME: Cycle = Cycle::new(456 * 154); // 456 Cycles times 154 scanlines
|
||||||
pub(crate) const SM83_CLOCK_SPEED: u64 = 0x40_0000; // Hz which is 4.194304Mhz
|
pub(crate) const SM83_CLOCK_SPEED: u64 = 0x40_0000; // Hz which is 4.194304Mhz
|
||||||
const DEFAULT_TITLE: &str = "DMG-01 Emulator";
|
const DEFAULT_TITLE: &str = "DMG-01 Emulator";
|
||||||
const GAMEPAD_ENABLED: bool = true;
|
|
||||||
|
|
||||||
pub fn init(boot_path: Option<&str>, rom_path: &str) -> Result<SM83> {
|
pub fn init(boot_path: Option<&str>, rom_path: &str) -> Result<SM83> {
|
||||||
let mut cpu = match boot_path {
|
let mut cpu = match boot_path {
|
||||||
|
@ -37,13 +36,11 @@ pub fn run(
|
||||||
) -> Cycle {
|
) -> Cycle {
|
||||||
let mut elapsed = Cycle::new(0);
|
let mut elapsed = Cycle::new(0);
|
||||||
|
|
||||||
if GAMEPAD_ENABLED {
|
if let Some(event) = gamepad.next_event() {
|
||||||
if let Some(event) = gamepad.next_event() {
|
joypad::handle_gamepad_input(game_boy.joypad_mut(), event);
|
||||||
joypad::handle_gamepad_input(game_boy.joypad_mut(), event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
joypad::handle_keyboard_input(game_boy.joypad_mut(), input);
|
joypad::handle_keyboard_input(game_boy.joypad_mut(), input);
|
||||||
|
|
||||||
while elapsed < target {
|
while elapsed < target {
|
||||||
elapsed += game_boy.step();
|
elapsed += game_boy.step();
|
||||||
}
|
}
|
||||||
|
@ -54,12 +51,9 @@ pub fn run(
|
||||||
pub fn run_frame(game_boy: &mut SM83, gamepad: &mut Gilrs, input: &WinitInputHelper) -> Cycle {
|
pub fn run_frame(game_boy: &mut SM83, gamepad: &mut Gilrs, input: &WinitInputHelper) -> Cycle {
|
||||||
let mut elapsed = Cycle::new(0);
|
let mut elapsed = Cycle::new(0);
|
||||||
|
|
||||||
if GAMEPAD_ENABLED {
|
if let Some(event) = gamepad.next_event() {
|
||||||
if let Some(event) = gamepad.next_event() {
|
joypad::handle_gamepad_input(game_boy.joypad_mut(), event);
|
||||||
joypad::handle_gamepad_input(game_boy.joypad_mut(), event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
joypad::handle_keyboard_input(game_boy.joypad_mut(), input);
|
joypad::handle_keyboard_input(game_boy.joypad_mut(), input);
|
||||||
while elapsed < CYCLES_IN_FRAME {
|
while elapsed < CYCLES_IN_FRAME {
|
||||||
elapsed += game_boy.step();
|
elapsed += game_boy.step();
|
||||||
|
|
Loading…
Reference in New Issue