Fork me on GitHub
?

O que é um Pense Bem?

Pense Bem foi um brinquedo fabricado e comercializado no Brasil pela Tectoy, sob licença da Video Technologies. Segundo os fabricantes nacionais, entretanto, o Pense Bem era mais que um brinquedo; quase um computador.

Possuia dez atividades pré-programadas, para auxiliar no ensino de aritmética, desenvolvimento da memória e musical. Além disso, há a possibilidade de responder a questionários sobre diversos assuntos usando livros de atividade.

Uma propaganda da época: Demonstração do brinquedo:

O que tem dentro do Pense Bem, afinal?

O projeto eletrônico do brinquedo é bem simples. O único componente ativo é um microcontrolador Z8, da Zilog. Este microcontrolador possui um processador de 8 bits, frequência máxima de 8MHz, 128 bytes de RAM e 2KiB de ROM. Modesto para qualquer padrão, mas perfeitamente capaz de controlar o brinquedo, com um display de LEDs (com segmentos retangulares) e um pequeno buzzer piezoelétrico.

Este blog mostra bem as entranhas do Pense Bem.

Qual a razão de simular um Pense Bem?

A idéia original era escrever um emulador, para entender como tais softwares funcionam. Entretanto, existem emuladores para basicamente qualquer computador e video-game de 8- e 16-bits. Queríamos fazer algo novo, e procurando algum ícone dos meados dos anos 90, acabamos lembrando do Pense Bem.

A princípio, fizemos uma engenharia reversa no equipamento, tentando levantar pinagem do teclado, displays, buzzer. Esta etapa foi concluída com sucesso, afinal o brinquedo tem uma placa eletrônica extremamente simples. Porém, esbarramos no maior problema: obter a ROM original e escrever um emulador que a executasse em um hardware emulado.

Existem técnicas para acessar o conteúdo de circuitos integrados, e estas envolvem substâncias tóxicas, cancerígenas e altamente corrosivas. Sem falar em caríssimos microscópios. Não temos acesso a estes equipamentos, mas ainda não descartamos a idéia de fazer um emulador.

Pensamos, então, em escrever um emulador e desenvolver a ROM nós mesmos. Entretanto, esta teria que ser escrita em assembly de Z8, dadas as restrições do microcontrolador. É interessante fazer protótipos em uma linguagem de alto nível antes de partir para o assembly e este simulador é este protótipo. Boa parte da arquitetura dele foi feita pensando no reaproveitamento futuro como um firmware para um microcontrolador emulado.

Obviamente, ainda temos a imensa curiosidade de ver o código original do brinquedo. Se souber onde podemos conseguir ácido nítrico e um laboratório de química com capela e microscópio decente, entre em contato que podemos conversar. :)

Qual a tecnologia usada no simulador?

Usamos SVG para a interface, JavaScript para a lógica e HTML5 para o áudio. O SVG foi desenhado no Inkscape usando como base fotografias do brinquedo original. Todo o código fonte está disponível no GitHub.

O SVG foi comprimido com o Scour, o JavaScript foi minificado e compilado com o Closure. Compatibilidade com browsers antigos foi conseguida com ajuda do SVGWeb. Demais ferramentas GNU, como make, o pré-processador C, sed, dentre outras, também foram usadas.

Como funciona o negócio dos livros de atividade?

Dadas as especificações do microcontrolador, seria impossível guardar todas as respostas de todos os livros de atividades na memória do equipamento. Como são apenas testes, com quatro opções possíveis (A, B, C, ou D), usaram o bom e velho truque de um gerador de número pseudo-aleatório.

Basicamente, soma-se o número do livro (apenas os dois primeiros dígitos; o terceiro dígito é a seção do livro) com o número da questão. Calcula-se o resto da divisão por 16 e usa este resultado para indexar um vetor de padrão de respostas (com, obviamente, 16 escolhas). Extremamente simples, mas tão elegante quanto o resto do brinquedo.

Não tenho mais os livros de atividade, podem disponibilizá-los para download?

Infelizmente tais livros ainda estão sob leis de direitos autorais. Por conta disso, não podemos disponibilizá-los. É possível encontrar cópias usadas em sebos e sites de leilão.

Entretanto, como o algoritmo é agora conhecido, é possível criar livros que possam ser compartilhados livremente. Caso tenha interesse em ajudar nisto, entre em contato!

Qual a licença de distribuição deste simulador?

A LICENÇA BEER-WARE (Revisão 42)

Leandro Pereira e Felipe Sanches escreveram este simulador. Contanto que você mantenha esta nota, pode fazer o que bem entender com o simulador. Se nos encontrarmos algum dia e você achar que este simulador vale alguma coisa, pode comprar uma cerveja para gente.

Agradecimentos

Agradecemos ao Eduardo Habkost pela engenharia reversa do algoritmo dos livros de atividade.

O plano de fundo da página foi obtido do Squidfingers e está sob domínio público.

Por último, mas não menos importante...

Nenhum dos envolvidos neste trabalho tem alguma relação com a Tectoy ou com a Video Technologies. É um trabalho independente, feito apenas como um tributo para um dos ícones do começo dos anos 90. "Pense Bem" é marca registrada da Tectoy. Todas as marcas registradas são propriedade de seus respectivos detentores.

Última atualização: Sat Jul 16 15:55:34 2011 -0300