Arqueologia Digital

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

Tópicos › Quinto ano › Another World, Pense Bem e outros projetos de engenharia reversa

Another World, Pense Bem e outros projetos de engenharia reversa

Felipe "Juca" Sanches retomou o AnotherWorld_VMTools e a VM do Another World no MAME e começou a examinar as versões de Mega Drive e Symbian. No Pense Bem, tentou sem sucesso extrair o firmware do Zilog Z8 e publicou o simulador com um novo desenho em SVG. Houve também propostas de disassembly e a busca de ferramentas para o TLCS900, processador do teclado Technics KN5000.

Quinto ano: novembro de 2021 a outubro de 2022

Another World e o AnotherWorld_VMTools

Felipe consertou as ferramentas, atualizou a VM no MAME, começou os save states, começou a extrair assets da ROM de Mega Drive, desempacotou uma demo do port para Symbian e reorganizou o toolchain com um diretório por release. Houve ainda discussões sobre os limites da VM, a ideia de um port para Vectrex, Heart of the Alien, um pedido de port para MiSTer e uma live no Python Lab do Garoa.

Another World: todos os anos ›

23 fev 2022 Pedido de port do AnotherWorld_FPGA para o MiSTer ★

Felipe "Juca" Sanches indicou a Aylons Hazzud uma issue que pergunta sobre um port do AnotherWorld_FPGA para o MiSTer (placa DE-10 Nano) e uma postagem sua no fórum do MiSTer, ainda aguardando aprovação. Aylons pediu tempo para pensar.

Participantes: Felipe "Juca" Sanches, Aylons Hazzud

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

20 mar 2022 Retomada do AnotherWorld_VMTools e da VM do Another World no MAME ★★★

Felipe "Juca" Sanches consertou o AnotherWorld_VMTools, que voltou a gerar o disassembly do bytecode da versão MS-DOS. Também atualizou a VM do Another World no seu branch do MAME, que ficou funcional exceto por um bug no scroll vertical, e começou a implementar save states (faltava salvar o estado do tracker de música). Compartilhou um SVG da code wheel do jogo, montado em 2017. Indicou a Toy issues em aberto, entre elas a comparação das versões Amiga e MS-DOS, e abriu novas issues no AnotherWorld_VMTools.

Participantes: Felipe "Juca" Sanches, Pedro de Medeiros 👾, Toy, L.

Ir para o início da conversa · mensagens-chave: #19346 · #19376 · #19382

30 mar 2022 AnotherWorld_VMTools: versão de Mega Drive, port de Symbian e refatoração ★★★

Felipe "Juca" Sanches refatorou o codificador/decodificador de polígonos e passou a marcar com labels JUNK as rotinas inalcançáveis do bytecode. Começou a extrair assets da ROM de Mega Drive, cujo bytecode difere do da versão MS-DOS, e desempacotou com binwalk o instalador .sis de uma demo do port para Symbian, com polígonos ligeiramente diferentes. Por fim, reorganizou o toolchain com um diretório por release, contendo labels, código vestigial, rotinas de assets e checksums.

Participantes: Felipe "Juca" Sanches, L.

Ir para o início da conversa · mensagens-chave: #19448 · #19475 · #19482

12 abr 2022 Limites da VM do Another World e ideias de homebrew e port para Vectrex ★★

Felipe "Juca" Sanches descreveu a VM do Another World: 256 palavras de 16 bits de RAM, 64 threads cooperativas e assets em barramentos somente leitura. Discutiu um superset com instruções para manipular os dados dos barramentos de assets, a ideia de um Tetris com símbolos da code wheel usando o assembler do AWVMTools e a viabilidade de portar a VM para o Vectrex; Erin Pinheiro sugeriu um microcontrolador no cartucho. Ismael Luceno sugeriu uma segunda VM para gerar assets, ligada por SFRs.

Participantes: Felipe "Juca" Sanches, L., Erin Pinheiro 🐿, RicBit, Ismael Luceno

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

17 abr 2022 Heart of the Alien e a engine livre hota ★

Shideravan sugeriu usar a VM do Another World para portar a continuação Heart of the Alien, lançada só para Sega CD nos EUA. Felipe "Juca" Sanches disse que, se fizesse um remake, preferiria recontar a história de outro jeito. Ao olhar o código da engine livre hota, com a qual havia jogado, constatou que é um disassembly do original traduzido para C.

Participantes: Shideravan, Felipe "Juca" Sanches, Flávio Amieiro

Ir para o início da conversa · mensagens-chave: #19667 · #19689 · #19692

9 mai 2022 Live do Python Lab sobre a VM do Another World ★★

Felipe "Juca" Sanches compartilhou a gravação de sua live no Python Lab do Garoa sobre a máquina virtual do jogo Another World, com participação de João Carlos. L. sugeriu gerar código Python a partir do bytecode, já que o jogo não tem código automodificável, e Felipe sugeriu implementar as instruções de break com yield, aproveitando a multitarefa cooperativa; L. lembrou também de funções async.

Participantes: Felipe "Juca" Sanches, João Carlos, L.

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

Pense Bem: firmware, ATmega e simulador

Felipe mostrou o Pense Bem 2017 e contou que queimou o Zilog Z8 ao tentar extrair seu firmware. Ele pensa em substituí-lo por um ATmega. O simulador em JavaScript ganhou um desenho em SVG do ilustrador Alekhine Z e uma correção no cálculo das respostas.

Pense Bem: todos os anos ›

13 nov 2021 Pense Bem 2017: um "Arduino" na carcaça do Pense Bem ★

Diante da sugestão de montar um Raspberry Pi num Pense Bem quebrado, Felipe "Juca" Sanches disse que já fez algo parecido com ATmega e que o Pense Bem 2017 é justamente um "arduino" dentro da carcaça do Pense Bem; mostrou um vídeo de primeiros experimentos de programação nesse modelo.

Participantes: Felipe "Juca" Sanches, Deleted Account, Augusto Almeida

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

24 nov 2021 Pense Bem: dump do Zilog Z8, troca por ATmega e relógio-despertador ★★★

Felipe "Juca" Sanches contou que tem 29 Pense Bems e planeja uma instalação artística com todos em rede. Explicou que o modelo dos anos 1980 usa um Zilog Z8 (não Z80) e que, ao tentar extrair seu firmware por um suposto modo de teste de fábrica, não conseguiu o dump e queimou o chip. Disse que pensa em trocar o Z8 por um ATmega numa pequena placa adaptadora e mostrou em vídeo um Pense Bem funcionando como relógio, ainda sem a lógica de despertador.

Participantes: Felipe "Juca" Sanches, Pablo Vasques Bravo-Villalba, Shideravan, P. M, Leonardo Roman, Pedro de Medeiros 👾

Ir para o início da conversa · mensagens-chave: #17942 · #17947 · #17968

17 fev 2022 Nova arte em SVG para o simulador do Pense Bem ★★

Felipe "Juca" Sanches combinou uma troca com o ilustrador Alekhine Z: um desenho em SVG do Pense Bem para o simulador em JavaScript, em troca de um timer de xadrez programado por ele (chess-timer). O ilustrador mandou prévias e depois recomeçou o desenho sob outro ponto de vista. Felipe e L. discutiram mostrar os livros de atividades ao lado do simulador e detectar automaticamente as regiões das perguntas.

Participantes: Felipe "Juca" Sanches, L., Shideravan, Deleted Account, Ismael Luceno, Pablo Vasques Bravo-Villalba

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

28 fev 2022 Simulador do Pense Bem com o novo SVG publicado ★★

Felipe "Juca" Sanches publicou o simulador do Pense Bem com o novo desenho em SVG, mantendo os ids de segmentos do simulador original, e corrigiu o algoritmo de cálculo das respostas. Ele próprio apontou problemas de áudio no navegador do celular e serrilhado na renderização do SVG; pitanga relatou que no seu navegador o áudio ficou razoável. Quando L. ofereceu acesso de escrita ao repositório, Felipe propôs migrá-lo para a organização ArqueologiaDigital. Em resposta a Toy, indicou a página labs.hardinfo.org/pb/ com detalhes sobre o simulador.

Participantes: Felipe "Juca" Sanches, L., pitanga, Toy

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

Technics KN5000, TLCS900 e toolchains

Felipe disse que pretendia retomar o port do binutils para o TLCS900 e procurou o compilador da Toshiba, que Leonardo Roman apontou no archive.org. Ismael Luceno buscou ajuda para portar o gcc-ia32 (x86 de 16 bits) para o GCC 12.

Teclados Technics (KN5000, KN7000 e outros): todos os anos ›

6 jan 2022 Cena homebrew do Nintendo Switch ★

Felipe "Juca" Sanches comprou um Switch OLED e perguntou se há desenvolvimento homebrew na plataforma. Shideravan descreveu a cena: CFW instalados por meio de exploits, como o fusee-gelee, ports de jogos e emuladores, e diferenças entre revisões de hardware. Felipe mencionou que pretende retomar o port do binutils para o TLCS900, processador do teclado Technics KN5000.

Participantes: Felipe "Juca" Sanches, Shideravan, Ricardo Bánffy

Ir para o início da conversa · mensagens-chave: #18562 · #18579 · #18587

5 mai 2022 Porte do gcc-ia32 (x86 de 16 bits) para o GCC 12 ★

Ismael Luceno procurou ajuda para portar o gcc-ia32, suporte a x86 de 16 bits no GCC, para o GCC 12, começando pelo modo standalone. Perguntado por Pedro de Medeiros sobre C++17, disse que em teoria seria possível, mas que o runtime é bem mais complexo.

Participantes: Ismael Luceno, Pedro de Medeiros 👾, Felipe "Juca" Sanches

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

12 mai 2022 Compilador TLCS900 da Toshiba para o projeto KN5000 ★★

Felipe "Juca" Sanches procurava o compilador proprietário da Toshiba para TLCS900, e Leonardo Roman apontou a cópia no archive.org. Felipe disse que não conseguiu rodá-lo pelo Wine e não lembrava como tinha feito isso antes. Também indicou o tópico do fórum sobre desenvolvimento homebrew para o teclado Technics KN5000.

Participantes: Felipe "Juca" Sanches, Leonardo Roman, João Carlos

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

Tecnoponta Park, firmware de cartão SD e hexitch

Felipe propôs fazer o disassembly do utilitário Tecnoponta Park para MS-DOS e disse que gostaria de emular o firmware de um cartão SD com display. Ismael Luceno disse que voltaria ao projeto hexitch.

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

29 nov 2021 Missão: disassembly do Tecnoponta Park para MS-DOS ★★

Felipe "Juca" Sanches propôs fazer o disassembly do utilitário Tecnoponta Park, para MS-DOS, para descobrir se ele realmente estacionava o cabeçote do disco rígido, e indicou o binário no Datassette. Ismael Luceno citou chamadas de interrupção relacionadas a parking (inclusive em drives ESDI), observou que o programa é um EXE grande, aparentemente escrito em assembly, e disse que tentaria analisá-lo com o r2ghidra; Augusto Almeida sugeriu IDA Pro ou Ghidra.

Participantes: Felipe "Juca" Sanches, Erin Pinheiro 🐿, Deleted Account, Pablo Vasques Bravo-Villalba, Ismael Luceno, Augusto Almeida

Ir para o início da conversa · mensagens-chave: #18010 · #18016 · #18022

16 dez 2021 Cartão SD com display de espaço livre e mídias falsificadas ★

Felipe "Juca" Sanches compartilhou um antigo cartão SD da ADATA com display que mostra o espaço usado, e o grupo discutiu como o firmware leria o sistema FAT; ele disse que gostaria de emular esse firmware e escrever um substituto que mostre o nome do disco. A conversa passou para pendrives e cartões falsificados e perdas de dados por falta de backup.

Participantes: Felipe "Juca" Sanches, Augusto Almeida, Ismael Luceno, Aylons Hazzud, Deleted Account, Erin Pinheiro 🐿, FTMaciel

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

24 dez 2021 Retomada do projeto hexitch ★

Ismael Luceno disse que voltaria ao projeto hexitch, e Felipe "Juca" Sanches propôs uma live; Ismael acabou se dedicando a fazer o LibreOffice compilar sem hacks.

Participantes: Ismael Luceno, Felipe "Juca" Sanches

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