Arqueologia Digital

Ano 1 · Ano 2 · Ano 3 · Ano 4 · Ano 5 · Ano 6 · Ano 7 · Ano 8 · Ano 9

Tópicos › Primeiro ano › Arcades: réplicas funcionais e circuitos sem CPU

Arcades: réplicas funcionais e circuitos sem CPU

O trabalho com arcades teve três frentes principais. A primeira foi a análise da CPU de motores do Galaxy Force 2 Super Deluxe, para uma réplica em miniatura movida por um Raspberry Pi. A segunda foi a réplica funcional do Golly Ghost, controlada pelo MAME. A terceira foi a transcrição dos esquemáticos do Atari Gran Trak 10, um jogo sem CPU, para o sistema de netlist do MAME, que entrou no MAME 0.201 como documentação parcial do circuito.

Primeiro ano: novembro de 2017 a outubro de 2018

Galaxy Force 2 Super Deluxe e MAME no Raspberry Pi

Felipe analisou o assembly do Z80 que controla os motores do cockpit (SEGA Y-Board) e citou PRs seus no MAME sobre essa CPU. Para a réplica em miniatura, compilou o MAME num Raspberry Pi 3, o que só foi possível com swap em ZRAM. Sob o X o desempenho foi ruim, e a tentativa com DirectFB terminou em segfault.

Arcades, pinball e videogames em lógica discreta: todos os anos ›

1 dez 2017 Engenharia reversa da CPU de motores do Galaxy Force 2 Super Deluxe ★★★

Felipe analisa o assembly do Z80 que controla os motores do cockpit giratório do Galaxy Force 2 Super Deluxe (driver segaybd.cpp do MAME). Ele identifica três grupos de endereços de escrita (0x8000, 0x9000 e 0x9400) e levanta a hipótese de que sejam canais de comunicação com o 68000 da placa principal, em que pares de escritas de 8 bits formariam valores de 16 bits; Werner nota que no bloco 0x9400 é carregado $80 em vez de $00. Em seguida orienta Werner a compilar o MAME e rodá-lo em modo debug e explica a estrutura do driver e os callbacks de saída do chip de I/O SEGA 315-5296. Cita dois PRs seus no MAME: um que mapeia os bits de porta usados como retorno do movimento dos motores (sensores de fim de curso) e outro que declara o Z80 da CPU de motores. O objetivo declarado é uma réplica em miniatura movida pelos sinais do emulador num Raspberry Pi.

Participantes: Felipe "Juca" Sanches, Werner

Ir para o início da conversa · mensagens-chave: #2118 · #2151 · #2250

1 dez 2017 Compilação e execução do MAME no Raspberry Pi 3 ★★★

Felipe compila o MAME (só o driver da SEGA Y-Board) num Raspberry Pi 3 com Debian. A compilação só passou depois de configurar 1 GB de swap comprimido com ZRAM. O MAME rodou sob o X com desempenho ruim. Felipe recompilou a SDL2 com aceleração por hardware e tentou usar o framebuffer sem X via DirectFB, compilado no próprio Pi; a tentativa terminou em segfault. Ismael Luceno observou que a SDL 1.2 suporta fbdev diretamente e a SDL 2 não. Também se discutiram displays LCD pequenos (320x240) para a réplica, o limite de desempenho de displays via SPI e o uso de frameskip.

Participantes: Felipe "Juca" Sanches, Werner, Ismael Luceno

Ir para o início da conversa · mensagens-chave: #2374 · #2534 · #2680

Réplica do Golly Ghost

Num laptop, o MAME emula a placa Namco System 2 e envia o estado de displays, LEDs e solenoides, por um script Python, a um Arduino Mega. O projeto foi apresentado numa palestra.

Arcades, pinball e videogames em lógica discreta: todos os anos ›

23 jun 2018 Réplica funcional do Golly Ghost com MAME, Arduino e solenoides ★★★

Affonso compartilhou um vídeo do painel de tempo e pontuação da réplica do Golly Ghost, gravado com Felipe. Depois Felipe mostrou os solenoides sincronizados com o jogo. O MAME, rodando num laptop, emula a placa Namco System 2 e envia à console o estado de displays, LEDs e solenoides. Um script Python repassa esses dados pela serial a um Arduino Mega, que multiplexa os displays e aciona relés. Ronaldo e Felipe discutiram o escopo de preservação do MAME: fidelidade do modelo, documentação elétrica e comportamento não determinístico. Felipe registrou que as armas do jogo, com mecanismo de recuo por solenoide, também foram usadas em Steel Gunner e Gunmen Wars. O projeto foi apresentado numa palestra.

Participantes: Felipe "Juca" Sanches, Affonso Amendola, Ronaldo

Ir para o início da conversa · mensagens-chave: #5409 · #5419 · #5437

Atari Gran Trak 10 em netlist

Felipe transcreveu os esquemáticos do Gran Trak 10 (1974), primeiro no KiCad e depois no sistema de netlist do MAME. Foi corrigindo sinais até o sprite do carro aparecer. O trabalho virou o PR #3795, com grande parte dos esquemáticos, e entrou no MAME 0.201 como documentação parcial do circuito.

Arcades, pinball e videogames em lógica discreta: todos os anos ›

21 nov 2017 Wheels II da Midway e o esquema do Gran Trak 10 ★★

Werner compartilhou material sobre o Wheels II (1975), da Midway, um jogo de corrida feito quase só com TTL e que usa uma ALU 74181. Felipe comparou com o Gran Trak 10, da Atari, indicou o relato de Ed Fries sobre o conserto de uma placa desse jogo e contou que transcreveu cerca de 40% do esquema do Gran Trak 10 no KiCad.

Participantes: Werner, Felipe "Juca" Sanches

Ir para o início da conversa · mensagens-chave: #1838 · #1854 · #1859

1 fev 2018 Taito Speed Race colorido e arcades sem CPU (GranTrak10) ★★

Felipe encaminha o relato de Augusto Almeida, que recebeu a versão colorida do Taito Speed Race, um jogo sem CPU, e pretende restaurá-lo. Felipe menciona seu projeto de transcrever para o KiCad os esquemas do Gran Trak 10 da Atari, que também não tem CPU e usa ROM só para os gráficos.

Participantes: Felipe "Juca" Sanches, Ronaldo

Ir para o início da conversa · mensagens-chave: #3874 · #3881 · #3886

16 jul 2018 Transcrição do Atari Gran Trak 10 para netlist no MAME ★★★

Felipe transcreve, num branch do seu fork do MAME, os esquemáticos do Gran Trak 10 (1974) para o sistema de netlist. A correção de um flip-flop que gerava o VSYNC errado elimina uma linha vermelha no topo da tela; depois, a correção do roteamento de um sinal de clear no gerador de sinais de vídeo melhora o resultado visual, e o sprite do carro e seu posicionamento começam a aparecer. Um participante sugere o simulador Qucs, que Felipe considera trabalho dobrado, e compartilha o service manual da Atari.

Participantes: Felipe "Juca" Sanches, Affonso Amendola, Deleted Account

Ir para o início da conversa · mensagens-chave: #6162 · #6226 · #6229

25 jul 2018 Gran Trak 10: pull request no MAME e inclusão no MAME 0.201 ★★★

Junto com o anúncio do MAME 0.200, Felipe diz que espera ter o Gran Trak 10 na versão seguinte. Ele abre o pull request #3795 com grande parte dos esquemáticos do jogo em netlist, e o MAME 0.201 sai com essa documentação parcial do circuito, que ele pretende continuar.

Participantes: Felipe "Juca" Sanches, Affonso Amendola, Rodrigo Tadeu

Ir para o início da conversa · mensagens-chave: #6608 · #7503

Netlist, TTL e FPGA

Uma busca no código do MAME encontrou 23 jogos NETLIST_CPU, que rodam com desempenho baixo. Felipe apresentou a libstickbridge, que liga software a hardware numa FPGA iCE40, e compartilhou o projeto Ambush TTL.

Arcades, pinball e videogames em lógica discreta: todos os anos ›

10 jul 2018 Jogos NETLIST_CPU no MAME e a ponte libstickbridge para FPGA iCE40 ★★★

Uma busca no código do MAME mostra 23 jogos do tipo NETLIST_CPU, feitos com lógica discreta em vez de CPU e simulados numericamente pelo MAME, com desempenho baixo. Felipe apresenta a libstickbridge, biblioteca em C que liga software (possivelmente o próprio MAME) a hardware instanciado na FPGA do iCE40 ICEStick via SPI sobre USB. Gustavo Romero e Affonso discutem placas PCI ou ISA com FPGA ou CPLD.

Participantes: Felipe "Juca" Sanches, Affonso Amendola, Gustavo Romero, Ronaldo

Ir para o início da conversa · mensagens-chave: #6024 · #6036 · #6044

21 ago 2018 Ambush TTL de Grant Haack ★

Felipe compartilha o projeto Ambush TTL, de Grant Haack.

Participantes: Felipe "Juca" Sanches, Ronaldo

Ir para o início da conversa · mensagens-chave: #7263

Placas e monitores de arcade

Felipe indicou seu post no blog do MAMEdev sobre como recuperou uma placa CPS2 de Street Fighter Zero 2 achada numa central de reciclagem. Compartilhou também esquemáticos de monitores de arcade e um vídeo sobre como adicionar entrada RGB a uma TV comum, técnica que sugeriu usar para montar um chicote JAMMA.

Arcades, pinball e videogames em lógica discreta: todos os anos ›

13 nov 2017 Placa CPS2 de Street Fighter Zero 2 recuperada ★

A conversa partiu de uma foto sobre a criação de sprites. Felipe indicou seu post no blog do MAMEdev sobre como recuperou uma placa CPS2 brasileira de Street Fighter Zero 2. A placa foi achada no lixo de uma central de reciclagem de eletrônicos em Brasília e dada a ele de presente.

Participantes: Werner, Felipe "Juca" Sanches

Ir para o início da conversa · mensagens-chave: #585 · #593

11 mar 2018 Esquemáticos de placas de monitores CRT de arcade ★

Felipe compartilhou uma coleção de manuais e esquemáticos de monitores de arcade e comentou os avisos de alta tensão e de proteção contra raios X.

Participantes: Felipe "Juca" Sanches, Aylons Hazzud, Ronaldo

Ir para o início da conversa · mensagens-chave: #4215

16 out 2018 Modificação de TV comum para entrada RGB ★

Felipe compartilha um vídeo sobre adicionar entrada RGB a uma TV de consumo e sugere usar a técnica para montar um chicote JAMMA.

Participantes: Felipe "Juca" Sanches, Rodrigo Tadeu, Nano Gennari

Ir para o início da conversa · mensagens-chave: #7893