FAQ de Allegro
Si la respuesta no esta aquí, pregunte y será añadida...
      volatile int speed_counter = 0;
      void increment_speed_counter()
      {
         speed_counter++;
      }
      END_OF_FUNCTION(increment_speed_counter);
      void play_the_game()
      {
         LOCK_VARIABLE(speed_counter);
         LOCK_FUNCTION(increment_speed_counter);
         install_int_ex(increment_speed_counter, BPS_TO_TIMER(60));
         while (!game_over) {
            while (speed_counter > 0) {
               update_game_logic();
               speed_counter--;
            }
            update_display();
         }
      }
      while (!key[KEY_ENTER])
         yield_timeslice();