# Original Chip Set

OCS (qui signifie Original Chip Set) est suivi de l'Extended chipset (ECS), puis de l'Architecture graphique avancée (AGA) dans les ordinateurs Amiga de la marque Commodore. 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. L'ensemble des puces étaient fabriquées par MOS Technology.
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

MOS Technology 8362 Denise (en) Denise était une puce non programmable responsable du transfert des données brutes de l'IC hybride au port RVB.

### Résolutions

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 la définition de son affichage de quelques pixels ; ce dispositif s'appelle overscan.

### Couleurs

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.

## Agnus

MOS Technology Agnus (en), utilisant l'Address Generator Unit (NTSC, 8361) ou de l'Address Generator Unit (PAL, 8367) Agnus fournissait en fait les possibilités multimédia :
* Fournissant DMA pour le son et les graphismes
* 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.

### Blitter

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 (par ex. effet plasma). Il permet d'effectuer les opérations suivantes : copie (transfert) de bloc (par ex. animation, scrolling vertical) ; décalage de bloc (par ex. scrolling horizontal) ; opérations logiques (par ex. filtres graphiques) ; masquage (par ex. calques, traitement des collisions) ; tracé de lignes droites (par ex. dessin vectoriel 2D, 3D) ; remplissage de bloc (par ex. dessin vectoriel 2D, 3D).
Les autres spécificités incluent multiples registres de pointeurs et de modulos (par ex. zoom), adressage mémoire ascendant ou descendant (par ex. scrolling), détection du zéro (par ex. détection de collision), adressage mémoire linéaire ou rectangulaire, et 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 permettent en temps réel 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

Le copper est synchronisé avec le balayage de l'écran et permet donc de programmer des évènements en fonction de la position du faisceau d'électrons. Cela 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. 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. C'était très utile pour permettre le scrolling vertical des écrans dans le workbench ou pour permettre l'affichage de davantage de couleurs (par reprogrammation de la palette de couleurs en cours d'affichage de chaque ligne) ou davantage de sprites dans les jeux et les démos.
Une des utilisations très connues du copper se retrouve dans toutes les démos avec cylindres horizontaux multicolores se déplaçant verticalement et changeant de couleur.

### Synchronisation vidéo

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, enrichi 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 vidéo (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.

### Sprites

8 sprites matériels (utilisés pour le pointeur de souris par exemple) d'une largeur de 16 pixels et d'une hauteur illimitée 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 théoriquement très limités en nombres et en couleur comparés au spécifications des consoles de salon de l'époque, l'Amiga pouvait « tricher » en utilisant le copper et le blitter pour afficher un grand nombre d'objets animés à l'écran, bien plus que la limite théorique de 8 sprites.
Le Copper peut être utilisé pour changer les registres de sprite (entre autres) au milieu d'une ligne. 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. Le blitter permet de créer des Blitter OBject (désigné sous l'acronyme BOB) sans limitation de couleurs autre que la palette et en nombre uniquement limité par la RAM et le processeur permettant de rajouter des objets animés à l'écran en plus des sprites hardware.
De nombreux jeux comme Risky Woods, Brian the Lion et Jim Power utilisaient les sprites pour afficher un plan de défilement parallaxe supplémentaire, les personnages à l'avant plan étant affichés eux en utilisant le blitter de la machine.

## Paula

La puce de MOS Technology, MOS Technology 8364 Paula est la puce sonore de l'Amiga. Ses possibilités incluent :
* Rendu stéréo par DMA matériel de 4 canaux. Échantillons de 8 bits PCM jusqu'au taux d'échantillonnage de 28 867 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.