From ee38b016b7f4ebf4fc6669f425f89ac3bac45d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com> Date: Sun, 10 Jul 2022 16:42:01 +0100 Subject: [PATCH] feat: new warnings --- examples/sdl/src/main.rs | 6 +++--- src/pad.rs | 9 +++++++-- src/ppu.rs | 9 +++++++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/examples/sdl/src/main.rs b/examples/sdl/src/main.rs index 22cefdde..81aac104 100644 --- a/examples/sdl/src/main.rs +++ b/examples/sdl/src/main.rs @@ -159,14 +159,14 @@ fn main() { //let rom = game_boy.load_rom_file("../../res/roms.prop/dr_mario.gb"); //let rom = game_boy.load_rom_file("../../res/roms.prop/alleyway.gb"); //let rom = game_boy.load_rom_file("../../res/roms.prop/super_mario.gb"); - let rom = game_boy.load_rom_file("../../res/roms.prop/super_mario_2.gb"); + //let rom = game_boy.load_rom_file("../../res/roms.prop/super_mario_2.gb"); //let rom = game_boy.load_rom_file("../../res/roms/firstwhite.gb"); //let rom = game_boy.load_rom_file("../../res/roms/opus5.gb"); - //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/cpu_instrs.gb"); // CRASHED + //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/cpu_instrs.gb"); // PASSED //let rom = game_boy.load_rom_file("../../res/roms/paradius/interrupt_time/interrupt_time.gb"); // FAILED - //let rom = game_boy.load_rom_file("../../res/roms/paradius/instr_timing/instr_timing.gb"); // FAILED + let rom = game_boy.load_rom_file("../../res/roms/paradius/instr_timing/instr_timing.gb"); // FAILED //let rom = game_boy.load_rom_file("../../res/roms/paradius/mem_timing/mem_timing.gb"); // NO FINISH //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/01-special.gb"); // PASSED //let rom = game_boy.load_rom_file("../../res/roms/paradius/cpu/02-interrupts.gb"); // PASSED diff --git a/src/pad.rs b/src/pad.rs index 814adfeb..7c2bf470 100644 --- a/src/pad.rs +++ b/src/pad.rs @@ -1,6 +1,8 @@ #[cfg(feature = "wasm")] use wasm_bindgen::prelude::*; +use crate::warnln; + #[derive(Clone, Copy, PartialEq)] pub enum PadSelection { Action, @@ -77,7 +79,10 @@ impl Pad { }; value } - addr => panic!("Reading from unknown Pad location 0x{:04x}", addr), + _ => { + warnln!("Reading from unknown Pad location 0x{:04x}", addr); + 0xff + } } } @@ -90,7 +95,7 @@ impl Pad { PadSelection::Action } } - addr => panic!("Writing to unknown Pad location 0x{:04x}", addr), + _ => warnln!("Writing to unknown Pad location 0x{:04x}", addr), } } diff --git a/src/ppu.rs b/src/ppu.rs index 0dd7dee9..85f1d278 100644 --- a/src/ppu.rs +++ b/src/ppu.rs @@ -7,6 +7,8 @@ use std::{ #[cfg(feature = "wasm")] use wasm_bindgen::prelude::*; +use crate::warnln; + pub const VRAM_SIZE: usize = 8192; pub const HRAM_SIZE: usize = 128; pub const OAM_SIZE: usize = 260; @@ -419,7 +421,10 @@ impl Ppu { 0x0045 => self.lyc, 0x004a => self.wy, 0x004b => self.wx, - addr => panic!("Reading from unknown PPU location 0x{:04x}", addr), + _ => { + warnln!("Reading from unknown PPU location 0x{:04x}", addr); + 0xff + } } } @@ -487,7 +492,7 @@ impl Ppu { 0x004a => self.wy = value, 0x004b => self.wx = value, 0x007f => (), - addr => panic!("Writing in unknown PPU location 0x{:04x}", addr), + _ => warnln!("Writing in unknown PPU location 0x{:04x}", addr), } } -- GitLab