Ano 1 · Ano 2 · Ano 3 · Ano 4 · Ano 5 · Ano 6 · Ano 7 · Ano 8 · Ano 9
Tópicos › Primeiro ano › Patinho Feio
O Patinho Feio, computador construído na USP em 1971, é um dos principais projetos citados na descrição do grupo. Ao longo do ano foram encomendadas as PCBs da CDE-3, foi montada uma réplica da placa de decodificação de opcodes e a leitora de fita perfurada Facit 4021 foi ligada a um Arduino para ler fitas. Para dar ao driver do MAME um sistema de slots de E/S, foi criado o fork ArqueologiaDigital/mame. Também foram reunidas fontes históricas, como as pranchas do livro de Edson Fregni, os cadernos de Guido Stolfi e um relatório de 1972 sobre o ensino de computação no Brasil.
Primeiro ano: novembro de 2017 a outubro de 2018
Felipe encomendou as PCBs da CDE-3 e de debug, e o painel emulado e essas placas foram definidos como prioridades de curto prazo. Depois ele montou uma réplica soquetada da placa de decodificação de opcodes. Um erro de layout exigiu 33 remendos, e a placa terminou funcionando.
Felipe organizou cerca de metade da sala do acervo não exposto da USP e conversou com o professor João José Neto, que o incentivou a continuar a construção do painel do Patinho Feio. Felipe encomendou as PCBs da CDE-3 e de debug, com mínimo de três unidades: um par para cada um e um para a Poli. Werner se ofereceu para pagar os componentes e pediu a lista de materiais (BOM).
Diante do número de projetos em paralelo, Werner defendeu concentrar o esforço em terminar o Patinho Feio. Felipe definiu como prioridades de curto prazo o painel emulado e as PCBs do decodificador e do debugger didático da CDE-3. O site ficou como item secundário; Felipe observou que o site e os posts no Fiozera ajudam a organizar as ideias discutidas no chat.
Felipe monta uma réplica fiel da placa de decodificação de opcodes da CPU do Patinho Feio (USP, 1971), toda soquetada para chips TTL da família 74. Ele acrescenta uma placa extra, que não existia no original, para mostrar em LEDs os sinais de entrada e saída do módulo. Um erro de layout que o DRC já havia apontado deixou pontos de aterramento soltos e exigiu 33 remendos, com possível revisão B da PCB. A placa terminou funcionando.
No driver do MAME, a DECwriter e a Teletype estavam fixas no código. Affonso e Felipe decidiram criar um sistema de slots de E/S, e para isso foi criado o fork ArqueologiaDigital/mame, onde Affonso abriu um primeiro rascunho. Os dois estudaram as instruções FNC, SAL e ENT e as placas FIN-8, consultando as pranchas do livro de Fregni e a tese de 1972.
A conversa começou no privado e depois foi encaminhada ao grupo. Nela, Affonso observou que a DECwriter e a Teletype estão fixas no código do driver do Patinho Feio no MAME. Os dois decidiram criar um sistema de slots de I/O, tomando como modelo hp80_io, rs232 e centronics. Para isso foi criado o fork ArqueologiaDigital/mame com o branch patinhofeio. Felipe explicou o fluxo de trabalho: forks pessoais, feature branches, remotes, fetch, rebase, pull requests e code review. Affonso abriu o PR #1, com um primeiro rascunho baseado no código da porta paralela Centronics.
Affonso e Felipe discutiram as instruções de E/S (FNC, SAL, ENT) descritas no Montador do Patinho Feio e onde ficavam os flip-flops de status, interrupção e controle. Consultaram as pranchas do livro de Fregni e a tese de 1972. Felipe viu na tese que as placas FIN-8 não têm flip-flops e concluiu que eles ficavam nas placas de interface de cada periférico. Disse que essas placas são consideradas perdidas, mas que talvez ainda estejam no Patinho Feio guardado na diretoria da Poli. Pelo código da fita #011 (FNC /68 e /78, modo série para os canais 6 e 7), Felipe suspeitou que o sintetizador usava mais de um slot de I/O. Ele também contou que transcreveu boa parte dos esquemáticos para KiCAD, o que permitiu montar a réplica da placa CDE-3. Por fim, apontou num circuito da interface do sintetizador um oscilador de 100 kHz e shift registers.
Ao retomar o código de I/O, Affonso resumiu o que precisa ser escrito: a interface de E/S do Patinho e uma placa de interface externa para teste. Felipe sugeriu refatorar a emulação atual para o sistema de slots do MAME, mantendo funcionando o hello world que imprime na Teletype.
Uma teletype chegou ao acervo da Poli, e Affonso encontrou ali uma leitora de fita perfurada Facit 4021, de 1974, cujos manuais publicou no Internet Archive. Felipe organizou uma visita ao acervo com Sebastião Barreto e lhe pediu que levasse suas fitas perfuradas da época do Patinho Feio. A leitora foi ligada a um Arduino, mas restaram erros periódicos de leitura, que Felipe atribuiu a um problema mecânico.
Affonso mostra itens que chegaram ao acervo: uma teletype com etiqueta do L.S.D. (Laboratório de Sistemas Digitais da Poli), mais um terminal Lepus 200, outro terminal Scopus, um analisador lógico, um teclado Scopus que ele acredita ser o do Nexus e caixas de disquetes de 8". Felipe propõe usar a teletype para ler fitas do Patinho Feio ou ligá-la à réplica do painel do Patinho Feio com o computador emulado, e extrair as ROMs do Lepus 200 para compará-las com um dump anterior.
Affonso encontra no acervo um equipamento de 1974, bem conservado, que Felipe identifica como uma leitora de fita perfurada Facit 4021. Felipe propõe usá-la para digitalizar fitas do Patinho Feio e ligá-la ao emulador. Affonso escaneia os manuais (operação e Technical Description) e os publica no Internet Archive. Também é mencionada a futura doação do Prológica Solution 16 de Sebastião ao acervo.
Felipe organiza uma visita ao acervo da Poli com Sebastião Barreto, DQ e Affonso e pede a Sebastião que leve suas fitas perfuradas da época do Patinho Feio, para lê-las e ver o que roda no emulador. Depois da visita Felipe publica fotos e vídeos; Ricardo Bánffy comenta o som do ASR-33. Felipe nota que a caixa da leitora Facit 4021 traz o nome do prof. Hélio Guerra. Em seguida publica o repositório Facit4021, observa que o logotipo da Facit é idêntico ao da Electrolux (a Facit foi vendida à Electrolux em 1973, segundo a Wikipedia) e conta que gravou um episódio do Happy Hacking Video Blog sobre a leitora.
Ronaldo sugere embutir no aparelho uma interface Arduino/USB; Felipe responde que já ligaram um Arduino à leitora, por fora, pelo conector da placa #2. Felipe relata erros periódicos de leitura (a cada 7 a 9 bytes, um byte é perdido e outro duplicado), que atribui a um problema mecânico. Felipe explica que as fitas usam ASCII de 7 bits com o bit mais alto sempre ligado e furos menores de tracionamento/sincronismo, e que o buffer interno da leitora é de 3 bytes.
Felipe publica o vídeo "Lendo Fitas de Papel em 1974 - EP. 8", sobre a leitora Facit 4021, e abre um tópico sobre a leitora no Fórum Fiozera. Ronaldo sugere um shield de interface direta com o slot da máquina.
O professor Guido Stolfi ligou o sintetizador, que voltou a funcionar parcialmente e seria demonstrado num evento de equipamentos eletrônicos antigos. Affonso contou que estava lendo os cadernos do professor, escaneados por Felipe. Pelo código da fita #011, Felipe suspeitou que o sintetizador usava mais de um slot de E/S.
Felipe contou que o professor Guido Stolfi ligou o sintetizador, que está funcionando parcialmente, e que o demonstrará num evento de equipamentos eletrônicos antigos. Felipe pretendia levar os cadernos ao professor na semana seguinte à sua volta ao Brasil. Ele compartilhou ainda um PDF de apresentação do professor, e Affonso disse que pretendia ir ao evento.
Affonso compartilhou fotos de um evento daquele dia, entre elas fotos ao lado de Guido Stolfi. Ele contou que estava lendo os cadernos do professor escaneados por Felipe.
Affonso e Felipe discutiram as instruções de E/S (FNC, SAL, ENT) descritas no Montador do Patinho Feio e onde ficavam os flip-flops de status, interrupção e controle. Consultaram as pranchas do livro de Fregni e a tese de 1972. Felipe viu na tese que as placas FIN-8 não têm flip-flops e concluiu que eles ficavam nas placas de interface de cada periférico. Disse que essas placas são consideradas perdidas, mas que talvez ainda estejam no Patinho Feio guardado na diretoria da Poli. Pelo código da fita #011 (FNC /68 e /78, modo série para os canais 6 e 7), Felipe suspeitou que o sintetizador usava mais de um slot de I/O. Ele também contou que transcreveu boa parte dos esquemáticos para KiCAD, o que permitiu montar a réplica da placa CDE-3. Por fim, apontou num circuito da interface do sintetizador um oscilador de 100 kHz e shift registers.
Felipe explicou o micro-pré-loader que o operador insere pelas chaves do painel, sequência lembrada pelo prof. João José Neto, e o grupo discutiu se a memória de núcleo de ferrite é volátil. Foi compartilhado um relatório de 1972 que menciona o Patinho Feio. Felipe contou ainda que o prof. Edson Fregni guarda placas originais e pretende doá-las a ele.
Partindo de como computadores sem ROM davam boot, Felipe explica o processo do Patinho Feio. O operador insere pelas chaves do painel um micro-pré-loader, que lê um loader de fita, e a área F80–FFF pode ser protegida contra escrita. A sequência do micro-pré-loader foi lembrada pelo prof. João José Neto. Felipe afirma que a memória do Patinho se apaga ao desligar; Ronaldo diz ter ouvido que a memória de ferrite não é volátil. Aylons Hazzud primeiro diz que ela é volátil, mas em seguida se corrige citando a Wikipedia: é não volátil, com leitura destrutiva. Leonardo Roman mostra o RIM Loader impresso no painel do PDP-8.
Felipe propôs encontros recorrentes de pesquisa prática sobre o Patinho Feio, provavelmente no Garoa Hacker Clube, e comentou um vídeo de Affonso publicado na página do LASSU-USP. Ele contou também que viu no MIT uma Lisp Machine em wire-wrap. Contou ainda que encontrou por acaso o professor Edson Fregni, que guarda placas originais do Patinho Feio e pretende doá-las a ele. Ronaldo, que mora no RS, disse que dificilmente poderia ir ao Garoa.
Felipe compartilhou o documento 'Improving Computer Science Education in Brazil' (1972) e fotos de trechos dele, entre eles um que menciona o Patinho Feio.
Felipe compartilhou o post do Fiozera sobre o resgate histórico dos computadores pioneiros do Brasil e fotos da sua apresentação no Roadsec. Depois fez uma palestra sobre o Patinho Feio na UFABC, e membros do WikiLab que assistiram entraram no grupo.
Felipe compartilhou o post do Fiozera "Arqueologia Digital: Resgate histórico dos computadores pioneiros do Brasil" e fotos da sua apresentação no Roadsec.
Felipe apresenta na UFABC uma palestra sobre o resgate histórico do computador Patinho Feio. Participantes da atividade, entre eles membros do WikiLab da UFABC, entram no grupo e se apresentam.