Utilisateur:Damien.b/ITT 2020

L'ITT 2020 était un clone de l'Apple II fabriqué par ITT sous licence d'Apple (et accessoirement le premier clone d'Apple II sous licence), conçu spécifiquement pour le marché européen. Au Benelux, il était distribué par Bell Telephone, et par Microsense Computer Limited au Royaume-Uni.

La principale différence entre l'ITT 2020 et l'Apple II, et la raison pour laquelle ITT croyait en son succès, était que le signal vidéo couleur sortait à la norme PAL européenne, plutôt qu'à la norme NTSC américaine. Les graphiques couleur pouvaient donc être affichés sur un moniteur ou téléviseur européen standard, plutôt que de devoir importer un moniteur NTSC américain ou japonais comme c'était le cas pour les premiers Apple II.

L'ITT 2020, premier clone sous licence de l'Apple II.

ITT vendit cet ordinateur de 1979 à 1981. En 1981, Apple débuta la vente de l'Apple II Europlus et racheta Microsense Computer[1] pour 3.5M£, qui forma alors Apple Computer UK. L'ITT fut alors officiellement remplacé par l'Apple II Europlus, bien qu'il ne prenait pas en charge la couleur sans carte d'extension.

ITT fournissait également un lecteur de disquettes 5.25" simple face de 113,75 Ko identique au Disk II d'Apple, au format 13 secteurs tel que géré par DOS 3.2. Toutefois, ITT n'a jamais fourni de lecteur 16 secteurs 140 Ko simple face double-densité tels que supporté par DOS 3.3. [2]

Autres modifications

modifier

D'autres modifications furent apportées par ITT à l'Apple II originel[3] :

  1. Une alimentation européenne 220V 50Hz à refroidissement passif conçue directement par ITT (la version Apple, conçue par Astec Power, était scellée hermétiquement et donc moins bien refroidie).
  2. Un boîtier peint à la bombe d'une couleur argent mat et le clavier en noir.
  3. L'ITT 2020 utilisait une fréquence d'horloge plus élevée, nécessaire pour le signal PAL. Un quartz à 17,73 MHz était utilisé (quatre fois la fréquence de la sous-porteuse PAL de 4,433 MHz), tandis que l'Apple II utilisait un quartz à 14,318 MHz - quatre fois la fréquence de la sous-porteuse NTSC à 3,58 MHz. Dans l'ITT 2020, la fréquence du cristal était divisée par 17 pour donner au microprocesseur une fréquence d'horloge de 1,042 MHz. Dans l'Apple II, la fréquence était divisée par 14 pour donner une fréquence d'horloge du microprocesseur de 1,023 MHz. [4]
  4. Les ouvertures à l'arrière du boîtier étaient plus petites, ce qui rendait parfois difficile l'installation de certaines cartes d'extension.
  5. Sur les versions ultérieures de l'ITT2020, le bouton de réinitialisation ne fonctionnait qu'en combinaison avec la touche Contrôle. Cela permettait d'éviter les réinitialisations accidentelles dont les utilisateurs d'Apple II se plaignaient parfois. Ce problème sera corrigé également sur l'Apple II Europlus.
  6. La sortie du 4ème annonciateur (le softswitch AN3) n'était pas prise en charge.A la place, les adresses d'E/S (0xC05E et 0xC05F) utilisées par Apple pour cette sortie était utilisées par l'ITT pour la commutation (bank switching) avec la RAM supplémentaire pour le signal PAL.
  7. De la même façon, le troisième bouton du connecteur de joystick n'était pas pris en charge, car l'ITT utilisait l'adresse de cette entrée (0xC063) pour lire cette RAM supplémentaire.
  8. Le bogue dans la routine ONERR GOTO dans l'Apple II, qui obligeait les utilisateurs à charger un correctif, était résolu dans l'ITT 2020.
  9. Certains utilisateurs ont signalé un bogue dans la routine XDRAW, provoquant l'apparition de formes erronées dans certaines circonstances.
  10. Le DOS fourni avec l'ITT 2020 était Apple DOS 3.2. Cependant, la commande CAT (lister le contenu du disque) affichait les programmes BASIC avec le préfixe «P» (pour PALSoft) plutôt que «A» (pour Applesoft).

Conséquences de l'adaptation PAL

modifier

Tout programme Apple II utilisant le mode graphique pouvait rencontrer des problèmes sur l'ITT 2020. Seuls les programmes écrits spécifiquement pour l'ITT 2020 (ou l'ajout d'une carte de conversion) permettait d'utiliser correctement les graphiques haute résolution, avec une résolution horizontale allant jusqu'à 359 pixels plutôt que les 279 maximum de l'Apple II.

  • Si le programme utilisait les commandes graphiques du BASIC Applesoft, l'image apparaissait écrasée - les cercles apparaissaient sous forme d'ellipses et les carrés sous forme de rectangles.
  • Si le programme accédait directement à la mémoire vidéo (beaucoup le faisaient pour des raisons de performance), 40 lignes verticales blanches ou noires apparaissaient à travers l'image car le 9ème bit n'était pas défini, étant utilisé pour la commutation mémoire.
  • Les programmes utilisant la commande HPLOT avec plusieurs paramètres ne fonctionnaient pas correctement.
  • Mode PAL oblige, les couleurs étaient différentes de celles de l'Apple II dans les modes haute résolution et basse résolution. En mode basse résolution, certaines couleurs n'étaient pas disponibles.
  • Les programmes utilisant la sortie de l'annonciateur AN3 ou l'entrée de joystick manquante ne fonctionnaient pas.
  • En raison de la différence de fréquence d'horloge, les programmes sur l'ITT 2020 (sans graphiques) fonctionnaient 2% plus rapidement (confirmé par des tests de référence).
  • Les programmes qui chargeaient automatiquement le correctif pour le bogue ONERR GOTO plantaient si une erreur se produisait, car ce bogue était déjà corrigé sur l'ITT.
  • Les programmes faisant des appels système à des routines en ROM plantaient parfois sur l'ITT parce que certaines adresses avaient changé.
  • Les BSAVE et BLOAD d'images graphiques ne fonctionnaient pas, car le 9ème bit n'était pas inclus dans le fichier.
  • Les routines haute-résolution de la ROM Aide aux Programmeurs Apple ne fonctionnaient pas.
  • Les signaux de synchronisation différents de l'Apple II causaient un dysfonctionnement de certains périphériques et cartes d'extension.

ITT a finalement publié une note technique avec un programme en assembleur permettant aux utilisateurs de charger et d'enregistrer des images haute résolution.

Mode graphique

modifier

Différences avec l'Apple II[5]

modifier

La principale différence entre l'ITT 2020 et l'Apple II est la résolution graphique en mode haute résolution (HIRES).

La résolution horizontale passait de 280 pixels sur l'Apple II à 360 pixels sur l'ITT. La résolution verticale restait quant à elle inchangée. Cette nouvelle résolution rendait de nombreux programmes Apple II incompatibles avec cet ordinateur, mais le problème pouvait être résolu par l'ajout d'une carte de conversion.

Cette nouvelle résolution était une conséquence de la fréquence plus élevée de la sous-porteuse couleur du mode PAL. 9 bits par adresse de mémoire vidéo étaient nécessaires, contre 7 bits pour l'Apple II. Pour y parvenir, une puce mémoire supplémentaire de 16K x1 (2 Ko) était ajoutée à la carte mère, ce qui nécessitait un 9ème bit aux pages mémoire HIRES (0x2000 à 0x5FFF). Cela a contraint la modification des routines graphiques dans la ROM de l'interpréteur Applesoft BASIC. Pour insister sur cette différence, ITT appelait sa version de BASIC « PALSOFT ».

Pour faire de la place en ROM pour ces routines graphiques plus longues (la manipulation du 9ème bit nécessitait du code supplémentaire), l'instruction HPLOT était limitée à un seul paramètre, plutôt qu'à une chaîne de paramètres.

Accéder au 9ème bit

modifier

La puce mémoire supplémentaire était essentiellement en mode "écriture seule" côté système : les données graphiques étaient écrites logiciellement, puis lues matériellement par le générateur de signal vidéo. L'entrée de la puce supplémentaire était câblée sur l'entrée du 8ème bit (le bit de poids fort) de la mémoire vidéo et était donc égale à ce 8ème bit lors d'une opération d'écriture. En activant la puce supplémentaire, les mêmes données étaient simultanément écrites dans le 9ème et 8ème bits.

Par exemple, pour écrire 0b110100101 dans la zone mémoire à l'emplacement 'HiresLoc', le Manuel de Service de l'ITT 2020 mentionne la routine suivante[4] :

     LDA $C05E     ; activer la puce mémoire supplémentaire
     LDA #$80      ; bit de poids fort à 1
     STA HiresLoc  ; enregistrer les données sur les bits 8 et 9
     LDA $C05F     ; désactiver la puce RAM supplémentaire
     LDA #110100100; charger le reste des données
     STA HiresLoce ; enregistrer dans la mémoire principale, mais le 9e bit reste activé.

Changer uniquement le 9ème bit nécessitait encore plus de code :

     LDA HiresLoc  ; lire les bits 1-8
     PVVIH         ; stocker sur pile
     LDA $C05E     ; activer la puce RAM supplémentaire
     ADL #         ; le bit 9 doit devenir 0
     STA HiresLoc  ; mais les bits 1-8 sont également modifiés
     LDA $C05F     ; donc désactiver la RAM supplémentaire...
     APL           ; récupérer les données de la pile
     STA HiresLoc  ; et remettre l'ancienne valeur dans les bits 1-8

Il est possible de lire le 9ème bit lorsque nécessaire, par exemple pour sauvegarder une image HIRES sur disque.

Ceci est obtenu comme suit:

     LDA HiresLoc  ; lire l'adresse
     LDA $C063     ; Le bit de poids fort de cette adresse est la valeur du bit 9 de la dernière adresse lue
     BPL notset    ; branche si le bit est à zéro

Carte de conversion HIRES

modifier
Carte de conversion pour l'ITT 2020

La compatibilité du mode graphique HIRES avec l'Apple II pouvait être améliorée en installant une carte de conversion tierce.

Une fois activée, cette carte supprimait les artefacts vidéo causés par les programmes ignorant le 9ème bit. Cela améliorait considérablement la compatibilité avec les logiciels destinés à l'Apple II originel manipulant directement la mémoire graphique. Cependant, même avec cette carte activée, les couleurs différaient toujours de l'Apple II NTSC à cause de la conversion PAL.

L'utilisation des commandes PALSOFT BASIC pour dessiner des graphiques haute résolution nécessitait toutefois de désactiver la carte de conversion HIRES, car le BASIC d'ITT corrigeait déjà le problème compatibilité.

Références

modifier
  1. (en-US) « Europe's first Apple II | Apple II Bits », (consulté le )
  2. « ITT 2020 », sur www.silicium.org (consulté le )
  3. « [ITT 2020 Blank Page] », 2020 Seventh International Conference on Information Technology Trends (ITT), IEEE,‎ (DOI 10.1109/itt51279.2020.9320780, lire en ligne, consulté le )
  4. a et b ITT 2020 Service Training Manual
  5. « ITT 2020 Computer - Apple II Clone - Computer - Computing History », sur www.computinghistory.org.uk (consulté le )