68000 e Uma Noites, por Jecel Assumpção (Parte 1)

Depois da aula (aqui e aqui) que Mestre Jecel nos deu sobre 68000, ele agora conta as histórias dos projetos realizados por ele usando o venerando microprocessador da Motorola. Puxa uma cadeira e senta no chão.

Como eu havia prometido, vou fazer uma descrição dos oito projetos que fiz com processadores 680×0. Destes, apenas cinco foram construídos e normalmente eu nem menciono os dois primeiros, mas neste caso acho que eles ajudam a dar o contexto dos demais projetos.

O resumo do projeto 1: numa interface de disquetes para um computador Z80 (chamado Einstein, mas sem nenhuma relação com o micro inglês) eu vi que os drives em si eram tão caros (quase $1000 cada no Brasil em 1982) que seria possível colocar um 68000 e uns 256KB de memória na placa sem aumentar muito o preço do conjunto. Ai a versão K7 do micro seria razoavelmente barata e a versão de disquetes bem poderosa.

Voltando um pouco: em 1980 eu estava no primeiro ano do curso de engenharia na Poli. Naquela época não era dividido no vestibular – a lista alfabética de 600 alunos era dividida em 10 classes de 60. Infelizmente na classe dos Josés e Joãos não tinha ninguém além de mim interessado em computadores ou eletrônica como meus amigos do colegial (que aproveitamos muito o fato da escola ficar a poucos quarteirões da Sta. Efigênia). Meu pai trabalhava na Philco-Ford (mais tarde Ford Eletrônica e hoje Visteon) e tinha muito contato com fornecedores como a Motorola. Um dia o pessoal da Motorola estava jogando fora material antigo e perguntaram para meu pai se ele gostaria de ficar com este kit:

http://www.68bits.com/mek6800d2.html

Nós construímos a máquina e eu projetei uma fonte para ela (com um transformador super pesado) que construímos também. Até então eu só conhecia o processador 8080 de um curso da revista Nova Eletrônica e foi muito bom aprender algo diferente.

No fim do ano vi um cartaz anunciando um curso da linguagem Algol. Normalmente era pago, mas para quem quisesse concorrer a um estágio no CCE-USP (Centro de Computação Eletrônica) seria de graça. No fim do curso teria uma primeira prova de seleção, e os selecionados fariam um curso de SPSS (Statistical Package for the Social Sciences), um de Cobol e um de computação gráfica com um projeto no PDP-11. Ai uma segunda prova selecionaria 9 estagiários para a área de software e 1 para hardware desenvolvendo placas para um sistema “home brew” com o processador 6800 que ligava vários periféricos ao Burroughs B6700.

Claro que no dia da entrevista depois das provas eu levei o manual do meu MEK6800D2 para me distrair enquanto esperava minha vez de ser chamado 😉

Meu primeiro projeto como estagiário de hardware foi uma interface para enviar mensagens para o TV Typewriter (http://en.wikipedia.org/wiki/TV_Typewriter) ligado a uma televisão gigante. O segundo projeto foi uma interface para ligar leitores óticos de cartões (da Fujitsu importados do japão, mas com plaquinhas da Edisa num pacote separado para a gente substituir as originais). Apesar do que eles diziam para os vestibulandos de que era necessário preencher com cuidado os cartões de resposta “senão o computador não consegue ler”, na verdade o conteúdo dos cartões eram datilografados em terminais por operadoras (cada cartão por duas operadoras diferentes para evitar erros). O vestibular Fuvest de 1982 foi o primeiro onde realmente o computador leu os cartões.

Por mais divertido que fosse mexer com computadores grandes, não era a mesma coisa que ter o meu computador. O kit 6800 com seus 128 bytes de memória e interface hexadecimal era muito limitado. Eu e dois amigos que também faziam estágio no CCE, o Ruy Pinto Cesar Neto e o Mauro Múrcia, resolvemos construir nosso próprio computador baseado no Z80. A idéia era usar o TMS9918 para o vídeo e o TMS5220 (sintetizador de voz) para o áudio. Eu bolei um esquema de expansão com cartuchos, onde cada novo cartucho tinha um conector para o próximo de modo que a máquina em si só tinha um conector. A solução de chaveamento de bancos permitiria até 256KB e os cartuchos de memória seria auto configurados numa solução levemente parecida com a do Apple II.

Nós chegamos a construir o “miolo” da máquina. Eu tinha visto um artigo na revista Byte sobre a controladora de memória dinâmica do TRS-80 e era várias vezes mais complexa que minha solução. Gastei um mês tentando descobrir em que situações o TRS-80 funcionaria mas o meu circuito não. Não consegui achar, então construímos o circuito e funcionou perfeitamente. Mas a Texas Instruments não me enviava informações técnicas sobre o TMS9918 de modo que não dava para avançar nesta parte.

O micro básico usaria um gravador K7 para armazenar dados, mas nós sabíamos que no futuro iriamos querer expandir para ter uma ou duas unidades de disquetes. Junto com o kit 6800, eu tinha recebido da Motorola um monte de material sobre o 68000 (isso eles não estavam jogando fora). Por isso em 1981 eu já conhecia este processador tão bem quanto o 6800 ou o Z80 (fiz questão de esquecer a maioria do que eu sabia sobre o 8080). Tive a ideia de fazer o cartucho de interface para disquetes ser um computador completo que usaria o Einstein básico apenas como um terminal inteligente

Uma FIFO bidirecional ligaria os dois processadores, gerando interrupções quando estivesse cheia ou vazia. Recentemente descobri que o famoso “tube” do BBC Micro funciona exatamente assim. Eu sempre pensei que o processador acoplado poderia acessar a memória do micro (como o Softcard Z80 da Microsoft para o Apple II, por exemplo) mas pelo visto eles chegaram à mesma conclusão que eu. É mais fácil ter dois computadores independentes, cada um encarando o outro como periférico, do que um multiprocessador de verdade.

Em maio de 1982 o Ruy saiu do CCE para projetar o primeiro clone de PC no Brasil para a Softec. Eu sai no fim de julho para fazer o projeto que vou descrever da próxima vez. A falta de contato com meus dois amigos acabou com o projeto do Einstein na prática. Recebi o material da Texas no início de 1983 (e isso só porque desisti de tentar pedir do Brasil e pedi para alguém que morava nos EUA para escrever para eles – realmente a Internet e datasheets em PDF melhoraram muuuuuito esta parte), mas ai já era tarde demais.

A razão pela qual normalmente não menciono este projeto é que a interface de expansão não chegou nem a ter um esquema detalhado. Foi algo que ficou mais na ideia mesmo, e o micro principal só foi parcialmente construído. Se você acharem este tipo de coisa interessante, vou descrever os outros 7 projetos. Não sei se a grande dose de autobiografia não tornou o texto muito chato.

Originalmente publicado na lista 68000 do Google Groups. Aguardem os próximos capítulos.

(Chato??? Só pra quem não é nerd de raiz qui nem nóis!)

Sobre Juan Castro

Juan Castro é uma das mentes em baixa resolução que compõem o Governo de Retrópolis – a única cujo Micro Formador não foi o MSX (e sim o TRS-80). Idealizador, arquiteto e voz do Repórter Retro. Com exceção do nome, que foi ideia do Cesar.

0 pensou em “68000 e Uma Noites, por Jecel Assumpção (Parte 1)

  1. O modelo de paralelismo da linguagem Go suporta o mesmo paradigma que o Jecel menciona, com comunicação por canais ao invés de memória compartilhada.

    1. Tipo, as threads de um programa (ou seja lá como se chamem… ah, “goroutines”) só se comunicam por FIFOs? *Checando Wikipedia* Lá diz… “Goroutines can share data with other goroutines” — isso quer dizer outra estrutura além dos channels?

      1. Você pode usar mutexes se quiser, mas na maioria das vezes não precisa, e canais são mais eficientes. Com canais o runtime consegue até pegar automaticamente alguns tipos de deadlock.

  2. Por favor continue com as estorias, tambem sou dessa epoca. Nesse tempo , na empresa em que trabalhava tinhamos kits com 68000 abandonados pelo pessoal de P&D e que a garotada da manutenção ( do qual eu fazia parte ) herdou, brincou , desenvolveu gigs de teste de placa e testou conceitos de sistemas operacionais. Era uma boa época.

  3. Como de costume é simplesmente sensacional ler qualquer coisa que o Jecel escreve! 🙂 Continuem com a série, por favor! 🙂

  4. Olá JuanJecel!
    Gostei muito da história. Se escrever outras, com certeza acompanharei. É o tipo de leitura que aprecio grandemente.
    Um grande abraço!