Por um momento imaginem que estão em 1982…

Agora esperem uns minutos para que o jogo no vosso novíssimo ZX Spectrum carregue…Piiiuuuu pu…piiiiiuuuuu pu….tiitiiitiitiii tiiii tiii tiiii … e passados 5 minutos o jogo não entrou.

Em 1982 se queríamos jogar num Spectrum era preciso que um leitor de cassetes demorasse uma eternidade a carregar um jogo. Ao ler a cassete (k7 para os mais “entendidos”) o leitor fazia um som inesquecível e estridente. Nessa altura, pegava-se numa chave de fendas e tentava-se afinar a altura da cabeça do leitor de maneira que o som ainda ficasse mais agudo, mais estridente.

Mas esse tempo já lá vai e hoje em dia temos alternativas modernas para jogar os jogos do ZX Spectrum. A melhor dessas alternativas são os FPGAs. FPGA quer dizer Field Programmable Gate Array e é um circuito integrado que, tal como o seu nome indica, baseia-se numa matriz configurável de  blocos lógicos. Numa linguagem mais simples os FPGA podem ser programados para desempenharem as funções que quisermos, desde um interruptor até a uma máquina com um processador multicore. A grande vantagem dos FPGAs é que imitam na perfeição as funções de computadores antigos mas com a fiabilidade e com a vantagens da tecnologia moderna.

Mas há interesse em jogar em jogos antigos? Afinal de contas o que é isso de retro gaming?

O Retro Gaming

Não confundir com o RETO gaming do Worten Game City

É jogar ou coleccionar jogos/consolas/computadores antigos. É consensual que tudo o que são 2 gerações anteriores é considerado retro. A própria definição de gerações é confuso e técnico mas de uma forma simplista, se hoje em dia temos uma PlayStation 4, então tudo do tempo da PlayStation 2 e tudo o que a precede é retro. E vale a pena jogar estes jogos?  Claro que sim! Um bom jogo será sempre um bom jogo. Todos conhecem o Pacman ou o Sonic ou o Tetris mas existem milhares de jogos que ainda hoje são brilhantes. Experimentem um Gunfighter a 2 jogadores no Videopac (1980), ou o The Incredible Wizard na Astrocade (1981)  ou um Chuckie Egg na ZX Spectrum (1983).

Gunfighter – Videopac

É certo que alguns jogos envelheceram mal, mas outros não. E ainda falando da Astrocade… o que é uma Astrocade? É uma consola antiga, lançada em 1977 e que só saiu nos Estados Unidos. Aliás ainda hoje é cara comprar uma em segunda mão e é rara. E é aí que entram os FPGAs! Hoje em dia, com um FPGA, podem jogar esses jogos de diversos sistemas numa só máquina. Podem usufruir de máquinas e jogos raríssimos e  não precisam de jogar nas TVs antigas (CRTs… aquelas TVs gigantes com ecrã minúsculo e  algumas até a preto e branco).  As vantagens dos FPGAs não ficam por aí… querem jogar o primeiro videojogo que existiu? O Spacewar! Saiu em 1962 feito por alunos do MIT, corria no computador PDP-1 e que custava na altura 20 mil dólares.

Além disso, os FPGAs podem correr versões melhoradas das máquinas antigas. Podem jogar na Mega Drive a 10 MHz (faz com que alguns jogos corram mais depressa) ou uma Colecovision com o Super Game Module (adiciona memória e tem um som melhor) ou jogar no Spectrum com fast loading (carrega imediatamente o jogo em vez dos 5 minutos habituais)  etc etc…

As máquinas FPGAs que são usadas em videojogos, não são de marcas conhecidas. E é difícil que sejam… isto porque se por um lado há pessoas que usam o argumento de que se está a preservar a livraria e a história dos videojogos, é óbvio que o uso dos FPGAs para este fim roça o violar dos direitos de autor. No entanto hoje em dia vemos as consolas mini: Nintendo, Super Nintento, Mega Drive, PlayStation… e é natural que um dia destes, as grandes marcas comecem a usar FPGAs. Os FPGAs no mercado usualmente são de empresas muito pequenas ou mesmo resultado do trabalho de uma só pessoa.  Mesmo assim já há muitas máquinas FPGAs: ZX Uno, ZX Go+, Speccy 2010, Next, Mist, Mister, Zemmix, FPGA Arcade, Replay 2, Mega SG, Super NT, ZX Dos, Unamiga etc…

Alguns sistemas FPGA: Mega SG, Mister, Super NT e ZX Go+

Realce-se as  consolas da Analogue: a Mega SG e a Super NT. Apesar de só correrem um sistema (Mega Drive e Super Nintendo respectivamente) são de uma qualidade excepcional (A Analogue é uma empresa Americana conhecida pelos seus produtos de luxo). Também gostaria de realçar a Mister que é desenvolvida por Alexey Melnikov e produzida por uma empresa portuguesa, a Retroshop.pt. Diga-se que a Mister é uma das melhores máquina do mercado pois está em constante desenvolvimento e corre neste momento dezenas (centenas?) de sistemas, desde o PDP-1 até à Mega Drive e à Super Nintendo, passando por computadores emblemáticos como o ZX Spectrum e Commodore Amiga, ou mesmo correndo consolas portáteis como o Gameboy ou a Game Gear. Os FPGAs que há no mercado só recriam até às máquinas de 16 bits. O ZX-Go+ é também um FPGA interessante pois usa a caixa e o teclado original do ZX Spectrum mas por dentro é uma máquina toda nova.

Zx GO+ (FPGA) vs ZX Spectrum 48k

Além dos sistemas replicados em FPGAs, há também periféricos feitos com FPGAs com aplicações nos videojogos. Refiro-me aos flashcarts e aos optical drive emulators (ODE) que existem no mercado. Os flashcarts correm centenas de jogos num só cartucho que no sistema original só correria um só jogo. Exemplos de flashcarts são os Everdrives (NES, Mega Drive, Master System, PC Engine, SNES, GB, GBA, N64) e o SD2Snes. Os ODE são dispositivos que substituem os leitores de CD por leitores de cartão SD e actualmente no mercado tem-se ODEs para PS1 (PSIO), Saturn (Rhea ou Phoene), Dreamcast (GDEMU), Doc Brown (FM Towns Marty), PC Engine Duo (Super SD System 3, que não é exactamente um ODE mas faz a mesma função) e 3DO (USB Host Controller).

ODEs: Rhea, USB Host Controller, GDEMU e PSIO

Flashcarts: Everdrive 64, Super SD System 3, SD2Snes, Mega Everdrive, Everdrive N8 e Turbo Everdrive

O sucesso dos FPGAs nos videojogos deve-se naturalmente à versatilidade que estes têm. Obviamente que são usados em quase todas as áreas científicas e, como tal, são estudados em disciplinas nas Universidades e Politécnicos de todo o mundo, tanto em cursos de electrónica como também em cursos de videojogos. Os FPGAs servem não só para as suas aplicações mais práticas mas também são usados para aprendizagem de tecnologias anteriores. Esse ensino nas Universidades bem como o fabrico de FPGAs mais potentes e mais baratos impulsionou o uso dos FPGAs que agora se assiste. Note-se que os FPGAs já existem desde 1984.

Por fim, qual a diferença de entre FPGA e emulação? Uma resposta rápida costuma ser que os FPGAs são emulação de hardware. Sendo mais rigoroso, os FPGAs são mais cycle accurate (correm de uma forma mais semelhante ao original) e funcionam exactamente como a máquina original funciona. Usualmente os emuladores correm com um frontend (um programa que usualmente tem um um interface gráfico, apelativo e fácil) ou pior, quando não têm esse frontend, são usualmente de uso difícil. De qualquer maneira, a emulação cada vez está melhor e não deixa de ser uma boa opção para jogar jogos em máquinas antigas.

Termino este artigo com um vídeo que mostra a Mister FPGA a correr alguns sistemas. O vídeo não tem qualquer tipo de edição para que possam ver o normal funcionamento de um sistema FPGA.