The ULA modification caused significant compatibility problems, although to be fair this was not Sinclair's fault. The keyboard input port also reads in a value from the EAR (microphone in) socket and on the issue 1 and 2 Spectrums, this value is binary 1. On issue 3 Spectrums, this value is not maintained because, to reduce power consumption, the values of the pull-up resistors are altered. The result is that the EAR bit now floats until the ULA has warmed up. The unfortunate consequence is that games and other software which check the whole byte, and not just the keyboard bits, will not work. This was only a problem in the first place because of sloppy programming - keyboard routines were not suppose to check the whole keyboard input byte, but lazy programmers did it anyway.