<?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=PlayStation_1%3A_pcsx-reARMed</id>
	<title>PlayStation 1: pcsx-reARMed - 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=PlayStation_1%3A_pcsx-reARMed"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PlayStation_1:_pcsx-reARMed&amp;action=history"/>
	<updated>2026-08-30T11:19:44Z</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=PlayStation_1:_pcsx-reARMed&amp;diff=254357&amp;oldid=prev</id>
		<title>Joan: /* Els millors jocs */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=PlayStation_1:_pcsx-reARMed&amp;diff=254357&amp;oldid=prev"/>
		<updated>2016-04-05T10:48:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Els millors jocs&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;
=Introducció=&lt;br /&gt;
*https://github.com/notaz/pcsx_rearmed&lt;br /&gt;
Hem de compilar a la RPi2. No cal provar-ho a la Rpi B+.&lt;br /&gt;
=Compilació=&lt;br /&gt;
Descarreguem el projecte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone --recursive https://github.com/notaz/pcsx_rearmed.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./configure &lt;br /&gt;
architecture        arm&lt;br /&gt;
platform            generic&lt;br /&gt;
built-in GPU        unai&lt;br /&gt;
sound drivers        oss alsa pulseaudio sdl&lt;br /&gt;
plugins             gpu_gles.so gpu_unai.so gpu_peops.so spunull.so &lt;br /&gt;
C compiler          gcc&lt;br /&gt;
C compiler flags     -mfpu=vfp -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -Wno-unused-result&lt;br /&gt;
libraries           -L/usr/lib/arm-linux-gnueabihf -lSDL -lpulse -lasound -lpng  -ldl -lm -lpthread -lz&lt;br /&gt;
linker flags        &lt;br /&gt;
enable dynarec      yes&lt;br /&gt;
ARMv7 optimizations no&lt;br /&gt;
enable ARM NEON     no&lt;br /&gt;
TI C64x DSP support no&lt;br /&gt;
tslib support       yes&lt;br /&gt;
OpenGL ES output    yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Compila sense problemes a la RPi2.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ ./pcsx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''NOTA''': el mateix codi (pcsx_rearmed) l'he compilat i funciona en el portàtil, encara que no sigui arquitectura ARM. Per tant, puc practicar la configuració en el portàtil.&lt;br /&gt;
&lt;br /&gt;
=Execució i configuració=&lt;br /&gt;
La primera vegada que executem ens avisa de què no tenim la ''bios file'', que s'ha de copiar a la carpeta ''bios/''.&lt;br /&gt;
&lt;br /&gt;
Llegir:&lt;br /&gt;
*https://github.com/notaz/pcsx_rearmed/blob/master/readme.txt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The emulator can simulate BIOS, which means BIOS files are not required,&lt;br /&gt;
however implementation is not complete and some games still need real BIOS&lt;br /&gt;
to work. To use real BIOS, copy uncompressed BIOS files to bios/ directory&lt;br /&gt;
which itself should be in main emulator directory.&lt;br /&gt;
&lt;br /&gt;
When the file is copied, BIOS should be selected in Options-&amp;gt;BIOS/Plugins menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Descarrego la BIOS de http://www.freeroms.com, que conté el fitxer bios.bin&lt;br /&gt;
&lt;br /&gt;
(i tinc una altra versió, que conté moltes bios?)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp PSX.zip  pi@192.168.1.38:/home/pi/pcsx_rearmed/bios&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i descomprimim&lt;br /&gt;
&lt;br /&gt;
Descarrego les ROMs de&lt;br /&gt;
*http://www.freeroms.com&lt;br /&gt;
Per exemple, provo Ace Combat 2 (345MB).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./pcsx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Puc navegar pel menú i escollir la rom (no és una rom, és un CD image). Puc veure una mica com funciona tot això.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./pcsx --help&lt;br /&gt;
PCSX-ReARMed r22-7-gcc37681&lt;br /&gt;
 pcsx [options] [file]&lt;br /&gt;
	options:&lt;br /&gt;
	-cdfile FILE	Runs a CD image file&lt;br /&gt;
	-cfg FILE	Loads desired configuration file (default: ~/.pcsx/pcsx.cfg)&lt;br /&gt;
	-psxout		Enable PSX output&lt;br /&gt;
	-load STATENUM	Loads savestate STATENUM (1-5)&lt;br /&gt;
	-h -help	Display this message&lt;br /&gt;
	file		Loads a PSX EXE file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per executar el Ace Combat 2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./pcsx -cdfile /home/pi/roms/pcsx/ace_combat_2.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El fitxer de configuració està a: (per tal de què es creï el fitxer hem de fer ''Save Global Config'')&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/pi/pcsx_rearmed/.pcsx/pcsx.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i aquí tinc totes les opcions per les quals puc navegar en el menú. Les opcions més importants són:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bios = bios.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
És possible que si algun joc no funciona amb aquesta bios, en pugui escollir una altra per la qual sí que funciona. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plat_target.vout_fullscreen = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Els controls per defecte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
binddev = sdl:keys&lt;br /&gt;
bind backspace = Fast Forward&lt;br /&gt;
bind escape = Enter Menu&lt;br /&gt;
bind c = player1 SELECT &lt;br /&gt;
bind d = player1 TRIANGLE&lt;br /&gt;
bind e = player1 L2&lt;br /&gt;
bind r = player1 R1&lt;br /&gt;
bind s = player1 SQUARE&lt;br /&gt;
bind t = player1 R2&lt;br /&gt;
bind v = player1 START&lt;br /&gt;
bind w = player1 L1   &lt;br /&gt;
bind x = player1 CIRCLE&lt;br /&gt;
bind z = player1 CROSS &lt;br /&gt;
bind up = player1 UP   &lt;br /&gt;
bind down = player1 DOWN&lt;br /&gt;
bind right = player1 RIGHT&lt;br /&gt;
bind left = player1 LEFT  &lt;br /&gt;
bind f1 = Save State&lt;br /&gt;
bind f2 = Load State&lt;br /&gt;
bind f3 = Prev Save Slot&lt;br /&gt;
bind f4 = Next Save Slot&lt;br /&gt;
bind f5 = Toggle Frameskip&lt;br /&gt;
bind f6 = Take Screenshot &lt;br /&gt;
bind f7 = Show/Hide FPS   &lt;br /&gt;
bind f11 = Toggle fullscreen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Sortir del joc i de l'emulador amb el 0===&lt;br /&gt;
En la configuració per defecte, la tecla important és la ESC per entrar en el menú. Des del joc, puc entrar en el menú i escollir Exit (amb Enter). Des del frontend de l'emulador el mateix. El meu objectiu és que sempre entraré directament a un joc, i que amb el botó ''0'' surto del joc i de l'emulador.&lt;br /&gt;
&lt;br /&gt;
Com és habitual utilitzem el ''find'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ find /home/joan/ -type f -print | xargs egrep -i MA_MAIN_EXIT | more&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./frontend/menu.c:	MA_MAIN_EXIT,&lt;br /&gt;
./frontend/menu.c:	case MA_MAIN_EXIT:&lt;br /&gt;
./frontend/menu.c:		emu_core_ask_exit();&lt;br /&gt;
./frontend/menu.c:	mee_handler_id(&amp;quot;Exit&amp;quot;,               MA_MAIN_EXIT,        main_menu_handler),&lt;br /&gt;
&lt;br /&gt;
./frontend/main.c:	printf(&amp;quot;Exit..\n&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
menu.c, línia 2230&lt;br /&gt;
	case MA_MAIN_EXIT:&lt;br /&gt;
		emu_core_ask_exit();&lt;br /&gt;
		return 1;&lt;br /&gt;
		&lt;br /&gt;
menu.c, línia 2280&lt;br /&gt;
mee_handler_id(&amp;quot;Exit&amp;quot;,               MA_MAIN_EXIT,        main_menu_handler),&lt;br /&gt;
&lt;br /&gt;
main.c, línia 644&lt;br /&gt;
	while (!g_emu_want_quit) -&amp;gt; aquest és el bucle principal&lt;br /&gt;
	{ ... }&lt;br /&gt;
&amp;lt;/pre&amp;gt;	&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./frontend/menu.c:	} while (!ready_to_go &amp;amp;&amp;amp; !g_emu_want_quit);&lt;br /&gt;
./frontend/main.h:extern int ready_to_go, g_emu_want_quit, g_emu_resetting;&lt;br /&gt;
./frontend/main.c:int ready_to_go, g_emu_want_quit, g_emu_resetting;&lt;br /&gt;
./frontend/main.c:	g_emu_want_quit = 1;&lt;br /&gt;
./frontend/main.c:	while (!g_emu_want_quit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
main.c, línia 449&lt;br /&gt;
void emu_core_ask_exit(void)&lt;br /&gt;
{&lt;br /&gt;
	stop = 1;&lt;br /&gt;
	g_emu_want_quit = 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
main.c, línia 645&lt;br /&gt;
	while (!g_emu_want_quit)&lt;br /&gt;
	{&lt;br /&gt;
		stop = 0;&lt;br /&gt;
		emu_action = SACTION_NONE;&lt;br /&gt;
&lt;br /&gt;
		psxCpu-&amp;gt;Execute();&lt;br /&gt;
		if (emu_action != SACTION_NONE)&lt;br /&gt;
			do_emu_action();&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aquest és el bucle principal del joc. do_emu_action(); representa que el joc està funcionant (o més aviat psxCpu-&amp;gt;Execute();)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./frontend/main.c:void do_emu_action(void)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ja ho tinc: '''main.c, línia 173'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	case SACTION_ENTER_MENU:&lt;br /&gt;
		toggle_fast_forward(1);&lt;br /&gt;
		menu_loop();&lt;br /&gt;
		return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
queda de la següent manera:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	case SACTION_ENTER_MENU:&lt;br /&gt;
		g_emu_want_quit = 1; //CANVI&lt;br /&gt;
		toggle_fast_forward(1);&lt;br /&gt;
		//menu_loop(); //CANVI&lt;br /&gt;
		return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i ara només falta en el fitxer de configuració, dir que la tecla per entrar al menú no és ESC sinó també el 0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bind escape = Enter Menu&lt;br /&gt;
bind 0 = Enter Menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per tornar a compilar només cal fer ''make'' una altra vegada.&lt;br /&gt;
&lt;br /&gt;
Ja podem entrar al joc, i en fer ''0'' sortim del joc (i de l'emulador):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./pcsx -cdfile /home/pi/roms/pcsx/ace_combat_2.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Configuració dels botons===&lt;br /&gt;
[[Fitxer:Mando psx.jpg|thumbnail]]&lt;br /&gt;
Si vull recordar el layout del mando de PSX he de canviar la configuració tradicional que he estat fent dels botons: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    *TR     *L1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*QU      *ROD     *R1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    *CR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per al Player1, el Start és el botó P1, i el Select el botó de COIN. No disposo dels botons de L2 i R2.&lt;br /&gt;
&lt;br /&gt;
Per al Player2, és el mateix, però el problema és que no disposo de dos botons de COIN. La solució és fer dos botons de select (select1 i select2), i que el primer sigui COIN. Per tant, tinc un altre botó, que seria el ''G''.&lt;br /&gt;
&lt;br /&gt;
Amb aquesta configuració puc jugar als jocs de MAME. El que sí que s'ha de mirar és la configuració de SNES i MegaDrive, que potse ara és més intuïtiva.&lt;br /&gt;
&lt;br /&gt;
Player 1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   *1-P1START    *2-SEL1/COIN&lt;br /&gt;
&lt;br /&gt;
    *TR-7   *L1-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*QU-6    *ROD-4   *R1-5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    *CR-3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Player 2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   *G-SEL2/COIN    *9-P2START&lt;br /&gt;
&lt;br /&gt;
    *TR-E   *L1-F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*QU-D    *ROD-B   *R1-C&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    *CR-A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I el fitxer de configuració quedaria de la següent manera:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ joe .pcsx/pcsx.cfg&lt;br /&gt;
&lt;br /&gt;
bind escape = Enter Menu&lt;br /&gt;
bind 0 = Enter Menu&lt;br /&gt;
bind 1 = player1 START&lt;br /&gt;
bind 2 = player1 SELECT&lt;br /&gt;
bind 9 = player2 START&lt;br /&gt;
bind g = player2 SELECT&lt;br /&gt;
&lt;br /&gt;
bind 3 = player1 CROSS &lt;br /&gt;
bind 4 = player1 CIRCLE&lt;br /&gt;
bind 5 = player1 R1&lt;br /&gt;
bind 6 = player1 SQUARE&lt;br /&gt;
bind 7 = player1 TRIANGLE&lt;br /&gt;
bind 8 = player1 L1&lt;br /&gt;
bind e = player1 R2&lt;br /&gt;
bind w = player1 L2   &lt;br /&gt;
&lt;br /&gt;
bind left = player1 LEFT&lt;br /&gt;
bind right = player1 RIGHT&lt;br /&gt;
bind up = player1 UP   &lt;br /&gt;
bind down = player1 DOWN&lt;br /&gt;
&lt;br /&gt;
bind a = player2 CROSS &lt;br /&gt;
bind b = player2 CIRCLE&lt;br /&gt;
bind c = player2 R1&lt;br /&gt;
bind d = player2 SQUARE&lt;br /&gt;
bind e = player2 TRIANGLE&lt;br /&gt;
bind f = player2 L1&lt;br /&gt;
bind u = player2 R2&lt;br /&gt;
bind y = player2 L2  &lt;br /&gt;
&lt;br /&gt;
bind j = player2 LEFT&lt;br /&gt;
bind l = player2 RIGHT&lt;br /&gt;
bind i = player2 UP   &lt;br /&gt;
bind k = player2 DOWN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Els millors jocs=&lt;br /&gt;
*http://www.usgamer.net/articles/20-ps1-games-we-want-to-play-on-playstation-now&lt;br /&gt;
*http://retro-sanctuary.com/Top-100-PS1-Games-Page-1.html&lt;br /&gt;
*http://www.denofgeek.com/games/playstation/29182/the-top-50-underappreciated-ps1-games&lt;br /&gt;
Els jocs els puc descarregar de:&lt;br /&gt;
*http://www.freeroms.com/psx_roms_G.htm&lt;br /&gt;
*http://www.theisozone.com/downloads/playstation/psx-isos&lt;br /&gt;
=Muntar el llapis USB=&lt;br /&gt;
Està explicat aquí:&lt;br /&gt;
*[[Raspberry_Pi#Muntar_una_mem.C3.B2ria_USB_Flash_.28pen_drive.29]]&lt;br /&gt;
Funciona bé, tot i que surt la icona de què consumeix corrent i la font d'alimentació va justa. Per tant, el millor seria continuar utilitzant una targeta SD amb la més capacitat possible, i escollir només els millors jocs. Però es pot utilitzar un USB i muntar-lo.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, març 2016&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>