I have GOT to read up on how to use interrupts

This is a nightmarish mess of button handling scattered all over the
damn place in order to make sure I catch mode change or reset at any
point in the program without delay. This is absolutely the wrong way to
code this but I'm on a deadline.