<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Emuladors_Gameboy_%28Mednafen%29</id>
	<title>Emuladors Gameboy (Mednafen) - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Emuladors_Gameboy_%28Mednafen%29"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Emuladors_Gameboy_(Mednafen)&amp;action=history"/>
	<updated>2026-08-30T11:13:48Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Emuladors_Gameboy_(Mednafen)&amp;diff=253960&amp;oldid=prev</id>
		<title>Joan: /* ROMs */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Emuladors_Gameboy_(Mednafen)&amp;diff=253960&amp;oldid=prev"/>
		<updated>2015-12-23T08:18:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;ROMs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
=Gameboy - Gearboy (descartat)=&lt;br /&gt;
==Introducció==&lt;br /&gt;
*https://github.com/drhelius/Gearboy&lt;br /&gt;
==Instal.lació==&lt;br /&gt;
Install and configure SDL 2 for development.&lt;br /&gt;
&lt;br /&gt;
*https://www.libsdl.org/download-2.0.php&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp SDL2-2.0.3.tar.gz pi@192.168.1.35:/home/pi&lt;br /&gt;
$ cd ~/SDL2-2.0.3&lt;br /&gt;
&lt;br /&gt;
Instal.lo les dependències per a la RPi (veure més avall):&lt;br /&gt;
$ sudo apt-get install libudev-dev libasound2-dev libdbus-1-dev  &lt;br /&gt;
$ sudo apt-get install libraspberrypi0 libraspberrypi-bin libraspberrypi-dev&lt;br /&gt;
&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sdl2-config --version&lt;br /&gt;
2.0.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Un cop instal.lada la llibreria SDL 2.0 (de fet ja tenia la versió 2.0.1 instal.lada...), procedeixo a instal.lar l'emulador '''gearboy''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp Gearboy-master.zip  pi@192.168.1.35:/home/pi/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''MILLOR''': En comptes de descarregar el zip també puc baixar l'estat actual del projecte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ svn co https://github.com/drhelius/Gearboy.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A la RPi:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ unzip Gearboy-master.zip&lt;br /&gt;
$ cd ~/Gearboy-master/platforms/raspberrypi/Gearboy&lt;br /&gt;
$ make&lt;br /&gt;
...&lt;br /&gt;
/usr/bin/ld: main.o: undefined reference to symbol 'vc_dispmanx_element_add'&lt;br /&gt;
//opt/vc/lib/libbcm_host.so: error adding symbols: DSO missing from command line&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
Makefile.include:16: recipe for target 'gearboy.bin' failed&lt;br /&gt;
make: *** [gearboy.bin] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Després de bastanta estona dóna un error en la compilació.&lt;br /&gt;
&lt;br /&gt;
Mirar:&lt;br /&gt;
*http://www.raspberrypi.org/forums/viewtopic.php?t=58180&amp;amp;p=437825&lt;br /&gt;
'vc_dispmanx_element_add' té a veure amb OpenGL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finalment afegeixo ''-lbcm_host'' i es soluciona el problema vc_dispmanx_element_add, però aleshores&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ld: ../../../src/audio/Blip_Buffer.o: undefined reference to symbol 'pow@@GLIBC_2.4'&lt;br /&gt;
//lib/arm-linux-gnueabihf/libm.so.6: error adding symbols: DSO missing from command line&lt;br /&gt;
collect2: ld returned 1 e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i la solució està aquí&lt;br /&gt;
*http://archlinuxarm.org/forum/viewtopic.php?t=3839&amp;amp;p=21653&lt;br /&gt;
S'ha d'afegir també -lm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LDFLAGS+=-L$(SDKSTAGE)/opt/vc/lib/ -lm -lbcm_host -lGLESv2 -lEGL -lopenmaxil -lvcos -lvchiq_arm -lrt `sdl2-config --libs`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i es crea l'executable gearboy.bin&lt;br /&gt;
La definició de les tecles està definida a main.cpp&lt;br /&gt;
&lt;br /&gt;
Where is the config file for gearboy? Id like to map the buttons on my custom joystick :(&lt;br /&gt;
It doesn't seem like there is a config file for Gearboy. The keys are hardcoded in src/input.cpp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copiem les ROMs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp * pi@192.168.1.35:/home/pi/roms_gameboy_color&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Les roms ja carreguen correctament:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/pi/Gearboy-master/platforms/raspberrypi/Gearboy/gearboy-bin /home/pi/roms/gb/speedy_gonzales_-_aztec_adventure.gbc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema està en què de moment no funcionen les tecles, que ho hauré d'arreglar. Per tal d'arreglar-ho estudio una mica de SDL2.0 per tal de veure perquè no funcionen els events del teclat. Ho faig a Linux i a la RPi. Segueixo un tutorial de SDL2:&lt;br /&gt;
*[[OpenGL#SDL_2.0_.28necessari_per_compilar_l.27emulador_Gearboy_.28febrer_2015.29]]&lt;br /&gt;
Quan faig una modificació al fitxer ''main.cpp'', per tal de recompilar els fitxers ''main.o'' i ''main.cpp'' sense haver de recompilar tot el projecte (que necessita 20 minuts):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#rm main.o&lt;br /&gt;
#rm gearboy.bin&lt;br /&gt;
cc -Wall -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux  -I../../../src/ -I./ -c main.cpp -o main.o&lt;br /&gt;
&lt;br /&gt;
cc -o gearboy.bin -Wl,--whole-archive main.o ../../../src/MBC2MemoryRule.o ../../../src/Audio.o ../../../src/MBC1MemoryRule.o ../../../src/IORegistersMemoryRule.o ../../../src/audio/Gb_Apu.o ../../../src/MultiMBC1MemoryRule.o ../../../src/GearboyCore.o ../../../src/audio/Multi_Buffer.o ../../../src/audio/Effects_Buffer.o ../../../src/MBC5MemoryRule.o ../../../src/audio/Gb_Apu_State.o ../../../src/audio/Blip_Buffer.o ../../../src/MemoryRule.o ../../../src/Input.o ../../../src/Processor.o ../../../src/Video.o ../../../src/Memory.o ../../../src/Cartridge.o ../../../src/MBC3MemoryRule.o ../../../src/RomOnlyMemoryRule.o ../../../src/CommonMemoryRule.o ../../../src/audio/Sound_Queue.o ../../../src/audio/Gb_Oscs.o ../../../src/opcodes.o ../../../src/opcodes_cb.o -L/opt/vc/lib/ -lm -lbcm_host -lGLESv2 -lEGL -lopenmaxil -lvcos -lvchiq_arm -lrt `sdl2-config --libs` -lstdc++ -Wl,--no-whole-archive -rdynamic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Allò important per tal de què funcioni el teclat és compilar SDL2.0 a la RPi tal com explica el fitxer README-raspberrypi.txt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
===============================================================================&lt;br /&gt;
 Raspbian Build Dependencies&lt;br /&gt;
===============================================================================&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libudev-dev libasound2-dev libdbus-1-dev&lt;br /&gt;
&lt;br /&gt;
You also need the VideoCore binary stuff that ships in /opt/vc for EGL and&lt;br /&gt;
OpenGL ES 2.x, it usually comes pre installed, but in any case:&lt;br /&gt;
    &lt;br /&gt;
sudo apt-get install libraspberrypi0 libraspberrypi-bin libraspberrypi-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTA'''. Finalment, tot i que tenia esperances de què funcionés, el comportament del teclat és molt inestable, va lent i el so és terrible. A més que depèn de SDL2. Tenint en compte de què amb ''mednafen'' funciona Gameboy a temps real i amb un bon so, de moment no hi ha color i descarto Gearboy.&lt;br /&gt;
&lt;br /&gt;
=Gameboy -Gcat (descartat)=&lt;br /&gt;
Només emula la gameboy, no pas la Gameboy color.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://gcat.org.uk/emul/&lt;br /&gt;
$ tar xvzf gcat-gameboy-1.2.tar.gz&lt;br /&gt;
$ cd gcat-gameboy-1.2/&lt;br /&gt;
&lt;br /&gt;
Arrow keys - emulate the Gameboy controller's D-pad&lt;br /&gt;
 A &amp;amp; S      - emulate the Gameboy controller's A and B buttons&lt;br /&gt;
 Space      - emulates the Start button&lt;br /&gt;
 Enter      - emulates the Select button&lt;br /&gt;
 Escape     - exits the emulator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ make&lt;br /&gt;
gcc -c -o emulator.o emulator.c -I/opt/vc/include/ -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I/opt/vc/include/&lt;br /&gt;
gcc -c -o z80.o z80.S&lt;br /&gt;
gcc -c -o gameboy.o gameboy.c&lt;br /&gt;
gcc -o gameboy emulator.o z80.o gameboy.o -L/opt/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host /opt/vc/src/hello_pi/libs/ilclient/libilclient.a&lt;br /&gt;
gcc: error: /opt/vc/src/hello_pi/libs/ilclient/libilclient.a: No such file or directory&lt;br /&gt;
Makefile:10: recipe for target 'gameboy' failed&lt;br /&gt;
&lt;br /&gt;
El que falta és compilar el codi font de /opt/vc/src:&lt;br /&gt;
$ cd /opt/vc/src/hello_pi&lt;br /&gt;
$ rebuild.sh&lt;br /&gt;
i ara ja tenim el fitxer /opt/vc/src/hello_pi/libs/ilclient/libilclient.a&lt;br /&gt;
&lt;br /&gt;
I és que hi ha una alternativa a utilitzar SDL per fer gràfics des de la consola:&lt;br /&gt;
*http://www.raspberrypi.org/forums/viewtopic.php?t=6750&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
My port is intended to run from the command line, with no X server running. It uses EGL/OpenVG to render directly to a fullscreen framebuffer.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i precisament en el directori /opt/vc/src hi ha exemples de com es faria.&lt;br /&gt;
&lt;br /&gt;
Torno a compilar i ara:&lt;br /&gt;
/usr/bin/ld: /opt/vc/lib//libopenmaxil.so: undefined reference to symbol 'vcos_generic_mem_alloc_aligned'&lt;br /&gt;
&lt;br /&gt;
El que provaré és fer &lt;br /&gt;
http://www.raspbian.org/RaspbianXBMC&lt;br /&gt;
&lt;br /&gt;
sudo rpi-update&lt;br /&gt;
    sudo reboot&lt;br /&gt;
&lt;br /&gt;
Install/upgrade build tools and dependencies.&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
i si no em surt enviaré un mail. Un cop fet el rpi-update, update, upgrade, estaria bé tornar a compilar el gearboy.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
No cal tanta història i per tal de què compili s'ha d'afegir -lvcos i -lpthread en el Makefile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CFLAGS+=-DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi -I$(SDKSTAGE)/opt/vc/include/&lt;br /&gt;
&lt;br /&gt;
LDFLAGS+=-L$(SDKSTAGE)/opt/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -lrt -lpthread /opt/vc/src/hello_pi/libs/ilclient/libilclient.a&lt;br /&gt;
&lt;br /&gt;
INCLUDES+=-I$(SDKSTAGE)/opt/vc/include/ -I./ -I/opt/vc/src/hello_pi/libs/ilclient -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux &lt;br /&gt;
&lt;br /&gt;
all: gameboy&lt;br /&gt;
&lt;br /&gt;
gameboy: emulator.o z80.o gameboy.o&lt;br /&gt;
	gcc -o gameboy emulator.o z80.o gameboy.o $(LDFLAGS)&lt;br /&gt;
&lt;br /&gt;
emulator.o: emulator.c&lt;br /&gt;
	gcc -c -o emulator.o emulator.c $(INCLUDES) $(CFLAGS)&lt;br /&gt;
&lt;br /&gt;
gameboy.o: gameboy.c&lt;br /&gt;
	gcc -c -o gameboy.o gameboy.c&lt;br /&gt;
&lt;br /&gt;
z80.o: z80.S&lt;br /&gt;
	gcc -c -o z80.o z80.S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Mednafen (Visualboyadvance)=&lt;br /&gt;
Per tal d'emular Gameboy (gb i gbc), a Piplay es fa servir mednafen. '''mednafen''' és un emulador que emula diferents sistemes i que en la versió piplay-0.8-beta7 ja està configurat. Com que he tingut problemes per fer funcionar i configurar Gearboy, l'emulador de gameboy el faré amb mednafen, i això vol dir partir de la imatge de piplay.&lt;br /&gt;
&lt;br /&gt;
L'emulació de Gameboy a mednafen està basant en VBA-M (Visualboyadvance), que és el projecte actiu:&lt;br /&gt;
*http://sourceforge.net/projects/vbam/&lt;br /&gt;
Però aquest projecte és difícil de compilar sense les eines adequades, i no hi ha cap informació per a la RPi. Per tant, haurem de confiar en la versió de mednafen per a la RPi-&lt;br /&gt;
&lt;br /&gt;
*A piplay-0.8 els emuladors estan a ~/pimame/emulators i concretament ~/pimame/emulators/mednafen. Aquí hi ha ''congigure'', ''Makefile'', i la carpeta ''src/''.&lt;br /&gt;
*A piplay-0.8 les ROMs estan a ~/pimame/roms i concretament ~/pimame/roms/gb&lt;br /&gt;
*A piplay-0.8 el menu inicial està a ~/pimame/pimame-menu, concretament els scripts meny.py i launchmenu.py, i hi ha un fitxer de configuració important que és el '''config.yaml'''. Concretament, la part que afecta al llençament de l'emulador de Gameboy és:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
menu_items:&lt;br /&gt;
...&lt;br /&gt;
  - label: Gameboy&lt;br /&gt;
    visible: Yes&lt;br /&gt;
    roms: /home/pi/pimame/roms/gb/&lt;br /&gt;
    full_path: yes&lt;br /&gt;
    extension: yes&lt;br /&gt;
    command: export LD_LIBRARY_PATH=/home/pi/pimame/dispmanx/build/.libs/ &amp;amp;&amp;amp; /home/pi/pimame/emulators/mednafen/src/mednafen&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per tant, si vull llençar una rom de Gameboy:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export LD_LIBRARY_PATH=/home/pi/pimame/dispmanx/build/.libs/&lt;br /&gt;
$ /home/pi/pimame/emulators/mednafen/src/mednafen /home/pi/pimame/roms/gb/speedy_gonzales_-_aztec_adventure.gbc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I els jocs funcionen correctament i el so, que és important, també.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fitxer de configuració. Mapejat del teclat.&lt;br /&gt;
/home/pi/.mednafen/mednafen-09x.cfg&lt;br /&gt;
cerco per gb (gb i gbc) per cercar totes les configuracions que afecten a Gameboy i Gameboy Color. Per ex, cap a la línia 447:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Enable (automatic) usage of this module.&lt;br /&gt;
gb.enable 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i concretament  m'interessa el mapejat del teclat per adaptar-ho a les meves necessitats.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Exit&lt;br /&gt;
command.exit keyboard 293~keyboard 27&lt;br /&gt;
...&lt;br /&gt;
;gb, Built-In, Gamepad: A&lt;br /&gt;
gb.input.builtin.gamepad.a keyboard 259&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: B&lt;br /&gt;
gb.input.builtin.gamepad.b keyboard 258&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: DOWN ↓&lt;br /&gt;
gb.input.builtin.gamepad.down keyboard 115&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: LEFT ←&lt;br /&gt;
gb.input.builtin.gamepad.left keyboard 97&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: Rapid A&lt;br /&gt;
gb.input.builtin.gamepad.rapid_a&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: Rapid B&lt;br /&gt;
gb.input.builtin.gamepad.rapid_b&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: RIGHT →&lt;br /&gt;
gb.input.builtin.gamepad.right keyboard 100&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: SELECT&lt;br /&gt;
gb.input.builtin.gamepad.select keyboard 9&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: START&lt;br /&gt;
gb.input.builtin.gamepad.start keyboard 13&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: UP ↑&lt;br /&gt;
gb.input.builtin.gamepad.up keyboard 119&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Originalment el mapeig es el següent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXIT: 27 (ESC)&lt;br /&gt;
A: 259 (3 del teclat numèric)&lt;br /&gt;
B: 258 (2 del teclat numèric)&lt;br /&gt;
LEFT: 97 (a)&lt;br /&gt;
RIGHT: 100 (d)&lt;br /&gt;
UP: 119 (w)&lt;br /&gt;
DOWN; 115 (s)&lt;br /&gt;
SELECT: 9 (TAB)&lt;br /&gt;
START: 13 (ENTER)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Canvio la configuració a (màquina de 7 botons):&lt;br /&gt;
*ESC: 0&lt;br /&gt;
*START: 1&lt;br /&gt;
*SELECT: 2&lt;br /&gt;
*B: 3 (a la Gameboy el botó B està a l'esquerre del A)&lt;br /&gt;
*A: 4&lt;br /&gt;
&lt;br /&gt;
Per trobar els keycodes adequats confio en SDL_keysym.h: (tinc una còpia a MAME/docs)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	SDLK_0			= 48,&lt;br /&gt;
	SDLK_1			= 49,&lt;br /&gt;
	SDLK_2			= 50,&lt;br /&gt;
	SDLK_3			= 51,&lt;br /&gt;
	SDLK_4			= 52,&lt;br /&gt;
	SDLK_5			= 53,&lt;br /&gt;
	SDLK_6			= 54,&lt;br /&gt;
...&lt;br /&gt;
	SDLK_UP			= 273,&lt;br /&gt;
	SDLK_DOWN		= 274,&lt;br /&gt;
	SDLK_RIGHT		= 275,&lt;br /&gt;
	SDLK_LEFT		= 276,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I per tant el fitxer de configuració queda:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Exit&lt;br /&gt;
command.exit keyboard 293~keyboard 27~keyboard 48&lt;br /&gt;
...&lt;br /&gt;
;gb, Built-In, Gamepad: A&lt;br /&gt;
gb.input.builtin.gamepad.a keyboard 52&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: B&lt;br /&gt;
gb.input.builtin.gamepad.b keyboard 51&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: DOWN ↓&lt;br /&gt;
gb.input.builtin.gamepad.down keyboard 274&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: LEFT ←&lt;br /&gt;
gb.input.builtin.gamepad.left keyboard 276&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: RIGHT →&lt;br /&gt;
gb.input.builtin.gamepad.right keyboard 275&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: SELECT&lt;br /&gt;
gb.input.builtin.gamepad.select keyboard 50&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: START&lt;br /&gt;
gb.input.builtin.gamepad.start keyboard 49&lt;br /&gt;
&lt;br /&gt;
;gb, Built-In, Gamepad: UP ↑&lt;br /&gt;
gb.input.builtin.gamepad.up keyboard 273&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Un tema interessant és que veig com puc associar vàries tecles a la mateixa funció. Per ex, sortir és el ''0'', però vull que continuï funcionant el Escape:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Exit&lt;br /&gt;
command.exit keyboard 293~keyboard 27~keyboard 48&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I finalment el tema de salvar els estats dóna bastant pel sac, doncs coincideix amb les meves tecles i si ho comento tornen a aparèixer. La solució és canviar el mapping, per exemple afegint un 0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Save state 0 select&lt;br /&gt;
command.0 keyboard 480&lt;br /&gt;
&lt;br /&gt;
;Save state 1 select&lt;br /&gt;
command.1 keyboard 490&lt;br /&gt;
&lt;br /&gt;
;Save state 2 select&lt;br /&gt;
command.2 keyboard 500&lt;br /&gt;
&lt;br /&gt;
;Save state 3 select&lt;br /&gt;
command.3 keyboard 510&lt;br /&gt;
&lt;br /&gt;
;Save state 4 select&lt;br /&gt;
command.4 keyboard 520&lt;br /&gt;
&lt;br /&gt;
;Save state 5 select&lt;br /&gt;
command.5 keyboard 530&lt;br /&gt;
&lt;br /&gt;
;Save state 6 select&lt;br /&gt;
command.6 keyboard 540&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El Speedy Gonzales funciona a les mil meravelles, amb un so perfecte.&lt;br /&gt;
==Instal.lació de Mednafen des de les fonts a la RPi B+==&lt;br /&gt;
He provat de compilar el projecte des de zero però no ha funcionat. Tant se val. El que he de fer és partir de la imatge piplay-0.8-beta9 (que funciona tant per a la RPi B+ com la 2), i netejar tot el que no necessito. Els emulador de GB els faré funcionar a partir del mednafer (el gba ja ho tinc solucionat sense mednafen). M'oblido de compilar des de les fonts.&lt;br /&gt;
&lt;br /&gt;
=ROMs=&lt;br /&gt;
A freeroms.com estan barrejades les roms de la Game Boy original i Color.&lt;br /&gt;
*http://www.freeroms.com/gameboy_color_roms_F.htm&lt;br /&gt;
En canvi a emuparadise.com sí que estan barrejades:&lt;br /&gt;
*http://www.emuparadise.me/Nintendo_Game_Boy_ROMs/Games-Starting-With-D/12&lt;br /&gt;
*http://www.emuparadise.me/Nintendo_Game_Boy_Color_ROMs/11&lt;br /&gt;
&lt;br /&gt;
=Jocs=&lt;br /&gt;
==Jocs importants==&lt;br /&gt;
highest rated a:&lt;br /&gt;
*http://www.freeroms.com/gameboy_color_roms_highest_rated.htm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ultraman (Japan)&lt;br /&gt;
Pokemon De Panepon (Japan)&lt;br /&gt;
Yuu Yuu Hakusho - Makai Touitsu (Japan)&lt;br /&gt;
Kirbys Star Stacker&lt;br /&gt;
Donkey Kong Land Iii (V1.1)&lt;br /&gt;
55 Game Hk&lt;br /&gt;
Gargoyles Quest - Ghostsn Goblins&lt;br /&gt;
Marus Mission&lt;br /&gt;
Tiny Toon Adventures - Babs Big Break&lt;br /&gt;
Nettou King Of Fighters 96 (Japan)&lt;br /&gt;
Pocket Bomberman&lt;br /&gt;
Legend Of Zelda, The - Links Awakening Dx (V1.2) (Italian)&lt;br /&gt;
Who Wants To Be A Millionaire - 2nd Edition&lt;br /&gt;
Mario Bob Demo (Public Domain)&lt;br /&gt;
Magical Drop&lt;br /&gt;
Survival Kids&lt;br /&gt;
Moomins Tale&lt;br /&gt;
Yuu Yuu Hakusho - Ankoku Bujutsu Kai (Japan)&lt;br /&gt;
Mortal Kombat Ii&lt;br /&gt;
Nettou King Of Fighters 96&lt;br /&gt;
Super Donkey Kong Gb (Japan)&lt;br /&gt;
Qix (Usajapan)&lt;br /&gt;
Fushigi No Dungeon - Fuurai No Shiren Gb2 - Sabaku No Majou (Japan)&lt;br /&gt;
Dai-2-Ji Super Robot Taisen G (Japan)[T+Chi]&lt;br /&gt;
Power Rangers - Lightspeed Rescue&lt;br /&gt;
Magic Maze&lt;br /&gt;
Adventures Of Lolo&lt;br /&gt;
Lion King, The - Simbas Mighty Adventure&lt;br /&gt;
Pokemon Trep Edition V0.01 (Blue Hack)&lt;br /&gt;
Qix Adventure&lt;br /&gt;
Magi Nation&lt;br /&gt;
Racing Mini 4wd (Japan)&lt;br /&gt;
V-Rally - Championship Edition&lt;br /&gt;
Hokuto No Ken - Fist Of The North Star (Japan)&lt;br /&gt;
Pokemon Cute V1.4 (Yellow Hack)&lt;br /&gt;
Probotector&lt;br /&gt;
Madden Nfl 2000&lt;br /&gt;
Kaeruno Tameni (Japan)&lt;br /&gt;
Pokemon Puzzle Challenge&lt;br /&gt;
Metroid Ii - Return Of Samus&lt;br /&gt;
Driver - You Are The Wheelman&lt;br /&gt;
G1 King - 3 Biki No Yosouya (Japan)&lt;br /&gt;
Z - The Miracle Of The Zone (Japan)&lt;br /&gt;
Metal Gear - Ghost Babel (Japan)&lt;br /&gt;
Elevator Action&lt;br /&gt;
Kirbys Pinball Land&lt;br /&gt;
Batman Beyond - Return Of The Joker&lt;br /&gt;
Dragon Warrior Monsters 2 - Taras Adventure&lt;br /&gt;
Lufia - The Legend Returns&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Speedy Gonzales: Aztec Adventure (Game Boy - 1999)==&lt;br /&gt;
*https://www.youtube.com/watch?v=HiRj9rNGZrw&lt;br /&gt;
*review: http://www.ign.com/articles/2000/02/03/speedy-gonzales-aztec-adventure-2&lt;br /&gt;
*http://www.gamefaqs.com/gbc/576086-speedy-gonzales-aztec-adventure/cheats&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Effect	Password&lt;br /&gt;
2	6483&lt;br /&gt;
3	2397&lt;br /&gt;
4	9853&lt;br /&gt;
5	5629&lt;br /&gt;
6	5141&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Són 6 temes, i cada tema consta de 3 stages.&lt;br /&gt;
&lt;br /&gt;
...a password is only given at the end of a level, and its pretty tough to get through all three stages and an end-boss on four meager lives, especially since bottomless pits and long rows of deadly spikes are constant obstacles. És a dir, que sembla ser que quan es completa els 3 stages et deu demanar el password.&lt;br /&gt;
&lt;br /&gt;
*[[Fitxer:Speedy gonzales - aztec adventure.zip]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ xxd speedy\ gonzales\ -\ aztec\ adventure\ \(u\)\ \[c\]\[t1\].gbc | more&lt;br /&gt;
...&lt;br /&gt;
0000110: 000c 000d 0008 111f 8889 000e dccc 6ee6  ..............n.&lt;br /&gt;
0000120: dddd d999 bbbb 6763 6e0e eccc dddc 999f  ......gcn.......&lt;br /&gt;
0000130: bbb9 333e 5350 4545 4459 474f 4e5a 4120  ..3&amp;gt;SPEEDYGONZA &lt;br /&gt;
0000140: 2b35 2080 4242 0019 0500 0133 00a8 a06a  +5 .BB.....3...j&lt;br /&gt;
0000150: 01e8 03f3 2100 c8f9 5721 00c0 af22 7cfe  ....!...W!...&amp;quot;|.&lt;br /&gt;
0000160: e020 f979 ea30 c378 ea31 c37a cd04 03fb  . .y.0.x.1.z....&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Shrek: Fairy Tale FreakDown==&lt;br /&gt;
Passwords i trucos de Shrek: Fairy Tale FreakDown (GBC):&lt;br /&gt;
*http://www.gamewinners.com/game_boy_color/Shrek.htm&lt;br /&gt;
{{Autor}}, febrer 2015&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>