Thanks, I've just merged it.
Mark Yu found another bug, this time seen in KQ1, where, after a restart, none of the controllers were working. Turns out that AGILE was clearing the key to controller mappings as part of a restart, whereas the original AGI interpreter clears only the current state of the controllers, not the key mappings. I think I misread the original AGI interpreter source code fragments when I first wrote that bit. Anyway, that issue is now fixed and recently pushed to master.