GB: Update coincidence flag and STAT IRQ when writing to LYC

Fixes ly_lyc_153_write-GS
This commit is contained in:
Sour 2020-05-31 15:31:35 -04:00
parent 86bd6c4deb
commit 6edccc00b9

View file

@ -726,7 +726,15 @@ void GbPpu::Write(uint16_t addr, uint8_t value)
case 0xFF42: _state.ScrollY = value; break;
case 0xFF43: _state.ScrollX = value; break;
case 0xFF45: _state.LyCompare = value; _state.IdleCycles = 0; break;
case 0xFF45:
_state.LyCompare = value;
if(_state.LcdEnabled) {
_state.IdleCycles = 0;
_state.LyCoincidenceFlag = (_state.LyCompare == _state.LyForCompare);
UpdateStatIrq();
}
break;
case 0xFF47: _state.BgPalette = value; break;
case 0xFF48: _state.ObjPalette0 = value; break;
case 0xFF49: _state.ObjPalette1 = value; break;