Timer implement

This commit is contained in:
2021-10-30 09:13:31 -05:00
parent abbd46ebed
commit 61db367f31
6 changed files with 68 additions and 11 deletions
+6 -5
View File
@@ -118,11 +118,6 @@ impl PPU {
}
}
let lyc_compare = PPU::get_lcd_y(bus) == bus.read(LCD_Y_COMPARE_ADDRESS);
PPU::set_lcd_status(bus, LCDStatus::LYCInterrupt, lyc_compare);
if lyc_compare {
bus.set_interrupt(Interrupt::LCDSTAT, true);
}
self.increment_cycles(Cycles(1));
// Horizontal scan completed
@@ -131,6 +126,12 @@ impl PPU {
PPU::set_lcd_y(bus, PPU::get_lcd_y(bus) + 1);
let lyc_compare = PPU::get_lcd_y(bus) == bus.read(LCD_Y_COMPARE_ADDRESS);
if lyc_compare {
PPU::set_lcd_status(bus, LCDStatus::LYCInterrupt, lyc_compare);
bus.set_interrupt(Interrupt::LCDSTAT, true);
}
// Frame completed
if PPU::get_lcd_y(bus) > 153 {
PPU::set_lcd_y(bus, 0);