★ CODING ★ BIDOCHONS BIDOUILLARDS ★ |
Bidouilles ACPC n°14 - Les secrets du GATE ARRAY (1/2) |
Comme on en parle souvent, mais que personne ne le connaît vraiment, nous allons essayer de développer nos connaissances communes portant sur le gai taré. Ce personnage aux modes étranges et aux couleurs pas nettes qui a beaucoup d'ennuis avec sa mémoire. Certains disent qu'il habite parfois à ROM, d'autres racontent qu'il vivait à RAM. A nous d'accaparer ses secrets. Avant tout, le blabla habituel, les ragots des bas quartiers, sans lequels je ne serais pas ce que je suis mais quelqu'un d'autre. Je tiens à vous présenter personnellement un nouveau fanzine dont Cent Pour Cent est plus ou moins le parrain sans avoir rien à y voir. Envoyé par le grand sachent sur Terre, il s'appelle saint Axéror et est fait par un frère de Mélini ; j'ai nommé Clod. Syntax Error est un des meilleurs fanzines que j'ai jamais connu, et lui au moins, il ne se prend pas au'sérieux. Alors que tous les fan-zineurs fassent claquer le répondeur de Clod au (1) 47 39 12 13. Le numéro 1 était génial, le second sera gigantesque. Que petite poussière d'octet dans la prairie protège tous les créateurs de fanzines sympa et qu'elle dirige leur route vers Cent Pour Cent. Nous attendons vos œuvres, et que les fanzines pleuvent. Hugh ! LE GAI TARE RAME VERS LE KO Vous avez déjà dû entendre parler du gate-array, ce composant qui fait tout le secret du CPC. C'est le seul chip qu'Amstrad cache et dont les caractéristiques exactes sont enfermées au fin fond d'un abri anti-atomique en plein centre d'un champ de mines dont seul A. M. Sugar en personne a le plan. Bref, lorsqu'on veut savoir ce que cette petite boîte renferme, on se fait gentiment éjecter direction les fraises, de manière relativement peu délicate pour une partie charnue que je ne citerai pas. Si on ne connaît pas la composition intégrale et précise de ce tas de silicium, on sait tout de même plein de choses au niveau du software sur ce tableau-portail. En clair, et avant tout, il génère les interruptions du CPC 300 fois par seconde. Dans un sens, cela veut dire que le zaidka-treuvin se fait casser les bits toutes les 3,3 microsecondes. Vous comprendrez alors facilement que ce petit bonhomme refuse parfois de faire le moindre effort pour vous aider à débugger les programmes récalcitrants. Mais le petit composant dont nous parlons gère aussi la Ram, la Rom, le mode écran, les couleurs, la palette... Et j'en passe, sans quoi il passera en seize bits tant ses chevilles enîleront. Dans le cadre de cet article, nous allons aborder les manipulations en assembleur, parce que le Basic est laissé aux initiations de Poum. On ne va tout de même pas lui ôter le pain de la bouche ! Alors, je vous laisse avec le gai taré et sachez, à titre indicatif, que je quoi que ce soit. Amen ! PAS DE COQUILLES, UN PETIT COUP DANS LES BITS Ce composant, situé sur le port &7Fxx, pilote tant de choses qu'il ne pourrait avoir assez de bits pour contrôler tout ce qu'il a à gérer, Comme les technicos hardos de chez Amstrad ne sont pas des greuloteux, ils ont décidé de se servir de deux bits pour sélectionner plusieurs commandes qui agiront sur des points différents selon la configuration choisie. Ces bits seront donc appelés par moi-même tout seul, les bits de contrôle (voilà un nom qu'il est joli !!!). Donc, les deux bits 6 et 7 de poids fort permettent de choisir quatre possibilités de commandes. Ces quat-res codages nous donnent les configurations suivantes : 1/ Bit 7=0 et 6=0 : sélection du registre contenant le numéro d'encre. Quand en Basic, vous lancez une commande INK, le premier indique le numéro d'encre qui sera utilisé par le PEN. Eh bien là, c'est la même chose, sauf qu'il faudra procéder en deux temps, mais on va en causer plus tard. Pas mal, non ? On en cause plus tard, qu'on a dit, non mais alors. LES COUPS ET LES DOULEURS En Basic, pour gérer les couleurs et la palette, il suffit de faire un INK. quelque chose, virgule quelque chose, et le tour est joué. Hep ! Je vois un petit malin dans le fond qui me dit que la commande INK peut prendre plus de deux paramètres. Bien entendu, mon p'tit bonhomme, mais faut pas oublier que c'est le Kernel (grand maître du CPC sans qui rien ne fonctionnerait), qui change les couleurs sous interruptions, et non pas le gai taré qui gère ce clignotement d'encre automatiquement. Donc, si vous voulez exécuter la commande INK 1,2 en assembleur, sans passer par les routines systèmes, il vous faudra procéder en plusieurs étapes, de la manière suivante, par exemple : ORG #9000 ; programme commencer en 9000 |
Page précédente : Bidouilles ACPC n°13 - Bidouilles pas bidon - MODE 1 en 13 couleurs |
|