[DS] Como hacer un "sleep"

Buenas, estoy intentando hacer un juego con las libnds.

Mi pregunta es bastante sencilla, como es posible hacer un modo sleep cuando cierras la consola, porque no tengo ni idea de como empezar (tampoco sabria hacerlo con las PALib). Y me gustaria tenerlo hecho antes de seguir desarrollandolo.

Muchisimas gracias :)
En PAlib está mamado, y viendo el código puedo asegurarte que en libnds también lo está ;)

En PAlib sólo tienes que hacer PA_CheckLid(), función que devolverá 0 si la consola no estuvo cerrada, y 1 en caso de si haberlo estado y haber sido reabierta. Este es su código:

u8 PA_CheckLid(void) {

   if (!PA_LidClosed()) return 0;
   else {
      u16 power_cr = POWER_CR; // backup the power...
      POWER_CR = 0; // Shutdown everything :p
      
      // Wait for the lid to be opened again...
      while(PA_LidClosed()) PA_WaitForVBL();
      
      // Return the power !
      POWER_CR = power_cr;
      return 1;
   }

}


PA_WaitForVBL supongo que sabes lo que es... Vale pues quizás te estés preguntando qué es PA_LidClosed, pues aquí tienes el código:

#define PA_LidClosed() (IPC->buttons>>7)


Espero que te sirva ;) Un saludo!
Offtopic!

Lo he visto, lo he visto!! Jixo Upeando un hilo!! xD
3 respuestas