I use GLUK and HE GLUK on real ZX Spectrum 128+2. Both programs use incorrect detection of CMOS ports. ZX Spectrum machines after read from unused (CMOS absent) ports return state of attribute port (as IN #FF). GLUK show chaotic numbers and text instead TIME and DATE...
Idea for FIX this problem:
CMOS ports must be detected after HALT instruction. In this time are on all ZX models/clones on data bus value #FF (ULA not read screen data).
Also Kempston mouse detection must be used after HALT. If on all mouse ports read value #FF then mouse controll can be disabled.