Each chip has its own challenges:
*[[Z80]] is a bloated architecture, with lots of special cases and complex bus logic. The difference with the lean [[GBZ80 ]] and [[MOS 6502|6502]] is striking.
*[[CRTC]] has a character-based addressing logic, many incompatible chip implementations, and requires accurate VDU emulation too.
*[[Gate Array]] has a weird interrupt system and adds an unnecessary layer of complexity to sync signals.