Comment ça marche les zones?

J’ai un peu de mal à comprendre le système des zones, et (comme d’hab) je ne trouve pas la section en question de la STUM1B très claire.

Si je comprends bien, quand je veux changer la couleur du fond, je dois envoyer un espace pour qu’elle soit prise en compte ? Cela crée une « zone » ou la couleur de fond est prise en compte. Par contre pour la couleur d’avant plan ce n’est pas le cas, elle est prise en compte immédiatement.

Et c’est la même chose pour le soulignement.

Du coup, comment fait on pour écrire quelque-chose comme ça:

texte souligné.

?

Notez le point final qui n’est pas souligné. L’arrêt du soulignement n’est pas pris en compte parce que je n’ai pas inséré d’espace.

Il y a une astuce ?

1 « J'aime »

Ce sont les joies des contraintes du videotex…
Aussi, quelle idée de souligner le dernier mot ! Y’en a qui ont de ces idées…!

1 « J'aime »

Le mieux, pour comprendre « comment ça marche » est de commencer par potasser la doc de l’EF9345. Là dedans, tu comprendras ce qu’est capable de faire le processeur vidéo du Minitel 1b et les limitations inhérentes à son encodage interne (attributs série ou pas, etc).

Pour répondre à la question de ton exemple (un point non souligné juste après un texte souligné).

  • Normalement, non, ce n’est pas possible
  • Premier cas particulier : si le ‹ é › de souligné est en colonne 40, le ‹ . › qui le suivra sera en colonne 1 et ne sera pas souligné !
  • Second cas particulier (avec un M2 seulement): Rien ne t’empêche de redéfinir le caractère ‹ . › en DRCS, qui pourra alors ne pas être souligné - dans la pratique, bof !
1 « J'aime »

Après, si c’est pour un point, c’est moche d’arrêter le soulignement juste avant, dans ce cas, tu fais un espace, et c"est bon! :wink:

1 « J'aime »

les attributs et les delimiteurs c’est une chose que je n’ai pas très bien compris.

L’espace qui fait office de délimiteur d’attribut c’est valable pour

Couleur écriture, couleur fond, souligné, inversion, masquage, taille caractère, clignotant ?

c’est bien ca ?

1 « J'aime »

Regarde la doc du 9345 c’est écrit, dans le mode 16 bits, puisque le minitel n’utilise que 2 ko de sa mémoire vidéo.

1 « J'aime »

Pas forcément ‹ simple › mais pas sorcier non plus.

En mode texte, lorsqu’au moins un ‹ attribut série › a été transmis au préalable, le premier caractère ‹ espace › qui le suit (pas forcément immédiatement) fait office de/est un délimiteur - Le(s) attribut(s) série reçus au préalable sont « validés » depuis ce délimiteur jusqu’au délimiteur suivant (ou la fin de ligne).

Un effacement d’écran [ou de ligne(s)] remplit la zone de délimiteurs (attributs fond noir, non souligné, non masqué).

En mode graphique [alphamosaique], tous les caractères sont délimiteurs, le soulignement distingue le jeu [joint/disjoint] - La couleur de fond est immédiatement prise en compte. La taille de caractères et l’inversion ne font pas sens.

Aucune idée du comportement du masquage en graphique !

1 « J'aime »

Faut voir si l’attribut « conceal » existe dans ces modes, toujours dans le manuel du 9345.

1 « J'aime »

Tu veux dire que pour effacer l’écran, je le remplit d’espace ?
car dans la stum p.86 il est dit que l’effacement de l’écran se fait avec un caractère semi-graphique (0x5F).

1 « J'aime »

Les caractères semi-graphiques sont tous des délimiteurs.

1 « J'aime »

Oui, mais moi ca m’arrange de mettre des espaces, et dans la stum il parle de semi-graphique, surement pour éviter un soulignement ou autre.

1 « J'aime »

L’un n’empêche pas l’autre : un espace, mais semi-graphique (G1)

1 « J'aime »

Je dis juste ce que dit le STUM : L’effacement d’une ligne (ou de l’écran entier) consiste à remplir la mémoire écran de délimiteurs ‹ fond noir - non souligné - non masqué ›. Visuellement, celà correspondrait à des espaces ou à des pavés semi-graphiques sans aucun ‹ pixel › allumés.

==> Ce ne sont pas de bêtes espaces

2 « J'aime »

Attention, au niveau matériel, le caractère d’attribut n’est pas un espace (ASCII 32), mais un caractère d’effacement arrière, le seul pouvant supporter les attributs en mode « short fixed ».
En alphamosaique, c’est pas l’attribut soulignement dans le protocole qui définit si on est joint ou disjoint?

1 « J'aime »

en mode mosaique underline on passe en disjoint et underline off revient en semi-graphique, il me semble, mois ca fonctionne
comme cela

1 « J'aime »

J’ai remarqué une chose mais je ne suis pas sur de ce fonctionnement,
Dans une page videotex qui s’affiche, lorsque par exemple en bas de page,

il positionne le cursor en haut de page par exemple sur x=31 et y=4, et que dans cette position
la couleur d’écriture était blanc, il garde cette couleur pour écrire,

Je dis cela car dans MiEdit, dans une page on a
positionnement du curseur en haut
foreground a bleu,
invert on
ce qui donne un fond bleu avec une écriture blanche
et l’écriture est blanche alors que le fond était noire, mais la couleur de l’écriture en haut est blanche.

J’en déduit qu’il faut mémoriser la dernière couleur d’écriture et de fond ou les attributs pour chaque rangée.
A chaque caractère qui est écrit en mode G0, on mémorise les attributs qui était utilisé, pour la rangée en question mais pas pour toutes les cases 80x25

Ou bien a chaque changement d’attribut, dès qu’il y a un Set foreground color ou Set background color, on le mémorise pour cette rangée, un byte d’attribut comme mentionné dans les spec EF9345
c’est bien ca ?

1 « J'aime »