π
<-

Jetpack Impossible

C, C++, ASM...

Re: Jetpack Impossible

Message non lude Excale » 01 Juin 2014, 10:54

mdr1 a écrit:Quand j'aurai le temps, je ferai peut-être quelques trucs pour Nspire. Ce serait génial que quelqu'un porte le Java pour Nspire. C'est théoriquement possible. Il y a d'ailleurs plusieurs projets morts à ce sujet.


Sauf que la doc de Jazelle n'est pas publique et qu'en plus Jazelle est deprecated...
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Jetpack Impossible

Message non lude matref » 01 Juin 2014, 10:55

T'as bien fait un truc genre :
Code: Tout sélectionner
ScreenBuffer *double1, *double2, *default = SCREEN_BASE_ADDRESS;
SCREEN_BASE_ADDRESS = double1;
// ...
// Quit
SCREEN_BASE_ADDRESS = default;
return 0;
?
Je sais pas puisque tu postes jamais le code entier.
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Jetpack Impossible

Message non lude pierrotdu18 » 01 Juin 2014, 11:00

Code: Tout sélectionner
static void* DEFAULT_BUFFER = SCREEN_BASE_ADDRESS;

typedef void ScreenBuffer;
ScreenBuffer* newBuffer()
{
   if (is_cx)
      return (void*)((unsigned short*)calloc((320*240),sizeof(unsigned short)));
   else
      return (void*)((unsigned char*)calloc((320*240)>>1,sizeof(unsigned char)));
}

void flipBuffer(ScreenBuffer* buf)
{
   ScreenBuffer* oldBuf = *((volatile unsigned**)0xC0000010);
   *((volatile unsigned**)0xC0000010) = buf;
   buf = oldBuf;
}

void quitDoubleBuffering(ScreenBuffer* buf)
{
   if (buf != ((volatile unsigned*)(DEFAULT_BUFFER)))
   {
      free(buf);
   }
   else
   {
      buf = *((volatile unsigned**)0xC0000010);
      *((volatile unsigned**)0xC0000010) = ((volatile unsigned*)(DEFAULT_BUFFER));
      free(buf);
   }
}

void fillBg(ScreenBuffer* buf, uint16_t color)
{
   memset(buf, color,(is_cx)?((320*240)<<1):((320*240)));
}

int main()
{
   ScreenBuffer* buf = newBuffer();
   fillBg(buf, 0x3807);
   wait_key_pressed();
   flipBuffer(buf);
   wait_key_pressed();
   quitDoubleBuffering(buf);
   return 0;
}
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Jetpack Impossible

Message non lude matref » 01 Juin 2014, 11:04

Essaie d'éviter d'utiliser le littéral 0xC0000010 et plutôt SCREEN_BASE_ADDRESS, déjà c'est plus compréhensible et ensuite ça évite les erreurs d'indirection. À part ça, je définirai plutôt DEFAULT_BUFFER dans le main.
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Jetpack Impossible

Message non lude pierrotdu18 » 01 Juin 2014, 11:06

Non, pas dans le main... Le but étant de faire une bibliothèque, il faut que tout soit au maximum automatisé...
Sinon on peut faire une fonction initDoubeBuffering() qui se chargerait de ça...
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Jetpack Impossible

Message non lude Hayleia » 01 Juin 2014, 11:11

mdr1 a écrit:Super ! Le jeu est vraiment bien, merci Hayleia. :)

Merci ^^
Essaie de battre nos records maintenant :
  • Sur Nspire, en mode normal, j'ai 36 (les autres je ne sais pas)
  • Sur Nspire avec TAB à l'écran de titre, matref a 8 (j'ai 5)
  • Sur la version originale sur Android, j'ai 97 :P

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: Jetpack Impossible

Message non lude mdr1 » 01 Juin 2014, 11:26

Ok, je ne sais pas combien de temps vous vous êtes entraînés parce que moi, en mode normal, j'ai 5, et en mode accéléré, j'ai 3 (et encore, c'était un coup de chance).

EDIT : 4 pour la version accélérée maintenant.
EDIT : et 8 pour la version normale.
Image ImageImage
Avatar de l’utilisateur
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 44%
 
Messages: 1083
Images: 12
Inscription: 28 Mar 2011, 00:00
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Je voyage toujours en première.

Re: Jetpack Impossible

Message non lude Hayleia » 01 Juin 2014, 12:30

Lol, je m'entraîne pas si souvent mais c'est vrai que j'ai codé ce jeu pour pouvoir y jouer plus que sur Android vu que la batterie de la CX CAS dure plus longtemps que celle du Note 3 :P

Sinon, mise à jour (oui, encore :D)
  • À force d'enlever toutes les déclarations nSDL et les free qui vont avec, j'ai enlevé des free qui n'avaient pas de rapport avec nSDL :P
    Fuites mémoires résolues dans cette mise à jour.
  • Jill clignote encore un peu moins.
  • Le remplissage d'écran remplit tout l'écran pour de vrai au lieu de laisser la dernière ligne et la dernière colonne -.-
  • Effet graphique pour le réacteur ^^
    Voir screenshot si vous ne voyez pas de quoi je parle.

Image
(toujours le même lien de téléchargement).

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

Re: Jetpack Impossible

Message non lude pierrotdu18 » 01 Juin 2014, 13:09

J'ai essayé ça :
Code: Tout sélectionner
static void* DEFAULT_BUFFER;

typedef void ScreenBuffer;
ScreenBuffer* initDoubleBuffering()
{
   DEFAULT_BUFFER = SCREEN_BASE_ADDRESS;
   if (is_cx)
      return (void*)((unsigned short*)calloc((320*240),sizeof(unsigned short)));
   else
      return (void*)((unsigned char*)calloc((320*240)>>1,sizeof(unsigned char)));
}

void flipBuffer(ScreenBuffer* buf)
{
   ScreenBuffer* oldBuf = *((volatile unsigned**)0xC0000010);
   *((volatile unsigned**)0xC0000010) = buf;
   buf = oldBuf;
}

void quitDoubleBuffering(ScreenBuffer* buf)
{
   if (buf != ((volatile unsigned*)(DEFAULT_BUFFER)))
   {
      free(buf);
   }
   else
   {
      buf = *((volatile unsigned**)0xC0000010);
      *((volatile unsigned**)0xC0000010) = ((volatile unsigned*)(DEFAULT_BUFFER));
      free(buf);
   }
}


Mais ça ne marche pas, le LCD est figé sur une image des classeurs à la fin du programme...
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Jetpack Impossible

Message non lude Excale » 01 Juin 2014, 13:17

T'as pas remis le bon buffer.
(j'ai pas lu le code, juste "le LCD est figé sur une image des classeurs à la fin du programme...")
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
4758 utilisateurs:
>4729 invités
>20 membres
>9 robots
Record simultané (sur 6 mois):
43991 utilisateurs (le 10/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)