Autor Tópico: Higan - Emulador de Super Nintendo (SNES) e outros  (Lida 15478 vezes)

Offline Sergio Benjamim

  • Usuário Ubuntu
  • *
  • Mensagens: 2.902
    • Ver perfil
Higan - Emulador de Super Nintendo (SNES) e outros
« Online: 09 de Junho de 2014, 14:02 »
Me deparei com esse Higan, é um emulador de Super Nintendo (SNES), Nintendinho (NES), Game Boy, Gameboy Color, Game Boy Advance e Super Game Boy. Ele é o sucessor do BSNES.

Um dos objetivos dele é emular com precisão o snes, então ele acaba exigindo um pouco mais do seu hardware (se quer emulador leve, tente o Snes9X). Dizem que ele consegue emular todos os jogos do super nintendo :o

Ele está disponível no repositório do ubuntu, pelo menos na versão 14.04, só procurar por higan na Central de Programas. Se tentar instalar o bsnes, será instalado o higan no lugar, o bsnes se tornou só um pacote "fake". E parece que está atualizado no ubuntu, está na versão 0.94-2.

Instalação rápida pelo terminal:

Código: [Selecionar]
sudo apt-get install higan
Após instalado, você pode escolher o modo em que ele vai atuar: balanced, accuracy, performance. O modo accuracy emula com perfeição o hardware do video game, o performance tem alguns truques para acelerar o processamento (ideal se você tem um hardware fraco), ficando mais rápida a emulação porém menos acurada, e por último o balanced, que tenta manter um equilíbrio entre os dois, essa é o que vem como padrão. Para escolher os modos:

Código: [Selecionar]
sudo update-alternatives --config higan
Escolha 1 para accuracy, 2 para balanced, 3 para performance, ou ainda 0 para o padrão, que é o balanced (após apertar o número, aperte Enter!)


Só para ter uma ideia, Mega Man X3, sem usar filtros, meu core i7-4700HQ, 2.4 GHz, quad core, chega fácil nos 80 °C  no modo accuracy!!! Fica entre 76 à 80 °C. Sem rodar o emulador, a temperatura atualmente fica em torno de 55 °C.

No balanced fica em torno de 65 à 68 °C. No performance, fica em torno de 64 °C.

Para efeito de comparação, o Snes9X fica próximo dos 62 °C.

---

Você precisa ter uma placa de vídeo com suporte ao OpenGL 3.2, eu fui tentar usar a Intel onboard e acusou que não tinha OpenGL 3.2 disponível, daí é só ir no menu Settings -> Configuration, na aba Advance, e trocar Video de OpenGL para SDL. Essa deve ser a situação da maioria, que só tem a placa de vídeo onboard da Intel.

Como eu tenho placa da Nvidia e tecnologia Optimus, deixei usando o OpenGL mesmo, e alterei o menu do Higan para iniciar com o primusrun do Bumblebee (primusrun higan, tente esse comando no terminal, isso para quem tem tecnologia Optimus no notebook, ou seja, Nvidia + onboard da Intel). "Ahh, mas eu não sei o que é bumblebee, eu só instalaei o driver da nvidia lá nos Drivers Adicionais do ubuntu...", bom, ignore o que falei anteriormente, só tente abrir o Higan :)

Se você tem só a placa da Nvidia (um desktop por exemplo, ou notebooks de gamers), tem que ter os drivers da nvidia instalados (não sei se o nouveau dá suporte ao OpenGL 3.2...)

Placa da AMD/ATI? Não sei, não tenho uma :)... mas provavelmente se os drivers estivem instalados, vai funcionar de primeira. E se não tiver driver instalado, não esquente a cabeça e use a opção SDL.

Talvez seja boa opção trocar nessa mesma aba o Audio de Alsa para PulseAudio.

---

Esse emulador trata as suas roms de um jeito um pouco diferente, então atenção. Ele lembra um pouco o jeitão do Mame, pelo fato de ser exigente à qualidade da rom, se tiver faltando alguma rom no jogo, ele vai acusar (mario kart por exemplo, precisa do dsp1b.rom).

Basicamente, ao invés de você ter uma pasta para roms, outra para saves, e etc... você terá uma pasta exclusiva do higan, e dentro dessa pasta terá uma pasta para o Nintendinho (Famicom), Snes (Super Famicom), Game Boy, Game Boy Color, e Game Boy Advance. Dentro de cada uma dessas pastas, terá as pastas de cada jogo que você for importando, e dentro de cada pasta dos jogos você terá a rom e mais alguns arquivos. Então pelo que deu para ver, você não tem muito "poder" de organizar as pastas de roms, ele importa e mantém a organização dele.

Veja as imagens desse link para ter uma ideia: http://byuu.org/higan/features/game-library/

Antes de tentar rodar algum jogo, desconsidere a janela "Game Library" que abriu junto do emulaodor, vá para a janela principal e no menu Settings -> Configuration..., aba Advance, você pode configurar o local onde o Higan irá salvar as roms dele, eu escolhi algo do tipo /home/sergio/Games/Super Nintendo/higan/. Você pode usar o padrão dele, que é /home/seu-usuário/Emulation/, mas eu tenho a minha própria organização para emuladores e roms. No meu caso, dentro da pasta higan, eu perco o controle e a organização é ele que faz, como falei antes.

Resumo dos dois últimos parágrafos: não dá para compartilhar a mesma pasta de roms entre o Snes9X e Higan por exemplo. Você importa o jogo, não compartilha. Se você tem 100 MB de roms, terá mais 100 MB com o Higan.

Logo quando você abre o Higan, abre uma janela "Game Library", você pode importar os jogos diretamente (um à um) pela aba Import, em Import Game. Testei um pouco, funcionou de primeira para Snes, Game Boy e Color. Para o Advance precisa da bios!

---

Para alguns jogos, como mencionado, é necessário roms adicionais para que funcionem:

Código: [Selecionar]
dsp1.rom
dsp1b.rom
dsp2.rom
dsp3.rom
dsp4.rom
st010.rom
st011.rom
st018.rom
cx4.rom

O Higan/Bsnes tenta emular com tanta perfeição o hardware, que ele emula até o DSP contido em alguns cartuchos, esse DSP é basicamente um microcontrolador dedicado à certa tarefa, e essas roms eram a memória interna desses microcontroladores (estes por sua vez são processadores dotados de periféricos, como RAM, conversores digital-analógico, portas seriais e etc...).

Por motivos legais e regras do fórum, não posso postar links para downloads :(, google é seu amigo ;)

Pegando o Super Mario Kart como exemplo, você precisa abrir o arquivo que vem zipado e incluir o  dsp1b.rom, e compactar novamente (ou seja, lá dentro do arquivo zipado ficará no mínimo um arquivo .sfc e o dsp1b.rom). Depois disso, abra o Higan e importe o jogo, não irá mais ter aviso de rom faltando.

---

O legal desse emulador é que ele está disponível no retroarch, então se você instalar esse retroarch no ubuntu ou em um celular com android, vai conseguir acessar o core (núcleo) do Higan.


Mais informações:

http://byuu.org/

http://byuu.org/higan/ (página do projeto)

higan v094 released (fórum)

http://pt.wikipedia.org/wiki/Higan_%28bsnes%29, e aqui em inglês.

https://code.google.com/p/higan/

https://gitorious.org/bsnes
« Última modificação: 10 de Junho de 2014, 01:47 por Sergio Benjamim »
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Offline Sergio Benjamim

  • Usuário Ubuntu
  • *
  • Mensagens: 2.902
    • Ver perfil
Re: Higan - Emulador de Super Nintendo (SNES) e outros
« Resposta #1 Online: 09 de Junho de 2014, 18:12 »
Só à título de curiosidade, teve cara que fez engenharia reversa da rom do DSP do mega man X2 e X3, pelo que entendi chegaram até no código fonte... inacreditável: http://wiki.superfamicom.org/snes/show/Capcom+Cx4+-+Hitachi+HG51B169

Não sei bem ao certo, mas com o código fonte não precisaria usar a rom dos DSP desses cartuchos. Seria mais ou menos o que o Steve Snake fez em relação à Bios do Sega 32X.
« Última modificação: 09 de Junho de 2014, 18:15 por Sergio Benjamim »
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Offline Sergio Benjamim

  • Usuário Ubuntu
  • *
  • Mensagens: 2.902
    • Ver perfil
Re: Higan - Emulador de Super Nintendo (SNES) e outros
« Resposta #2 Online: 10 de Junho de 2014, 01:44 »
Para quem sempre teve curiosidade sobre o Super Game Boy (sgb daqui para frente), vale a pena dar uma conferida usando o Higan.

O procedimento é simples:

- Procure pela bios do sgb, e coloque no mesmo arquivo zipado da rom dele (há 5 roms diferentes, mas basicamente 4 são da primeira versão, e uma da segunda versão desse dispositivo);
- Importe essa rom + bios do sgb no Higan;
- Carregue a rom com 2 cliques ou botão Load;
- A aba do Super Famicom ficará sem jogos, se você reparar tem uma list box no canto direito inferior, estará selecionado no Game Boy;
- Importe um jogo do Game Boy ou Game Boy Color que tinha funcionalidade no Super Game Boy (pokemon blue, red, kirby's Dream Land 2, Donkey Kong, Space Invaders, Tetris DX...);
- Esse jogo irá aparecer na aba do Super Famicom, e não do Game Boy! Então selecione e carregue;
- Pronto! Você irá ver uma tela com o logo do sgb, e após uma borda colorida especial em volta do jogo.

Fico devendo os screenshots...

Pelo que percebi, ele faz proveito do áudio do super nintendo (que é o que acontecia no hardware real), no jogo do kirby você percebe a diferença. Compare com o VBA-M.

Dica: aperte o L ou R do controle do super nintendo, dá para editar a paleta (cor) do jogo!
« Última modificação: 10 de Junho de 2014, 01:50 por Sergio Benjamim »
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !