Sinclair ZX81
# Sinclair ZX81

O computador doméstico Sinclair ZX81, lançado pela Sinclair Research em 1981, veio em sequência ao ZX80. O gabinete era preto, com um teclado de membrana; a aparência peculiar da máquina foi obra do desenhista industrial Rick Dickinson. A saída de vídeo, como no ZX80, era dirigida para um aparelho de televisão, e salvar e gravar programas requeria o uso de gravadores de fita cassete. Tem uma grande importância histórica por ter sido o primeiro computador doméstico no mundo vendido abaixo de US$ 100 (sob a forma de "kit"), e em consequência, ter atingido um volume expressivo de unidades vendidas.

## Especificações técnicas

Da mesma forma que o Sinclair ZX80, o processador era um NEC Zilog Z80-compatível, rodando a uma taxa de 3,25 MHz. A placa de circuito impresso havia sido redesenhada com um CI desenvolvido sob encomenda, e tinha agora somente quatro ou cinco chips: o microprocessador Z80A, um chip lógico (ULA) produzido pela Ferranti ou ASIC, um chip de ROM 2364 com 8Kx8 bits e uma RAM contendo um chip 4118 com 1Kx8 bits ou dois chips 2114 com 1Kx4 bits. O "SO" em ROM tinha sido aumentado para 8 KB e o Sinclair BASIC agora dava suporte a aritmética de ponto flutuante. Logo no início, a Sinclair oferecia esta ROM aperfeiçoada como um "upgrade" para o ZX80.

### Memória

O sistema básico fornecido (por cerca de £70 no Reino Unido ou US$100 nos EUA) tinha 1 KiB (1024 bytes) de RAM. Esta RAM era usada para conservar as variáveis de sistema do computador, a imagem da tela, e quaisquer programas e dados. A tela funcionava num modo somente texto, com 32 caracteres de largura por 24 de altura. Todavia, gráficos de blocos com uma resolução de 64×48 pixéis eram viabilizados pelo comando PLOT, o qual, engenhosamente, selecionava entre um conjunto de 16 caracteres gráficos. Para conservar memória, os bytes da tela eram armazenados como cadeias de comprimento mínimo: por exemplo, se uma linha de tela tinha somente 12 caracteres de comprimento, ela seria armazenada com somente 12 caracteres seguidos pelo código de "nova linha", sendo o restante da linha assumido automaticamente como espaços em branco. Usando este conhecimento, era comum escreverem-se programas que se mantinham no lado superior esquerdo da tela, para economizar memória. Como outro recurso de economia de memória, as palavras-chave do BASIC eram armazenadas como tokens de 1 byte. Se a memória começasse a ficar reduzida, o número de linhas exibidas na tela da TV também o seria.
Mesmo com todas estas medidas de economia de espaço, a escassa memória da máquina não podia ir muito longe e então, um módulo de expansão de 16 KiB de RAM (US$100 nos EUA) foi disponibilizado. Em meados de 1982, expansões de 32 KiB e 64 KiB tornaram-se disponíveis para serem conectadas na porta de expansão da máquina (e tornaram-se conhecidas por sua notória instabilidade, bastando um leve esbarrão para que horas de trabalho de programação fossem perdidos).
Mesmo então, havia muitos jogos e aplicativos que rodavam nesse 1 KiB minimalista, incluindo um jogo de Xadrez bem básico. Não era muito difícil conhecer, entender e controlar completamente o computador, algo quase impossível nos dias de hoje.

### Armazenamento

Uma forma simples de armazenamento offline tornou-se possível usando um gravador de cassetes. Os programas eram armazenados e lidos entre 250 e 300 bps.

### Áudio

O ZX81 não possuía a capacidade de produzir som, mas, através de programação inteligente, era possível modular a interferência que o processador causava na TV, criando assim um teclado musical rudimentar.

### Vídeo

No ZX80 e ZX81, a saída de vídeo era gerada pelo chip Z80. No ZX80, quando um programa era executado, a tela escurecia até que o programa fizesse uma pausa, aguardando uma entrada. Uma melhoria do ZX81 sobre o ZX80 foi que o ZX81 tinha dois modos de operação. O ZX81 podia rodar em modo FAST ("rápido"), como o ZX80, escurecendo a tela quando um programa era executado ou no modo SLOW ("lento", cerca de 1/4 da velocidade do "rápido"), no qual o vídeo era mantido. Visto que um laço FOR-NEXT de 1 a 1000 levava 19 segundos para ser executado, era comum deixar a máquina em FAST todo o tempo, com o inconveniente de fazer a tela da TV piscar toda vez que uma tecla era pressionada em modo de edição.
O ZX81 não usava o código ASCII mas tinha seu próprio conjunto de caracteres. O caractere código 0 era o espaço, os códigos 1-10 eram usados para blocos gráficos, os códigos 11-63 correspondiam à pontuação, números e caracteres em maiúsculas. Os caracteres de 128 a 191 eram versões em vídeo inverso dos primeiros 64 caracteres. Os demais códigos representavam tokens do BASIC e códigos de controle, como NEWLINE (equivalente ao "ENTER"). Não havia caracteres minúsculos.
Dado que a tela era gerada basicamente por software na ROM do ZX81, era possível desviar a rotina do serviço de interrupção e gerar a imagem por conta própria. Vários jogos em "alta resolução" (ou seja, 256×192 pontos, em vez de 64×48) lançaram mão deste recurso, notadamente os de uma companhia chamada Software Farm.
Outra característica do ZX81 era que ele ecoava o sinal do gravador de cassetes na tela enquanto carregava e salvava programas, fazendo com que a imagem da TV mostrasse padrões ziguezagueantes.

### Teclado

Teclado de membrana (Mylar), sensível ao toque, com 40 teclas (a maioria executando de duas a cinco funções, com exceção da barra de espaço, "New line" e Shift). A tecla Shift dava acesso aos símbolos especiais, teclas de movimentação do cursor, blocos gráficos e a função "RUBOUT" (delete). As letras só podiam ser digitadas em maiúsculas.

### Periféricos

* 16 KB RAM Pack - módulo de expansão de memória.
* HRG Memopack 32 e 64 KB - módulos de expansão de memória.

### Defeitos conhecidos

Havia um defeito notório que fazia com que alguns ZX81s informassem a raiz quadrada de 0,25 como 1,3591409 em vez de 0,5. A má reputação da Sinclair pelo seu pobre controle de qualidade era menos devido a existência do defeito em algumas máquinas e mais pelo tempo que ela levava para tomar uma providência quando um defeito era descoberto. Supostamente, um artigo publicado na revista Byte nesta época, comparando a precisão matemática de vários computadores convencionais contemporâneos, bem mais caros, teria feito uma avaliação positiva do ZX81.

## Vendas

O ZX81 foi vendido em grande quantidade, até ser substituído pelo seu sucessor aperfeiçoado, o ZX Spectrum.

### Mercado actual

Equipamentos usados podem ser encontrados em sítios de leilão on-line, como o eBay e o Mercado Livre.

## Clones
### Brasil

O ZX81 foi clonado ilegalmente no Brasil por várias empresas através do uso de engenharia reversa, sendo as principais a Microdigital e a Prológica:
* CDSE: Apply 300
* Engebrás: AS-1000
* Microdigital: TK82, TK82-C, TK83 (2 KiB RAM) e TK85 (16 KiB RAM, clone do TS1500).
* Prológica: NE-Z80, NE-Z8000, CP200 (16 KiB RAM) e CP200S (16 KiB RAM).
* Ritas: Ringo R-470 (com 16 KiB de RAM, parcialmente compatível, mas com funções do teclado em teclas diferentes e gravação em High Speed a 4800bps, incompatibilizando suas gravações com os outros modelos).

### Estados Unidos

Além de ser vendido pela própria Sinclair, a partir de sua fábrica em Nashua, New Hampshire, o ZX81 foi legalmente clonado pela Timex Sinclair, uma "joint venture", que produziu o TS1000 para o mercado norte-americano. A versão básica do TS1000 era vendida com o dobro da RAM do ZX81 (ou seja, 2 KiB), e com opção de saída de vídeo RF no canal 2 ou 3 VHF em NTSC (chave sob o micro). A Timex Sinclair também produziu um clone melhorado do ZX81 chamado TS1500 que já possuia 16 KiB de RAM e gabinete maior com "teclado chiclete" como seu irmão mais velho (o Sinclair ZX Spectrum); outras diferenças era que além da opção de escolha de canais de saída (2 ou 3 VHF[RF] em NTSC no teclado e não mais numa chave sob o micro), também possuia mutiplexação da expansão de RAM: ao colocar-se uma expansão de memória em seu barramento de saída a RAM era aumentada somente no final do mapa de memória.