Original Amiga chipset

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir OCS.

OCS signifie Original (ou Old) Amiga Chipset. Il fut suivi de l'Extended chipset (ECS).

Il était fourni avec l'A1000, ainsi qu'avec l'A500 et l'A2000. De nouveaux A500 et A2000 ont été produits avec l'ECS, ou un mélange d'OCS et d'ECS.

Le jeu de puces qui a donné à l'Amiga ses capacités graphiques et sonores uniques consistait en trois circuits intégrés appelés Agnus, Denise, et Paula. Les deux puces CIA ne sont pas considérées comme faisant partie de l'OCS ou de l'ECS, ayant été utilisées auparavant dans les Commodore 64 et Commodore 128.

Denise[modifier | modifier le code]

Denise était une puce non programmable responsable du transfert des données brutes de l'IC hybride au port RVB.

Agnus[modifier | modifier le code]

Agnus fournissait en fait les possibilités multimédia :

  • Fournissant DMA pour le son et les graphiques
  • Manipulant la mémoire (512 Kio de Chip RAM, mémoire qui peut être accédée par le processeur et les chipsets)
  • Synchronisation vidéo (versions PAL ou NTSC)
  • Contenant la logique des coprocesseurs Copper et Blitter.

Une nouvelle version d'Agnus a été employée dans la majeure partie des versions d'A500, et A2000, appelées Fat Agnus, qui pouvait manipuler 1 Mio de Chip RAM sur la carte mère. Super Agnus, une version encore plus récente était capable de supporter 2 Mio de Chip RAM, et pouvait également changer entre un signal vidéo PAL et NTSC.

Résolutions[modifier | modifier le code]

La résolution la plus basse d'un Amiga (parfois appelée LoRes pour la basse résolution) est 320×200 (60 Hz, NTSC), ou 320×256 (50 Hz, PAL). Dans ces résolutions, il pouvait afficher 2, 4, 8, 16 ou 32 couleurs simultanément sur une palette de 4096 couleurs (4 bits pour chaque composante RVB). La résolution peut également être augmentée horizontalement (HiRes ou modes de haute résolution), de 320 à 640, mais en limitant le nombre maximum de couleurs utilisables à 16.

La résolution verticale était 200/256 et pouvait être doublée à 400/512 avec l'utilisation de l'entrelacement vidéo.

L'Amiga peut également augmenter son affichage de quelques pixels de plus dans chaque direction, en employant efficacement l'espace en dehors des 320×200, rendant tout l'affichage accessible aux programmes. Ce dispositif s'appelle overscan.

Couleurs[modifier | modifier le code]

Le nombre de couleurs sur l'écran pouvait être également augmenté par deux méthodes :

  • Le mode Halfbrite ou EHB pour Extra Half Bright - un plan additionnel est utilisé pour afficher 64 couleurs, les 32 dernières couleurs étant moitié moins brillantes que les 32 premières, utile seulement en utilisant attentivement la palette. Ce dispositif était absent des premières versions du chipset.
  • Le mode HAM, ou Hold-And-Modify - ici encore six plans sont utilisés, mais seulement 16 couleurs sont définies dans la palette, les 48 « couleurs » restantes ; décrivent comment modifier la couleur précédente des pixels. Il était possible d'afficher la palette entière de 4096 couleurs, même avec les registres de la palette initiale en noir. Mais, une configuration mal adaptée de la palette de couleur peut produire beaucoup de frangeage. Grâce à une sélection des couleurs plus rigoureuse, il était possible d'afficher des images comme des photos et probablement utiliser toutes les 4096 couleurs avec un minimum de frangeage, que beaucoup de spectateurs ne remarquent même pas.

Synchronisation vidéo[modifier | modifier le code]

La synchronisation vidéo fut délibérément choisie pour permettre d'utiliser l'Amiga avec les télévisions, mais ceci exigeait également un composant additionnel appelé « modulateur TV » qui sortait seulement une image monochrome. Il existait un connecteur RVB séparé pour brancher un moniteur, à travers un connecteur sur mesure de 23 broches de type D-sub, enrichit d'entrées et sorties numériques / analogiques.

Dans des circonstances normales, l'Amiga produit ses propres signaux de synchronisation vidéo, mais le chipset peut utiliser également une synchro externe via la connexion RVB du moniteur pour autoriser le genlocking avec une vidéo externe. Il y a également un bit sur ce connecteur qui indique si l'Amiga produit une image (par opposition à la couleur de fond), permettant un recouvrement video (video_overlay (en)) facile de la vidéo de l'Amiga sur la vidéo externe.

Ceci rendit l'Amiga particulièrement attractif comme système de titrage de vidéos et émissions, car il a évité des dépenses dans du matériel de chromakey et de « AB roll » qui auraient été rendues nécessaires sans l'utilisation de genlock.

Le support de l'overscan, l'entrelacement, les possibilités de genlocking, et le fait que la synchronisation d'affichage était très proche des normes d'émission (NTSC ou PAL), ont fait de l'Amiga l'ordinateur idéal pour la vidéo, et en effet, il fut utilisé dans beaucoup de studios pour numériser des séquences vidéo, sous-titrer et interagir entre les vidéos.

Autres caractéristiques[modifier | modifier le code]

  • les framebuffers fonctionnent en mode planaire.
  • les capacités graphiques sont très difficile à expliquer brièvement en raison du coprocesseur Copper, qui permet en cours de balayage de changer les caractéristiques de l'affichage (résolution, palette de couleurs, nombre de couleurs, synchronisation du balayage, réaffectaction et/ou modification des sprites, etc).
  • grâce au Copper, on peut avoir un écran séparé en deux dans le plan horizontal, avec des résolutions et des palettes différentes sur chaque partie de l'écran.
  • 8 sprites matériels (utilisés pour le pointeur de souris par exemple) d'une largeur de 16 pixels et d'une hauteur variable avec 3 couleurs (plus une quatrième « couleur » pour le masque de transparence). Deux sprites peuvent être joints pour faire un sprite unique de 15 couleurs.
    • bien que ce ne soit pas une caractéristique officielle, le Copper peut être utilisé pour changer les registres de sprite (entre autres) au milieu d'une ligne de balayage. Ce qui permet d'afficher plus de sprites par ligne. Une astuce qui a été employée par certains jeux comme Battle Squadron.
    • il est possible de simuler une largeur de sprite variable en plaçant des sprites de 16 pixels de larges côte à côte. Et ceci jusqu'au maximum de 128 pixels de large pour des sprites de 3 couleurs, et de 64 pixels de large pour des sprites de 15 couleurs. Cependant, plus large est ce pseudo-sprite, moins il est possible d'afficher de sprites sur une ligne de balayage.

Paula[modifier | modifier le code]

possibilités de son de Paula :

  • rendu stéréo par DMA matériel de 4 canaux. Échantillons de 8 bits PCM jusqu'au taux d'échantillonnage de 28867 Hz.
  • taux d'échantillonnage pointeurs séparés pour chacun des 4 canaux DMA.
  • Possible d'émuler du son 14 bits avec le DMA, en modulant 2 canaux et le réglage du volume sur 6 bits.
  • dynamique sonore 8 bits == 48.165 DB.
  • Chaque canal a un registre de volume sur 6 bits.

Autres[modifier | modifier le code]

Blitter[modifier | modifier le code]

  • Le Blitter est un coprocesseur très performant dans les manipulations de grands blocs mémoires. Il est plus particulièrement dédié sur l'Amiga aux manipulations graphiques opérées sur de grandes zones rectangulaires (remplissages, effacements, duplications, etc) et à la création d'effets spéciaux (ex. effet plasma). Il permet d'effectuer les opérations suivantes :
    • copie (transfert) de bloc (p. ex. animation, scrolling vertical)
    • décalage de bloc (p. ex. scrolling horizontal)
    • opérations logiques (p. ex. filtres graphiques)
    • masquage (p. ex. calques, traitement des collisions)
    • tracé de lignes droites (p. ex. dessin vectoriel 2D, 3D)
    • remplissage de bloc (p. ex. dessin vectoriel 2D, 3D)
  • Autres spécificités :
    • multiples registres de pointeurs et de modulos (e.g. zoom)
    • adressage mémoire ascendant ou descendant (e.g. scrolling)
    • détection du zéro (e.g. détection de collision)
    • adressage mémoire linéaire ou rectangulaire
    • 4 canaux DMA
  • Une image sur l'Amiga est composée de plans (bitmaps) superposés. La combinaison de tous les plans forme l'image, la profondeur (le nombre de plans) permettant de coder la couleur du pixel dans la palette retenue. Le Blitter pouvant manipuler extrêmement rapidement tous les plans constitutifs d'une même image, voire de plusieurs images, cela lui permet d'effectuer toutes opérations nécessaires au déplacement, filtrage, gestion des collisions ou zoom de zones images sur l'écran.
  • L'utilisation du blitter permet aux programmeurs de jeux de dépasser les capacités du processeur de sprites et autorise ainsi l'animation fluide de personnages ou de véhicules de taille géante.
  • Les possibilités d'opérations logiques sur les blocs permet en temps réels de nombreux effets de filtrage vidéo.
  • L'utilisation des canaux DMA permet au Blitter d'accéder à la mémoire de façon indépendante du processeur principal, d'où l'extrême fluidité des scrollings multidirectionnels et des traitements vidéos sur l'Amiga. Le blitter permet au processeur de ne pas être sollicité par ce genre de travaux besogneux et reste ainsi disponible pour d'autres tâches.

Copper[modifier | modifier le code]

  • Copper, coprocesseur de 3 instructions fonctionnant parallèlement au processeur, ce qui rend possible la création d'effets spéciaux graphiques avec une charge processeur et intervention minimale. Il exécute une liste d'instructions appelée copperlist. Le copper est synchronisé avec le balayage de l'écran et permet donc de programmer des évènements en fonction de position du faisceau d'électrons.

Il était très utile pour permettre le scrolling vertical des écrans dans le Workbench ou pour permettre l'affichage de plus de couleurs ou de sprites dans les jeux et les démos.