fixed lyc interrupt when lyc = 0

This commit is contained in:
2025-02-19 07:34:36 -07:00
parent c8ec44fa39
commit 2ab09f9b4c
2 changed files with 10 additions and 3 deletions

View File

@ -17,7 +17,6 @@ void increment_ly() {
if(lcd_get_context()->ly == lcd_get_context()->ly_compare) {
LCDS_LYC_SET(1);
if(LCDS_STAT_INT(SS_LYC)) {
cpu_request_interrupt(IT_LCD_STAT);
}
@ -128,6 +127,14 @@ void ppu_mode_vblank() {
cpu_request_interrupt(IT_LCD_STAT);
}
lcd_get_context()->ly = 0;
if(lcd_get_context()->ly == lcd_get_context()->ly_compare) {
LCDS_LYC_SET(1);
if(LCDS_STAT_INT(SS_LYC)) {
cpu_request_interrupt(IT_LCD_STAT);
}
} else {
LCDS_LYC_SET(0);
}
ppu_get_context()->window_line = 0;
}