Même chez les jumeaux, il y a des différences. On peut les reconnaître ! Si, c'est vrai ! Et pour les CPC, c'est moins vrai, mais un petit peu vrai quand même. Les CPC ne sont pas tous différents, mais il existe de nombreuses différences d'un CPC à l'autre, selon le pays dans lequel il est sorti, son numéro de série, son histoire, les lots de fabrication, les grains de beauté, tout ça...
Je me propose de vous en faire une liste pour les nuls, ici, histoire de savoir où on en est.
Le CRTC
Commençons par la différence la plus emblématique, problématique, autour de laquelle tourne le développement des démos sur CPC depuis 20 ans. Pas nécessairement la plus évidente à comprendre quand on débarque, mais la plus connue de tous : le CRTC. Pour les reconnaître, je vous suggère la lecture de cet article.
Il s'agit du composant qui régit le signal vidéo du CPC. Il travaille avec le Gate Array qu'on verra plus loin. Ce CRTC permet de faire des choses visuelles qui, au niveau de la bidouille, deviennent très intéressantes. Malheureusement, les performances ou les modes d'adressage des uns et des autres ont des différences. Fort heureusement, le CRTC le moins "performant" en terme de bidouille est aussi le plus rare. Il est recherché par les développeurs, pour en avoir un, pour tester ce qu'ils font, avec l'espoir secret qu'il disparaîtra bientôt de la surface de la Terre, parce qu'il est à la traîne.
Compatibilité : Attention
|
C'est le seul véritable paramètre qui peut poser des problèmes de compatibilté entre les CPC. Cependant, on n'a jamais déploré à ce jour de jeu ne tournant pas sur tous les CRTC (Il semblerait que Octoplex soit une exception à cette règle).
Les problèmes qui peuvent exister sont sur les démos de la façon suivante :
- CRTC 0/4 : Quelques démos récentes ne tournent pas dessus - CRTC 1 : Le plus performant de tous les CRTC, quelques démos anciennes ne tournent pas dessus. - CRTC 2 : Assez peu de démos fonctionnent dessus.
|
Le Gate Array
Atomic GA
Il existe quelques modèles de "prototypes" de GA en circulation. On ne sait pas exactement d'où ils viennent ni leur raison d'exister, mais ils possèdent un GA avec un radiateur géant. Ce modèle semble réagir comme un Gate Array classique, sauf qu'il a la particularité d'afficher des couleurs légèrement désaturées, comme renforcées par un peu de rouge. Seuls 3 modèles existent à notre connaissance, probablement des prototypes mis en circulation.
Il existe 3 références de GA : 40007, 40008 et 40010, auxquelles on peut ajouter le "CRTC4" incluant un GA dans son ASIC. On n'a trouvé aucune différence entre ces 4 composants, sinon que certains chauffent plus que d'autres (et je dis ça en connaissant très bien cette page qui me semble erronnée).
Compatibilité : sans problème
|
Il est impossible que ce paramètre puisse rendre inopérant un programme. Toutefois, dans des cas très spécifiques on regrettera un léger déséquilibre des couleurs. |
Le décalage en mode 2 :
La recherche de la licorne est toujours en cours : lors du passage en mode 2, la plupart des CPC décalent l'image d'un pixel mode 2 vers la gauche. Il existerait des CPC qui n'ont pas ce décalage (je n'en ai jamais vu et en cherche encore). Rien ne semble auourd'hui confirmer que l'origine de ce décalage ou non dépende du Gate Array (mais ça reste en partie possible, vu qu'on ne sait pas trop quoi chercher).
Nous recherchons activement un tel CPC ! Si vous en possédez un, merci de me contacter, on fera des photos, ça sera chouette.
Pour le reconnaître, il suffit de lancer Imperial Mahjong, le fichier de configuration affiche une barre verticale (RUN"CONGIG). Si cette barre est à gauche et que le programme fonctionne comme prévu (vu qu'on n'a pas pu tester en vrai), contactez-moi à sylvestre [truc] cpcscene.com. C'est pour la science qu'on vous dit !
Le BASIC
Là, c'est assez simple, il en existe 2 : le BASIC 1.0 et le BASIC 1.1. Le premier se trouve sur tous les CPC 464, et le second sur tous les CPC 6128 et CPC 664.
Il y a assez peu de différences entre ces 2 versions, mais il convient toutefois d'y faire attention si on veut qu'un programme tourne aussi bien sur les 2 versions, sachant qu'un programme écrit en BASIC 1.0 fonctionnera forcément avec le BASIC 1.1.
Nouvelles instructions du BASIC 1.1 par rapport au 1.0 :
Toutes les instructions liées au lecteur de disquettes,
FILL, FRAME, CURSOR (mais il existait le caractère de contrôle vaguement équivalent), GRAPHICS PEN, GRAPHICS PAPER, COPYCHR$, ON BREAK CONT / STOP, DEC$, MASK
Certains paramètres en plus sur les instructions : PEN, PLOT, PLOTR, DRAW, DRAWR, MOVE, MOVER
Cette différence ne pose aucun problème pour les programmes écrits en assembleur. Les jeux commerciaux se sont tous arrangés pour ne pas utiliser ces instructions, de façon à rester le plus largement compatibles.
Compatibilité : sans problème
|
Les jeux commerciaux ayant tous été prévus pour fonctionner sur 464, on ne déplore aucun problème. Les seuls problème constatés le sont en général dans des cas où il faut 128k de mémoire (prévus pour le 6128). Ces problèmes pourraient se poser sur les 464 étendus en mémoire.
On notera qu'il est cependant possible d'installer l'un ou l'autre basic sur n'importe quel CPC, soit par le fer à souder, soit par l'achat d'une extension adaptée (X-Mem par exemple).
|
Le clavier
Cette différence est assez légère puisqu'elle n'a pas d'influence sur le fonctionnement d'un programme. En fait, le pire qui puisse arriver est d'avoir des caractères étranges qui apparaissent au lieu de ceux prévus. Par exemple, le clavier anglais ne dispose pas des accents. Mais il est bon de savoir que la ROM a une table de caractères différente. Donc si un programme utilise la fonte système sans prendre garde à savoir quelle est celle présente, alors des accents risquent d'apparaître de façon désordonnée sur un programme exploitant des caractères graphiques par exemple.
ROM différente
Il existe à ma connaissance 3 types de claviers : français, anglais, espagnol. Beaucoup de CPC se sont vendus en Allemagne, sans pour autant qu'on trouve des claviers dédiés (contenant notamment les ü ou les ß).
Compatibilité : sans problème
|
Cette différence n'est pas de nature à empêcher un programme de fonctionner. Tout au plus, on ne tapera pas les lettres qu'on pensait en regardant le clavier (fréquent dans les jeux d'aventure par exemple). |
Écran de démarrage
Là, il s'agit d'une subtilité qui frise avec le charme. À la conception du CPC, il était prévu qu'il pût être vendu dans différents pays. Ainsi, la ROM des CPC prévoyait 8 marques, dont seulement 4 ont été réellement utilisées : Schneider (en Allemagne), Solavox (aux États-Unis : très rares), Awa (Australie) et Amstrad (partout ailleurs). Les marques inutilisées sont : Isp, Triumph, Saicho et Orion.
Sur n'importe quel CPC, il est possible de changer cette marque en faisant des petites soudures aux l'endroits appropriés (3 connexions à ouvrir ou fermer). C'est le PPI qui lira cette donnée.
50 / 60Hz
Comme il était prévu que le CPC soit vendu dans des pays où les écrans n'étaient pas à 50Hz, mais à 60Hz, il était prévu qu'il puisse s'adapter à cette contrainte. Là aussi, une simple soudure interprétée par le PPI permet de le passer d'un mode à l'autre. Il est possible d'obtenir le même résultat par programmation du CRTC. Cette soudure n'agit que sur les paramètres à l'initialisation.
Compatibilité : sans problème
|
Le choix de marque n'a aucune influence sur le fonctionnement du CPC. La fréquence non plus. Cependant, il convient d'avoir un écran adapté à la fréquence du CPC pour que les programme tournent dessus. Je n'ai jamais rencontré de CPC en 60Hz. |
Lecteur de disquettes
Il est évidemment une différence non négligeable qui justifiait à elle seule l'achat d'un modèle ou d'un autre : la présence du lecteur de disquettes.
ROM différente
Naturellement, pour piloter ce lecteur de disquettes, les 6128 et 664 étaient équipé d'une ROM adéquate : l'Amsdos, que l'on appelle aujourd'hui la "ROM 7" puisqu'elle est située en 7ème position, tout comme le BASIC est par exemple situé en position 0. Il est tout à fait possible d'ajouter cette ROM sur un 464 : c'est d'ailleur ce que l'on fait si l'on veut utiliser un lecteur de disquettes. Il faut savoir que cette ROM prend un peu de place en mémoire. Il est donc arrivé que certains programmes prévus pour cassette et utilisant toute la mémoire se retrouvent coincés par manque de mémoire et ne fonctionnent pas. Les cas ne sont pas fréquent.
Compatibilité : rarement problématique
|
Les programmes prévus pour cassette sont presque tous fonctionnels sur disquette (exception à trouver). Mais l'inverse n'est pas vrai. C'est un choix de support.
On ne peut pas parler de problème de compatibilté dans la mesure où il est possible d'ajouter un lecteur de disquettes ou de cassettes sur n'importe quel CPC.
|
La mémoire : 64 ou 128k ?
Les 464 et 664 étaient tous les 2 équipés de seulement 64k de mémoire, là où le 6128 avait 128k. Cette différence n'a jamais joué sur les programmes commerciaux, qui visaient un public le plus large possible et se limitaient donc à 64k de façon à être compatibles dans tous les cas. Toutefois, il est (rarement) arrivé que des jeux offrassent des petits bonus quand on avait 128k de mémoire vive (Dragon Ninja).
Il a existé en Espagne des CPC 472, qui avaient 72k de mémoire. Ces 8k supplémentaires n'étaient en fait pas accessibles. Ils servaient simplement à éviter de payer une taxe liée aux ordinateurs de "moins de 64k".
Compatibilité : sans problème
|
Un programme prévu pour 64k fonctionne forcément sur un 6128. Inversement, un programme nécessitant 128k de mémoire ne peut pas fonctionner avec seulement 64k.
On ne peut pas parler de problème de compatibilté dans la mesure où il est possible d'ajouter de la mémoire sur n'importe quel CPC.
|
Écran couleur ou monochrome
Le CPC a été vendu du début à la fin de sa vie commerciale avec le choix de prendre un écran couleur ou un écran monochrome. L'écran couleur était 1000 francs plus cher que l'écran monochrome. Le rendu est évidemment très différent d'un écran à l'autre. Pour plus de détails, reportez-vous aux détails techniques sur les résolutions graphiques.
Alimentation différente
Selon qu'il était vendu avec un CPC 464 ou un 664/6128, l'écran disposait ou non d'une sortie 12V permettant d'alimenter le lecteur de disquettes. Les écrans sont en tous points identiques, sinon que les écrans dédiés au 464 ne permettent pas d'alimenter un lecteur de disquettes 3". Ci-dessous les références des écrans :
GT 64 : écran monochrome sans alimentation 12V
GT 65 : écran monochrome avec alimentation 12V
CTM 640 : écran couleur sans alimentation 12V
CTM 644 : écran couleur avec alimentation 12V
Compatibilité : sans problème
|
Il n'existe pas de problème de compatibilité entre les écrans. Tout au plus, peut-on regretter des problèmes de lisibilité lorsque des images sont prévues en couleur et affichées en vert (ou le contraire). Dans certains cas non réglementaires, les tolérances sont différentes sur les timings de synchronisation, ce qui peut amener des sautes d'image dans des cas particuliers (entrelacé hard, pixels hexagonaux)... |
|