Page 1 of 2

16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus C

Unread postPosted: 17 Feb 2013, 14:51
by critor
Dans une news précédente, nous jetions un premier coup d'oeil sur notre nouvelle TI-84 Plus C Silver Edition couleur. Nous en découvrions ensuite le matériel et enfin la définition de l'écran et ses nouvelles possibilités.



Aujourd'hui, nous allons nous intéresser aux couleurs offertes par ce nouvel écran.
Pour cela, commençons par lancer l'auto-test de la dernière fois avec :f22: :f31: :f81:.
Tout commence donc par une séquence de test de l'écran couleur via l'affichage de plusieurs écrans prédéfinis:
2066 2067 2069 2070 2071 2072 2073 2074 2075 2076

Nous remarquons qu'il s'agit exactement de la séquence d'auto-test de l'écran couleur sur les TI-Nspire CX et TI-Nspire CM.

Ensuite, il nous est proposé de régler la valeur du contraste par défaut (ici 19) entre 9 et 27:
2077

9 correspond à une luminosité forte et 27 à une luminosité faible mais laissant toutefois l'écran lisible (non éteint). Comme tout marche en puissances de 2 en informatique, on peut supposer que la valeur 31 bloquée ici correspondrait à un écran éteint.

Arrive alors ensuite le test de batterie, qui nous dit ici que la batterie n'est pas en charge, et que la capacité restante est entre 25 et 50%, par palier de 25% encore comme sur TI-Nspire:
Mais si l'on branche la calculatrice, aucun changement à cet affichage:
En effet, contrairement à la TI-Nspire, ce test n'est pas mis à jour en temps réel - il faut appuyer sur :f15: pour l'actualiser:
2078 2080 2081


Nous nous voyons présenter ensuite l'habituel nombre ressemblant à la mémoire RAM libre sur TI-83+/84, le compteur qui s'incrémente à partir de 0, et le test clavier qui affiche les codes des touches à presser:
2082 2083 2084 2085 2086


Selon l'auto-test, il y aurait donc déjà 8 couleurs différentes utilisables, ce qui nécessite un codage sur 3-bits. Mais nous avions vu dans la news précédente que les couleurs de l'écran graphique étaient codées sur 4-bits - il nous en manque donc pour le moment.



Retournons maintenant à l'OS.
De nouvelles constantes codent les couleurs utilisables avec les commandes graphiques, couleurs au nombre de 15 - ce qui est parfaitement cohérent avec un codage sur 4-bits! ;)
Ou plus précisément, 9 couleurs et 6 niveaux de gris.
Ces constantes prennent des valeurs entières de 10 à 24.
Image Image


Voyons maintenant comment utiliser les couleurs dans des programmes.
L'onglet des commandes d'entrée/sortie sur l'écran texte de calculs ne présente pas de nouvelle commande. Les anciennes instructions n'ont pas changé et les couleurs sont inutilisables sur l'écran de calculs.
Image


Dans l'onglet des commandes de contrôle, on remarque une nouvelle instruction, GraphColor(, qui permet de choisir la couleur d'un graphe.
Image


Au niveau des commandes de dessin, on constate là encore une nouvelle instruction, TextColor(, qui permet de choisir la couleur d'un texte.
Image Image


Mais alors, on peut tracer des graphiques en couleur et écrire du texte en couleur... Mais comment dessiner en couleur?
Et bien la plupart des commandes de dessin attendent 1 ou 2 arguments optionnels supplémentaires, comme le montre l'aide en ligne intégrée accessible sur chaque commande avec le bouton :f95::
  • le code de couleur
  • le style de la ligne
Image


Passons tout-de-suite sur le style de ligne. Il peut prendre 2 valeurs:
  • 1: chaque point allume 1 pixel
  • 2: chaque point allume un carré de 4 pixels (par défaut)

Un petit regret que partageront sans doute les programmeurs experts en TI-Basic 83+/84, est que l'ajout de ces paramètres optionnels ne permet donc plus le tracer rapide de cercles via Circle(X,Y,R,{i}). Il est possible que ce mode soit disponible autrement, mais nous ne l'avons pas encore retrouvé.



Bref, nous en savons désormais suffisamment - alors regardons ce que donne la palette de couleurs manipulable en TI-Basic!
Image Image
2099


On remarque que sur le jaune, le blanc et le gris clair, le texte est automatiquement imprimé sur fond gris.
Mais bref, voici donc nos 15 couleurs. C'est d'ailleurs un peu bizarre puisque tout marche en puissance de 2 en informatique: nous devrions donc avoir 16 couleurs.
Mais en fait, il est possible de changer la couleur de la bordure et regardez bien:
Image Image Image Image


4 couleurs sont proposées pour la bordure de l'écran graphique, numérotées de 1 à 4, et parmi elles 2 d'entre elles ne sont clairement pas parmi la palette précédente! :bj:
Image Image


Sauf que là nous avons dépassé le 16 et en sommes à 17 couleurs, ce qui veut dire qu'il y en a bien plus selon la règle des puissances de 2! :bj:



En fait, l'étude des variables Picture de capture d'écran graphique récupérées via TI-Connect montre qu'il y a bel et bien 16 couleurs, la 16ème étant la transparence codée 0, non différentiable du blanc codé 0xAh sur les écrans ci-dessus.
Derrière cette transparence, il est possible d'afficher une image de fond d'écran parmi un maximum de 10, image qui elle sera bel et bien en 65536 couleurs.
Image Image


Mais ce mode 65536 couleurs lui n'est pas manipulable en TI-Basic, langage dans lequel nous devrons nous contenter des 16 couleurs que nous pouvons maintenant enfin résumer:
Image




Nous disposons donc au final de différents mode de sortie écran sur TI-84 Plus C Silver Edition:
  • un mode monochrome sur l'écran texte de calcul
  • un mode 16 couleurs manipulable en TI-Basic en premier plan de l'écran graphique 265x165 pixels
  • un mode 65536 couleurs en arrière plan de l'écran graphique, non contrôlable directement

Nous espérons que les programmes assembleur auront accès à ce mode 65536 couleurs, si possible même en plein écran, et nous en mettrons plein la vue avec de superbes jeux couleur comme sur TI-Nspire CX - si bien sûr le processeur encore cadencé à 15MHz permet de le faire à un rythme acceptable...
A suivre... ;)
We hope that assembly programs will be able to use this 65536-color mode, if possible with full-screen resolution, and we'll be able to make great color games like on the Nspire CX - of course, if the processor still clocked at 15 MHz can do it at an acceptable rate...
To be continued... ;)




PS: merci à Cemetech pour la méthode de capture d'écran qui m'évite donc de prendre une photo à chaque fois. TI-Connect 1.6 et TILP étant bien évidemment incapables de gérer les captures d'écran 320x240 84+ C SE couleur à ce jour.
Merci également à Lionel Debroux (note de Lionel: surtout à ses prédécesseurs, en fait), car TI-Connect 1.6 plante sur les transferts de certains types de variables et je peux donc utiliser TILP de façon complémentaire, ce dernier ne plantant pas sur les mêmes trucs.
PS: thanks to Cemetech for the screenshot method, which enables me not to shoot a picture every time. To date, TI-Connect 1.6 and TILP are obviously unable to perform 320x240 color screenshots on the 84+ C SE.
Thanks also to Lionel Debroux (Lionel's note: mostly to the previous maintainers, actually), as TI-Connect cannot perform transfers for some variable types, and I can use TILP in a complementary way, as it does not fail on the same things.

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:36
by mdr1
Comment as-tu fait pour les captures d'écran ?

En ce qui concerne l'assembleur, je ne vois pas de raison pour laquelle on ne pourrait pas faire ce qu'on veut en asm, en particulier sur l'écran.

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:37
by blg_flg
(14:55:44) blg_flg4B: critor? juste comme ça, c'est quoi la méthode de capture d'écran de Cemetech?
(14:59:52) critor: non publique pour le moment, désolé - sois patient ;)


:p

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:39
by mdr1
Je ne m'amuse pas forcément à regarder la boîte de chat avant de poster un message. ;)
Mais si c'est non publique, je pense bien à plusieurs raisons...

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:42
by critor
mdr1 wrote:En ce qui concerne l'assembleur, je ne vois pas de raison pour laquelle on ne pourrait pas faire ce qu'on veut en asm, en particulier sur l'écran.


Je vois plein de raisons personnellement.

Par exemple, sur les TI-68k la commande Asm() officielle était bridée.

Ensuite, voici le 1er jeu assembleur montré sur Cemetech pour la TI-84 Plus C Silver Edition:
Image

Alors pourquoi?
Pourquoi est-ce en mode 16 couleurs?
Pourquoi y'a toujours le bandeau en haut?
Et surtout pourquoi est-ce que ça n'utilise que la petite fenêtre graphique 245x165 et non l'écran au complet?

Car sauf si TI a fait un truc bizarre, c'est normalement plus facile d'adresser le buffer écran au complet plutôt qu'une sous-zone rectangulaire dans ce buffer linéaire...

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:43
by blg_flg
Je me doute bien que tu regardes pas le chat tout le temps. C'est juste que j'avais la flemme de tout recopier. :p

Et pour l'asm, c'est TI qui a créé la commande Asm( donc, ils peuvent interdire des couleurs, même si c'est peu probable. Apparemment (merci critor), c'est ce qu'ils faisaient sur 68K (d'interdire certains trucs à l'asm, pas les couleurs ^^ ). Il fallait regarder le chat pour ça aussi. :D


Edit: Ninja'd! :p

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:45
by mdr1
Il est probable que l'OS empêche l'accès au port de l'écran et force à utiliser les rom call.
Mais je suppose que la communauté saura débloquer tout cela ?

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 15:46
by blg_flg
Hé! Hé! On espère. :p

Mais sinon, pour le jeu ci-dessus, les marges s'expliquent sans doutes par le fait que ce n'est qu'un portage de jeu pour TI-86. On retrouve donc la forme de son écran.

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 16:17
by Lionel Debroux
Il est probable que l'OS empêche l'accès au port de l'écran et force à utiliser les rom call.

Je vois très mal comment quoi que ce soit pourrait empêcher les accès directs au matériel: le Z80, encore plus ancien, n'a pas plus de MMU que le 68000 ;)

Re: 16 couleurs TI-Basic et plus pour la nouvelle TI-84 Plus

Unread postPosted: 17 Feb 2013, 16:18
by mdr1
Lionel Debroux wrote:Je vois très mal comment quoi que ce soit pourrait empêcher les accès directs au matériel: le Z80, encore plus ancien, n'a pas plus de MMU que le 68000 ;)

Dans ce cas, on a rien à craindre. :)