diff --git a/.gitignore b/.gitignore index 4a77473d4e2bfae5eb94e3479d68b23fb65466ec..be3d44f6d5fe02e8517f34a02305161496d55de9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,5 @@ Cargo.lock /.idea /target -/res/roms +/res/roms.prop /examples/*/target diff --git a/examples/sdl/src/main.rs b/examples/sdl/src/main.rs index 6369ac3e53e3c06d773d0cefb739afd6bb186513..50af56f892bf24ea07c23a6463d9d155910c058e 100644 --- a/examples/sdl/src/main.rs +++ b/examples/sdl/src/main.rs @@ -80,7 +80,7 @@ fn main() { let mut game_boy = GameBoy::new(); game_boy.load_boot_static(); - game_boy.load_rom_file("../../res/roms/ld_r_r.gb"); + game_boy.load_rom_file("../../res/roms/firstwhite.gb"); //game_boy.load_rom_file("../../res/roms/opus5.gb"); let mut counter = 0; diff --git a/examples/web/index.ts b/examples/web/index.ts index 076502dfe0c7c53608e38df75c423ac908904c33..68cd9aaa81b17b2aca0436a3fd2d004a8dc778ef 100644 --- a/examples/web/index.ts +++ b/examples/web/index.ts @@ -49,7 +49,7 @@ const KEYS: Record<string, number> = { }; // @ts-ignore: ts(2580) -const ROM_PATH = require("../../res/roms/tetris.gb"); +const ROM_PATH = require("../../res/roms/firstwhite.gb"); type State = { gameBoy: GameBoy; diff --git a/res/roms/firstwhite.gb b/res/roms/firstwhite.gb new file mode 100644 index 0000000000000000000000000000000000000000..6d35132175512a3f349dcb4378cfebad2694af6d Binary files /dev/null and b/res/roms/firstwhite.gb differ diff --git a/res/roms/ld_r_r.gb b/res/roms/ld_r_r.gb new file mode 100644 index 0000000000000000000000000000000000000000..d497bfd1275361bc847fa94dc87b43729f180b5d Binary files /dev/null and b/res/roms/ld_r_r.gb differ diff --git a/res/roms/opus5.gb b/res/roms/opus5.gb new file mode 100644 index 0000000000000000000000000000000000000000..a3b8028a31c98b753f0b03d8b8faa2da4232ef14 Binary files /dev/null and b/res/roms/opus5.gb differ diff --git a/res/roms/rtc3test.gb b/res/roms/rtc3test.gb new file mode 100644 index 0000000000000000000000000000000000000000..06836967eb2927b31c99de201a44cfd709380268 Binary files /dev/null and b/res/roms/rtc3test.gb differ diff --git a/res/roms/special.gb b/res/roms/special.gb new file mode 100644 index 0000000000000000000000000000000000000000..ad3e9984f967b77b7ffdf768842ce3c04517d059 Binary files /dev/null and b/res/roms/special.gb differ diff --git a/src/mmu.rs b/src/mmu.rs index 4eab0ec249be6eca30538348832f7c7b81275e05..0a1be916b6c2d5246d80ae0383075345308913f8 100644 --- a/src/mmu.rs +++ b/src/mmu.rs @@ -94,15 +94,16 @@ impl Mmu { match addr & 0xf000 { // BOOT (256 B) + ROM0 (4 KB/16 KB) 0x0000 => { - println!("Writing to BOOT") + self.rom[addr as usize] = value; + println!("Writing to BOOT at 0x{:04x}", addr) } // ROM0 (12 KB/16 KB) 0x1000 | 0x2000 | 0x3000 => { - println!("Writing to ROM 0"); + println!("Writing to ROM 0 at 0x{:04x}", addr); } // ROM1 (Unbanked) (16 KB) 0x4000 | 0x5000 | 0x6000 | 0x7000 => { - println!("Writing to ROM 1"); + println!("Writing to ROM 1 at 0x{:04x}", addr); } // Graphics: VRAM (8 KB) 0x8000 | 0x9000 => {