Senhores,
estou usando o
Linux como meu SO principal há apenas 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 à programas 32 bits no seu sistema 64 bits**, talvez seja necessário reiniciar:
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 contenha 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!
Existem algumas informações preciosas na documentação oficial:
Para encontrar pacotes antigos do Ubuntu use:
Como descobrir se o sistema é 64 bits?
Execute e descubra a arquitetura: "i386" é 32 bits e "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!
Bônus 0: Faça download de várias versões do ZSNES
Download do ZSNES em binário para Linux:
Download do ZSNES em binário para Windows ou código fonte:
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:
[CODE]
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.
ADVANCED > NAT > NAT SETUP - VIRTUAL SERVER
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 [B]meu[/B] caso: 192.168.1.19
ENABLE - VIRTUAL SERVER; APPLY; ADD
ENABLE - VIRTUAL SERVER RULE; RULE NAME: ZSNES; PORTS: 7845; PROTOCOL TYPE: TCP/UDP; PRIVATE IP ADDRESS: <SEU IP EM LAN>
C) Libere a comunicação no firewall do router. São poucos os equipamentos que demandam este passo. É o caso deste.
ADVANCED > FIREWALL > FIREWALL - DOS
DISABLE - PING OF DEATH; DISABLE - TCP Syn Flooding; APPLY
Bônus 2: use VPN gratuitas para não precisar usar redirecionamento de portas
A) Para Windows e Linux:
B) Exclusivos para Windows:
Exemplo de configuração de servidor Windows VPN PPTP (demanda redirecionamento de porta):
Exemplo de configuração de cliente Windows VPN PPTP (não demanda redirecionamento de porta):
Bônus 3: faça auditoria em suas ROMs!
NSRT - v. 3.4:
NSRT - v. 3.3 - MANUAL:
Saúde!