Well... the way I implement cheat codes (and debug menus) in my software is on the title screen / main menu. All the user has to do is type in a particular word (e.g. DEBUG) and it automatically activates. I just store the keypresses in a string and when the string matches a particular word then it activates stright away. If a letter is typed and it matches the first letter of a cheat code then it automatically wipes the previously stored string.
The only problem with that is when a cheat code contains the first letter elsewhere in the word, or phrase, it will wipe the first part! So if you use this method, choose your cheat code / phrase carefully.
Edit1:
Just played the latest WIP and it's great. I'd like to see the inclusion of a pause option, activated by the P button on the keyboard and, if it isn't going to be used for anything else, the fire button on the joystick.
Edit2:
I must say that levels 3 & 4 are evil in places. Great designing!
However, I have just found 2 bugs. The first one is captured in the attached image - the end of the platforms are missing!
The second took me 7 or 8 attempts to discover... after beating level 4 it loops back to level 1. But when I died (deliberately) the "Game Over" image didn't appear, but I was able to return to the title screen by pressing the fire button.
Regards,
Lonewolf10