Closed TrashRaccoonSnuffy closed 1 year ago
Confirmed that this doesn't affect other games. I have no idea why that check was there either way since writing 00 once to HDMA would invalidate all next writes when that's not supposed to be the exact behaviour, 420C should be always writable except in the initialization HIRQ and other conditions which are implemented properly. This should be good to merge hopefully. If any HDMA issues arise in any game or there's compatibility then I'll have to debug these.
Merging this, hopefully should be good enough. This modifcation shouldn't be that intrusive and at most this error only could cause graphical issues at it's worst. If any issues arise from this, I'll look into it.
Good stuff!
Solves #18 - Weird behaviour with multiple 420C writes not emulated properly. Fixes Yoshi's Island, Makes Star Fox and Star Fox 2 start, but they will freeze during the title screen unless per2exec is set to 50 in zsnesl.cfg.
Needs testing to make sure it doesn't break other games, but most games I've tested don't rely on this at all, only writing to 420C once on V-Blank. This only affected games that used IRQ to shrink down the screen resolution and needed to start HDMA processing on a scanline other than 0, so mostly Super FX games.