Última versão do VBA-M

Iniciado por Sergio Benjamim, 20 de Março de 2014, 17:50

tópico anterior - próximo tópico

Sergio Benjamim

O VBA-M, emulador de game boy advance e anteriores, está até hoje em desenvolvimento. A última versão saiu esses dias, versão svn 1229.

Página oficial: http://vba-m.com/

Página de desenvolvimento: https://sourceforge.net/projects/vbam/

A versão disponível no getdeb games se encontra um tanto defasada. Dessa maneira, criei um PPA para essa última versão:

VBA-M Trunk

Eu só fiz pacote para o ubuntu trusty, mas nada impede de adicionar o PPA no sistema e trocar a distro de precise ou saucy para trusty, lá na aba "Outros Softwares", no Software & Updates (é só escolher o PPA previamente instalado, clicar no botão "Editar..." e alterar o Distribution/Distribuição de saucy para trusty, por exemplo). É um truque que costuma dar certo para PPA que não tem dependências, como esse.

Importante: os saves states pelo que notei são incompatíveis com a versão anterior. Faça um backup nos seus saves antes de testar essa versão. Os saves de bateria pelo que sei ainda são compatíveis.

Bom divertimento!
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Olha que maravilha, nosso forum dando frutos, pessoal interessado em aprender foi la e trouxe essa pérola para ser compartilhada conosco, que e esse emulador de GBA e Game Boy!!! Espero que seja o primeiro de muitos desse PPA!!!

Parabens Sergio!!!

Explica como e a experiencia com esse emulador, detalhes que vc percebeu nele, curiosidades, macetes desse sistema, compilação, otimização e como vc criou o seu PPA para incentivar o pessoal a tbm se envolver e criar um PPA ou ajudar com sua aplicação favorita!!!

   
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

#2
Opa Platao

Eu joguei pouco ele, o visual está idêntico ao anterior. Experimentei alguns jogos, tá rodando legal. Uma coisa que percebi é que o config desse vbam-gtk (~/.config/gvbam/config) é meio incompatível com a versão anterior, ao abrir essa versão mais nova ele reconhece a configuração anterior do emulador, mas se você desinstalar esse novo e instalar de volta o antigo, você perde as configurações. Bom, nada demais, é só reconfigurar o emulador, e se não houver problemas com esse novo então não há motivo para se preocupar com isso (já que você não vai voltar na versão anterior).

Outra coisa é em relação ao novo front-end que a equipe está desenvolvendo. A atual, como o próprio nome sugere, usa o GTK. A próxima usará o WxWidgets, e terá como grande vantagem deixar igual a interface entre Linux - Mac - Windows. Se você pegar o código fonte, esse vbam-wx está lá, é possível compilar essa nova interface, mas ela ainda está bem instável. Eu compilei uma vez aqui, mas ao fechar dá um crash nervoso no sistema. Além disso, pelo que me lembro, na hora de você salvar seu jogo, os saves states ficam com uns caracteres estranhos no lugar do nome comum do jogo. Com o vbam-gtk isso não acontece.

Outro grande recurso que pode ser habilitado na hora de compilar é o game link do VBA! Mas esse recurso só se encontra no vbam-wx. Quem já experimentou para windows sabe do que estou falando. Eu consegui usar e trocar uns pokemons entre duas janelas do emulador, só que os dois ficam extremamente lentos. A equipe do VBA-M está trabalhando nisso. E há problema com alguns jogos quando esse recurso está habilitado.

Quando a nova interface e esse recurso do game link estiverem melhores, eu tento fazer um pacote.

Quanto ao empacotamento, eu dei sorte que o código fonte do vbam já estava "debianizado", ou seja, continha a pasta debian/ com vários arquivos de configuração de empacotamento. Mas tive que mudar algumas coisas, o padrão atualizou e o pacote não acompanhou. E várias dependências de compilação estavam furadas (Build-Depends, no arquivo debian/control), troquei pelo que achei nesse link.

Segui o passo à passo desses site, para aprender um pouco sobre empacotamento: http://packaging.ubuntu.com/html/, http://packaging.ubuntu.com/html/packaging-new-software.html, http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.html

Tentei usar o bzr builddeb -- -us -uc para fazer o pacote, e dava vários erros. Esse comando não explicita o que exatamente está errado. Daí parti para o dpkg-buildpackage -rfakeroot -us -uc, e nesse deixava mais claro o que estava acontecendo. Após 2 ou 3 dias tentando, fui entendendo o que tinha de errado no código fonte original, do upstream. Descobri que esse comando é mais exigente que o make, pois com o make eu consigo compilar o vbam-sdl e vbam-gtk, enquanto que com o dpkg-buildpackage só consigo compilar e empacotar o vbam-gtk (e isso se eu alterar o CMakeLists.txt, logo no começo dá para ativar ou desativar vários recursos do emulador). Acontece que o vbam-sdl pede headers (.h) que ainda não existe no código do vbam, mas para o make isso não é problema, já que esses headers não são ativados, depedendendo da configuração do CMakeLists.txt. Mas o dpkg-buildpackage desconsidera isso e verifica tudo, e aí dava erro no empacotamento. Ainda me deparei com outro erro, que foi resolvido apagando os conteúdos relacionados ao vbam-sdl e vbam-wx no debian/control. Mesmo escolhendo compilar somente o vbam-gtk no CMakeLists.txt, na hora de empacotar ele tentava fazer o pacote dos 3 (vbam-gtk, vbam-sdl e vbam-wx), e dava erro na hora de copiar os arquivos dos 2 que não foram compilados para os pacotes. São coisas separadas, e não achei uma solução melhor para vincular tudo. Se você reparar, no vbam do getdeb tem o vbam-sdl, enquanto que no meu ppa não.

Outro erro (meu) que me deparei foi usar o comando bzr dh-make. Esse comando serve para "debianizar" um programa novo (que não tem a pasta debian) e também versionar o código com o bazaar (bzr).

Descobri também que é possível importar código que usa GIT ou SVN para o launchpad, e exportar para Bazaar inclusive. Olha o código do vbam no launchpad: https://code.launchpad.net/~sergio-br2. Depois é só baixar com bzr branch lp:~sergio-br2/vbam/trunk (por exemplo), e começar a fazer as alterações.

Ainda estou aprendendo empacotamento debian, estou achando muito difícil, muita coisa para aprender.

Acabei de instalar o ppa aqui no ubuntu 13.10, e apareceu a atualização do vbam aqui (ou seja, dá certo a dica acima de trocar saucy por trusty).
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Vou tentar colocar um passo à passo aqui. O passo à passo dos links que postei tem coisa faltando ou não está tão explicito.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

O VBA-M tem fórum, é meio vázio e demoram para responder, mas está lá na ativa: http://vba-m.com/forum/index.php

Sou o usuário sergio_br2 lá.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

#5
Semana que vem estou mais folgado e podemos dar uma olhada melhor nesse emulador. ; ) vamos ver como qeu funciona, quero testar tbm, super bacana a sua experiencia Sergio.

*ao clicar na pagina do desenvolvedor quando vamos instalar o pacote deb ele abre esse site http://www.vbam.com.br/
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Citação de: platao online 21 de Março de 2014, 20:56
Semana que vem estou mais folgado e podemos dar uma olhada melhor nesse emulador. ; ) vamos ver como qeu funciona, quero testar tbm, super bacana a sua experiencia Sergio.

*ao clicar na pagina do desenvolvedor quando vamos instalar o pacote deb ele abre esse site http://www.vbam.com.br/

ueh, .com.br? Onde você achou esse link?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Ih caramba, o link da pasta debian/ está furado mesmo. Vou tentar atualizar, tinha outra coisa que tinha que arrumar mesmo. Só queria saber como você acessou isso, eu teria que ir lá na pasta do sistema para ter acesso.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

O link para a pagina do projeto oficial deve estar errada ou a minha maquina esta redirecioanndo para um site br, quando vc vai instalar o pacote no software center do ubuntu, ele mostra esse link na parte de "pagina do desenvolvedor" ao clicar vai para a pagina web;

http://img850.imageshack.us/img850/6092/9zen.png



\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Estou tentando fazer o upload das mudanças, mas está sendo rejeitado pelo Launchpad. Cara, que negócio burocrático.

E eu ainda deletei o pacote anterior, o ppa está vazio...
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Eles sao rigidos com os pacotes para poder entrar para o repositorio, antigamente ja era cobrado varias coisas, hj e mais ainda, mas e para ter segurança. Os pacotes deb que eu faço nunca seriam aceitos, depois do 12.04 tiveram algumas mudanças nesse sentido. Pacotes que eu instalava tranquilamente no 12.04 no 12.10 e 13.04 ja era tidos como de má qualidade.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Tive que subir um número da versão, para poder ser aceito. Agora o pacote está como vbam_1.8.0.1230. Vai ficar diferente da janela do about, acabei esquecendo de mudar. Se bem que não tem diferença entre o svn 1229 e o 1230, pelo menos no branch trunk.

Segue o link do meu branch do vbam, no launchpad: https://code.launchpad.net/~sergio-br2/vbam/fixes

A diferença em relação ao branch trunk do vba-m do sourceforge é só um patch para corrigir o ano de copyright e mudanças no /debian (atualizações).
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Ei Platao, notei que essa versão está com problema nos menus. Vá em Emulation --> Load State ou Save State, não é possível ver o estado salvo (data e hora), é como se você não tivesse salvo nada. Mas ainda assim eu posso escolher, por exemplo o 1º, e continuar o jogo.

Ele também já deu crash 2 vezes aqui, a última fez com que eu perdesse as configurações do emulador. Mas o engraçado é que deu crash na hora de abrir de novo, após eu ter colocado um controle aqui:

gvbam crashed with SIGSEGV in malloc_consolidate()
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Estou conseguindo reproduzir a perda das configurações do emulador:

- Abra o vbam, altere uma configuração (por exemplo: Options/Opções --> Display, altere a "Escala padrão" ou "Default scale" para 2x, o emulador aumenta de tamanho e fica perceptível se perder a configuração)
- Abra uma ROM qualquer, e em seguida feche o emulador
- Abra novamente o vbam, vai notar que você perdeu as configurações

Estou fazendo um backup das configurações, para não ter que ficar alterando toda hora. É o arquivo ~/.config/gvbam/config

Alguém mais com esse problema? Platao?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

#14
Sergio amanha eu vou dar uma olhada nesse emu para ver como que funciona, mas esse erro parece aquele erro que o snes9x e o kega fusion e de varios outros programas tem com o menu global, que, vamos se dizer assim, é imcopativel com a aplicação, principalmente se a aplicação e antiga, e a culpa nao é do aplicativo, é do menu global do ubuntu. A "solução" esta no meu topico sobre o kega fusion http://ubuntuforum-br.org/index.php/topic,87385.0.html

Solução definitiva para o problema do Kega com os menus no 12.04 Precise;

No caso do Fusion e de qualquer aplicativo problematico e so executar;

env UBUNTU_MENUPROXY= local do executavel

No meu ficou;

env UBUNTU_MENUPROXY= /home/ubuntu/Fusion/Fusion

E pronto, somente o Kega vai ter os menus na janela ao invez de usar o menu global.

Isso e um tiro no escuro, nao sei ainda o que esta acontecendo, se e esse o seu problema, nao sei tbm se vc esta usando o ubuntu,(esta com o 14.04?)  a primeira coisa e isolar o problema, mata o compiz e troca o gerenciador de janelas por outro como o openbox, que tem os menus por padrao na janela, se o emulador estiver tudo certinho vc reproduziu o erro e ele estiver ok e funcionar, entao vc ja encontrou o problema.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997