Emulador PiSNES a la RPi (SNES)
Contingut
Introducció
Instal.lació
En aquest enllaç ja ve precompilat. Però com es comenta més avall, no té suport per a dos jugadors. I per tant hi ha disponible una modificació i s'ha de tornar a compilar.
Instal.lació per a 2 jugadors
Com es comenta a:
A la rpi
mkdir pisnes2p -> hi fico tot el codi make ... /usr/bin/ld: unix/unix.o: undefined reference to symbol 'clock_gettime@@GLIBC_2.4' //lib/arm-linux-gnueabihf/librt.so.1: error adding symbols: DSO missing from command line en el Makefile, afegeixo a CFLAGS: -lrt (una ela, no una i)
i encara s'han d'afegir més llibreries:
/usr/bin/ld: dsp1.o: undefined reference to symbol 'tan@@GLIBC_2.4' //lib/arm-linux-gnueabihf/libm.so.6: error adding symbols: DSO missing from command line -lm /usr/bin/ld: unix/unix.o: undefined reference to symbol 'snd_pcm_close@@ALSA_0.9' //usr/lib/arm-linux-gnueabihf/libasound.so.2: error adding symbols: DSO missing from command line -lasound
ROMs
Snapshots de les ROMs
En aquesta direcció hi ha molts recursos per descarregar, snapshots de les diferents consoles.
Registre:
- username: joanillo
- joanqc@gmail.com
- jq****
Resolució 640x480
Configuració
Next you are going to use your controller and follow the prompts. If your controller has less buttons than the config tries to setup (My SNES controllers lack the R2/L2, R3/L3, and Joysticks), then you need to select a dummy button (I used left trigger) for the buttons you don’t have. We will edit those out later (llegir-ho tot...). Once this is done, it will bring you back to the terminal.
rom descarregada d'aquí:
Descarrego les ROMs d'aquesta web. El problema està en què la rom està comprimida en format .7z. Descomprimeixo i torno a comprimir en format zip (que no quedin els fitxers dins una carpeta). I aleshores ja funciona:
$ ./snes9x roms Super\ Mario\ Bros.zip
Si renombro el fitxer de manera que no tingui espais en blanc, també funciona. Per ex,
$ ./snes9x roms supermariobros.zip
Si ens fixem, aquestes ROMs contenen molts fitxers a dins. En canvi, la rom que he descarregat de Emuparadise (http://www.emuparadise.me/Super_Nintendo_Entertainment_System_%28SNES%29_ROMs/5) no funciona (dins del zip només hi ha un fitxer en format sfc).
Si vull ficar les roms en el directori estàndar /home/pi/roms/pisnes, com que pisnes m'obliga a què pengi del director roms/ de la instal.lació, faig un soft link:
ln -s /home/pi/roms/snes/ /home/pi/pisnes/roms (primer de tot elimino la carpeta /home/pi/pisnes/roms) Ara: $ ls /home/pi/pisnes/roms Super Double Dragon.7z Super Mario Kart (E).sfc ... però els fitxers realment estan a /home/pi/roms/pisnes
Quantes ROMs hi ha?
The US library is in the 700's. But when you factor in Super Famicom and SNES PAL games, there are easily well over 1,500.
Que representen uns 6GB d'informació.
Convertir molts fitxers .7z to zip. There is an easier way that I just figured out. Try installing atool. Available in the *buntu and Mint repos, or here : *http://www.nongnu.org/atool/
Sample Code:
arepack -e --format={NEWFORMAT} *.{OLDFORMAT}
$ sudo apt-get install atool $ arepack -e --format=zip *.7z $ scp *.zip pi@192.168.1.35:/home/pi/pisnes/roms
Per reemplaçar els espais en blanc per _
for f in *\ *; do mv "$f" "${f// /_}"; done
Resum
Tinc vàries fonts de les roms, i bàsicament funcionen totes. El format .7z no funciona, però el que s'ha de fer és descomprimir i tornar a comprimir amb zip.
La font més grossa de ROMs són els 3 arxius SNES.complete.romset.(No-Intro.dat.2005-07-17).[-#-H].7z (que contenen entre els 3 un total de 5G). Faré servir aquests, que són arxius .sfc. Però he de filtrar doncs molts d'ells estan repetits (agafaré preferentment l'opci-o (E), i també s'han de renombrar. D'entrada el que faig és carregar-me tots els que són (J).
Millors jocs
Els millors jocs de SNES: (per ordre)
The Legend of Zelda: A Link To The Past Super Mario World Super Mario Kart Donkey Kong Country Super Metroid Chrono Trigger Super Mario RPG Mega Man X Star Fox Donkey Kong Country 2 Final Fantasy VI Turtles in Time Street Fighter II: Turbo Super Mario World 2: Yoshi's Island Mortal Kombat II Final Fantasy IV Mortal Kombat Earthworm Jim Super Castlevania IV Secret of Mana F-Zero Kirby's Dream Land 3 Earthworm Jim 2 Earthbound Contra III: The Alien Wars
Altres (llibre):
ActRaiser Pilotwings Super Tennis The Legend of the Mystical Ninja Pinball Dreams Cybernator Axelay Plok Breath of Fire II Unirally Super Punch-Out!! Chrono Trigger Harvest Moon Donkey Kong Country 3
'up arrow' Up direction
'down arrow' Down direction
'left arrow' Left direction
'right arrow' Right direction
's' X button
'x' Y button
'd' A button
'c' B button
'a' TL button
'f' TR button
'return' Start button
'tab' Select button
'backspace' Turbo
'escape' Quit
F1-F4 Quickload 1-4
Shift F1-F4 Quicksave 1-4
The joystick layout defaults to Saitek P380 button layout.
Additionally to quit with the joystick you can press SELECT+START.
All controls are configurable by editing the "snes9x.cfg" file.
---TL--- ---TR---
^ X
|
<- -> Y A
| / /
v B
SNES no té botons de COIN/CREDIT. En canvi té els botons de SELECT i START
*https://es.answers.yahoo.com/question/index?qid=20120322202149AA1KnTt
Por lo general estan acomodados 3 arriba y 3 abajo, los de arriba son Golpes: Débil, Medio y Fuerte y los de abajo Patadas Débil, Media y Fuerte:
Sería algo así:
GD - GM - GF
PD - PM - PF
G = Golpe, P= Patada. En Sner si mal no recuerdo los botones quedan así:
Y = GD
X = GM
L = GF
B = PD
A = PM
R = PF
Las máquinas de Arcade de KI originales NO traen botones A,B,C,D,E,F. Ni siquiriera el NeoGeo el cual solo trae A,B,C,D.
Fixar-se que a SNES no hi ha botó de crèdit, i tampoc es distingeix entre 1player, 2 player
Botons
pisnes/snes9x.cfg:
[Keyboard] # Get codes from /usr/include/SDL/SDL_keysym.h A_1=51 B_1=52 X_1=54 Y_1=55 L_1=53 R_1=56 START_1=49 SELECT_1=50 LEFT_1=276 RIGHT_1=275 UP_1=273 DOWN_1=274 QUIT=48 ACCEL=8
Però no admet 2 jugadors. Però la solució està aquí:
i per tant SNES serà un emulador que s'ha d'implementar en les màquines de 2 jugadors.
Configuració 2 jugadors: (pisnes2p/snes9x.cfg)
[Keyboard] # Get codes from /usr/include/SDL/SDL_keysym.h A_1=51 B_1=52 X_1=54 Y_1=55 L_1=53 R_1=56 START_1=49 SELECT_1=50 LEFT_1=276 RIGHT_1=275 UP_1=273 DOWN_1=274 QUIT=48 ACCEL=8 #player 2 keyboard controls A_2=97 B_2=98 X_2=100 Y_2=101 L_2=99 R_2=102 START_2=57 SELECT_2=50 LEFT_2=106 RIGHT_2=108 UP_2=105 DOWN_2=107
creat per Joan Quintana Compte, febrer 2015