Arqueologia Digital

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

Tópicos › Quarto ano › Outros projetos de engenharia reversa e software

Outros projetos de engenharia reversa e software

Além do KN5000, Felipe "Juca" Sanches tocou vários projetos menores, como os esquemáticos do Itautec I-7000 em KiCad, o editor HexItch e ideias de "refatoração de hardware" com Pinball Fantasies e Another World. Erin Pinheiro extraiu dados das ROMs dos videokês Raf, e Felipe começou a refazer em vetor o pôster de sintaxe Pascal.

Quarto ano: novembro de 2020 a outubro de 2021

Esquemáticos do Itautec I-7000

Sem acesso aos esquemáticos originais, Felipe passou a desenhá-los em KiCad a partir da placa para completar o driver do MAME, publicou o repositório e criou símbolos KiCad para os chips.

Itautec I-7000 e Itautec: todos os anos ›

15 nov 2020 Esquemáticos do Itautec I-7000 desenhados em KiCad para o MAME ★★★

Felipe "Juca" Sanches retomou o driver do Itautec I-7000 G (CP/M) no MAME e, sem esquemáticos, passou a mapear os sinais da placa-mãe com multímetro. FTMaciel relatou que o detentor dos esquemáticos originais (em formato A0) não os enviou para digitalização, e o grupo discutiu o transporte e o risco de extravio; Aylons Hazzud se ofereceu para levar os documentos a São Paulo e devolvê-los depois. Felipe publicou um repositório com os esquemáticos que está desenhando a partir da PCB e criou símbolos KiCad para NSC800D, M5L8279P-5, TMP8251AP e WD2793.

Participantes: Felipe "Juca" Sanches, Erin Pinheiro 🐿, FTMaciel, kretcheu, Aylons Hazzud, L.

Ir para o início da conversa · mensagens-chave: #11576 · #11584 · #11620

31 mai 2021 Esquemáticos do Itautec I-7000 em KiCad ★★

Felipe "Juca" Sanches relatou o quarto dia seguido de trabalho no levantamento dos esquemáticos do Itautec I-7000 em KiCad e comparou o processo a montar um quebra-cabeça de componentes.

Participantes: Felipe "Juca" Sanches

Ir para o início da conversa

ROMs dos videokês Raf

Erin Pinheiro intercalou os dumps das EPROMs do Raf VMP-3700 e extraiu fontes, strings e MIDIs; Felipe contou ter um driver incompleto do aparelho no MAME.

Outros drivers e propostas no MAME: todos os anos ›

22 jan 2021 ROMs dos videokês Raf VMP-3700: fontes, strings e MIDIs ★★★

Uma pergunta sobre a fonte usada nos videokês dos anos 2000 levou Felipe "Juca" Sanches, dono de aparelhos Raf VMP-3700 e VMP-2000S, a compartilhar os dumps das EPROMs. Erin Pinheiro intercalou as ROMs par e ímpar e extraiu com o binxelview as fontes bitmap e fragmentos do logotipo; também encontrou as strings do sistema e, com um script em Python, extraiu os MIDIs contidos na ROM. Felipe contou que tem um driver MAME incompleto do VMP-3700, parado na emulação do 386EX, e ofereceu publicar o branch.

Participantes: pitanga, Erin Pinheiro 🐿, Felipe "Juca" Sanches

Ir para o início da conversa · mensagens-chave: #12122 · #12234 · #12243

  • Dump da ROM do videokê VMP-3700 (vmp3700.u1)
  • Dump (par/ímpar) de outro videokê Raf (cmp2ks.odd_rev_6.1.u13)
  • Script para extrair os MIDIs da ROM (extract_midis.py)
  • MIDIs extraídos da ROM (videoke_midis.zip)
  • Binxelview, visualizador de imagens em binários

Pôster de sintaxe Pascal

Felipe testou gerar os diagramas com o script bubble-gen do SQLite, vetorizou o logotipo "Pascal" em domínio público e criou o repositório PascalSyntaxPoster para redesenhar o pôster.

Programação para plataformas antigas: todos os anos ›

28 abr 2021 Vetorização do pôster de sintaxe Pascal da Apple ★★★

L. perguntou quão trabalhoso seria refazer no Inkscape o pôster de diagramas de sintaxe Pascal. Felipe "Juca" Sanches testou gerar os diagramas com o script Tcl bubble-gen do SQLite, e L. sugeriu o pikchr. Felipe vetorizou o logotipo "Pascal" em 3D e publicou o pascal3d.svg em domínio público; diante dos casos especiais na geração automática, passou a desenhar o diagrama à mão e criou o repositório PascalSyntaxPoster. Felipe lembrou que ele e Aylons Hazzud haviam vetorizado um cartaz sobre eletromagnetismo cerca de 15 anos antes e perderam o trabalho; Aylons compartilhou o repositório spectrum-poster.

Participantes: L., Felipe "Juca" Sanches, Aylons Hazzud, Erin Pinheiro 🐿, Leonardo Roman, Ismael Luceno

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

ROM homebrew para o mixer Sony DFS-500

Felipe pretendia usar o GCC ia16 para escrever ROMs homebrew para o painel do mixer, com CPU NEC V20, emulado no MAME.

Outros drivers e propostas no MAME: todos os anos ›

28 jun 2021 GCC ia16 para ROM homebrew do mixer Sony DFS-500 ★★

Felipe "Juca" Sanches pretendia compilar o port do GCC para x86 de 16 bits para escrever ROMs homebrew para o painel do mixer de vídeo Sony DFS-500, que usa uma NEC V20 e está sendo emulado no MAME. Ele compartilhou também o artigo sobre o microcódigo do 8086 desmontado, e L. destacou os comportamentos não documentados descritos ali, como o prefixo REP negando o resultado de MUL/IMUL e o quociente de IDIV.

Participantes: Felipe "Juca" Sanches, RicBit, L.

Ir para o início da conversa · mensagens-chave: #13521 · #13523 · #13530

Pinball Fantasies como firmware de placa

Felipe notou que o Pinball Fantasies força o volume da Sound Blaster 16 no seu 386, e L. compartilhou o código do port para MS-DOS. Juca propôs carregar uma mesa do jogo sem o MS-DOS, como firmware de uma placa controladora de pinball, ideia que seria validada num fork do MAME.

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

28 mar 2021 PC 386 com DOS 5 e Windows 3.1: SYSTEM.INI e Sound Blaster ★★

Felipe "Juca" Sanches arranjou um 386 com DOS 5 e Windows 3.1. Depois de abrir e cancelar por engano o configurador do Windows, o Windows passou a acusar configuração incompleta; ele o recuperou trocando o SYSTEM.INI pelo backup SYSTEM.000. Também notou que o Pinball Fantasies força o mixer da Sound Blaster 16 ao volume máximo, o que levou a uma conversa sobre a qualidade de ports.

Participantes: Felipe "Juca" Sanches, Flávio Amieiro, Erin Pinheiro 🐿, RicBit

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

27 set 2021 Código do Pinball Fantasies e revista BYTE digitalizada ★

L. compartilhou o repositório com o código-fonte do port de Pinball Fantasies para MS-DOS e perguntou se Felipe "Juca" Sanches o tinha enviado ao archive.org, o que ele negou. L. também compartilhou o acervo digitalizado da revista BYTE no vintageapple.org, que Shideravan sugeriu como material para o Datassette.

Participantes: L., Felipe "Juca" Sanches, Shideravan

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

6 out 2021 Carga de .EXE no MS-DOS e o Pinball Fantasies standalone ★★

Juca perguntou como o MS-DOS carrega e executa um .EXE e como se roda um programa maior que o espaço de endereçamento de um segmento. Kretcheu indicou o pev. Ismael Luceno explicou o cabeçalho do .EXE, a carga de segmentos e os loaders do DJGPP e do FreeDOS. Juca descreveu a ideia de carregar uma mesa do Pinball Fantasies sem o MS-DOS, substituindo as chamadas do DOS e da VGA BIOS, para fazer do jogo o firmware de uma placa controladora de pinball. A ideia seria validada com um emulador da placa num fork do MAME. RicBit sugeriu um emulador num Raspberry Pi, e Ismael lembrou a questão do copyright.

Participantes: Felipe "Juca" Sanches, Ismael Luceno, kretcheu, RicBit

Ir para o início da conversa · mensagens-chave: #16193 · #16208 · #16213

Another World

Felipe pediu a Toy que examinasse um bug nas ferramentas de disassembly do jogo e descreveu o projeto AnotherWorld_JAMMA, uma CPU que executaria o bytecode da VM do jogo.

Another World: todos os anos ›

9 ago 2021 Bug nas ferramentas AnotherWorld_VMTools ★

Felipe "Juca" Sanches pediu a Toy que examinasse uma issue (IndexError) nas ferramentas de disassembly do jogo Another World, reportada por um usuário. Toy aceitou verificar.

Participantes: Felipe "Juca" Sanches, Toy

Ir para o início da conversa

13 out 2021 Arquiteturas de linguagem de alto nível e a CPU do Another World ★★★

Partindo do 68000 e das máquinas Lisp, discutiu-se arquiteturas de computador de linguagem de alto nível e se é viável fazer análise sintática em hardware. RicBit contou ter feito um analisador sintático em FPGA no chip de som do Dona Barata e citou as máquinas de Mealy. Juca descreveu o projeto AnotherWorld_JAMMA, uma CPU que executaria o bytecode da VM do Another World, com duas abordagens. A primeira usa esquemáticos em KiCad de uma CPU microprogramada; a segunda, três Z80 e um esboço de driver de MAME.

Participantes: Felipe "Juca" Sanches, Shideravan, Aylons Hazzud, Ismael Luceno, RicBit, Deleted Account

Ir para o início da conversa · mensagens-chave: #16686 · #16720 · #16732

HexItch

Juca programou em lives um clone livre do editor hexadecimal HexIt, em Python e curses, e Ismael Luceno passou a contribuir com o modo de código e a navegação.

Ferramentas e técnicas de engenharia reversa: todos os anos ›

8 out 2021 HexItch: clone livre do editor hexadecimal HexIt ★★★

Juca começou o HexItch, clone em Python e curses do HexIt, editor hexadecimal proprietário do MS-DOS, e o programou em quatro lives no YouTube. Ele planejava usar o pybfd3 para desmontar binários de várias arquiteturas. Depois, Ismael Luceno passou a contribuir com o modo de código (CodeMode) e a navegação e enviou um pull request.

Participantes: Felipe "Juca" Sanches, Pedro de Medeiros 👾, L., Ismael Luceno, Deleted Account, Shideravan

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