Dica: Como rodar o ZSNES 1.42 no Ubuntu MATE 17.04 x64

1. Dica: Como rodar o ZSNES 1.42 no Ubuntu MATE 17.04 x64

Fernando Di Ramos Carneiro Seixo de Britto
cvv

(usa Debian)

Enviado em 24/08/2017 - 10:43h

Senhores,

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!

IMG: https://vgy.me/zkBfMr.png

Existem algumas informações preciosas na documentação oficial:
http://zsnes-docs.sourceforge.net/text/netplay.txt

Para encontrar pacotes antigos do Ubuntu use:
https://packages.ubuntu.com/
https://launchpad.net/ubuntu

* Como descobrir se o sistema é 64 bits?

# 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!

Bônus 0: Faça download de várias versões do ZSNES

Download do ZSNES em binário para Linux:
https://www.archlinux.org/packages/multilib/x86_64/zsnes/
https://www.archlinux.org/packages/community/i686/zsnes/
https://launchpad.net/ubuntu/+source/zsnes

Download do ZSNES em binário para Windows ou Código Fonte:
http://www.zsnes.com/index.php?page=files
https://sourceforge.net/projects/zsnes/files/zsnes/
https://www.fosshub.com/ZSNES.html
http://zsnes.ipherswipsite.com/
http://zsnes.ipherswipsite.com/special/

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.

IMG: https://vgy.me/zgAbFh.png
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 meu caso: 192.168.1.19

IMG: https://vgy.me/m0MlqK.png
ENABLE - VIRTUAL SERVER; APPLY; ADD

IMG: https://vgy.me/TrH7uS.png
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.

IMG: https://vgy.me/4sC4UA.png
ADVANCED > FIREWALL > FIREWALL - DOS

IMG: https://vgy.me/C0BWLP.png
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:
Hamachi + Haguichi (GUI exclusiva para Linux)
https://www.vpn.net/
https://www.haguichi.net/

SoftEther VPN
http://www.softether.org/5-download

ZeroTier One
https://www.zerotier.com/download.shtml

OpenVPN (server demanda redirecionamento de porta)
https://openvpn.net/index.php/open-source.html

B) Exclusivos para Windows:
EVOLVE
https://www.evolvehq.com/download

TUNNGLE
https://www.tunngle.net/en/download

Windows Native VPN: IKEv2, SSTP, PPTP and L2TP (exigem redirecionamento de portas no pc servidor)
https://technet.microsoft.com/itpro/powershell/windows/remoteaccess/set-vpnserverconfiguration
https://blogs.technet.microsoft.com/networking/2014/01/13/configuring-native-vpn-client-through-pc-s...

Exemplo de configuração de Servidor Windows VPN PPTP (demanda redirecionamento de porta):
https://www.youtube.com/watch?v=8YvHo7dbWUY

Exemplo de configuração de Cliente Windows VPN PPTP (não demanda redirecionamento de porta):
https://www.youtube.com/watch?v=opq8JiFgNyc

Bônus 3: faça auditoria em suas ROMs!
NSRT - v. 3.4
http://nsrt.nachsoftware.org/files.php
http://www.romhacking.net/utilities/400/

NSRT - v. 3.3 - MANUAL
http://zsnes-docs.sourceforge.net/nsrt/

Saúde!


  


2. Re: Dica: Como rodar o ZSNES 1.42 no Ubuntu MATE 17.04 x64

Fernando Di Ramos Carneiro Seixo de Britto
cvv

(usa Debian)

Enviado em 24/08/2017 - 12:20h

SamL escreveu:

cvv, você tem que postar isso como Dica, só clicar ali em cima onde tem ENVIAR e escolha "Dica". O melhor é que ficará à salvo, em tópico com o tempo fica difícil de achar. Sendo Dica fica mais visível.


Ok!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts