Eu criei um emulador/interpretador de CHIP-8 em Rust.
Eu sempre tive vontade de programar um emulador.
Até já tinha tentado fazer um emulador de SNES mas no final acabei ficando travado porque era muito complicado.
Eu queria criar todo o código por mim mesmo e não seguir tutoriais na internet onde a gente apenas copia código.
Então conheci o CHIP-8.
Mas o que é esse tal de chip-8?
Vou colocar a descrição da Wikipedia:
"CHIP-8 é uma linguagem de programação interpretada, desenvolvida por Joseph Weisbecker.
Ela foi usada originalmente no computador COSMAC VIP e no Telmac 1800, que eram computadores de 8 bits da década de 1970. Os programas CHIP-8 são executados na máquina virtual CHIP-8. Ela foi criada para facilitar o desenvolvimento de jogos para esses computadores."
Essa linguagem/vm foi bastante popular na década de 1970 e depois caiu em desuso.
Mais recentente, a calculadora HP-48 introduziu um emulador de CHIP-8, o que reacendeu o interesse no sistema.
Atualmente, fazer um emulador de CHIP-8 é considerado um "rito de passagem" para quem está entrando no mundo do desenvolvimento de emuladores.
Juntando, que eu também queria aprender Rust, resolvi tentar fazer o emulador nessa linguagem.
Foram alguns dias de muita leitura de datasheets e documentações do CHIP-8, li bastente material e finalmente consegui criar um emulador totalmente funcional com código 100% criado por mim.
Na internet exitem "roms", programas para CHIP-8, jogos e também roms que testam se seu emulador está executando as instruções corretamente.
Meu emulador conseguiu passar em todos os testes.
Bom, chega de falação, abaixo tem o link do repositório no github pra quem quiser testar o emulador.
E também umas screenshots.