Open benderscruffy opened 5 months ago
I was able to fix this by adjusting how CPU/PPU execution interleave: specifically, executing half the PPU cycles before the CPU cycle and the other half after. However this is going to require a lot of testing to ensure that it doesn't break anything else - I already had to slightly delay the VBlank interrupt while doing this to avoid some games freezing at boot due to polling for LY=144 with the VBlank interrupt enabled.
This demo seems to depend on precise timing for PPU mode 3 and CGB palette blocking. It alternates between two different CPU/PPU alignments and only one of the two alignments renders correctly right now.