# TRS-80 Color Computer

O TRS-80 Color Computer da RadioShack (também chamado Tandy Color Computer ou tão somente CoCo, por seus usuários) foi um computador doméstico, lançado em 1980. Apesar do nome, o TRS-80 Color Computer representou um grande afastamento dos modelos TRS-80 anteriores, em particular porque empregava o microprocessador Motorola MC6809E ao invés do Zilog Z-80, usado nos modelos TRS-80.
Por outro lado, o MC6809 era um processador bastante avançado, mas bem mais caro, de modo que máquinas concorrentes, como o Commodore 64 e o Atari 400, adotavam uma outra estratégia para conquistar o mercado, combinando o processador 6502 (bem mais barato) com outros processadores dedicados para tratar gráfico e som. Com efeito, obtiveram maior sucesso.

## Origem e história

O TRS-80 Color Computer começou sua história em 1977 como resultado de uma joint-venture entre a Tandy Corporation, sediada em Fort Worth, e a Motorola Semiconductor Inc., então sediada em Austin, visando o desenvolvimento de um computador doméstico de baixo custo.
O objetivo inicial deste projeto, denominado "Green Thumb", era produzir um terminal de videotexto de baixo custo para ser usado por fazendeiros, pecuaristas e outras pessoas ligadas ao campo. Este terminal seria então conectado a uma linha telefônica e a um aparelho comum de televisão, e permitiria ao usuário acessar, em tempo quase-real, informações úteis para as suas atividades cotidianas na fazenda.
O chip gerador de vídeo (VDG: Video Display Generator) Motorola MC6847 foi lançado quase ao mesmo tempo pela joint-venture, causando especulações de que teria sido desenvolvido para ser empregado neste projeto. O protótipo do terminal "Green Thumb" tornou-se realidade por volta de 1978 e tinha como componentes principais o VDG MC6847 e a unidade microprocessadora (MPU) MC6808. Porém, o protótipo continha também muitos outros chips que o tornava comercialmente inviável. A Motorola resolveu este problema integrando todas as funções dos chips menores em um único chip, o SAM MC6883 (SAM: synchronous address multiplexer). Mais ou menos nessa mesma época, fins de 1979, o novo e poderoso processador Motorola MC6809 foi lançado; e combinado com o SAM e o VDG, fez surgir o terminal AgVision.
O terminal AgVision foi também vendido, por volta de 1980, nas lojas RadioShack como um terminal de videotexto. Eventuais diferenças internas - se as houve - permanecem obscuras uma vez que não restam hoje muitos terminais AgVision.
Em seu projeto, o citado terminal de videotexto continha todos os componentes básicos para compor um computador doméstico de propósito geral. O modem interno foi removido, mas foram providenciadas conexões de entrada e saída para armazenamento em fita cassete, porta serial e joysticks. Um conector também foi adicionado ao lado direito do gabinete, para futuras expansões e conexão de cartuchos de programas; além disso, uma placa indicando a quantidade de memória instalada na máquina foi colocada sobre o buraco onde se encontrava o led indicador de dados do modem. Assim, em 31 de julho de 1980, a Tandy anunciava o TRS-80 Color Computer, que possuía o mesmo gabinete, teclado e layout dos terminais AgVision e VideoTex, tornando difícil diferenciar o TRS-80 Color Computer de seus predecessores.
O primeiro modelo que apareceu no catálogo da RadioShack, sob o número 26-3001, possuía 4 kbytes de Memória Dinâmica de Acesso Aleatório (DRAM) e um interpretador Microsoft BASIC embutido em uma ROM interna de 8 kbytes. Seu preço era de US$ 399,00. Poucos meses depois, as lojas RadioShack dos Estados Unidos e Canadá começaram a receber e vender o novo computador.

## Diferenças em relação aos modelos TRS-80 anteriores

O Color Computer, com seu processador Motorola MC6809E, representou um radical afastamento dos modelos TRS-80 I/II/III/4/4p baseados no processador Zilog Z80 (daí o sufixo "80" na expressão "TRS-80"). Por certo tempo, o CoCo foi chamado internamente de "TRS-90" em razão do "9" existente no número "6809", contudo isto foi deixado de lado e todos os CoCo's vendidos pela RadioShack foram chamados "TRS-80" não obstante a referida mudança de processador.
Assim como seus predecessores baseados no Z80, o CoCo já vinha embutido de fábrica com a linguagem BASIC, mas neste caso a Tandy licenciou para uso o Microsoft BASIC. Também como nos sistemas Z80, houve vários "níveis" de BASIC, mas os padrões foram o "Color BASIC" e o "Extended Color BASIC"; o "Disk Extended Color BASIC" vinha com a controladora de disquetes e, no caso específico do CoCo 3, o "Super Extended Color BASIC" trazia extensões acrescentadas pela Microware.
O CoCo, que podia apresentar nove cores ao mesmo tempo, foi projetado para ser ligado a um aparelho de televisão colorido (as máquinas Z80 tinham vídeo monocromático, algumas traziam o monitor embutido no próprio gabinete). O CoCo também possuía um conector de expansão para acoplar cartuchos de programas (jogos principalmente) e outros dispositivos, tais como controladoras de disquete e modems. Neste caso, tinha alguma semelhança com o Atari 400/800/2600 e outros videogames e computadores compatíveis com cartuchos de ROM. A Tandy chegou a lançar uma interface para múltiplos cartuchos que permitia ao usuário selecionar rapidamente um entre quatro cartuchos acoplados; conceitualmente, esta interface era similar à interface de expansão do TRS-80 Modelo I.
Ao contrário de alguns modelos Z80, o CoCo não vinha de fábrica com um drive de disquete embutido. O CoCo foi projetado para salvar e carregar programas e dados a partir de um simples gravador cassete. Embora lento e às vezes pouco confiável, isto tornava o CoCo mais indicado para ser usado como computador doméstico. Posteriormente a Tandy ofereceu uma controladora de disquete para ser conectada ao CoCo como um cartucho; desta forma, tanto o CoCo quanto os modelos TRS-80 mais antigos compartilhavam das controladoras de disquete série WD17xx, que faziam uso de disquetes de 35 trilhas (mais tarde, 40 trilhas), padrão da indústria naquela época.
Mesmo com o acréscimo do drive de disquete, o CoCo não teve um verdadeiro Sistema Operacional de Disco (DOS) até que terceiros o fizessem: Frank Hogg Laboratories distribuiu o TSC FLEX9 para CoCo e a Microware disponibilizou o OS-9, que era multiusuário e multitarefa. Por outro lado, o CoCo com drive de disco possuía uma ROM com o "Disk Extended Color BASIC" embutida na controladora de disquete, oferecendo ao usuário da linguagem BASIC a habilidade de salvar e carregar programas a partir do disquete, bem como armazenar e recuperar dados de diversas formas no disquete.
Entre os cartuchos de expansão disponíveis para o CoCo pode-se citar, entre outros: um sintetizador de som/voz (que facilitava a acessibilidade ao CoCo por parte de usuários portadores de necessidades especiais), um modem com velocidade de 300 bps, um cartucho com conector RS232, uma controladora de disco rígido, um adaptador musical stéreo, uma controladora de disquete e uma mesa digitalizador. O CoCo foi também o primeiro computador da Tandy a possuir um mouse disponível especialmente para ele.

## Descrição das diferentes versões

Existiram três versões do Color Computer:

### Color Computer 1 (1980-1983)

A versão original do Color Computer foi montada em um grande gabinete cinza-prata, com um teclado do tipo "chiclete" (semelhante ao das calculadoras) e com memória de 4K (modelo 26-3001), 16K (26-3002) ou 32K (26-3003). Todas as versões vinham com o Microsoft Color BASIC instalado ou, opcionalmente, o Extended Color BASIC desde que a máquina tivesse pelo menos 16K de memória. Por usar um televisor colorido comum como monitor, a saída de TV era a única conexão disponível para vídeo.
O teclado das primeiras versões do CoCo 1 era circundado por uma área na cor preta, a plaqueta de identificação "TRS-80" ficava à esquerda do teclado e uma indicação da quantidade de memória RAM ficava à direita do gabinete. Versões posteriores tiraram a área negra que circundava o teclado e a indicação da memória RAM, movendo a plaqueta de identificação "TRS-80" para a parte central do gabinete.
As versões iniciais do CoCo eram expansíveis para até 32K mediante a colocação de dois bancos de memória de 16K e a adição de alguns jumpers e fios. A versão seguinte da placa-mãe extinguiu a opção de RAM de 4K e a expansão para até 32K era possível a partir de um chip de memória de 64K "metade-ruim". Estas placas tinham jumpers com uma indicação "High/Low" para determinar qual metade do chip de memória estaria boa. Essa medida inicial de redução de custos era transparente para o programador BASIC, uma vez que apenas 32K de memória RAM estavam disponíveis; no entanto, à medida que a porcentagem de chips de memória bons aumentou e os custos de produção baixaram, muitos - talvez a maioria - dos chips de memória dos CoCo 1 produzidos eram, de fato, de 64K perfeitamente bons; assim, muitos utilitários e programas começaram a tirar proveito dos 32K "ocultos".
Inclusive, versões posteriores do CoCo 1 abandonaram por completo a opção de 32K de memória e passaram a estar disponíveis em versões de 16K ou 64K. Todas as versões que vinham com o Color BASIC padrão podiam ser atualizadas para o Extended Color BASIC simplesmente com a colocação de uma ROM em um soquete vazio existente na placa-mãe.
Até o final da produção do CoCo 1, alguns modelos foram montados em um gabinete branco e teclado modificado, denominado "derretido" por possuir teclas maiores que davam ao usuário a sensação de estar pressionando goma. Mais ou menos na mesma época, outro CoCo com gabinete branco, o TDP-100, foi produzido pela Tandy Data Products (TDP) e comercializado através de uma outra rede de distribuição. Com exceção da plaqueta de identificação e do gabinete, o TDP-100 era totalmente idêntico ao CoCo 1. O TDP-100 tinha ranhuras para ventilação que percorriam toda a dimensão longitudinal do gabinete, ao invés de existir apenas nas laterais. Este modelo de ventilação foi posteriormente adotado para o CoCo 2.
Um bom número de periféricos estava disponível: gravador de fita cassete, impressoras seriais, uma unidade de disquete de 5-1/4", caneta e mesa digitalizadora (chamada "X-Pad"), geradores de voz e sons e joysticks.

### Color Computer 2 (1983-1986)

Enquanto ocorria a produção do CoCo 1, muitos dos circuitos de suporte discreto foram reprojetados para constituírem circuitos integrados próprios, o que fez com que, ao final, muitas áreas da placa-mãe do CoCo 1 ficassem vazias. Para reduzir, então, os custos de produção, o gabinete foi reduzido em cerca de 25%, a fonte de alimentação foi diminuída e a placa-mãe redesenhada. Fisicamente foi mantido o teclado "derretido" e adotadas as ranhuras de ventilação do TDP-100. Apesar da nova aparência e da eliminação da fonte de 12 volts para o conector de expansão, o computador continuava 100% compatível com a versão anterior. No entanto, a exclusão da fonte de alimentação de 12 volts prejudicou o uso de alguns periféricos, entre eles a controladora de disquete original, que precisou então ser atualizada, instalada em uma interface para múltiplos cartuchos ou ser diretamente conectada a uma fonte de alimentação externa.
Durante a produção do CoCo 2, a fabricação foi parcialmente transferida para a Coreia (muitos proprietários de máquinas fabricadas na Coreia se referem a estas como "KoKo's"). Para aumentar a confusão [histórica], a produção dos Estados Unidos e da Coreia ocorreram em paralelo e usaram os mesmos códigos de catálogo, apesar de poder ter havido algumas diferenças, se é que houve, entre os CoCo's 2 americanos e os coreanos.
Foram também disponibilizados algumas ROM's da linguagem BASIC para acrescentar características menores e corrigir alguns bugs. Também foi reprojetada a controladora de disquete, para operar em 5 volts, e, com ela, introduzida uma ROM contendo o novo Disk BASIC (versão 1.1), que tinha por novidade o comando "DOS", usado para inicializar o sistema operacional OS-9 da Microware. Este sistema operacional exigia 64K de memória RAM.
Mais tarde, a produção eliminou o teclado "chiclete" e adotou um novo estilo de teclado; finalmente estava disponível um teclado semelhante ao de uma máquina de escrever elétrica. Muitos dedos doloridos festejaram...
A mudança significativa final na vida do CoCo 2 veio com os modelos 26-3134B, 26-3136B e 26-3127B, respectivamente com 16K padrão, 16K estendido e 64K estendido. Internamente estes modelos foram redesenhados para empregar o Motorola MC6847T1, um VDG melhorado. Este VDG permitia o uso de letras minúsculas e a habilidade de alterar a borda da tela de texto. Infelizmente, essas características não foram usadas por razão de compatibilidade e não foram ativadas no BASIC.
Durante a produção destes últimos CoCo's 2, no meio do caminho, a plaqueta de identificação foi alterada: ao invés de ler-se "Radio Shack TRS-80 Color Computer 2" passa-se a ler "Tandy Color Computer 2" e os quadradinhos vermelho, verde e azul são substituídos pelos paralelogramos vermelho, verde e azul.

### Color Computer 3 (1986-1991)

Em meados dos anos oitenta, ficou óbvio que o CoCo estava atrás dos concorrentes. Assim, em 30 de julho de 1986, a Tandy anunciou o Color Computer 3. Este novo modelo da linha Color Computer tinha a intenção de competir com os sistemas Commodore Amiga e Atari ST. Vinha com 128K de memória RAM, sendo expansível até 512K. A cor ao redor do teclado e na porta plástica da entrada de cartucho foi mudada de preto para cinza. A disposição do teclado foi revisada, dispondo as teclas de seta, usadas para navegação, na forma de diamante e agregando as teclas CTRL, ALT, F1 e F2. Foi vendido por US$ 219,95 nas lojas Radio Shack e centros da Tandy Computer; pouco depois de seu lançamento, já podia ser comprado por US$ 169,00 na Computer Plus, durante a RainbowFest de Princeton (17 a 19 de outubro de 1986).
O CoCo 3 era compatível com a maioria dos periféricos do CoCo 2, bem como com a maioria dos programas antigos. Possuía um chip ASIC, chamado "GIME" (=graphics interrupt memory enhancement), que substituiu os gráficos e o hardware de memória dos CoCo's 1 e 2. Este chip acrescentou novos modos de vídeo aos modos anteriores baseados no VDG dos CoCo's 1 e 2:
* Saída para um monitor de vídeo composto ou monitor RGB análogo, em adição às saídas de TV existentes nos CoCo's 1 e 2 (isto auxiliava muito na clareza de definição das imagens apresentadas);
* Uma unidade de gerenciamento de páginas de memória que dividia o espaço de endereçamento de 64K do processador 6809 em oito páginas de 8K cada. Embora estas páginas de 8K fossem consideradas como exagero por muitos programadores, o modelo pôde, mais tarde, ser dividido em até 256 páginas de 8K cada quando terceiros passaram a disponibilizar upgrades de RAM que atingiam 2MB;
* Texto com letras minúsculas reais, com 32, 40, 64 ou 80 caracteres por linha e entre 16 e 24 linhas por tela;
* Os atributos dos caracteres de texto incluem 8 cores de texto e 8 cores de fundo, além de sublinhado e piscante;
* Novas resoluções gráficas de 160, 256, 320 ou 640 pixels horizontais por 192 a 255 pixels verticais;
* Até 16 cores simultâneas em uma paleta de 64 cores possíveis (podendo, contudo, ser empregados truques de programação para exibir mais que as mencionadas 16 cores).
Foram eliminados do GIME os modos semigráficos pouco usados permitidos pelo SAM: modos 8, 12 e 24. Fala-se ainda, nos detalhes da especificação original da Tandy para o GIME, de um modo de 256 cores, mas este nunca foi encontrado pelos hackers.
As versões anteriores da ROM do CoCo foram licenciadas da Microsoft. Nesta época a Microsoft não estava muito interessada em ampliar o código ainda mais. Em seu lugar, a Microware proporcionou extensões para o Extended Color BASIC para que suportasse os novos modos de exibição. Para não violar o acordo de licenciamento celebrado entre a Microsoft e a Tandy, o software original do BASIC da Microsoft vinha instalado na ROM do CoCo 3, mas, ao ser ligada a máquina, a ROM era copiada para a RAM e completada pelo código da Microware. Embora isto tenha sido um jeito inteligente de acrescentar características ao BASIC, trouxe também alguns inconvenientes: o código adicional possuía vários bugs e o suporte para muitas características do novo hardware era incompleto.
A Microware também disponibilizou uma versão do sistema operacional OS-9 Nível 2 pouco depois do lançamento do CoCo 3. Este sistema operacional oferecia mapeamento de memória (cada processo tinha seu próprio espaço de memória de até 64K); uma GUI que apresentava diversas janelas; e um ambiente de desenvolvimento mais extenso que incluía uma cópia do BASIC09, que vinha com o sistema operacional. Também estavam disponíveis compiladores C e Pascal. Vários membros da comunidade OS-9 do CoCo 3 melhoraram o OS-9 Nível 2 a pedido da Tandy, porém esta parou a produção do CoCo 3 antes que a melhoria fosse lançada oficialmente. A maioria das melhorias feitas no NitrOS-9 (uma importante recompilação do OS-9/6909 Nível 2 para o CoCo 3) objetivou tirar vantagem da velocidade e características acrescentadas pelo processador Hitachi 6309, que podia substituir o Motorola 6809.
O 6809 nos CoCo's 1 e 2 rodava a 0,895 MHz; o CoCo rodava essa freqüência por padrão, mas era possível duplicar essa velocidade através do software e o OS-9 sabia aproveitar essa capacidade (alguns modelos de CoCo 1 e 2 também tinham a capacidade de rodar nessa velocidade mais alta, mas não se oferecia qualquer suporte ou garantia).
Um acessório popular era um adaptador de joystick de alta resolução, projetado pelo "mago do software" Steve Bjork. Enquanto aumentava a resolução da interface do joystick/mouse a uma razão de dez, por outro lado consumia muito tempo da UCP. Tanto isto é verdade, que muitas vezes era melhor deixar o ponteiro do mouse descansando no canto superior esquerdo da tela para poder acelerar o processamento. Uma versão modificada desta interface foi incluída com um pacote de software distribuído pela Colorware de Dave Stamp, chamado "CoCo-Max 3". Este programa era uma cópia virtual do MacPaint, mas acrescentava suporte para gráficos coloridos. Era um produto muito desejado pelos usuários do CoCo que, combinado com um editor de textos semelhante ao MacWrite, chamado "Max-10" (internamente chamado "MaxWrite"), também de Dave Stamp, proporcionou muito da funcionalidade de um Apple Macintosh, mas com gráficos coloridos e um custo bem menor.
Embora o CoCo 3 tenha oferecido muitas melhorias e tenha sido bem recebido, não ficou isento de problemas e decepções. Segundo o que foi concebido inicialmente, o CoCo 3 tinha muita aceleração de hardware e melhoria de som. No entanto, políticas internas fizeram com que o design não aparentasse uma ameaça para o Tandy 1000; desta forma, limitou-se o potencial da plataforma como um console de jogo. As primeiras versões do GIME tinham problemas de sincronização com a DRAM e causavam o congelamento do sistema inesperadamente. Devido aos bugs existentes no GIME, algumas características problemáticas foram apontadas nos manuais de programação e reparação como "reservadas" ou "não usadas".
A fonte de alimentação era frágil e algumas superaqueciam quando necessitavam oferecer uma carga adicional para todos os chips de 512K de DRAM instalados. Alguns proprietários do CoCo 3 optaram por acrescentar um pequeno ventilador dentro do gabinete para mantê-lo fresco e, assim, muitas unidades funcionaram perfeitamente por muitos anos.

## Protótipos e versões raras

Vários protótipos do CoCo apareceram no decorrer dos anos. Na década de 1980, as lojas RadioShack vendiam um teclado que podia ser acoplado diretamente em um CoCo 2, embora não fosse classificado como tal. Este teclado fazia parte de produto que nunca chegou a ser produzido: o Deluxe Color Computer. O manual do CoCo faz menção a esse modelo informando que possui teclas extras, vídeo com letras minúsculas e a habilidade de aceitar comandos em letras minúsculas. As versões mais tardias do CoCo 2 (cuja plaqueta de identificação apresenta "Tandy" ao invés de "TRS-80") tinham a habilidade de apresentar letras minúsculas reais, mas não aceitavam comandos em letras minúsculas (embora esta capacidade tenha se tornado possível depois através do A-DOS, uma ROM substituta para a controladora de disquete, fabricada por terceiros).
Já os CoCo 3 produzidos são apresentados com diferentes placas de circuito e chips instalados. Em 2005, um raro protótipo do CoCo 3 surgiu e foi apresentado na CoCoFest de Chicago. Este protótipo é único por conter uma controladora de disquete embutida no gabinete (e possivelmente outros itens ainda não identificados). Ele também não possuía um chip GIME; ao invés, toda a funcionalidade do GIME era repassada para chips separados. Registra-se um esforço feito pelos hobbystas em empregar técnicas de engenharia reversa nestes chips visando produzir, finalmente, um GIME moderno.
Há também um protótipo do CoCo que contém uma interface Ethernet; esse protótipo apresenta o layout da placa de 1984 e algumas outras placas misteriosas ainda não identificadas. Existem evidências de que a Tandy abandonou a interface Ethernet no último minuto: um anúncio mencionando opções de rede para alguns computadores Tandy baseados no Z80 afirma que logo será possível também ao Color Computer ter capacidade de rede; e o manual impresso de uma versão de upgrade do OS-9 Nível 1 aponta uma seção de redes no índice, mas não se encontra o texto correspondente no corpo do manual.

## Clones e primos do Color Computer

Mundialmente, foram lançados diversos clones dos CoCo's 1 e 2 (não há informações de clones compatíveis com o CoCo 3):
O mais ilustre de todos foi o Dragon, um clone britânico produzido pela Dragon Data Ltd., nos modelos de 32 e 64 kbytes de RAM. O Dragon era uma unidade melhorada, possuindo uma saída de vídeo adicional à saída para televisão (muito semelhante aqui ao CoCo 3), uma porta paralela Centronics para impressora (ausente nos demais CoCo's), uma porta serial integrada com UART 6551A (no Dragon 64) e um teclado bem melhor.
Uma empresa americana, a Tano Corporation, de New Orleans (Louisiana), tentou importar essas máquinas para os Estados Unidos, mas não obteve êxito. Em razão disso, em 1983, uma versão do Dragon foi licenciada para fabricação pela própria Tano, para atender o mercado norte-americano.
No México, o Micro-SEP1600 (também conhecido como Tanya-1600), um clone do CoCo2 com 64K de memória, foi lançado pela Secretaria de Educação. Tal máquina foi desenvolvida para ser nacionalmente distribuída para todas as escolas secundárias públicas daquele país e apresentada com um projeto do Centro de Pesquisas e Estudos Avançados (CINVESTAV) do Instituto Politécnico Nacional (IPN); mas se este computador foi realmente "projetado" por este Instituto ou licenciado a partir do projeto original, isto não resta tão claro. Como o Dragon, este computador também incluía uma saída de vídeo.
A Sampo, uma empresa sediada em Taiwan, também produziu um clone do CoCo, o Sampo Color Computer. Não se sabe, porém, se alguma vez esteve disponível fora de Taiwan.
Há registros, também, de clones do CoCo na Espanha, através da Eurohard, que produziu os modelos Dragon 200 e Dragon Professional; e, ao que parece, no Japão, com diversos modelos produzidos pela Fujitsu (FM-7, FM-77 etc) e talvez pela Hitachi.
Um "primo" do CoCo, o MC-10 (também chamado "Micro Color Computer"), foi comercializado nas lojas RadioShack como um computador de baixíssimo custo para iniciantes. Lançado em 1983, era similar na aparência ao Timex Sinclair. Embora usasse o VDG MC6847 e o Microsoft BASIC, empregava como processador o Motorola MC6803. Houve também um obscuro clone brasileiro do MC-10, o Sysdata TColor, fabricado pela Sysdata.
No Brasil, entre os anos de 1983 e 1986, foram lançados diversos clones: o CD6809 (Codimex), o Color64 (LZ/Novo Tempo), o CP400 Color e o CP400 Color II (Prológica), o MX-1600 (Dynacom) e o VC50 (Varix). Uma outra fabricante popular de microcomputadores daqueles anos, a Microdigital, planejou o lançamento de outro clone, o TKS800; chegou a ser apresentado em Feiras de Informática, mas nunca chegou a ser de fato lançado no mercado (ver vaporware).
Seja como for, o mais popular desses clones brasileiros foi o CP400, que chegou a ser produzido em modelos com 16 e 64 kbytes de memória RAM e, adquirida à parte, uma unidade controladora de discos, que comportava até dois acionadores de disquete, denominada CP450, permitindo assim ao CP400 rodar o Sistema BASIC Disk DOS400, além de outros sistemas operacionais mais poderosos como o OS-9 e o Flex9.

## Projeto do Hardware e Circuitos Integrados

Internamente, os modelos CoCo 1 e CoCo 2 eram funcionalmente idênticos. A base do sistema era virtualmente idêntica ao projeto de referência incluído na planilha de dados do Motorola MC6883 e consistia de 5 chips de integração de larga escala (LSI):
* A unidade microprocessadora (UCP) MC6809E (UCP);
* O multiplexador de endereçamento síncrono (SAM) MC6883/SN74LS783/SN74LS785;
* O gerador de exibição de vídeo (VDG) MC6847;
* Dois adaptadores de interface de periféricos: chip MC6821 ou MC6822.

### O SAM

O SAM é um dispositivo de múltiplas funções que realiza as seguintes tarefas:
* Geração e sincronização do relógio para a UCP 6809E e para o VDG 6847;
* Controle e reatualização de até 64K da memória dinâmica de acesso aleatório (DRAM);
* Seleção de dispositivos baseada no endereço de memória da UCP para determinar se o acesso da UCP é à DRAM, ROM, PIA, etc.;
* Duplicação do contador de endereços do VDG para "alimentá-lo" com os dados que está aguardando.
O SAM foi projetado para substituir, em um só circuito integrado, numerosos chips menores do tipo LS/TTL. Seu principal objetivo era controlar a DRAM, porém, como descrito acima, também integrava algumas outras funções. Geralmente era conectado a um cristal oscilando quatro vezes acima da freqüência do codificador de cores do televisor (14,31818 MHz para os países que adotam o sistema NTSC). O SAM também dividia o relógio principal em 16 (8 em alguns casos) para o relógio de duas fases da UCP, isto é 0,89 MHz em NTSC (ou 1,8 MHz quando dividido por 8).
Ajustar o SAM para operar a 1,8 MHz dava à UCP o mesmo tempo usado normalmente pelo VDG e a reatualização [da DRAM]; como efeito colateral, o vídeo apresentava "sujeira". Este modo era raramente usado; no entanto, havia um modo disponível no SAM, pouco usual, chamado "Modo Dependente do Endereço", onde a leitura da ROM, visto que não usava a DRAM, ocorria a 1,8 MHz enquanto que o acesso regular da DRAM ocorria a 0,89 MHz. Logo, uma vez que o interpretador BASIC rodava a partir da ROM, a máquina colocada neste modo praticamente dobrava o desempenho dos programas escritos em BASIC, mantendo a boa exibição do vídeo e a reatualização da DRAM. Obviamente, isto destruía os ciclos de sincronização do software e as operações de entrada/saída eram afetadas. Apesar destes problemas, a instrução "Poke de alta velocidade" foi usada por muitos programas em BASIC, efetuando um "overclock" no hardware do CoCo que estava ajustado para operar a 1 MHz.
O SAM não possuía qualquer conexão ao barramento de dados da UCP. Em razão disso, foi programado de uma forma curiosa: seu registro de configuração de 16 bits foi distribuído através de 32 endereços de memória (FFC0-FFDF); escrevendo-se bytes pares, o registro correspondente era ajustado para 0 e escrevendo-se bytes ímpares, era ajustado para 1.
Devido às limitações do processador de 40 pinos, o SAM continha, duplicado em relação ao VDG, um contador interno de endereços de 12 bits. Normalmente os ajustes do contador estavam dispostos para duplicar o modo de exibição de vídeo do VDG. Entretanto, isto não é necessário e resultava na criação de alguns novos modos de exibição de vídeo não possíveis quando se um sistema usava apenas o VDG. Com efeito, ao invés de o VDG ler pessoalmente os dados da memória RAM, era "alimentado" com os dados da cópia interna do SAM, que armazenava o contador de endereços do VDG. Este processo era chamado pela Motorola de "interleaved direct memory access" (IDMA), isto é, "acesso direto de memória intercalada", e assegurava que o processador e o VDG sempre tivessem acesso completo a este recurso de memória compartilhada, sem estados de espera ou contenção.
Havia duas versões de SAM: a primeira foi etiquetada como MC6883 e/ou SN74LS783; a segunda, SN74LS785. Entre estas duas versões existiam algumas pequenas diferenças quanto a sincronização, mas a principal diferença era o suporte de um contador de reatulização de 8 bits na versão 785. Isto permitiu o uso de DRAM's econômicas de 16K por 4 bits e algumas de 64K por 1 bit. Algumas atualizações promovidas por terceiros, que usavam DRAM's de 256K para implementar memória com bancos comutáveis (revezamento de bancos), precisavam deste contador de 8 bits de reatualização de memória para poderem funcionar a contento.

### O VDG

O MC6847 era um gerador de vídeo relativamente simples se comparado com outros geradores de vídeo de alguns microcomputadores de 8 bits rivais do CoCo. O MC6847 era capaz de exibir texto e gráficos contidos dentro de uma matriz retangular de 256 pixels de comprimento por 192 pixels de altura. Era capaz de apresentar 9 cores: preto, verde, amarelo, azul, vermelho, cinza-claro (quase, mas não totalmente branco), ciano, magenta e laranja.
O modo de baixa resolução da tela era totalmente necessário para o CoCo uma vez que este normalmente empregava um aparelho de televisão como monitor de vídeo. Se a exibição da imagem fosse maior se corria o risco de cortar caracteres em razão do overscan do televisor. Por outro lado, se os pontos da tela fossem menores, a imagem poderia facilmente exceder a resolução do televisor, tornando inútil tal artifício.

#### Exibição Alfanumérica e Semigráfica

O CoCO era fisicamente configurado para que sua tela inicialmente começasse no modo "Semigráfico 4".
No modo alfanumérico, cada caractere possuía 5 pontos de comprimento por 7 de altura, em uma matriz quadrada de 8 pontos de comprimento por 12 de altura. Este modo de exibição consumia 512 bytes de memória e permitia 32 caracteres por linha e 16 linhas por tela (ou seja: 16 linhas x 32 caracteres).
A exibição alfanumérica possuía dois conjuntos de cores (colorset). O padrão usado pelo CoCo apresentava caracteres em preto sobre fundo verde; o outro apresentava caracteres pretos sobre fundo laranja. A seleção do conjunto de cores não afetava os caracteres semigráficos. A borda da tela neste modo sempre era apresentada na cor preta.
A ROM interna do gerador de caracteres comportava tão somente 64 caracteres, de modo que não proporcionava caracteres minúsculos. Assim, as letras minúsculas eram "simuladas" invertendo-se a cor dos caracteres; enquanto as letras maiúsculas eram apresentadas em preto sobre fundo verde, as minúsculas eram apresentadas em verde sobre fundo preto.
O semigráfico 4 era um modo de exibição híbrido em que os caracteres alfanuméricos e alguns gráficos rudimentares (quadrados grosseiros combinados em uma matriz 2x2) podiam aparecer conjuntamente em uma mesma tela. Quando o oitavo bit de um caractere estivesse habilitado, então ele seria considerado como caractere semigráfico; se estivesse desabilitado, seria um caractere alfanumérico. Quando o oitavo bit estava habilitado, os três bits seguintes determinavam a cor e, os últimos quatro, que "quadrantes" do caractere seriam da cor selecionada ou da cor preta. O modo semigráfico era o único modo em que era possível exibir na tela, simultaneamente, todas as 9 cores, sem a necessidade de truques dissimulados. Se se desejasse exibir apenas caracteres semigráficos, a tela podia se converter em um modo "gráfico" de baixíssima resolução, de 64 colunas por 32 linhas, com 9 cores simultâneas possíveis.
O CoCo oferecia vários comandos em sua linguagem BASIC para manusear a tela como um modo gráfico de baixa resolução.
Outro modo de exibição do MC6847 era o Semigráfico 6, onde dois bits selecionavam uma cor e 6 bits determinavam quais dos 6 blocos do caractere semigráfico eram apresentados. Neste modo, apenas 4 cores eram possíveis, porém o bit do conjunto de cores do VDG podia selecionar apenas 1 entre 2 diferentes grupos de 4 cores. Este modo não foi implementado no CoCo.

#### Modos Semigráficos Adicionais

Configurando o SAM de tal modo que ele cresse que estava exibindo em modo gráfico total, mas deixando o VDG em modo alfanumérico ou semigráfico 4, era possível subdividir a matriz do carácter em blocos menores. Isto criava os modos semigráficos "virtuais" 8, 12 e 24. Nestes modos era possível mesclar bits e partes de diferentes caracteres de texto assim como de caracteres do semigráfico 4. Estes modos se constituíam em interessante curiosidade, mas não eram usados freqüentemente, pois a tela semigráfica 24 consumia 6.144 bytes de memória. Tais modos de tela não foram implementados no CoCo 3.
Um manual de referência de programação para o CoCo afirma que, devido a um incêndio nos laboratórios de pesquisa da Tandy, os relatórios que documentavam os modos semigráficos foram perdidos e, em razão disto, não foram mais reelaborados. Entusiastas do CoCo recentemente criaram programas e, através de engenharia reversa, foram capazes de reconstruir a documentação faltante acerca destes modos.

#### Exibição Gráfica

Havia vários modos gráficos totais, que foram divididos em duas categorias: "gráficos de resolução" e "gráficos de cor".
Nos modos de resolução, cada pixel era direcionado como habilitado ou desabilitado. Havia dois conjuntos de cores disponíveis, sendo o primeiro de pontos negros sobre fundo verde e borda verde. Os gráficos de resolução tinham 8 pixels por byte e estavam disponíveis em densidades de 128x64, 128x96, 128x192 e 256x192.
Nos modos de cor, usados mais freqüentemente, tinham-se pontos brancos sobre fundo negro e borda branca. Nos modos de cor, cada pixel era representado por 2 bits, selecionando 1 entre 4 cores. Novamente, a entrada do conjunto de cores para o VDG determinava quais cores seriam usadas. O primeiro conjunto de cores tinha borda verde e disponibilizava as cores verde, amarelo, vermelho e azul; o segundo conjunto de cores tinha borda branca e disponibilizava as cores branco, ciano, magenta e laranja. Os gráficos de cor tinham 4 pixels por byte e estavam disponíveis em densidades de 64x64, 128x64, 128x96 e 128x192.
O tamanho máximo de uma tela gráfica era de 6.144 bytes.

#### Cores Artificiais

Há uma curiosa observação sobre o modo gráfico de 256x192 de 2 cores: devido às limitações do sinal NTSC e da relação de fase entre o relógio do VDG e a freqüência do colorburst, não era realmente possível exibir confiavelmente 256 pontos na tela. No primeiro conjunto de cores, onde se disponibilizava os pontos verdes e pretos, ao se alternarem as colunas de cor verde e preto não se distinguiam como cores separadas e, assim, se fundiam em uma só cor verde-escura. Por outro lado, quando se usava o conjunto de cores branco e preto, ao invés de um cinza claro se obtinha a cor vermelha (verde no sistema PAL-M) ou azul celeste; e invertendo a ordem dos pontos alternativos, se obtinha a cor oposta.
Em razão disso, as cores artificiais se convertiam em um modo gráfico de 128x192 pixels, com 4 cores disponíveis: preto, vermelho (verde), azul e branco. A maioria dos jogos para o COCo fizeram uso deste modo porque as cores aí disponíveis eram mais interessantes que aquelas proporcionadas pelos modos comuns de 4 cores do hardware.
Infelizmente, o VDG podia internamente iniciar o sinal do relógio de forma ascendente ou descendente e, assim, os padrões de bits que representavam o vermelho e o azul nem sempre resultava nas cores esperadas. Com efeito, a maioria dos jogos para o CoCo começava com uma tela de título e convidava o usuário a pressionar a tecla "Reset" até que as cores estivessem corretas. O CoCo 3 resolveu o problema, fazendo com que o sinal do relógio iniciasse sempre da mesma forma (e quando se pressionasse "F1" durante o "reset", se selecionava a outra forma de se iniciar o sinal).
Quando se ligava o CoCo 3 a um monitor RGB analógico, os padrões de pontos pretos e brancos não produziam cores artificiais; com efeito, para ver tais cores, era necessário usar um aparelho de televisão ou um monitor de vídeo composto.

#### As letras minúsculas e o MC6847T1

O MC6847 era capaz de usar um gerador de caracteres externo. Vários kits de terceiros eram disponíveis como Add-Ons, permitindo ao CoCo apresentar caracteres com letras minúsculas reais.
Tardiamente o CoCo 2 passou a ser produzido com um VDG aperfeiçoado chamado MC6847T1. Incluía um gerador de caracteres minúsculos e a capacidade de exibir a borda verde ou laranja na tela de texto. Outras mudanças visavam principalmente reduzir o número de componentes, incorporando a ele uma série de dados internos. Infelizmente, a capacidade deste VDG empregar letras minúsculas não estava ativa por padrão e nem mesmo era mencionada no manual. Apenas com muita experiência e pesquisa tal característica foi descoberta pelos intrépidos usuários do CoCo.
O MC6847T1 também era encontrado sob a seguinte identificação: XC80652P.

### Os PIA's

Todos os modelos do CoCo vinham com dois microprocessadores PIA (Periferal Interface Adapter - Adaptador de Interface de Periféricos). Os PIA's eram dedicados principalmente às operações de Entrada/Saída, tais como controle do conversor digital-analógico (DAC) interno de 6 bits, leitura do estado do comparador de voltagem do DAC, controle do relê do motor do gravador-cassete, leitura da matriz do teclado, controle dos pinos de controle dos modos do VDG, leitura e gravação da porta de entrada e saída serial RS-232, controle dos multiplexadores analógicos internos etc. Os primeiros modelos do CoCo tinham dois microprocessadores 6821 padrão. Posteriormente, devido a mudanças no desenho do teclado, achou-se que o 6822-IIA (Industrial Interface Adapter - Adaptador de Interface Industrial) era melhor recomendado para a impedância do teclado. Pouco depois, o 6822 foi descontinuado pela Motorola, mas passou a ser produzido logo a seguir para a Tandy como um ASIC, sob a identificação especial Tandy SC67331P. Funcionalmente, o 6821 e o 6822 eram idênticos, sendo possível, em caso de defeito, substituir o 6822 pelo 6821, embora fosse necessário empregar alguns resístores pull-up externos para que o teclado pudesse operar normalmente.

### Interface para Periféricos Externos

Devido ao próprio projeto do CoCo, a UCP não encontrava nenhum estado de espera em operação manual. Isto significava que eram facilmente implementados ciclos de sincronização precisos controlados mediante software. Isto era muito importante, já que o CoCo não possuía qualquer hardware especializado em entrada e saída. Todas as operações de entrada e saída, como a leitura e gravação em fita cassete, transmissão serial, uso do teclado e a leitura da posição dos joysticks eram inteiramente controlados pelo software. Isto reduzia o custo de hardware, mas também reduzia o desempenho do sistema, já que a UCP tornava-se inacessível durante estas operações.
Por exemplo: a interface de cassete do CoCo era talvez uma das mais rápidas disponíveis naquela época (1 500 bits/segundo), mas isto ocorria em virtude de literalmente produzir ondas senusoidais geradas por software através do DAC interno de 6 bits. Enquanto isto acontecia, o CoCo não podia fazer mais nada, pois estava usando todo o tempo da UCP. De modo análogo, ao ler dados do gravador cassete, o CoCo analisava as onda e, portanto, não podia fazer mais nada, até que um erro de leitura ocorresse ou a operação se encerrasse.

## Mudanças de Hardware no CoCo 3

Funcionalmente, o hardware dos modelos CoCo 1 e CoCo 2 era o mesmo. As únicas diferenças encontravam-se no empacotamento e em certa integração de algumas funções em um pequeno ASIC. O CoCo 3 representou uma mudança radical quanto a isto. Um novo ASIC VLSI, oficialmente chamado "ACVC" (Advanced Color Video Chip - Microprocessador Avançado de Vídeo em Cores) e extraoficialmente denominado "GIME" (Graphics Interrupt Memory Enhancer - Melhorador de Interrupção de Memória Gráfica), integrou as funções do SAM e do VDG, melhorando as capacidades de ambos.
Além das melhorias gráficas mencionadas, o CoCo 3 oferecia letras minúsculas reais, capacidade para texto de 40 e 80 colunas na tela e a habilidade de rodar a 1,8 MHz sem perder o sincronismo da tela. A UCP foi substituída pela 68B09E e a PIA pelo modelo 68B21, ambas classificadas para 2 MHz.

## O CoCo e seus concorrentes

O principal concorrente do CoCo, nos Estados Unidos, eram o Commodore VIC-20 e o Commodore 64, ambos fabricados pela Commodore International, e o Atari 400 e o Atari 800, ambos da Atari. O Apple II poderia ser considerado como concorrente se não fosse um sistema mais caro e de nível superior a qualquer um dos anteriores, de modo que não se enquadrava como um concorrente direto destes no então mercado dos "microcomputadores de 8 bits produzidos para se conectarem diretamente à televisão".
Embora o CoCo empregasse o microprocessador de 8 bits mais avançado, sua potência de processamento só era possível mediante um preço significativo. Para ser vendido a um preço competitivo, o caro processador do CoCo não era vinculado a nenhum hardware especializado de vídeo ou som. Em comparação, o processador dos sistemas Commodore e Atari, derivado do 6502, era muito mais econômico. Commodore e Atari investiram em um chip especializado em sons e gráficos avançados para os jogos e consoles de vídeo-games. Usando tais circuitos especializados com um processador barato, os sistemas da Atari e da Commodore podiam executar jogos sofisticados com gráficos e sons de alta qualidade. Havia, portanto, uma compensação: uma UCP cara, que tinha muito trabalho para realizar, e uma UCP barata, suficiente para controlar os registros de seu hardware de som e vídeo.
Devemos recordar que o hardware de vídeo do CoCo foi derivado de um microprocessador projetado para gerar a exibição de tela para um terminal baseado em caracteres, sendo um dispositivo completamente subestimado. Semelhantemente, o hardware de som era algo maís que um DAC de 6 bits sob controle do software, igualmente "subestimado". Todos os gráficos e sons precisavam da intervenção direta da UCP e, embora isto fosse extremamente flexível, tornava seu desempenho muito mais lento que o de um hardware dedicado.
Os jogos lideravam as vendas como ocorre ainda hoje, mas o fraco desempenho do CoCo nos jogos atraiu pouco interesse para traduções oficialmente licenciadas de jogos populares. O CoCo 3 melhorou a capacidade gráfica e dobrou o desempenho da UCP, todavia não promoveu qualquer aceleração real ao hardware. O hardware responsável pelo som não foi alterado em absoluto. A solução era, pois, pequena e inadequada, chegando tarde demais.
Cada plataforma de computador possui um compromisso e apesar da significativa desvantagem dos gráficos e sons que o CoCo possibilitava, tinha sob o gabinete uma sofisticada UCP, com um rendimento extremamente alto. Estavam também disponíveis clones independentes de muitos jogos populares, mas muito mais importante que isso foram algumas "aplicações matadoras" para o CoCo.
Por exemplo, o CoCo Max e o Max-10 eram clones do MacPaint e do MacWrite, respectivamente; o sistema operacional OS-9 estava também disponível, proporcionando ao usuário um ambiente multiusuário e multitarefa similar ao Unix; inclusive o interpretador BASIC era um dos mais poderosos disponíveis e proporcionava ao usuário um rico conjunto de comandos de fácil uso, permitindo manipular gráficos na tela e reproduzir sons. Por outro lados, os usuários do BASIC disponível no Commodore e no Atari só podiam usar dois comandos para manusear gráficos e sons: PEEK e POKE!
Algumas das limitações de hardware foram superadas com add-ons externos, particularmente por cartuchos de expansão, alguns criados pela própria Tandy, alguns por outros fabricantes.
Podemos citar os seguintes exemplos:
* RS232 Program Pak - proporcionava uma UART RS232 real (6551A);
* Speech & Sound Pak - proporcionava um sintetizador de voz e um chip gerador de sons;
* Adaptador de Vídeo de 80 Colunas - conectado a um monintor monocromático externo, permitia a visualização de textos em 80 colunas (não era necessário no CoCo 3);
* 200 Baud Modem Pak - proporcionava um modem integrado ao cartucho;
* Controladores Avançados - permitia o uso de discos flexíveis e discos rígidos (úteis sobretudo para o OS-9);
* Interface Multi-Pak - permitia a conexão simultânea ao sistema de até 4 cartuchos como os descritos acima.

## A Divisão OS-9

Os usuários do CoCo eram divididos em dois grupos: os que usavam o sistema operacional OS-9 e os que "usavam" o Disk Extended Color BASIC (DECB). Citamos entre aspas porque muitos, se não a maioria, dos programas para o CoCO que usaram o DECB ao invés do OS-9, o usaram tão somente como um carregador e para a entrada e saída de dados do disco, manuseando o hardware diretamente em quaisquer outras tarefas. Isto era muito ruim porque tornava os programas muito dependentes do hardware. Isto significava que, se não se continuasse com cada imperfeição e atalho do projeto original do CoCo se romperia com as aplicações não baseadas no OS-9, enquanto que, com o OS-9, apenas se necessitaria reescrever os controladores de dispositivos. Este detalhe sobre compatibilidade total destruiu quase que totalmente as tentativas de se melhorar o CoCo, para que este pudesse manter a compatibilidade com os programas que consideravam diretamente o hardware. O Tomcat TC-9 de Frank Hogg se tornou um fracasso enquanto que Chris Burke estava tentando obter a simulação de todos os detalhes do hardware do CoCo e, provavelmente, destruiu todos. Um link que seria útil no arquivos de mensagens SIG OS-9 da Compuserve, de Kevin Darling, seria este, dirigido aos usuários do DECB: "Você está matando o CoCo!".
A Tandy desperdiçou uma ótima oportunidade, não se atentando para o comportamento de seus próprios clientes, usuários do CoCo: deve-se recordar que o processador Motorola 6809 de 1,8 MHz do CoCo superava em performance o Intel 8088 de 4,77 MHz, que equipava o IBM PC original; mesmo assim, as pessoas procuravam o Hitachi 6309 de 5 MHz.

## O fim de linha para o CoCo

Em 26 de outubro de 1990, Ed Juge, da Tandy, anunciou que o CoCo 3 seria retirado de sua linha de computadores. Sem um sucessor aparente, o aviso desanimou a muitos usuários leais do CoCo. Certo usuário do CoCo chegou a escrever uma carta ao então presidente da RadioShack, Bernie Appeal; para sua surpresa, o sr. Appel entrou em contato com ele por telefone para explicar-lhe detalhadamente os motivos que tinha para descontinuar o CoCo 3.
Hoje em dia os donos atuais e anteriores do CoCo concordam que a Tandy não levou o CoCo muito a sério, apesar de ter sido o computador mais vendido de sua linha por diversos anos. Ela falhou ao comercializar o CoCo como uma máquina poderosa e útil sem oferecer aos seus clientes qualquer indicação do mercado de software e hardware de terceiros que cresceu a tal ponto de torná-la insignificante.
O lançamento do CoCo 3 foi particularmente ofuscado, apesar de suas capacidades gráficas grandemente melhoradas e do suporte para monitores RGB. Os folhetos e as lojas da RadioShack igualmente apresentavam o CoCo 3 rodando jogos do CoCo 2 e ofereciam uma seleção de software extremamente limitada no tocante às novas habilidades do CoCo 3. Havia, aliás, uma demonstração oficial da RadioShack para o CoCo 3, mas poucas lojas se preocuparam em apresentá-la.
Ademais, quando o CoCo 3 foi lançado, os preços da DRAM se elevaram subitamente, tornando a atualização de memória para 512 kbytes consideravelmente mais cara que um outro CoCo 3 de 128 kbytes. Pouquíssimas lojas exibiram uma máquina com 512 kbytes ou um CoCo 3 executando jogos como o "Kings Quest" ou o "Leisure Suit Larry".

## Sucessores do CoCo (CoCo 4)

Não obstante a evidente falta de preocupação da Tandy pelo mercado do CoCo, havia rumores da existência de um protótipo do CoCo 4 nos quartéis da Tandy em Fort Worth. Vários relatos em primeira mão sobre um possível protótipo do CoCo 4 vieram de pessoas como Mark Siegel, da Tandy, e Ken Kaplan, da Microware; no entanto, não existe qualquer evidência física conhecida sobre tal máquina.
Algumas empresas independentes tentaram levantar a bandeira do CoCo, porém a falta de uma compatibilidade decente com o sistema anterior ao CoCo 3 não atraiu grande parte da comunidade do CoCo para essas novas plataformas independentes. Muitas dessas plataformas independentes executavam o sistema operacional OS-9/68k, que era muito semelhante ao OS-9. No entanto, a maior parte da comunidade do CoCo migrou para plataformas mais atuais. Alguns usuários do CoCo juraram fidelidade à Motorola e migraram para o Commodore Amiga, o Atari ST ou, ainda, o Macintosh, baseados no processador Motorola 68000. Outros passaram para micros compatíveis com o IBM PC.

### Tomcat

Os laboratórios Frank Hogg introduziram o Tomcat TC-09 em junho de 1990, que era praticamente compatível com o CoCo 3, porém estava principalmente capacitado para executar software desenvolvido para o OS-9. Uma versão posterior, o TC-70, usando um Signetics 68070, tinha considerável compatibilidade com o MM/1 e também executava o sistema operacional OS-9/68k.

### MM/1

O "Multi-Media One" foi introduzido em julho de 1990, executando o sistema operacional OS-9/68k em um processador Signetics 68070 de 15 MHz e 3 MB de RAM. Possuía uma resolução gráfica de 640x208 pixels e suporte para um modo entrelaçado de 640x416. Incluía uma interface SCSI, conversor analógico/digital e digital/analógico estéreo, uma interface opcional MIDI e, posteriormente, um soquete opcional para atualizar a UCP para um Motorola 68340, que operava em até 25 MHz. Estima-se que cerca de 200 unidades foram vendidas.

### AT306

O AT306, também conhecido como MM/1B, foi o sucessor do MM1 que usava uma UCP Motorola 68306. Foi projetado para permitir o uso de placas ISA.

### Delmar System IV e Peripheral Technology PT68k-4

A Peripheral Technology produziu um sistema Motorola 68000 de 16 MHz chamado PT68k-4, que era vendido como um kit ou como placa-mãe completa. A Delmar vendia sistemas completos baseados no PT68K-4 e os chamava de "Delmar System IV". O PT68k-4 tinha o mesmo tamanho da placa-mãe de um IBM PC, de forma que podia ser acondicionado em um gabinete normal de PC; além disso, possuía sete conectores ISA de 8 bits iguais aos usuados pelos computadores pessoais da IBM. O vídeo era proporcionado a monitores e placas de vídeo padrão IBM, como monocromático, CGA, EGA ou VGA; mas para gráficos de alta resolução, o software apenas suportava certas placas de vídeo ET4000. Parece que a maioria dos usuários deste sistema usou (ou usa) o sistema operacional OS-9, não obstante o fato de existirem diversos sistemas operacionais para ele, incluindo o REX (um sistema operacional semelhante ao FLEX) e o SK*DOS. Dan Farnsworth escreveu o REX e um interpretador BASIC bastante compatível com o DECB, porém já era inadequado e demasiadamente tarde para alcançar o interesse de muitos usuários do CoCo. Também esteve disponível uma placa chamada ALT86, que era basicamente um computador compatível com o IBM XT em uma única placa, permitindo ao usuário executar nela programas do DOS. Na verdade, era possível executar programas para o 68000 e para a placa ALT86 ao mesmo tempo, sempre que não fosse necessário acessar o barramento ISA a partir do 68000.

## Reflexões: o CoCo no século XXI

O CoCo possui atualmente uma comunidade de usuários pequena, mas muito ativa.
A maioria dos usuários do CoCo se queixava (e ainda se queixa), em alto e bom tom, da falta de suporte da Tandy. De fato, encontrar um vendedor na loja da RadioShack que soubesse mais que o preço do computador era uma questão de sorte. No entanto, também devemos recordar que as lojas e estandes de jogos que vendiam equipamentos Commodore e Atari provavelmente não eram melhores nem piores. Apesar da falta de suporte corporativo para o sistema (e talvez devido a isso), se desenvolveu uma comunidade de terceiros muito ativa, apoiada principalmente por publicações relacionadas ao CoCo. Destas, a mais popular e a mais duradoura foi a revista "The Rainbow", que oferecia produtos de hardware de empresas como Disto, do guru do CoCo, Tony DiStefano.
Muitos produtos e melhorias que a Tandy implementou pobremente ou seque implementou tornaram-se facilmente disponíveis. Talvez reconhecendo a importância da base de leitores da revista "The Rainbow", muitos sistemas CoCo, inclusive todos os CoCo 3, eram distribuídos com informações sobre a revista em suas próprias embalagens.
Ainda hoje, alguns indivíduos e pequenas empresas oferecem suporte ao CoCo e estão ativamente desenvolvendo hardware e software para ele. Empresas como Cloud-9 têm levado o CoCo 3 muito mais além do que muitos poderiam imaginar possível, com produtos como controladores de discos rígidos IDE e SCSI e atualizações de memória até 2 MB.

## Emulação

A emulação do hardware do CoCo tornou-se possível em equipamentos IBM x86 a partir de meados da década de 1990. O MESS é capaz de emular o CoCo, embora os emuladores mais populares tenham sido aqueles criados por Jeff Vavasour (ver "Links Externos"). O Mocha é um emulador baseado em ambiente Web; escrito em Java, pode emular um CoCo 2 em um simples navegador.
É importante observar que para executar a maioria destes emuladores é necessário possuir a cópia da imagem ROM de um CoCo. Geralmente os emuladores trazem informações úteis de como é possível obter a imagem ROM a partir de um CoCo. É possível encontrar imagens de ROM dos CoCo's na Internet, inclusive do clone brasileiro CP400.
Existem ainda alguns utilitários que permitem a transferência de dados de um PC para um CoCo. Ainda que os drives de disco de PC e do CoCo não sejam compatíveis entre si, os dados podem ser transferidos mediante o uso de utilitários especiais PC-CoCo que criam um arquivo de áudio no padrão .WAV. Assim, é possível conectar o cabo da interface cassete do CoCo à saída de áudio da placa de som do PC e carregar o arquivo .WAV no CoCo através do comando CLOAD ou CLOADM.

## O mistério final: 256 cores?

As primeiras informações existentes sobre o CoCo 3 afirmavam que ele poderia agregar um modo de 256 cores. Um importante funcionário da Tandy envolvido com a linha de produção do CoCo chegou a declarar que este modo foi implemento nos CoCo 3, mas que nunca foi documentado para evitar a competição com a série Tandy 1000, que eram microcomputadores compatíveis com a linha PC. Durante vários anos, muitos aficcionados do CoCo tentaram confirmar a real existência deste modo. O manual de referência técnica do CoCo 3, vendido pela Tandy, fazia algumas referências sobre a existência deste modo ou, no mínimo, apontava que ele teria existido antes de ter sido removido durante a fabricação.
Um falso modo de 256 cores pode ser obtido utilizando-se de um artifício que causa o mau funcionamento do flicker da tela; deste forma, é possível apresentar gráficos em 256 cores. Isto foi usado por alguns softwares para captura de telas do CoCo. Há ainda um programa para OS-9 que permite a apresentação de arquivos gráficos de 256 cores.
Nickolas Marentes, um programador do CoCo de longa data, tem realizado algumas pesquisas sobre este "modo secreto" e obteve algumas informações interessantes. Chris Lomont produziu um demo das 256 cores.

## Desenvolvimento Atual

Um grupo de aficcionados por computadores continua a desenvolver novos equipamentos e programas para a máquina. Nos Estados Unidos, a cada primavera, o Glenside CoCo Club, estabelecido em Chicago, organiza uma reunião denominada "CoCoFest". No evento de 2007, o clássico jogo Donkey Kong foi portado do código Z-80 original para o 6809 do CoCo pelo programador John Kowalski; através da tradução do código e uso de técnicas de emulação, o resultado final foi o jogo Donkey Kong real rodando em um CoCo 3 com 512 K de memória. Outro lançamento recente, desta vez na área de hardware, foi a placa SuperIDE da Cloud-9 Tech, a qual permite o uso de drives modernos no CoCo, incluindo memórias Flash compactas.
Está previsto para 2009 o lançamento de um pacote serial Bluetooth. Aguarda-se ainda o lançamento da placa SuperBoard que permitirá ao CoCo 3 o maior avanço jamais visto.