HDMA should not be run during forced blank

This commit is contained in:
Sour 2019-03-25 20:34:10 -04:00
parent e34a1c81cd
commit e0b0ac3a96

View file

@ -169,8 +169,10 @@ void Ppu::Exec()
if(_scanline != 0) { if(_scanline != 0) {
RenderScanline(); RenderScanline();
} }
EvaluateNextLineSprites(); if(!_forcedVblank) {
_console->GetDmaController()->ProcessHdmaChannels(); EvaluateNextLineSprites();
_console->GetDmaController()->ProcessHdmaChannels();
}
} else if((_cycle == 134 || _cycle == 135) && (_console->GetMemoryManager()->GetMasterClock() & 0x07) == 0) { } else if((_cycle == 134 || _cycle == 135) && (_console->GetMemoryManager()->GetMasterClock() & 0x07) == 0) {
//TODO Approximation (DRAM refresh timing is not exact) //TODO Approximation (DRAM refresh timing is not exact)
_console->GetMemoryManager()->IncrementMasterClockValue<40>(); _console->GetMemoryManager()->IncrementMasterClockValue<40>();