Artigos 100% compatíveis com os retro computadores TK 90X e TK 95 da Microdigital e com a linha ZX Spectrum da Sinclair.

www.retroprogramacao.blogspot.com

www.retroprogramacao.blogspot.com

06/02/2017

A história do Basic Sinclair.

O Zx Spectrum, assim como seu clone aqui no Brasil, o TK90X, foi um micro que se tornou mais conhecido entre as massas pelos seus jogos. Mas havia uma grande oferta de programas aplicativos para ele, tais como editores de textos, bando de dados, planilhas, editores gráficos, editores musicais, etc. Boa parte deles trabalhando em conjunto com interfaces que forneciam uma nova funcionalidade para o micro. Entretanto, nada se comparava à facilidade de uma linguagem de programação à disposição do usuário (uma realidade bem distante dos micros de hoje).

A facilidade com que o Spectrum podia se programado, criou uma revolução chamada "programação de quarto", onde alguns jovens puderam vender suas criações para empresas como a Ocean ao preço de um carro esportivo da época. Já outros, não tão bem sucedidos, aventuravam-se em linhas de códigos por puro prazer de programar e ver o funcionamento delas no pequeno e notável micro.

Diz a lenda, que Sinclair foi inspirado em criar o ZX80 depois de ver o prazer que seu filho teve em programar num TRS-80. Numa entrevista para um recente documentário da BBC, observou: "Percebemos que haveria um perfil de jogos para o micro, mas o primeiro apelo foi para que as pessoas colocassem as mãos em um para fazerem alguma programação eles próprios. E elas adoraram fazer! Quero dizer, as crianças principalmente. É um pouco triste ver que hoje isso não está mais disponível para elas."

Foram os dois primeiros anos do Spectrum conhecidos como a "era Basic". Muitos dos primeiros títulos da própria Sinclair foram escritos em Basic. Embora o foco principal do Spectrum foi mudado rapidamente para a utilização em jogos, a programação como parte essencial da experiência do usuário não foi perdida e, com o apoio de inúmeras revistas e de professores da época, o Basic  manteve sua esfera cativante.

Na verdade, o Basic contido no Spectrum já era a terceira versão do Basic Sinclair, seguindo as versões criadas para o ZX80 e ZX81. Todos os três foram desenvolvidos por uma empresa chamada Nine Tiles Software - e não a Sinclair, como muitos imaginavam. John Grant escreveu o Integer BASIC do ZX80 em magros 4K de memória, e o matemático Steven Vickers, de Cambridge, escreveu os BASIC para o ZX81 e depois para o Spectrum (em 8K e 16K respectivamente).

Mas o que fez o BASIC Sinclair tão especial? Tecnicamente falando, não era o melhor em oferta, pois sua capacidade de loop estava restrita a FOR ... NEXT e GOTO, e seu manejo de sub-rotinas foi ainda mais básico. Onde brilhou, no entanto, foi no seu tratamento de erros do usuário: Feedback imediato através de rotinas de sintaxe incorporadas, que não só rejeitava declarações incorretamente formatadas, mas também destacava onde os erros estavam no seu código. Isto fez do BASIC Spectrum uma linguagem muito fácil de aprender através de tentativa e erro. As cores e o som foram acessados ​​através de um pequeno número de comandos conceitualmente muito simples, tais como INK, PAPER, BRIGHT, etc (compare isto, por exemplo, ao complicado sistema de PEEKs, POKEs e CHR$ do Commodore 64). Gráficos e música eram extremamente acessíveis. Tudo isso bem descrito num manual de programação bem compreensível, elaborado por Vickers e Robin Bradbeer, cujo resultado final foi um sistema muito elaborado e orientado para persuadir o iniciante.


Até hoje, a programação permanece para muitos como um aspecto definidor do que foi ter um ZX Spectrum, principalmente porque o BASIC Sinclair foi muito bem sucedido nesta persuasão. Afinal, era isso o que BASIC deveria ser. Certamente, isso foi uma parte importante do legado do Spectrum.




Você não tem que ser um programador de computador para olhar para o BASIC Sinclair e apreciar as coisas que ele ainda pode te ensinar. Começar a lidar com o BASIC, significa ter sua cabeça focada em torno de quebrar os problemas em pequenas e muitas partes, aboradando estes um por um. A aplicação dessa habilidade são infinitas e nos ajudam em muitas outras áreas da vida.
 

O BASIC Sinclair não era a única versão do BASIC para o Spectrum. Apresentava-se ao iniciante como uma porta aberta para o mundo da programação e serviu como a ponte ideal não só para outras línguas, mas também para versões mais sofisticadas deste mesmo BASIC. 
Das muitas versões criadas, talvez o exemplo mais conhecido disso é o Beta BASIC do Dr. Andrew Wright, lançado originalmente em 1983. O Beta BASIC passou por uma série de revisões e a versão 3 apareceu em resposta ao concorrente chamado Mega BASIC (publicado pelo Your Spectrum / Your Sinclair). Logo surgiu a versão 4, que foi a versão final, lançada em 1987, adicionando recursos para o Spectrum 128. Foi o mais amado pelas revistas. O Beta BASIC foi uma extensão, e não uma substituição, do BASIC Sinclair original, tornando-o compatível com todos os programas BASIC escritos anteriormente para a máquina. No total, acrescentou algo como 100 novos comandos à linguagem, incluindo novas estruturas e comandos em loop, manipulação de procedimentos avançados, apresentação de listagem recuada e muito mais.
A versão 128 adicionou mais incríveis recursos, como o um som de interrupção com o seu novo BEEP! Comando que permitiu que a música fosse tocada enquanto outras coisas aconteciam no programa - algo que não era possível no simples BASIC Sinclair, onde a ação parava quando uma música era tocada.


Avançando para o dia de hoje, onde motivados pela nostalgia, versões avançadas do BASIC do Spectrum, como Beta BASIC, são lembrados com carinho apenas por um pequeno número de entusiastas (como eu), pois a maioria tem sua atenção voltada, em grande parte, para o original. Acredito também que isso se dê pela dificuldade em se obter literatura especializada destas versões.


Embora nos últimos anos a comunidade Spectrum tenha visto um aumento dramático no número e variedade de projetos relacionados ao Zx Spectrum, o interesse não foi desviado da programação em BASIC Sinclair como um prazer... Por exemplo, existem ainda competições anuais de jogos compilados em BASIC que estão em funcionamento desde 1996, e atraindo um grande número de participantes. É chamado de "Competição de Jogos de Crap" e muitas programas são realmente muito bons. Eu suspeito que a atração para a maioria, é simplesmente uma desculpa para escrever algo no BASIC novamente. 

É claro que, no século XXI, não somos tão tolerantes com o processo de programação BASIC como costumávamos ser. Atualmente, os programas são desenvolvidos em emuladores, onde salvar o seu trabalho é a tarefa de um único clique. Mas isso ficou ainda mais fácil com o desenvolvimento do BASIN (BASIC Interpreter), uma ferramenta dedicada de criação em BASIC Sinclair para Windows, criada por Paul Dunn e que permite que você insira, edite e teste o seu programa a partir do conforto de um extremamente avançado conjunto de ferramentas. O resultado final ainda é um programa em BASIC Sinclair que você pode carregar em um Zx Spectrum real. Um processo muito mais fácil.

Eu não posso terminar sem mencionar Sinclair Extended BASIC (SE BASIC). Um projeto do BASIC Sinclair desenvolvido pelo guru Andrew Owen. Este trabalho traz-nos de volta à evolução do BASIC Sinclair e apresenta-se como o próximo passo nesse processo. Andrew pesquisou BASIC do Spectrum extremamente bem, corrigindo cada bug e até mesmo encontrando espaço para inserir alguns comandos extras. Esta não é uma extensão do BASIC Sinclair no sentido de que o Beta BASIC foi, mas uma substituição real de 16K que poderá ser gravada em um chip EPROM e substituída pela ROM original de um Zx Spectrum real.


Em breve postarei alguns links interessantes.  :)



(texto adaptado com complementos do artigo de C.C. Woodcook)