Pular para o conteúdo principal

Confira o código-fonte do Micro-Soft BASIC para o processador MOS 6502

Nas minhas andanças virtuais pela Web às vezes encontro algumas preciosidades de importância histórica imensurável, e esta é um exemplo: o código-fonte do interpretador BASIC desenvolvido pela então Micro-Soft para o processador MOS 6502. Confira aqui algumas curiosidades sobre este clássico interpretador da linguagem BASIC que teve enorme importância dos primórdios da computação pessoal, além de assuntos correlatos.

Início do códio-fonte do MS-BASIC para o processador MOS 6502


O contrato com a Apple de 21 mil dólares para a utilização do MS-BASIC no Apple II foi o primeiro grande compromisso da então chamada Micro-Soft. Sem dúvida, o principal objetivo de Bill Gates e Paul Allen ao portar o BASIC para o processador MOS 6502 (o que foi feito antes mesmo do contrato com a Apple) era torna-lo compatível com o Apple II, que utiliza este processador e na época era o computador pessoal com maior participação de mercado. Porém, como podemos ver na imagem de abertura da postagem, o Apple II não é o único computador que utiliza o MOS 6502 e inteligentemente os fundadores da Microsoft prepararam o interpretador para rodar também nestes outros equipamentos, como os clássicos Commodore. Esta política de atender ao maior número de clientes possível foi uma das chaves do sucesso da Microsoft, que ficaria ainda mais evidente no advento dos clones do IBM-PC.

O Apple II foi o computador pessoal mais popular na sua época

Outra linha também chama a atenção no trecho acima, a “0=PDP-10 SIMULATING 6502”. Conforme Paul Allen afirmou no seu livro O Homem Por Trás do Mito, eles não tiveram acesso a processadores 6502 (e tampouco ao 8080) para desenvolver o interpretador BASIC. Para tanto, utilizaram um mainframe DEC PDP-10 para emular os processadores supracitados. Ainda segundo Allen, a divisão de tarefas ficou desta forma: ele desenvolveu o simulador dos processadores 8088 e 6502 para serem rodados no PDP-10, as ferramentas de desenvolvimento e o assembler, enquanto que Bill Gates desenvolveu o interpretador em si. Faltava, porém, o módulo matemático de ponto flutuante, e para isto eles contrataram um colega de Harvard estudante de Matemática chamado Monte Davidoff, que inicialmente recebeu 400 dólares pelo trabalho.

Provavelmente os menos versados em tecnologia devem estar se perguntando: o que diabos é um interpretador? A grosso modo, um interpretador é um software/linguagem de programação que executa o código-fonte de um determinado programa linha a linha, em contraste com os compiladores que pegam todo o código-fonte e o empacotam, gerando normalmente (no mundo MS-DOS/Windows) um arquivo EXE. Como executam o código linha-a-linha os interpretadores consomem muito menos memória, o que na aurora da computação pessoal era algo primordial. Se hoje é comum termos PCs com 8 GB de RAM, na época retratada neste texto o normal era os computadores pessoais terem 16 KB, ou 524.288 vezes menos! (Wow!)

O mainframe DEC PDP-KI10 utilizado por Allen e Gates. Ele conta com algo em torno de 15 MB de RAM, um espanto para a época!

Também chama a atenção o changelog do projeto, principalmente pelas datas. É inegável que Bill Gates e Paul Allen são exímios programadores - claro que muito provavelmente eles não devem escrever uma linha de código há décadas, mas programar é como andar de bicicleta, uma vez aprendido não se esquece jamais! :)


Changelog do BASIC para o MOS 6502

Sobre o MOS 6502

A MOS Technology (Metal-Oxide Semiconductor) foi fundada em 1969 por três executivos oriundos da General Instrument, Mort Jaffe, Don McLaughlin e John Pavinen, inicialmente para produzir circuitos integrados para calculadoras. Ao lado dos contemporâneos de 8 bits Intel 8080, Zilog Z80 e Motorola 6800, o MOS 6502 é um processador que ativamente ajudou a fomentar o mercado dos computadores pessoais. 

As suas origens remontam ao Motorola 6800. Durante o desenvolvimento deste, alguns engenheiros deixaram a Motorola e levaram para a MOS vários conceitos do projeto em que trabalhavam: nascia assim o 6502, que foi lançado em setembro de 1975 custando apenas 25 dólares. As principais características do chip são as seguintes:

  • Barramento externo de 8 bits;
  • Barramento de endereçamento de memória de 16 bits;
  • Frequência de operação de 1 MHz a 2 MHz;
  • Litografia de 8 μm ou 8000 nm.

Logicamente que a Motorola processou a MOS (e os seus ex-engenheiros) ainda em 1975 pelo uso dos conceitos do projeto do 6800, ação que terminou em 1976 com um acordo de 200 mil dólares pagos pela MOS à Motorola - neste mesmo ano a MOS foi comprada pela fabricante canadense de computadores Commodore, que utilizou o 6502 em vários dos seus equipamentos. 

Sem dúvida foram os Apple I e II que o tornaram mundialmente famoso, porém pelo seu baixo custo o 6502 foi utilizado em muitos outros produtos também notáveis tais como o videogame Atari 2600 e os brinquedos Tamagotchi, febre entre a criançada nos anos 1990. O 6502 continua sendo fabricado até hoje e é utilizado principalmente em sistemas embarcados.

O MOS 6502, aqui no clássico formato DIP de 40 pinos

Curiosidade: o Microsoft SoftCard

Você sabia que a Microsoft já produziu uma placa de expansão para um computador Apple? Pois é! Apesar de ter desenvolvido uma versão do interpretador BASIC para o processador MOS 6502, a Microsoft também lançou uma placa de expansão para o Apple II chamada SoftCard. Esta placa, idealizada por Paul Allen, era praticamente um computador completo que poderia ser instalado no Apple II. O SoftCard é baseado no processador Zilog Z80 (como vimos no texto sobre o Gradiente Expert, o Z80 é totalmente compatível com o Intel 8080), e continha ROMs com o sistema operacional CP/M e o interpretador BASIC escrito para o 8080, chamado de BASIC-80.


Além de contar com o BASIC, pelo fato de ser baseado no Z80 e ter o sistema operacional CP/M (que era o mais popular da época, mais ou menos como o Windows é hoje e no qual o MS-DOS foi baseado) o SoftCard tornava o Apple II compatível com qualquer software escrito para o CP/M e o processador Intel 8080. Em termos práticos, com esta placa o Apple II tornava-se dois computadores em um só.

O SoftCard. Repare no processador Z80A, o maior chip no topo

Por tê-lo inspirado, a sintaxe do CP/M é muito parecida com a do MS-DOS

Apesar do Steve Jobs ter torcido o nariz para o dispositivo (para variar...), no final das contas o SoftCard foi bom para ambas as empresas: para a Microsoft que pôde pegar uma carona na popularidade do Apple II, e para a Apple que viu o seu produto ficar ainda mais popular. O SoftCard foi lançado em março de 1980 e custava 349 dólares, valor da época. Apesar do alto custo foi um enorme sucesso.

Enfim, espero que tenham gostado de conhecer mais esta importante página da rica história dos computadores pessoais. Até a próxima!

Veja também:

Comentários

  1. Sem contar que o MOS 6502 era o processador principal do videogame da nintendo, o Familiy Computer no japão ou o Nintendo Entertainment System nos EUA, isso a partir de 1982 apenas.....

    ResponderExcluir
    Respostas
    1. Isso mesmo, o Nintendinho conta com uma CPU que é um clone compatível pino a pino com o MOS 6502. É o Ricoh 2A03, conforme consta na Wikipedia.

      Excluir
  2. Me parece que o link está quebrado.

    ResponderExcluir

Postar um comentário