Bonjour, je me suis penché sur la programmation sur TI depuis une petite semaine et je vous présente mon premier projet : Un lecteur de Texte supportant 255 caractères. Je peux modifier la police à tout moment donc certains caractères pourront être remplacés par d'autres plus utiles pour la saisie de cours.
Les caractères sont tracés pixel par pixel ce qui cause une certaine latence, 0.6 secondes pour une page remplie comme celle-ci :
Soit 910 caractères. Je commence à peine à travailler dessus, seulement l'affichage des caractères est géré.
A faire :
- Défilement
- De la couleur
La plus grosse partie :
- Me renseigner sur les appVars pour pouvoir charger des fichiers dans le lecteur.
- Un convertisseur Txt -> appVar avec un espèce de code (du style "_135_") pour indiquer le code d'un caractère non saisissable au clavier.
Voilà, je posterais un message dès que j'avancerais sur ce projet
[CE Projet ASM]Lecteur de texte avec caractères spéciaux
42 posts
• Page 1 of 5 • 1, 2, 3, 4, 5
[CE Projet ASM]Lecteur de texte avec caractères spéciaux
Last edited by y0ann on 21 May 2016, 00:43, edited 1 time in total.
-
y0ann
Niveau 4: MC (Membre Confirmé)- Posts: 19
- Joined: 04 May 2016, 21:56
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: GEII
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Intéressant Mateo a fait un editeur et lecteur de texte, mais avec la police par défaut (je crois) !
C'est fait entièrement en Assembleur ou bien avec du C aussi ?
Au passage, si tu es en 16bpp, tu peux très probablement plutôt passer en 8bpp voire moins, ça sera beaucoup plus rapide
Par ailleurs, je t'encourage à mettre ceci en open-source (par exemple sur GitHub) - il y a des gens interessés qui pourront sûrement t'aider à optimiser fortement le programme (même pixel par pixel, un tel écran ne devrait pas prendre 0.6s - c'est "lent" pour de l'assembleur Si ma mémoire est bonne, jacobly avait réussi à faire faire défiler à l'écran d'accueil un certain nombre de milliers (peut-être même plusieurs dizaines de milliers) de caractères par seconde (une centaine de FPS je crois))
C'est fait entièrement en Assembleur ou bien avec du C aussi ?
Au passage, si tu es en 16bpp, tu peux très probablement plutôt passer en 8bpp voire moins, ça sera beaucoup plus rapide
Par ailleurs, je t'encourage à mettre ceci en open-source (par exemple sur GitHub) - il y a des gens interessés qui pourront sûrement t'aider à optimiser fortement le programme (même pixel par pixel, un tel écran ne devrait pas prendre 0.6s - c'est "lent" pour de l'assembleur Si ma mémoire est bonne, jacobly avait réussi à faire faire défiler à l'écran d'accueil un certain nombre de milliers (peut-être même plusieurs dizaines de milliers) de caractères par seconde (une centaine de FPS je crois))
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14744
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Avec du C ! Assembleur pur, le maximum que j'ai réussi à faire c'est un point qu'on déplace sur l'écran avec les flèches, j'ai abandonné sur les sprites.
Voici pour le défilement sur une tableau contenant 1500 caractères :
Et pour se rendre compte de la lenteur monumentale du bouzin, on vire le buffer :
L'optimisation c'est pas pour moi !
La police de 8x8 est stockée dans un tableau d'octet de cette manière (256 caractères) :
La seule manière que j'ai trouvé d'afficher ça c'est comme ça (désolé je viens de débarquer ) :
Voici pour le défilement sur une tableau contenant 1500 caractères :
Et pour se rendre compte de la lenteur monumentale du bouzin, on vire le buffer :
L'optimisation c'est pas pour moi !
La police de 8x8 est stockée dans un tableau d'octet de cette manière (256 caractères) :
- Code: Select all
unsigned char font[2048] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E,
0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E,
0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00,
0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00,
.......
}
La seule manière que j'ai trouvé d'afficher ça c'est comme ça (désolé je viens de débarquer ) :
- Code: Select all
void DrawCar(uint8_t car, uint8_t X, uint8_t Y)
{
uint8_t i = 0;
uint8_t j = 0;
for (j=0 ; j<8 ; j++) //lignes
{
for (i=0 ; i<8 ; i++) //colonnes
{
if ((font[car*8+j]<<i) & 0x80) //Si le bit i de la ligne j du caractère car vaut 1
{
gc_ClipSetPixel((9*X)+3+i, (9*(Y))+3+j); //On colore le pixel
}
}
}
}
Last edited by y0ann on 19 May 2016, 13:56, edited 1 time in total.
-
y0ann
Niveau 4: MC (Membre Confirmé)- Posts: 19
- Joined: 04 May 2016, 21:56
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: GEII
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Nice work! In case you weren't already aware though, the C libraries already allow you to specify any custom font you wish to use; with a high speed assembly routine used for displaying. You can easily create the font arrays with PixelFontEdit 8x8 or some similar variant.
These are the routines that are worth taking a look at:
The format should still be exactly like yours.
These are the routines that are worth taking a look at:
- Code: Select all
void gc_SetFontData(uint8_t *fontdata);
void gc_SetFontSpacing(uint8_t *fontspacing);
The format should still be exactly like yours.
-
MateoConLechugaVIP++
Niveau 8: ER (Espèce Rare: nerd)- Posts: 50
- Joined: 12 Oct 2015, 21:56
- Gender:
- Calculator(s):→ MyCalcs profile
- GitHub: mateoconlechuga
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Thank you Mateo, I've seen this function in graphc.h but never used it. It's much faster than my bit per bit drawing !
-
y0ann
Niveau 4: MC (Membre Confirmé)- Posts: 19
- Joined: 04 May 2016, 21:56
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: GEII
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
\o/
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14744
- Images: 1119
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Super
Bravo pour ta première semaine de programmation ^^
Bravo pour ta première semaine de programmation ^^
-
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 3446
- Images: 75
- Joined: 04 Jul 2014, 14:40
- Location: Clermont-Ferrand 63
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes
- GitHub: Ti64CLi
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Je veux une TI-83 PCE
Très bon projet, continue !
Très bon projet, continue !
Toujours plus loin, toujours plus haut, toujours plus geek !
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
Créateur du projet Haskier : Jouer ! Sujet sur OpenClassrooms
Programmez en UnderBasic ! https://tiplanet.org/forum/viewtopic.php?t=19009&p=207260
-
Clément.7
Niveau 11: LV (Légende Vivante)- Posts: 348
- Joined: 12 Jun 2013, 15:02
- Location: Près de Nantes
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: IUT Informatique en 2017-2019
- GitHub: ClementNerma
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
J'ai bricolé un convertisseur, il a encore quelques problèmes avec les accents, je règlerais ça demain (enfin, tout à l'heure ).
Il exporte pour l'instant le texte en header contenant un tableau de char, je vais essayer de me renseigner sur les appVars.
J'ai aussi intégré le support des retours à la ligne sur le lecteur et par la même occasion, recodé le système de défilement (le nombre de caractères par ligne n'étant plus fixe).
Il exporte pour l'instant le texte en header contenant un tableau de char, je vais essayer de me renseigner sur les appVars.
J'ai aussi intégré le support des retours à la ligne sur le lecteur et par la même occasion, recodé le système de défilement (le nombre de caractères par ligne n'étant plus fixe).
-
y0ann
Niveau 4: MC (Membre Confirmé)- Posts: 19
- Joined: 04 May 2016, 21:56
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: GEII
Re: [CE Projet ASM]Lecteur de texte avec caractères spéciaux
Super. Après, je suis aussi en train de faire un éditeur hexadécimale d'Appvar. Seulement, je ne sais pas comment ouvrir une appvar en C.
Est-ce que quelqu'un peut m'aider?
Est-ce que quelqu'un peut m'aider?
-
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 3446
- Images: 75
- Joined: 04 Jul 2014, 14:40
- Location: Clermont-Ferrand 63
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes
- GitHub: Ti64CLi
42 posts
• Page 1 of 5 • 1, 2, 3, 4, 5
Return to Langages alternatifs
Who is online
Users browsing this forum: ClaudeBot [spider] and 3 guests