1. Test it for the ATmega644.
2. Retest with the Arduino board.
3. Improve the comments before letting this puppy loose!