maybe you could clarify what the megatouch games are/were doing wrong?
sweeping statements like the one made about the megatouch use of the PIO don't actually help anybody fix the driver, for what reason are you sure it's a bug in the driver, and not a bug in your new code? 'because this is what the documentation says' doesn't mean there can't be subtle undocumented behaviors.
I'm not trying to be difficult, it's a genuine question, I'm just not a fan of people breaking drivers, making no attempt to fix the drivers, or help others fix them, and simply saying the drivers were always broken without giving sound reasoning. Obviously the changes made help some cases here, but are you just swapping one set of problems for another? How much research into what Megatouch needs, and why your new code breaks it did you do? I'd hate to see a case arise where we end up flip-flopping between two sets of code based on what needs fixing in any given week, or worse, having two implementations because things weren't fully researched.