Commodore Amiga Retro PC : Analyse détaillée de son matériel

PC rétro Commodore Amiga

Les plus vétérans du lieu seront très friands de l'Amiga de Commodore, un ordinateur 16 bits appartenant à la génération de la seconde moitié des années 80 et du début des années 90. On se souvient de ses grandes capacités pour le multimédia vintage au-dessus du reste. Ni le PC IBM, ni le Apple Macintosh, ni l'Atari ST ne pouvaient l'éclipser.

Le Commodore Amiga est l'une des plates-formes les plus mythiques et les plus mémorables de l'histoire de l'informatique et de son matériel. Conçu par une équipe dirigée par Jay Miner, qui avait déjà conçu le Atari VCS console et les ordinateurs Atari 8 bits, les Atari 400 et 800, le Commodore Amiga était une version améliorée 16 bits de leurs conceptions précédentes. . C'était un projet convulsif dans lequel il est d'abord né en tant que console de jeu vidéo pour Atari pour évoluer plus tard en ordinateur pour son rival Commodore et en chemin en tant que projet d'une société indépendante.

Commodore amical

Le Commodore Amiga a été lancé en 1985, sous la forme de l'Amiga 1000, mais l'ordinateur dont beaucoup d'entre nous se souviennent sûrement est le Commodore Amiga 500, une version low-cost du premier modèle sorti en 1987 avec un prix réduit et facteur de forme réduit. Comme il avait tout son matériel intégré dans un clavier comme de nombreux ordinateurs similaires de l'époque, son apparence finale ne correspondait pas à l'énorme potentiel qu'il contenait.

En souvenir de cet ordinateur mythique, mais surtout pour ceux qui ne le connaissaient pas, nous avons décidé de lui rendre un petit hommage.

Architecture Commodore Amiga

Architecture Amiga

Parce que dans HardZone, nous nous consacrons à parler de matériel, c'est ce que nous allons faire en parlant de l'Amiga, car pour comprendre ce qui le rend si spécial, nous devons parler de son architecture. Dont l'organisation vous pouvez voir dans le schéma ci-dessus, il est vrai que par rapport aux systèmes qui existent aujourd'hui c'est une architecture relativement simple.

Qu'est-ce qui rendait l'Amiga spécial ? L'énorme puissance dont il disposait grâce à ce qui est finalement devenu l'Original ChipSet ou OCS. Une combinaison de trois processeurs de prise en charge des noms féminins nommés : AGNUS, DENISE et PAULA. Quant à son noyau Processeur c'était le plus largement adopté Motorola 68K. En ce qui concerne la RAM, l'Amiga était une configuration NUMA et donc avec deux puits de mémoire RAM différents, ceux-ci étaient les suivants :

  • La puce RAM était incluse en standard dans le système, son accès se faisait via le coprocesseur ou la puce de support AGNUS. Qui a servi de contrôleur de mémoire et permet à tous les composants d'accéder à ce type de mémoire.
  • La RAM rapide était à l'usage exclusif du CPU. Un système pouvait fonctionner sans Fast RAM et il y avait même des modèles qui étaient vendus sans, il était donc possible d'utiliser l'Amiga sans ce type de mémoire, mais au prix de beaucoup de perte de performances.

Maintenant, nous allons faire un résumé des différents composants du Commodore Amiga.

Le CPU de l'Amiga, le Motorola 68000

Motorola 68000

Le processeur principal du Commodore Amiga était le mythique Motorola 68K, qui faisait partie d'une famille de processeurs avec son propre ensemble de registres et d'instructions qui était utilisé dans de nombreux systèmes. De plusieurs familles d'ordinateurs 16 bits (Amiga, Atari ST, X68000, Apple Macintosh). Dans une grande multitude de planches récréatives de différentes entreprises et dans des consoles de jeux vidéo telles que la Sega Mega Drive ou la Neo-Geo de SNK. A un niveau comparatif, on peut dire que le 68K était dans les années 80 ce BRAS est aujourd'hui, l'ISA et l'architecture pour tout ce qui n'était pas Intel ou, en d'autres termes, le PC.

C'était un CPU de type CISC comme le x86, avec des registres 32 bits, un bus de données externe 16 bits et 24 broches pour l'adressage. La limite de RAM supportée par les systèmes était donc de 16 Mo. Au niveau de la puissance brute, il était un peu supérieur au 8086 d'origine et inférieur au 80286 du PC AT, donc dans la génération 16 bits, le PC avait le processeur le plus puissant. Ce qui a été aggravé par le fait que la plupart des compilateurs 68K étaient mauvais.

La vitesse d'horloge de sa version NTSC était de 7.16 MHz, ce qui correspond au double de la valeur de la salve de couleurs du format de télévision NTSC. C'est parce que l'Amiga a été conçu pour être connecté à un téléviseur standard et que toutes les vitesses d'horloge du système ont été dérivées des 3.58 MHz de cette salve de couleurs. En revanche, la version PAL était un peu plus lente lorsqu'elle fonctionnait à 7.09 MHz, nous commenterons cette différence plus tard.

AGNOUS

Commodore Amiga AGNUS

Le premier processeur conçu par Jay Miner et son équipe pour le Commodore Amiga est AGNUS, qui contient deux composants différents à l'intérieur. Le premier est le contrôleur DMA qui intègre une fonction appelée Blitter ou Block Transfer et l'autre s'appelle COPPER, qui est combiné avec DENISE pour générer les graphiques du système.

AGNUS n'était rien de plus qu'un contrôleur DMA, un type de dispositif présent dans le matériel et responsable de la communication de deux types de mémoire entre eux et de la copie des données sans que le CPU n'ait à participer. Ils servent également à communiquer des données, mais sa plus grande fonction n'était pas seulement la capacité de copier de gros volumes de mémoire avec sa fonction Block Transfer, mais la capacité de le faire en manipulant les données, bien que de manière très simple par rapport à aujourd'hui en s'appuyant sur sur instructions. booléens simples. A ce jour le Blitter est toujours utilisé dans les GPU, ce sont les ROPS des cartes graphiques qui se chargent de dessiner le buffer image une fois le GPU a traité la couleur de chacun des pixels de l'écran.

Le dernier des composants qui faisait partie d'AGNUS s'appelait COPPER, un raccourcissement du terme coprocesseur. Il peut être comparé aux processeurs de commande GPU actuels. Qui était chargé de générer l'image à travers une liste d'écrans et de contrôler pour cette fonction le Blitter situé dans le même AGNUS et DENISE, la véritable puce graphique du système. Comme il est curieux que COPPER soit une version avancée d'ANTIC, l'une des puces dédiées à la série d'ordinateurs Atari 8 bits. Considéré par l'architecture et en partageant les mêmes designers que le véritable prédécesseur de l'Amiga.

DENISE

Commodore Amiga Denise

DENISE est la puce graphique du Commodore Amiga, elle est responsable de la génération des graphiques à l'écran, et c'est la troisième conception graphique que l'équipe de Jay Miner a réalisée avec cette fonction. Son origine remonte donc à la puce TIA de l'Atari VCS, mais contrairement à cela, elle n'était pas responsable de la génération de l'audio des jeux.

Sous le nom de DENISE se trouve le processeur chargé de lire la mémoire tampon de l'image et d'envoyer les données à la télévision. Cela a été fait via la sortie vidéo composite et comme il y avait deux formats de télévision à l'époque, il y avait aussi deux versions pour DENISE. Un pour chacune des normes de télévision les plus utilisées.

En interne DENISE sont deux matériels différents, d'une part c'est un processeur avec la capacité de générer le tampon d'image. Ce qu'il a fait pendant la période de dessin VBlank, dans laquelle rien n'était affiché à l'écran. À ce moment-là, pendant une bonne partie du temps, les processeurs étaient occupés à ne rien faire, attendant que le système graphique dessine l'image à l'écran. Depuis la RAM qui a été utilisée pour utiliser était un seul canal. L'utilisation de la RAM rapide a atténué cela du point de vue du processeur, mais lorsque DENISE dessinait l'image de l'écran, aucun autre composant du système ne pouvait accéder à la RAM, sauf dans les périodes HBlank et VBlank, au cours desquelles le CUIVRE et le processeur via le Blitter pouvaient changer.

DENISE et les rabots

Commodore Amiga Planos de bita

Les graphiques sur le Commodore Amiga comme les autres systèmes graphiques de l'époque tels que l'EGA sur PC sont créés à l'aide de plans de bits. Ceux-ci sont basés sur des tampons d'image à un seul bit qui ont été combinés les uns avec les autres. Ce qui diffère du système de pixels emballés actuel où toutes les informations de couleur d'un pixel sont réunies. Au total, il représentait l'image en utilisant un total de 6 plans de bits, mais 1 a été utilisé pour choisir un niveau de luminosité de la palette ou un autre et les 5 autres bits pour définir l'une des 32 couleurs pouvant être affichées à l'écran.

Puisque le RAMDAC de l'Amiga était de 12 bits, 4 bits par composant RVB, lui donnant une palette de 4096 couleurs. Où il était possible de changer la valeur des registres qui stockaient les 32 couleurs dans chaque ligne de balayage. Ce qui permettait de placer les 4096 couleurs en même temps, mais parce que la vitesse de transfert n'était pas assez rapide cela ne pouvait se faire qu'en images statiques ou avec des taux de rafraîchissement faibles, ce qui a été baptisé mode HAM.

Étant donné que l'Amiga est issu d'une console de jeux vidéo, ses modes de résolution sont conçus pour être jouables aux résolutions possibles sur un téléviseur. Concernant la résolution horizontale, il disposait d'un buffer d'image de 320 ou 64o « pixels » par ligne de balayage et de 200 ou 400 lignes selon que la sortie était entrelacée ou progressive. Dans le premier cas, le taux de rafraîchissement était de 25 Hz en PAL et 30 Hz en NTSC, pour doubler en mode entrelacé.

Génération de sprites sur le Commodore Amiga

Sprites Turrican

DENISE, comme les autres puces graphiques de l'époque, disposait d'un générateur de sprites, qui sont des motifs ou des bitmaps qui changent de position dans chaque image, de sorte que leurs caractéristiques étaient définies dans une série de registres en mémoire indiqués généralement par les paramètres suivants :

  • La position du bitmap à l'écran de l'image-objet, à la fois horizontalement et verticalement.
  • L'orientation, c'est-à-dire d'où le bitmap a été dessiné et dans quelle direction.
  • La palette de couleurs utilisée.
  • La préférence sur l'arrière-plan et les autres sprites.

Ces informations, à la fois les registres où la position des sprites est marquée, ainsi que les bitmaps qui les composent et leurs palettes de couleurs étaient dans la puce RAM. L'Amiga pouvait stocker les informations de jusqu'à 8 sprites. Mais grâce à la rapidité de changement de registre via le duo Blitter-COPPER, le nombre de sprites affichés est bien plus élevé. En ce qui concerne leur taille, ceux-ci pourraient avoir des tailles de 1, 2, 4, 8 ou 16 pixels à la fois horizontalement et verticalement.

La trinité CUIVRE-Blitter-DENISE

Amiga 500 à l'intérieur

La puissance graphique de l'Amiga était due à l'utilisation de ces trois processeurs de support, qui, en combinaison avec le 68K, étaient chargés de générer les graphiques à l'écran. Bien que pour comprendre l'énorme potentiel de l'Amiga, nous devons prendre en compte la capacité de déplacer les graphiques, nous devons comprendre la manière dont les ordinateurs généraient les graphiques à l'époque.

Actuellement, les mémoires VRAM utilisées sont au moins à double canal ou suffisamment rapides pour qu'il n'y ait pas de conflit d'accès mémoire lors du rendu. A cette époque, lorsque le système graphique lisait la mémoire vidéo, il n'autorisait pas l'accès par d'autres unités de traitement. Par conséquent, les temps morts dans lesquels le faisceau d'électrons de l'écran CRT est repositionné ont dû être utilisés pour faire varier les valeurs en mémoire qui ont été utilisées pour dessiner la scène.

COPPER, en revanche, étant le processeur de commandes, était celui qui donnait les instructions à DENISE. Par exemple, vous pouvez modifier les informations vidéo au milieu de l'image, vous pouvez également demander au Blitter de modifier les adresses mémoire correspondant aux valeurs graphiques. Ce qui permettait d'afficher plus d'éléments à l'écran qu'en théorie ne le permettaient les enregistrements. De plus, lorsque le COPPER a cessé de gérer DENISE et le Blitter pour dessiner la scène dès qu'il a atteint la période Overscan + VBlank a rendu le contrôle de la RAM Chip au CPU sans avoir à exister de routine logicielle pour celui-ci.

PAULA, audio et périphériques sur le Commodore Amiga

Paula Amiga

La troisième puce qui accompagne le 68K s'appelle PAULA, qui a deux fonctions. Le premier d'entre eux est la génération d'audio pour les applications, où il se démarque de ses contemporains dont le Commodore 64, qui disposait à l'époque de la puce sonore la plus avancée de l'époque. N'oublions pas que la plupart des systèmes disposaient d'une puce capable de générer de l'audio via 3 canaux fixes d'onde carrée et un canal de bruit. Les premières cartes son pour PC capables de lire de l'audio avec modulation FM n'étaient pas encore apparues sur le marché.

PCM audio

Mais qu'est-ce qui rend PAULA si spéciale ? Le fait qu'il s'agissait du premier système audio capable de reproduire de l'audio au format PCM et donc des échantillons. Avec cela, le CPU n'a pas eu à perdre de temps à contrôler la sortie audio. Il n'avait qu'à marquer en mémoire où se trouvaient les échantillons à l'intérieur de la puce RAM, prenant en charge jusqu'à 4 canaux simultanés afin qu'ils puissent être convertis en 2 canaux stéréo, un pour chaque côté.

L'autre fonction de PAULA est ce qu'il nous reste pour définir un ordinateur complet et c'est qu'il était chargé de gérer les périphériques qui étaient connectés au Commodore Amiga, en plus d'agir comme un contrôleur pour le lecteur de disquette 3.5 qui était intégré dans le Commodore. Ami.