The Z80 must wait whenever the ULA needs to access contended memory before proceeding with its own contended memory read or write. The effect to the user is that programs that make use of contended memory or contended I/O run slower than those that avoid it.
