Repositório contendo documentação técnica sobre o Patinho Feio, um computador pioneiro brasileiro desenvolvido na Escola Politécnica da USP em 1971 e inaugurado em 1972.
Para uma introdução mais direta ao projeto de desenvolvimento do "Patinho Feio" assista ao vídeo "A história do Patinho Feio" no canal da Escola Politécnica da USP no Youtube.
- Dissertação de mestrado do professor Edson Fregni, de 1972
- Contém descrição detalhada do projeto da unidade de controle do Patinho Feio
- Inclui cartas de tempo das micro-instruções da CPU
- Contém esquemáticos dos circuitos de implementação da CPU
- Disponível em https://archive.org/details/ProjetoLogicoDaUnidadeDeControleDeUmMinicomputador
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Projeto_Logico_da_Unidade_de_Controle_de_um_Minicomputador__EFregni_1972
- Relatório sobre representação de notação musical para armazenar partituras a serem tocadas no sintetizador do Guido Stolfi
- Autores: João José Neto e Eloah
- Disponível em https://archive.org/details/Relatrio1_1974-DEZ-26
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/SintetizadorGuidoStolfi
1974: MARIA ALICE GRIGAS VARELLA FERREIRA. "Sistema de Programação 'Cross-Montador' para um minicomputador"
- Dissertação de Mestrado - EPUSP, 1974.
- Digitalizado a partir de exemplar da Biblioteca Eng. Elétrica EPUSP: FD-85
- Disponível em https://archive.org/details/SistemaDeProgramacaoCrossMontadorParaUmMinicomputador
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Sistema_de_Programacao_Cross-Montador_para_um_Minicomputador__MariaAliceFerreira__1974
1974: ANTONIO MARCOS DE AGUIRRA MASSOLA. "Automação de Projeto de Sistemas Digitais: Simulação em Nível de Portas Lógicas"
- Tese de Doutorado - EPUSP, 1974
- Escaneado a partir de exemplar da Biblioteca Eng. Elétrica EPUSP: FT-441
- Disponível em: https://archive.org/details/AutomacaoDeProjetoDeSistemasDigitaisSimulacaoEmNivelDePortasLogicas
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Automacao_de_Projetos_de_Sistemas_Digitais__Simulacao_em_Nivel_de_Portas_Logicas__Massola_1974
- A dissertação de mestrado "Aspectos do Projeto de Software de um Minicomputador" de JJNeto (1975) apresenta os diversos componentes de software que foram desenvolvidos para o Patinho Feio, incluindo montador, desmontador, debugger e outras ferramentas.
- Disponível em https://archive.org/details/AspectosDoProjetoDeSoftwareDeUmMinicomputador
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Aspectos_do_Projeto_de_Software_de_um_Minicomputador__JJNeto_1975
- Dissertação de Mestrado - EPUSP, 1975.
- Escaneado de exemplar da Biblioteca Eng. Elétrica EPUSP: FD-104
- SINOPSE: Após considerações gerais sobre microprogramação, esta dissetação apresenta as técnicas de microprogramação adotadas no computador G-10. São discutidos os compromissos entre implementação por hardware, software e mocroprogramação, bem como a otimização das instruções no G-10. Estuda-se a emulação do computador IBM 1130 concluindo-se por sua viabilidade, e analisa-se o desempenho resultande. Apêndices apresentam as micro-ordens e listagens de exemplos de mocroprogramas do G-10 e do emulador do IBM 1130.
- Disponível em: Procedimentos_Microprogramados_num_Minicomputador__EGrassiani_1975.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Procedimentos_Microprogramados_num_Minicomputador__EGrassiani_1975
- Dissertação (Mestrado em Engenharia) – EPUSP, 1975.
- Digitalizado a partir de exemplar da Biblioteca Eng. Elétrica EPUSP: FD-87 e.2
- Disponivel em: Projeto_de_um_Processador_Central_Microprogramado__WRuggiero_1975.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Projeto_de_um_Processador_Central_Microprogramado__WRuggiero_1975
- Dissertação de Mestrado - EPUSP, 1976.
- Digitalizado a partir de exemplar da Biblioteca Eng. Elétrica EPUSP: FD-147 e.2
- Disponivel em: Software_de_um_Minicomputador__Sistema_Basico_de_Controle__BenicioJSouza_1976.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Software_de_um_Minicomputador__Sistema_Basico_de_Controle__BenicioJSouza_1976
- Este manual técnico foi o primeiro material relativo ao projeto do Patinho Feio que (eu, Felipe Sanches) tive acesso. Foi com base nas informações contidas aqui que grande parte do emulador do Patinho Feio junto ao projeto MAME foi desenvolvido. Os demais documentos foram (e continuam sendo) úteis para aprimorar o emulador e para complementar as informações técnicas.
- PDF disponível em: Montador_do_Patinho_Feio__Julho1977.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Montador_do_Patinho_Feio__Julho1977/
- Dissertação (EPUSP), 1977. FD-175
- Contém exemplo de posicionamento de componentes numa das placas do Patinho - Prancha XII
- PDF disponível em: Automação_de_Projetos_de_Sistemas_Digitais__Posicionamento_de_Componentes__Selma_Shimizu_1977.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Automacao_de_Projetos_de_Sistemas_Digitais__Posicionamento_de_Componentes__Selma_Shimizu_1977
- Recebi em 10/Maio/2016 autorização do prof. Edson Fregni para escaneamento e publicação na internet da íntegra do livro "Projeto de Computadores Digitais" de Edson Fregni e Glen George Langdon Jr. (com publicação original impressa em 1974 e reimpressões em 1977 e 1979)
- PDF disponível em: Projeto_de_Computadores_Digitais_2a_ed__EFregni_GLangdonJr_1974__reimpressao_de_1979__escaneamento_incompleto.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://gitlab.com/fsanches/Projeto_de_Computadores_Digitais_2a_ed
- Escaneamento do caderno "Manual do Sintetizador" (também identificado como "Anexo 6.11").
- Disponivel em: Manual_do_Sintetizador__Guido_Stolfi.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/Manual_do_Sintetizador__Guido_Stolfi
1979: GUIDO STOLFI: "Descrição de um Sistema Modular de Sintese de Sons Com Controle Automático Por Computador"
- Visão geral sobre o Sintetizador de Guido Stolfi e sua integração aos computadores Patinho Feio e HP21MX.
- Contém fotos em preto-e-branco do sintetizador
- Contém alguns esquemáticos e equações de filtros
- PDF disponível em: Descrição_de_um_Sistema_Modular_de_Sintese_de_Sons_Com_Controle_Automático_Por_Computador__Guido_Stolfi__1979.pdf
- Arquivos originais do escaneamento (para gerar imagens de maior resolução) disponíveis em: https://github.com/felipesanches/SintetizadorGuidoStolfi
- Em 2003, Marcia de Oliveira Cardoso desenvolveu uma dissertação de mestrado entitulada "O Patinho Feio como construção sociotécnica", defendida no Instituto de Matemática da Universidade Federal do Rio de Janeiro – IM/UFRJ.
- [Dissertação completa] O_Patinho_Feio_como_Construção_Sociotécnica__Marcia_de_Oliveira_Cardoso__2003_dissertação_de_mestrado_UFRJ.pdf
- [Resumo para apresentação em congresso] O_Patinho_Feio_como_Construção_Sociotécnica__Marcia_de_Oliveira_Cardoso__2003_JoaoPessoa_XXII_ANPUH.pdf
- Em Maio de 2016 o professor João José Neto fez um esforço para transcrever, com base em memórias, trechos do programa micro-pré-loader. Este documento é um relatório que documenta este esforço e contém a listagem resultante. Existe, entretanto, a possibilidade de haver erros nessa listagem, devido à incerteza sobre a precisão das memórias de cerca de 4 décadas.
- PDF disponível em: Micro_Pré_Loader_do_Pato__JJN_2016-05-06.pdf
- Em Mrio de 2016 o professor João José Neto encontrou em meio a seus pertences e transcreveu um documento antigo contendo a listagem do micro-pré-loader de autoria de Moshe Bain.
- PDF disponível em: Micro_pré_loader__Moshe_Bain_1977_07_21.pdf
Video da Escola Politécnica da Universidade de São Paulo sobre o desenvolvimento do projeto Patinho Feio disponível neste link: https://www.youtube.com/watch?v=wQ22Ymo0Spk
No diretório "binários" estão arquivos binários de programas para o Patinho:
- programa absoluto para ser carregado no endereço /E00
- Programa HEXAM, para manipular dados da memória por meio do console da teletype.
- transcrito da listagem do apendice g do manual do montador.
- CRC(e608f6d3)
- SHA1(3f76b5f91d9b2573e70919539d47752e7623e40a)
- programa absoluto para ser carregado no endereço /006
- programa "hello world" extraído da página 16.7 do manual do montador. Imprime "PATINHO FEIO" na DECWRITER.
- CRC(0a87ac8d)
- SHA1(7c35ac3eed9ed239f2ef56c26e6f0c59f635e1ac)
- programa absoluto a ser carregado no endereço /F80
- mero "placeholder". Arquivo inteiramente composto de zeros.
- O loader original da década de 70 ainda não foi encontrado.
- CRC(c2a8fa9d)
- SHA1(0ae4f711ef5d6e9d26c611fd2c8c8ac45ecbf9e7)
- programa absoluto a ser carregado no endereço /000
- implementação mínimalista para facilitar a sua introdução manual pelo operador do computador em situações de bootstraping.
- Resgatado com base em memórias do professor João José Neto em Maio de 2016. Portanto, pode conter erros.
- CRC(1921feab)
- SHA1(bb063102e44e9ab963f95b45710141dc2c5046b0)
Segue abaixo uma lista de documentos (possivelmente) relacionados direta ou indiretamente ao Patinho Feio mas que ainda não foram escaneados.
- Listagens do montador cruzado da prof. Maria Alice. Rodava no IBM-1130 e gerava código objeto do Patinho Feio em cartão perfurado. O HP2116B era usado para converter os cartões para código objeto em fita perfurada.
- Manuscritos do acervo pessoal de Guido Stolfi
- Manuscritos do acervo pessoal de João José Neto
- RANZINI, EDITH "Projeto e Ensaio de Memórias de Núcleos de Ferrite" Dissertação de Mestrado - EPUSP, 1975. DISPONIVEL: Biblioteca Eng. Elétrica EPUSP: FD-105
- KOVACH, STEPHAN "Projeto de Um Sistema de Entrada e Saída de um Minicomputador" Dissertação de Mestrado - EPUSP, 1975. - DISPONIVEL: Biblioteca Eng. Elétrica EPUSP: FD-122 ex.2 "[...] descreve-se a estrutura do sistema de entrada e saída do minicomputador G-10, e em particular, o projeto de dois canais que fazem parte do sistema."
- PINHEIRO, WANNER MONTEIRO "A linguagem Assembler do Patinho Feio" Publicação interna do Lab. de Sistemas Digitais (EPUSP), 1974.
- TACHIBANA, MÁRIO "Carregador Relocável para o Computador Pato Feio" Publicação interna do Lab.Digitais, 1974
- Moshe Bain - um trabalho sobre o uso do Patinho Feio como RJE (Remote Job Entry) para o computador Borroughs B6700 que ficava localizado no CCE-USP (Centro de Computação Eletronica). Talvez tenha sido publicado nos anais de ~1976 da SUCESU. (dica do Tião)
- Resolução do trabalho final da cadeira de arquitetura de computadores PEL-727 (projeto de sistemas digitais), 1971. Uma versão escaneada encontra-se nos anexos da dissertação de Marcia de Oliveira Cardoso, 2003, mas seria desejável re-escanear o documento em uma resoluçao melhor.
- Áudio e/ou transcrições das entrevistas de Marcia de Oliveira Cardoso, caso existam.
- LANGDON, Glen George. Computer Design. San Jose, CA: Computeach Press Inc. 1982. 577 p.
- Codificador de Partitura para o sintetizador (GStolfi tem binário e listagem armazenados em fita perfurada)
- Acervo pessoal de fitas perfuradas de João José Neto
- Acervo pessoal de fitas perfuradas de Sebastião Barreto
- Acervo pessoal de fitas perfuradas de Guido Stolfi
- Acervo pessoal de fitas perfuradas de Selma Shimizu
- Loader/Carregador Relocável (listagem e/ou fita binária)
- acervos pessoais de fitas perfuradas de outros pesquisadores (para serem digitalizadas)
- Tião mencionou que Mario Tachibana escreveu em Patol um programa gerador de comandos CNC para uma máquina que fazia furos em PCBs. Há uma história interessante sobre um bug no compilador de Patol (de autoria do Tião e do Charlie Lin) que foi detectado pelo Mário durante o desenvolvimento do software de CNC.
- NETO, JOÃO JOSÉ. "SPD : um sistema automático de apoio ao projeto e desenvolvimento de sistemas digitais." Tese de Doutorado, 1980. (Bibl. Poli-Elétrica FT-452) http://dedalus.usp.br/F/X3PQ1FBIYLQ6VRV6NX6QPPVU5M414BH4GFD1L5FLI9HX4MAYIP-01055?func=full-set-set&set_number=005347&set_entry=000118&format=999
- MARTINI, JOSÉ SIDNEI COLOMBO. "Automação de projetos de sistemas digitais : rotas de circuito impresso" (Bibl. Poli-Elétrica FD-101) http://dedalus.usp.br/F/X3PQ1FBIYLQ6VRV6NX6QPPVU5M414BH4GFD1L5FLI9HX4MAYIP-11222?func=full-set-set&set_number=007973&set_entry=000005&format=999
- CUNHA JUNIOR, NESTOR DE MATOS. "Automação de projetos de sistemas digitais : partição de circuitos lógicos." (Bibl. Poli-Elétrica FD118) http://dedalus.usp.br/F/X3PQ1FBIYLQ6VRV6NX6QPPVU5M414BH4GFD1L5FLI9HX4MAYIP-08231?func=full-set-set&set_number=008208&set_entry=000013&format=999
- MASSOLA, ANTONIO MARCOS DE AGUIRRA. "Automacao de projetos de sistemas digitais : arquivo central." Tese de livre-docência (Bibl. Poli-Elétrica FT241) http://dedalus.usp.br/F/X3PQ1FBIYLQ6VRV6NX6QPPVU5M414BH4GFD1L5FLI9HX4MAYIP-01939?func=full-set-set&set_number=008367&set_entry=000048&format=999
- MARTUCCI JUNIOR, MOACYR. "Projeto de uma memória monolítica : recurso para ampliação da memória principal de um minicomputador." (Bibl. Poli-Elétrica FD904) http://dedalus.usp.br/F/X3PQ1FBIYLQ6VRV6NX6QPPVU5M414BH4GFD1L5FLI9HX4MAYIP-16877?func=full-set-set&set_number=008678&set_entry=000049&format=999