quarta-feira, 9 de fevereiro de 2011

[Off-topic] Nunca tive um ZX Spectrum

A primeira vez que vi um computador caseiro foi por volta de 1980 em casa de um amigo que era rico. Ele tinha uma televisão a cores, quando as emissões ainda eram a preto e branco. Tinha um gravador de vídeo onde via cassetes importadas. E tinha um pequeno computador programável em BASIC, com uma impressora. Era um luxo. Mas o que eu invejava mesmo era a Casal Boss que ele tinha para dar umas voltas no pátio da casa quando nenhum de nós tinha idade para ter carta.

Os meus primeiros contactos com programação foram no 10º ou 11º ano. Se a memória não me falha, o meu colega Arnaldo, jogador de andebol e futuro dirigente do Salgueiros, tinha uma invejável calculadora TI-51, que acho que era programável em notação polaca inversa ou qualquer coisa assim. Achei piada à coisa e ainda fiz uma experiência ou duas, mas fiquei-me por ali em termos de programação. Na altura, a minha "vocação" era a electrónica analógica.


Quando entrei para a universidade no final de 83, para um dos dois únicos cursos de electrónica que havia na altura em Portugal, a minha irmã ofereceu-me uma bela peça de electrónica japonesa que ostentava orgulhosamente a designação de Pocket Computer: era a Casio PB-100, que podia ser programada em BASIC e tinha uns fenomenais 544 bytes de RAM disponíveis para guardar até 10 programas. Essa pequena quantidade de RAM rapidamente se esgotou e escusado será dizer que aprendi o essencial sobre optimização de código naquele primeiro contacto com programação a sério.



A PB-100 tinha um display de cristais líquidos com 12 caracteres alfanuméricos, o que permitia programá-la para "falar" connosco em vez de apresentar apenas números.

A minha irmã trabalhava na Sperry Univac e, vendo o meu entusiasmo, trouxe-me dos States uma máquina revolucionária: a Casio PB-700. Era espectacular, com 4KB de RAM e um display gráfico com 160x32 pixels. Ainda guardo a minha, apesar de já não funcionar. Os meus principais feitos de programação nessa máquina foram a construção de um programa de redução de matrizes complexas e outro que mostrava uma imagem de um olho no écran, com base em ciclos FOR que desenhavam rectas. Os 4KB, depois expandidos para 8, não chegaram para tudo, evidentemente. E como não tinham maneira de fazer backups, tinha que apagar programas velhos para ter espaço para os novos. Às vezes copiava-os à mão para papel.



Tenho também que agradecer à minha irmã as primeiras experiências num computador compatível com IBM PC. Era o Sperry PC, que me fez baldar a algumas aulas para experimentar a programação gráfica, também em BASIC. Só arranjei esta imagem de um já bastante batido.


No ISEL, tive o primeiro contacto com duas máquinas icónicas. A primeira foi o TRS-80, um computador pessoal com sistema operativo CP/M e programável em Pascal, com um floppy-disk daqueles que eram mesmo floppy. Para além de ser uma excelente máquina, era bonita. Não arranjei uma foto do modelo que lá havia. Fica esta, que é de um modelo mais feio.



A segunda era um misterioso computador Intel, que tinha um avançado CPU 8086, permitia ligar 8 terminais, e corria um excelente sistema operativo da Microsoft: o MS-Xenix. O Xenix, sim, um flavor de Unix feito pela Microsoft, e que depois foi vendido à SCO, tendo passado a chamar-se SCO Unix... Quem se lembra ainda da aventura da Microsoft no Unix?

Enfim. Tudo isto para dizer que eu nunca tive um ZX Spectrum, o computador caseiro que saiu em Portugal por volta de 1985 e que foi o grande boom da informática doméstica por todo o mundo. Muitos adolescentes passaram horas a brincar com PEEKs e POKEs, principalmente para dar a volta a certos jogos.



Tenho dois sobrinhos pouco mais novos que eu, e que tiveram direito a um, claro. Mas por essa altura eu já andava a estudar C no Intel, uma linguagem que a minha irmã dizia que devia ser algum projecto académico sem utilidade, aconselhando-me antes a estudar COBOL. Ainda bem que não segui esse teu conselho em particular, maninha. Ganhava muito mais dinheiro mas divertia-me muito menos. :-)