Guia para Jogar Mega Drive com o RetroArch

Veja abaixo como usar o Retroarch:

  • Para usar o núcleo Genesis Plus GX do Retroarch, baixe o emulador para o sistema operacional desejado neste link. Depois disso, é preciso fazer algumas atualizações no emulador. Vá no Atualizador on-line. Lembrando que clicando com o botão esquerdo do mouse seleciona opções e o botão direito serve para voltar para a tela anterior.
  • 2. Você então precisa Atualizar núcleos e Atualizar perfis de controle

    3. Depois você precisa baixar o núcleo Genesis Plus GX. Vá em Carregar núcleo e clique no mesmo.

    4. Para configurar o controle, vá em Configurações, Entrada, depois em Retropad binds.

    5. Depois vá em Controle da porta 1. Segue abaixo a quais teclas corresponde cada uma das teclas mencionadas no Retroarch:

    Quando você clica, aparece um temporizador, você tem que pressionar a tecla desejada dentro do tempo-limite. Se não conseguir, é só tentar de novo. Depois clique em Salvar perfil de controle.

    Depois disso, certifique-se de que nenhuma das teclas pretendidas está definida como atalho. Isso é mais importante se você estiver usando o teclado como controle, pois os atalhos já estão definidos para ele. Você mesmo pode definir as teclas de atalho em Teclas de atalho. Basta clicar no nome do atalho e pressionar o botão desejado para realizar aquela ação.

    6. Para iniciar um jogo, é preciso Carregar conteúdo, então navegar até onde está o jogo (bin, md, smd, gen) e Executar. Este método pode ser um pouco complicado, arrastar o arquivo do jogo para dentro do emulador também é um método para abrir ele. Em aberturas posteriores, o Histórico pode ser útil.

    7. Depois de iniciado um jogo, apertar a tecla F1 serve para entrar no menu rápido. Para sair do jogo, no menu rápido, clique em Fechar. Para fechar o menu rápido e voltar ao jogo, é só pressionar F1.

    7.1. Pode-se também ir em Importar conteúdo, Analisar diretório e navegar até o diretório onde vai colocar os jogos e clicar em Analisar este diretório. Obs.: Note também que aparecerá uma opção Mega Drive – Genesis no menu do lado esquerdo, abaixo de Explorar. É, também, um atalho para seus jogos.

    Para pesquisar por um jogo em uma lista, na janela principal, dentro de uma lista de jogos, tecle S (pode ter mudado caso tenha alterado as RetroPad Binds, verifique qual a tecla correta na sua configuração). Digite e tecle Enter. Depois, se quiser pesquisar algo diferente, terá que voltar pressionando a tecla direita do mouse.

    Obs.: A opção Menu da área de trabalho, do menu inicial, também é uma forma de atualizar sua lista de jogos. Ele abre uma tela similar à do Windows, e então basta navegar até o seu diretório de jogos, clicar com o botão direito e Analisar diretório. O progresso desse escaneamento pode ser visto no canto inferior esquerdo tanto dessa janela quanto da janela principal do Retroarch.

    Esta tela também pode ser aberta pressionando F5.

    8. Para usar um filtro suavizar a imagem, com o jogo rodando, segure F1 para entrar no menu rápido, vá em Configurações de núcleo, depois em Vídeo e, por fim, entre em Filtro NTSC (Blargg) e escolha uma das opções disponíveis. Ao fim, é só pressionar F1 de novo para fechar o menu rápido. Clique aqui para um guia completo sobre esses filtros.

    8.1. O botão F2 é o save state (usado para salvar o progresso) e F4 para carregar os salvamentos. Alt + Enter alterna entre modo tela cheia e janela.

    9. Para melhorar a aparência, você pode ir no Atualizador on-line, clicar em Atualizador de miniaturas da lista de reprodução e clicar em Sega Mega Drive – Genesis. O programa irá baixar imagens para enfeitar sua tela de jogos.

    Obs.: Para se assegurar de salvar as configurações feitas no RetroArch, saia do emulador pela opção Sair que existe no final do Menu principal.

    FUNÇÕES EXTRAS

    Para usar o RetroAchievements, que é um sistema suportado pelo RetroArch em que o jogador pode ganhar Achievements, que seriam como emblemas virtuais que indicam que ele conseguiu algum feito no jogo e então se cria um ranking dos jogadores que tem mais achievements. É um sistema muito comum e consoles atuais e o RetroAchievements traz ele para consoles clássicos, entre eles o Mega Drive. Para usá-lo, precisa-se criar uma conta no site RetroAchievements clicando aqui. Depois disso, entre no RetroArch, em Configurações, Conquistas e coloque seu Nome de usuário e Senha, depois clique em Conquistas para mudar para Ligado. Você pode também escolher entre ligar ou desligar o modo Hardcore, que desabilita algumas funções como códigos de trapaça e uso de save states.

    Para gravar um vídeo da sua jogatina, no menu rápido (F1), clique em Iniciar gravação. Para terminar a gravação, no menu rápido clique em Parar gravação. Os vídeos serão salvos na pasta definida em Configurações, Diretório, Gravações. Como padrão a pasta é a pasta Recordings da raiz do RetroArch (que geralmente é na raiz do disco local C.

    Para tirar foto (screenshot), no menu rápido, clique em Capturar Tela. O diretório a ser mudado nesse caso seria Capturas de tela e o padrão é a pasta Screenshots.

    Para adicionar mais filtros à imagem, no menu rápido vá em Sombreadores, clique em Estáfgios de shader e selecione quantos filtros pretende adicionar, depois clique em Shaders #0, Shaders #1 e por aí vai, e em cada um selecione um filtro. Aí tem várias pastas com shaders (talvez seja necessário clicar em Diretório superior para vê-las). Dependendo do filtro escolhido, dá pra personalizar alguns na opção Parâmetros de shader. Clique em Aplicar alterações para aplicar no jogo que está rodando no momento. Clique em Salvar predefinição e depois em Salvar predefinição de núcleo para aplicar a todos os jogos de MD ou Salvar predefinição de jogo para aplicá-la apenas a este jogo em específico. Para carregar combinações de shaders (chamadas predefinições), clique em Carregar predefinições. É possível também usar múltiplas predefinições, com as opções Append preset para adicionar predefinição após a última e Prepend preset para adicionar antes.

    Para resolver problemas de input delay/lag, vá em Configurações, Latência e mude Execução antecipada… para Ligado.

    Para tornar o RetroArch portátil, siga esses passos. Isso vai fazer com que se possa colocar o emulador e os jogos em um pen drive e jogar em PCs diferentes. Primeiramente, vá ao site oficial do emulador (link) e clique em Get Retroarch. Mas ao invés de baixar o instalador, desça a página e baixe o pacote completo para seu sistema (o meu era um Windows de 64 bits – para saber qual é o seu, clique com o botão direito em Computador ou Meu Computador e clique em Propriedades). Depois de baixado, descompacte no seu pen drive. Depois disso, crie a pasta de ROMs (jogos) dentro da pasta do RetroArch e coloque seus jogos nela. Depois disso, siga os passos no tutorial acima para configurar o núcleo de Mega Drive. Para tornar portátil, vá em Configurações, Listas de reprodução e, em Lista de reprodução portátil, clique para ficar Ligado. Isso garantirá que as coisas não saiam do lugar quando o dispositivo for mudado de lugar. Para finalizar a configuração, vá em Configurações, Diretório e, em Navegador de arquivos, selecione a pasta de ROMs que você criou navegando até ela e clicando em Utilizar este diretório. Seu emulador está pronto para ser transportado aonde você for.

    • Baixe a pasta do emulador
    • Crie seu diretório de ROMs
    • Entre em Listas de reprodução
    • Marque Lista de reprodução portátil como Ligado
    • Entre em Diretório
    • Em Navegador de arquivos, selecione sua pasta de ROMs

    Para transmitir para o Youtube ao vivo, primeiro vá até sua conta no Youtube e clique no Criar que fica no canto direito superior da tela (ou ícone de + que fica no centro inferior da tela no Android) e em Transmitir ao vivo. Ao lado de Chave de transmissão, clique em Copiar. Agora vá até a página onde você instalou o RetroArch (por padrão é o disco local C: Retroarch). Dê um duplo clique no arquivo retroarch.cfg ou clique com o botão direito e abra com o bloco de notas. Localize o segundo local que menciona o youtube, onde está escrito youtube_stream_key = cole a chave que você copiou entre as aspas . Clique em Arquivo, Salvar e feche o Bloco de Notas. Abra o RetroArch e vá em Configurações, Gravação. Em Modo de transmissão selecione Youtube. Em URL da Transmissão, coloque o que no Youtube está como URL de Stream. Agora basta abrir um jogo, abrir o menu rápido e clicar em Iniciar transmissão.

    Alternadamente você pode simplesmente colocar em URL de Transmissão o endereço URL de Stream, seguido de uma barra no lugar do ? e a chave da transmissão. Por exemplo no meu caso a URL era rtmp://a.rtmp.youtube.com/live2, sendo assim digamos que a URL de transmissão fosse 000-000-000, ficaria rtmp://a.rtmp.youtube.com/live/000-000-000.

    Para transmitir para o Twitch basta seguir o método acima do Youtube, só que ao invés de usar a chave do youtube, basta copiar a do dashboard do twitch (painel de controle do criador). Clique em Configurações e em Transmissão. Clique em copiar ao lado do item Chave de transmissão primária. O URL nesse caso é rtmp://live.twitch.tv/app/live/SUA_CHAVE onde no lugar de SUA_CHAVE substitua pela chave copiada do twitch. No RetroArch, vá a Configurações, Gravação, em Modo de transmissão selecione Twitch. Em URL da transmissão, cole sua URL com a chave de transmissão na frente.

    Para o método mais complicado, modifique o retroarch.cfg na linha onde está escrito twitch_stream_key = “” coloque a chave do twitch entre as aspas.

    Outro menu em que dá pra colocar a (s) chave (s) de transmissão do YouTube e/ou do Twitch é em Configurações, Usuário, Contas.

    A versão do RetroArch na Steam também permite rodar no PC e jogar no celular bastando baixar o Steam Link no Android e seguir os passos. Aí dá pra começar a jogatina no PC, continuar no celular, voltar para o PC e por aí vai. Lembrando que para fazer isso a versão do seu PC tem que ser a do Steam (clique aqui).

    Caso o Retroarch esteja lento e você queria melhorar sua performance, o que funcionou para mim foi ir em Configurações, Drivers, Video. Acredito que o driver padrão é o gl. Mudar para DirectX12 melhorou bastante pra mim. Outra coisa que pode ajudar é ligar o Video paralelizado em Configurações, Vídeo, Saída.

    Caso precise definir o núcleo padrão para o Mega Drive, entre em Configurações, Listas de reprodução, Gerenciar listas de reprodução, clique em Sega – Mega Drive – Genesis, em Núcleo padrão e então clique no núcleo preferido. Assim se você tiver mais de um núcleo para MD o RA não vai ficar perguntando toda vez com qual núcleo você quer jogar.

    Para usar códigos de trapaça (Game Genie) carregue um jogo. Com o jogo entre no Menu rápido (por padrão é a tecla F1). Vá a Trapaças e clique em Adicionar nova trapaça no início. O método de adição de trapaças é similar ao de sombreadores. Clique no número da trapaça adicionada que apareceu abaixo (por exemplo “trapaça #0”). Clique em Código e digite o código e pressione Enter. Clique em Habilitar para ativar esta trapaça. Saia deste menu (tecla direita do mouse), clique em Salvar alterações. Feche o Menu rápido (volte até a primeira tela e clique em Continuar. Para saber mais sobre códigos de trapaça clique aqui.

    Caso seja preciso mudar o idioma (linguagem) dos menus e interface do RetroArch, se estiver em inglês, vá a Settings, User interface, Language e clique em Portuguese (Brazil).

    Já para jogar multiplayer com mais de dois jogadores emulando multitap, carregue um jogo e entre no Menu rápido (F1), entre em Controles, Controle da porta 1 ou Controle da porta 2 e, em Tipo de dispositivo, selecione MD Joypad 6 Button + 4-WayPlay ou MD Joypad 6 Button + TeamPlayer. Clique aqui para uma tabela dos jogos com suporte a mais de 2 jogadores. Clique aqui para uma lista dos jogos compatíveis com o Sega Team Player ou clique aqui para uma lista dos jogos compatíveis com o EA 4 Way Play.

    E pra configurar o mouse do PC como lightgun (a Menacer ou a Justifier), o primeiro passo é entrar em Configurações, Entrada, Retropad binds, Controle da porta 2. Em Índice de mouse, selecione Padrão. A tecla a ser definida para atirar está como Gatinho da pistola e a de recarregar está como Recarregar pistola. Com um jogo rodando (no núcleo Genesis Plus GX), entre no Menu rápido (F1) e, nas Configurações do núcleo, Entrada, mude Mostrar mira da pistola para Ligado. No menu rápido Controles, clique em Controle da porta 2 e, em Tipo de dispositivo, selecione MD Menacer ou MD Justifiers.

    Para configurar e ativar um botão turbo, vá a Configurações, Entrada, Retropad binds, Controle da porta. Role até o final da lista, clique em Turbo e pressione um botão que será o botão de acionamento turbo. Com um jogo rodando, vá ao Menu rápido (F1), Controles, Modo turbo. Na segunda opção Modo turbo, você pode selecionar como esta função funcionará, sendo as opções:

    • Clássico – neste modo, você segura o botão turbo e pressione outro botão. Pode soltar o turbo e, enquanto mantiver pressionado o botão desejado, será como se ele estivesse sendo pressionado repetidamente.
    • Clássico (Alternar) – funciona como um liga/desliga. Segure o turbo e pressione outro botão. Este botão terá função turbo ativada nele. Para desligar, repita o procedimento de acionamento.
    • Botão único (Alternar) – ao ativar a função turbo, o botão executará sua função sem necessidade de ser pressionado.
    • Botão único (segurar) – neste modo quando você aciona o turbo em algum botão, é o turbo que precisa ser segurado para usar a função turbo do botão desejado.

    Caso algo que você faça quebre o RetroArch, para consertar o Retroarch basta ir até a pasta dele e apagar o arquivo retroarch.cfg. Caso não o encontre, mude o nome do arquivo retroarch.default.cfg para retroarch.cfg. Caso não consiga, desinstale e reinstale o programa.

    Fonte: RetroArch docs

    O RetroArch oferece, ainda, muitos outros recursos e possibilidades. Clique nos links abaixo para guias com funções extras:

    • Jogando Mega Drive com Som de CD
    • Traduza Qualquer Jogo com IA
    • Como Jogar Online com o RetroArch
    • Usando Filtros de Áudio
    • Tudo Sobre Sombreadores e Filtros de Imagem
    • Jogando Mega Drive no Celular Android com RetroArch

    Para outros emuladores, clique aqui.

    #emulacao #guia #megaDrive #megadrive #passoAPasso #retroarch #tutorial

    ✨ Transforme o seu Android em um PC completo! 💻📱

    XoDos é um emulador incrível para Android que permite rodar ambientes completos de Windows e Linux (com suporte a glibc e bionic) diretamente no seu celular ou tablet!

    Ele é um verdadeiro canivete suíço:

    🐧 Roda distribuições Linux (como Debian proot).

    🎮 Suporta jogos e apps de Windows via Wine.

    🔧 Inclui aceleração de hardware e Termux.

    Perfeito para quem adora programar, testar apps ou até jogar no mobile! E o melhor: não precisa de root!

    Se você curte emulação e quer levar a funcionalidade de um desktop para o bolso, precisa conferir o XoDos. É um projeto open-source e cheio de recursos.

    https://github.com/xodiosx/XoDos

    #OpenSource #XoDos #Android #Linux #Windows #Emulação #MobileGaming #Tech

    GitHub - xodiosx/XoDos

    Contribute to xodiosx/XoDos development by creating an account on GitHub.

    GitHub

    ✨ Transforme o seu Android em um PC completo! 💻📱

    Você já ouviu falar do XoDos? É um emulador incrível para Android que permite rodar ambientes completos de Windows e Linux (com suporte a glibc e bionic) diretamente no seu celular ou tablet!

    Ele é um verdadeiro canivete suíço:

    🐧 Roda distribuições Linux (como Debian proot).

    🎮 Suporta jogos e apps de Windows via Wine.

    🔧 Inclui aceleração de hardware e Termux.

    Perfeito para quem adora programar, testar apps ou até jogar no mobile! E o melhor: não precisa de root!

    Se você curte emulação e quer levar a funcionalidade de um desktop para o bolso, precisa conferir o XoDos. É um projeto open-source e cheio de recursos.

    https://github.com/xodiosx/XoDos

    #XoDos #Android #Linux #Windows #Emulação #MobileGaming #Tech #OpenSource

    Tudo Sobre Filtros & Imagem (MD)

    Caso queira ir direto ao ponto, clique aqui, mas primeiro deixa eu introduzir alguns conceitos importantes para uma aparência autêntica dos jogos antigos, especialmente os de Mega Drive. Peço que me corrijam nos comentários se eu falar alguma coisa errônea, tudo isso é muito complicado e muito disso não é bem documentado. E comente abaixo qual sua configuração de filtros!

    Os aparelhos daquela época eram feitos para ser usados na configuração possível, com os aparelho e conexões disponíveis naquela era tecnológica. E o que existia eram cabos compostos, componentes e S-video e TVs de tubo. Foi com estes dispositivos que o Mega Drive foi projetado para interagir. E é este tipo de coisa que os filtros dos emuladores atuais tentam imitar nas suas telas, monitores ou TVs planos e finos de LCD ou LED. Na verdade estou chamando de filtros mas a palavra original é shaders e o RetroArch traduzido chama de Sombreadores, que é uma tradução literal. Vou continuar chamando de filtros.

    Então se faz necessário entender como funcionava uma TV de tubo. Mas antes vamos ver o que o videogame enviava para a TV. Como se sabe, as imagens dos jogos são feitas de pixels (clique aqui para saber mais sobre tudo isso). A informação que o Mega envia para a TV são combinações de três cores e suas luminescências que geram em cada ponto um pixel de uma cor específica. A depender do tipo de cabo, essa informação pode ir tudo junto, como no cabo RF que inclusive envia a informação sonora junto; ou o cabo AV que separa a sonora mas envia toda a informação de vídeo em um cabo. Enviar informações juntas faz com que elas interfiram umas nas outras, gerando interferência e queda de qualidade. Para isso, existem cabos como o componente, que separa os sinais em cabos únicos.

    Mas pixels são muito pequenos, então a resolução mais comum do Mega, 320 pixels de largura por 240 de altura, gera uma imagem muito pequena, vide abaixo.

    Logo, há uma discrepância, a imagem não preencheria a tela inteira. Aconteceu que ao contrário de uma TV atual, que mostra pixels com exatidão, as TVs de tubo, ou CRTs, não. Elas esticam os pixels, gerando pixels não exatamente quadrados. Isso pode gerar distorções, mas no caso do Mega é muito sutil, já que a proporção entre altura e largura da resolução de saída do Mega é muito próxima da proporção de uma TV. Já o Super Nintendo, por exemplo, na maioria das vezes usava uma resolução de 256 x 224 que podia gerar distorções perceptíveis, o mais perceptível sendo círculos se tornando ovais.

    Mas o Mega também tem alguns jogos com essa proporção, clique aqui para uma lista destes.

    As TVs de tubo montam as imagens em tiras horizontais feitas da esquerda para a direita de cima para baixo. Por isso, os videogames também montam as imagens em linhas, as scanlines. Os criadores de filtros e emuladores tendem a chamar de scanlines as tiras pretas, que podem ser visíveis se você tirar uma foto ou gravar um vídeo de uma TV de tubo usando seu celular, mas na verdade as scanlines formam a área visível. Então o que são as tiras pretas?, você se pergunta. Os videogames antigos criavam imagens não entrelaçadas (non-interlaced). O que isso significa é que apenas metade das scanlines era desenhada. Era feito de modo alternado, linha sim, linha não. E essas linhas não desenhadas, que o olho humano mescla com as linhas visíveis, podem ser percebidas por filmagens de câmeras. Isso ajudava os videogames daquela época em que a tecnologia ainda estava em um nível relativamente preliminar, já que eles só tinham que renderizar e enviar metade do que está na tela. Isso tinha um efeito incidental de escurecer a tela, fora isso era invisível a certa distância da TV.

    Mas você deve estar se perguntando como a TV estica os pixels. Isso é por que uma TV de tubo não tem pixels, os pixels para ela são apenas virtuais. A pixel art como a conhecemos hoje em dia, não existia, é uma invenção moderna. Os jogos eram feitos para que sua arte fosse mesclada para parecer um desenho, não era como nos jogos 2D atuais feitos para os pixels serem notados.

    As TVs conseguem criar imagens para nós estimulando as células dos nossos olhos, que são incapazes de diferenciar as unidades individuais das cores que formam um pixel, e vê tudo como um único pixel de cor intermediária entre as três. Como uma TV de tubo funciona é que há uma camada com pontos de fósforo na TV. Atrás deles há uma camada com furos. Os pontos estão divididos em grupos de três, cada um com um furo na camada atrás. No fundo do tubo há três raios que lançam elétrons que, ao atingir os pontos, causa que eles se iluminem a depender da quantidade de energia do laser, cada raio correspondendo a uma de três cores: vermelho, azul e verde. E a camada com furos impede que as cores se misturem, apesar de um pouco de mistura acontecer, o chamado color bleeding. Mas o lançador do raio não se move. Há barras magnéticas nas laterais da arma de laser que usam de magnetismo para guiar a direção dos raios lançados para o local desejado, e é por isso que as imagens são feitas em scanlines.

    Veja o excelente vídeo abaixo sobre isso (em inglês). Eu sugiro usar a tradução automática do YouTube. Aos 7:27 do vídeo, ele dá uma demonstração usando lanternas de três cores de como seria mais ou menos o funcionamento de uma TV de tubo.

    https://www.youtube.com/watch?v=Ea6tw-gulnQ&list=WL&index=9&pp=gAQBiAQB

    bobinas

    O site Nationalmaglab provém essa animação acima que ajuda a entender (é de uma TV preto e branco). Mas é preciso ter em mente que o imã é metafórico, o que define a trajetória dos elétrons são campos magnéticos emitidos por bobinas em volta da arma de laser com o controle da corrente elétrica que os perpassa definindo sua intensidade e a trajetória que isso forçará nos elétrons. Cada passada de cima a baixo cria uma unidade do que chamamos de frame, que seria uma imagem de tela inteira. Entre um frame e outro, até que esteja organizado para o próximo frame existe o período chamado de vblank e entre uma linha e outra chamamos de hblank. O Mega Drive produzia 60 dessas imagens por segundo, por isso dizemos que seus jogos rodam a uma taxa de 60 frames por segundo. É o mesmo número de taxa de atualização das TVs da época (60 Hz). Abaixo, 6 frames e a imagem animada que eles criam.

    Hoje em dia, entretanto, monitores e TVs podem ter taxas de atualização mais altas que isso, o que pode causar o chamado screen tearing, que ocorre quando a TV emite imagem de múltiplos frames de uma vez. Algumas placas de vídeo e TVs modernas possuem a tecnologia chamada adaptive sync, são capazes de adaptar a taxa de atualização da tela à do conteúdo sendo transmitido a ela. E emuladores como o RetroArch tem suporte a esta tecnologia.

    Outra taxa relevante é a de atualização horizontal, ou kHz, que conta quão rápido a tela se atualiza da esquerda para a direita a cada linha (era de cerca de 15,6 kHz nas tubões e 31 kHz nos monitores CRT) e é utilizado pelo método SwitchRes do qual falaremos posteriormente.

    TVs de tubo diferem entre si em vários fatores, um deles sendo o tipo de máscara. A camada com furos entre a tela com pontos de fósforo e o canhão laser pode tomar diversos formatos, que influenciavam como a imagem aparecia na TV. Temos três que eram mais comuns.

    • máscara de fenda (slot mask)
    • máscara de abertura grelha (aperture grille mask)
    • máscara de sombra (shadow mask)

    Os emuladores tem que ter tudo isto em conta na hora de criar suas imagens. Outro fator é o chamado overscan. As TVs de tubo tinham uma área em que o vidro se dobra nas laterais que a parte de plástico da TV esconde e onde era possível desenhar imagens. Isso significa que parte da imagem do jogo ficaria escondida. Para ficar pior, havia pequenas diferenças no tamanho dessa área a depender do modelo da TV. Por isso os desenvolvedores designavam uma área de overscan nas laterais além da tela do jogo, onde não colocavam nada importante, costumeiramente apenas a cor de fundo. Ao não fazer com que elementos de jogo atravessem essa área, os desenvolvedores garantiam que nada na tela ficasse escondido pelas bordas da televisão. Os emuladores atuais costumam ter uma opção de cortar automaticamente essa área, ou permitir que seja mostrada, mas não existe motivo para exibir esta área.

    Como já foi explicado, as TVs de tubo não produzem pixels exatos, e também não produzem a imagem inteira, apenas metade dela. Mas as LEDs e LCDs não funcionam assim. Elas exibem exatamente o que é enviado a ela, cada pixel, cada linha. Vá no emulador Kega Fusion, por exemplo e, em Video, Tamanho da janela, selecione 1x. Você verá o tamanho realmente emitido pelo videogame. Uma tela bem pequena, não? O emulador tem então que ‘esticar’ esta imagem para preencher a tela toda, sem as características de uma tela de tubo. Mas as telas planas não tem a capacidade de esticar pixels, então o que fazer? Existem várias opções possíveis. Elas funcionam através de um método chamado interpolação, que cria novos pixels para aumentar a imagem. Veja abaixo um exemplo de uma imagem com quatro pixels sendo dobrada para um tamanho de 16 pixels por nearest neighbor.

    O modo mais popular de fazer isso é com integer scaling, ou escala inteira. Se trata de multiplicar a resolução em ambos os eixos por números inteiros (sem vírgula), gerando uma imagem de resolução maior mas com a mesma proporção. Isso pode gerar uma imagem que não preenche a tela inteira, dependendo da resolução da sua tela, mas gera uma imagem maior, quase em tela cheia.

    shimmering

    Obviamente que pixels novos precisam ser criados, e um algoritmo cria pixels com a mesma cor ao lado dos pixels originais. O método base usado pelos emuladores é o nearest neighbor ou vizinho mais próximo, que calcula a cor dos pixels adicionados com base em um pixel de adjacência, como na imagem acima. Mas isso gera um problema quando se movimenta. O algoritmo tem que estar constantemente decidindo onde adicionar pixels na imagem, e quando se movimenta pode ficar aparente a criação desses pixels, gerando um efeito de tremulação dos pixels.

    Note abaixo o que pode acontecer quando se usa ou não escala inteira. Com a escala inteira, os pixels ficam balanceados (note os espaços entre as linhas amarelas na barra de vida), mas não preenche a tela inteira (note as barras pretas em volta da imagem). Com a escala não-integral ou não-inteira, pixels ficam desbalanceados (notável facilmente pela barra de vida), mas preenche mais da tela.

    • escala inteira
    • escala não-inteira

    Outro método popular é a interpolação bilinear, que cria pixels, mas os colore de uma cor intermediária entre os pixels adjacentes. Este método requer mais poder de processamento que o anterior, por levar em consideração dois pixels próximos ao invés de apenas um. Isso acaba com o shimmering de pixels, mas faz com que a imagem tenha um aspecto embaçado. Ainda assim é provavelmente mais fiel ao que uma TV de tubo exibia, já que se assemelha ao alongamento de ‘pixels’ causado por TVs CRT. Por que as TVs atuais não tem a capacidade de criar meios pixels ou pixels de tamanhos diferentes, como acabava acontecendo em um tubo. Então ao aumentar o tamanho de uma imagem, pixels que em um tubo teriam tamanho de 1,33 só poderão ter 2 pixels, gerando uma distorção na imagem. Criar um pixel intermediário que não é nem um nem outro mas uma junção dos dois, com coloração que é uma mistura dos dois adjacentes, é um método que tenta se aproximar dessa característica das tubões. Uma opção ainda mais avançada é a interpolação bicubica, que leva em consideração 16 pixels.

    O vídeo abaixo fala de escala integral ou inteira, ele está em inglês mas basta usar a tradução automática.

    https://www.youtube.com/watch?v=ZsYJZjH8Lo8&list=WL&index=12&pp=gAQBiAQB

    E o motivo de não exibir em tela cheia é um problema com a multiplicação da resolução. Como precisa ser números inteiros, já que monitores modernos são incapazes de produzir pixels de tamanhos diferentes ou mesmo meios-pixels, se a resolução vertical de sua tela for 1080, por exemplo, não existe nenhum número inteiro para multiplicar. 240 x 5 = 1200, que é maior que 1080, mas 240 x 4 = 960, que é menor.

    Um outro problema que pode ser causado por todos estes fatores é input lag. Por exemplo para conectar um aparelho antigo em uma TV atual, seria necessário um aparelho upscaler como o Framemeister, que usa algum método para aumentar a resolução da imagem para a de uma TV atual, já que a resolução dos videogames era tão baixa que está abaixo do suportado pelas TVs atuais. Mas este processo não é exatamente instantâneo, os upscalers não tem o poder de processamento de um PC de última geração, então acaba gerando um atraso entre o pressionar de um botão no controle e a visualização da ação na tela. Não é algo muito grande, mas sente como um jogo menos responsivo. Emuladores tem menos deste problema, rodando em PCs, que tem poder de processamento maior, mas ainda assim é um processamento a mais que precisa ser feito e isso ajuda na fama das CRTs como o jeito ideal de jogar jogos antigos. Elas escalonam as imagens naturalmente, sem necessidade de algoritmos e processamento, e portanto não tem nenhum input lag. Opções como o run ahead tentam auxiliar com isso. Esta função usa um algoritmo para calcular os possíveis frames que podem vir após o atual e deixar todos preparados para quando a ação acontecer, diminuindo o tempo entre o pressionar de uma tecla e a ocorrência de algo na tela.

    Outra vantagem das CRTs é que como a imagem é criada por pulsos ultrarrápidos a cada 16 milissegundos mais ou menos, nossos olhos veem como duas imagens diferentes. O que isso previne é que nossos olhos façam interpolação (misturemos as duas imagens) causando o motion blur, ghosting ou borrão de movimento. Monitores modernos tem um método de “amostra e retenção” (sample & hold) que simplesmente segura o pixel do frame na tela até o próximo frame, enquanto nos CRTs os fósforos levavam um tempo para irem apagando (que o filtro beam simulation falado mais abaixo tenta simular). Para evitar o borrão emuladores atuais usam uma função chamada black frame insertion, que insere frames pretos entre os frames com imagens para ajudar nossos olhos. No site UFO Test tem um teste demonstrando a redução de motion blur com black frame insertion (clique aqui). Note como o UFO com BFI parece mais nítido. Tenha em mente que o flickering abaixo é exagerado por motivos de demonstração.

    Encontrei uma polêmica complexa envolvendo o PAR ou Pixel Aspect Ratio, que é a proporção entre altura e largura de cada pixel, ou seja, quanto ele é efetivamente quadrado ou não. Essa controvérsia envolve também o clock do pixel, ou quão rápido um Mega Drive consegue enviar um pixel para a tela através de um cabo. É isso que define o PAR e, em consequência, o DAR (display aspect ratio) que é o tamanho da imagem total a ser escalonada. Nesse caso o PAR é medido a partir do dot clock, dot pitch ou pixel pitch, que é a distância entre os centros dos ‘pixels’ na TV. Como uma TV de tubo não tem pixels reais, a distância entre um pixel virtual e outro é o tamanho que um pixel pode ter, e isso determina também o DAR. Por este método a saída do MD deveria ser colocada em 299×224 com área de overscan removida. O vídeo abaixo (em inglês) fala sobre isso:

    https://www.youtube.com/watch?v=2owtAwcysQI&t=84s

    Você pode ver também o vídeo abaixo, bem informativo e nativamente em português. O vídeo é para o SNES mas ajuda a entender os conceitos apresentados acima.

    https://www.youtube.com/watch?v=9GpX3MXBg_4&pp=ygUlY29zbWljIGVmZmVjdCBwZXJmZWN0IHBpeGVsIHJldHJvYXJjaA%3D%3D

    Agora se você tiver uma TV de tubo e conectar um emulador a ela, irá se deparar com outro problema. A saída do seu PC provavelmente terá uma resolução bem maior do que aquela original de um Mega Drive. E geralmente os drivers de placas de vídeo não tem suporte a resoluções tão baixas ou não facilitam o processo. Mas os emuladores atuais já dão conta disso, sendo capazes de alterar a resolução de saída através da função SwitchRes.

    Falando dos filtros de imagem propriamente ditos, um tipo de filtro muito relevante para o Mega Drive especificamente são filtros contra dithering. O Mega Drive não possuía hardware para fazer transparência “real”. Quando o Super Nintendo surgiu com capacidades de fazer alpha blending e paleta de 256 cores em tela de um total de 32.768 possíveis contra 61 cores de uma paleta de 521 no Mega, o MD teve que se usar de todas as técnicas possíveis para tentar se igualar. Tenha em mente que as imagens desses consoles são construídas por camadas. Alpha blending consiste em fazer uma conta de subtração entre a cor da camada que está na frente e a da camada que está ao fundo e modificar a cor da camada da frente para a cor resultante dessa subtração, dando a impressão de que está ‘dando pra ver através do objeto da frente’. Dithering se utiliza do embaçamento da imagem causado por sinais como cabo AV, que mistura pixeis adjacentes, causando uma espécie de alpha blending falso (quando o pixel adjacente está vazio) ou colorações a mais.

    CONFIGURAÇÃO DA RESOLUÇÃO

    Agora vamos à parte que importa. Para começar a configuração do emulador, pode ser útil primeiro saber a resolução de saída da sua placa de vídeo. Para isso, clique com o botão direito na área de trabalho. A opção que te mostra essa informação pode variar de placa para placa, então procure, mas vou mostrar onde é no meu PC. Eu tive que ir em Configurações de exibição e a informação estava em Resolução de tela. No caso, a minha é 1280 por 1024.

    De posse da informação acima, o primeiro passo é definir o tamanho que a imagem terá. Essa parte é importante, e todo o resto depende dela. Há várias maneiras diferentes de lidar com isso. E eu vou ensinar como fazer isso primeiramente no RetroArch, que é o emulador mais flexível em termos de customização. Primeiramente, abra o RetroArch, vá em Carregar núcleo e carregue o seu núcleo de Mega Drive, no meu caso estarei usando o Genesis Plus GX.

    Vá em Configurações, Vídeo e Escala. Para ligar o integer scaling mencionado mais acima, basta clicar em “Dimensionar com valores inteiros” para colocar em “Ligado”. Isso irá travar o escalonamento da imagem a valores inteiros e proporcionais.

    Em Proporção de tela, estão algumas opções pré-definidas que você pode usar, como 4:3 por exemplo, que era a proporção das TVs de tubo. Também existe a opção “Fornecida pelo núcleo” para usar o que os criadores do núcleo definiram, que no caso do Genesis Plus GX é 4:3, esticando a imagem por nearest neighbor. A opção 16:9 estica mais a tela como se fosse widescreen, é a resolução mais comum das telas atuais. O Genesis Plus GX Wide é um núcleo específico para MD em widescreen. O Meduza Team inclusive produz hacks para melhorar a experiência wide (aqui) para uso com este núcleo. A opção Personalizado permite que você coloque o número que você quiser e é por aqui que iremos começar.

    O Mega Drive com codificação PAL das regiões europeia e asiática tem resolução maior que o americano. Na verdade é o PAL que tem resolução de 320×240, o americano NTSC e consequentemente o brasileiro PAL-M tem resolução de 320 x 224 no modo de resolução maior ou 256 x 224 no menor. Como a maioria dos jogos não usa a resolução extra do PAL, faz mais sentido usar a resolução NTSC. Saiba mais sobre isso clicando aqui, lembrando que jogos lançados apenas em regiões europeias foram otimizados para PAL e nesse caso pode ser benéfico calcular para a resolução total de 320 x 240. Existem também hacks para jogos NTSC rodarem bem em consoles PAL (clique aqui) mas não parece que afetam a resolução.

    Utilizando o método de PAR para o meu monitor com 1280 por 1024 pixels, multiplico o menor dos dois tamanhos (224) por valores inteiros até descobrir o ideal. Se eu multiplicar por 5, dará 1120, que é maior do que 1024. Mas se eu multiplicar por 4, terei 896, que cabe em 1024. Partindo disso, posso multiplicar 299 pelo mesmo número, ou seja, por 4, tendo 1196. Sendo assim, por este método a resolução que devo colocar é 1196 de largura por 896 de altura. Lembre de desligar o dimensionamento por valores inteiros para poder customizar a vontade estes números. Este método não preenche a tela toda, e é melhor para placas com suporte a resoluções maiores, por que aí a resolução definida ocupará uma área maior.

    Para utilizar manualmente o método antigo mais simples, levando em consideração apenas o DAR, configure de acordo com a resolução do jogo, 320 x 240 ou 256 x 224, basta calcular multiplicações do número menor de acordo com a resolução da sua tela. Para o meu com resolução de altura de 1024, terei que multiplicar por 4 e usar a resolução 1280 x 960 para jogos com resolução original de 320 x 240; e 1024 x 896 para jogos que tinham 256 x 224 como resolução.

    Um outro método ainda é usar múltiplos diferentes. Minha resolução não me permitirá mostrar isso, então vamos usar uma hipotética mas comum resolução de 1080p, ou seja 1920 x 1080. Nesse caso, você pode multiplicar 320 por 5 e 240 por 4, por exemplo, tendo como resolução-alvo 1600 x 960. É um método menos fiel, mas não tanto. Dividindo 1600 por 960 teremos o PAR, que é de 1,66. O PAR do Mega Drive era de 1,33, então temos uma divergência de 0,33 apenas.

    Ou você pode simplesmente marcar para deixar o núcleo decidir, que é o método mais fácil e prático. Se fizer isso, pode definir o método usado pelo núcleo no menu rápido (F1), Configurações do núcleo, Vídeo e Proporção de tela do vídeo.

    Ali em Vídeo também tem a opção Bordas, que define se o overscan será ou não exibido.

    Lembre-se, ao fechar o RetroArch, de clicar em Sair, que é a última opção do Menu principal, para garantir que as configurações sejam salvas.

    Independente do que você fizer aqui, você pode fazer este próximo passo. Carregue um jogo no RetroArch e entre no Menu rápido. Vá em Sombreadores e carregue um shader de interpolation como o sharp bilinear (veja como mais abaixo). Isto irá cessar o shimmering de sprites ao fazer com que os sprites criados pelo escalonamento tenham cores intermediárias entre as duas vizinhas. Isso também tem o efeito colateral de embaçar a imagem.

    É sugerido que, caso aplique múltiplos filtros, este seja o primeiro a ser aplicado.

    Em relação aos outros emuladores: o Kega Fusion só permite três tipos de escalonamento, 1x (o tamanho original de saída do jogo), 2x (aumentado em 2x) e full screen (aumentado para preencher a tela toda); o BlastEm tem a opção de escala integral (integer scaling) em Settings, Video, e também permite definir tamanhos exatos para as áreas de overscan no topo (top), embaixo (bottom) e nas laterais esquerda (left) e direita (right) da tela; o Ares tem opções de método de escalonamento em Settings, Output. Em Settings, Size, dá pra definir em quantas vezes será escalonado. Em Settings, Video, pode-se marcar para exibir o overscan, caso deseje.

    O BizHawk, por sua vez, tem as opções em Config, Display, na aba Scaling & Filtering. Ali em Aspect Ratio Selection você pode usar a recomendação do sistema (marcado na imagem abaixo), usar um número personalizado (use custom size). Marque Expand pixels by integers only para não multiplicar por números quebrados. Defina números de pixels em Cropping para esquerda, topo, direita e embaixo respectivamente, para definir corte de overscan. Em Final Filter tem opções marcáveis para filtro de interpolação. Para mudanças rápidas, com o jogo rodando, em View, Window Size, você pode mudar o tamanho da tela de jogo.

    No Android, a configuração do RetroArch é igual à de PC. No MDEmu, vá a Options, Video, Aspect Ratio. No Lemuroid, há apenas a opção overscan. Para ativá-la, com o jogo rodando, entre nas Configurações e, em Bordas, selecione a opção desejada.

    Depois disso preparado, podemos partir para os filtros propriamente ditos.

    FILTROS PROPRIAMENTE DITOS

    Tipos de Filtros

    Mas primeiramente, precisamos falar dos diferentes tipos de filtros suportados pelos emuladores. Os formatos possíveis são glsl, slang, cg e rpi, sendo que combinações pré-definidas de filtros adicionam um p ao final, ficando glslp, slangp e cgp. O Ares te dá acesso a muitos filtros de imagem no formato slang (com o driver OpenGL); Bizhawk usa o formato cgp, Kega Fusion é o único a usar rpi, o BlastEm  usa o formato f.glsl e o RetroArch suporta glsl e slang. O RetroArch também suporta outro tipo de filtros, de formato filt. No Android, a adição manual de filtros é desencorajada, sendo limitados aos providos pelos próprios emuladores, devido a restrições do próprio Android. No Mac, o OpenEmu tem suporte ao formato cg, com slangp a caminho.

    Os filtros do tipo CG são um formato velho e defasado, os GLSL são para OpenGL e tem suporte a uma variedade de plataformas, incluindo mobile, já o Slang é o formato mais moderno e recomendado, compatível com muitos drivers (Direct3d, OpenGL…) inclusive o novo Vulkan.

    Se tipificarmos por função, temos primeiramente filtros contra dithering, que usam um algoritmo para detectar áreas de dithering e mesclar essas áreas reimplementando transparências e tons de cor que seriam criados pela mesclagem natural de cabos como RF e AV. Eles podem ter como alvo dither quadriculado, vertical (em tiras) ou ambos sem embaçar a imagem toda. E eles podem ser agressivos ou suaves, sendo que quanto mais agressivo, maior a chance para erro (mesclar e borrar áreas que não são dither); enquanto que quanto mais suave, maior a chance de não mesclar algumas áreas que são dither. É sugerido usar estes filtros após o (s) de interpolação na lista, mas antes de quaisquer outros filtros. Dois exemplos filtros de dithering são gdapt e mdapt, sendo que o gdapt é o mais agressivo dos dois, mas por não ter um algoritmo complexo é também o mais leve em termos de processamento. Outros incluem: sgenpt-mix, gendither, jinc2.

    Outro tipo de filtro é o blur, que significa desfoque. A descrição nos docs libretro descreve como “sombreadores que usam algoritmos de passagem baixa para remover frequências de dados altos e desfocar a imagem”. Este método causa uma espécie de convolução na imagem, o valor de cada pixel é determinado por uma média dos pixels vizinhos, sendo que o pixel original recebe o maior peso e os outros recebem pesos menores a depender da distância do original. Este tipo de filtro pode ajudar também com o dithering, mas por ser indiscriminado causa perda maior de qualidade na imagem geral.

    Um tipo similar a este são os de suavização, que borram a imagem para dar um aspecto “HD” a ela. Muitos (inclusive eu) não curtem por desvirtuar a arte, mas dá um visual diferente e outros muitos gostam. Exemplos desses incluem os antigos XSAI, os XBR, os Super Eagle, os HQ e os atuais lanczos.

    Já filtros antialiasing (geralmente denotados por um aa no nome) servem para detectar por algoritmo e suavizar bordas serrilhadas.

    desfoque gaussiano

    Existem também filtros predefinidos como CRT e NTSC. Shaders CRT combinam efeitos que tentam simular características de TVs de tubo, como a curvatura, o brilho, desfoque e as ‘scanlines’. Eles também podem imitar um tipo específico de máscara. Filtros de CRT geralmente são combinações tudo-em-um que não necessitam de adendos adicionais, podendo simplesmente ser usados sozinhos ou após um de interpolação. Exemplos de filtros CRT incluem CRT-Geom (imita máscara de grelha), CRT-Easymode, CRT-Hyllian (para PCs menos potentes), CRT-Lottes (imita máscara de fenda), Fakelottes (o Lottes com scanlines), CRT Royale (pode-se escolher o tipo de máscara e tem várias outras opções) e CRT-Guest Advanced (o mais completo e pesado deles). Quando você vê glow ou hallation no nome de um desses filtros, está tentando simular o brilho de um tubo. Quando colocam ‘fast‘ quer dizer que tem o alvo de ser rápido e menos intenso em processamento. Assim como os CRT, filtros LCD servem para imitar telas de portáteis da época, como o Mega Drive portátil da Sega, o Nomad.

    Filtros NTSC, por sua vez, tem por objetivo simular as distorções causadas por um cabo composto, RF, S-Video ou componente. Deste tipo temos como exemplo os do blargg e do Maister. É sugerido que seja o último filtro a ser aplicado.

    Um outro tipo de filtro, que não é utilizado na imagem em si, são os bezels, que colocam algo nas bordas fora da imagem do jogo, como uma imagem de bordas de TV de tubo ou de máquinas de fliperama, para simular mais da experiência da época.

    Exemplo de um Bezel

    Outra opção para shaders são presets. Na verdade é meio que isso que os filtros CRT e NTSC são, mas qualquer um pode criar e compartilhar seus próprios presets na net e alguns pacotes de presets se tornaram famosos. Como o do Sonkun, o do Retro-Crisis, o do CyberLab e o do Koko-aio. São para quem quer experimentar combinações avançadas de shaders sem ter que colocar a mão na massa.

    Em uma CRT real, os shaders podem não funcionar adequadamente, e você pode querer usar um filtro como o tvout para diminuir a resolução para 240p ou 480p se sua CRT tiver resolução muito alta.

    OBTENDO SHADERS

    Você pode estar se perguntando como obter os shaders. Como tudo neste artigo, tem vários meios.

    Quando você baixa o RetroArch, vá ao Atualizador online e atualize sombreadores. Isso garantirá muitos shaders presentes.

    Caso se depare com a página do github de algum, use o botão de download (setinha pra baixo). Mais pra frente irei falar onde colocar o arquivo baixado. Clique aqui para o repositório oficial de shaders do RetroArch no GitHub. Clique aqui para a pasta de shaders GLSL do RA e clique aqui para a pasta Slang. A página de downloads aqui do DYM tem alguns de Kega Fusion. Clique aqui para o GitHub dos shaders do OpenEmu.

    Para bezels, neste link tem alguns links para bezels. Outra opção para um efeito estilo bezel são as sobreposições. Estas aparecerão após você ir ao Atualizador online e Atualizar sobreposições. Você pode usar o programa RetroArch Overlay Editor para fazer suas próprias sobreposições (link aqui). A pasta de sobreposições se chama overlays. Mas talvez seja melhor usar de bezels em formato de shaders mesmo e habilitar sobreposições apenas no caso de precisar do joystick virtual (tipo, no Android).

    Para utilizar shaders, caso os tenha baixado, você tem novamente escolhas. Pode colocar em qualquer pasta que você quiser e modificar o diretório de shaders. Vá em Configurações, Diretório, Sombreadores de vídeo, navegue até a pasta desejada e clique em Utilizar este diretório. O diretório de filtros em formato filt + dll pode ser definido na opção Filtros.

    Outra opção é colocar na pasta padrão já existente. A pasta do RetroArch por padrão é no disco local C, RetroArch. A pasta de sombreadores se chama Shaders, e está subdividida em glsl e slang, portando é necessário saber o tipo de shader baixado e inserir na pasta correspondente. Se estiver compactado, descompacte. Já o diretório padrão de filtros formato filt é em Filters, Video.

    No Ares a pasta é Shaders. No BlastEm também é em uma pasta shaders. No Kega Fusion, coloque em uma pasta com o nome Plugins.

    CONFIGURANDO FILTROS

    A primeira coisa a ser configurada é o driver de vídeo. Sugiro deixar no padrão que já vem selecionado com o emulador e mudar só se tiver problemas, testando até achar o que melhor servir. Caso tenha algum problema, vá em Configurações, Drivers, Video. Escolha um dos drivers disponíveis, como OpenGL (gl), Direct3D (d3d) ou vulkan. No Ares, esta opção está em Settings, Drivers. É dito por aí que o driver vulkan oferece desempenho melhor, principalmente em placas que não são da nVidia. Para saber se tem suporte ao vulkan, baixe o Vulkan SDK neste link, instale-o e rode o vulkaninfo.exe.

    Caso ‘quebre’ o RetroArch, para consertar  basta ir até a pasta dele e apagar o arquivo retroarch.cfg. Caso não encontre este arquivo, ache um chamado retroarch.default.cfg e mude o nome dele para retroarch.cfg. Caso não consiga, desinstale e reinstale o programa.

    Na verdade o RetroArch tem dois tipos de filtros, os shaders ou sombreadores, que usam a GPU (placa gráfica) em seu processamento, e o que o RA efetivamente chama de Filtros, que usam a CPU. Estes últimos são o único tipo de que emuladores como Kega Fusion dispõe. Os filtros CPU são mais limitados no que são capazes de fazer, mas mais leves para PCs com placas de vídeo mais fracas. Vamos começar por eles.

    O primeiro é a Filtragem bilinear disponível em Configurações, Video, Escala. Os filtros de vídeo CPU propriamente ditos, entretanto, estão em Configurações, Video, Filtro de video. Basta selecionar um dos filtros para ativá-lo. Para desativar, basta clicar em Remover o filtro do vídeo. O próprio núcleo Genesis Plus GX tem um filtro desse tipo, disponível no Menu rápido, em Configurações do núcleo, Video, Filtro NTSC (Blargg). Aplique um ou outro destes, mas não os dois. Nas configurações de vídeo do núcleo tem também uma opção que imita a tela LCD do Nomad, que lê Filtro fantasma LCD.

    Mas não é para isto que estamos aqui, não é verdade? Para os famosos shaders do RetroArch, primeiro vá no Atualizador online e clique em Atualizar sombreadores. Para poder ver o que está fazendo sem precisar sair do menu e voltar ao jogo toda vez, vá a Configurações, Interface de usuário, Aparência, Opacidade e coloque em 0.00, tornando o fundo dos menus transparente. Assim ao aplicar um filtro, verá seu efeito imediatamente.

    Execute um jogo e entre no Menu rápido do emulador, vá em Sombreadores. Clique em Sombreadores de vídeo para deixar Ligado. Em Estágios de shader, você pode selecionar quantos filtros irá utilizar. Ao selecionar algum número, digamos 1, você pode selecionar shaders. Por exemplo, clique em Shaders #0. Navegue até a página de shaders do formato desejado. Se não aparecer, é por que seu sistema ou driver escolhido não suporta, basta trocar o driver na opção já mencionada ou selecionar outra pasta (slang ou glsl). Para voltar uma pasta anterior, clique em Diretório superior. As pastas estão separadas por tipo de filtro, dentro delas basta clicar no sombreador desejado.

    A depender do filtro escolhido, em Parâmetros de shader existem configurações extras que podem ser realizadas. Clique em Aplicar alterações para fazer valer imediatamente para o jogo aberto. Estes parâmetros funcionam assim. O primeiro número (por exemplo 0.80 do Blur strength X na imagem abaixo) é o que está definido. Entre aspas estão o valor mais baixo possível (0.00) e o máximo possível (1.00). No exemplo abaixo temos intensidade do desfoque no eixo horizontal (X) e vertical (Y).

    Através dos parâmetros pode-se, por exemplo, configurar a claridade para que um shader de scanlines não escureça demais o visual dos jogos. Os parâmetros são o aspecto mais obscuro pra mim, muito difícil encontrar informações a respeito. Clique aqui para um drive com traduções dos arquivos leiame dos sombreadores.

    Depois de configurados seus filtros, clique em Salvar predefinição. Em “Salvar predefinição de shader como” você pode salvar com um nome e inclusive depois copiar o arquivo e compartilhar. Em “Salvar predefinição global”, você pode salvar a configuração atual para ser o padrão de todos os núcleos. “Salvar predefinição de núcleo” serve para configurar como padrão para o núcleo atual (Genesis Plus GX). “Salvar predefinição do diretório de conteúdo” serve para caso você tenha jogos organizados em pastas diferentes, sendo que os parâmetros de shader atuais seriam o padrão para todos os jogos que estão na mesma pasta que aquele que está em execução atualmente. “Salvar predefinição de jogo”, como o nome diz, serve para definir como padrão apenas para o jogo em execução.

    Para carregar predefinições salvas anteriormente ou baixadas da net, a opção é “Carregar predefinição”. Você pode carregar múltiplas predefinições e salvar como uma única outra predefinição. Para fazer isso, “Prepend Preset” coloca predefinições antes da última na lista e “Append Preset” adiciona ao final da lista. Esta lista, no caso, é a ordem dos filtros a serem aplicados. Por exemplo, a imagem pode ser escalonada por um filtro de interpolação e depois borrada por um de blur, ou pode ser borrada por um filtro de blur e depois interpolada (a segunda ordem é contraindicada).

    Também é possível trocar entre predefinições salvas com os atalhos de teclado que por padrão são: m para mudar para o próximo sombreador na lista e n para voltar para o anterior.

    Para usar um bezel em formato sobreposição (overlay), primeiramente para que eles apareçam é preciso habilitar as sobreposições em Configurações, Interface de usuário, Sobreposição na tela, Exibir sobreposição. Você precisará mudar a sobreposição em Predefinição da sobreposição.

    No Ares, com o jogo rodando, vá em Settings, Shader e selecione um filtro entre as diferentes opções. No meu caso só ficou disponível com o driver OpenGL. Em Settings, Video há uma opção de Color Bleed que pode ajudar com dithering.

    No Kega Fusion, a opção está em Vídeo, Render Plugin. Em Video há também uma opção para Scanlines.

    No BizHawk as opções de filtro estão em Config, Display. Na parte de Scaling Filter da aba Scaling & Filtering, marque User e clique em Select para selecionar um filtro. Quando você carrega um jogo: em Gen, Settings, aba Sync Settings está a opção Overscan para mostrar ou ocultar as diferentes áreas de overscan.

    No BlastEm vá em Settings, Video e selecione uma opção em Shader.

    No MDEmu, os filtros estão em Options, Video, Overlay Effect. Em Overlay Effect Level dá pra configurar a intensidade do filtro.

    OUTRAS FUNÇÕES

    O RetroArch sugere entrar em Configurações, Vídeo, Saída, colocar o RetroArch em tela cheia (Alt + Enter) e clicar ou pressionar Enter em “Taxa de atualização estimada da tela” para definir a taxa efetivamente medida pelo RA como a que será utilizada.

    Para ativar Black Frame Insertion no RetroArch vá em Configurações, Vídeo, Sincronização, Inserção de quadro opaco. Apenas para monitores com taxa de atualização alta (acima de 120 Hz). clique aqui para um teste da taxa de atualização do seu monitor. Tenha em mente que BFI pode causar retenção de pixels (burn in) em telas LCD/LED, mas caso aconteça fique tranquilo pois é temporário. É recomendado usar taxa de 180 Hz caso seu monitor tenha taxa que suporte.

    Uma alternativa ao BIF, que se torna disponível com o driver Vulkan, é o shader CRT Beam Simulator. Vá para Configurações, Núcleos, desative Permitir que os núcleos alterem o driver de vídeo. No Atualizador online, atualize os sombreadores slang. Em Configurações, Vídeo, Sincronização, se certifique que Sincronização vertical (VSync) está habilitado. Em Subquadros de sombreamento, selecione a taxa de atualização do seu monitor. Desative o g-sync/free sync (última opção do menu Sincronização). Caso o monitor e/ou placa de vídeo tenha suporte a free sync, desative. O Sombreador que você quer estará na pasta slang, subframe-bfi, crt-beam-simulator. Para ajustar a claridade, use os parâmetros.

    Para ativar g-sync/free sync, caso seu monitor suporte, vá a Configurações, Vìdeo, Sincronização e habilite “Sincronizar taxa de atualização exata ao conteúdo”. Clique aqui para baixar um teste de suporte da NVidia.

    Para ativar o run-ahead no RetroArch, vá a Configurações, Latência e habilite Executar à frente. No Ares, a opção está em Settings, Options. Basta marcar Run-Ahead.

    Não possuo um dispositivo compatível mas supostamente com o driver Vulkan em um dispositivo compatível deve ser possível habilitar HDR em Configurações, Vídeo. Essa função serve para melhorar o alcance dinâmico e a entrega de cores da imagem.

    No Menu rápido, em Configurações do núcleo, Hacks de emulação, existe a opção Otimizar rolagem vertical. Esta função suportamente melhora efeitos de meia rotação falsos usando scroll vertical. O vídeo abaixo mostra uma comparação aos 0:50:

    https://youtu.be/Dxfp_ZUfg38?si=zDDp_Dv4UCl9Xfyr&t=50

    Para ativar o modo para TVs de tubo (SwitchRes), primeiro ative as configurações avançadas em Configurações, Interface de usuário, Mostrar configurações avançadas. Depois vá em Configurações, Vídeo, Trocar para resolução CRT. A opção Taxa de atualização personalizada é para você modificar uma através do arquivo ini (abaixo).

    Para usar a função acima, terá que forçar a placa de vídeo a uma resolução abaixo do que talvez ela suporte. E seria conveniente que fizesse isso automaticamente, não ficando presa nela ao sair do emulador. Programas como o Custom Resolution Utility (aqui), o pago e apenas para MacOS SwitchResX (aqui) e o CRT Emudriver (apenas para placas ATI/AMD, aqui) permitem a instalação dessas resoluções extras (mas parece que o modo do RetroArch só funciona com o Emudriver).

    As opções disponíveis são:

    A super resolução é necessária para lidar com o clock de pixels das placas atuais, cujo mínimo é superior ao necessário para resolução horizontal de 320, a resolução horizontal não importa tanto, então se usa essa super resolution de 2560 x 240.

    Para mais configurações do SwitchRes baixe o ini clicando aqui. Coloque ele na pasta do RetroArch e abra ele com um bloco de notas para fazer edições nas configurações avançadas.

    Clique aqui para um guia completo dessa instalação.

    Será necessário baixar e instalar o chamado Emudriver, que irá habilitar o uso das resoluções necessárias, aqui chamadas modelines. O SwitchRes alterna automaticamente resoluções conforme necessário, inclusive dentro de um mesmo jogo quando ele muda de resolução dependendo da parte que está sendo exibida, o que eles faziam (por exemplo, uma resolução nos menus e dentro do jogo em si).

    Segundo a lista de compatibilidade do Emudriver, funciona com o Kega Fusion também.

    Caso esteja em dúvida e não queira ficar testando filtros, clique no link a seguir:

    Showcase for RetroArch Shaders 2024 – Page 2 – things i play

    Este site tem 8 páginas em que você pode verificar efeitos de filtros individuais e comparar eles para decidir o que vai usar. Basta clicar no link em azul, que tem várias opções de filtros que podem ser comparados.

    As imagens das comparações também podem ser baixadas no Archive.

    Já o link abaixo é para comparações entre os filtros CRT:

    CRT Shader Showcase for RetroArch – things i play

    A seguir comparando os presets do Sonkun:

    Discovering Sonkun’s crt-guest-advanced-ntsc Slot Mask presets – things i play

    Abaixo, um link de comparações dos parâmetros diferentes do filtro CRT Royale NTSC SVideo:

    https://forums.libretro.com/t/comparing-each-shader-parameters-settings-for-crt-royale-ntsc-svideo/42422

    E o repositório GitHub a seguir é de screenshots dos filtros em ação:

    GitHub – libretro/shader-previews: A repo to store thumbnail previews for RetroArch’s many shaders.

    Segue abaixo uma demonstração (uma de muitas que podem ser encontradas na internet) do que filtros são capazes (estes são dos pacotes do Retro Crisis):

    https://www.youtube.com/watch?v=pd75fzm7sBc

    OUTRAS OPÇÕES

    Uma opção extra para o uso de shaders é o WindowCast, que propõe usar o RetroArch para aplicar os shaders dele em outras aplicações, como emuladores standalone (BlastEm, Kega Fusion). O download pode ser feito a partir do link: LibRetro-WindowCast.7z – Google Drive ou a versão experimental aqui: windowcast2_experimentbuild2024_02_07_09_02.tar.xz – Google Drive ou ainda a versão Vulkan: LibRetro-WindowCast-NewVulkan.7z – Google Drive

    Um programa standalone que faz isso é o ShaderGlass (link aqui), que aplica filtros RetroArch sobre qualquer janela. Já o programa ReShade (aqui) aplica filtros específicos seus, não necessariamente voltado aos retrogames, mas muitos shaders do RetroArch foram portados para o ReShade. Para Linux existe o vkBasalt.

    Eu não consegui usar o WindowCast, mas para usar o ShaderGlass é simples, baixe e descompacte o arquivo em uma pasta. Dê um duplo-clique no executável ShaderGlass.exe. Em Input você pode definir de onde virá o conteúdo a ser sombreado, como Desktop, All Displays para sombrear a tela toda. Clique na janela do ShaderGlass e maximize-a, você vai usar ela ao invés da janela do seu emulador. Em Window, você pode selecionar a janela aberta de um emulador ao invés da tela toda. Em Shader, Choose from Library, você pode escolher o filtro que será utilizado. Em Shader, Parameters, você pode configurar os parâmetros do filtro.

    Então, é isso. A meu ver os filtros são algo essencial à jogatina de jogos clássicos, principalmente os de Mega Drive. É uma escolha que todos que forem emular Mega Drive tem que fazer, se deixarão o dithering visível para ter mais nitidez ou se sacrificarão um pouco de nitidez para permitir transparências e colorações feitas pelo truque de dithering. Mas esta é apenas a escolha inicial, pois as possibilidades de personalizar a aparência dos jogos são enormes, e em constante crescimento. É possível ignorar esta parte e deixar tudo no padrão pré-programado do emulador de sua escolha, mas para quem quer algo mais legítimo ou agradável visualmente, é bom que a opção exista.

    E aí, achou alguma coisa útil? Qual sua preferência para filtros de jogos, algo fiel à era, pixels bem visíveis ou talvez um filtro bem agressivo que some com os pixels? Comente abaixo!

    FONTES:

    Godpuu, Fórum OuterSpace, Docs Libretro, GitHub Libretro, GameTech Wiki, FilthyPants, EmuGen, Forums Libretro, Forums Libretro 2, GameTechWiki 2, GameTechWiki 3, GameTechWiki 4, CRT Pixels, Fórum Outer Space 2, Fórum Outer Space 3, UFO Test, Reddit, Wikipedia, Wikipedia 2, things i play, Displaced Gamers, White_Pointer Gaming, N64 Brasil, Libretro Forums 3 , Pin Eight, Annmay10, Docs Libretro 2, Docs Libretro 3, Docs Libretro 4, Libretro Forums 4, Libretro Docs 5, Librashader, Web Archive, Retro Game Corps, Libretro Forums 5, HD Retrovision, Clownacy’s Corner, Forums Blur Busters, RetroArch GitHub, Libretro Forums 6, Libretro Forums 7, Retro Crisis, Stack Exchange, Woohyun-Kang GitHub, peeweek GitHub, MyTechToyBox, Sharp Bilinear GitHub, Nostalgia Nerd

    #emulação #filtros #guia #megaDrive #retroarch #shaders #sombreadores #tutorial

    A pauta sobre easter eggs da #SegundaFicha cobre apenas jogos? Como um usuário #Linux da velha guarda, gostaria de resgatar o easter egg das antigas versões do Red Hat (incluindo o #Conectiva Red Hat Linux), que exibiam um chapéu giratório se uma determinada região do `timetool` (aplicativo para ajuste de data e hora) era clicada. Não achei captura de tela, então, precisei eu mesmo fazer uma (emulador PCem, distribuição Conectiva Red Hat Linux Marumbi).

    🏷️ Etiquetas adicionais: #retrocomputing #redhat #fvwm #fvwm2 #anotherlevel #tcltk #emulacao #emulation

    Zerei ontem o Wonder Boy in Monster Land do Master System 

    Eu tinha tido um pouco de dificuldade no começo com ele por conta da "hit box" dele ser pequena, mas descobri que se você agachar ele bate um pouco mais longe e fica bem melhor.

    Acabei gostando do jogo, ele é simples mas bem gostozinho de jogar e bem curto também.

    #retro #jogoveio #wonderBoy #emulação

    Compras videojogos? Eu tenho mais de 6000, grátis

    A indústria dos videojogos é multimilionária. No entanto, existem milhares e milhares de jogos que podem ser jogados gratuitamente. Não estou a falar apenas de jogos livres,…

    Freak Spot

    Acabei de postar no site o tutorial de como emular o Vtech creatiVision. https://mangatom.com.br/?p=6570

    Não existe tutorial desse na internet, e no começo tem uma intro pra conhecer esse console hibrido.

    #retro #tutorial #emulator #emulation #creativision #8bits #emulador #emulação #roms #vtech #console #videogames #game

    O console dos clones! – CreatiVision emulado no cvemu (creatiVision emulator) - Mangatom

    Já ouviu falar do Vtech CreatiVision? Nem eu. Conheci esse estranho console devido a um site de emulação que acompanho e o lance mais interessante são as milhares de versões que esse híbrido entre videogame e computador recebeu. CreatiVision foi desenvolvido em Hong Kong, 41 anos atrás, em 1982, e manteve distribuição até 86. Foi mais

    Mangatom - Reviews de mangás, HQs, animes e live action