|
(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), é
relacionada 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
prejudicada, 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 ALFACON.
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.
|