Puede que tengas un netbook con atom de los de 2009 con 1GB de RAM, o un Pentium 4 con SSE2. Quieres instalar OpenBSD i386 porque es un sistema a prueba de futuribles errores. Y claro está, quieres emular viejos clásicos de PSX en el. En Linux es fácil, compilas o instalas pcsx-rearmed y la velocidad subirá de forma estratosférica, mucho más rápido y compatible que los viejos Bleem, VCS o Epsxe. Y en el sistema del pez con púas? Pues podemos aprovechar pcsx4all, un desarrollo original para la GP2WIZ o la GP32, antiguas consolas con una cantidad enorme de homebrew libre u opensource. Pero como usa SDL2 y librerías conocidas, se puede compilar en OpenBSD perfectamente. Necesitamos meter las dependencias de SDL 1.2 o SDL2, según queramos una versión u otra. La SDL1.2 puede que vaya ligeralmente más rápida, pero la SDL2 escalará mejor. Para meter dependencias de SDL1: doas pkg_add git sdl-1.2.15 sdl-gfx sdl-image sdl-mixer sdl-net sdl-sound sdl-ttf Para meter las de SDL2: doas pkg_add git sdl2 sdl2-gfx sdl2-image sdl2-mixer sdl2-net sdl2-ttf gmake Bajamos los repos desde git, bajamos y aplicamos un parche para cada uno para que compile bien en OpenBSD: mkdir -p ~/src cd ~/src git clone https://github.com/Ninoh-FOX/PCSX4ALL pcsx4all-sdl cd pcsx4all-sdl ftp https://caja.texto-plano.xyz/anthk/random/obsd.patch git apply obsd.patch cd ~/src/ git clone https://github.com/mntmn/pcsx4all pcsx4all-sdl2 cd pcsx4all-sdl2 ftp https://caja.texto-plano.xyz/anthk/random/obsd2.patch git apply obsd2.patch Compilamos pcsx4all versión SDL1: cd ~/src/pcsx4all-sdl #gmake -f Makefile.linux gmake -f Makefile.linux Compilamos pcsx4all versión SDL2: cd ~/src/pcsx4all-sdl2 gmake -f Makefile.obsd En ambos casos se nos habrá creado un programa llamado ./pcsx4all La forma de lanzarlo es el mismo en ambos directorios: ./pcsx4all Pero cambian las cosas respecto a uno y otro. En el primero se usa F10 para ir al menú del programa mientras estamos en el juego, en el segundo tras usar F10 se usa 'b' o 'n' para volver atrás. Con F11 se puede acceder al menú de guardar y cargar el estado del emulador en 'savestates'. Por lo general la configuración es la misma. Los controles en ambos son así: e: arriba d: abajo s: izquierda f: derecha n: select m: start j: [] k: x l: () i: /\ w: L1 r: L2 u: R1 o: R2 Si queréis cambiarlo, ha de hacerse a mano y recompilar, editando el archivo src/port/sdl/port.cpp y cambiando el valor SDLK_letra, donde letra es la tecla a pulsar viendo a la derecha el valor que establece. Creo que los valores están más que claros, no hace falta saber mucho de C++. En sdl/port/sdl/port.cpp también tenéis que tocarlo, pero para los menús. Teclas abxy: como Super Nintendo: a: Círculo b: X x: Triángulo y: Cuadrado Esos botones son para manejar los menús. Si usáis el emulador entenderéis perfectamente los valores de KEY_A, KEY_B, KEY_X, KEY_Y. Con la tecla asignada a A (L en mi caso) eliges el menú, con la asignada b (K en este caso) vuelves atrás. Es lioso, pero si compilas mi versión entenderás el código a cambiar a la primera. Si el emulador os va lento, ajustad los valores de SPU en la config. Spu updates per frame: 8, y forced XA updates a auto. Si queréis una configuración solo tenéis que escribirme a anthk[ARROBA]texto-plano.xyz y os ayudaré. En el próximo artículo postearé una forma de configurar mednafen, desde compilaro desde cero para que vaya ligeralmente optimizado respecto al de ports y alternativas de juegos ligeros a los más pesados de PSX. Por ejemplo, Anchorhead en vez de Alone in The Dark The New Nightmare, FFVI o Chrono Trigger vs FFVII-IX, ISS para SNES contra el FIFA de PSX, OpenTomb nativo vs el Tomb Raider de PSX, o el propio Indiana Jones de GBC...