CODINGAMSTAR ★ INITIATION À L'ASSEMBLEUR AMSTAR&CPC 28: VIDÉO -MODE XOR - TRUCS ET ASTUCES COULEUR 3ÈME PARTIE (AMSTAR&CPC) ★

Initiation à L'Assembleur Amstar&CPC 28: Vidéo -Mode XOR - Trucs et astuces couleur 3ème partie (Amstar&CPC)Coding Amstar
Après avoir montré les capacités du langage assembleur pour des utilisations graphiques, nous allons voir ensemble des petits “plus” qui permettent des effets visuels fort intéressants en travaillant en BASIC. L'objet de cet article est de montrer la puissance d'une instruction comme le XOR graphique.

Le manuel Amstrad évoque le XOR graphique et les animations graphiques au chapitre 9 page 52 et suivantes, mais ne nous laisse pas entendre toutes les formidables possibilités de ce XOR. Alors essayons d'y voir plus clair. Nous verrons d'abord comme d'habitude le "comment ça marche" puis nous passerons à quelques démonstrations peut-être plus parlantes.

GENERALITES

Pour être totalement complète, cette partie va traiter des autres modes existants (AND, OR), le NOT occupant une place à part. L'utilisation plus 'imagée' de ces opérateurs BASIC aui permet deux ou plusieurs arguments nous permettra de comprendre plus facilement leurs effets dans des opérations booléennes (portant sur les bits). Cette compréhension est très utile en assembleur et nécessaire pour qui veut s'expliquer le fonctionnement du XOR.

Tout cela pourra sembler compliqué à ceux qui ne sont pas initiés aux 'dessous' de leur Amstrad ou ne veulent pas l'être. C'est leur droit.

On peut parfaitement employer le XOR sans savoir comment tout se déroule dans la machine. Pour les autres, surtout ceux qui d'sirent passer à l'assembleur, la connaissance parfaite de ces opérateurs logiques est quasi indispensable.

AND, OR ET XOR

Nous venons de dire qu'ils per-mettalent en BASIC d'effectuer des opérations de logique entre arguments.

Vous devez savoir maintenant que le microprocesseur n'effectue ses calculs que sur des nombres et que ceux-ci sont en binaire, donc constitués d'une série de 1 à 0 (appelés bits), un groupe de 8 bits constituant un octet. Donc, Il est facile d'en déduire que quels que soient les arguments, ceux-si sont transformés en nombres binaires avant que soient les arguments, ceux-ci sont transformés en nombres binaires avant que des opérations soient effectuées. C'est donc sous cette forme que nous visualiserons l'effet des opérateurs logiques. Vous pouvez le vérifier sous BASIC en employant une formulation ae ce type.

PRINT BIN$ (&0AAA00A OR &X10110011,8)

AND (ET)

Prenons cette phrase : si André et Jean viennent, je serai content ; le résultat (je serai content) ne sera acquis que si les deux conditions sont remplies : la présence de Jean et celle d'André. Remplaçons chacune des conditions par 1 si elle est remplie et par 0 dans le cas contraire, le résultat sera lui aussi mis à 1 s'il y a contentement.

Quatre possibilités s'offrent à nous :

Jean présent - André présent = contentement 1 AND 1 = 1
Jean absent - André présent = tristesse 0 AND 1=0
Jean présent - André absent = tristesse 1 AND 0 = 0
Jean absent - André absent = tristesse 0 AND 0 = 0

La repésentation (à droite) de nos déductions logiques est dite table de vérité pour AND (ET). Elle montre rapidement la seule conclusion à tirer de notre opérateur logique AND : le résultat (en sortie) ne sera 1 que si les deux arguments (en entrées) sont à 1 et uniquement dans ce cas. Il nous est facile en se référant à cette table d'effectuer une opération logique AND entre deux octets, par exemple :

   01101011
AND 00001111
= 00001011

Le nombre 00001111 n'a pas été choisi par hasard, il va nous permettre de comprendre directement une des utilisations intéressantes de cette opération en assembleur. L'octet peut être divisé en 2 quartets (parfois appelés nibbles), quartet fort 4 bits de gauche, et auartet faible 4 bits de droite. Dans notre opération, avec le quartet fort du deuxième octet à 0000, nous avons réussi à masquer celui du premier. C'est un outil très puissant, une utilisation judicieuse de ce 'masque' va permettre de ne sélectionner par exemple dans un octet que les bits qui nous Intéressent. Ceux qui connaissent le codage employé dans les octets de la RAM vidéo peuvent en déduire comment sélectivement ils peuvent forcer un stylo à prendre la valeur 0, (par défaut celle du fond). Prenons un autre exemple, en rappelant une fols de plus aue les hults bits sont numérotés de 0 à 7 de droite à gauche et non pas de 1 à 8.

   11110101
AND 10101010
= 10100000

En employant dans le 2ème octet, cette technique de masque 0 aux bits 6-4-2-0, on a supprimé les bits qui étaient à 1 à ces positions dans le premier octet.

Pour ceux qui commencent en assembleur, c'est une explication du AND A aue l'on emploie parfois pour remettre à zéro le flag de retenue (C) et positionner d'autres flags. Le AND A exécute une opération logique AND du contenu de l'accumulateur (A) sur lui-même. Le contenu de A (résultat final de cette opération reste inchangé, mais une opération ayant eu lieu, les flags du registre F sont repositionnés. Le résultat n'ayant pas dépassé les capacités maximales de l'accumulateur, le flag de retenue (C) est mis à 0.

Exemple : A contient 144

   10010000
AND 10010000
= 10010000

OR (OU)

Toujours notre petit exemple sous forme de phrase : si Jean ou André pouvait venir m'aider, Je serais content.
On procède de la même manière pour obtenir la table de vérité du OR (OU).
Jean vient, pas André = contentement 1 OR 0 = 1 Jean ne vient pas, André est là = contentement 0 OR 1 = 1 Tous les deux viennent = contentement 1 OR 1 = 1 Personne ne vient = tristesse 0 OR 0 = 0

Conclusion de la table : le résultat (en sortie) ne sera à 0 que dans le cas où les arguments (ou entrées) sont à 0. Soulignons tout de même un point dans notre démonstration au cas où les deux viendraient, évidemment on est encore plus content puisque c'est représentatif d'une aide encore plus grande. On ne va tout de même pas mettre 2 en résultat ! Je plaisante bien sûr, mais cela pose un petit problème car nous parlons de OR (OU), l'un 'ou" l'autre, les deux viennent et le résultat donne 1 quand même. Supposons que l'on ne possède qu'un seul outil pour que Jean ou André nous aide, notre contentement disparaitrait à l'idée que l'on a fait déplacer pour rien un de nos amis. C'est pour pallier cette légère bizarrerie que l'on a créé le XOR (ou OU exclusif) que nous verrons ensuite.

Effectuons d'abord une opération OR Exemple :

  10110011
OR 01100110
= 11110111

Utilisation : si l'on désire par exemple mettre à 1 les bits 3,4, 5 d'un octet dont on ne connait pas la valeur ; on fera une opération logique OR avec un deuxième octet ayant ces trois bits à la valeur 1.

Truc : en assembleur, OR A a le même effet que AND A, Il laisse le contenu de l'accumulateur (A) intact et positionne les flags. Faites-en l'essai vous-même en vous Inspirant de la table de vérité OR.

XOR (ou OU exclusif)

Ici, pas besoin de démonstrations plus imagées, nous avons déjà un peu évoqué le XOR, sa table de vérité est encore plus simple... Pour que le résultat (sortie) donne 1, Il faut obligatoirement qu'un seul des arguments (ou entrées) soit à 1.

Voici donc la table :

1+1=0 1+0+1 0 + 1=1 0 + 0 = 0

Exemple d'opération XOR :

   10110010
XOR 11010100
= 01100110

Particularité : si l'on refait un XOR entre le résultat et le deuxième argument, on réobtient le premier argument. Retenez bien cela, c'est d'une importance capitale pour la suite des événements.

Truc : XOR A en assembleur met le calculateur (A) à 0 et positionne les flags à 0. Je vous laisse le petit exercice d'un XOR entre deux octets identiques. J'espère que vous allez bien trouver 0 en résultat. C'est le deuxième fait important à retenir !

POURQUOI CES OPERATIONS LOGIQUES ?

Les références qui ont été faites à propos de l'assembleur montrent que ces opérateurs peuvent servir à beaucoup de manipulations sur les bits d'un octet (supprimer ou mettre certains bits). L'ensemble à retenir, pour effectuer ces opérations dites boléennes (traitant bit par bit), c'est bien entendu les trois tables de vérité.

Quant au BASIC, c'est plutôt le sens général qu'il faut en retenir pour les formulations des argumentations et des résultats espérés. En sachant que l'on peut mixer AND, OR et XOR et qu'il existe même NOT qui Inverse l'argumentation (0 -> 1, 1 -> 0). N'oubliez pas non plus que ces opérateurs allant souvent de concert avec IF... THEN... ELSE, donnent avec ceux-ci des temps d'exécution assez Importants.

Essayez donc

10 a = 0 : FOR X = 1 to 5000
20 NEXT

lancez et comptez le temps qui s'écoule avant le READY final.

Introduisez maintenant à ce programme

15 IF a =3 or a = 4 then 25 else 20
25 END

Relancez. C'est vraiment probant I

XOR GRAPHIQUE

Le XOR graphique sur lequel nous allons nous pencher maintenant est directement issu dans son fonctionnement de la table de vérité XOR.

Pour faire quoi ?

L'Amstrad ne comporte pas de générateur de sprites intégré comme d'autres machines. Les sprites sont des dessins que l'on peut, par exemple, déplacer à l'écran sans altérer l'affichage qui s'y trouve déjà. Notre but n'est pas d'égaler ces sprites qui sont, vu la rapidité et la complexité du traitement demandé, gérés par des routines en langage machine ; il existe des logiciels spécialisés qui le font assez bien (Graphics City, Supersprites... ). Pour d'autres utilisations plus modestes, on est souvent confronté à un problème majeur. Quand on veut simuler un déplacement en supprimant, puis réaffichant des caractères graphiques, en modifiant alors leurs coordonnées d'affichage, on a recours à l'espace ou à la chaîne vide qui suppriment le ou les caractères à faire disparaître. Si nous nous déplaçons en passant sur un endroit comportant un autre affichage, on va détruire celui-ci avec nos espaces laissant l'emplacement d'un caractère, à la couleur du fond. Le mode XOR va, lui, nous permettre de corriger ce grand défaut. Pour effacer quelque chose, que ce soit un caractère graphique ou un élément graphique (droite, cercle, etc.). Il suffira de le réafficher au même endroit, et plus fort encore, en restituant ce que l'élément ou le caractère graphique avait pu masquer lors de son premier affichage ! C'est déjà une raison suffisante pour s'intéresser à ce XOR.

Passage en mode XOR

Celui-ci se fait par un caractère de contrôle, le CHR$(23) avec paramètre 1 (manuel Amstrad ch.7, P5). Cette déclaration se fait hors du TAG graphique ; puis on repasse en TAG. C'est obligatoire ! Les caractères se placeront désormais avec MOVE, seront suivis d'un point-virgule et les stylos indiqués par GRAPHICS PEN. Initialisez l'ordinateur Cont + Shift + ESC puis entrez pour le passage en XOR graphique

10 MODE 1 : INK1,24 : INK2,26 : INK3,6
20 TAGOFF
30 PR1NT CHR$ (23) ; CHR$ (1)
40 TAG
50 GRAPHICS PEN 1

Vérifions maintenant l'effacement d'un élément par lui-même, ici un M. Tapez à la suite des lignes précédentes.

60 MOVE 1.00, 100 : PRINT "M” ;
70 FORT = 1 TO 1000: NEXT
80 MOVE 100, 100 : PRINT “M” ;

Lancez le tout : le M s'efface bien après un moment, ceci étant dû à la boucle viae ligne 70.

Modifiez toujours ce programme en tapant les lignes suivantes :

70 GRAPHICS PEN 2
80 MOVE 110, 100: PRINT “M” ;
90 FORT =1 TO 2000 : NEXT
100 MOVE 110, 100 : PRINT “M" ; et relancez.

Un M s'inscrit en jaune (ligne 60) et un autre en blanc (ligne 80), pendant la temporisation on remaraue que les pixels communs aux deux M apparaissent en rouge. On fait disparaître le M blanc grâce au procédé déjà vu en le réaffichant à la même place (grâce à la ligne 100). Cette couleur rouge pour les points communs aux deux M est appelée couleur résultante. Le numéro du stylo qui la fournit est calculé par l'ordinateur, dans ce cas c'était le stylo 3. Nous verrons plus tard pourquoi. Seule compte cette constatation : en mettant le stylo 3 à la couleur jaune (INK 3, 24), le deuxième M Inscrit apparaitrait comme inscrit sous le premier et avec INK 3, 26, il apparaitrait en premier plan, faites-en l'essai. En choisissant correctement stylos et couleurs, on pourra déplacer des éléments graphiques à l'écran en donnant l'impression aue l'on passe devant ou derrière d'autres éléments. Le mode 1 est limité dans ces effets avec ses quatre stylos (0 à 3) mais pas le mode 0.

La rapidité des changements de couleurs à l'écran va nous permettre aussi, en changeant les couleurs résultantes, des effets visuels très rapides, ce sera l'autre partie de cet article.

Voyons maintenant comment la machine décide du stylo qui affichera la couleur de résultante pour les parties communes de deux éléments en mode 1.

3.3) Calcul des stylos donnant les couleurs résultantes.

Nous avions vu lors d'un précédent article sur la RAM vidéo qu'en mode 1, deux bits géraient l'allumage du plus petit élément affichable (en mode 1 = un bloc de deux pixels). Nous ferons donc nos calculs sur deux bits, si nous étions en mode 0, nous les ferions avec quatre bits.
Rappelons d'abord le n° du stylo en rapport avec la valeur de ces deux bits.

00 = Stylo 0
10 = Stylo 2
01 = Stylo 1
11 = Stylo 3

Dans notre exemple, cette valeur est mise à 01 (pour stylo 1) pour chaque élément affiché composant le M Inscrit en premier. SI nous réaffichons un M exactement au même emplacement toujours avec le stylo 1, la nouvelle valeur (ici encore 01) va effectuer un XOR avec l'ancienne valeur 01.

Résultat

   01 (Stylo 1)
XOR 01 (Stylo 1)
  00 (Stylo 0)

00 est le stylo 0 correspondant à la valeur du fond graphique, la couleur résultant de nos deux M l'un sur l'autre étant donnée par ce stylo, le M n'est plus dissociable du fond et disparait donc 1 Voilà pour la suppression d'un caractère.

Dans la suite de notre petit essai, les pixels allumés du M par le stylo 1 (01) se retrouvent avec des pixels du deuxième M tracé en stylo 2 (10), le XOR donne le stylo 3 (11)

Vérifions :

01 (Stylo 1)
XOR 10 (Stylo 2)
11 (Stylo 3)

Les pixels communs aux deux lettres apparaissent bien en rouge qui est la couleur demanaée pour ce stylo.

En réinscrivant un deuxième M avec le stylo 2, nous avons remarqué que celui Inscrit avec ce stylo disparaissait, mais que s'est-il passé pour la partie qui était commune et apparaissait gérée par le stylo 3 ?

Un coup d'œil sur notre opération XOR va nous le montrer.

11 (Stylo 3)
XOR 10 (Stylo 2)
= 01 (Stylo 1)

La partie qui était commune aux deux M reste donc gérée par le stylo 1, notre M tracé en premier avec ce stylo reste donc intact.
Il n'est pas question bien sûr de se livrer à de tels calculs à chaque fois pour savoir quel stylo donnera la couleur résultante surtout en moae 0. Nous allons établir deux tableaux une fois pour toutes. Nous laisserons de côté le mode 2 Inintéressant pour exploiter le XOR graphique.

On remarque dans ces tableaux des 'doublons' ; en mode 1,1 XOR 2 donne évidemment la même chose que 2 XOR 1. Tous ces couples identiques ont été Inscrits quand même pour des raisons de lisibilité.

Ces tableaux sont suffisants pour les utilisations habituelles, on s'emploiera à ne pas avoir un XOR avec plus de 2 stylos, ce n'est pas du tout impossible mais tous les effets visuels à prévoir lors de l'affichage mènent directement au casse-tête.

Le mieux maintenant est de voir l'utilisation directe à l'aide de petits programmes BASIC ; ceux-ci sont volontairement dépouillés au niveau du graphisme afin de ne pas surcharger la frappe. Ce aui importe est d'en comprendre le fonctionnement, un programme trop important ne le permettant plus.

PROGRAMME 1

Lignes de départ = dessin d'une maison (toit = stylo 1, mur = stylo 2)

Ligne 340 = entrée en XOR Ligne 360 = la position y du véhicule est choisie de façon aléatoire, d'après y on juge si le véhicule apparaîtra devant ou âerrière le mur de la maison, la procédure est simple.

Devant : les résultantes des stylos 4 et 8 (dessin du véhicule) avec le stylo 2 (mur) sont mises à la couleur du véhicule. Il suffit d'agir sur les stylos 6 et 10, vérifiez en effet dans le tableau mode 0 4XOR2 et 8XOR2.

Derrière : ces mêmes stylos sont mis à la couleur du mur.

Pour le toit, le problème est plus simple, si le véhicule passe à hauteur du toit, c'est qu'il est derrière la maison, c'est donc toujours la couleur du toit qui l'emporte. Les stylos pour les couleurs résultantes entre véhicule et toit sont 5 et 9 (4 XOR 1 et 8 XOR 1 ) et sont donc mis dès le départ en ligne 260 à la couleur rouge.

Ligne 490 = on supprime le véhicule en le réaffichant sur lui-même.

Ligne 530 = on le réaffiche plus à droite et après une légère temporisation (ligne 540) destinée à empêcher le véhicule de "clignoter" lors du déplacement, on recommence.

Ligne 590 = arrivée en bout du parcours à droite, on efface le véhicule toujours en le réaffichant sur lui-même. Quand cette procédure XOR est bien comprise tout s'éclaire, il faut bien convenir qu'au premier abord, il semble bizarre qu'en affichant le véhicule sur lui-même, celui-ci s'efface. Pis encore, qu'il faille respecter cette procédure quand le véhicule passe derrière la maison et est invisible à l'écran est paradoxal !

Il faut souligner un fait important : remarquez que dans toutes les lignes du programme qui affichent le véhicule, on rappelle les stylos. Toute la procédure ne fonctionne correctement qu'avec une extrême rigueur dans le choix et le rappel des stylos. Par contre, on peut remarquer la puissance de ce XOR graphique, quand le véhicule passe derrière la maison, il réapparait, quand il passe devant les fenêtres, cela automatiquement. Vous pouvez surtout en mode 0 trouver mille et une utilisations interdites jusqu'alors, exemple : main se déplaçant à l'écran sans altérer le fond graphique, effets de champ...

Pensez à employer vos logiciels de dessin pour créer des décors pour vos jeux en BASIC, chargez par exemple un dessin dans lequel vous aurez dessiné des arbres tous de la même couleur, mais en ayant dessiné les plus grands au premier plan avec un stylo différent des plus petits en arrière-plan. Après avoir fait un choix correct des stylos en mode XOR, vous réussirez des effets de champ automatiques. Un personnage par exemple disparaitra derrière les arbres de premier plan et s'affichera devant ceux du fond. Un tel effet en BASIC surtout sans s'en occuper par la suite dans la programmation vaut bien un petit effort de réflexion !

PROGRAMME 2 (effets visuels)

Le mode XOR graphique permet bien d'autres choses. Lancez le programme 2 et observez ce qui se passe. Une main se déplace (elle est affichée et supprimée par un "blanc” puisque nous ne sommes pas sur un fond à préserver, mais nous aurions pu la traiter comme le petit véhicule dans le programme précédent et la balader partout à l'écran !) et sélectionne une des cinq options schématisées par un carré avec un chiffre à l'intérieur, mais se pourrait être des "icônes" dessinées avec votre logiciel graphique préféré.

En appuyant sur le bouton feu du joystick ou la barre d'espace, vous mettez l'icône en situation inverse ; ceci grâce à la ligne 940 qui imprime 9 carrés pleins (CHRS143) avec le stylo 1 (couleur noire), c'est sans compter avec le mode XOR, noir et rouge donneront jaune, et noir et jaune, le rouge.

Il aurait été possible dans ce cas simple d'obtenir un effet similaire sans XOR en imprimant neuf carrés et en réaffichant le chiffre, mais si vous aviez eu un dessin dans un de ces carrés, le XOR vous aurait bien manqué. Ce petit programme montre aussi que l'on peut faire bien plus élégant que l'option qui consiste à demander d'entrer un chiffre au clavier en présentant un menu.

PROGRAMME 3

On Inscrit des A censés représenter un texte quelconque, présentations, menus... avec le stylo 1 puis on recouvre ce texte avec des carrés pleins (CHR$143) traçant des carrés de plus en plus petits en changeant de stylo à chaque fois (stylos 2-4-6-8-10-12). Ces stylos étant mis à la couleur du fond, on ne les verra pas, seules nous intéressent les couleurs résultantes qu'ils vont produire avec le texte (ici les A). Les couleurs résultantes, nous les aurons avec les stylos 3,5, 7,9,11 et 13 (voir tableau). Remarquez au passage que pour des raisons de facilité et de rapidité de programmation, on a choisi d'afficher les carrés avec les stylos pairs dans l'ordre pour qu'avec le stylo 1, ils donnent des stylos, pour les couleurs résultantes, impairs et dans l'ordre aussi. Essayez, chaque fols que vous le pouvez de garder cette logique, Il devient autrement difficile de s'y retrouver dans tous ces stylos et leurs interactions.

En ligne 780 et suivantes, on fait prendre à chaque stylo la couleur du suivant, on obtient ainsi un effet de déplacement des carrés respectant le texte inscrit. Un chronomètre (ligne 530) indique la période de renouvellement de cet effet. Agissez sur les flèches droite et gauche du clavier pour agir sur ce chrono. Vous pourrez voir que le changement des couleurs résultantes étant très rapide à effectuer, on arrive à des vitesses de défilement des couleurs ultra-rapides. C'est encore un effet impossible à réaliser sans XOR. Dans cet exemple, on remarque aussi la possibilité d'afficher une lettre en plusieurs couleurs verticales ou horizontales (ici 2). Alors si au lieu de recouvrir le caractère avec deux demi-carrés, on le recouvrait avec des lignes I

PROGRAMME 4

Ce programme fait l'objet de ce que nous venons d'annoncer. Il permet ddfficher facilement des caractères en quatre couleurs verticales ou horizontales. Les caractères tracés avec le stylo 1 font XOR avec des lignes horizontales ou verticales tracées avec les stylos 2-4-6-8 les couleurs résultantes étant données par les stylos 3-5-7-9. Après avoir lancé ce programme, vous pourrez en appuyant au clavier sur les chiffres 3-5-7-9 changer la couleur de ces stylos pour rechercher les couleurs qui donnent le meilleur effet. Un appui sur la touche 0 changera la couleur de fond et un appui sur R vous donnera les couleurs à employer dans vos propres utilisations pour chacun des stylos. Ne vous fiez pas à la longueur du programme pour votre utilisation personnelle ensuite ; c'est ultra-rapide à programmer, vous entrez en mode XOR, vous affichez votre texte et la seule ligne 430 (ou 500) correctement programmée est suffisante pour recouvrir le texte.

Voilà, à vous de chercher maintenant toutes les utilisations que vous pouvez tirer du XOR graphique. Croyez-moi, elles peuvent être nombreuses.

Dans le prochain article, nous verrons encore des "Trucs et astuces' graphiques : caractères géants fantaisie, affichage style machine à écrire, des utilisations intéressantes des encres clignotantes...

En attendant, bon travail !

AMSTAR n°27

★ ANNÉE: 1988
★ AUTEUR: Guy Poli
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Mode  XOR    (Amstar-CPC)    FRENCH    LISTINGDATE: 2022-10-10
DL: 92
TYPE: PDF
SiZE: 780Ko
NOTE: 3 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Initiation à L'Assembleur Amstar&CPC 28: Vidéo - Pour Quelques Effets Visuels de Plus (Amstar&CPC)
» Coding » Initiation à L'Assembleur Amstar&CPC 30: Vidéo - Logiciels graphiques : Le bon choix (Amstar&CPC)
» Coding » Initiation à L'Assembleur Amstar&CPC 28: Vidéo - Sprites - Technique des Masques (Amstar&CPC)
» Coding » Initiation à L'Assembleur Amstar&CPC 29: Vidéo - Scrolling écran avec apports de nouveaux Elements Graphiques (Amstar&CPC)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 514 millisecondes et consultée 396 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.