video: fix writes
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user