Zool (SMS and GG versions) expects the VBlank bit (VDP status register bit 7) to be set several cycles before the VBlank IRQ actually occurs because of the following polling routine which can execute with interrupts enabled:
wait_for_vblank: ina,(bf) anda,a jp p,wait_for_blank ret