Um cara motivado implementou um Apple ][ inteiro no seu Arduino Uno

Um ato de amor geek: um Arduino Uno reprogramado com saída de vídeo, entrada de teclado, e capacidade de rodar programas clássicos feitos para o Apple 2, de 1977.

Os computadores dos anos 80 me fascinam, mas Damian Peckett foi muito adiante do que jamais irei: ele programou um Apple ][ inteirinho dentro dos limites de um Arduino Uno.

A emulação de um Apple ][ original é bem completa: tem entrada pelo teclado, saída pelo monitor de vídeo, gravação e leitura de programas em fita cassete,

Ele precisou de algum hardware adicional: um led, um circuito com op-amp para ler e gravar na fita cassete, a capacidade de emitir sons... Fora isso, ele basicamente uso bem a capacidade de software, e bastante criatividade: a interface de vídeo (sim, tem!) foi feita reaproveitando o potencial do chip da interface USB do Uno, por exemplo.

Quanto ao software, ele optou por não usar um dos diversos emuladores da CPU 6502 já existentes, e criou seu próprio, em C e otimizado para as capacidades do Arduino, complementado por testes unitários para todas as instruções deste processador. O emulador executa o BIOS e o BASIC do Apple ][, bem como os programas que o usuário colocar lá.

A imagem acima mostra o resultado de um programa em BASIC que gera fractais de Mandelbrot (também típico dos anos 80...). No momento, o emulador tem capacidade de rodar apenas os modos texto do Apple, mas a restrição aos modos gráficos está relacionada à capacidade de memória do Arduino, e imagino que o autor ainda dará um jeito de contornar, assim como ele vem lidando com uma série de bugs já identificados por ele mesmo ;-)

Os detalhes técnicos sobre o emulador e sobre o Apple ][, além dos downloads dos softwares desenvolvidos pelo Damian para o projeto (incluindo os testes unitários) você encontra no artigo dele: Turning The Arduino Uno Into An Apple ][.

O meu respeito pelo trabalho que ele fez você encontra aqui mesmo. E leia também: Teensy Z80: um computador de 8 bits usando um Arduino (e um Teensy) como memória e periféricos.

Comentar

Dos leds ao Arduino, ESP8266 e mais

Aprenda eletrônica com as experiências de um geek veterano dos bits e bytes que nunca tinha soldado um led na vida, e resolveu narrar para você o que descobre enquanto explora esse universo – a partir da eletrônica básica, até chegar aos circuitos modernos.

Por Augusto Campos, autor do BR-Linux e Efetividade.net.

Recomendados

Livro recomendado


Artigos já disponíveis

Comunidade Arduino

O BR-Arduino é integrante da comunidade internacional de entusiastas do Arduino, mas não tem relação com os criadores e distribuidores do produto, nem com os detentores das marcas registradas.

Livros recomendados