Patinho Feio

De Garoa Hacker Clube
Revisão de 16h34min de 17 de março de 2017 por Juca (discussão | contribs) (→‎Próximos Passos)
Ir para navegação Ir para pesquisar

Intrudução

O Patinho Feio é considerado um dos primeiros computadores brasileiros, totalmente projetado e construído no país no início da década de 70<ref>http://www2.pcs.usp.br/pcsv6/index.php/institucional/historia-depto</ref>.

Foi projetado e construído na Escola Politécnica da USP, pela equipe do antigo Laboratório de Sistemas Digitais (atual Departamento de Engenharia de Computação e Sistemas Digitais), entre os anos de 1971 e 1972.

https://pt.wikipedia.org/wiki/Patinho_Feio

Documentação técnica

Em Novembro de 2015 eu (Juca) tive acesso a um documento técnico sobre o montador (assembler) do Patinho Feio. Mais detalhes

O documento está disponível neste repositório do GitHub.

Um relato mais completo desse trabalho está sendo feito neste fórum.

Próximos Passos

Réplica do Garoa

Objetivo: Montar a réplica em miniatura do painel do Patinho Feio para instalar numa parede do Garoa.

  • Juca: trazer o painel para o Garoa (está em uma loja de quadros aguardando a instalação de uma moldura)
  • Comprar botões, chaves e componentes eletrônicos
  • instalá-los no painel
  • Juca e Tiago: portar o emulador do MAME para o Arduino em: https://github.com/felipesanches/PatinhoFeio_Arduino/
  • projetar pequenas PCBs para facilitar a instalação dos LEDs controlados por shift-registers
  • produzir as placas e soldar os componentes
  • ligar a fiação das chaves e botões
  • adaptar o código do arduino para fazer a leitura das chaves e botões
  • ligar um display LCD para simular a saída de texto na Teletype

Transcrição dos esquemáticos

Objetivo: Gerar um desenho completo dos esquemáticos do computador usando o KICAD.

Construir uma réplica do computador

Objetivo: Reconstuir o computador usando as técnicas da época (chips TTL, PCBs com componentes through-hole).

Este projeto depende, em parte, da transcrição completa dos esquemáticos, descrita acima. Como o sistema é modular, dá pra já ir fazendo essa parte. A placa CDE-3 já foi projetada. Falta:

  • Rodar um protótipo da placa CDE-3 e da placa de debugging CDE-3-debug.
  • Desenhar a PCB das demais placas
  • rodar cada uma delas
  • testar placas independentemente
  • testar as placas interligadas.

Recriar o computador em FPGA

Objetivo: Descrever o computador em VHDL (ou qualquer outra linguagem de descrição de hardware) e instanciá-lo em uma FPGA.

  • Depende também da transcrição completa dos esquemáticos, descrita acima.
  • Aylons está planejando fazer uma parte desse projeto durante o Garoa Hacker Camp 2017

Escaneamento de documentação técnica

Melhorar a emulação no MAME

Objetivo: Corrigir os erros de emulação da implementação atual do driver do Patinho Feio no MAME.

Bug conhecidos:

  • Interfaceamento com periféricos não está corretamente implementado. Funciona para a teletype, mas é preciso revisar o código em comparação com os esquemáticos.
  • Emulação é feita no nível de instruções e, portanto, as luzes e botões do modo de execução "ciclo único" não funcionam ainda. É necessário re-escrever essa parte do emulador para levar as fases de micro-operações da CPU em consideração.
  • O layout visual está feio. Hoje em dia é possível utilizar SVG para o desenho dos layouts, e já temos um SVG que foi usado para fabricar a réplica em miniatura. Então podemos tentar usá-lo também no MAME.

Simular o sintetizador musical

Objetivo: Fazer o MAME tocar música numa simulação do sintetizador musical do professor Guido Stolfi.

Status deste sub-projeto:

  • Já temos acesso às fitas perfuradas contendo o código fonte (e o executável) do programa de controle do sintetizador.
  • Temos também fitas com dados de partituras musicais, e algumas descrições de como funciona o protocolo de comunicação.
  • Temos ainda rascunhos de esquemáticos eletrônicos (manuscritos) de como funciona a eletrônica do sintetizador musical

O que falta fazer:

  • Entender o código fonte do programa executor de partituras
  • Escrever um simulador do sintetizador
  • Emular o interfaceamento do emulador do Patinho Feio com o simulador do sintetizador musical