Ano 1 · Ano 2 · Ano 3 · Ano 4 · Ano 5 · Ano 6 · Ano 7 · Ano 8 · Ano 9
Tópicos › Quinto ano › Debates sobre emulação, preservação e código aberto
O grupo debateu se sistemas x86 são fáceis de emular, e Felipe "Juca" Sanches defendeu que só emuladores em software livre servem à preservação. Também se falou da morte de Near (byuu), do ambiente da comunidade do MAME, do Internet Archive e da preservação do histórico do próprio grupo. Circularam ainda notícias sobre emuladores, código liberado e projetos de decompilação.
Quinto ano: novembro de 2021 a outubro de 2022
A partir de notícias sobre Phil Spencer e do emulador de PS4 Spine, de código fechado, discutiu-se o papel do código aberto, que segundo Shideravan funciona como documentação do hardware. Felipe defendeu também que projetos novos de retrocomputação, como homebrews, sejam publicados como software livre.
Augusto Almeida compartilhou notícia sobre o chefe do Xbox defendendo que a indústria de jogos legalize a emulação.
Shideravan questionou a ideia de que consoles baseados em x86 seriam triviais de emular, citando a falta de emuladores maduros de Xbox e PS4. Quando Ismael Luceno atribuiu isso à Microsoft, Shideravan respondeu que a empresa não se opõe e compartilhou matérias sobre Phil Spencer defender a emulação para preservação, além do código-fonte do MS-DOS aberto pela Microsoft. Felipe "Juca" Sanches criticou a qualidade das matérias e argumentou que coleções comerciais de jogos emulados não servem para preservação, que só se faz com emuladores em software livre: para ele, o código-fonte do emulador é a própria preservação. Shideravan acrescentou que um emulador de código aberto funciona como documentação minuciosa do hardware. A conversa passou à abertura do código do Windows e a vulnerabilidades, e Felipe pediu para manter o foco na preservação.
Shideravan apresentou o Spine, emulador de PS4 desenvolvido só para Linux, atribuindo a exclusividade ao sistema do PS4 ser baseado em Linux. Pedro de Medeiros corrigiu que o sistema do PS4 deriva do FreeBSD e contou que os próprios desenvolvedores do Spine comparam o trabalho a uma camada de compatibilidade como o Wine. Segundo ele, a exclusividade se deve à preferência do desenvolvedor-chefe por um software fechado, que promete abrir o código quando estiver mais maduro. Felipe "Juca" Sanches citou a justificativa, lida em uma matéria, de não "diluir o desenvolvimento" em um grupo grande, e Shideravan criticou a decisão do ponto de vista da preservação.
Shelton Ribeiro compartilhou a ROM de "O retorno de Fênix", jogo novo de Cavaleiros do Zodíaco para Game Boy Color feito por um programador do México e traduzido por um fã brasileiro. Depois indicou a página do projeto, de ZeichiGames. Shideravan rodou o jogo no ares. Constatou que ele exibe uma tela avisando que não roda no Game Boy clássico e no Pocket, e que também não funcionou no modo Super Game Boy 2 do ares e do mGBA, embora tenha uma borda própria para Super Game Boy. Felipe "Juca" Sanches perguntou se seria razoável pedir aos desenvolvedores que publicassem o jogo sob licença de software livre. Ele defendeu que projetos novos de retrocomputação sejam publicados assim, e Shelton disse que tentaria contato com os autores. Também foram apontados problemas de kerning, pontuação e acentuação na tela de aviso traduzida.
RicBit contou que o autor do no$ lhe escreveu sobre seu emulador de MSX. O grupo comentou a morte de Near e o assédio que sofreu, e Felipe e Shideravan relataram dificuldades na comunidade de desenvolvimento do MAME. Felipe também compartilhou sua palestra na GambiConf.
Felipe "Juca" Sanches compartilhou o vídeo da sua palestra na GambiConf 2021.
RicBit contou que o autor do no$ lhe escreveu por volta de 1998-99 sem entender como o emulador de MSX de RicBit rodava melhor que o dele, e explicou que a vantagem estava no emulador do VDP, não no da CPU Z80. Shideravan explicou o MSU-1, especificação criada por byuu para simular um SNES-CD, e Anne Isabelle compartilhou a desmontagem do protótipo Nintendo-PlayStation. RicBit procurou o e-mail antigo em seus backups, sem encontrá-lo.
Pedro de Medeiros sugeriu que o desenvolvedor do Spine poderia estar reagindo ao bullying e assédio na comunidade de emulação. Erin Pinheiro esclareceu que Near (byuu) foi assediado pelo fórum KiwiFarms, e não pela comunidade de emulação, lembrando que o RetroArch fez uma homenagem. Pedro de Medeiros pediu desculpas por não conhecer bem o caso e disse que falava do próprio uso das redes sociais, não de Near. O grupo comentou a perda de Near e o uso de pronomes neutros.
Felipe "Juca" Sanches relatou dificuldades de convivência na comunidade de desenvolvedores do MAME e o receio de enviar pull requests, e Shideravan contou que reduziu sua participação no projeto pelo mesmo motivo. Discutiram a mudança para o GitHub, que expôs mais o projeto ao público, o Discord para convidados e a necessidade de políticas de respeito aplicadas a todos os membros. RicBit lembrou o "dilema do bar nazista", L. localizou o texto, e Shideravan considerou a comparação exagerada para o MAME. Felipe pediu para manter o foco do grupo.
O grupo falou de software que só roda em emuladores, da proteção anti-emulação da Denuvo para Switch, da proteção de cópia do PS1 e do PS2 e do desbloqueio do Switch para rodar emuladores.
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.
Felipe conta que sua demo para Odyssey 2, apresentada na Rewired 2010 em emulador, depois se mostrou incapaz de rodar no hardware real. Shideravan descreve hacks de SNES que dependiam de imprecisões de emuladores antigos e que o bsnes precisa tratar. RicBit relata que um jogo seu para Master System só rodou no console depois que ele descobriu e reproduziu a verificação de checksum da ROM feita pelo hardware.
Shideravan comenta o anúncio da Irdeto/Denuvo de proteção contra emuladores de Switch. Erin Pinheiro lembra que detectar emuladores é prática antiga, desde verificações de SRAM no NES. Após pesquisar, Shideravan conclui que a proteção aparentemente só faz checagens de comportamento, sem validação online, e que a resposta é aumentar a precisão da emulação.
Augusto Almeida explica a marcação no disco que só os leitores do PlayStation reconhecem. Shideravan descreve a técnica de trocar o disco depois da verificação do logo e as versões do GameShark, e Augusto lembra a mola do Action Replay no sensor da tampa e o uso de TOC com S-Box no PS2. Anne Isabelle lembra o PSBBN e o POPS, emulador oficial de PS1 para PS2.
Felipe "Juca" Sanches disse que não faria root em seu único console, um Switch. Shideravan contou que fez o desbloqueio do seu, principalmente para rodar emuladores de PSP, Saturn e outros consoles antigos, e considerou o Switch uma das melhores plataformas para emulação. Citou também traduções, cheats, overclock e ports de jogos de PC, e o aplicativo Checkpoint, que descriptografa saves para passá-los entre o console e o PC. Anne Isabelle disse preferir comprar os jogos.
Diante do risco de bloqueio do Telegram, discutiu-se como manter um registro do grupo. O grupo tratou também da suspensão de contas no GitHub, do empréstimo digital e do processo contra o Internet Archive, das práticas do Datassette, dos manuais de SNES online e da perda das fontes de modelos de papercraft.
Diante das notícias de um possível bloqueio do Telegram no Brasil, Felipe "Juca" Sanches perguntou se o grupo pretende manter um registro permanente do que se conversa ali. Foram citadas a exportação de conversas, o uso de proxy ou VPN e o Discord como alternativa. Felipe defendeu o valor das informações dadas informalmente em conversas e mostrou capturas de tela como exemplo.
A partir de um modelo de papercraft de computador compartilhado por L., Erin Pinheiro comentou que os sites originais desses modelos sumiram e que as cópias em redes sociais dificultam achar a autoria. Ela compartilhou uma página que reúne alguns modelos, sem lembrar a origem deles.
Pedro de Medeiros compartilhou o caso de contas russas suspensas no GitHub com perda de histórico de projetos e lembrou restrições anteriores a contas de países sob sanções dos EUA, em 2019. Recomendou espelhar projetos em outros serviços.
Shideravan descreve o sistema de empréstimo de livros do archive.org, e Ismael Luceno e Pablo Vasques Bravo-Villalba questionam o DRM e a escassez artificial. Shideravan explica que o Datassette hospeda no Archive os arquivos grandes demais (como DVDs de revistas), que alguns desses links acabam caindo e que o site remove conteúdo a pedido de autores e não publica material ainda à venda.
Pablo Vasques Bravo-Villalba compartilha a notícia de que todos os manuais de SNES em inglês foram disponibilizados online. Shideravan pretende conferir se falta algum no Datassette. Felipe lembra que tem a coleção completa dos livros do Pense Bem, parte ainda não escaneada.
A partir de uma postagem compartilhada por Felipe sobre empresas que processam o Internet Archive, e depois do aviso de Thaís Blue Bunnies de que o Archive faria uma coletiva de imprensa, o grupo discute o programa de empréstimo digital, copyright e patentes. RicBit observa que patentes expiram em 20 anos.
Foram indicadas uma playlist de emulador de Game Boy passo a passo e o CHIP-8 como primeiro projeto para Carlos Daniel, que chegou ao grupo interessado em emulação e tecnologia assistiva.
Shideravan indicou uma playlist em que o autor desenvolve um emulador de Game Boy passo a passo, comparável à série do One Lone Coder sobre emulação do NES, como material para aprender as etapas do desenvolvimento de emuladores.
Shideravan apresentou Carlos Daniel, que desenvolve uma ferramenta assistiva em C/C++ e quer aprender desenvolvimento de emuladores, por permitirem usar sistemas de formas novas e mais acessíveis.
Carlos Daniel perguntou qual seria o console mais simples para um primeiro emulador, e Erin Pinheiro sugeriu o CHIP-8. L. compartilhou o código de um emulador de CHIP-8 que começou e que roda ROMs de teste.
Circularam notícias sobre o Xenia, o SNESticle, o Cemu, o retrowin32, o PCjs, o 123elf e as pesquisas de Gekkio sobre o SM83. Também houve a abertura do código do BRender, dos drivers PowerVR e do CP/M, além do CP/M-65.
Senhor Linguica relatou que um desenvolvedor usou o processamento em nuvem da UNICAMP para corrigir problemas de Red Dead Redemption no emulador de Xbox 360 Xenia, deixando o jogo jogável.
Erin Pinheiro comentou que, depois que o emulador SNESticle foi encontrado num jogo de GameCube e extraído, o autor liberou o código-fonte, que inclui um binário para Win32. Ela o testou e o achou muito ruim.
Shelton Ribeiro compartilhou a notícia de que a Imagination liberou código de GPUs PowerVR da década de 90. RicBit esclareceu que se trata do código do driver, não do projeto da GPU.
Shelton Ribeiro informou que o BRender, motor de renderização da Argonaut usado em Croc e Carmageddon, teve o código aberto. Shideravan sugeriu usá-lo para tirar os controles de tanque de Croc; Erin Pinheiro respondeu que isso não depende do renderizador, indicou croc.epiclper.com e observou que a abertura pode permitir abrir o código de programas que dependiam dele, como o 3D Movie Maker da Microsoft.
Pedro de Medeiros compartilhou o primeiro release do projeto 123elf, que faz o Lotus 1-2-3 rodar em sistemas GNU/Linux.
Felipe compartilhou o site PCjs Machines.
L. compartilha a notícia "CP/M is really open-source now", sobre o CP/M passar a ser de código aberto.
Shideravan informa que o Cemu, emulador de Wii U, teve o código-fonte aberto.
L. compartilhou o repositório do cpm65, de David Given, uma implementação de CP/M para o 6502.
L. compartilhou o retrowin32, um emulador de Windows.
L. compartilhou o diretório sm83-cpu-core do repositório gb-research, de Gekkio, sobre o núcleo da CPU SM83 do Game Boy.
Foram compartilhados projetos como a desassemblagem do Apple II Desktop, Cannonball, OpenGOAL, a decompilação de Sonic Mania e o Mortal Kombat Plus. Também circularam códigos-fonte históricos (Tiny BASIC, TASC, Word Writer 6, programas da revista Spooler) e referências sobre Ghidra.
Pedro de Medeiros criou, para fins de arquivamento, um repositório com o código-fonte do Tiny BASIC v3 de Li-Chen Wang, como publicado no Reference Book do PCC.
L. encontrou um repositório com programas publicados na revista Spooler. Felipe "Juca" Sanches observou que ele cobre apenas os disquetes das edições 28 a 39. L. examinou o programa de compressão SHOCK, da edição 35, e o comparou com o descompressor que está escrevendo.
L. compartilhou o repositório com a desassemblagem do Apple II Desktop, uma interface gráfica para ProDOS. Thaís Blue Bunnies comentou o surgimento recente de vários projetos de desassemblagem.
Pedro de Medeiros compartilhou um relato do blog The Old New Thing sobre o código-fonte do Applesoft Compiler (TASC).
Pedro compartilhou o artigo "Patching an Embedded OS from 1996 with Ghidra", sobre o K2500, e Felipe elogiou o texto.
Felipe compartilhou The Ghidra Book: The Definitive Guide na Amazon Brasil; Pedro achou o preço de cerca de R$ 300 excessivo, e L. indicou que a No Starch Press publica cupons de desconto perto de feriados.
Pedro de Medeiros compartilha um guia de extração de sprites e paletas do Sega System 16. Augusto Almeida comenta o trabalho do autor do blog no Cannonball, a reimplementação em C de OutRun a partir dos binários, que também gerou uma ROM corrigida para a placa original.
Shideravan compartilha o projeto OpenGOAL, de decompilação de Jak and Daxter e da sua linguagem GOAL, que resultou num port para PC.
Augusto Almeida anuncia a decompilação completa de Sonic Mania, e dois dias depois mostra os primeiros ports. O grupo comenta a coletânea Sonic Origins, lançada com bugs e DLCs, e o risco de as empresas perseguirem projetos de decompilação.
L. compartilha o repositório com o código-fonte em assembly 6502 do processador de texto Word Writer 6 para Commodore 64.
Hugo (Agaelebê) divulgou o projeto Klassic Mortal Kombat Updated. Segundo a descrição, o código original da Midway de Mortal Kombat, Mortal Kombat II e Ultimate Mortal Kombat 3 foi desmontado para corrigir problemas conhecidos e acrescentar recursos. Shideravan lembrou que o lançamento coincidia com os 30 anos da série.