Page 2 sur 3

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 06 Juin 2020, 08:31
de critor
zardam a écrit:Oui, exactement !

Pour la complétude, un setPixel sans passer par le module ti_graphics :
Code: Tout sélectionner
import sys, ti_system

for x in range(320):
  # setPixel(x,50,(0,0,0))
  sys.stdout.write("\x1b["+str(x)+";50;0;0;0;2G\x03")
  # handshake
  sys.stdin.read(1)

ti_system.disp_wait()


Edit :
Le caractère envoyé par la calculatrice en réponse est \x06.

Pour scr.drawImage('BOY_200', 15, 30), on obtient (avec un handshake pour chaque ligne) :
- \x1b[12G\x03
- BOY_200\x03
- \x1b[15;30;13G\x03

Super intéressant, merci ! :bj:

Ce qui me fait penser... Un obstacle à ce que cela marche avec le module externe TI-Python pour les anciens modèles TI-83 Premium CE ?

Moyen de lui programmer un nouveau firmware fonctionnel après patch du canal de communication ?

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 06 Juin 2020, 08:36
de Lionel Debroux
Il ne faudrait pas que les utilisateurs se mettent à utiliser ce protocole pour économiser de la mémoire sur le trop petit tas, puis que TI s'amuse à changer le protocole... ils en seraient capables.

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 06 Juin 2020, 09:37
de zardam
critor a écrit:Ce qui me fait penser... Un obstacle à ce que cela marche avec le module externe TI-Python pour les anciens modèles TI-83 Premium CE ?


Techniquement non, mais il faut encore que l'application PyAdaptr de l'autre coté sache interpréter le protocole. Pour l'instant, je ne veux pas verrouiller mon modèle non python sur la 5.5 s'il n'y a pas de possibilité de downgrader...

En tout cas, si TI ne met pas les fonctions graphiques sur l'adaptateur, c'est clairement un choix de leur part.

Lionel Debroux a écrit:Il ne faudrait pas que les utilisateurs se mettent à utiliser ce protocole pour économiser de la mémoire sur le trop petit tas, puis que TI s'amuse à changer le protocole... ils en seraient capables.


Oui, surtout qu'il n'y a pas de gain de performance particulier. J'ai essayé sans attendre l'ACK de la calculatrice, pour gagner un peu mais ça ne fonctionne pas vraiment. La calculatrice finit par retracer le texte à l'écran, ce qui efface les pixels tracés.

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 06 Juin 2020, 09:43
de critor
zardam a écrit:
critor a écrit:Ce qui me fait penser... Un obstacle à ce que cela marche avec le module externe TI-Python pour les anciens modèles TI-83 Premium CE ?


Techniquement non, mais il faut encore que l'application PyAdaptr de l'autre coté sache interpréter le protocole. Pour l'instant, je ne veux pas verrouiller mon modèle non python sur la 5.5 s'il n'y a pas de possibilité de downgrader...

Pourquoi aurais-tu besoin de mettre à jour ?

Sinon, il faut te trouver et acheter d'occasion une des toutes premières TI-83 Premium CE sorties pour la rentrée 2015.
Elles sont munies du Boot Code 5.0.0 qui ne vérifie pas le numéro de version de l'OS réceptionné, de formidables machines de développement. ;)
Cette vérification n'a été introduite qu'à partir du Boot Code 5.1.5.

J'ai testé, sur une de ces machines, on peut sans problème revenir en arrière, même après installation de l'OS 5.5.1.

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 06 Juin 2020, 09:57
de zardam
critor a écrit:Pourquoi aurais-tu besoin de mettre à jour ?


Il me semble avoir lu que l'application ne se lançait pas sur la calculatrice si la version 5.5 de l'OS n'était pas installée, mais ce n'est peut être valable que pour l'édition Python ?

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 06 Juin 2020, 10:01
de critor
Oui, mais pourquoi as-tu besoin de lancer l'application ?
Tu peux très bien en extraire le nouveau firmware Python sans l'installer et le décortiquer dans tous les sens.

Dans tous les cas je t'ai donné la solution. :)

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 07 Juil 2020, 11:30
de critor
Pour ceux qui veulent s'amuser à la décortiquer, une image au nouveau format Python IM8C.8xv est enfin disponible : :D
Image
archives_voir.php?id=2636940

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 08 Juil 2020, 13:53
de critor
Lionel Debroux a écrit:En C/C++, c'est évidemment plus compliqué qu'en Python, mais nettement plus simple qu'en ASM eZ80, il ne faut pas exagérer :)

Est-ce que ces fonctions de sprite sont clippées ?
Combien de tas reste-t-il disponible après avoir importé ces modules ?
Quelle est la performance de l'affichage de 20x15 sprites de 16x16 pour remplir l'écran 320x240 ? C'est tout sauf exceptionnel d'afficher un gros sprite en une fraction de seconde, et je pense qu'avec ce test qui nécessite, comme le set_pixel, une communication entre l'ATSAMD21 et l'ASIC à base d'eZ80, qui se fait manifestement avec un lien lent, on va s'approcher de la performance du set_pixel...


Disons que c'est beaucoup plus rapide que ce que tu obtiens chez la concurrence en affichant ton image avec une boucle de setPixel() faute de mieux.

Bref voilà, j'ai compris le format IM8C, je peux générer mes propres images.
Voici le jeu de Saute Mouton édition Python :
Image
archives_voir.php?id=2637060

Les moutons sont ici des images, images transparentes de plus contrairement à l'exemple précédent, et le reste fait appel aux fonctions optimisées d'affichage de primitives spécifiques au module ti_graphics (drawPolyLine(), fillPolygon(), fillRect()).

Affichage assez rapide, rien à voir avec les performances catastrophiques obtenues sur d'autres exemples, on peut faire de très belles choses en Python sur CE. :D
A quand Oiram CE Python Edition ? ;)

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 08 Juil 2020, 18:49
de Adriweb
Cool! Tu aurais une video ? :)

Re: Découverte format image Python IM8C TI-83 Premium CE 5.5

Message non luPosté: 09 Juil 2020, 00:15
de DoOmnimaga
Les couleurs me rappelle la bonne vieille Colecovision. :)