puces graphique

C'est la catégorie reine de l'ordinophile, 8 bits et pas un de plus!
Single board ou bus S-100 acceptés.

Modérateurs : Papy.G, fneck, Carl

nouvelhermes
Messages : 401
Inscription : 22 juil. 2020 20:56

puces graphique

Message par nouvelhermes »

J'ai une question pour les connaissance, parce je ne connais pas trop l'aspect matériel des 8 bits.

Y a til un lien (au niveau matériel) entre les différents appareils qui affichent en 8 couleurs (Oric, VG5000, Alice, EXL100, TO7, minitel).

Parce que tous ces appareils affichent les mêmes 8 couleurs criardes.

Est-ce que les contraintes de proximité du TO7 sont dûes au matériel, ou est-ce juste un problème de mémoire, est-ce le même système d'affichage matériel dans les thomson, et est-ce qu'il y a un autre système pour les modes sans contraintes ?

Est-ce que ce système de pages forme/couleur est-ce une spécificité thomson ?

La palette (des TO7/MO5) est-elle définie au niveau matériel, ou au niveau logiciel (en ROM) ?
Serait-il théoriquement possible d'afficher seize couleurs sur un TO7 de base, et serait-il possible d'afficher d'autres couleurs sur les TO7/TO770/MO5 ?
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: puces graphique

Message par __sam__ »

nouvelhermes a écrit : 04 juin 2022 22:25 Parce que tous ces appareils affichent les mêmes 8 couleurs criardes.
Oui ce sont les mêmes couleurs saturées qu'on peut produire à partir d'un bit par composante R/V/B. 3 Bits donnent 8 couleurs en tout.
Est-ce que les contraintes de proximité du TO7 sont dûes au matériel, ou est-ce juste un problème de mémoire,
La mémoire est du matériel. On ne pouvait pas en utiliser trop pour l'affichage. Pour afficher 16 couleurs sans contraintes en 320x200, il faut une zone mémoire d'environ 32Ko, soit la moitié de la zone addressable par le CPU. Ca en laisse peu pour le reste (ROM, ports d'entrée/sortie, et mémoire vive). Aussi Thomson a trouvé l'astuce de la mémoire forme/fond. La RAM vidéo n'occupe que 2 x 8ko aux mêmes adresses. Cela fait 16ko en tout ce qui est un gain non négligeable par rapport au cout de la RAM à l'époque. La contrepartie est d'avoir 2 couleurs figées par groupe de 8 pixels horizontaux. C'est un compromis technique astucieux permettant d'avoir une des machines offrant un affichage parmi les plus colorés de l'époque (début '80s). Thomson a déposé un brevet à ce sujet. Tu peux le lire, on y apprends toutes les motivations derrière ce choix technique..
est-ce le même système d'affichage matériel dans les thomson, et est-ce qu'il y a un autre système pour les modes sans contraintes ?
Je ne comprends pas la question. Ce que je peux dire c'est que les modes sans contraintes ont existées sur d'autres machines utilisant aussi 16ko de mémoire vidéo (Amstrad par exemple). Cependant en 320x200 on ne pouvait pas afficher plus de 4 couleurs, mais en descendant à 160x200 on pouvait atteindre 16 couleurs sans contraintes. Les Thomsons de dernière génération (MO6/TO8/9/9+) sont eux aussi capable d'afficher de tels modes.

Pour avoir un affichage 320x200 en 16 couleurs sans contraintes (32ko quand même), il faudra attendre l'arrivée des machines 16bits avec des machines ayant beaucoup plus que 32 ou 64Ko de mémoire vive. Les Ataris et Amiga avaient ainsi de base 512Ko, soit 16 fois plus que ce qu'il faut réserver pour la vidéo (32ko). Bref il y a de la marge chez eux et un affichage de 16 couleurs 320x200 sans contraintes est tout a fait possible. L'amiga arrive même à avoir des écrans de 32 couleurs en 320x256 sans contraintes, et même 64 avec le Halfbrite, soit 61ko de mémoire utilisée pour l'affichage. Une bête de course cette machine, d'autant plus qu'en acceptant quelques contraintes l'amiga arrivait même à afficher 4096 couleurs à l'écran avec le mode HAM, mais c'est un autre sujet.
Est-ce que ce système de pages forme/couleur est-ce une spécificité thomson ?
Oui, cf le Brevet n°FR2477745A1 dont je parlais plus haut.
La palette (des TO7/MO5) est-elle définie au niveau matériel, ou au niveau logiciel (en ROM) ?
Matériel. Impossible de la changer.
Serait-il théoriquement possible d'afficher seize couleurs sur un TO7 de base,
Non. Seuls 3 bits de la mémoire couleur est utilisée. Or 3bits=les 8 couleurs de bases.
et serait-il possible d'afficher d'autres couleurs sur les TO7/TO770/MO5 ?
Tu veux parler d'une palette modifiable ? Non, il faut avoir les circuits graphiques de la génération suivante pour faire cela. Par contre les TO7/70 et MO5 utilisent eux 4 bits de la ram couleur, ce qui leur permette d'avoir 16 couleurs au lieu de 8 pour le TO7. Les 8 couleurs supplémentaires sont aussi fixées par le hardware. Thomson auraient pu décider afficher des couleurs de demi-intensité (comme sur ZX par exemple), mais ils ont choisis les versions pastel des couleurs de base. Bref au lieu de "tirer vers le sombre" (demi-intensité) les couleurs 8 à 16 "tirent vers le blanc", ce qui pose quelques soucis aux TV LCD, mais bon à l'époque c'était un choix apportant des couleurs plus proches du réel (on a pas la peau jaune saturé comme chez Trump ou les Simpson, mais un truc se rapprochant du jaune-pastel des thomson.)

Plus d'infos sur les systèmes graphiques des différentes machines 8 bits : https://wikipfr.icu/wiki/List_of_8-bit_ ... e_graphics
Dernière modification par __sam__ le 05 juin 2022 00:15, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
nouvelhermes
Messages : 401
Inscription : 22 juil. 2020 20:56

Re: puces graphique

Message par nouvelhermes »

Merci pour ces réponses.

Dans le cas des TO9 et suivant, on a un mode sans contrainte disponible, donc il y a-t-il plusieurs puces gérant l'affichage, ou la même peut-elle tout faire ?

Sinon merci encore
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: puces graphique

Message par Zebulon »

Merci Sam pour ces infos et le lien vers le brevet. Je lirai cela attentivement car j'étais aussi curieux d'en savoir davantage sur cette spécificité de mémoire vidéo séparée entre couleur et forme.

En apparté, j'ai découvert récemment que certains systèmes comme la Megadrive ne stockent pas l'image en mémoire vidéo proprement dite. La mémoire "vidéo" est utilisée pour stocker les images élémentaires permettant de recréer les décors, les images des sprites ainsi que les cartes des niveaux indiquant comment combiner ces images élémentaires et c'est une puce spécialisée qui reconstitue les images à la fréquence d'affichage en combinant ces éléments, ainsi l'image finale n'est jamais stockée en tant que telle. Fin de hors sujet.
nouvelhermes
Messages : 401
Inscription : 22 juil. 2020 20:56

Re: puces graphique

Message par nouvelhermes »

Merci beaucoup pour le lien Wikipedia.

En ce qui concerne les palettes 8 couleurs, les couleurs sont criades, c'est peut-être la raison pour laquelle les couleurs sont très délavées (trop je pense) sur les Palettes PC (texte, CGA et EGA).

Beaucoup ont critiqué les couleurs mal choisies des Thomson, mais clairement les tons pastel adoucissent considérables les images, même si la plupart des jeux écrits en BASIC n'ont utilisés que 8 couleurs (compabilité TO7 oblige)

Je posais ces questions, parce que le système de "palette" est apparu tardivement, à ma connaissance l'Amstrad CPC est le premier permettant d'avoir une palette.

Je serais effectivement curieux comment se compose la mémoire écran des machines ayant un système de "lutins" hardware (C64,CPC+, beaucoup de consoles)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: puces graphique

Message par __sam__ »

nouvelhermes a écrit : 05 juin 2022 00:11 Dans le cas des TO9 et suivant, on a un mode sans contrainte disponible, donc il y a-t-il plusieurs puces gérant l'affichage, ou la même peut-elle tout faire ?
Dans le TO7 l'affichage est entière géré par un composant discret. Dans le TO9 et suivants (MO6/TO8/TO9+) thomson a innové en intégrant l'affichage dans une puce spécialisée (Gate-Array) un peu plus intelligente lui permettant d'afficher de nouveaux modes graphiques de 160x200 16 couleurs sans contraintes à 640x200 avec 2 couleurs. Les couleurs sont gérées quant à elles par un circuit dit "palette" (EF9369). Tout cela est expliqué dans le livre "Manuel technique des TO8/TO9/TO9+".

Le datasheet du circuit palette est là: http://www.logicielsmoto.com/viewdocument.php?docid=203. On y apprends que ce circuit force un affichage avec un gamma de 2.8 (contrairement à 2.2 pour les PC et 1.8 pour les Macintosh de l'époque par exemple) ce qui explique pourquoi les thomsons n'arrivent pas du tout à afficher des couleurs sombres, ce qui est très dommage (c'est moche) car du coup les LCD ont tendance à très éclaircir les couleurs pastel des thomson. On a parlé de ce soucis dans un sujet que je ne retrouve pas, mais on peut corriger cela en introduisant des résistances dans la péritel.
Zebulon a écrit : 05 juin 2022 00:20 En apparté, j'ai découvert récemment que certains systèmes comme la Megadrive ne stockent pas l'image en mémoire vidéo proprement dite. La mémoire "vidéo" est utilisée pour stocker les images élémentaires permettant de recréer les décors, les images des sprites ainsi que les cartes des niveaux indiquant comment combiner ces images élémentaires et c'est une puce spécialisée qui reconstitue les images à la fréquence d'affichage en combinant ces éléments, ainsi l'image finale n'est jamais stockée en tant que telle.
Tu hallucinerais du système d'affichage dans la NeoGeo alors. L'écran n'est essentiellement constitué que de "tiles" (sprites de 16x16), chacun utilisant l'une des 256 palettes de 16 couleurs librement redéfinissables. L'écran est donc capable d'afficher 3840 couleurs. Un monstre! La puce vidéo peut chercher les données de sprites directement dans la ROM (128Mo max) et en fait il n'y a pas vraiment de bitmap du coup non plus. Cela permet de faire des animations d'enfer car les sprites sont capables d'être rétrécis ou retournés, permettant ainsi de faire des effets graphiques sur de grosses zones écran sans consommer de CPU. Pratique pour le boot-screen:


A l'inverse les machines comme les Vectrex n'ont aucune mémoire (ou circuit logique de) vidéo dédiée. La vidéo est gérée en temps réel par le CPU qui change les constantes de temps de deux intégrateurs (un pour l'horizontal et l'autre pour la vertical) afin de bouger le spot écran. Dans le genre tordu sans chip vidéo dédié, les ZX80 utilisent exclusivement le CPU pour générer les signaux vidéo en temps réel, si bien que lorsqu'il execute une routine BASIC rien ne s'affiche à l'écran (source). Il y a clairement tout un bestiaire de solutions techniques curieuses au début de l'informatique quant à l'affichage vidéo.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: puces graphique

Message par Papy.G »

nouvelhermes a écrit : 04 juin 2022 22:25Y a til un lien (au niveau matériel) entre les différents appareils qui affichent en 8 couleurs (Oric, VG5000, Alice, EXL100, TO7, minitel).
Oui, entre le VG5000, Alice 32/90, et certains Minitels (1b chez Alcatel et Matra), c'est le même générateur de caractères, avec la même quantité de RAM, 8k (il a son propre bus mémoire, qui n'empiète ni ne réduit l'espace d'adressage du CPU (sauf pour ses registres d'E/S). Néanmoins, comme c'est un générateur de caractères dédié aux terminaux et affichages vidéotexte, il a, en plus, un quatrième bit, dédié à l'incrustation vidéo, exploité, sur une de ces machines pour obtenir des demi-teintes.

La notion de palette devait exister dans les notices techniques de composants antérieurs aux CPC. ;)
Zebulon a écrit : 05 juin 2022 00:20En apparté, j'ai découvert récemment que certains systèmes comme la Megadrive ne stockent pas l'image en mémoire vidéo proprement dite. La mémoire "vidéo" est utilisée pour stocker les images élémentaires permettant de recréer les décors, les images des sprites ainsi que les cartes des niveaux indiquant comment combiner ces images élémentaires et c'est une puce spécialisée qui reconstitue les images à la fréquence d'affichage en combinant ces éléments, ainsi l'image finale n'est jamais stockée en tant que telle. Fin de hors sujet.
Ce n'est pas un hors sujet, les générateurs de caractères tels que celui du VG5000/Alice ont un mode de fonctionnement assez proche, et en plus, la mémoire est gérée en parallèle, la page d'affichage est dans un bloc de 1kO (ça tombe bien, 40x25=1000), mais les attributs dans le ou les blocs suivants selon le mode. Et les caractères en Rom ou dans ce qu'il reste de RAM en cas de redéfinition ou mode semi-graphique. Il en résulte une économie de mémoire considérable.

Pour compléter ce que dit SAM, un exemple de mélange de genre, la GameBoy utilise un mode "tuiles" en 8x8 plus sprites, et c'est le processeur qui interrompt ses traitements pour générer l'affichage.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
Dynaroo
Messages : 521
Inscription : 25 juil. 2020 00:06
Localisation : Sud 77

Re: puces graphique

Message par Dynaroo »

Sur le même principe, la puce présente dans le Minitel pouvait sortir un signal RVB en mode "Tout ou Rien" pour affichage sur TV, mais au prix d'une bidouille, entre autres rajout d'une prise et adaptation de niveaux.
Le télétexte se faisait également en 8 couleurs.
Hacker vaillant, rien d'impossible !
Répondre