video: fix writes

This commit is contained in:
2018-02-19 06:51:48 +00:00
parent 1a0dcbdb81
commit ee318b348d

View File

@@ -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;
}