Conflit de générations

Plusieurs générations d'Amiga se sont succédée, et à chaque saut son petit lot de nouveautés et d'améliorations.

Les premiers Amiga, essentiellement les Amiga 1000, ainsi que les Amiga 500 et 2000, sont architecturés autour d'un processeur 68000 et du chipset OCS, pour Original Chip Set. Ces composants singuliers pour l'époque font toute la supériorité de l'Amiga sur les autres plate-formes du moment, dont l'Atari ST, qui n'est qu'une piètre machine à écrire en comparaison.

A cette première génération a succédé une seconde, introduite par l'Amiga 3000, les chipsets ECS, pour Enhanced Chip Set. Quelques améliorations ont été apportées, mais toutefois sans révolutions. Les Amiga 500+ et les Amiga 600 intègrent ce chipset, de même que certains Amiga 500 et 2000 sortis au-delà de 1990.

Enfin, la sortie de l'Amiga 1200 et de l'Amiga 4000 a introduit l'AGA, pour Advanced Graphics Architecture. Les changements sont plus marquants, mais à l'image du STe face au ST (et le fameux too little, too late), mais la révolution attendue n'est pas là. Seule la partie graphique a évoluée, les autres composants n'ayant pas évolués.

A l'AGA devait succéder une quatrième génération qui devait être porteuse de révolution, mais elle n'est finalement jamais sortie, suite à la faillite de Commodore et de tout le cinéma qui s'en ait suivi.
On pourrait considérer qu'il y ait finalement une quatrième génération avec toutes les machines boostées à coup de cartes 68060 et PowerPC, mais ce n'est absolument pas le propos de ce petit billet. Ici, on programme salement, on tratouille directement les registres sans se soucier du système et on aime ça !

Choisir son arme

De tous ces chipsets, il faut choisir sa cible. Le mieux est, dans un premier temps, de s'intéresser au chipset OCS, l'original, le rustique, celui qui a détaché l'Amiga du lot. Les chipsets ECS et AGA seront également abordés, mais essentiellement pour souligner leurs différences et montrer ce qu'il faut faire pour les rendre compatible avec l'ancètre.
Rien n'empêchera d'aller voir l'AGA, il y a un peu de documentation disponible sur ce dernier chipset, dont le document de Randy sur l'AGA que j'ai placé en pièce jointe.

Le plus dur n'est pas à faire

La partie la plus compliquée quand on débute sur une nouvelle plate-forme est de disposer d'une routine dite d'init ou de startup, qui va nous permettre de prendre la main sur le système pour nous offrir un terrain d'expérimentation, et surtout nous rendre la main correctement, en restaurer le système comme il était avant l'exécution de notre programmation tout vilain qui tape dans les registres.
Un système d'exploitation peut être vu comme les toilettes, il convient de rendre ce lieu dans l'état dans lequel on l'a trouvé en arrivant. C'est un principe de base qui va surtout nous permettre d'économiser beaucoup de temps et aussi donner la satisfaction d'avoir un programme qui marche.

Dans le numéro #3 du diskmag Trashcan, Flynn/Capsule fournie une routine d'init fiable, certe un peu crade, qui va nous servir de base pour découvrir les méandres de l'Amiga. Le principal défaut de cette routine est sa facheuse tendance à désactiver complètement le système, mais pour une démo orientée pour l'Amiga 500, c'est parfait.

Ce qui vous attend

Cette petite mise en bouche vient de poser le décor, mais encore rien de concret. La partie suivante se contentera de présenter les outils indispensables au codeur en herbe. Nous enchaînerons par la suite sur quelques effets basiques sans autre intérêt que de découvrir les entrailles de l'Amiga.

Je posterai la suite quand elle sera prête, j'espère être assez régulier car je n'ai rien de prêt à l'avance.