# TRS-80 Color Computer

Le TRS-80 Color Computer de RadioShack (Tandy Color Computer ou encore CoCo) était un ordinateur personnel basé sur le microprocesseur 6809 de Motorola et faisait partie de la gamme des TRS-80.

## Origine et histoire

Le CoCo a commencé sa vie sous la forme d'un système de référence chez Motorola et était destiné à servir de terminal Videotext. En fait, une version simplifiée du CoCo s'est vendue en tant que terminal Videotext avec le même boîtier et le même clavier. Le CoCo original était en versions 4 ko, 16 ko et 32 ko, bien que des bricoleurs eussent rapidement découvert une façon de transformer les systèmes à 32 ko en systèmes à 64 ko en activant le second banc de mémoire vive (qui était désactivé lors de la fabrication). Le boîtier gris et le clavier «chiclet» du CoCo I furent abandonnés en faveur du clavier blanc de taille normale des CoCo II et III.

## Un système à base de cartouches

Le CoCo se distinguait des «Models» I/II/III/4 et 4p, basés sur le Z80, par la présence d'un processeur différent (le Motorola 6809e) et d'une fente pour cartouche comme celle du système Atari 2600 (VCS). Conséquemment, plusieurs jeux et applications (incluant un système d'exploitation de disquettes) furent commercialisés sous la forme de cartouches. Comme le Model I, le CoCo disposait d'un interpréteur BASIC «Standard» ou «Étendu» («Extended»), d'une manière analogue au BASIC «Level I» et «Level II.» Un contrôleur de disquettes ajoutait le «Disk Extended BASIC» (DECB). Ces interpréteurs BASIC étaient publiés sous licence de Microsoft. Le « DECB » n'était pas un système d'exploitation de disquettes mais ajoutait des commandes à l'interpréteur BASIC. Ces commandes accédaient directement au contrôleur d'unités de disquettes.

## Le clone «Dragon»

Il y eut un clone britannique du CoCo qui s'appelait le Dragon 32/64. La compagnie américaine Tano a tenté d'importer ces appareils aux États-Unis mais sans succès. Le Dragon était un appareil grandement amélioré, grâce à un système vidéo RVB (plutôt que le système télévisuel ordinaire des CoCo I et II), un port parallèle pour imprimante (le CoCo n'imprimait que via un port sériel plus lent) et un meilleur clavier.

## Le CoCo 3

Vers le milieu des années 1980, Tandy a introduit le CoCo 3, qui devait concurrencer l'Amiga et l'Atari ST. Basé sur le 68B09e, qui était plus rapide, et maintenant pourvu de modes graphiques améliorés, le CoCo 3 était destiné aux adeptes des jeux vidéo. Il avait 128 ko de mémoire vive et il était possible d'y mettre 512 ko. La résolution graphique maximale passait à 640 par 225 alors que certains modes à résolution plus basse pouvaient afficher seize couleurs parmi une palette de 64 (bien que certaines astuces de programmation permettaient d'afficher les 64 couleurs simultanément).
À part le « DECB», pour lequel Tandy détenait une licence de Microsoft, d'autres systèmes d'exploitation étaient disponibles pour le CoCo. On trouvait par exemple FLEX (de Frank Hogg) et OS-9 de Microware. Ces deux systèmes faisaient du CoCo un outil beaucoup plus puissant. OS-9 en particulier offrait le multi-traitement et pouvait gérer plusieurs usagers.
Tandy a aussi commercialisé le «Multi-Pak», qui permettait de brancher jusqu'à quatre cartouches simultanément, comme le synthétiseur de voix, le modem 300 bit/s et autres accessoires. Le CoCo fut le premier ordinateur de Tandy pour lequel une souris était disponible.
Un outil populaire pour le CoCo était CoCoMax, un logiciel de dessin (semblable à MacPaint) qui disposait d'une cartouche offrant un adaptateur pour manette à haute résolution. On pouvait y brancher la souris de Tandy. Ce produit a beaucoup plu aux utilisateurs du CoCo et, d'ailleurs, les prototypes pour le Macintosh furent conçus à l'aide du même processeur 6809 de Motorola.

## Description des différentes versions

Il y avait trois versions différentes du CoCo:

### CoCo I - Boîtier gris (1980-1983)

La version originale du CoCo se vendait avec 4, 16 ou 32 ko de mémoire vive et avec des versions simple ou étendue du «Color Basic» de Microsoft. Ce modèle utilisait un téléviseur ordinaire pour son affichage. Plus tard, une mise à niveau à 64 ko fut disponible. Ceci fut rendu possible par une révision de la carte-mère: les modèles qui ont précédé cette révision ne peuvent être facilement étendus à 64 ko. Quelques périphériques étaient disponibles: un appareil à cassettes audio pour le stockage, des imprimantes sérielles, une unité de disquettes 5,25", des générateurs de voix et de sons, et des manettes de jeu. Vers la fin de la période du CoCo I, certaines unités furent fabriquées avec un boîtier blanc et un clavier différent qui était entre le clavier «chicklet» original et le modèle plus «normal» introduit par la suite. (Les premiers CoCo II avaient ce même clavier.) Il y eut au moins trois révisions de la carte-mère du CoCo II, connues sur les noms «D», «E» et «F».

### CoCo II - Boîtier blanc (1983-1986)

Cette version du CoCo avait un boîtier plus petit et un meilleur clavier. Les derniers modèles, qui portaient le nom «Tandy Color Computer» plutôt que «TRS-80,» étaient capables d'afficher des lettres en minuscule. Ils pouvaient tous recevoir 64 ko de mémoire vive. (Les premiers modèles avaient 16 ko.) RadioShack a aussi vendu le CoCo II sous l'étiquette «Tandy Data Products» en l'appelant «TDP-100.» Le CoCo II à 64 ko pouvait exécuter OS-9 Level I de Microware.

### CoCo III - Boîtier blanc (1986-1991)

Ce modèle avait un processeur 68B09e ainsi que 128 ko ou 512 ko de mémoire vive. Il utilisait tous les périphériques originaux et la plupart des anciens logiciels pouvaient s'y exécuter.
Les composants graphiques et de mémoire des CoCo I et II furent remplacés par une nouvelle puce nommée «GIME» qui offrait plusieurs modes d'affichage (certains en texte seulement, certains en graphique permettant jusqu'à 16 couleurs parmi une palette de 64). Le «GIME» s'occupait aussi de gestion de mémoire («memory mapping») en blocs de 8 ko, ce que certains développeurs considéraient exagérément grand pour un espace d'adressage de 64 ko. Finalement, le «GIME» s'occupait du rafraîchissement de la mémoire vive.
Microware a étendu davantage le BASIC pour gérer les nouveaux modes d'affichage et a fourni plus tard une version «Level II» d'OS-9. Ce système permettait le multi-traitement, un système de fenêtres et un environnement de développement plus élaboré qui comportait BASIC09 (en), un compilateur BASIC. Des compilateurs C et Pascal étaient disponibles.
(Plusieurs membres de la communauté OS-9 du CoCo ont amélioré «OS-9 Level II» à la demande de Tandy, mais Tandy a arrêté la production du CoCo 3 avant que la mise à jour ne soit officiellement publiée. La plupart de ces améliorations ont vu le jour dans NitrOS9, une récriture majeure de «OS-9 Level II» qui visait à tirer profit des fonctions additionnelles et de la vitesse accrue du 6309 de Hitachi.)
Le CoCo 3 avait aussi une sortie RVB, ce qui permettait d'utiliser directement un moniteur analogique RVB.
Le 6809 dans les CoCo I et II était cadencé à 0,895 MHz; le CoCo 3 tournait à cette fréquence par défaut, mais il était possible pour un programme d'activer un mode où cette fréquence était doublée.
La fréquence 0,895 MHz correspond au quart de la fréquence de balayage d'un écran d'un téléviseur couleur. (Ce genre de synchronisation entre le processeur et le téléviseur était fréquente dans les ordinateurs domestiques et les consoles de jeux vidéo de cette époque ; même le PC original d'IBM était cadencé à quatre tiers de la fréquence de balayage.) Cette technique était commode parce qu'elle réduisait le nombre de composants requis, mais elle limitait les possibilités d'extension et de modification de l'horloge du processeur.
Tandy a pris plusieurs autres raccourcis en concevant le CoCo en cherchant à diminuer le nombre de pièces même au prix de la vitesse d'exécution. Les raccourcis les plus connus furent probablement le port sériel bit à bit et l'interface-souris à haute résolution. Cette dernière en particulier forçait le processeur à faire de l'attente active jusqu'à ce qu'un condensateur se décharge pour qu'il soit ensuite possible de déterminer la position de la souris. À moins d'être en train d'utiliser la souris activement, il fallait apprendre à la placer au coin supérieur gauche de l'écran pour ne pas ralentir l'exécution du programme.
Des compagnies tierces comme DISTO et Cloud-9 ont fait beaucoup plus avec le CoCo que ce à quoi Tandy devait probablement s'attendre. Par exemple, il est maintenant possible d'attacher des disques IDE et SCSI à un CoCo. Le CoCo a encore une base d'utilisateurs petite mais active.

## Le mur OS-9

Il y a eu et il y a encore une division majeure entre deux groupes d'utilisateurs du CoCo : ceux qui utilisent OS-9 et ceux qui «utilisent» DECB (Disk Extended Color BASIC) ; les guillemets sont présents parce que plusieurs sinon la plupart des programmes non-OS-9 n'avaient recours au DECB que comme chargeur et comme pilote de disquettes, et ils faisaient tout le reste en accédant directement au matériel. Ceci impliquait que l'évolution du CoCo devait maintenir tous les défauts et raccourcis pour éviter de briser les applications non-OS-9. Avec OS-9 toutefois, des changements dans la machine ne requéraient qu'une récriture des pilotes de périphériques. Cette présumée obligation de compatibilité totale avec le passé a empêché au moins une tentative d'amélioration du CoCo : le «Tomcat TC09» de Frank Hogg a échoué alors que Chris Burke tentait de lui faire simuler tous les détails du matériel du CoCo. Toutes les autres tentatives ont probablement échoué pour les mêmes raisons. S'il y avait une archive de la base de messages de CompuServe sur OS-9, on pourrait y relire le cri du cœur de Kevin Darling à l'endroit des utilisateurs du DECB, portant le sujet «Vous tuez le CoCo !» («You're Killing the CoCo!»).
En somme, Tandy a laissé passer une occasion importante: il faut se rappeler qu'un processeur 6809 à 1,8 MHz travaillait plus vite que le 8088 à 4,77 MHz du PC original d'IBM et qu'en plus, des gens ont fait fonctionner le 6309 d'Hitachi à 5 MHz.