Edgar, I do something similar in the game. The loop aspect is handled by the calling function
key_press = readkey();
key_press = key_press>>8;
if(key_press == KEY_LEFT )
if (key_press == KEY_UP)
if(key_press == KEY_RIGHT)
if(key_press == KEY_DOWN)
if(key_press == KEY_Q)
if(key_press == KEY_ENTER)
Other than an occasional overrun of a direction, it does fair. However, I was trying to work out the logic of a baseball program. It waited on a key hit. Then depending on the timer status I gave a result. Late hit, opposite field, early hit, a pulled ball. If it doesn't fall within a given range, a negative result, strike, foul ball etc. In any case, it was then I seen the deficiency with Allegro 4 polling. To this point every program I've written just stopped and waited on user. (board game type games) but with the baseball game, when doing something while waiting, the polling can skip or react at differently each time, causing issues in the game.
I think I'm going to look at the Eagle lib, but most likely will graduate on to Allegro 5.
I checked out your Missile defense page. I used to have a 286 years ago. I had a 8086 prior to that. A IBM Microchannel. I have kept my IBM P70 luggable 386 with a 387 mathcoprocessor. Has 40 meg hard drive and 4 meg of ram. You'll have to Google it . In any case I liked Missile Command as well. Remember playing it in the arcade. I tell you those Atari games with the track ball were a blast.
but I digress. thanks for the info.