Resgate histórico do computador Patinho Feio (USP - 1971)

There’s an on-going translation effort (into English) at:

Eu já contei um pedacinho minúsculo dessa história em uma postagem do meu blog (em inglês) em:

http://mamedev.emulab.it/fsanches/2015/11/18/a-pleasant-visit-to-the-university/

Mas aqui eu vou entrar em mais detalhes e tentar contar tudo o que aconteceu até agora e, possivelmente, as atualizações dos próximos passos desse trabalho de resgate histórico do computador Patinho Feio, que foi projetado na USP em 1971.

Em novembro de 2015 eu estava muito interessado em escanear gabinetes de arcades e consoles de video-game e, por causa disso, fui à USP tentar falar com alguém do LSI ou da Caverna Digital, em busca de um scanner 3D. Não achei a professora Roseli de Deus Lopes (do LSI) nessa visita, mas acabei me encontrando com o professor João José Neto.

Nessa conversa com o professor JJNeto, comentei que já tenho trabalhado há alguns anos voluntariamente em iniciativas de preservação histórica de computadores e video-games (e, na realidade, qualquer equipamento digital) por meio de técnicas de emulação e que, com esse objetivo, tenho contribuído com a implementação de emuladores para o Projeto MAME.

Cheguei a mostrar ao professor alguns dos meus drivers no MAME e ele, em retribuição, colocou em minhas mãos um documento de 1977 chamado “Montador do ‘Patinho Feio’”. Trata-se de um manual de uso do software montador (assembler) para a linguagem de máquina da CPU do computador Patinho Feio. Como supostamente não havia conhecimento da existência de outra cópia desse documento, eu fiquei bastante preocupado, pois era um documento de quase 40 anos que tinha sido mantido em ótimas condições de preservação até então. E agora essa raridade estava sendo colocada em minhas mãos estabanadas…

Eu fiquei apavorado! Corri pra casa com todo o cuidado para proteger o documento e, de imediato, dei início ao processo de digitalização assim que cheguei em casa. Como não cabia no meu scanner (as folhas eram um pouquinho maiores que o tamanho padrão A4) eu simplesmente tirei fotos de cada uma das páginas usando o meu celular. Guardei todas as fotos em alta resolução em um repositório no GitHub, e depois fiz um pequeno script para reduzir e comprimir as páginas e em seguida concatená-las em um PDF de qualidade e tamanho razoáveis. O PDF final foi publicado no Internet Archive e pode ser visto aqui:

Em seguida, estudei o documento inteiro e notei que com a informação disponível alí seria possível implementar um emulador para a CPU do Patinho Feio. Para testar o emulador, entretanto, eu precisaria ter em mãos programas para esse computador. E até então a única coisa que eu tinha acesso era um pequeno “Hello World” cujo código de máquina era legível na fotografia de um pequeno trecho de fita perfurada que aparecia numa imagem do próprio documento.

Transcrevi manualmente cada um dos bytes desta fita da imagem, gerando um arquivo binário que pudesse ser carregado no meu emulador e, em seguida, usei esse código para depurar a minha implementação. Com isso, consegui fazer o programinha funcionar no emulador e ver sendo exibidos na tela os caracteres que originalmente eram enviados à teletype - uma máquina de escrever com interface serial para comunicação com o computador. Pausadamente, foram sendo enviados um a um os caracteres: P - A - T - I - N - H - O - [espaço] - F - E - I - O seguidos de um comando de linefeed (alimentação de uma linha de papel) e depois um carriage return (retorno do carro de impressão).

Usando uma tecnologia chamada emscripten, fiz uma compilação deste driver do MAME para javascript, o que permite rodar o emulador direto no browser. Na época eu montei uma página web para hospedar essa demonstração. Veja aqui:

http://felipesanches.github.io/emuladores/patinho.html

Fui mais uma vez à Poli-USP algum tempo depois e, junto com o Armando Neto (amigo nosso aqui do Fiozeira!), tiramos algumas fotografias do computador de verdade, que está hoje em dia exposto no prédio da administração / diretoria da Escola Politécnica.

Com base nessas fotografias eu redesenhei o painel completo usando o programa Inkscape (um software livre para desenhos vetoriais) e, com o vetor da arte do painel em mãos, dei início à construção de uma réplica do Patinho Feio, encomendando o corte a laser e a impressão de um adesivo com a arte em uma gráfica rápida perto da minha casa.

Na imagem abaixo se vê a vetorização da arte do painel frontal:

O vetor correspondente está disponível aqui.

Comprei LEDs vermelhos, botões e chaves na Santa Ifigênia e coloquei no vetor de corte a laser as furações adequadas:

Depois que terminei de construir a parte física do painel, levei para o professor JJNeto ver e parece que ele gostou:

Depois adicionei uma moldura de quadro preta e hoje em dia o painel tem esse aspecto visual:

Estou gradualmente coletando também autógrafos no lado de trás do painel, de professores que, na década de 70, participaram do desenvolvimento do projeto na USP:

Em resposta à minha postagem original no blog sobre a descoberta do manual do montador, um amigo fez o seguinte comentário:

Não consigo me lembrar se foi ou não por conta disso que parti para o próximo passo nesse projeto. Mas o fato é que eu fui até a biblioteca e, com a ajuda do prof JJNeto que usou a carteirinha dele para empréstimo de livros pois a minha já não é mais válida desde quando saí da USP, retiramos algumas teses relativas ao tema. Ao longo dos meses seguintes eu fui aos poucos escaneando cada uma das teses de mestrado e de doutorado que tinham alguma ligação com o projeto do Patinho Feio. São cerca de 15 documentos (não lembro de cabeça a conta exata). Cada um deles teve suas páginas escaneadas em alta resolução e publicadas em repositórios individuais na minha conta do GitHub, enquanto os PDFs finais foram agrupados inicialmente em um repositório central aqui:

Estou agora subindo os PDFs também no Internet Archive em:
https://archive.org/search.php?query=subject%3A"patinho+feio"

Bem… acho que já tem MUITA informação nessa postagem. Divirtam-se digerindo tudo isso! Tenho muito mais pra falar, mas fica guardado para postagens futuras. Minha meta atual é terminar a instalação da fiação no painel-miniatura e portar o código de emulação do MAME para rodar em um Arduino controlando as luzes e a leitura das chaves. Mais uma vez, conforme eu for avançando nesse projeto irei postar mais mensagens aqui.

Happy Hacking!
Felipe “Juca” Sanches

4 curtidas

Esquemáticos da CPU

Este projeto é tão extenso que há diversas vertentes que por si só são projetos grandes. Por conta disso, tenho estudado um pouco por vez, navegando pelos materiais conforme minha curiosidade vai me guiando. Uma dessas frentes de ação é o estudo dos circuitos da CPU do computador.

Encontrei pela primeira vez os esquemáticos eletrônicos da CPU no capítulo 5 do livro “Projeto de Computadores Digitais” de autoria de Edson Fregni e Glen George Langdon Jr.

O professor Glen dava aula na pós-graduação da Poli e em sua disciplina de Projeto de Sistemas Digitais, instruiu os estudantes a projetarem uma CPU. O melhor projeto da turma foi o que mais tarde foi adotado como design da CPU do Patinho Feio. E o capítulo 5 do livro conta com grande parte do conteúdo da tese de mestrado do professor Edson Fregni, orientada pelo prof. Glen.

A tese, entitulada “Projeto Lógico da Unidade de Controle de um Minicomputador”, EPUSP 1972, disponível aqui.

Durante estes meus últimos dias de férias de final de ano retomei uma iniciativa que eu tinha começado em Junho do ano passado, de transcrever estes esquemáticos para formato digital utilizando o software KICAD:

Nesse repo há um PDF com o esquemático parcial. Até agora já transcrevi cerca de 30% dos circuitos. Algumas partes dos esquemáticos originais são mais difíceis de ler, então acredito que esse trabalho possa ajudar a validar que todo o escaneamento foi bem feito ou que é, ao menos, suficiente para preservar a informações técnicas em questão. Além disso, ter os circuitos descritos em formato digital num CAD de design de PCBs traz algumas outras possibilidades interessantes…

(…continua!)

Happy Hacking,
Felipe “Juca” Sanches

Hoje, lendo alguns trechos da tese de mestrado do professor Edson Fregni, notei que há uma referência bibliográfica para um documento do próprio Fregni entitulado “Projeto Lógico do Primeiro Computador do LSD” que foi publicado nos Anais do IV Congresso Nacional de Processamento de Dados (SUCESU) em Outubro de 1971.

O que me chamou a atenção nessa referência é que ela pode conter detalhes muito importantes sobre a realização do circuito nas placas impressas:

Ter acesso ao item 4, em particular, como descrito abaixo seria fantástico:

Além disso, o ítem 5 acima pode ser muito útil caso algum dia se queira fazer um projeto de restauro do computador original que se encontra em exposição num corredor do prédio da Diretoria da Escola Politécnica.

Não consegui encontrar o documento no sistema de busca online das bibliotecas da USP, mas parece que há um exemplar na biblioteca do IBGE aqui em São Paulo:

http://biblioteca.ibge.gov.br/biblioteca-catalogo.html?view=detalhes&id=227123

É uma pena que não tenha versão para download em PDF. Vou telefonar lá amanhã e ver se consigo fazer um empréstimo.

Atualização rápida: Liguei lá hoje e a bibliotecária está de férias até 16/JAN.
Tentarei de novo semana que vem…

Happy Hacking,
Felipe “Juca” Sanches

O exemplar não se encontra na biblioteca do IBGE de São Paulo, mas existe uma chance da biblioteca do Rio de Janeiro ter isso ainda no acervo. Iremos verificar e se o documento for localizado, fui informado que ele poderá ser enviado para São Paulo sob demanda para eu fazer a consulta :slight_smile:

Imagens falam mais que palavras… :slight_smile:

Happy Hacking!
Felipe “Juca” Sanches

[CDE-3] Placa decodificadora de instruções

Seguem abaixo alguns renders 3D de placas do computador Patinho Feio que eu estou redesenhando no KiCad para começar um trabalho de construção de uma réplica real (não emulada).

Essa placa é chamada CDE-3:

C: “Controle”, pois trata-se de uma das várias placas que implementam a unidade de controle.
DE: “Decodificador”, pois essa placa recebe do fluxo de dados os 8 bits de opcode (vindos do RI = Registrador de Instrução) e os 8 bits de operando (vindos do RD = Registrador de Dados).
3: significa que é a terceira placa do conjunto de PCBs que compoem a unidade de controle.

Dados os 16 bits de opcode e operando, essa placa implementa uma função booleana para cada instrução da CPU. Portanto os sinais de saída indicam qual é a instrução atual codificada nos 16 bits da entrada.

[CDE-3-DEBUG] Placa de debugging para a PCB decodificadora de instruções

Pra não ter que construir o computador inteiro antes de validar essa placa, eu poderia testá-la com instrumentos de bancada. Mas ao invés disso, eu optei por projetar uma PCB auxiliar (que chamei convenientemente de CDE-3-DEBUG) que possui LEDs para cada um dos sinais de saída e os nomes dos sinais escritos na camada de silk. Também adicionei LEDs e jumpers com resistores pull-up para todos os 16 bits de entrada. Assim, é possível inserir manualmente uma combinação de bits na entrada e visualizar qual resultado é computado pela placa CDE-3. Além de servir para debugging, também cumpre o papel didático de demonstrar interativamente como funciona um decodificador de instruções duma CPU.

A imagens abaixo são renders 3D da placa CDE-3-DEBUG gerados pelo KiCAD:

Enquanto a placa CDE-3 possui um conector macho de 35x2 pinos usado para conectar a placa ao backplane do Patinho Feio, na CDE-3-DEBUG eu coloquei 2 conectores 35x2, sendo um macho e outro fêmea. Com isso, se todos os jumpers da placa DEBUG forem removidos, é possível deixá-la no meio do caminho entre a CDE-3 e o backplane. Dessa forma, se operarmos o Patinho Feio completo no modo “instrução única” será possível visualizar por meio dos LEDs os sinais de decodificação de instruções durante a operação normal do computador.

Como esse é um projeto de construção de uma réplica, faz mais sentido que a máquina fique exposta com suas “entranhas viradas do avesso”. Ou seja, ao invés de guardar as placas dentro de um gabinete fechado (como era na máquina original), o mais interessante nessa reprodução seria mantê-las afixadas em um quadro - plano - pendurado em uma parede e com placas extras como essa CDE-3-DEBUG para visualização dos sinais internos da CPU. Nesta configuração de exposição, surgem novas possibilidades educacionais para o ensino de princípios de computação e projeto eletrônico digital, o que tem sido a minha principal motivação para continuar pesquisando em minhas horas livres sobre esse computador.

Happy Hacking!
Felipe “Juca” Sanches

1 curtida

Conseguiu ter acesso a este documento na biblioteca do IBGE?

Infelizmente, eu não obtive mais nenhuma resposta sobre isso. Em algum momento futuro eu provavelmente vou tentar localizar o documento novamente.

Fenomenal Juca!
De fato, seria incrível ter estudantes aprendendo noções de Assembly usando o Patinho Feio!!!

Sim. Já temos alguns recursos úteis para isso como a réplica em miniatura do painel frontal do Patinho Feio e também o emulador no MAME. Entretanto, acho que ainda há muitas oportunidades educacionais a serem exploradas nesse tema. Não só para o ensino de assembly, mas para tratar de toda a gama de temas de projeto lógico digital, por exemplo, e também princípios básicos de computação.

Hoje em dia eu tenho dedicado algumas horas por dia nesse projeto, no meu tempo livre e, portanto, estou sobrecarregado com a quantidade enorme de documentos históricos que ainda precisam ser escaneados e publicados na Internet. Além desse trabalho braçal que é mais volumoso do que eu tenho condições de fazer hoje em dia, há também uma atividade bem mais refinada e que, portanto, demanda um tempo ainda maior que o mero escaneamento, que é de fato ler todos esses documentos, interpretá-los, digerí-los. Com isso, seria possível elaborar pequenas atividades educacionais ao redor do tema, tornando o material mais palatável e mais acessível. Ou seja, esse enorme acervo precisa de uma curadoria.

Eu penso em talvez anunciar um projeto de crowdfunding para permitir que eu tenha um tempo maior de dedicação a esse tipo de atividade. Tenho também pensado na possibilidade de conseguir patrocínio com alguma empresa que tenha interesse em apoiar este projeto. Além disso, algumas ramificações desse projeto incorrem também em custos extra, como por exemplo, os gastos com componentes eletrônicos e serviços de prototipagem de placas de circuito impresso, para a construção de réplicas como a da placa CDE-3 e da placa didática CDE-3-DEBUG que a complementa, como já detalhado em post anterior.

Por fim, andei sonhando acordado sobre talvez gravar um documentário sobre o tema.

Happy Hacking,
Felipe “Juca” Sanches

1 curtida

Hoje (5a feira, 16/FEV/2017) eu fiquei muito feliz de ter conversado pessoalmente pela primeira vez com a professora Edith Ranzini em sua sala na Poli-USP. :slight_smile:

Eu poderia contar mil estórias sobre as duas ou três horas de longas conversas que tivemos na manhã de hoje, mas, de forma breve, deixarei aqui apenas uma foto dos dois livros com os quais a professora Edith me presenteou hoje. Lerei com calma e talvez eu publique aqui algumas imagens adicionais destes livros ao longo dos próximos dias.

Happy Hacking,
Felipe “Juca” Sanches

A professora Edith Ranzini me mostrou hoje uma placa de memória de núcleo de ferrite que foi usada no computador G10. Foi a mesma tecnologia usada para a memória do Patinho Feio, mas no caso do computador G10, a memória foi projetada pela própria equipe da professora Edith, enquanto que no caso do Patinho Feio, foi usado um módulo de memória fabricada pela Phillips (modelo FI 21).

Eu não cheguei a tirar fotos hoje do modulo de memória da professora, que estava exposto em um suporte de madeira e acrílico. Mas alguns meses atrás, tirei fotos de uma outra unidade da mesma placa que faz parte do acervo pessoal do professor Edison Spina. Um fato inusitado é que esta placa foi salva pelo professor, pois caso contrário estava já sendo descartada (sendo jogada no lixo)… Seguem as fotos (frente e verso) da placa:

Em fevereiro de 2017 eu dei uma aula na Poli, a convite do professor Pedro Luiz Pizzigatti Corrêa, na disciplina de Modelagem e Simulação de Sistemas Computacionais, pros alunos do último ano do curso de engenharia de computação da USP. Segue abaixo o vídeo da aula onde detalho o trabalho de documentação do computador Patinho Feio que eu venho fazendo durante esses últimos anos:

1 curtida

Juca, no podcast Retrocomputaria número 74 parte A aos 14min e 40 segundos o convidado Júlio Neves fala que o Patinho Feio deu origem ao Cobra 530. Procurando mais na internet no site do MCI tem disponível um livro chamado Rastro de Cobra e na página 41 tem a seguinte frase:

“O principal projetista da CPU do 530 foi Stephan Kovach, que na USP já havia trabalhado na CPU do G-10.”

Achei muito bacana.

Sim! Você pode ver que eu já contactei o professor Stephan Kovach, por conta do autógrafo dele na minha réplica do Patinho Feio, como pode ser visto em uma das fotos que publiquei acima nesta thread.

Eu cheguei a enviar alguns emails para ele especificamente sobre o tema do Cobra 530, mas ele ainda não me respondeu. Na época que ele autografou eu não sabia desse vínculo com o projeto do G-10 e do 530. Qualquer dia eu passo lá na USP pra falar com ele mais uma vez e se tiver histórias novas eu conto por aqui.

Obrigado pela mensagem :slight_smile:

Este é o mais antigo “ASCII-art” brasileiro.
Apesar do termo não ser usado naquela época…

A imagem acima foi extraída da tese de mestrado “O Patinho Feio como construção sociotécnica” de Marcia de Oliveira Cardoso da UFRJ, publicada em 2003 que apresenta um relato muito interessante sobre a origem desse desenho:

Segundo o professor João José Neto, posteriormente também foi
incluída, entre os periféricos de E/S, uma impressora. E novos programas foram
feitos para possibilitar a impressão de dados. A primeira impressão foi o desenho
de um Patinho. O desenho foi confeccionado pela irmã de Selma Shimizu e
digitalizado pela equipe do Patinho Feio [Figura 19]. Segundo Antônio Massola, o
tempo para carregar este desenho na memória do Patinho durou uma madrugada.

Todo este processo de construção-adoção do software se estendeu
para o período após a inauguração oficial do Patinho Feio. Muitas das soluções
encontradas neste ciclo foram soluções posteriores à data de inauguração do
minicomputador. Os próprios integrantes do projeto divergem quanto aos periféricos
existentes nesta inauguração. O consenso está no que diz respeito ao fato de ter
sido carregado um programa na memória do Patinho Feio nesta inauguração.
Sobre o desenho do Pato, há divergências se ele foi apresentado na inauguração
ou não. Se ele foi apresentado na inauguração, a impressão do desenho não foi
feita pelo Patinho Feio. A maioria acredita que este desenho foi digitalizado após a
apresentação do Patinho Feio.

Com base na fotografia, fiz uma transcrição do desenho para texto puro (em ASCII pra valer).
Caso seja útil para alguém, segue abaixo:

                 **     ******
                *    ***      ****
                *   *             *
            *******                 *
           *     *                   *
           *    *                     *
               *                       *
              *                   ***   *                          *
             *                   *   *  *                        ***
            *          ****     * ** *  *                       *  *
            *         *    *    * ** *  *                    ***  *
            *         *  ** *    ***** *                  ***    **
***         *          * ** *   ****   *                **    *** *
*  **        *          ****   *   ***********        **     *   *
*    **      *        ***    **              *       *          **
*       **    *      *   ****              **        *         * *
*          *   *     * **               ***         *        **  *
 *          *   *     ** *****     *****            *       *   *
  *          *   **     **    *****    *           *           *
  *           *    *      ***           *         *          **
  *            *    **       *          *         *   *    **
   *            *     **      **      **         *   *     ****
    *        *   *      *       * ****          *   *        *
     * *      *   *      *       *             *   *       **
        ***    *   *     *        *           *   *       *
           *    *   *    *         *        **   *         *
         **      *   *   *          ********    *          *
         *        *   * *                *     *         **  *
          *        *   **                    **          *  **
           **       ** *                                 **  *
             *        *                               *****   *
             **      *                                *      *
               **    *                      *   **  *      ** *
                 *****                       ***  **      *  **
                     *                                    *** *
                     *                                       *
                      *                                     *
                      *                                 ****
                       *                               *
                        *                            **
                         *                         **
                          ****                   ***
                              * **            ***
                                * ************ *
                               * *            * *
                              * *              * *
                             * *               * *
                           ** *                 * *
                          *   ****          ****  *
                          *       ***   ****      *
                           *        **  ***      *
                            *      *      *      *
                            * ******      *******
                             *                 *

Felipe,

Trabalho hercúleo esse seu, e a qualidade apresentada não deixa dúvidas quanto à competência com a qual vem sendo executado!

Eu já pesquisei muita coisa sobre esse computador da USP no meu tempo livre (já faz uns 10 anos desde que eu andei “fuçando” furiosamente pela internet e lendo acerca do desenvolvimento da informática no nosso país). Mas o que você fez até agora já foi muito além do que eu poderia ter imaginado.

Eu assisti também ao vídeo da sua aula na Poli falando a respeito desse trabalho, e uma dúvida me surgiu: você comenta na sua palestra, que devido a restrições do espaço de memória RAM disponível no Arduino (utilizando no seu Painel um UNO, imagino? Não consegui distinguir pelo vídeo), não é possível implementar o código para emulação do Patinho Feio (o UNO só dispõe de 2KB, insuficientes para armazenar os programas do Patinho Feio mais as variáveis de programa do emulador), motivo pelo qual você chegou a mencionar algo como endereçar uma memória RAM externa - o que de imediato me fez pensar, se em um modelo Mega 2560 (com 8KB SRAM) não seria possível a execução do emulador e dos programas?

Me interessou muito essa sua proposta da realização do painel, pelo realismo do “front-end”, tanto na parte física (permitindo a interação “tátil”) quanto na lógica; seria bem legal fazer o painel ser um “Patinho Feio Slim”, com o hardware sendo emulado por uma plataforma de baixo custo e tamanho, mas com recursos mais do que suficientes para realizar esse trabalho.

Eu gostaria bastante de te ajudar com isso, tanto cedendo um Mega 2560 (devo ter uns 2 clones chineses aqui comigo) quanto colaborando na parte do código (na medida do possível). Imagino ser viável “portar” a lógica empregada na sua versão para o MAME em C para dentro do IDE Arduino, compatibilizando-a para rodar nesta plataforma através do remapeamento de E/S.

Também adorei a sua idéia, já parcialmente colocada em prática, de reproduzir todo o hardware original em PCIs unidas através de um barramento comum. Depois de ler todo esse fórum, fiquei com a impressão de que essa idéia deu uma “parada” após o desenvolvimento da CDE-3-DEBUG?
Espero que não; eu gostaria de ver isso tomando forma no mundo real. Concordo com você quanto a deixar tudo exposto, inclusive com as placas de diagnóstico plugadas (como vc mesmo mencionou no seu post).
Tem que ter LEDs piscando, CIs, serigrafia/labels e tudo o mais que atrai os olhares curiosos à mostra. Falando nisso, no seu projeto vc pretende utilizar os TTLs convencionais (se é que ainda se encontra isso por aí) ou fazer um “upgrade” para uma linha compatível, de baixo consumo (LS “Low Power” ou CMOS)?

1 curtida

Em dezembro encomendei a produção das placas CDE-3 e CDE-3-debug no website Curta Circuitos.

https://curtacircuitos.com.br/felipesanches

Seguem abaixo algumas fotos das placas e dos primeiros passos de montagem do circuito soldando conectores, soquetes, capacitores e depois instalando os chips de portas lógicas nos soquetes.

Acabei de terminar a montagem das placas CDE-3 e CDE-3-debug e elas estão funcionando :smiley:

Na foto acima a placa de deputação estimula a CDE-3 com simulando um valor 0x30 no Registrador de Instrução e um valor 0x04 no Registrador de Dados. Com esses inputs, a placa determina que se trata da instrução de armazenamento (+ARA) de dado em memória com endereçamento indexado (sinal +INDICE está ativo). Vemos também que como o registrador de dados é não-nulo, foi indicado também o sinal ativo baixo -RDZ “reg. de dados é zero”.

Os significados dessas instruções, seus opcodes e mnemônicos são resumidas nessa tabela do livro do professor Edson Fregni:

Em breve pretendo gravar um vídeo demonstrando em mais detalhes o funcionamento dessas placas.

Ontem de noite quando tentei ligar as placas pela primeira vez o circuito não funcionou corretamente. Usei um multímetro para inspecionar as soldas e o caminho do sina -RDZ e acabei concluindo que houve um erro de projeto no layout da placa CDE-3. O pino de terra (GND) do CI 74LS30 não estava ligado ao GND do conector da placa.

Abri arquivo do layout de pcb no KICAD e rodei novamente o DRC (Design Rules Checker) e percebi que na realidade havia lá um aviso sobre esse problema que eu acabei não vendo antes de mandar fabricar a placa. Eu tenho o costume de só enviar uma placa para fabricação depois de ter zerado todos os alertas do DRC, mas por algum motivo eu acabei bobeando e não vi esse alerta. Pior que isso: havia 33 alertas similares, todos referentes à interligação dos pinos de GND de todos os CIs da placa.

Bem… depois de um minutinho de tristeza, levantei a cabeça e comecei a mapear quais seriam os remendos necessários para fazer a correção na placa. Aproveitei para simultaneamente ir corrigindo o layout no KICAD de modo que eu possa ter uma placa “Rev.B” caso algum dia eu (ou alguém) queira rodar novamente esse projeto sem ter que lidar com esse erro de layout.

Depois de gastar uma horinha soldando remendos na placa o resultado (que não e bonito mais funciona) foi esse:

Depois disso, a placa funcionou corretamente.