Chicago Syndicate requires the VBlank bit be read (sometimes) just before the VBlank IRQ is taken. This works because on a real system the VBlank bit might be set just as the IN instruction has begun executing and the actual read from the VDP happens a few cycles into the instruction.

The easiest way to achieve this in an emulator is to set the VBlank bit but don't take the IRQ, just execute one single Z80 instruction and then take the IRQ.

Return to top