finally got some time to poke around with the scope.
Sure enough, it's firing IRQ6, the Video interrupt, then throwing the exception.
So I'm speculating it's getting to the point where it clears vsyncen, which lets the vsync signal though UI6 pal, which turns into IRQ6, which goes through the...