Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 12:35  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Dossier : Aperçu technique de l'Amiga de présérie
(Article écrit par Sheldon Leemon et extrait de Creative Computing - septembre 1985)


Qu'est-ce qui le rend si génial ?

L'Amiga est une créature composée de plusieurs parties, fonctionnant sur plusieurs niveaux différents. Au niveau le plus bas se trouve le matériel, le "corps" physique de l'ordinateur. Le microprocesseur, un 68000 16/32 bits fonctionnant à 7,8 MHz, est le même que celui utilisé dans le Macintosh d'Apple. Mais c'est l'ensemble des trois puces VLSI spécialisées de l'Amiga qui distingue la machine de la concurrence. Sous les noms de code Agnes, Daphne et Portia, ces puces agissent comme de puissants coprocesseurs qui soulagent le 68000 de nombreuses tâches fastidieuses, y compris la maintenance de l'affichage de l'écran, l'animation graphique, l'interrogation des ports du clavier et de la souris, les entrées/sorties des disques et le contrôle des périphériques, ainsi que la génération du son.

En utilisant jusqu'à 25 canaux DMA (accès direct à la mémoire qui leur permet de contourner le processeur et d'adresser directement la mémoire), ces puces peuvent en fait effectuer leurs tâches de manière autonome, laissant le processeur libre de faire des calculs (ce qu'il fait le mieux). La distribution du DMA système permet au son à quatre canaux, à un écran de 16 couleurs en mode basse résolution ou de 4 couleurs en mode haute résolution, et aux entrées/sorties de disque de fonctionner simultanément tout en maintenant une fréquence de 7,1 MHz dans le fonctionnement du 68000.

Précisons un peu plus les types de tâches effectuées par les puces spécialisées. Tout d'abord, nous allons examiner les sous-systèmes graphiques. Dans tous les modes bitmap. Cela signifie qu'il n'y a pas de mode spécial texte seul comme celui disponible sur l'IBM PC, et par conséquent aucune restriction sur le mélange de texte et de graphismes sur le même écran dans n'importe quel mode.

Les deux modes d'affichage de base sont le mode basse résolution dans lequel il y a 200 lignes de 320 points chacune, et le mode haute résolution qui affiche 640x200 points. En mode basse résolution, les caractères de texte peuvent être placés sur l'écran de manière à afficher 25 lignes de texte de 40 colonnes, et en mode haute résolution, 80 colonnes peuvent être affichées sur un moniteur monochrome ou RVB haute résolution, tandis qu'un texte de 64 colonnes peut être utilisé avec un téléviseur ordinaire. Les écrans haute et basse résolution peuvent fonctionner en "mode entrelacé", ce qui permet de doubler la résolution verticale à 400 points (tout en ajoutant un peu de scintillement).

L'écran bitmap normal est appelé "playfield" (champ de jeu ou structure d'écran). L'Amiga gère l'affichage de deux champs de jeu séparés sur l'écran en même temps, avec un système de priorité sélectionnable qui détermine lequel sera superposé à l'autre. Ces champs de jeu peuvent être déplacés individuellement dans n'importe quelle direction.

Le mécanisme de sélection des couleurs est extrêmement souple. Étant donné que chaque bit de résolution couleur nécessite une bonne quantité de mémoire d'affichage (8000 octets en mode basse résolution non entrelacé et 16 000 en mode haute résolution), le système permet à l'utilisateur de choisir le nombre de bits de résolution couleur qu'il souhaite, et de stocker chaque bit de résolution dans son propre plan de bits. La puce graphique possède des registres d'adresse individuels pour chaque plan de bits, de sorte que la mémoire de l'écran n'a pas besoin d'être située à un endroit fixe comme sur PC, ni même d'être contiguë pour des raisons matérielles.

Les informations relatives à l'affichage de l'écran peuvent être situées n'importe où dans les 512 ko inférieurs de la mémoire. En mode basse résolution, la machine gère simultanément 2, 4, 8, 16 ou 32 couleurs à l'écran. En mode haute résolution, il peut y avoir 2, 4, 8 ou 16 couleurs. Il existe même un mode spécial (Hold And Modify) dans lequel les 4096 couleurs peuvent être affichées simultanément.

Les couleurs sont sélectionnées par un mécanisme de registre indirect. Chaque point de l'écran pointe vers l'un des 32 registres de couleur matériels de 2 bits et est "peint" avec la couleur trouvée dans ce registre. En mélangeant des combinaisons de quatre bits de rouge, de vert et de bleu, l'utilisateur sélectionne la couleur pour chaque registre parmi une palette de 4096 couleurs possibles.

Animation par sprites

En plus du système graphique des champs de jeu ("playfields"), l'Amiga gère les sprites. Les lecteurs qui connaissent les ordinateurs Commodore 64, Atari et TI 99/4 savent que les sprites sont un système graphique séparé d'objets d'écran définis par l'utilisateur qui sont superposés à l'affichage graphique normal. La puce graphique de l'Amiga gère jusqu'à huit sprites par ligne de balayage horizontale. Chaque sprite peut avoir une largeur de 16 points et une hauteur de 1 à 200 points, et utiliser jusqu'à quatre couleurs (les sprites partagent certains des 32 registres de couleurs du champ de jeu). Des paires de sprites peuvent être combinées pour obtenir jusqu'à 16 couleurs par sprite. Comme dans la plupart des systèmes de ce type, le matériel gère les priorités sélectionnables et la détection des collisions qui signale lorsque deux sprites ou plus se chevauchent.

Les sprites constituent une solution matérielle au problème de l'animation. Sur la plupart des micro-ordinateurs, l'animation d'un bitmap (carte de bits) nécessite beaucoup de programmation. Pour dessiner un objet bitmap à l'écran, le programmeur doit d'abord sauvegarder l'image de fond, puis superposer l'image de l'objet bit par bit. Pour déplacer l'objet, il doit restaurer l'ancienne image de fond, calculer l'adresse mémoire de la nouvelle position de l'écran, sauvegarder l'image de fond à la nouvelle position, puis redessiner l'objet.

L'Amiga dispose d'une autre solution, un dispositif matériel connu sous le nom de "Blitter". Le Blitter déplace des blocs de bits de données à une vitesse très élevée. Bien qu'il soit utilisé principalement pour déplacer des données d'écran, il est également utile pour d'autres types de déplacements de mémoire à grande vitesse (comme remplir la mémoire avec des zéros). Pour animer une image bitmap, le programmeur définit d'abord un objet Blitter (j'aime l'appeler "blob") en spécifiant l'emplacement de son contour sur l'écran. À partir de là, il lui suffit de dire "déplace-le", et le Blitter s'exécute immédiatement. Contrairement aux sprites, il n'y a pas de limite au nombre de blobs qui peuvent apparaître à l'écran en même temps, et un blob peut être de n'importe quelle taille et utiliser autant de couleurs que l'affichage de l'écran le permet.

Le seul inconvénient de l'utilisation des blobs est qu'il y a un peu plus de charge processseur pour en créer un que pour créer un sprite, et si vous essayez d'animer trop de blobs à la fois, cela peut ralentir le système. Pour éviter que des "déchets" n'apparaissent à l'écran pendant que des animations aussi complexes sont en cours, l'Amiga gère la double mise en mémoire tampon, de sorte qu'une copie statique de l'écran est affichée pendant que des modifications sont apportées à une copie dupliquée "hors de l'écran". Le matériel graphique contient, en plus des blobs, une gestion pour le dessin de lignes à grande vitesse et le remplissage de zones.

Le matériel vidéo de l'Amiga gère la sortie vers un téléviseur, un moniteur composite, un moniteur numérique RVB ou un moniteur analogique RVB - pratiquement tous les types d'écrans disponibles (bien que le moniteur analogique RVB que Commodore vendra soit le seul qui puisse profiter à la fois de la résolution 640x400 et des 4096 couleurs). Outre la multitude de sorties vidéo, l'ordinateur dispose également d'une prise d'entrée vidéo. Cette caractéristique unique, connue sous le nom d'interface genlock, permet à l'utilisateur d'envoyer un signal de télévision ordinaire (provenant d'un magnétoscope, d'une caméra vidéo, ou même d'un autre ordinateur) dans l'Amiga, et d'afficher cette image sur l'écran avec les graphismes de l'Amiga en incrustation.

Idées sonores

Le jeu de composants spécialisés de l'Amiga permet d'obtenir un son et un graphisme de qualité. Le synthétiseur sonore gère quatre voix, qui sont acheminées vers des connecteurs de sortie stéréo â deux voix sur le canal gauche et deux sur le canal droit. Chaque canal possède son propre convertisseur numérique-analogique de 8 bits, piloté par un canal DMA. Chacun peut produire des sons dans une gamme d'environ 0 à 7 500 kHz, et possède son propre contrôle de volume 6 bits pour 64 niveaux de volume. Le programmeur contrôle la qualité du son produit en créant un modèle de données du son en mémoire. Le matériel utilise ces données pour générer la forme d'onde et le contrôle d'enveloppe du son.

Outre les sons synthétisés, le système gère la reproduction de sons enregistrés à l'aide d'une technique d'échantillonnage numérique. À cette fin, des connecteurs d'entrée audio stéréo sont inclus dans la machine. Bien que l'échantillonnage numérique reproduise les sons avec une grande précision, son application est limitée car il nécessite des milliers d'octets de données pour quelques secondes de son. Cependant, la mémoire et le stockage de masse devenant de moins en moins chers, cette fonction devient de plus en plus intéressante.

Enfin, il convient de souligner que l'Amiga est une machine à architecture totalement ouverte. Le port d'extension de l'ordinateur donne aux concepteurs tiers un accès total au matériel du système et rendra l'ajout d'une variété d'appareils externes relativement simple. Cela permettra aux propriétaires d'Amiga de profiter de toutes les améliorations technologiques actuelles et de bénéficier des développements futurs.

D'après la description ci-dessus, il devrait être clair que le matériel Amiga est exceptionnel. Cependant, même le matériel le plus impressionnant a besoin d'un logiciel pour faire ce qu'il veut. Le noyau en ROM de l'Amiga a été conçu pour gérer pleinement le matériel et, dans la mesure du possible, pour améliorer son fonctionnement. Au coeur du système se trouve le système exécutif multitâche (Exec), qui contrôle l'exécution de nombreux petits programmes (ou tâches), la communication entre les tâches, l'allocation de la mémoire, le partage des ressources matérielles, et la gestion des interruptions et des exceptions.

Exec a été conçu pour faciliter l'exécution de plusieurs tâches simultanément. Les tâches elles-mêmes n'ont pas besoin d'être conçues d'une manière spéciale pour le multitâche, puisque Exec fournit à chacune son propre environnement d'exploitation, et chacune peut s'exécuter comme si elle avait son propre processeur 68000. Les programmes partagent en fait le temps processeur, chaque tâche bénéficiant d'une tranche de temps minimale d'environ 1/15e de seconde pour s'exécuter avant d'être préemptée par la tâche suivante sur la liste. Un système de priorités sélectionnables permet aux tâches les plus prioritaires de devancer les moins prioritaires et à certaines tâches de "s'endormir" jusqu'à ce qu'un certain événement se produise. L'ordre dans lequel les tâches sont exécutées peut également être modifié par les messages qu'une tâche transmet à une autre via les ports de messages par lesquels les différentes tâches communiquent. Exec fournit également une interface d'entrées/sorties indépendante du périphérique par laquelle une tâche peut accéder à un périphérique matériel par l'intermédiaire d'un bloc central de demande d'entrées/sorties.

Logiciels extraordinaires

Le reste de la partie logicielle du système consiste en plusieurs bibliothèques logicielles. Ces routines comprennent des fonctions de bas niveau pour contrôler les modes graphiques, l'animation, le texte et la génération de sons. Les bibliothèques offrent une gestion matérielle beaucoup plus étendue que ce qui est normalement offert par le logiciel système intégré. Par exemple, bien que le matériel d'affichage vidéo typique soit limité dans la quantité d'informations qu'il peut afficher à l'écran en même temps, les programmeurs utilisent couramment des astuces logicielles pour modifier l'affichage en cours d'écran afin d'obtenir de meilleures performances que celles qu'offre normalement la puce vidéo.

Par exemple, une programmation soignée permet de contourner la limite de huit sprites en "réutilisant" un sprite donné, en le déplaçant vers une autre position de l'écran après qu'il a été affiché une fois. La plupart des machines exigent du programmeur qu'il effectue la synchronisation critique nécessaire. Sur l'Amiga, cependant, le logiciel système permet au programmeur de créer des "sprites virtuels". S'il en crée plus de huit, le système lui-même effectue la tâche délicate de jongler avec les sprites matériels pour afficher ces sprites virtuels aux positions correctes de l'écran.

De plus, les sprites virtuels ne sont qu'une petite partie de la boîte à outils d'animation de l'Amiga. Une illusion d'animation peut être créée en passant d'une "vue" à l'autre d'un objet graphique à un rythme déterminé ; des sous-parties mobiles peuvent être reliées à un objet mobile plus grand ; et la détection complète des collisions permet au programmeur de déterminer comment l'animation changera si deux sprites ou deux objets du champ de jeu entrent en collision.

Ce haut niveau de gestion du système pour les fonctions normalement exécutées par les applications est cohérent dans toute la ROM du système Amiga. Une fenêtre, par exemple, peut être transformée en "viewport" sur un écran virtuel défilant jusqu'à 1024x1024 points. Le système de texte gère des styles de police comme souligné, gras, italique, étendu, et a même des dispositions pour l'impression proportionnelle. La gestion de la puce sonore comprend non seulement des facilités pour faire de la musique et des effets sonores, mais aussi une gestion complète pour la synthèse vocale logicielle, comprenant à la fois l'entrée phonétique et la conversion texte-voix. La liste des exemples pourrait évidemment s'allonger à l'infini.

Tout comme le matériel, la ROM du système a été conçue pour être totalement extensible. Dans la mesure du possible, elle utilise des listes chaînées de pointeurs plutôt que des tables de saut ou des vecteurs qui doivent être installés à une adresse absolue donnée. Et, dans la mesure du possible, elle laisse des "crochets" où l'utilisateur (ou le futur logiciel du système) peut ajouter des fonctions à celles qui existent déjà. Une telle conception permet d'envisager une famille de micro-ordinateurs d'élite compatibles entre eux.


[Retour en haut] / [Retour aux articles]