diff --git a/src/gbemu/video.c b/src/gbemu/video.c index 51fe2aa..ca88f5c 100644 --- a/src/gbemu/video.c +++ b/src/gbemu/video.c @@ -16,7 +16,7 @@ void gb_video_cycle(struct gb_video *video) { video->line_counter++; - if (video->line_counter >= CYCLES_PER_LINE){ + if (video->line_counter >= CYCLES_PER_LINE) { video->line_counter = 0; video->curline += 1; if (video->curline > LCD_Y_MAX) { @@ -56,26 +56,37 @@ void gb_video_mem_write(struct gb_video *video, uint16_t addr, uint8_t val) switch (addr) { case 0xFF40: write_addr = &video->lcdcont; + break; case 0xFF41: write_addr = &video->lcdstat; + break; case 0xFF42: write_addr = &video->scrolly; + break; case 0xFF43: write_addr = &video->scrollx; + break; case 0xFF44: write_addr = &video->curline; + break; case 0xFF45: write_addr = &video->cmpline; + break; case 0xFF47: write_addr = &video->bgrdpal; + break; case 0xFF48: write_addr = &video->obj0pal; + break; case 0xFF49: write_addr = &video->obj1pal; + break; case 0xFF4A: write_addr = &video->wndposy; + break; case 0xFF4B: write_addr = &video->wndposx; + break; default: return; }