Code: Select all
Read from VDP data port while writes are configured, CPU is now frozen. VDP Address: 2, CD: 5
I've only seen it happen before on async fade so I just disable interrupts before calling, but that wouldn't make sense for a blocking one. Calling VDP_waitVSync first is rather wonky.Mask of Destiny wrote: it looks like the problem is that sometimes a vertical interrupt occurs during a call to VDP_getPaletteColors (which is in turn called by VDP_fadeTo). VDP_getPaletteColors should probably disable interrupts write before setting up reads on the VDP and then turn them back on after it's done reading the current palette. That said, you can probably fix this by doing a VDP_waitVSync before calling VDP_fadeTo.