1

Salut j'ai bessoin d'infos sur comment faire mon propre grayscale sans flickering sus HW2. Je sais qu'il y a gray4lib et que sur les nouveaux kernels elle marche correctement, mais j'insiste à écrire ma propre implémentation.

J'ai vraiment du mal à trouver des infos et/ou du source code, donc presque n'importe quoi sera bienvenu :^)

Je connais les principes de grayscale, ce que je ne sais pas c'est comment me syncroniser avec le display (quelle auto-int utiliser, comment savoir l'état du display, etc...)

Merci!
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

2

C'est très compliqué! Je te déconseille fortement d'essayer de réécrire ta propre implémentation. Si tu n'aimes pas les kernels et/ou les librairies dynamiques, tu peux utiliser TIGCCLIB.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Peux tu me donner plus de détails (où trouver les sources de cette tigcclib)?
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

4

Va voir tigcc.ticalc.org pour TIGCCLIB.
Le site du programmeur qui a fait l'implémentation de TIGCCLIB (Thomas Nussbaumer, à partir du source de JM pour UniversalOS): tict.ticalc.org . Cette implémentation est plus que correcte, elle gère le double buffering, une synchro plus poussée...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

5

Tu n'as pas besoin des sources. Tu fais bsr GrayOn et voilà de beaux niveaux de gris.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

et ouai smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

7

Génial je jetterai un coup d'oeil. La raison que j'ai à voiloir voire les sources c'est parce que j'ai lu quelque part que dans le grayscale sur HW2 à un moment donné il falait attendre (avec des NOPs) un certain état du display, donc j'aimerais utiliser ces cycles pour quelque chose de plus productif :^)
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

8

Ça n'attend pas avec des nops. L'interruption retourne tout de suite, le programme peut continuer, et on réessaye à la prochaine interruption si le port I/O a réagi.

Pour un exemple complet qui utilise les niveaux de gris de TIGCCLIB en assembleur, cf. http://ti89prog.kevinkofler.cjb.net/asmnstbf.htm, paragraphe V.2.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Bon j'ai lu les tutos, voyons voir si j'ai bien pigé

À chaque fois que l'on veut montrer un paneau il faut tout copier dans $4C00-$5BFF? Il ne suffit pas d'utiliser les 4 paneaux (%00: $4C00-$5BFF %01: $5C00-$6BFF %10: $6C00-$7BFF %11: $7C00-$8BFF) et de les échanger avec le régistre $700017? Il n'y a pas de workaround?? Pas moyen de forcer le LCD à rélire un panneau??? Grosse merde...

Aussi, faut il se servir de $70001D pour se synchroniser avec le LCD ou c'est pas nécessaire?
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

10

Merci Kevin :^)

J'aimerais aussi voir le source de ces librairies statiques de tigcc. Est-il disponible? Où puis-je le trouver?

Merci à ts
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

11

boogerman
a écrit : À chaque fois que l'on veut montrer un paneau il faut tout copier dans $4C00-$5BFF?

Oui.
Il ne suffit pas d'utiliser les 4 paneaux (%00: $4C00-$5BFF %01: $5C00-$6BFF %10: $6C00-$7BFF %11: $7C00-$8BFF) et de les échanger avec le régistre $700017?

Non, parce que le LCD n'est pas mis à jour.
Il n'y a pas de workaround?? Pas moyen de forcer le LCD à rélire un panneau???

Non. Et même si c'était possible, vu que des 4 panneaux possibles, seul $4C00-$5BFF est libre, les autres 3 panneaux étant occupés par des variables globales de AMS utilisées par presque tous les ROM_CALLs, ça ne servirait à rien.
Aussi, faut il se servir de $70001D pour se synchroniser avec le LCD ou c'est pas nécessaire?

C'est nécessaire si tu ne veux pas que ça clignote affreusement.

Mais je t'avertis: le moindre changement par rapport à la routine de TIGCCLIB apportera des clignotements affreux. Je le sais parce que j'ai aidé PpHd à corriger la routine qu'il utilisait pour la graphlib de PreOs. Il utilisait presque le même algorithme (mais avec du code différent), mais il y avait un détail qui différait, et ça clignotait affreusement. J'ai été obligé de corriger son code pour qu'il fasse la même chose que celui de TIGCCLIB pour virer les clignotements.

Bref: il vaut vraiment mieux d'utiliser du code tout fait (comme TIGCCLIB).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

boogerman a écrit :
Merci Kevin :^)
J'aimerais aussi voir le source de ces librairies statiques de tigcc. Est-il disponible? Où puis-je le trouver?

http://tigcc.ticalc.org/beta/tigccsrc.zip, fichier archivegray.s du ZIP.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

Kevin Kofler a écrit :
Bref: il vaut vraiment mieux d'utiliser du code tout fait (comme TIGCCLIB).


Bien sûr, je le pense aussi. 'faut jamais réinventer la roue, mais comme je l'ai dit je voulais voir une implémentation parce que j'ai lu dans un post dans la mailing list de ticalc (que je n'ai d'ailleurs plus pu retrouver) que les routines de gray4 sur HW2 devaient attendre sans opérer un certain état du display. Dans ce cas, j'avais l'intention d'y mettre du code dans ce temps d'attente.

Bien évidemment, à voir ton code je me suis rendu compte que ce post était soit incorrect, soit totalement outdated...

/*-------------------------------------------------------------------------*/
/* "hardcore" memcopy using as much registers as possible */
/*-------------------------------------------------------------------------*/


Trop fort ce genre d'optimisations :^) J'ai encore beacoup à apprendre

Donc, je veux bien utiliser tigcclib. Je vais essayer d'implementer ça...
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!