GBS 8200 + GBS Control: Teste de Downscale [Versão em Português]

Fabio Santana
RGB Inside
24 min readAug 1, 2020

--

[English version of this article here.]

A esta altura, a comunidade de jogos retrô está um tanto familiarizada com os upscalers e multiplicadores de linha como o Framemeister, OSSC, RetroTINK-2X e a própria GBS 8200 de que vamos tratar neste texto. São dispositivos geralmente usados para fazer upscale, ou seja, aumentar a resolução de jogos antigos para exibi-los em telas modernas de alta resolução. Porém, uma faceta menos conhecida da cena é a dos downscalers, dispositivos cuja finalidade é diminuir a resolução de um sinal de vídeo.

Pode parecer estranho, mas uma resolução menor é desejável em alguns cenários específicos (vide lista adiante), e os hardwares que realizam essa tarefa são cobiçados por um nicho de entusiastas. Um exemplo é a linha Extron Emotia de processadores de vídeo, que sumiram do mercado e, consequentemente, atingem hoje preços exorbitantes — enquanto uma unidade dessas podia ser encontrada por US$ 50 a US$ 150 no eBay há alguns anos, hoje em dia os modelos capazes de gerar sinal 240p (Emotia, Emotia Plus, Super Emotia e Super Emotia GX), são vendidos por US$ 400 ou mais quando dão as caras.

O Fudoh, referência na comunidade por seus artigos sobre processadores de vídeo, publicou um tratado completo sobre downscalers com marcas, modelos, usos e exemplos. O artigo foi atualizado pela última vez em 2013, mas pouca coisa mudou nesse segmento até recentemente. Anunciado em janeiro de 2020, o OSSC Pro promete incluir a função de downscale entre seus recursos, mas ainda não há informações sobre quando o aguardado sucessor do OSSC chegará ao mercado — e a que preço…

Mas o desenvolvimento recente mais empolgante na área de downscale vem do GBS Control, um firmware customizado criado por Robert Neumann, conhecido na comunidade por Rama. Esse firmware transforma a linha GBS 82XX, processadores de vídeo originalmente bastante problemáticos, mas relativamente baratos, em dispositivos versáteis e eficientes — o Bob do RetroRGB publicou há pouco tempo um excelente teste em vídeo do GBS Control. Mas o recurso revolucionário adicionado recentemente é o tão almejado downscale! E “revolucionário” neste caso não é uma hipérbole, já que essa função em um dispositivo de baixo custo torna obsoletos os disputados processadores de vídeo de centenas de dólares.

Parece difícil de acreditar, mas o recurso funciona de verdade, e nós realizamos alguns testes preliminares para demonstrar.

Exemplos de Uso

Antes de partirmos para o teste, vamos apenas exemplificar por que diminuir a resolução da imagem pode ser útil. O centro do problema está nas transições de tecnologias e em como as informações em padrões antigos são tratadas em dispositivos posteriores.

Consoles e arcades até meados dos anos 1990 operavam com sinal de vídeo 240p, uma variante progressiva do sinal de 15kHz. Com o avanço nas capacidades de processamento, os consoles e algumas placas de arcade começaram a ser capazes de dar saída de “alta resolução” em 480i, que ainda é um sinal de 15kHz, porém com a imagem entrelaçada –cada ciclo de varredura vertical do CRT desenha apenas metade das linhas, primeiro as ímpares, depois as pares, e assim alternadamente (cada ciclo de varredura vertical neste caso forma um campo/field). A geração Saturn/PS1/N64 foi a primeira a ter jogos com essa resolução regularmente, e na geração seguinte o 480i tornou-se o padrão, ao mesmo tempo em que começavam a chegar jogos com suporte a resolução 480p (480 linhas de resolução vertical progressiva, com cada ciclo de varredura vertical formando um quadro/frame completo).

O problema é o descompasso gerado quando jogos antigos criados em resolução 240p começaram a ser relançados em consoles que dão saída a 480i ou 480p. À época, certamente era a solução óbvia, e com certeza a maioria dos jogadores nem notou, mas a maior parte dos jogos clássicos relançados para PS2/GameCube/Xbox utiliza a resolução 480i por padrão e não têm opção de saída 240p, o que gera dois problemas: 1) nas TVs CRT de 15kHz, a imagem cintila, ou seja, parece tremer (o famoso “flickering”), e 2) para serem exibidos em telas modernas, essas imagens precisam ser “desentrelaçadas”, um processo complexo e que pode comprometer a imagem e arruinar alguns efeitos visuais do conteúdo que era progressivo, foi convertido para entrelaçado, e então para progressivo novamente. Em alguns casos, esses jogos clássicos nessas plataformas também suportam modo progressivo em 480p, mas essa resolução: 1) não é suportada por TVs e monitores CRT que só aceitam 15kHz; 2) nas telas CRT que aceitam 480p, a imagem não fica com scanlines definidas como eram originalmente em 240p numa tela de 15kHz; 3) nas TVs modernas, pelo menos, esse 480p está dentro dos padrões de sinal esperados; e 4) com upscalers e multiplicadores de linha dedicados, um sinal 480p tem características diferentes de uma imagem 240p, então pode não se obter os mesmos resultados e pode não se ter acesso aos mesmos recursos de um sinal 240p nativo.

Portanto, reduzir a resolução de volta para 240p é um caminho para tentar restaurar as características originais de jogos que tinham essa resolução e foram adaptados para resoluções maiores, mas não apenas isso. Alguns exemplos de uso:

  • Rodar jogos antigos relançados em consoles como PS2/GC/Xbox em 480i sem flicker em TVs/monitores CRT de 15kHz usando a resolução original de 240p.
  • Poder rodar jogos antigos relançados em consoles como PS2/GC/Xbox com suporte a 480p em TVs/monitores CRT de 15kHz usando a resolução original de 240p.
  • Para quem tem uma placa de arcade Naomi, tem também o caso de Street Fighter Zero 3 Upper, atualização do jogo da CPS2 com a adição dos personagens extras dos consoles, mas que só roda a 480i ou 480p, pelas especificações da plataforma. O downscale permite jogar em 240p como era na CPS2.
  • Rodar jogos antigos relançados para PS3 e Xbox 360 usando saída componente e resolução configurada para 480p em TVs/monitores CRT de 15kHz usando a resolução original de 240p. (Dica: o Xbox 360 tem shmups de arcade incríveis que não foram convertidos para nenhuma outra plataforma.) Sempre será possível exibir a imagem no CRT dessa forma, mas a qualidade dependerá de variáveis do port, como a aplicação ou não de filtros de suavização e, principalmente, se a imagem estiver fora do enquadramento e proporção vertical original.
  • Rodar jogos criados em 480i/480p com assets mistos, com alguns elementos desenhados em “alta resolução” (como cenários e HUD) combinados com elementos reaproveitados de jogos anteriores e que eram originalmente em 240p (como sprites). O downscale, nesse caso, homogeneíza a imagem toda em 240p. Exemplos: Marvel Vs. Capcom 2, Capcom Vs. SNK 1/2, Capcom Fighting Evolution, The King of Fighters XI, Neo Geo Battle Coliseum etc. A qualidade também vai depender se houve aplicação de filtros de suavização nos assets de baixa resolução (se possível, escolher Sharp ou opção similar para não suavizar os pixels). Importante ressaltar que se perderá detalhes dos elementos desenhados nativamente em resolução maior, o que pode comprometer leitura de fontes, por exemplo.
  • Rodar jogos modernos desenhados em pixel art com estética 8/16-bit em CRT e com a resolução que eles pretendiam emular. (Dica: o Wii tem a linha ReBirth da Konami que fica perfeita com esse downscale para 240p.) Novamente, o resultado vai depender se a grade de pixels coincide com o caimento 240p, e sempre tem a questão de como encaixar uma imagem 16:9 em uma tela 4:3.
  • Rodar jogos modernos em uma TV/monitor de 15kHz em 240p apenas porque sim. Nesse caso, para consoles como PS4/Xbox One/Switch ou mesmo um PC, seria necessário configurar a saída para a resolução de 480p (o GBS Control não faz downscale de 720p ou superior) e ter um conversor de HDMI para componente ou VGA para ligar à placa GBS. PS3 e Xbox 360 podem usam cabo componente. Ressalte-se novamente que isso resulta em perda de informação visual, além de certamente dificultar ou impossibilitar a leitura de textos pequenos.
  • Rodar emuladores no PC, Raspberry Pi ou outro dispositivo dando saída HDMI ou VGA em 480p e converter para 240p para uso em CRT de 15kHz.
  • Enviar sinal 240p para outro scaler/multiplicador de linhas para realizar upscale a partir de uma fonte mais adequada, no caso de jogos que eram originalmente em 240p. Isso evita os problemas do desentrelaçamento para jogos 240p relançados em 480i, e permite um resultado mais autêntico para jogos 240p com suporte a 480p. É possível ligar do GBS ao Framemeister por cabo VGA>HDMI ou VGA>componente, e do GBS ao OSSC via cabo VGA direto ou VGA>componente. É claro que a latência dos dispositivos irá se somar, mas façamos as contas: segundo o teste do Bob para latência de upscalers, o Framemeister tem 1 frame de lag ao tratar sinal progressivo, e 2 frames tratando sinal entrelaçado. O GBS Control faz downscale de 480p para 240p em 8 milissegundos (meio frame de lag, “o downscaler mais rápido disponível”, segundo o Bob) e desentrelaça sinal 480i com algoritmo motion adaptive em até 1 frame (em linha com o nosso próprio teste de downscale de 480i para 240p medido com câmera lenta do smartphone a 240 fps). Se o GBS Control faz downscale de 480i para 240p com 1 frame de lag e manda esse sinal já progressivo para o Framemeister, e se o Framemeister trata sinal progressivo com 1 frame de lag, a soma dos dispositivos nesse cenário seriam os mesmos 2 frames que o Framemeister sozinho leva para desentrelaçar um sinal 480i, mas com resultados potencialmente mais interessantes (mais detalhes no teste propriamente dito, mais adiante).

O Que É Necessário

  • Uma placa GBS 8200, que é a base do projeto;
  • Uma placa do microcontrolador ESP8266, que toma o controle do upscaler e permite configuração via wi-fi por interface web;
  • Firmware GBS Control mais recente;
  • Fios, equipamentos e habilidades para instalação do GBS Control na placa GBS 8200 (ou comprar um kit pronto, dica abaixo);
  • Rede wi-fi para operar a GBS via interface web;
  • Dispositivo de entrada e cabos: a GBS 8200 aceita entrada de sinal YPbPr via componente, RGBHV via conector DE-15 (VGA) ou RGBS via conector DE-15 (VGA) com as modificações necessárias (dica abaixo de kit para ligar via conector SCART sem preocupação). É possível também ligar uma fonte de imagem por cabo HDMI utilizando um conversor de HDMI para VGA ou componente (YPbPr);
  • Tela para se conectar à saída e cabos: a GBS 8200 dá saída via conector DE-15 (VGA) com sinal RGBHV por padrão, ou, com firmware GBS Control, opcionalmente com sinal YPbPr por esse mesmo conector DE-15 (precisa de um cabo VGA para YPbPr/componente para usar essa opção) (saída de sinal YPbPr do GBS Control requer uma modificação de hardware no GBS 8200). A TV ou monitor CRT de 15kHz precisa aceitar conexão YPbPr/componente. Para ligar a uma TV ou dispositivo via HDMI, é preciso usar um conversor de VGA para HDMI.

Para facilitar e oferecer mais opções a um custo acessível, com produto já no Brasil, a GamesCare produz um kit customizado que inclui a GBS 8200 preparada adequadamente, uma sub-placa exclusiva com sync stripper, entrada adicional SCART RGB, seletor de entrada SCART/VGA com nível de sinal adequado, além de fonte de qualidade e um case de acrílico caprichado.

Kit GBS 8200 com GBS Control da GamesCare: pacote completo de recursos com sinais adequados, segurança e descomplicação para o usuário médio

Setup de Testes

Para este teste de downscale, utilizamos o seguinte setup:

  • Consoles: PlayStation 2/Wii com saída via cabo YPbPr/componente, PS3 configurado para dar saída em resolução 480p via cabo YPbPr/componente;
  • Dois monitores CRT profissionais:
    - Sony PVM-14L5, um monitor multiformato [aceita sinal 15kHz (240p/480i), 31kHz (480p) e acima] recebendo sinal YPbPr em resolução 480i/480p direto dos consoles (passando pela matriz componente),
    - Sony BVM-20F1U um monitor de 15kHz (só aceita 240p/480i) recebendo a imagem processada em resolução 240p da GBS via sinal YPbPr por cabo VGA>componente;
  • C2G 6x2 Component Matrix para comutar as conexões componente e dar duas saídas componente simultâneas, uma direto para o monitor PVM-14L5 em 480i/480p, outra para a GBS 8200 com GBS Control, que processa o sinal e faz o downscale para 240p para enviar para o monitor BVM-20F1U via cabo VGA>componente;
  • Kit GBS da GamesCare e cabo VGA para componente na saída;
  • Fotos e vídeos direto das telas CRT com câmera de um iPhone 8 Plus com app para configurar a velocidade do obturador em 1/60, vídeos gravados a 1080p60.
  • Placa de captura StarTech.com USB 3.0 Video Capture Device para capturar alguns vídeos do teste. Nesse caso, o GBS dá saída YPbPr a 240p para o Framemeister, que faz o upscale para 1080p e manda a imagem processada para a placa de captura via HDMI.
Os monitores do teste: PVM-14L5 abaixo recebendo sinal 480i/480p direto, BVM-20F1U acima recebendo sinal 240p da GBS, ambos conectados simultaneamente à mesma fonte de imagem

Importante ressaltar que são testes preliminares de apenas alguns cenários — ainda há diversos outros exemplos de uso a explorar. Ambos os monitores CRT estão com geometria ajustada para diferentes propósitos, então há uma leve diferença na proporção das imagens. Além disso, foi usada a opção de saída YPbPr do GBS Control, porém, essa opção requer a modificação de um resistor na placa GBS 8200 para dar saída com nível de sinal adequado; essa modificação não tinha sido realizada ainda, então a imagem com downscale em 240p no monitor BVM-20F1U está um pouco lavada em comparação ao PVM-14L5, que recebe o sinal YPbPr direto dos consoles no nosso setup de testes. Por último, é necessário enfatizar que a GBS com GBS Control faz downscale apenas de imagens em 480i e 480p, então o recurso não funciona com resoluções de 720p e acima. Além disso, aparentemente, o downscale de sinal RGBHV está problemático no momento, mas só testamos com fonte de imagem YPbPr.

Os Testes

VÍDEO 1: Colagem dos nossos testes de downscale em CRT

Realizar o downscale com o GBS Control é relativamente simples: uma vez que você preparou todas as conexões e configurou o dispositivo na sua rede wi-fi, é só acessar a interface web a partir de um dispositivo com navegador conectado à mesma rede e, na aba Presets, escolher a opção “15kHz Scale Down”. O sinal de entrada 480i/480p será convertido em 240p para a saída (importante: resolução de entrada 720p ou maior não é compatível com esse recurso do GBS Control). Por padrão, o GBS Control dá saída RGBHV pelo conector DE-15, mas se você for utilizar cabo VGA para componente, lembre-se de ir para a aba Preferences e alternar para saída de sinal YPbPr na opção “RGBHV/Component Toggle” (lembrando ainda que a GBS 8200 necessita de uma modificação de hardware para enviar o sinal YPbPr no nível correto). Caso o sinal de entrada seja 480i, ou seja, entrelaçado, é possível escolher o método de desentrelaçamento do GBS Control na aba Preferences, na seção Deinterlace Method: 1) Bob: aproveita apenas as linhas desenhadas de cada campo entrelaçado para formar um frame progressivo; não adiciona nenhum lag, mas causa flickering/cintilação (a imagem fica “pulando” para cima e para baixo alternadamente, e daí vem o nome “bob”, verbo em inglês para o movimento para cima e para baixo repetidamente); 2) Motion Adaptive: não causa flicker, mas adiciona 1 frame de lag e ocasiona alguns artefatos nas áreas em movimento.

Interface web do GBS Control com a opção para fazer downscale de imagem

Downscale de jogos 480i com assets 240p

Fazer o downscale de conteúdo em 480i para 240p é um desafio extra, já que não basta diminuir a resolução da imagem, mas é ainda necessário desentrelaçar o sinal. Isso gera complicações porque não basta combinar as linhas alternadas dos campos ímpares e pares para formar um quadro completo. Em geral, em vídeo há movimento entre um campo e outro, então campos subsequentes estão em momentos diferentes do movimento. Com a opção Motion Adaptive acionada, o GBS Control aplica desentrelaçamento por adaptação ao movimento: áreas que não mudaram de um campo para o outro são intercaladas, e áreas com movimento são combinados por interpolação, tentando evitar o artefato conhecido como “combing” (quando dois campos em momentos diferentes são intercalados e formam um efeito de “pente” ou “persiana”). Nos nossos testes, esse downscale de 480i foi bem impressionante, mas com algumas ressalvas.

VÍDEO 2: Comparação de downscale a partir de fonte 480i vs 480p (captura via Framemeister, que fez o upscale da imagem gerada em 240p para 1080p)

Exemplos de jogos criados originalmente em 240p e posteriormente convertidos para outros consoles usando formato 480i incluem Street Fighter Alpha Anthology e SVC Chaos para PS2, entre vários outros. No vídeo acima, testamos SVC Chaos dando saída 480i e comparamos com o mesmo jogo ativando o modo progressivo (segurar X + Triângulo durante o boot — só funciona com jogos compatíveis) para dar saída 480p, em ambos os casos usando o GBS Control para fazer o downscale para 240p. Nesse teste, em ambos os casos demos saída do GBS para o Framemeister via componente, e do Framemeister para a placa de captura via HDMI upscalado para 1080p para gravar o resultado em vídeo. Por fim, montamos o comparativo lado a lado.

O que pudemos constatar, além do fato de que alimentar o Framemeister com um sinal 240p real no caso de assets criados em 240p gera uma imagem muito mais bonita, é que o desentrelaçamento motion adaptive do GBS Control é bem impressionante. As áreas paradas da imagem ficam extremamente definidas, e as áreas em movimento ficam sem combing/persianas. Porém, os elementos em movimento acabam se alternando entre frames nítidos e embaçados, denotando alguma dificuldade do algoritmo na priorização dos campos da fonte entrelaçada. Isso é mais perceptível quando a tela inteira se move (como no teste a partir de 1:43 no vídeo acima), mas mesmo quando apenas um sprite se move, é possível perceber alternância de frames embaçados e nítidos. Além disso, a interpolação de campos tem um efeito colateral curioso: objetos que alternam rapidamente de cor entre um campo e outro confundem o algoritmo, como pode se ver na barra de power de SVC Chaos na parte inferior da tela, que normalmente alterna rapidamente entre branco e vermelho nos frames sucessivos, o que faz o algoritmo motion adaptive do GBS Control misturar os tons e gerar uma cor mais roxa.

Esse algoritmo pode ser especialmente problemático para sombras de 30Hz e outros elementos piscantes que eram usados para simular transparência nos jogos antigos, como quando Mickey toma dano em Castle of Illusion do Mega Drive, ou o círculo de proteção de Sonic the Hedgehog, também do Mega. Funciona assim: o objeto aparece em um frame e desaparece no frame seguinte, e assim sucessivamente 60 vezes por segundo, dando aos olhos humanos a ilusão de transparência.

Para testar como o método de desentrelaçamento motion adaptive do GBS Control lida com esse cenário, usamos a ferramenta 240p Test Suite do Wii via componente. Gravamos a ferramenta configurada com saída 480i para testar o desentrelaçamento do downscaler do GBS Control nos modos Bob e Motion Adaptive, e também gravamos o mesmo teste com saída 480p para comparar.

VÍDEO 3: Comparação de desentrelaçamento a partir de fonte 480i: métodos Bob vs Motion Adaptive (captura via Framemeister, que fez o upscale da imagem gerada em 240p para 1080p)

Como é possível ver pelo teste no 240p Test Suite, o downscale a partir do sinal 480p, que não precisa desentrelaçar nada, mantém as características da sombra de 30Hz, enquanto o sinal 480i oferece desafios para o desentrelaçamento do GBS Control. Com o método Bob, o efeito da sombra de 30Hz é preservado quase o tempo todo, mas a tela fica tremendo. Com o método Motion Adaptive, a sombra é interpolada com o cenário de fundo, e ora partes dela some completamente, ora suas cores se mesclam com as do fundo — porém sem tremedeira na tela.

Nesse mesmo teste acima, usamos também SVC Chaos do PS2 em resolução 480i com modo de tela Arcade escolhido nas configurações. O modo de tela padrão desse port é o Normal, em que as fontes e o HUD são redesenhados em alta resolução e o jogo ganha transparência real nas barras de vida e em alguns efeitos especiais, como magias e as sombras dos personagens — portanto, as sombras nesse modo de tela novo não piscam para simular transparência. No modo de tela Arcade, todos esses elementos ficam como eram originalmente na versão Neo Geo, inclusive as sombras de 30Hz piscantes. Assim, conseguimos testar o desentrelaçamento do GBS Control em uma situação real de jogo. E o resultado é consistente com o teste do 240p Test Suite: com o método Motion Adaptive, as sombras dos personagens ora somem, ora ficam com cor sólida; com o método Bob, as sombras piscam corretamente (embora ainda pareça haver alguma interpolação aplicada) (como bônus, o brilho da barra da power no MAX se parece mais com o brilho original), mas a tela toda treme.

No vídeo pode-se ver o resultado com o 240p desentrelaçado a partir do 480i e então escalonado para 1080p com o Framemeister, o que representa como esse resultado se parece em uma TV flat moderna. No CRT de 15kHz, o resultado é consistente, com anomalias nos objetos piscantes, mas nos pareceu menos perceptível por causa das scanlines. No modo de desentrelaçamento Bob, a imagem 240p processada pelo GBS Control na tela do monitor CRT pareceu tremer bem mais do que com um sinal 480i puro.

Por fim, outro ponto a considerar no downscale do GBS Control para jogos 480i é que em alguns casos o jogo parece ter uma ordem de campos diferente da que o algoritmo de desentrelaçamento do GBC Control espera, compondo uma imagem um pouco difusa. Esse problema não afeta SVC Chaos do PS2 em 480i, por exemplo, mas Street Fighter Alpha Anthology do PS2 em 480i fica com um visual embaçado e com algumas linhas bem serrilhadas após receber downscale para 240p, então é possível que o problema varie de jogo para jogo. Rama, o criador do GBS Control, comentou sobre essa questão no fórum Shmups e mencionou uma possível solução, mas ainda não há uma nova atualização desde então. Talvez se adicionasse uma opção à interface do GBS Control para escolher a ordem dos campos para o algoritmo de desentrelaçamento? Não sei. De qualquer forma, Rama sinalizou que 480i não é prioridade e que é preferível usar 480p para downscale.

Downscale de jogos 480p com assets 240p

Como o próprio criador do GBS Control recomendou, o downscale de imagem 480p para 240p é bastante estável e sem grandes reveses. Como a fonte já é progressiva, o algoritmo não precisa desentrelaçar nada, já que está lidando com frames completos. O resultado, porém, também depende do material que sai do console e é enviado para o GBS.

Para referência, seguem listas de jogos com suporte a modo 480p nos consoles de 6ª geração:

Apenas uma parte dos jogos dessas listas consiste em títulos que eram originalmente 240p e foram transpostos para esses consoles em resolução de tela maior. Para nosso artigo, testamos SVC Chaos e Street Fighter Alpha Anthology do PS2, ambos originalmente lançados no arcade em 240p e convertidos para o console com suporte a 480p. SVC Chaos ficou perfeito, como também é possível conferir em nossos vídeos inseridos acima. Street Fighter Alpha Anthology ficou com visual um pouco suave, mesmo certificando-nos de que o filtro estava desligado nas opções do jogo. Os elementos desenhados em alta resolução, como a tela-título da coletânea e as artes de seleção de jogo, ficaram marcadamente serrilhados após o downscale na TV de LCD via Framemeister, o que denota que nessa operação o GBS Control realmente apenas remove metade das linhas, sem aplicar interpolação nenhuma que poderia deixar os gráficos suavizados — no monitor CRT de 15kHz, a imagem ficou ótima. SVC Chaos apresenta pixels perfeitamente definidos em modo 480p, o que contribuiu para um downscale majestoso, como se fosse o próprio jogo original em 240p.

Teste de downscale a partir de 480p com Street Fighter Alpha Anthology e SVC Chaos, com sinal 240p enviado para um monitor CRT de 15kHz

Indo uma geração adiante, nos consoles da era Full HD, Xbox 360 e PS3, há também muitos jogos antigos relançados, e como esses sistemas podem ser configurados para dar saída 480p via cabo componente, são também fáceis de usar com o GBS Control. Porém, com uma nova moldura de 1920x1080 pixels, os desenvolvedores passaram a ter mais liberdade para escalonar os jogos antigos para esse novo espaço, o que geraria problemas para as telas modernas (lembre-se, estamos falando da segunda metade dos anos 2000 e início dos 2010, muito antes de as discussões sobre pixel perfect, escalonagem de múltiplos perfeitos, shimmering, interpolação de pixels etc. ganharem força na comunidade retrô), com repercussões também para os malucos que tentariam fazer o downscale dessas imagens para telas CRT de 15kHz. Quando um jogo é tirado de sua proporção vertical original, isso certamente pode comprometer o resultado ao tentar aplicar downscale (algo que provavelmente os desenvolvedores não previam). Veja, downscale é um processo de eliminação de informação visual: descarta-se metade das linhas de um sinal 480p e preserva-se a outra metade para compor um sinal 240p. Quando a informação descartada é redundante (como em jogos 240p que passaram por upscale 2x e tiveram os pixels dobrados para compor uma imagem 480p), o resultado é bom. Se a proporção vertical original foi modificada e os pixels não estão distribuídos uniformemente nesse eixo, isso certamente resultará em um downscale estranho, com potencial perda de detalhes. Vejamos o caso de Ghosts ‘n Goblins do arcade na coletânea Capcom Arcade Cabinet do PS3. Por padrão, o jogo roda em uma janela e o escalonamento é irregular. Em nosso teste, dando saída 480p e fazendo o downscale, é possível ainda ver os detalhes no CRT do monitor multiformato PVM-14L5, que recebe o sinal original em 480p, mas na tela do BVM-20F1U, que recebe a imagem processada pelo GBS Control em 240p, detalhes se perdem. Veja como o olho de Arthur teve a infelicidade de cair em uma linha eliminada pelo downscale:

Ghosts ‘n Goblins da coletânea Capcom Arcade Cabinet do PS3. À esquerda em 480p no monitor PVM-14L5, e à direita no CRT de 15kHz do BVM-20F1U em 240p gerado pelo GBS Control. Detalhes perdidos

Felizmente, a coletânea Capcom Arcade Cabinet oferece opções de ajuste de imagem, e muito convenientemente inclui um ajuste pixel perfect (“ponto a ponto” na tradução em português do menu). Basta ativar essa opção e… voilá!

Ghosts ‘n Goblins da coletânea Capcom Arcade Cabinet do PS3 com ajuste de tela pixel perfect em 240p gerado pelo GBS Control e exibido em CRT 15kHz. Perfeição restaurada

Infelizmente, nem todos os jogos oferecem ajustes de escalonagem. Dois grandes candidatos a campeões do downscale são Mega Man 9 e 10, criados na era do Full HD seguindo a estética 8-bit do NES (antes de isso ser cool). Poder exibi-los em 240p reais em um CRT de 15kHz seria como encontrar o elo perdido entre essas eras. Porém, a maneira como o jogo é exibido não é muito propícia para o downscale. Aparentemente, o jogo foi desenhado em 640x560 (a julgar pelas telas de divulgação originais em BMP), o que resulta em um aspect ratio de 8:7, idêntico ao da resolução interna do NES, com um escalonamento de 2,5x em relação à resolução do NES (256x244), e então a área de jogo foi programada para ser escalonada arbitrariamente para a resolução de tela de cada sistema e formato de saída. No caso do PS3 a 480p, ou o enquadramento não cai exatamente nas linhas do 240p, ou o escalonamento vertical do conteúdo não é regular, ou as duas coisas. O fato é que a imagem resultante do downscale do GBS Control fica um tanto embaçada, conforme a comparação abaixo.

À esquerda, Mega Man 10 do PS3 a 480p com downscale para 240p. À direita, Mega Man 4 do NES com NESRGB no console real. Ambos ligados a um CRT de 15kHz. A imagem da direita mostra como o sprite do Mega Man deve se parecer em um CRT. Na imagem da esquerda, os pixels do sprite não estão distribuídos uniformemente sobre as linhas horizontais. O sprite de Mega Man parado tem 24 pixels de altura, e na imagem da direita ocupa 24 linhas de varredura do CRT. Na imagem da esquerda, ele ocupa 22 linhas, então, naturalmente, os detalhes do sprite não coincidem com as linhas do CRT e somem (como o detalhe frontal do capacete) ou ficam embaçados (como a boca e os olhos)

Entre outros jogos do PS3 que testamos e que ficaram bons em downscale por terem opções de ajustes de tela estão The Simpsons Arcade Game e Final Fight do pacote Final Fight Double Impact.

E não podemos nos esquecer de que todo PS3 roda jogos de PS1 em disco (da mesma região), além dos jogos digitais PS1 Classics. Ao ligar o PS3 diretamente a uma tela CRT de 15kHz, a menor resolução possível é 480i. Porém, com o GBS Control, temos a opção de configurar a saída do PS3 para 480p e fazer o downscale perfeito para 240p para curtir jogos de PS1 em sua resolução nativa. Apenas lembrando, como notou o pessoal do My Life in Gaming, que alguns jogos em disco ficam mais nítidos que suas versões digitais.

Mega Man X4 do PS1 via PS1 Classic digital do PS3 dando saída 480p para o GBS Control, que faz o downscale para 240p e manda o sinal para o monitor CRT de 15kHz

E há o caso dos jogos criados na geração Full HD que emulam a estética 8/16-bit, mas com esses o resultado também depende de sorte. Testamos Shovel Knight do PS3 com downscale de 480p para 240p no monitor CRT de 15kHz e não teve ajuste de tela que fizesse os pixels coincidirem com as linhas de varredura. Funciona, mas fica aquela sensação de incompletude. Talvez rodando a versão PC com saída VGA/HDMI configurada para 480p, e o PC tendo melhores controles de tamanho de tela, se consiga um ajuste perfeito para o downscale de 240p? Não sei, se alguém descobrir, nos avise.

Tivemos melhor sorte com Scott Pilgrim vs. The World do PS3. A arte do jogo simula pixels de jogos antigos, mas numa distribuição irregular estranha. Pelo menos, como os sprites e os “pixels” simulados (na verdade desenhados com vários pixels menores na resolução de tela do console) são bem grandes, o resultado do downscale no CRT fica bem convincente.

Scott Pilgrim vs. The World do PS3 convertido de 480p para 240p e exibido no monitor CRT de 15kHz. Resultado agradável

Por fim, nesta categoria de jogos criados em resolução maior com a estética dos jogos 240p, temos a série ReBirth da Konami para o serviço WiiWare do Wii. São jogos inéditos de franquias famosas da empresa desenvolvidos pela M2 para homenagear esse legado. Castlevania ReBirth, Gradius ReBirth e Contra ReBirth são como sequências 16-bit desses clássicos, mas com efeitos visuais que os consoles originais não poderiam gerar. O problema é que, embora usem assets em 240p, esses jogos apenas suportam resolução 480i ou 480p, nunca obtendo nativamente aquele visual característico daqueles consoles em uma tela CRT. Mas GBS Control ao resgate! A resolução 480p é bem conveniente para esse trabalho de restauração, e o downscale para 240p faz essa trinca de jogos alcançar o visual que sempre mereceu em um CRT de 15kHz!

Castlevania ReBirth (topo), Gradius ReBirth (embaixo à esquerda) e Contra ReBirth (embaixo à direita) com downscale para 240p e exibidos em um monitor CRT de 15kHz. Como nasceram para ser jogados

Downscale de jogos 480p com assets mistos (240p/480p)

Na categoria dos jogos criados em alta resolução, mas reaproveitando diretamente sprites de jogos anteriores em 240p, temos alguns clássicos como Marvel Vs. Capcom 2, Capcom Vs. SNK 1 e 2, The King of Fighters NeoWave e XI e Neo Geo Battle Coliseum, entre outros.

Testamos Capcom Vs. SNK 2 do PS2 da linha PS2 Classics no PS3 em 480p (mas poderia muito bem ser a versão do Xbox original, que também suporta 480p; nativamente, a versão do PS2, infelizmente, é só 480i, assim como a do GameCube; no Dreamcast, o jogo é compatível com VGA Box, mas o GBS Control tem dificuldades para lidar com sinal RGBHV, então precisaria usar uma Toro Box ou a VGA Box da GamesCare para obter 480p por RGBS via SCART). Como esperado, o downscale para 240p em um monitor CRT de 15kHz funciona bem. Porém, uma ressalva: embora não se perca detalhes dos sprites de baixa resolução nesse processo, os cenários e outros elementos do jogo foram desenhados em uma resolução maior, então se perde informação visual nesses elementos. Uma troca justa, se me perguntar.

Capcom Vs. SNK 2 do PS2 via PS3 com downscale de 480p para 240p e exibido em monitor CRT (PVM-14L5 em 480p, BVM-20F1U em 240p). Os sprites de baixa resolução ficam bastante autênticos na tela de 15kHz, mas elementos desenhados em maior resolução perdem detalhes (repare na bandeira no canto esquerdo da primeira comparação)

Downscale de jogos 480p com assets em alta resolução

Para finalizar nosso teste, vamos extrapolar um pouco a lógica e incluir os jogos modernos desenhados inteiramente nas altas resoluções contemporâneas. Você pode fazer downscale deles? Sim. Você deve? Provavelmente não. Você quer? Com certeza sim!

Como já ressaltamos, downscale é um processo de eliminação de informação visual, e neste caso estamos falando de informação não redundante (cada linha de resolução contém informações únicas), então eliminar linhas pelo processo de downscale significa perder detalhes. Lembrando que o GBS Control requer um sinal 480i/p para realizar downscale, então um jogo desenhado em 1080p já estará recebendo um downscale da própria plataforma ao configurar a saída de vídeo para 480p, para depois receber outro downscale para 240p. Detalhes finos na arte certamente se perderão, e textos pequenos ficarão difíceis ou impossíveis de se ler. Ainda assim, fica aqui a prova de conceito para mostrar que é possível. Seguem exemplos (todas as comparações mostram 480p sendo exibido no monitor CRT multiformato PVM-14L5 e 240p no monitor CRT de 15kHz BVM-20F1U):

Super Street Fighter II Turbo HD Remix do PS3, originalmente desenhado em 1080p, agora exibido em gloriosos 240p em um monitor CRT de 15kHz
Modo clássico de Super Street Fighter II Turbo HD Remix, que substitui os sprites pelos originais, porém com um filtro de suavização não muito agradável
O belíssimo Dragon’s Crown com sua arte detalhadíssima menos perceptível em 240p. Veja como os textos pequenos, já um pouco difíceis de ler em 480p, ficam irreconhecíveis no CRT de 15kHz com as scanlines
O incrível DuckTales Remastered transposto para o habitat natural do jogo que lhe serviu de base

Conclusões

Após anos de buscas infrutíferas por aparelhos especializados caros e escassos, finalmente é possível ter um dispositivo que realiza essa tarefa tão específica de downscale a um preço acessível e com ampla disponibilidade (enquanto mais gente não percebe e seca o estoque de GBS 8200 do mercado).

Com o firmware GBS Control, essa placa não apenas se torna um upscaler muito capaz, mas também acrescenta essa função de downscaler ao seu setup retrô, oferecendo resultados muito satisfatórios e com uma performance bastante rápida (8 milissegundos para tratar sinal 480p, e até 16 milissegundos para desentrelaçar sinal 480i e fazer o downscale para 240p). O fato de o GBS 8200 só ter entrada VGA e componente (e também SCART com o kit da GamesCare) e só dar saída via conector DE-15 (VGA) significa que você provavelmente terá que adquirir mais alguns cabos específicos para atender as necessidades do seu setup, mas o esforço compensa. A gama de aplicações possíveis é vasta, como descrevemos ao longo do teste, e convidamos todos a realizarem mais experimentos para compartilhar com a gente.

Para o futuro, fica a esperança de uma atualização do GBS Control que melhore o desentrelaçamento de sinal 480i para a função de downscale, resolvendo os casos de imagem desfocada por problemas de ordenação de campos. E também ficaremos de olho no OSSC Pro para ver o que ele irá oferecer com seu prometido recurso de downscale. Por ora, vamos continuar nos divertindo com as experiências com o GBS Control. E se você também curtiu os recursos do GBS Control, considere apoiar o criador do projeto em https://www.buymeacoffee.com/ramapcsx2.

--

--

Fabio Santana
RGB Inside

Profissional formado no ramo editorial de videogames. Editor. Crítico. Teórico. Ensaísta. Colunista. Não-ista. Dou pilão sem pular.