este blog tem uma nova casa
Estou migrando para o github. Agora este blog está em http://meleu.github.io/blog/.
Inicialmente este blog foi criado para armazenar algumas dicas e links de UNIX/Linux, OpenVMS, linguagem C, Assembly, TCP/IP e nerdezas afins. No entanto devido ao autor ter abandonado o seu plano de ser um super hacker e dominar o mundo (devido esposa, família, filhos, trabalho), a partir de 2012 este blog tem um tipo de nerdeza mais light (Android, Linux, RetroPie (retrogames), produtividade, e por aí vai). Estas dicas raramente serão criações minhas.
Estou migrando para o github. Agora este blog está em http://meleu.github.io/blog/.
Posted by Unknown at 12:32 0 comments
Estava fazendo um script para abrir um determinado arquivo baseado no que era encontrado através de um find. O problema é que as vezes o find encontrava mais de um arquivo que atendia o critério de busca, e eu gostaria de parar no primeiro arquivo encontrado. Uma rápida googlada e a solução apareceu...
Fazer o comando find parar após o primeiro arquivo encontrado:
find caminho/do/diretorio -name nome-do-arquivo -print -quitSimples assim!
Posted by Unknown at 23:50 0 comments
Estava eu felizinho e tranquilo fazendo um scriptzinho aqui para me ajudar em algumas coisas do trabalho, quando esbarrei no problema da aritmética de datas.
O caso é o seguinte: tenho um arquivo (planilha excel) onde todos os dias preencho várias informações, e às 17h eu tenho que fechar este arquivo e abrir um novo que se encerrará às 17h do dia seguinte. O meu objetivo era fazer um script onde eu pudesse passar uma data na linha de comando e ele já abrisse diretamente o arquivo referente a esta data. Útil para consultar os arquivos de dias anteriores.
O problema que encontrei foi que o nome dos arquivos contem a data de fechamento daquele arquivo e a data anterior, exemplo: "Dados 01-05-2016 a 02-05-2016.xls". Isso é um problema pois não é uma matemática tão simples fazer o script saber qual é o dia anterior de uma determinada data. Alguns meses tem 28, 29, 30 ou 31 dias...
Numa rápida googlada achei uma solução simples, bonita e elegante:
date -d "2016-05-01 - 1 day"
date -d "2016-05-01 - 1 day" +%d-%m-%Y
Posted by Unknown at 01:29 0 comments
OBSERVAÇÕES:
1. Esta dica só vale a pena se for no Raspberry Pi 2, pois o desempenho do fba-libretro no Raspberry Pi B+ é sofrível. Impossível de ter algum prazer jogando.
2. Eu só encontrei utilidade em trocar o PiFBA pelo fba-libretro, pois este roda Street Fighter 3. Do contrário eu permaneceria no PiFBA tranquilamente. Aliás, no meu Rasp antigo eu permaneço com o PiFBA felizão (rodando Street Fighter Alpha 3 suave, por exemplo).
De acordo com o wiki oficial do RetroPie, o PiFBA é baseado no MAME 0.114 (Abril de 2007), enquanto o fba-libretro é baseado no MAME 0.154 (Julho de 2014). E por conta disso a quantidade de ROMs suportadas é maior no fba-libretro.
Para trocar é extremamente simples. Basta editar o arquivo "/opt/retropie/configs/fba/emulators.cfg". Vamos dar uma olhada nele:
pifba="/opt/retropie/emulators/pifba/fba2x %ROM%" default="pifba" lr-fba="/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fba/fb_alpha_libretro.so --config /opt/retropie/configs/fba/retroarch.cfg %ROM%"Como você já deve ter deduzido, para trocar basta trocar o default="pifba" por default="lr-fba".
Lembrando que será necessário configurar os botões [veja o UPDATE no final do post]. Mas como estaremos no libretro, basta usar as ferramentas do retroarch (o arquivo de configuração específico do sistema fica em /opt/retropie/configs/fba/retroarch.cfg). Infelizmente a explicação de como utilizar estas ferramentas não está no escopo deste post.
Se você seguiu a minha dica do post anterior, fique tranquilo que a configuração dos botões para jogos NeoGeo vai continuar funcionando, pois o pifba continuará sendo utilizado para emular NeoGeo.
[UPDATE 10/07/2015]
Segue a configuração de botões otimizada para jogos CAPCOM (nos jogos de NeoGeo vamos continuar usando o PiFBA):
/opt/retropie/configs/fba/retroarch.cfg
#include "/opt/retropie/configs/all/retroarch.cfg" # All settings made here will override the global settings for the current emulator core input_remapping_directory = /opt/retropie/configs/fba/ ### meleu: o botão de hotkey é o select, e isso acaba atrapalhando na hora ### de colocar fichas. Portanto vou mudar o hotkey para L1 e sair do ### emulador com L1+L2 input_enable_hotkey_btn = 6 input_exit_emulator_btn = 4 ### configuracao dos botoes otimizada para jogos de luta CAPCOM input_player1_b_btn = 2 input_player1_a_btn = 5 input_player1_x_btn = 7 input_player1_y_btn = 3 input_player1_l_btn = 0 input_player1_r_btn = 1 input_player2_b_btn = 2 input_player2_a_btn = 5 input_player2_x_btn = 7 input_player2_y_btn = 3 input_player2_l_btn = 0 input_player2_r_btn = 1
Posted by Unknown at 19:10 0 comments
Labels: fba, raspberry pi, retropie
Pra quem não sabe o que é RetroPie e nem Raspberry Pi, eu recomendo uma visita nos seguintes links:
http://blog.petrockblock.com/retropie/
https://www.raspberrypi.org/
OBSERVAÇÃO:
Como o RetroPie é um projeto relativamente novo, algumas coisas estão mudando assim que novas versões são lançadas, como por exemplo arquivos de configuração e os seus respectivos diretórios. Então é bom frisar que o esquema explicado aqui foi realizado no RetroPie 3.0 beta 4 (também testei no 2.6, mas alguns diretórios são diferentes).
### meleu: ARQUIVO DE CONFIGURACAO DOS BOTOES PARA JOGAR JOGOS DA SNK ###
#########################################################################
[Keyboard]
# Get codes from /usr/include/SDL/SDL_keysym.h
A_1=306
B_1=32
X_1=308
Y_1=304
L_1=122
R_1=120
START_1=13
SELECT_1=9
LEFT_1=276
RIGHT_1=275
UP_1=273
DOWN_1=274
QUIT=27
#player 2 keyboard controls, disabled by default
A_2=999
B_2=999
X_2=999
Y_2=999
L_2=999
R_2=999
START_2=999
SELECT_2=999
LEFT_2=999
RIGHT_2=999
UP_2=999
DOWN_2=999
[Joystick]
# Get codes from "jstest /dev/input/js0"
# from package "joystick"
# quadrado = soco fraco
A_1=3
# triangulo = soco forte
B_1=0
# xis = chute fraco
X_1=2
# bolinha = chute forte
Y_1=1
L_1=7
R_1=5
START_1=9
SELECT_1=8
#Joystick axis
JA_LR=0
JA_UD=1
#player 2 button configuration
A_2=3
B_2=0
X_2=2
Y_2=1
L_2=7
R_2=5
START_2=9
SELECT_2=8
#Joystick axis
JA_LR_2=0
JA_UD_2=1
[Graphics]
DisplaySmoothStretch=1
# Display Effect: 0 none, 1 scanlines
DisplayEffect=0
DisplayBorder=0
MaintainAspectRatio=1
[Sound]
### FINAL DO ARQUIVO ###
### meleu: ARQUIVO DE CONFIGURACAO DOS BOTOES PARA JOGAR JOGOS DA CAPCOM ###
############################################################################
[Keyboard]
# Get codes from /usr/include/SDL/SDL_keysym.h
A_1=306
B_1=32
X_1=308
Y_1=304
L_1=122
R_1=120
START_1=13
SELECT_1=9
LEFT_1=276
RIGHT_1=275
UP_1=273
DOWN_1=274
QUIT=27
#player 2 keyboard controls, disabled by default
A_2=999
B_2=999
X_2=999
Y_2=999
L_2=999
R_2=999
START_2=999
SELECT_2=999
LEFT_2=999
RIGHT_2=999
UP_2=999
DOWN_2=999
[Joystick]
# Get codes from "jstest /dev/input/js0"
# from package "joystick"
### meleu: lembrando que eu costumo utilizar um controle de ps2
# A = soco fraco = quadrado
A_1=3
# B = soco forte = triangulo
B_1=0
# X = soco medio = R1
X_1=7
# Y = chute fraco = xis
Y_1=2
# L = chute médio = R2
L_1=5
# R = chute forte = bola
R_1=1
START_1=9
SELECT_1=8
#Joystick axis
JA_LR=0
JA_UD=1
#player 2 button configuration
A_2=3
B_2=0
X_2=7
Y_2=2
L_2=5
R_2=1
START_2=9
SELECT_2=8
#Joystick axis
JA_LR_2=0
JA_UD_2=1
[Graphics]
DisplaySmoothStretch=1
# Display Effect: 0 none, 1 scanlines
DisplayEffect=0
DisplayBorder=0
MaintainAspectRatio=1
[Sound]
### FINAL DO ARQUIVO ###
chown pi.pi /opt/retropie/configs/fba/fba2x.cfg
cp /etc/emulationstation/es_systems.cfg ~/.emulationstation/es_systems.cfg
... <system> <name>neogeo</name> <fullname>Neo Geo</fullname> <path>~/RetroPie/roms/neogeo</path> <extension>.zip .fba .ZIP .FBA</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ neogeo %ROM%</command> <platform>neogeo</platform> <theme>neogeo</theme> </system> ...
<command>(cd /opt/retropie/configs/fba/ && cat fba2x.cfg-neogeo > fba2x.cfg) && /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ neogeo %ROM%</command>
... <system> <name>fba</name> <fullname>Final Burn Alpha</fullname> <path>~/RetroPie/roms/fba</path> <extension>.fba .zip .FBA .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ fba %ROM%</command> <platform>arcade</platform> <theme>fba</theme> </system> ...
<command>(cd /opt/retropie/configs/fba/ && cat fba2x.cfg-capcom > fba2x.cfg) && /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ fba %ROM%</command>
... <!-- ## SISTEMAS QUE NÃO QUERO QUE APAREÇA ## ######################################## <system> <name>amiga</name> <fullname>Amiga</fullname> <path>~/RetroPie/roms/amiga</path> <extension>.sh .SH</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ amiga %ROM%</command> <platform>amiga</platform> <theme>amiga</theme> </system> --> ...
Posted by Unknown at 23:33 1 comments
Labels: emulationstation, fba, games, jogos, neogeo, raspberry pi, retropie