Acabei de postar esta solução em outro forum, que é moderado e não sei se ela será aceita... demorei muito tempo para achar essa solução e gostaria de compartilha-la com o mundo! Estou usando o Linux como meu SO principal apenas a 3 meses. Estou muito longe de ser um especialista. Espero que minhas dificuldades inicias sejam semelhantes a de outros iniciantes - o público alvo deste tópico.
Para instalar o ZSNES 1.42 no Ubuntu MATE 17.04 x64
# Adicione suporte a programas 32 bits no seu sistema 64 bits**, talvez seja necessário re-inciar
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install multiarch-support
# Faça o download da brincadeira toda
wget -c http://old-releases.ubuntu.com/ubuntu/pool/multiverse/z/zsnes/zsnes_1.420-2ubuntu1_i386.deb
wget -c http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.50-1ubuntu2.14.04.2_i386.deb
# Crie uma pasta e descompacte o conteúdo
mkdir zsnesvelho
dpkg-deb -R libpng12-0_1.2.50-1ubuntu2.14.04.2_i386.deb zsnesvelho
dpkg-deb -R zsnes_1.420-2ubuntu1_i386.deb zsnesvelho
# Copie os arquivos importantes para a raiz da nova posta
cp ./zsnesvelho/usr/bin/zsnes ./zsnesvelho/zsnes
cp ./zsnesvelho/lib/i386-linux-gnu/libpng12.so.0.50.0 ./zsnesvelho/libpng12.so.0
# Vá para dentro da pasta certa e vamos começar a brincar
cd zsnesvelho
LD_LIBRARY_PATH="./:$LD_LIBRARY_PATH" ./zsnes
Você viu? A magia já aconteceu!
# Chame o zsnes modificando o LD_LIBRARY_PATH para o diretório que contenham a biblioteca libpng12.so.0
LD_LIBRARY_PATH="/home/fernando/Downloads/zsnesvelho:$LD_LIBRARY_PATH" ./zsnes
O trecho '/home/fernando/Downloads/zsnesvelho' diz respeito ao meu computador. Os ilustríssimos presentes precisam modificar o endereço de modo coerente com a disposição dos arquivos presentes em vossas máquinas.
São poucas linhas... mas demorei alguns dias para descobri-las. E se não achasse difícil a jornada de descoberta não teria criado este tópico.
Alguém poderia se perguntar por que usar a versão 1.42 ao invés da versão 1.51. A razão é simples: a versão 1.42 foi a última versão oficialmente lançada do ZSNES com suporte nativo ao Netplay. Eu aqui no Goiás usando Linux com ajuda de um amigo em São Paulo usando Windows, testamos as versões do ZSNES 1.42, 1.42N e o Snes9x 1.54.1 via internet.
Tivemos subjetivamente melhor desempenho usando ZSNES 1.42 (sem o N. A versão N em teoria deveria ter melhor desempenho em rede mas não notamos melhoria). Além disso, só fomos capazes de jogar com a opção "USE UDP INSTEAD OF TCP" desmarcada!
# Execute e descubra a arquitetura: "i386" é 32 bits. "amd64" é 64 bits.
dpkg --print-architecture
# Execute e descobra se estão instaladas arquiteturas alternativas: "i386" é esperado se seguiu o tutorial.
dpkg --print-foreign-architectures
# Caso queira instalar versões 32 bits no seu sistema 64, adicione ":i386" após o nome do pacote.
sudo apt-get install NomeDoPacote:i386
# Veja mais em: https://wiki.debian.org/Multiarch/HOWTO
** Como descobrir as bibliotecas necessárias pelo aplicativo?
ldd ./zsnes
*** Como compilar o ZSNES i386 no Ubuntu MATE 17.04 x64?
# Ha! Zueira, mano! Não faça isso com você mesmo. Pegue o binário e seja feliz!
Caso tenha gostado da solução, distribua-a como preferir, sem me consultar. Pode inclusive dizer quer foi você quem a descobriu! Não me importo. Seja feliz!
Instalar a versão atualizada do ZSNES numa distribuição GNU/Linux Ubuntu é suave:
# Atualize a lista de pacotes disponíveis
sudo apt-get update
# Instale a versão mais nova do ZSNES
sudo apt-get install zsnes
Executar qualquer versão para Windows nos Ubuntus também é bem tranqüilo:
# Atualize a lista de pacotes disponíveis
sudo apt-get update
# Instale o Play On Linux e através dele instale a versão do Wine que preferir
sudo apt-get install playonlinux
# Instale o Winetricks para instalar bibliotecas Windows facilmente
sudo apt-get install winetricks
# Vá para a pasta com o emulador Windows descompactado:
wine ./zsnes.exe
Bônus 1: faça redirecionamento de portas em seu router! (exemplo: Technicolor ADSL Router TD5130v2)
A) Acesse seu modem/router através do navegador em posse do usuário e senha.
B) Configure o servidor virtual usando as portas do seu emulador, no caso 7845, e o ip interno da sua máquina, de preferência estático, no meu caso: 192.168.1.19