Tópicos › Pense Bem
46 conversas · anos 1 a 8 do grupo

O Pense Bem, brinquedo dos anos 1980 que é uma réplica do Smart Start da VTech, aparece no grupo desde o ano 1 (2017-2018). Felipe "Juca" Sanches ofereceu a quem quisesse continuar o rascunho de esquemático na wiki do Garoa e o repositório garoa/PenseBem, e lembrou o simulador web que fez com Leonardo Pereira. O chip é um Zilog Z8 com ROM de máscara, e Felipe nunca encontrou um dump do Smart Start. Rodrigo Tadeu e Leonardo Roman acharam erros no simulador (livro 10, programa 6), e DQ concluiu, pelo código, que o gerador dos gabaritos dos livros não tinha sido decifrado. O grupo propôs ler todas as combinações do aparelho com um Arduino. No ano 2 o algoritmo continuava em aberto, e L. lembrou a reimplementação em JavaScript e SVG feita com Felipe.
No ano 3 (2019-2020), depois de conversas sobre decapagem e leitura de mask ROMs por imagem (John McMaster, zorrom), Felipe achou num documento da Zilog um modo de teste do Z8 que executa código lido da porta P1. Ele dessoldou o Z8 de um Pense Bem e pôs um soquete, e o aparelho continuou funcionando. Também enviou ao MAME, no PR #7407, o driver do relançamento de 2017, que usa um ATmega. O driver estava quase completo, mas o som tinha ruído por causa da implementação ineficiente do core AVR8. No ano 4 Felipe contou que queimou o Z8 ao tentar o dump. Em paralelo, L. examinou o firmware AVR de 2017 no Ghidra. Felipe achou nele o gabarito do livro 3, a partir de 0x149, com 2 bits por resposta, e confirmou a descoberta alterando a ROM no MAME. L. testou LFSRs por força bruta e Felipe testou outras variantes, sem encontrar correspondência. Felipe então extraiu a tabela dos 99 livros e publicou, em Python e JavaScript, uma implementação que reproduz todos os gabaritos com 738 bytes de dados. RicBit tentou interpolar o polinômio, sem obter um polinômio pequeno. No mesmo período Felipe disse ter 172 livros e 18 aparelhos e publicou livros escaneados no Datassette, entre eles especiais Disney, Sonic e Tails e um livro americano do Smart Start.
No ano 5 Felipe falou em trocar o Z8 queimado por um ATmega numa placa adaptadora e mostrou um Pense Bem funcionando como relógio. O simulador em JavaScript ganhou um desenho em SVG do ilustrador Alekhine Z e uma correção no cálculo das respostas, e Felipe propôs migrar o repositório para a organização ArqueologiaDigital. No ano 6 (2022-2023) Travis Goodspeed fotografou o die de um Z8 genérico. Pelas fotos, Felipe levantou a hipótese de que a ROM B seria de microcódigo e de que a ROM A teria exatos 2 KB de código com bits de paridade, mas faltava descobrir o embaralhamento dos bits. Depois Travis decapsulou o chip do Smart Start. Felipe também compartilhou um pull request de MooglyGuy com otimizações do núcleo AVR-8 do MAME, que vai melhorar a emulação do Pense Bem 2017.
No ano 7 (2023-2024), com novas versões do maskromtool de Travis Goodspeed, Felipe identificou o desembaralhamento z86x1, revisou os bits à mão e transcreveu a ROM A. Erin transcreveu a ROM B, com o microcódigo do Z8. Instruções ilegais ajudaram a localizar colunas com bits errados, e Felipe publicou o binário e o disassembly corrigidos. Na análise do código, Felipe confirmou o ponto de entrada em 00C, localizou a rotina do IRQ4, que configura o timer 0, e parte da fonte do display, e publicou um disassembly comentado. L. mapeou 39 rotinas chamadas por CALL. Ficou em discussão um trecho que desmonta como loop infinito mas é lido como tabela. Felipe mapeou as portas do Z8 que controlam o display e as que provavelmente leem o teclado e acionam o buzzer, apontou um possível easter egg e ofereceu um Pense Bem a quem desenhasse o esquemático no KiCad. Foram marcadas atividades no Garoa Hacker Clube para levantar o esquemático e trabalhar na emulação do modelo Z8 no MAME. O material não registra a conclusão desse driver nem a do algoritmo dos gabaritos. No ano 8 RicBit observou que o algoritmo de Berlekamp-Massey permitiria, em tese, descobrir o LFSR do Pense Bem.
Ano a ano: Ano 1 · Ano 2 · Ano 3 · Ano 4 · Ano 5 · Ano 6 · Ano 7 · Ano 8
Felipe "Juca" Sanches ofereceu o rascunho de esquemático e o repositório garoa/PenseBem a quem quisesse continuá-los, e discutiu-se o decapping do Z8 com ROM de máscara. Participantes acharam erros no simulador, DQ concluiu que o gerador dos gabaritos não foi decifrado e foi proposto ler as respostas do aparelho com um Arduino.
Felipe ofereceu o rascunho de esquemático e o repositório garoa/PenseBem a quem quisesse continuá-los. Participantes acharam erros no simulador, DQ concluiu que o gerador de respostas não foi decifrado e foi proposto ler todas as combinações do chip original com um Arduino. Um participante também relatou experiências de circuit bending no aparelho.
Um participante pergunta se Felipe fez um esquemático do Pense Bem. DQ aponta a página da wiki do Garoa, e Felipe, autor da página e do repositório garoa/PenseBem, diz que é um rascunho incompleto de cinco anos atrás e oferece o projeto a quem quiser continuá-lo. O microcontrolador é um Z8 com ROM de máscara; discute-se o decapping do chip para extrair o firmware e o fato de o Pense Bem ser uma réplica do Smart Start da VTech, cujo dump Felipe nunca encontrou. Felipe conta que fez um simulador web antigo junto com Leonardo Pereira.
Rodrigo Tadeu encontra erros no simulador a partir da pergunta 16 do livro 10, e Leonardo Roman aponta que o programa 6 também falha. DQ analisa o código (dez padrões de 16 respostas) e conclui que o gerador não foi decifrado. O grupo propõe ampliar a suíte de testes com as respostas dos livros ou ler todas as combinações do chip original por meio de um Arduino.
Um participante relata ter obtido efeitos como tremolo, loop, mudança de pitch e osciladores com circuit bending num Pense Bem, sem danificar o aparelho.
Felipe lembrou que o algoritmo dos gabaritos continuava em aberto. L. citou as respostas já anotadas de vários livros e a reimplementação em JavaScript e SVG.
Felipe lembrou que o algoritmo dos gabaritos dos livros do Pense Bem não foi desvendado. L. citou as respostas anotadas de vários livros e a reimplementação em JavaScript e SVG.
A partir de uma reportagem sobre o labirinto de um jogo antigo, Felipe "Juca" Sanches lembrou que o algoritmo dos gabaritos dos livros do Pense Bem ainda não foi desvendado. L. disse que já anotaram as respostas de vários livros sem acertar 100%, perguntou se Felipe chegou a fazer um emulador da versão ATmega, o que ajudaria a achar a rotina, e citou a reimplementação do Pense Bem em JavaScript e SVG feita com Felipe. Leonardo Roman sugeriu responder os livros e procurar o padrão.
Felipe achou o modo de teste do Z8 num documento da Zilog, pôs um soquete no Z8 de um Pense Bem e enviou ao MAME, no PR #7407, o driver do Pense Bem 2017 (ATmega), quase completo mas com ruído no som. Felipe também confirmou que a VTech foi a fabricante original.
Depois de conversas sobre decapagem de chips e leitura de mask ROMs por imagem (John McMaster, zorrom), Felipe "Juca" Sanches encontrou num documento da Zilog o modo de teste do Z8, que permite executar código lido da porta P1. Ele comprou unidades para testes, dessoldou o Z8 de um Pense Bem e instalou um soquete, e o aparelho continuou funcionando.
FTMaciel indicou a Felipe "Juca" Sanches um vídeo sobre decapagem de chips sem produtos químicos e depois uma palestra de John McMaster sobre captura de mask ROMs. L. indicou o zorrom, utilitários para decodificar mask ROMs que, segundo ele, processam a saída de ferramentas que tratam fotos. Felipe lembrou a ideia de usar ácido no Z8 do Pense Bem, e L. disse que um dia mandaria um Z8 para alguém com equipamento para isso. L. também mencionou que McMaster vinha extraindo por imagens a ROM de boot do Game Boy.
Felipe "Juca" Sanches encontrou num documento da Zilog o modo de teste do Z8: 7,5 V no pino /RESET durante 6 ciclos após o reset permitem executar código lido da porta P1. Ele comprou unidades de Pense Bem para os testes e compartilhou um programa já usado, a partir de uma ROM externa, para extrair a ROM interna de um Z8 num jogo de xadrez emulado no MAME. Também dessoldou o Z8 de um Pense Bem e instalou um soquete, e o aparelho continuou funcionando. Felipe apostou que o gerador pseudoaleatório do brinquedo seria um LFSR, e RicBit observou que nesse caso bastaria medir a saída e interpolar o polinômio.
O driver do relançamento de 2017 foi enviado ao MAME no PR #7407, quase completo, mas com ruído no som por causa da implementação ineficiente do core AVR8. O modelo original, com o Z8, continuava sem dump.
Felipe "Juca" Sanches enviou ao MAME (PR #7407) o driver do relançamento do Pense Bem de 2017, que usa um ATmega. O driver estava quase completo, mas o som tinha ruído por causa da implementação ineficiente do core AVR8. Ele esclareceu que o modelo original, com o Zilog Z8, continuava sem dump.
L. mostrou componentes de um projeto que Felipe "Juca" Sanches identificou como um Pense Bem. A partir de um vídeo sobre os laptops da VTech, Felipe confirmou que ela foi a fabricante original do Pense Bem, e pitanga lembrou de cartuchos falsos que pareciam apenas selecionar programas embutidos.
L. mostrou componentes de um projeto que Felipe "Juca" Sanches identificou como um Pense Bem, com display de matriz de LED e um teclado de 32 teclas lido por apenas 2 pinos.
A partir de um vídeo sobre os laptops da VTech, que Felipe "Juca" Sanches confirmou ser a fabricante original do Pense Bem, pitanga lembrou de cartuchos falsos que pareciam apenas selecionar programas embutidos. Felipe comparou esse recurso ao primeiro Odyssey da Magnavox.
Felipe queimou o Z8 ao tentar o dump. Depois de testes de LFSR sem sucesso, extraiu do firmware de 2017 a tabela dos 99 livros e publicou em Python e JavaScript uma implementação que a reproduz com 738 bytes de dados. Também digitalizou livros da coleção para o Datassette.
L. examinou o firmware AVR do Pense Bem 2017 no Ghidra e testou LFSRs por força bruta, e Felipe testou outras variantes, sem correspondência. Felipe extraiu a tabela dos 99 livros e publicou em Python e JavaScript uma implementação que a reproduz com 738 bytes de dados; RicBit tentou interpolar um polinômio.
L. abriu no Ghidra o dump do firmware AVR do Pense Bem 2017 e apontou a função em 0x0b60 como possível gerador de números pseudoaleatórios. Ele concluiu que precisaria de um depurador para avançar.
Felipe "Juca" Sanches encontrou a partir do endereço 0x149 do firmware do Pense Bem 2017 (ATmega) o gabarito do livro 3, codificado com 2 bits por resposta, e confirmou a descoberta alterando os bytes e rodando a ROM no MAME. Ele levantou a hipótese de que o firmware Z8 original gerasse as respostas com um LFSR. L. testou por força bruta LFSRs de 16 e 24 bits (script em gist) e Felipe testou variantes com 2 a 4 XORs, sem encontrar correspondência. L. sugeriu que a tabela pudesse ser código Z8 lido como dados; Felipe desmontou-a como Z8 em vários offsets e concluiu que não parece código, indicando o unidasm do MAME para esse tipo de teste.
Felipe "Juca" Sanches refez a conta: os gabaritos de 100 livros ocupariam cerca de 3,7 KB, mais que os 2 KB do Z8, e portanto teriam de ser gerados algoritmicamente. Ele extraiu do firmware de 2017 a tabela dos 99 livros e verificou que a sequência inicial de 149 respostas se repete com alterações apenas em posições múltiplas de 15. Publicou uma implementação em Python e JavaScript (pull request no repositório Pense-Bem) que reproduz todos os gabaritos usando 738 bytes de dados. RicBit tentou interpolar o polinômio, sem obter um polinômio pequeno, e sugeriu dois LFSRs de períodos diferentes combinados ou um de período 15/30.
Felipe "Juca" Sanches pediu revisão da implementação em JavaScript do algoritmo de respostas do Pense Bem e compartilhou PDFs de livros raros da coleção: especiais Disney (Rei Leão, Olimpíadas 1ª edição), Plebiscito, Senninha e livros em inglês. Ele disse ter 172 livros e 18 aparelhos, de cerca de 90 títulos, dos quais metade já está digitalizada no Datassette.
Felipe contou que queimou o Z8 de um Pense Bem ao tentar fazer o dump. Uma sugestão de kretcheu levou à ideia de um firmware livre para o Pense Bem 2017.
Felipe "Juca" Sanches contou que queimou o Z8 de um Pense Bem ao tentar fazer o dump. L. mencionou outro exemplar no Brasil, um Smart Start original, e Felipe disse que só tentaria com ele depois de dominar a técnica. Felipe também compartilhou um vídeo de experimentos de programação no Pense Bem modelo 2017.
Dente mostrou um anúncio a Felipe "Juca" Sanches, que disse só se interessar se viessem livros junto; ele procura os especiais Disney Rei Leão e Hércules. A sugestão de kretcheu de um "Pense Bem GNU" levou à ideia de um firmware livre para o Pense Bem 2017, adaptando a implementação incompleta em C++ que está no repositório do simulador.
Felipe contou que está completando a coleção de livros do Pense Bem e do Smart Start, publicou no Datassette livros escaneados, entre eles especiais Disney, e compartilhou PDFs de livros raros. Disse ter 172 livros e 18 aparelhos, com cerca de metade dos títulos já digitalizada.
Felipe "Juca" Sanches contou que está completando sua coleção de livros: tem quase todos os lançados no Brasil e faltam cerca de quatro originais americanos. Ele descobriu que houve edições na Suécia e compartilhou um anúncio do Smart Start Speller original da VTech.
Felipe "Juca" Sanches escaneou livros do Pense Bem da sua coleção (especiais Disney, Sonic e Tails, Volta ao Mundo, Atividades Programadas, entre outros) e um livro americano Smart Start Matchbook, e os publicou no Datassette. Leonardo Roman completou no site o título do livro americano. Por sugestão de Erin Pinheiro, Felipe disse que planeja pedir ao Internet Archive uma coleção "VTECH SMART START", e mostrou uma comparação entre edições em português e em inglês.
Felipe "Juca" Sanches pediu revisão da implementação em JavaScript do algoritmo de respostas do Pense Bem e compartilhou PDFs de livros raros da coleção: especiais Disney (Rei Leão, Olimpíadas 1ª edição), Plebiscito, Senninha e livros em inglês. Ele disse ter 172 livros e 18 aparelhos, de cerca de 90 títulos, dos quais metade já está digitalizada no Datassette.
Juca compartilhou o PDF do livreto Pense Bem Especial Disney Hércules. Shideravan observou que esse material ainda não estava no Datassette.
Felipe falou em trocar o Z8 queimado por um ATmega e mostrou um Pense Bem funcionando como relógio. O simulador em JavaScript ganhou um desenho em SVG de Alekhine Z e uma correção no cálculo das respostas.
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.
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.
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.
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.
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.
Travis Goodspeed fotografou o die de um Z8 genérico e depois decapsulou o chip do Smart Start. Pelas fotos, Felipe levantou a hipótese de uma ROM de microcódigo e uma de 2 KB de código com paridade, ainda com os bits embaralhados. Felipe também publicou fotos dos livros americanos de atividades 14 a 19 e compartilhou um pull request de MooglyGuy com otimizações do núcleo AVR-8 do MAME.
Felipe publicou fotos dos livros "Atividades Programadas" 14 a 19, lançados nos EUA. No Brasil a série foi só até o número 13.
Felipe "Juca" Sanches publicou fotos de livros de atividades do Pense Bem. No Brasil a série foi publicada só até o número 13, mas nos EUA saíram também os números 14 a 19. Os livros fazem parte da coleção dele e foram retirados na casa de um amigo em San Francisco.
Travis Goodspeed fotografou o die de um Z8 genérico e depois decapsulou o chip do Smart Start. Pelas fotos, Felipe propôs que uma ROM seria de microcódigo e a outra conteria exatos 2 KB de código com bits de paridade; falta descobrir como os bits estão embaralhados.
L. informou que Travis Goodspeed está decapsulando o Zilog Z8, primeiro um genérico e depois o que contém a ROM do Smart Start. Felipe "Juca" Sanches sugeriu colocar o driver no mesmo arquivo do Pense Bem 2017 no MAME, que já emula o Z8, e apostou que as respostas dos livros vêm de um gerador pseudoaleatório com LFSR. Ele também listou máquinas com Z8 no MAME: placa MIDI ISA da Music Quest, CompJU+TEr, Quantel DPB-7001, Fidelity Mini Sensory Chess Challenger, BERT, Lear Siegler ADM 23 e coin MCUs de arcades.
Travis Goodspeed fotografou o die de um Z8 genérico para avaliar os cuidados necessários antes de abrir o chip com a ROM útil. Felipe "Juca" Sanches analisou as fotos e levantou hipóteses: a ROM B, com 6 colunas de 20 bits, seria de microcódigo, e a ROM A seria o código executável. Lendo cada ponto como 2 bits, a ROM A resulta em exatos 2 KB com 1 bit de paridade a cada 32 bits; falta descobrir como os bits estão embaralhados.
L. informou que Travis Goodspeed decapsulou o chip do Smart Start e esperava remover as camadas e extrair a ROM no mesmo dia. Felipe "Juca" Sanches disse que quer comparar o microcódigo entre as duas amostras.
Felipe listou máquinas com Z8 no MAME e sugeriu pôr o driver do Smart Start no mesmo arquivo do Pense Bem 2017. Também compartilhou um pull request de MooglyGuy com otimizações do núcleo AVR-8, que vai melhorar a emulação do Pense Bem 2017.
L. informou que Travis Goodspeed está decapsulando o Zilog Z8, primeiro um genérico e depois o que contém a ROM do Smart Start. Felipe "Juca" Sanches sugeriu colocar o driver no mesmo arquivo do Pense Bem 2017 no MAME, que já emula o Z8, e apostou que as respostas dos livros vêm de um gerador pseudoaleatório com LFSR. Ele também listou máquinas com Z8 no MAME: placa MIDI ISA da Music Quest, CompJU+TEr, Quantel DPB-7001, Fidelity Mini Sensory Chess Challenger, BERT, Lear Siegler ADM 23 e coin MCUs de arcades.
Felipe "Juca" Sanches compartilhou um pull request de MooglyGuy com otimizações no núcleo AVR-8 do MAME, que vai melhorar a emulação do Pense Bem 2017. Depois convidou L. a escrever um post sobre o Pense Bem/Smart Start para o arqueologiadigital.org.
Ismael Luceno identificou brinquedos parecidos com o Pense Bem. Hugo compartilhou uma análise do Pense Bem 2.0 da Tectoy, um mini PC com Windows 11.
Felipe "Juca" Sanches pediu ajuda para identificar um brinquedo eletrônico sem nome de fabricante, parecido com o Pense Bem. Ismael Luceno identificou o Master Challenge, da Peter Pan Playthings, e o See & Learn Computer, da Kay-Bee Toys.
Hugo compartilhou uma análise do Pense Bem 2.0 da Tectoy, um mini PC com Windows 11 vendido por cerca de 1800 reais.
Com o maskromtool, Felipe identificou o desembaralhamento z86x1 e transcreveu a ROM A, e Erin transcreveu a ROM B. Seguiram-se o binário corrigido, um disassembly comentado, o mapeamento das portas do Z8 e atividades marcadas no Garoa para o esquemático e o driver no MAME.
Felipe lembrou que o desembaralhamento dos bits da ROM seguia sem solução. Com as novas versões do maskromtool, identificou o desembaralhamento z86x1 e transcreveu a ROM A; Erin transcreveu a ROM B, com o microcódigo do Z8. Instruções ilegais serviram para localizar colunas com bits errados.
Felipe lembrou que Travis Goodspeed fez o decapping do chip do PenseBem, mas que o desembaralhamento dos bits da ROM continua sem solução. Sugeriu testar permutações e descartar as que geram opcodes inválidos, com a ressalva de que enumerar as possibilidades não é trivial e de que permutações erradas podem gerar só opcodes válidos.
L. avisou das novas versões do maskromtool, de Travis Goodspeed, agora com disassembly; Felipe confirmou que a ferramenta usa o unidasm do MAME, e L. que ele suporta Z8. Felipe compartilhou o arquivo do projeto (smartstart.zip) e passou a revisar os bits detectados pela ferramenta (66 colunas), corrigindo à mão os erros. Ele identificou que o desembaralhamento é o z86x1 e que as duas primeiras fileiras formam a ROM de teste de fábrica do Z8, quase idêntica à do sintetizador Wersi DX10.
Felipe começou a revisão visual de cerca de 16 kbits, perdeu parte do trabalho numa falha do programa e passou a salvar com frequência e usar testes de regressão. Publicou um disassembly e um binário preliminares, e com L. usou as instruções ilegais para localizar colunas com bits errados. Um CALL para fora da faixa de endereços da ROM foi corrigido, e o opcode 5F foi identificado no manual da Zilog como WDT, instrução que o disassembler de Z8 do MAME não reconhecia.
Erin transcreveu em meia hora a ROM B (54x120 bits, com o microcódigo do Z8). Também enviou uma imagem em PNG de maior resolução da ROM A, com a dica de conferir cada coluna no momento de marcá-la. Felipe recomeçou a transcrição com essa imagem, terminou a extração dos bits em poucas horas e publicou o disassembly e o binário corrigidos.
Felipe confirmou o ponto de entrada (00C), localizou a rotina do IRQ4, que configura o timer 0, e parte da fonte do display; L. mapeou 39 rotinas chamadas por CALL. Felipe publicou um disassembly comentado. Um trecho no bloco de dados que desmonta como loop infinito ficou em discussão.
As instruções "Illegal" restantes eram um bloco de dados depois do IRET em 73C, e Felipe localizou os ponteiros para essa área e a rotina do IRQ4. L. mapeou 39 rotinas chamadas por CALL, várias terminando em fallthrough, possivelmente os jogos. O grupo discutiu como a fonte do display (7 dígitos, um de 14 segmentos, multiplexados como 8) estaria codificada. Felipe confirmou que o ponto de entrada é 00C e publicou a ROM de teste interna, e L. compartilhou fotos antigas do Garoa com o Pense Bem desmontado.
Ao revisar trechos confusos, Felipe encontrou mais bits transcritos errado, ligados, por exemplo, ao vetor do IRQ5 e a um JR que caía num operando. Depois das correções, a inicialização configura o timer 0 em modo single pass, o que parecia estranho. Após L. responder com uma imagem, Felipe verificou que a rotina do IRQ4, chamada pelo timer 0, faz essa configuração logo antes do IRET.
Felipe pegou três Pense Bem no Garoa e abriu um para inspecionar a PCB. Ele localizou na ROM parte da fonte do display de 7 segmentos (o restante possivelmente a partir de 7D5) e publicou uma versão comentada do disassembly.
Felipe descreveu um enigma: entre uma tabela de saltos e a fonte do display há bytes que desmontam como um loop infinito e são alvo de um jump relativo no boot, mas que outra rotina lê como uma tabela de 21 bytes. As hipóteses foram dados que coincidem com código, código morto e espera por interrupção. Felipe disse que o código foi escrito diretamente em assembly, por volta de 1987, para 2 KB de ROM. RicBit observou que o trecho seguinte, em 7CD, parece alinhado, o que sugere que os bytes têm uso.
Felipe retomou esquemáticos começados 11 anos antes e mapeou as portas que controlam o display, além das que provavelmente leem o teclado e acionam o buzzer. Indicou uma possível combinação de easter egg e ofereceu um Pense Bem a quem desenhasse o esquemático no KiCad.
Felipe retomou os esquemáticos começados 11 anos antes e mapeou as portas: bits de P0 e P3 selecionam o dígito ativo do display, P1 define os segmentos e, por estar ligada à matriz do teclado, deve também ler as teclas, e P2 bit 5 parece acionar o buzzer. Ele notou que o Pense Bem de 2017, com AVR8, usa um esquema semelhante de multiplexação e supôs que o layout de I/O foi copiado. No código, levantou a hipótese de que a fonte é lida a partir de 7CBh e de que o conteúdo do display fica em 5Fh–66h. Ao executar passo a passo no MAME, entendeu como o register pointer dá acesso aos registradores especiais na inicialização. Por causa desse trabalho, foi convidado a um servidor de Discord sobre VTech, onde o Smart Start constava como não dumpado.
Participantes se reuniram no Garoa Hacker Clube no que Shideravan chamou de primeiro encontro brasileiro extraoficial de desenvolvimento do MAME. Felipe "Juca" Sanches disse que já houve encontros assim no Calango Hacker Clube, em Brasília. Perguntado sobre a combinação de um possível easter egg do Pense Bem, ele indicou as teclas "5" + "operação" logo após o boot, com a ressalva de que poderia ter interpretado errado o código ou levantado errado o pinout do Z8. Ele também ofereceu um Pense Bem a quem desenhar o esquemático da placa no KiCad.
Felipe divulgou uma atividade aberta em 23/05/2024 para levantar o esquemático e ler o código do Z8. L. marcou depois, com Felipe, uma sessão de domingo para trabalhar na emulação do Pense Bem no MAME.
Felipe pediu a Hugo exemplares do Pense Bem para reinspecionar a PCB e escrever o driver no MAME. Também divulgou uma atividade aberta no Garoa Hacker Clube em 23/05/2024 para levantar o esquemático e ler o código do Z8. Erin indicou a digitalização que fez do livro do Pense Bem com Sonic para o Sonic Retro, que tem um erro de impressão na página 31.
L. avisou que viria ao Brasil e marcou uma sessão de domingo no Garoa Hacker Clube, com Felipe, para trabalhar na emulação do Pense Bem original (Z8) no MAME, aberta a quem quisesse participar.
RicBit apresentou o algoritmo de Berlekamp-Massey como meio, em tese, de descobrir o LFSR do Pense Bem. Felipe e L. lembraram a origem do simulador no Garoa Hacker Clube.
Felipe apontou a página do Patinho Feio no wiki do Garoa, sem edições desde 2017, e compartilhou o jogo em lógica discreta A Game of Tag. Surgiu a ideia de um site com emuladores embutidos sobre o Patinho Feio ou os micros nacionais. RicBit apresentou o algoritmo de Berlekamp-Massey e observou que, em tese, ele permitiria descobrir o LFSR do Pense Bem, e Felipe e L. lembraram a origem do simulador do Pense Bem no Garoa.
Felipe "Juca" Sanches apontou a página do Patinho Feio no wiki do Garoa, sem edições desde 2017. Em seguida perguntou ao grupo se também sentem dificuldade em encontrar pessoas para participar dos projetos, e Erin Pinheiro e RicBit responderam com suas experiências.
Felipe compartilha o repositório A Game of Tag, um jogo de pega-pega em lógica discreta, e uma dedicatória do livro "How to Design and Build Your Own Custom TV Games" (1978), com PDF no wiki do Garoa. A partir da dedicatória, Shideravan comenta que a área ainda é predominantemente masculina. Felipe também encomendou a fabricação da PCB do jogo.
L. compartilha a página Frame of Preference, com emuladores embutidos que podem ser exibidos em perspectiva. Felipe e L. propõem um site semelhante sobre o Patinho Feio ou sobre os micros nacionais, com linha do tempo. Guilherme diz que os emuladores vêm do projeto Infinite Mac, que passou a permitir embuti-los, e Erin observa que o recurso e a página foram feitos em conjunto.
RicBit apresenta o algoritmo de Berlekamp-Massey, que encontra a menor recorrência que gera uma sequência. Ele observa que, em tese, o algoritmo permite descobrir o LFSR por trás de uma sequência binária, como a do Pense Bem.
Felipe e L. lembram as madrugadas no Garoa Hacker Clube em que nasceu o simulador de Pense Bem em SVG e JavaScript, que levou Felipe a contribuir com o MAME. Felipe quer organizar uma conferência para os 15 anos do Garoa e conta que será keynote da Gambiconf com a palestra "Dirty Hacks e Gambiarras Elegantes". L. compartilha fotos do início do projeto Pense Bem.
Índice escrito por agentes Claude que leram o log completo de cada período. Um segundo agente conferiu cada conversa contra as mensagens, e um terceiro conferiu os resumos do ano e dos temas contra as conversas. Pode conter imprecisões: cada item leva às mensagens originais. Para procurar palavras específicas, use a busca.