Programe um Apple II no seu navegador: tutorial básico!

Sempre desejou programar um computador de época? Se você utilizar a linguagem de programação BASIC e rodar uma simulação do icônico Apple II no seu navegador, é simples! Assim, terá uma clara percepção de como era a programação no final dos anos 70 e início dos anos 80.

Naturalmente, se tiver um Apple II original, pode acompanhar igualmente. Caso contrário, usaremos um emulador do Apple II chamado Maçã ][js, criado por Will Scullin. Vamos explorar os fundamentos do BASIC e executar dois programas básicos.

A Significância do Apple II

Lançado em 1977, o Apple II surgiu como parte de uma classe de computadores compactos e acessíveis, viabilizados pela tecnologia de microprocessadores. Estes computadores pessoais possibilitaram que indivíduos possuíssem e utilizassem as suas próprias máquinas com relativa facilidade. Anteriormente, a maioria dos computadores eram dispendiosos e pertenciam (ou eram partilhados) apenas por grandes organizações.

O Apple II destacou-se pelo seu custo reduzido e gráficos coloridos. Adicionalmente, apresentava sete slots de expansão internos compatíveis com o sistema de disquete mais barato da época, o Disk II. A genialidade do co-fundador da Apple, Steve Wozniak, no design de circuitos permitiu que todas estas características fossem integradas numa pequena máquina de secretária com uma estrutura leve de plástico.

O Apple II foi um sucesso estrondoso para a Apple. Ao longo de aproximadamente 16 anos (a produção foi descontinuada em 1993), a plataforma Apple II acolheu sete versões do projeto original de computador de Wozniak. Um computador Apple II típico vinha equipado com 48 ou 64 KB de RAM e um CPU 6502 de 1,022 MHz. Todos os modelos podiam ser programados em BASIC.

Conceitos Básicos de BASIC

Desde o final da década de 1970 até ao início da década de 1980, a maioria dos computadores pessoais incluía uma linguagem de programação chamada BASIC, um acrónimo para Beginners’ All-purpose Symbolic Instruction Code. O BASIC surgiu em 1964 no Dartmouth College Time Sharing System. Rapidamente se tornou uma ferramenta educacional popular para a ciência da computação devido à sua facilidade de utilização.

O Apple II foi comercializado com duas versões principais do BASIC ao longo dos anos: o Integer BASIC de Wozniak e o Applesoft. A Microsoft criou o Applesoft muito antes de se tornar famosa pelo Windows.

Neste artigo, utilizamos o Applesoft BASIC.

Dicas de Sintaxe

Cada programa BASIC no Apple II é composto por linhas de código. Cada linha tem um número e, quando um programa é executado (RUN), o computador executa cada linha em ordem numérica, do menor para o maior. Cada linha é introduzida na memória do computador ao pressionar a tecla Return.

Estes três comandos fundamentais do BASIC serão sempre úteis.

Em qualquer momento durante a programação, pode visualizar o conteúdo do seu programa digitando o comando LIST.
Para iniciar um novo programa (apagando o programa atual da memória), digite NEW.
Para limpar o ecrã, digite HOME.

Se cometer um erro ao digitar o programa, o Apple II retornará um “SYNTAX ERROR” ao executar o programa, e incluirá um número de linha onde o erro ocorreu. Basta redigitar a linha em questão, verificando novamente se existem possíveis erros de digitação.

Entendido? Vamos começar.

O Seu Primeiro Programa

Primeiro, vamos escrever um programa muito simples que conta indefinidamente de forma crescente. É uma maneira rápida de verificar se o BASIC está a funcionar corretamente em qualquer sistema.

Se tiver um Apple II real, ligue-o. Certifique-se de que utiliza uma máquina com Applesoft em ROM, como o Apple II Plus ou posterior, ou um Apple II original com o cartão de linguagem adequado.

Se estiver a acompanhar sem um Apple II real, abra uma nova janela do navegador para o emulador Apple ][js. O Apple ][js usa JavaScript para simular a circutaria de um Apple II real em software. Basicamente, estará a executar todo um sistema Apple II num navegador da web (funciona melhor no Google Chrome).

Ao carregar o emulador pela primeira vez (ou ao iniciar um Apple II sem um sistema de disquete), verá um ecrã como o apresentado abaixo.

Pressione ou clique em “Reset”.

Ouvirá um bipe e, em seguida, verá um prompt “]” com um cursor intermitente.

No prompt, digite o seguinte e pressione Enter (ou Return) no final de cada linha:

10 X=X+1
20 PRINT X
30 GOTO 10

Se cometer um erro, simplesmente utilize a tecla de seta para a esquerda no teclado para mover o cursor para trás e efetuar as correções. Os novos caracteres que digitar substituirão os antigos. Pode também redigitar toda a linha.

Sempre que digita uma linha de código com um certo número de linha, o BASIC substitui tudo o que foi previamente armazenado nesse número de linha pela nova entrada.

Ao usar o BASIC num sistema mais antigo, como o Apple II, é comum numerar as linhas em múltiplos de 10. Isso permite-lhe espaço para adicionar novas linhas de código entre elas, mais tarde, se necessário.

Em seguida, digite LIST e pressione Enter (ou Return) para ver uma listagem do seu programa.

Se, por engano, acabar com linhas desnecessárias (por exemplo, se digitou 32 em vez de 30), basta digitar o número da linha e pressionar Enter (ou Return) para eliminá-la.

Se tudo estiver correto, é hora de executar o programa. Digite RUN no prompt ] e pressione Enter (Return).

O programa conta de forma crescente de um em um indefinidamente e imprime cada número numa nova linha na parte inferior do ecrã.

Para interromper o programa, pressione Ctrl + C. Isso irá parar o programa, interrompendo a sua execução.

Então, como funciona este programa? Vamos detalhar linha por linha:

10 X=X+1
20 PRINT X
30 GOTO 10

Linha 10: Aqui, informamos o programa que uma variável denominada “X” é igual a ela própria mais um. No início do programa, “X” é igual a zero. Portanto, na sua primeira passagem, o programa adiciona um a zero, resultando em um.
Linha 20: O programa utilizará o comando PRINT para exibir o conteúdo da variável “X” no ecrã.
Linha 30: utilizamos o comando GOTO para enviar o programa de volta para a linha 10 num ciclo. O valor da variável “X” (agora incrementado em um) é realimentado na linha 10. O programa, então, repete esse processo indefinidamente, contando de um em um e, em seguida, imprimindo o resultado em cada ciclo.

Um Programa de Entrada Simples

Agora que já experimentou como digitar, listar, executar e interromper um programa, vamos analisar um que pode fazer algo com a entrada que fornecer.

Primeiro, digite NEW e pressione Enter (Return). Isso limpa o nosso último programa da memória, para que possamos começar do zero.

Digite as seguintes linhas, uma a uma, e pressione Enter (Return) no final de cada uma:

10 PRINT "QUAL É O SEU NOME?"
20 INPUT N$
30 PRINT "OLÁ, ";N$

Quando terminar, LISTE o programa para verificar se o digitou corretamente.

Em seguida, digite RUN e pressione Enter (Return) para o executar. O programa solicitará a sua entrada com um ponto de interrogação (?). Digite o seu nome e pressione Enter (Return) para responder à pergunta.

Como uma espécie de magia negra arcana, o programa sabia o seu nome e respondeu-lhe! Como é que funcionou? Vamos analisar cada linha:

10 PRINT "QUAL É O SEU NOME?"
20 INPUT N$
30 PRINT "OLÁ, ";N$

Linha 10: O programa exibiu uma linha de texto no ecrã. Cada linha de texto que pretende IMPRIMIR deve estar entre aspas.
Linha 20: O programa solicita INPUT de si e armazena o resultado numa variável chamada N$. O cifrão é uma abreviatura de “string”. Cada variável que inclui letras deve ser uma variável do tipo string.
Linha 30: O programa exibiu Olá, seguido de uma vírgula e espaço e, depois, imprimiu o conteúdo da variável N$. O ponto-e-vírgula instrui o programa a imprimir N$ na mesma linha sem inserir uma quebra de linha.

Apenas a Superfície

Agora que experimentou o BASIC no Apple II, pode contar a todos os seus amigos que programou um computador de época! Na verdade, pode mesmo mencionar a Steve Wozniak no Twitter.

Se quiser aprofundar-se no Applesoft BASIC, recomendamos este excelente tutorial online de Yuri Yakimenko. Ele aborda muito mais detalhes do que os que mencionamos aqui. Também existe esta referência rápida útil de comandos BASIC do Applesoft.

Uma análise completa do Manual de programação BASIC do Apple II, de 1978, também está disponível. Ele detalha como guardar e carregar os seus programas.

Milhares de jogos e aplicações incríveis foram programados em Applesoft nos últimos 42 anos, por isso o céu é o limite para o que pode fazer com ele. (Na verdade, a quantidade de RAM na sua máquina é o limite, mas isso é muito menos poético.)

Para todos vocês, veteranos do Apple II, adoraríamos ouvir as suas histórias sobre a utilização do BASIC nos comentários. Boa programação!