I found where _getkey checks the linkport. It jumps back to the beginning of _getkey if both wires are active. It does something else, but I'm not sure what. Here's an easy way to fix your problem though: pause: ld a,($c005) and a jr z,pause