1

Je cherche une routine de texte pour afficher des caractère (je ferais mon propre DrawStr() ) plus rapide que celle que TIGCC.
Je sais qu'il y a celle de la TICT mais pour l'instant je ne l'ai pas trouver.
www.wikio.fr/user1921&info=comments

2

Si t'as le courage de télécharger tinyx sur mon site ... heu qui était sur mon site smile
http://neurone.kouette.com/progs/download/TinyX.zip

y'a pas vraiment de doc ... enfin, p-ê là
http://neurone.kouette.com/progs/download/TinyX.php

3

Demande à Lionel Debroux (XDanger) pour celle de la TICT. Ou regarde dans les sources de TI-Chess, mais ce n'est pas la plus récente.
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é

4

je pense que tinyx est justement ce qu'il te faut tongue
routine petite et rapide programmées en asm.

5

Oué, enfin, y'a deja les fcts DrawStr smile que tu peux reprogrammer biensur ...

6

Oui, désolé, je n'ai pas eu le temps de m'occuper de FastChar, Raphaël...
Pour autant qu'il me semble, tu ne m'as pas dit quels modes et quelles fonts il te faudrait (est-ce qu'il te faut tous les modes, toutes les fonts ?)...

#3: ça tombe bien, ExtGraph et les routines de fonts en ASM pour TIGCCLIB (la plupart ne sont pas encore écrites et ne le seront pas à très court terme) aussi. Les boucles ne sont pas déroulées.

Quelques-unes des routines de TICT sont à http://ftp.ticalc.org/beta/findstr.zip
Note: le fichier n'a pas été updaté; j'ai fait une version de la routine de setup que PedroM devrait supporter (je n'ai pas PedroM, je n'ai pas encore fait de tests).
Il y a les versions C de toutes les routines. Ces routines sont caduques.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

7

je tiens a noté que tionyX n'est pas dev par moi mais par neurone, par consequent elles sont bien programmées, et les routines ne sont pas déroulées tongue

8

#6: je sais très bien que TinyX n'a pas de boucles déroulées. C'est sous-entendu dans son nom...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

9

aRf, bah c pas vrai pour tout smile
par exemple, j'ai une fonction pour effacer un écran virtuel qui fait 17 boucles ... donc, c un peu déroulé par moment ...

10

mais avec les routines de tigcc modifié, ta routine ne fera que 20 octets tongue

11

Bah en fait maintenant il me faudrait juste une routine de Char qui supporte les 3 Fonts parce-que j'ai commencé des menu popup qui s'affiche d'après la taille des fonts (d'ailleurs la fonction est énorme). Et puis pour les modes, bah je sais pas... C'est pour faire du gray mais celles de TIGCC sont bizarre et on ne peut pas faire ce que l'on veut (mais enfin elles sont peut-être toutes comme ça).
Par contre je veux absolyment faire ma routine DrawStr() à partir d'une fonction DrawChar afin d'avoir tous les caractère de la même longeur sinon c'est l'enfer pour calculer la longeur dans les menus et tout ça.
Bon je n'ai pas le temps mnt, mais je vais déjà regarder les solutions que vous m'avez proposés.
www.wikio.fr/user1921&info=comments

12

TinyX te permet de faire ce que tu veux.

13

Ok, bah je vais jeter un coup d'oeil alors, merci. smile
www.wikio.fr/user1921&info=comments

14

Ah, ouais, elle à l'air pas mal cette petite librairie.
Les fonts, c'est bien celles de l'AMS, non ? Parce-que je vois des "tX_LoadFont_Big(void);".
C'est compatible avec FontSetSys() ? Et puis ça prend de la place d'utiliser ces fonctions ? ... Parce-que comme je veux faire un programme "assez souple" il va prendre un paquet de place.
Et sinon, ça vaut le coup d'utiliser les autres fonctions au niveau de la place occupé ?
www.wikio.fr/user1921&info=comments

15

alors pour ce que j'ai vu des sources: les fonctions sont petites, et ce sont les fontes de l'ams (c'ad pas celle du boot). donc les fontes de la rom.

grosse boulette edit!!!

16

Pourquoi il faut charger les fonts alors ? Et puis ça charge quoi au juste ?
Et sinon je voulais savoir : les caractères font tous la même taille avec les fonctions DrawStr() ? Parce-que si c'est le cas je me sers directement de ces fonctions.
www.wikio.fr/user1921&info=comments

17

Non, les caractères sont de largeur variable pour la petite fonte. Pour la moyenne et la grosse, ils sont tous de même largeur.
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

18

heu j'avais ecrit une grosse boulette.
ce sont les fontes de l'ams, mais les fonctions sont reecrite pour etre bcp plus rapide que celle de l'ams !!!!!! j'ai invers" le mot fonte et focntion dsl
ca charge la fonte en ram
seule la minifonte est a largeur variable

19

Non, les caractères sont de largeur variable pour la petite fonte. Pour la moyenne et la grosse, ils sont tous de même largeur.

Ah, bah mince. Bon bah tant pis je faire faire ma propre fonction... enfin elle est déjà faite.
ca charge la fonte en ram

Les fonctions de l'AMS ne le font pas ? Ca sert à quoi de pouvoir les charger et décharger... par rapports aux fonctions de l'AMS ?
www.wikio.fr/user1921&info=comments

20

demande a neurone tongue

21

Bon bah tant pis je faire faire ma propre fonction...

Euh, mais tu veux faire quoi exactement ? si c'est afficher des caractères de la petite fonte, ils sont de largeur variable quelle que soit la fonction que tu utilises, alors je ne comprends pas bien... confus
Tu veux utiliser ta propre fonte ?
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

22

Ah, d'accord je n'avais pas compris. Moi ce que je veux c'est une fonction qui affiche tous les caractère de la même manière.
Par exemple pour la petite font je veux que la fonction affiche chaque caractère de 4 pixels en 4 pixels et c'est tout... ce que ne font pas les routines de l'AMS.
www.wikio.fr/user1921&info=comments

23

Ah oui et puis qd j'essaye d'utiliser tX_DrawStr() j'ai une undefined reference to calculator. je vois pas trop pourquoi ?
Et sinon j'oubliais, comme je veux faire un éditeur de texte en gray, je veux évidement des fonctions qui puisse faire ce que l'on veut facilement.
Et avec tX_DrawChar() on fait comment pour faire des modes du genre XOR par exemple... C'est possible au moins ?

www.wikio.fr/user1921&info=comments

24

pour la petite font je veux que la fonction affiche chaque caractère de 4 pixels en 4 pixels et c'est tout...

Alors il faut dessiner les caractères exprès. Tu ne peux pas utiliser la petite fonte de l'AMS, beaucoup de caractères font plus de trois pixels de large (notamment m, w, z, M, N, W, Z, probablement aussi G et Q...) et de plus les caractères fins (comme le i) ne sont pas faits pour être espacés d'autant, ça serait moche.
Si ça t'intéresse, j'ai dessiné tous les caractères ASCII visibles en 4x6 pour mes propres besoins, avec une fonction ad hoc pour les afficher (par contre c'est peut-être pourri vu que je n'y connais rien, mais si ça t'intéresse de jeter un coup d'œil...)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

25

Ouais, tu peux me l'envoyer si tu veux. smile
www.wikio.fr/user1921&info=comments

26

Moi aussi j'avais fait une tentative de fichier perso avec le font de son choix de taille fixe ou variable, pouvant être en gras, italique, souligné... mais le problème était que je ne pouvaias afficher que 8000 caractères par secondes ce qui est vraiment peut.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

27

Bon OK je le poste ici.
Attention : la fonction d'affichage est ultra-basique et n'affiche que sur des colonnes alignées sur des multiples de 4 pixels. Et telle quelle elle ne fait que du "replace".
Pour le dessin des caractères, j'ai fait de mon mieux sur une matrice de 3x6, certains sont moches (e, s, z, m, M, N) mais bon...
voici donc la chose :

unsigned short fixedfont[] = {
  /* Format : les 15 bits de droite représentent 5 rangées de 3 pixels, du haut en bas.
     Le bit de gauche est à 1 si ce sont les 5 rangées du haut, à 0 si ce sont celles du bas.
     Seul le j utilise les 6 rangées -> à traiter comme un cas particulier. */
0,		/*   */
0122202,	/* ! */
0155000,	/* " */
0157575,	/* # */
0136236,	/* $ */
0141241,	/* % */
0134243,	/* & */
0124000,	/* ' */
0112221,	/* ( */
0142224,	/* ) */
0152500,	/* * */
0002720,	/* + */
0000024,	/* , */
0000700,	/* - */
0000020,	/* . */
0111244,	/* / */
0125552,	/* 0 */
0126227,	/* 1 */
0161247,	/* 2 */
0161216,	/* 3 */
0113571,	/* 4 */
0174616,	/* 5 */
0124652,	/* 6 */
0171244,	/* 7 */
0125252,	/* 8 */
0125312,	/* 9 */
0002020,	/* : */
0002024,	/* ; */
0112421,	/* < */
0007070,	/* = */
0142124,	/* > */
0161202,	/* ? */
0175547,	/* @ */
0125755,	/* A */
0165656,	/* B */
0134443,	/* C */
0165556,	/* D */
0174647,	/* E */
0174644,	/* F */
0134553,	/* G */
0155755,	/* H */
0172227,	/* I */
0111152,	/* J */
0155655,	/* K */
0144447,	/* L */
0157555,	/* M */
0157775,	/* N */
0125552,	/* O */
0165644,	/* P */
0125573,	/* Q */
0165655,	/* R */
0134216,	/* S */
0172222,	/* T */
0155557,	/* U */
0155552,	/* V */
0155575,	/* W */
0155255,	/* X */
0155222,	/* Y */
0171247,	/* Z */
0132223,	/* [ */
0144211,	/* \ */
0162226,	/* ] */
0125000,	/* ^ */
0000007,	/* _ */
0142000,	/* ` */
0003530,	/* a */
0144656,	/* b */
0003430,	/* c */
0111353,	/* d */
0007630,	/* e */
0112722,	/* f */
0003527,	/* g */
0144655,	/* h */
0120627,	/* i */
0103152,	/* j */ /* cas particulier : ne pas shifter */
0144565,	/* k */
0162227,	/* l */
0007750,	/* m */
0006550,	/* n */
0002520,	/* o */
0006564,	/* p */
0003531,	/* q */
0006540,	/* r */
0003260,	/* s */
0027230,	/* t */
0005570,	/* u */
0005520,	/* v */
0005770,	/* w */
0005250,	/* x */
0005524,	/* y */
0006230,	/* z */
0132623,	/* { */
0122222,	/* | */
0162326,	/* } */
0152000		/* ~ */
};

static void print_char_fixed_font (word car, word pos_x, word pos_y) {

/* ATTENTION : pos_y est en pixels (position du haut de la ligne de texte par rapport au haut de l'écran)
   mais pos_x est en COLONNES (les colonnes font 4 pixels de large) */


  char *ptr;
  unsigned char mask4;
  unsigned char mask3;
  unsigned long caractere;
  int i;

  car -= ' ';
  caractere = fixedfont[car];
  /* Si le caractère n'est PAS entre ' ' et '~' on va afficher n'importe quoi,
     ce qui n'est pas plus grave que ça : pas besoin de vérifier... */
  if ((caractere & 0100000) && (car != 'j' - ' ')) caractere <<= 3;

  if (pos_x & 1) {
    mask4 = 0xF0;
    mask3 = 0x07;
  }
  else {
    mask4 = 0x0F;
    mask3 = 0x70;
    caractere <<= 4;
  }

  ptr = LCD_MEM + (pos_y + 5) * 30 + pos_x / 2;
  
  for (i = 0; i < 6; i++) {
    *ptr &= mask4;
    *ptr ^= (caractere & mask3);
    ptr -= 30;
    caractere >>= 3;
  }
}
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

28

Ah ça provient du jeu textuel? J'avais parcourus les sources. smile
Tu arrive à afficher combien de caractères par secondes?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

29

Pas la moindre idée :\
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

30

Comment ça se fait que cette fonction tX_HLine() me bouffe 2 ko ?!
Ah oui mais c'est vrai qu'elle sont clippées.
...en plus elle est pas très rapide. sad... Bon bah je vais qd même garder celles d'extgraph.

Et puis finalement, je sais pas comment faire avec cette bpetite fonte sad
J'avais pas encore essayé avec des caractère du genre 'm'.
www.wikio.fr/user1921&info=comments