diff --git a/Core/camera.c b/Core/camera.c index b0b9156..9b34998 100644 --- a/Core/camera.c +++ b/Core/camera.c @@ -137,7 +137,6 @@ void GB_camera_write_register(GB_gameboy_t *gb, uint16_t addr, uint8_t value) GB_log(gb, "Wrote invalid camera register %02x: %2x\n", addr, value); return; } - /* Todo: find out what these registers do */ gb->camera_registers[addr] = value; } } diff --git a/Core/display.c b/Core/display.c index c8c326e..63847da 100755 --- a/Core/display.c +++ b/Core/display.c @@ -204,9 +204,11 @@ static void display_vblank(GB_gameboy_t *gb) } if (!gb->disable_rendering && (!(gb->io_registers[GB_IO_LCDC] & 0x80) || gb->stopped)) { - /* LCD is off, memset screen to white */ - /* Todo: use RGB callback */ - memset(gb->screen, 0xFF, WIDTH * LINES * 4); + /* LCD is off, set screen to white */ + uint32_t white = gb->rgb_encode_callback(gb, 0xFF, 0xFF, 0xFF); + for (unsigned i = 0; i < WIDTH * LINES; i++) { + gb ->screen[i] = white; + } } gb->vblank_callback(gb); diff --git a/Core/mbc.c b/Core/mbc.c index 850d0be..9a17388 100644 --- a/Core/mbc.c +++ b/Core/mbc.c @@ -31,7 +31,6 @@ const GB_cartridge_t GB_cart_defs[256] = { { GB_MBC5 , GB_STANDARD_MBC, false, false, false, false}, // 19h MBC5 { GB_MBC5 , GB_STANDARD_MBC, true , false, false, false}, // 1Ah MBC5+RAM { GB_MBC5 , GB_STANDARD_MBC, true , true , false, false}, // 1Bh MBC5+RAM+BATTERY - /* Todo: Rumble supported yet */ { GB_MBC5 , GB_STANDARD_MBC, false, false, false, true }, // 1Ch MBC5+RUMBLE { GB_MBC5 , GB_STANDARD_MBC, true , false, false, true }, // 1Dh MBC5+RUMBLE+RAM { GB_MBC5 , GB_STANDARD_MBC, true , true , false, true }, // 1Eh MBC5+RUMBLE+RAM+BATTERY @@ -128,7 +127,7 @@ void GB_configure_cart(GB_gameboy_t *gb) } gb->mbc_ram = malloc(gb->mbc_ram_size); - /* Todo: Some games assume unintialized MBC RAM is 0xFF. It this true for all cartridges types?*/ + /* Todo: Some games assume unintialized MBC RAM is 0xFF. It this true for all cartridges types? */ memset(gb->mbc_ram, 0xFF, gb->mbc_ram_size); }