CPU do Zero
Venha construir uma CPU discreta, do zero!
Terças-feiras 20h
2016-AGO-16
Está confirmado! Tema principal a ser discutido: Geração de sinal de vídeo
2016-AGO-09
Tivemos uma conversa longa sobre o início do projeto discreto da CPU. Juca mostrou os circuitos do sequenciador de micro-código (gerador de sinais de controle), barramento de dados, ULA, etc... Também foi apresentado o script em python para descrição dos algorítmos de micro-instruções, para implementação do instruction set desejado.
2016-AGO-02
No nosso primeiro encontro foi apresentada a proposta do desafio de se construir uma CPU discreta capaz de executar bytecode da máquina vitrual do jogo Another World. Para contextualizar, assistimos o vídeo completo da abertura do jogo no youtube e depois foi dada uma visão geral sobre o objetivo a ser alcaçado (construir uma placa JAMMA para o jogo Another World) e os subsistemas que precisarão ser projetados. Foram também apresentadas as pranchas de esquemático da CPU do computador Patinho Feio que servem de referência para técnicas de projeto lógico digital para a implementação das diversas partes de uma CPU (como unidades de controle, fluxo de dados, registradores, etc).
Nosso próximo encontro está agendado para 3a feira, 09 de Agosto e decidimos focar no estudo do subsistema de som, lendo o datasheet do chip MSM6295 e avaliando se ele é suficiente para as necessidades do jogo em questão.
Recursos Relevantes
- Página wiki do projeto da placa AnotherWorld JAMMA
- livro TOCCI - Disponível na biblioteca do Garoa
- livro do Edson Fregni (contém esquemas do Patinho Feio) "Projeto de Computadores Digitais 2a edição": PDF
- tese de mestrado de Edson Fregni "Projeto Logico da Unidade de Controle de um Minicomputador" : PDF
- Blogpost sobre disasm do bytecode do jogo Another World: blogpost
- Página do autor do jogo descrevendo a máquina virtual: website
- Reimplementação livre da máquina virtual do jogo: Another-World-Bytecode-Interpreter
- Port da VM para rodar no MAME: AnotherWorld-MAME
- Datasheet do MSM6295 (chip de som usado em máquinas arcade): datasheet
- Pinagem do conector JAMMA