Même si nous avions réussi à faire des choses assez sympa, nous ne pouvions que constater diverses limitations:
- la zone dessinable par les programmes ne fait que 265x165 pixels, contre un maximum de 320x240 pixels pour l'écran
- seules 15 couleurs sont utilisables par les programmes, alors que l'écran 16-bits permet un maximum de 216=65536 couleurs
(on peut certes aller plus loin, mais là encore avec nombre de contraintes et limitations) - les fonds d'écran que l'on peut utiliser pour enrichir graphiquement des programmes comme Bougies ne sont certes eux pas limités en couleurs, mais le sont en résolution avec seulement 133x83 pixels
- et dans tous les cas, les jeux en question sont impactés par la lenteur d'exécution du Basic, particulièrement dans le contexte où l'on dessine des 'sprites' et où l'on ne peut donc pas bénéficier des instructions accélérant le dessin des formes géométriques usuelles
Mais, peut-être certains d'entre vous souhaiteront aller plus loin avec leur TI-83 Premium CE.
C'est possible en langage assembleur, un langage dit de bas niveau car interagissant directement avec la couche matérielle.
Mais c'est hélas bien autre chose qu'un langage de haut niveau comme le TI-Basic et son apprentissage n'est pas à la portée de tout-le-monde; je ne m'y suis moi-même jamais véritablement mis.
Mais une autre alternative beaucoup plus abordable existe, c'est d'utiliser un langage de haut niveau non pas interprété comme le TI-Basic, mais compilé. C'est-à-dire qu'à partir d'un code source lisible pour un être humain exactement comme du TI-Basic, un compilateur va générer du code machine directement exécutable par le matériel de la calculatrice.
De tels langages intermédiaires permettant de mettre toute la puissance du matériel à la portée de tous ont déjà existé pour les TI-83+/84 monochromes, comme l'Axe ou encore plus récemment le kwyxti.
L'équipe TI-Planet (particulièrement Adriweb) est en train de te développer un compilateur TI-83 Premium CE en ligne utilisant le langage C, une référence en informatique. Nous l'avions déjà utilisé avec succès dans un article précédent pour un afficheur de QR Code, mais il restait encore à l'exploiter pour un projet conséquent.
Je répondais récemment sur notre forum que les jeux pouvant être portés sur TI-Nspire CX étaient en gros ceux compatibles avec les ordinateurs du milieu des années 90.
(Et il n'y avait rien de honteux à cela, nombre de jeux disponibles pour les plate-formes mobiles actuelles que sont les smartphones et tablettes sont des refontes graphiques de jeux existant déjà au siècle dernier.)
Relativement à sa puissance, pour la TI-83 Premium CE il faudrait cibler en comparaison des jeux compatibles avec les ordinateurs du milieu des années 80.
Voici donc aujourd'hui le tout premier jeu en C pour TI-83 Premium CE et également le tout premier projet conséquent réalisé avec notre compilateur en ligne, Mandragore, adaptation partielle du jeu éponyme de Marc Cecchi sorti en 1984 chez Infogrames pour ordinateurs Commodore 64, MSX, Thomson MO5, Thomson TO7/70, Thomson TO9, ZX Spectrum 48K et Amstrad CPC.
Notons pour l'annecdote que le jeu reçut à l'époque le "1er prix arcade" créé pour l'occasion par le Ministère de la culture français dans le contexte du lancement du plan IPT (informatique pour tous).
Il était une fois un lointain pays où ne régnait que calme et bonté. Une pluie d'étoiles filantes s'abattit sur la contrée et l'une d'elles foudroya le bon roi Joriand du pays de Mandragore. Aussitôt, un seigneur venu de nulle part, Yarod-Nor s'empara du pouvoir et fit régner le mal et la terreur sur ce pays paisible. Pour libérer le pays du joug de cet infâme tyran, vous devez affronter Yarod-Nor dans son propre donjon. Pour cela, vous devrez auparavant amasser les trésors détenus dans les neuf autres donjons du pays de Mandragore, et les revendre dans les différents villages afin d'obtenir de quoi vous construire un bateau.
Si tu es sous le charme de cette prose, sache que tu peux continuer la découverte du pays de Mandragore à travers la nouvelle inédite "la geste de Syrella" sortie pour l'occasion par Christian Ballandras et téléchargeable ci-dessous avec le jeu, une nouvelle qui n'a rien à envier à un roman de Tolkien.
Finalement le jeu tourne très bien sur TI-83 Premium CE, sans aucun problème de stabilité.
Mieux que ça il est même beaucoup plus rapide que l'original, comme te le montre Adriweb dans la vidéo ci-dessous :
Au vu de ces performances extraordinaires auxquelles nous ne nous attendions pas, nous pourrions peut-être espérer adapter des jeux plus récents pour une prochaine fois.
Le temps de développement a été de seulement deux jours et demi (mercredi après-midi, vendredi après-midi, samedi et ce matin). Il aurait pu être bien moindre, mais dans le contexte de ce gros projet il s'agissait surtout de découvrir et contourner les limitations du compilateur en ligne, et je tiens à remercier pour cela Adriweb qui a été en permanence à mes côtés, et sans qui ce jeu ne serait pas sorti aujourd'hui.
Ces limitations seront détaillées publiquement si toujours présentes lors de la sortie publique du compilateur mais rien de bien méchant, il s'agit juste d'écrire certaines choses différemment.
Bref, si quelqu'un comme moi ne connaissant rien à l'assembleur arrive à faire un jeu aussi performant que les jeux directement développés en langage machine, tu en seras toi aussi capable avec notre compilateur C en ligne, l'outil qui met toute la puissance de ta TI-83 Premium CE entre tes mains !
Téléchargement : https://tiplanet.org/forum/archives_voir.php?id=328137