LusoRobótica - Robótica em Português

Sistemas específicos => Outros Sistemas => Tópico iniciado por: dropes em 31 de Janeiro de 2024, 14:54

Título: Emulador NES em ESP32
Enviado por: dropes em 31 de Janeiro de 2024, 14:54
Uma nova Aventura

Ao acabar um projecto, fico nun vazio a pensar num novo.
Decidi-me aprofundar em ESP32, habituado a programar Basic, não há escapatória de C++ se for para outros IDEs mais avançados.
Após a aplicação de um display ST7789 ao “galvo laser”, como costumo encomendar aos pares, sobrou um. Além da qualidade de imagem, requer um maior processamento que um simples AVR para 320x240.

A ideia foi esta:
https://hackaday.io/project/166707-esplay-micro
Um emulador NES com um micro esp32 e pouco mais.
(não vou fazer igual, se tiverem acesso ao layout da PCB, está uma aberração 100% auto-route)

Fiz uma compra ao nosso colega #MAntunes em 2019 do “Wemos Lolin32 Lite (ESP32)”.
https://lusorobotica.com/index.php?topic=9373.0
O único inconveniente desta placa é não ter memória PSRAM, logo não serve para emular.

Pela internet do “ESP32 Wrover”, encontrei na Mauser a um preço acessivel:
https://mauser.pt/catalog/product_info.php?products_id=096-8584

CPU and On­Chip Memory
• ESP32-S2 embedded, Xtensa® single-core
32-bit LX7 microprocessor, up to 240 MHz
• 128 KB ROM
• 320 KB SRAM
• 16 KB SRAM in RTC
Integrated Components on Module
• 40 MHz crystal oscillator
• 4 MB SPI flash
• 2 MB PSRAM

Ainda não sei se tem IOs suficientes para os switchs, em último caso uso um 74HC165 (8-Bit Parallel-Load Shift Registers) em modo SPI.

Acabei de receber a encomenda da Mauser + a solda da marca deles, a ver se tenho mais sorte desta vez :P
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 03 de Fevereiro de 2024, 15:02
Olá a todos :)

Estive de volta a este bicho, e decidi fazer uma placa de testes antes de soldar outro na placa final.
Apesar de estarem atribuídos os IOs no software, agora posso comprovar via hardware o que pode funcionar ou não.

(https://i.imgur.com/j215PFV.png)
Não tem qualquer protecção EMI, tirando um pequeno fusível de +-1A, onde coloquei uma resistência de 1 ohm.

(https://i.imgur.com/N2Cknhj.jpeg)
Com pitch de 2.54mm, a distância dos pares (30.48mm) requer duas breadboards encostadas.

Vista debaixo do modulo
(https://i.imgur.com/4EeHfoy.jpeg)

Encomendei um pequeno rolo deles, e estou satisfeito, boa solda.
(https://i.imgur.com/MzusplE.jpeg)


Código: [Seleccione]
Source file: C:\Users\Dropes\Desktop\NES\NES\ESP32_CPU_Memory_Info-master\ESP32_CPU_Memory_Info\ESP32_CPU_Memory_Info.ino
ESP32 Chip model: ESP32-S2
  Revision: 0
  Core count: 1
  Chip ID: 14343288
  Frequency: 240
  Cycle count: 837250441
  SDK version: v4.4.5
Heap:
  Total: 251132
  Used: 19832
  Free: 231300
  Largest block: 204788
  Minimum free since boot: 227992
Flash:
  Total: 4194304
  Speed: 80000000
Sketch:
  Size: 247696
  Free: 1310720
PSRAM:
  Total: 2095087
  Used: 260
  Free: 2094827
  Largest block: 2064372
  Minimum free since boot: 2094827
It's alive!!!  ;D
Título: Re: Emulador NES em ESP32
Enviado por: zordlyon em 05 de Fevereiro de 2024, 09:41
Muito fixe..  :D
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 05 de Fevereiro de 2024, 21:22
Olá :)

Tem dado trabalho, enganei-me no modulo  :-[

Deveria ser a versão "ESP32 WROVER, Dual core processor with Integrated 4MB Flash + 4MB PSRAM"
e encomendei a versão "ESP32 WROVER, Single core processor with Integrated 4MB Flash + 2MB PSRAM"

Esta versão tem mais IOs mas de resto é igual.
Creio que mesmo assim deverá funcionar, as especificações SNES são baixas...

Ando de volta do "Espressif IDF" em ambiente "VSCode"... meu rico bascom  :-\ lol
Título: Re: Emulador NES em ESP32
Enviado por: jm_araujo em 06 de Fevereiro de 2024, 14:59

Creio que mesmo assim deverá funcionar, as especificações SNES são baixas...

Deves querer dizer NES.;)
A SNES é 16 bits e umas ordens de magnitude mais complexa.
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 08 de Fevereiro de 2024, 15:14

Creio que mesmo assim deverá funcionar, as especificações SNES são baixas...

Deves querer dizer NES.;)
A SNES é 16 bits e umas ordens de magnitude mais complexa.

Verdade, tropecei na consola.

Tento copiar um emulador de 8-bit/1.79 MHz com um micro de 32-bit/240 MHz, e está a dar luta.
Até agora, tenho apenas funcional o menu, e a leitura do ficheiro NES para a RAM, a partir daí bloqueia. (ainda por descobrir o motivo)

Cada vez está mais difícil fazer piscar um LED, ou é impressão minha  ???
Título: Re: Emulador NES em ESP32
Enviado por: jm_araujo em 08 de Fevereiro de 2024, 16:18
Não é impressão.

É avassalador a quantidade de novos sistemas disponíveis e a aparecer. Saudades quando a discussão era se usavas PIC ou AVR. Hoje em dia tens uma quantidade enorme de microcontroladores disponíveis, a preços super acessíveis mas arquiteturas cada vez mais complexas e cada um com o seu conjunto de periféricos. E se abrires a pestana para o que está a vir da china então (e sem ser tão mainstream como os ESP32), então é de cortar os pulsos: Padauk a 0,05€ em singles), WCH com Risc-V de simples a com GbE, tudo com programadores e placas de testes acessíveis.

E FPGA? Lattice MachXO2 a preços super acessíveis, packages soldáveis, com flash integrada (solução de 1 só chip, sem memória externa para bit-stream) a funcionar a single supply 3.3V, com opção de toolchain open source!

Isto com o me cruzei recentemente(e ainda me lembro), de certeza que há por aí muito mais... Quem me dera ter tempo e paciencia para explorar!!!

PS: Já pegaram no RP2040? Sou só eu que achei o compilador/toolchain/SDK intragável? Não me entendo com o cmake...
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 09 de Fevereiro de 2024, 17:38
 ::)

Sem copiar, não vejo soluções de fazer um micro ler um código escrito por mim, realmente é necessário bastante tempo e sossego para desembrulhar todo o potencial de 5€.
Pequenas modificações e fico-me por aí, a não ser que encoste algumas bibliotecas e faça o pretendido.
Fora os AVR-8bits, aí assembly TT.

Agora com a pancada do AI, não me admirava nada que um micro salta-se da board e fosse à sua vida "- Tenho mais potencialidades lá fora!"

RP nunca lhes toquei, ainda estou a aquecer  :)
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 13 de Fevereiro de 2024, 22:15
Hello  :)

Ando aqui ás voltas para tentar entender C, que linguagem mais complicada  :-\
Alguns progressos, já lê os ficheiros NES, mesmo os maiores.

O som via I2S também parece estar a funcionar bem, entretanto ainda não descobri o motivo de reiniciar na velocidade normal.
É possível alterar a velocidade SPI do display, e mesmo do emulador; mas é inútil ter um fps de 5.

Fonte:
https://github.com/nathalislight/NCAT

Título: Re: Emulador NES em ESP32
Enviado por: jm_araujo em 14 de Fevereiro de 2024, 18:26
Ando aqui ás voltas para tentar entender C, que linguagem mais complicada  :-\

C não é assim tão mau, o  K&R lê-se num par de horas e tá lá tudo. O problema é lidar com bibliotecas e todo o código  herdado  nas varias plataformas.
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 16 de Fevereiro de 2024, 14:22
Ando aqui ás voltas para tentar entender C, que linguagem mais complicada  :-\

C não é assim tão mau, o  K&R lê-se num par de horas e tá lá tudo. O problema é lidar com bibliotecas e todo o código  herdado  nas varias plataformas.

Baby-steps  :)

C tem particularidades em atalhos e comparações aritméticas que desconhecia, engano-me frequentemente:
- Maiúsculas / minusculas
- ; no final, faz-me lembrar o bom Pascal

Sim, as bibliotecas e recursos são uma dor de cabeça, além de estarem em diretórios separados, os recursos são de acordo com o ESP32, que por vezes fica difícil saber como alterar pequenas coisas, e recorro bastante á net para procurar soluções.

Neste momento já lê todos os ficheiros, e utiliza a PSRAM integrada, anteriormente gravava em flash cada ficheiro proveniente do SD... isso não era nada bom.

vamos ver...

(https://i.imgur.com/2CjWyWh.jpeg)
(https://i.imgur.com/tASFIGk.jpeg)


Título: Re: Emulador NES em ESP32
Enviado por: dropes em 19 de Fevereiro de 2024, 16:19
Boas

Não sei o que se passa, mas não consigo ter um frame-rate superior a 1 :-\
Já me certifiquei que o display está em SPI via hardware, se alterar para software, ainda fica pior.

Estou sem ideias, experimentei outra variante (pac-man) e funciona perfeitamente, mesmo os exemplos das bibliotecas correm bem.  :(

Pac-man: https://github.com/MhageGH/esp32_ILI9328_Pacman/tree/master
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 27 de Fevereiro de 2024, 21:33
Olá pessoal  ;D

Decidi-me ficar pelo pac-man  :P
A ideia de um emulador é boa, entretanto fui para este, com uma resolução de 240x320, em vez dos 240x240 usada na emulação NES.

(https://i.imgur.com/0aBJf2O.png)

No post original do pac-man, não tem SOM, perde um bocado com isso quando o esp32 tem mais que possibilidades de o fazer.
Na reprodução dos sons, são 11 no total, alguns em loop, outros apenas uma vez em efeitos sonoros.
Demorei 10 minutos na programação dos switchs (mais uma falta), e 3 dias para colocar os sons (ainda sou meio noob nestas coisas).

O som ambiente (via loop) é reproduzido por um canal DAC 8bits do micro, e os efeitos são reproduzidos pelo 2º canal DAC; assim consegui manter uma qualidade sonora razoável, sem recorrer a um DAC externo.
Na saída do amplificador de som, o altifalante fica entre os canais, assim a mistura é efetuada e dispensa ao mesmo tempo condensadores de saída.

A placa está no forno e deverei terminar amanhã.

Não há nada melhor que começar uma linguagem nova, e colocar ponteiros para endereços. damn

Inté  :)


obs: todos os ficheiros (firmware e cad) ficarão disponíveis via Guit; com referência ao autor original.


last edit: esqueci-me por completo do regulador, a máxima tensão do micro é de 3.6V  :-[
                por enquanto está a funcionar bem, vou tentar soldar um LDO algures...
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 02 de Março de 2024, 21:01
Finalmente acabei  ::)

Uma revisão ao código e alterações de componentes, parece-me bem agora.

Mudanças:
- Esquema e conexões para protótipo
- Suporte ST7789
- Sons através de dois canais ESP32 8b DAC (ambiente / efeitos)
- Funções dos botões A e B
- Mostrar fantasmas assustados piscando antes de voltarem ao normal
- Monitor de capacidade da bateria
- Gravação do hiscore na flash (Esp32 não tem eeprom)

IDE Arduino.


Amanha devo publicar, algumas fotos vídeo e link Guithub.

Bom fim-de-semana  ;)

ps: hoje não foi dia de programação, lembrei-me que faltava gravar o hiscore, para não começar sempre do 0
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 05 de Março de 2024, 15:50
(https://i.imgur.com/jTNivSN.jpeg)
(https://i.imgur.com/RZYih0n.jpeg)


(https://github.com/pdropes/Esp32---Pac-man/blob/main/doc/pac-man%20perspectiva.jpg)


https://youtu.be/7_UDVhISr7g

https://github.com/pdropes/Esp32---Pac-man
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 13 de Março de 2024, 21:19
Revisão 1:
- Fonte da "bateria" idêntica ao restante texto
- Em modo DEMO, o score mantem-se sempre visível do último jogo
- Adicionada bibilioteca "Adafruit_BusIO" em falta
(https://i.imgur.com/yx0mHQw.jpeg)


Este fórum tem andado meio parado... ou melhor, mais parado que o habitual :P
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 10 de Abril de 2024, 15:30
Com o não sou pessoa de desistir facilmente, e o C tem sido desafiante, estou a tratar de criar um clone do famoso ODROID-GO

(https://i.imgur.com/AlDQ3ZM.jpeg)

Existe até uma página relacionada com este tipo de consola, a 1ª versão foi esta do Odroid-go:
https://www.hardkernel.com/shop/odroid-go/
Esquema (não existe layout da pcb disponível):
https://github.com/hardkernel/ODROID-GO/blob/master/Documents/ODROID-GO_REV0.1_20180518.pdf

Entretanto surgiram outras no site, para emular consolas mais avançadas, maior poder de processamento, memória, wi-fi, câmera, comandos xpto, etc...

Vamos RETRO, mantive os IOs exactamente como na consola original, facilita bastante a gravação de imagens pré-compiladas, sem ter de alterar a configuração no código e voltar a compilar.
Também tentei manter as medidas exteriores:

(https://i.imgur.com/RFPIPMg.png)

Display 320x240 (ILI9341) : https://pt.aliexpress.com/item/1005006470481683.html
ESP32-WROVER-E 16MB : https://pt.aliexpress.com/item/1005002186594347.html

obs:
Vou aproveitar o suporte SD, mas ainda não sei se é SD normal ou micro, isso altera o layout da pcb... vamos ver
O som sai do ESP32 via 2 DACs, parece-me familiar, porque não via I2S ?! ;D

obs2:
Encontra-se no Ali consolas emuladoras por 10 ou menos, mas não é a mesma coisa  :)

ps: estive a ver melhor o código e o som é via PWM... bolas, assim não vai funcionar, tenho de ver melhor isso


Título: Re: Emulador NES em ESP32
Enviado por: dropes em 19 de Abril de 2024, 15:31
Depois de procurar detalhes deste LCD.
Vi alguns vídeos e detalhes da orientação, assim como do controlador.

Não iria realizar uma PCB, para depois ter de rectificar tudo, devido a um lapso parvo.

(https://i.imgur.com/BAxgHAx.jpeg)

Ao inicio não dava sinal, dei conta que o RESET do ESP32 tinha um nome diferente no esquema do restante RESET (SD, LCD e Switch).
Depois de uma ponte, iniciava bem, mas dava erro ao ler o cartão SD, então coloquei 6 pull-ups para remediar.
Continuou a dar erro, depois gravei um teste de leitura, enviando o resultado via porta série. Estava a funcionar bem.
Tenho dúvidas se o micro-SD não era compatível com a bibliotaca do ODROID-GO, 1GB deveria dar.

Em desespero, soldei um suporte SD normal (como se pode ver pela foto), e aí 5 estrelas, tudo direitinho.  ;D

Vou fazer nova PCB (assim que testar o restante circuito), e rodar o display 180º... por sorte vou ter de soldar novo suporte SD ao LCD, o original removi de forma +- destrutiva, para não danificar o display.
Assim, o cartão SD já pode ser inserido por cima.

Esta PCB também não correu lá grande coisa, deveria ter usado acetatos sobrepostos. Ficou cheio de pontinhos  :P
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 20 de Abril de 2024, 14:22
Eis uma configuração de um amp-op que desconhecia:

(https://i.imgur.com/QOSsk8u.jpeg)
fonte: https://github.com/hardkernel/ODROID-GO/blob/master/Documents/ODROID-GO_REV0.1_20180518.pdf

O sinal PWM do IO26 tem entrada em IN+ no amp. até aqui tudo bem.

Entretanto a saída IO25 também tem o seu condensador 0.1 e resistência de 100k em série para este amp.
Mas neste caso a única função deste sinal é para o /SD pino 6 (/MUTE).
Tanto no código assim como no osciloscópio, este sinal é apenas digital, nunca PWM.

Dúvidas, mas qual o objectivo de se usar um sinal, como se fosse analógico, confunde-me?!   ???


Título: Re: Emulador NES em ESP32
Enviado por: jm_araujo em 20 de Abril de 2024, 15:24
Se vires a datasheet desse amplificador classe D (não é um opamp), o in- é recomendado ligar com o condensador e resistência ao GND. Como tem o condensador tanto faz, desde que seja uma tensão estável. Talvez tenham ligado ao io25 porque dava mais jeito no routing?
Título: Re: Emulador NES em ESP32
Enviado por: KammutierSpule em 20 de Abril de 2024, 16:22
Tanto no código assim como no osciloscópio, este sinal é apenas digital, nunca PWM.

Sinal digital no osciloscopio? queres partilhar?
Será que é um PulseDensityModulation?

O resto do circuito é normal, um amplificador de audio.
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 20 de Abril de 2024, 17:16
Se vires a datasheet desse amplificador classe D (não é um opamp), o in- é recomendado ligar com o condensador e resistência ao GND. Como tem o condensador tanto faz, desde que seja uma tensão estável. Talvez tenham ligado ao io25 porque dava mais jeito no routing?
Sim, parece ser classe D.
O IN- (Negative Differential Input) deveria ficar com metade da tensão da alimentação, ou ligado com um condensador ao GND, como exemplificado pela datasheet.
Não me parece que ligar a um sinal lógico ou a uma saída flutuante seja o mais correcto.

Tanto no código assim como no osciloscópio, este sinal é apenas digital, nunca PWM.

Sinal digital no osciloscopio? queres partilhar?
Será que é um PulseDensityModulation?

O resto do circuito é normal, um amplificador de audio.

Até que posso partilhar o sinal, mas é só 3V ou 0V quando em mute. Não é interessante  ;)
O único sinal PWM é apresentado em IO26.
Ao se ajustar o volume (via switch), IO25 mantém-se a 3V, mas quando o volume é mínimo, este sinal passa a 0V.

Conclusão, no seu funcionamento normal (com som), o terminal IN- está ligado a 3V (sinal lógico) através de um condensador e uma resistência.
Título: Re: Emulador NES em ESP32
Enviado por: jm_araujo em 21 de Abril de 2024, 09:05
Uma coisa que me estava a fazer confusão: o IO26 é DAC, e não PWM como indicado.Um sinal PWM ligado diretamente a um amplificador classe D sem um passa baixo primeiro não ia funcionar muito bem (been there, got the T-shirt).
A reproduzir som de consola antiga, com som rudimentar (bip-bop-bip) pode parecer PWM mas não é a mesma coisa, PWM para áudio tem de ter uma frequência fora da audição humana para não ser audível.

Tens uma explicação do circuito aqui: https://austinmorlan.com/posts/odroid_6/
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 21 de Abril de 2024, 11:55
Concordo totalmente, PWM tem de levar um filtro à saída.
Obrigado pela informação, estava mesmo convencido que o sinal era PWM.  :)

Segundo o código exemplo, está configurado para PWM 13b, o que corresponde a 5kHz no máximo.
Então o emulador processa o som de forma diferente dos exemplos...arg

Interessante este artigo, vou averiguar mais  ;)

"That means to use the amp we must not use IO25 as a DAC but instead as an always-high GPIO output. But that also then sets IN- high which is not what the amplifier datasheet recommends (it should be ground). We must then use the DAC that is connected to IO26 as our I2S output to be fed into IN+. This does not achieve the expected noise-elimination because IN- is not connected to ground. There is a constant soft fuzz of noise coming out of the speakers at all times."

Bem me parecia que algo não estava bem  ::)

Esta versão já não está a ser comerciada, entretanto é um bom princípio de aprendizagem.

V2 e 93 vias depois  :P
(https://i.imgur.com/WSkXmRB.jpeg)

Título: Re: Emulador NES em ESP32
Enviado por: dropes em 22 de Abril de 2024, 14:14
Desde já, peço desculpa pela qualidade das fotos, colocar as pontas enquanto seguro no telemóvel e tirar uma fotografia, é muito malabarismo.

Configuração osciloscópio para 200uS:
(https://i.imgur.com/5drSX5C.jpeg)

Sinal após amplificado:
(https://i.imgur.com/sqP3nsa.jpeg)

Sinal com filtro passa baixo de 1ª ordem:
(https://i.imgur.com/bqptlrP.jpeg)

Circuito em causa (entrada e saída em paralelo):
(https://i.imgur.com/2vGwV9g.png)

Para consola, não exige som muito alto, este amplificador toma conta do recado, e o som tem uma qualidade aceitável.
Nas medições, observei uma frequência residual de 50kHZ, é incomodativo, e o filtro ajudou um pouco.

Este é composto por C30-R31-C31.

No inicio coloquei 100nF em C31, resultado na foto acima.
Entretanto abafava demasiado e acabei por trocar por um de 47nF.
Atenuação ficou em 23db para 50kHz aproximadamente.

Poderia ir para outro tipo de amplificador e desenhar um filtro de 2ªordem activo mais eficiente.

Estar tudo a funcionar, é gratificante  :)
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 28 de Abril de 2024, 15:36
(https://i.imgur.com/sQYadyI.jpeg)

(https://i.imgur.com/vUhbF0n.jpeg)

Gostei dos emuladores, funcionam perfeitamente e os botões são responsivos.
Permite também ajustar o brilho, volume de som, e entrar em modo sleep, sabe-se lá porquê.
A velocidade corresponde, sem perdas de frames.

Testei com sucesso, NES, GB, GBC, SMS e GG
Quase todos os jogos rolam bem, poucos bloqueiam ao iniciar.

Sim, Doom também funcionou aqui.
Parece que Duke Nukem 3D também, mas esse não testei.
Tyrian e Wolfenstein 3D, não consegui correr, devo estar a fazer algo mal...

Bem... funciona
Título: Re: Emulador NES em ESP32
Enviado por: almamater em 28 de Abril de 2024, 17:34
 :D  uau ficou muito bom! Parabéns pelo projecto!!
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 29 de Abril de 2024, 15:50
Obrigado  :)

Nova descoberta https://forum.odroid.com/viewtopic.php?t=37599

Retro-Go: suporta Genesis e TurboGrafx-16 (PC-Engine), agora sim, está completo  8)
Título: Re: Emulador NES em ESP32
Enviado por: jm_araujo em 29 de Abril de 2024, 18:12
Boa dica, dá-me vontade de fazer uma coisa dessas, como assim acho que tenho o hardware todo em stock...
Título: Re: Emulador NES em ESP32
Enviado por: dropes em 30 de Abril de 2024, 15:09
É um projecto interessante, que merece o tempo dispendido, já que a despesa é mínima (12 no meu caso, lcd + esp32)

Improvisei nos botões para os switchs, todos os 12 levaram espaçadores, sem folgas.
Careço de uma impressora 3D, a caixa foi realizada com 2 placas de acrílico 2mm, dobradas termicamente em forma de U.

O Esp32 deve ser de 16MB flash e 8MB PSRAM, a versão original do Odroid-go tem o micro ESP32-WROVER-B,
que se encontra obsoleto, estando presente a versão -E.

- 90% dos jogos correm bem em emulação, o som é por simulação dos chips, e é fantastico.
- Além das consolas de 8bits, não fica atrás nas de 16bits, "Megadrive / Genesis" e "Super Nintendo".
- Infelizmente fica complicado emular multiplos chips de SOM em 16bits, e arrasta um bocado (é opcional no menu).
- Todos os jogos permitem a gravação do estado actual deles (grava ficheiros em SD), muito bom para continuar sem ser do inicio.
- Correr Doom num micro de 5€ é fantástico, com todos os sons e movimentos fluidos.

Existem duas versões de firmware para o "hardware odroid-go", o próprio "odroid-go" e o "retro-go", que abrange as emulações da anterior e mais algumas, incluindo as de 16bits.

Se alguém estiver interessado, posso gerar um tutorial ao pormenor; as informações estão um bocado dispersas e não são nada intuitivas.