Spectrum TK90X(Fonte: Micro Sistemas - Setembro 1985)

ZX Spectrum: O micro dos micros

Em 1980, Clive Sinclair, um criativo cidadão inglês, lançava na Inglaterra o computador que iria  revolucionar de forma irreversível a história da microinformática no mundo todo. Tratava-se do ZX-80, um micro compacto e muito poderoso para a sua época.
              0 ZX-81 apareceu um ano depois trazendo inovações e principalmente uma maior eficiência funcional. De fato, o ZX-81 era bastante diferente do ZX-80 pois incorporava uma série de gráficos e comandos não presentes no seu antecessor. Este foi talvez o micro que mais sucesso fez no mundo todo, chegando mesmo a proporcionar ao seu criador o título de "SIR".
              A importância desse equipamento é tão grande que até o começo de 1985 ele era, no Brasil, o equipamento que dominava integralmente o mercado dos micros pequenos. Chegamos mesmo a ter cinco fabricantes de compatíveis.
              Mas o ZX-81 não era ainda o micro definitivo, pelo qual ansiavam as jovens mentes dos anos 80. Havia uma sede muito grande quanto a se ter efetivamente recursos gráficos de alta resolução e cor para se criar belos jogos. Na verdade, o ZX-81 não era, e nunca foi, um bom equipamento para se criar esse tipo de software.
              Sensível a isso, a equipe de Sir Clive criou, em abril de 1982, o ZX Spectrum com a mesma filosofia anterior, ou seja, um equipamento com alta resolução gráfica, cores, fácil de ser manuseado e de baixo preço. Talvez o desempenho da máquina não fosse o ideal, mas sem dúvida o mercado recebeu essa nova criação de braços abertos, e em meados de 1983 a produção de software para o ZX-80 e ZX-81 já tinha se encerrado de forma definitiva.
              Mas quem é realmente esse micro tão falado e tão pouco conhecido no Brasil? E isso que veremos nessa matéria.
 

O HARDWARE REVOLUCIONÁRIO

Não se pode dizer efetivamente que o Spectrum seja um micro desconhecido no Brasil. Já no decorrer de 1982 chegavam até nós as primeiras informações sobre ele, e tão logo começou a sua comercialização na Inglaterra os micros temporões entraram por vias discretas no mercado nacional. Consideramos temporões esses computadores porque somente agora, três anos e quatro meses após seu aparecimento, a indústria nacional produziu um compatível.
              Isso se deve mais à dificuldade de se criar uma estrutura para simular o integrado ULA, que é a alma do computador, do que a uma aparente falta de interesse em fabricar tal micro. A ULA (Unidade Lógica Aritmética) do Spectrum é um integrado do tipo VLSI (Very Large Scale Integration, ou integração em altíssima escala, que foi desenvolvido pela própria Sinclair Research e fabricado pela empresa inglesa Ferranti.
              As informações técnicas sobre ela ainda são muito escassas mesmo no exterior, pois o chip é de propriedade exclusiva da Sinclair Research.
              Este integrado é o responsável pelo controle do cassete, pela geração e refresh do vídeo e pelo scan do teclado. A sua participação no funcionamento da máquina é tão complexa que a simulação de seu funcionamento com componentes eletrônicos comuns é praticamente impossível.
              Vejamos, de forma simplificada, como a ULA controla o computador. Ela compõe o circuito que gera os pontos da imagem, bem como o sinal de sincronismo para a imagem em preto e branco. Além disso, estão presentes na sua única linha de saída os sinais de diferença de cor azul-amarelo e vermelho-amarelo, além do sinal de luminância.
              O acesso à área do arquivo de imagens na memória RAM, para a produção da tela de vídeo, também é comandado por ela e o seu desempenho é bastante interessante. Como a memória de vídeo é acessada pela ULA e pela UCP, o circuito interno de controle não permite que ambos o façam no mesmo momento, ou seja, quando a ULA precisa ler no arquivo e a UCP tem que escrever nele, o circuito gerador de clock dá prioridade à ULA, retirando o sinal da UCP. Poderíamos dizer que nesse momento o Z-80 "trabalha no vazio" até que a ULA termine de gerar uma tela.
              A ULA comanda também o circuito gerador de nível sonoro para as operações de leitura e gravação em cassete. A UCP (Unidade Central de Processamento) é o já antológico Z-80A com um clock de 3,5 MHz, que proporciona um desempenho muito bom a nível de programação interna do sistema.

A FUNCIONALIDADE DO SISTEMA

Trabalhar em um equipamento Spectrum é sem dúvida nenhuma uma tarefa das mais interessantes. De fato, o interpretador BASIC foi projetado para facilitar a tarefa de elaboração de programas, quer pela simplicidade das estruturas das instruções, quer pela validação sintática durante a construção das linhas. Vejamos isso mais de perto.
              O sistema operacional do ZX Spectrum é um aperfeiçoamento do sistema que permitiu ao ZX-81 alcançar sucesso mundial, ou seja, o Spectrum é na verdade um ZX-81 bastante melhorado. Isto traz como conseqüência imediata a certeza de que seu BASIC é bem menos sujeito a bugs, que na gíria de programação significa erros de funcionamento.
              Além disso, toda a excepcional operacionalidade, marca registrada dos ZX-81, está presente nesse micro revolucionário. Todas as implementações feitas nele são, de certa forma, as mais gritantes deficiências do velho 81. Linhas de multi-instrução, comandos READ, DATA e RESTORE, som, cor, repetição automática de teclas, redefinição de caracteres, etc., são sem dúvida as implementações sonhadas pelos usuários dos primeiros Sinclair.
              Surge aí, porém, a primeira grande questão: quanto existe realmente de compatibilidade entre o Spectrum e o ZX-81? A rigor apenas a semelhança de funcionamento, pois ambos são internamente bastante diferentes. Os programas em BASIC ou Assembler de um, com muita dificuldade se adaptarão ao outro, principalmente se contiverem alguma particularidade relativa à máquina, como peeks e pokes específicos. Além disso, os processos e a velocidade de gravação em fitas cassete são completamente diferentes, e portanto um programa do ZX-81 dificilmente funcionará eficientemente num Spectrum e vice-versa. Mas se não há muita compatibilidade, então por que a semelhança? A resposta parece bem óbvia: a equipe de Sir Clive Sinclair sabe, como ninguém, do que o programador amador tem mais necessidade. De fato a estrutura do BASIC Sinclair, além de permitir uma compreensão mais natural do programa, é bem mais eficiente que a do já tradicional BASIC Microsoft.
              A constituição de tecla-função, onde cada tecla corresponde a uma determinada função, foi elevada, no entanto, às proximidades do exagero. Por muito pouco o ZX Spectrum não se transformou numa monstruosa aglomeração de funções, e foi salvo disto apenas pela engenhosidade de seus criadores que idealizaram um código de cores bastante eficiente. 0 teclado, em função disso, ficou com uma aparência suigeneris: não há outro na sua classe com tais características.
              Um outro aspecto que parece ser marca registrada da Sinclair é a estrutura do arquivo de imagens. Tal como no ZX-81, a memória de vídeo do Spectrum é completamente diferente de tudo o que se conhece em matéria de equipamentos. 0 mapeamento dos pixels -cada um dos pontos que compõem uma imagem- é feito em 6 Kb de RAM e o efeito mais imediato dessa arrumação é uma alta resolução válida apenas para o ponto impresso não impresso (0 ou 1).
              A cor é um capítulo a parte, e é mapeada em uma área de atributos de apenas 3/4 de RAM, ou seja cada cor de fundo (PAPER) ou cor de impressão (INK), intensidade (BRIGHT) ou ainda de intermitência (FLASH), é relaciona­da a um dos 768 bytes dessa área de atributos. Resumindo: a impressão no vídeo é em alta resolução porém as cores, ou as diferentes cores, só podem ser tratadas em áreas estanques de 8x8 pixels, ou seja, em áreas equivalentes a um caráter.
              Além disso, a organização do display não é de uma linearidade integral. A estrutura interna estabelece que cada linha do display (são necessárias oito dessas linhas para compor uma linha de letras) seja alternada de 64 em 64 linhas. De uma forma mais simples, os primeiros 2048 bytes do arquivo (1/3 do total) referem-se apenas às primeiras oito linhas de texto do display. Essa organização se repete mais duas vezes até serem obtidas as 24 linhas para texto.
              Isso parece um pouco confuso mas basta pokear a memória de vídeo linearmente, com um valor qualquer, que o usuário logo perceberá a estrutura. É possível tentar algo do gênero: CLS: FOR A = 16384 TO 22528: POKE A, 255: NEXT A.
              A operação com cassete é bastante segura e eficiente, e a velocidade de gravação (1200 bauds) é aceitável para essa faixa de micros. Diríamos mesmo que, nessa velocidade, a gravação não é muito rápida, porém não é muito lenta como no ZX-81.

 O BASIC

Como já vimos, o ZX Spectrum está assentado num clock de 3,5 MHz, o que em termos de processador é uma boa velocidade. A performance do sistema, porém, não depende unicamente da UCP, e no caso do Spectrum há uma perda significativa do tempo de processamento quando da manipulação do arquivo de imagens pela ULA. Isso significa que o micro não é tão rápido quanto poderia ser, e que os resultados na programação irão depender muito da criatividade e experiência do programador.
              Não se pode negar, porém, que em relação ao seu antecessor houve um ganho real em desempenho, mas quem estiver migrando de outro tipo de micro que não o ZX-81, certamente irá notar a diferença.
              A linguagem BASIC residente no sistema é o já conhecido BASIC Sinclair, que possui uma estrutura toda particular de funcionalidade. Foram acrescidos comandos como PAPER, INK, BRIGHT, BEEP, DRAW, etc. para a manipulação das cores e da alta resolução, porém não há um comando que possa ser considerado realmente uma inovação nessa classe de micos.
              A utilização do BASIC, aplica-se justamente na manipulação de operações estruturadas pelos usuários com poucos conhecimentos de programação. Para aplicações mais eficientes é necessária a intervenção do Assembler. Apesar disso, em alguns casos a programação em BASIC tem se mostrado satisfatória.

 O SOFTWARE

 O software disponível para o micro Spectrum é sem dúvida nenhuma de qualidade. Baseado numa incrível quantidade, pode-se facilmente criar uma biblioteca de bons programas. A diversificação porém será um pouco prejudica­da, pois a disponibilidade de software se faz sentir com grande incidência na área do lazer eletrônico.
              De cada 10 programas lançados no mercado estrangeiro, nove são jogos e o resto é dividido entre aplicativos, utilitários e demais categorias. Isso deixa evidente que o Spectrum é um microcomputador para o lazer. Dificilmente ele se adequa a uma utilização comercial ou junto a profissionais liberais, pela sua própria constituição física, ou seja, teclado pequeno e digitação de dados lenta. Mesmo na área de jogos, as limitações da estrutura do display não permitem que os autores coloquem em cena toda a sua criatividade, e o que se vê como resultado final é que poucos programadores conseguem realmente superar as deficiências do micro. Isso talvez seja um sinal não muito bom, pois se "as feras" encontram dificuldades, os programadores mais inexperientes certamente encontrarão barreiras intransponíveis. Esse estado é certamente o preço a ser pago pelo baixo custo de produção do micro.
 

OS PERIFÉRICOS

 Existe para o Spectrum, como não podia deixar de ser, uma grande quantidade de periféricos adaptáveis a sua saída para expansão. Eles vão desde interfaces para joysticks analógicos, passando por controladores multifunção, até o famoso Micro Drive.
              Na verdade, o Micro Drive é o único periférico realmente interessante do ponto de vista de inovações, pois ele é baseado num sistema de fita cassete, porém com a eficiência de um sistema de disco. A sua incorporação ao micro significa não só uma melhor operação de leitura/ gravação, mas também uma maior disponibilidade de comandos. Com a adaptação do Micro Drive é possível criar novos comandos para o Spectrum.
              Um outro periférico digno de menção é a Discovery 1, uma interface para disco de 3 1 /2". e que acrescenta também ao micro uma saída para monitor profissional, uma conexão para joystick, uma saída para expansão e uma porta paralela padrão Centronics.
              A impressora utilizável no Spectrum é a mesma produzida para o ZX-81, notadamente a TIMEX 2040 ou ALFA­CON.
 

O TIMEX-SINCLAIR 2068

O Timex 2068 é, na verdade, uma versão americana do ZX Spectrum com algumas inovações. Uma delas é a inclusão de um processador de som específico, o AY-3-8912. Isto permite ao 2068 uma programação sonora muito mais avançada que a do Specfrum (o 2068 possui o comando SOUND no lugar do comando BEEP) porém muito mais difícil de ser feita por usuários leigos em programação.
              Outra grande diferença é o display, que no 2068 pode assumir quatro modos diferentes de operação.

MODO 1 - Normal-6 Kb para o display e 3/4 Kb para atributos
              MODO 2 - 64 colunas/2 cores-2 arquivos de 6 Kb para o vídeo
              MODO 3 - Segunda tela-dois displays de 6 Kb e 2 áreas de atributos
              MODO 4 - Ultra-alta resolução-2 arquivos de 6 Kb, um para caracteres e outro para atributos.

Com exceção do modo 1, todos os outros modos são obtidos via programação Assembler, o que torna a sua manipulação seletiva, ou seja, apenas para programadores que dominam a linguagem de máquina.
              Outra inovação interessante é a possibilidade de utilizar cartuchos EPROM. Essa é sem dúvida uma boa alternativa para programas muito solicitados, tais como os utilitários.
              Apesar dessas diferenças, 0 2068 é em essência um ZX Spectrum com uma ROM de 24 Kb (o ZX possui uma ROM de apenas 16 Kb), e isso é seu maior problema, pois a esmagadora maioria do software comercial para o Spectrum não funciona no Timex 2068, e ainda não há muita coisa disponível para o micro americano. Apesar de mais sofisticado, 0 2068 perde para o Spectrum inglês na hora da diversidade de opções do software.

Voltar