Mega Drive roda jogos de celular ?
A Tectoy anunciou recentemente um novo modelo do Mega Drive, o videogame de 16-bits da SEGA que fez sucesso nos anos 1990. Não quero entrar na discussão de se vale a pena ou não produzir um videogame com tecnologia obsoleta por preços não competitivos com as opções chinesas de baixíssima qualidade (que incluem até um portátil que roda jogos de Mega Drive, NES e Gameboy Color); o que me chamou a atenção foi outra coisa.
Como já é de praxe nos modelos da Tectoy, ao invés de usar cartuchos o Mega Drive 3 vem com vários jogos gravados na memória interna, incluindo os clássicos como Sonic, o maior sucesso da SEGA. O novo modelo, entretanto, tem uma novidade: jogos NOVOS, desenvolvidos pela Electronic Arts, de franquias famosas (e inéditas no Mega Drive original) como Fifa 2008™, Need for Speed Pro Street™, The Sims 2™ e Sim City™.
O interessante é que na verdade esses jogos são adaptações de jogos para celulares, cujas restrições de tamanho de tela e poder de processamento os aproximam de videogames da década passada. A maioria desses jogos é desenvolvida em uma versão reduzida da plataforma Java, a Java ME (Mobile Edition).
Resta, então a pergunta: como é que estão rodando jogos em Java num Mega Drive ? Discutindo com o José Agripino levantamos duas hipóteses:
- A EA reaproveitou os gráficos e a mecânica simplificada dos jogos de celular e os reimplementou em C / assembly 68K, com código específico pro Mega Drive
- A TecToy implementou uma máquina virtual Java (JVM) para o Mega Drive - lembrando que existe JVM para o Palm (cujo processador Motorla 68K é igual ao do MD) e que teoricamente seria possível uma implementação reduzida para o console.
Acabei pedindo a opinião do RicBit, que já inclusive desenvolveu jogos comerciais de Mega Drive para a própria TecToy (”Miniaturas Velozes”, incluído em modelos anteriores). Ele deu uma outra sugestão, que parece bem mais factível (e menos trabalhosa):
O novo Mega Drive não é implementado com circuitos integrados discretos (chips individuais), como os primeiros modelos. Ao invés disso, é usada uma arquitetura reconfigurável: um único chip enorme que pode ser programado para se comportar como qualquer circuito eletrônico (de tamanho / complexidade razoáveis). Isso é o que chamamos de FPGA (Field-Programmable Gate Array), e há hobbyistas mundo afora usando kits baseados nessas arquiteturas para reconstruir - integralmente - videogames, computadores e fliperamas clássicos.
O RicBit comentou que a FPGA usada na implementação do Mega Drive (note que não é uma emulação no sentido tradicional da palavra uma vez que o comportamento lógico dos circuitos de hardware são reproduzidos) tem espaço vazio. A teoria dele é que usaram esse espaço vazio na FPGA para implementar parcialmente um celular - especificamente, a parte que suporta Java.
Seria simplesmente uma questão de comprar o design e colocá-lo na FPGA; possivelmente há pouca ou nenhuma comunicação entre a implementação do Mega Drive e do “celular”, só o necessário para carregar o jogo escolhido e iniciar um dos dois módulos.
Para ter certeza, só comprando um Mega Drive novo e metendo a mão na massa!
Alguém se habilita ? ![]()
Tags: fpga, java, mega drive, tectoy



August 27th, 2008 at 9:05 pm
Oi Murilo, tudo bem?
Eu tenho uma outra hipótese: acho que o pessoal da TecToy aproveitou o espaço vazio na FPGA para criar glue logic para um outro chip, esse mais parrudo, advindo de um celular. Para corroborar a minha tese lembro que a TecToy tinha um escritório nos EUA, e ele foi vendido para a Qualcomm. Pode ser que eles tenham ajudado nisso, o que implicaria que os jogos em questão foram desenvolvidos para a plataforma BREW, que pertence à Qualcomm.
Bom, se ele não custasse relativamente caro (acho que uns 300 reais pra cima), até seria legal ver o que eles fizeram…
Abraços
August 27th, 2008 at 10:01 pm
Oi Robson! Sua hipótese faz muito sentido mesmo, talvez até mais que colocar tudo na FPGA. Valeu!
August 28th, 2008 at 8:24 am
Pera aí! Quer dizer que os megadrives vêm com FPGA? Poxa, vou comprar um, sempre quis ter um FPGA para brincar com VHDL… Pensando bem, vale mais a pena comprar um FPGA propriamente dito que o megadrive rs.
August 28th, 2008 at 9:06 am
Acho que dando uma olhada no bicho em ação já dá para matar a charada. Tou torcendo para que ele já esteja à venda no Extra/Carrefour para poder fazer um test drive nestes jogos convertidos de celular - eu adoro jogos Java para celular, justamente para ver o que os sujeitos fazem quando trabalham sob as mesmas limitações dos computadores/videogames da década de 80/90.
August 28th, 2008 at 9:45 am
Giseli: ter uma ou mais FPGAs não significa que elas são utilizáveis pelo usuário!
O melhor mesmo é comprar um kit de desenvolvimento em FPGA, que já vem com um monte de coisas interessantes.
Dia desses na Canal-3 o RicBit recomendou esse daqui:
Custa só 150 us, e tem uma fpga cavala, 32mb de ddr ram, conectores fisicos de ethernet, vga, ps/2 e serial, um dac e um adc (pra colocar, por exemplo, som e captura de video) e mais duas flashs. Eu estimo que dá pra reproduzir um master system ou msx2 out-of-the-box, sem precisar pendurar nada extra.
http://www.digilentinc.com/Products/Detail.cfm?Nav1=Products&Nav2=Programmable&Prod=S3EBOARD
August 28th, 2008 at 9:48 am
Agripa: eu também acho jogos de celular um barato, justamente pela jogabilidade à moda antiga. E a maioria dos jogos melhorzinhos têm resolução de 320×240, que é a mesma do Mega Drive, então não deve nem dar muita diferença entre os jogos originais e esses novos.
August 28th, 2008 at 11:41 am
Imagino que estjam aproveitando para testar as estruturas dos projeto Jeanie (http://www.dev2dev.com.br/2008/08/13/tectoy-projeto-jeanie-ja-esta-em-estudos-desde-2006/) que esta para ser lançado.
Olhando o projeto patenteado pela tec-toy e que esta sendo ajudado pela Qualcomm, pode ser um teste de arquitetura.
August 28th, 2008 at 11:57 am
Interessantíssimo, Georgio, kudos pela dica!
August 28th, 2008 at 12:29 pm
Olha só que bacana, pela patente tá escrito que não é uma fpga que tem
dentro dele, é um asic. Vai ver então meu devkit tem um fpga porque
eles usam isso pra testar facilmente a implementação, depois que o
vhdl tá estável, eles mandam imprimir o asic logo de uma vez.
Eu ia chutar que fizeram uma cpu risc qualquer dentro do asic e o mega
drive era emulado, mas a patente cita “uma ou mais cpus”, devem ser
dois chipsets mesmo. Agora eu tô curioso pra ver a placa
August 28th, 2008 at 1:04 pm
Uau, valeu pela dica! Tá mesmo barato… minha mão tá coçando hehe

Olha, mencionei a reutilização, porque já dissequei alguns eletrônicos e sempre acho coisas para reutilizar depois, mesmo que em aplicações inúteis… eu tinha videogame, mas nunca tive oportunidade de abrir um
De qualquer modo, valeu pela dica do fpga, já estou colocando na lista de compras