IIRC, with old PIO if I called port write with interrupt clear, it would mask interrupt requests completely, so no further interrupt was taken. That's why I was callin PIO port write only when interrupt line was active.

BTW, according to your changes descripton, handshaking inPIO was rewritten, but Megatouch doesn't use handshaking on PIO (I assume you are referring to READY lines). Maybe something else got broken then?