/ vg

Citra

Tras probar de primera mano la experiencia de jugar en una 3DS y por ello sufrir una epifania de lo que es verdaderamente importante en esta vida… jugar maravillas tecno-informaticas hechas por una compañia que respeta, conoce a su audiencia y le vende lo que pide, no pude mas que despreciar todo lo que desvia al hombre del buen camino (trabajo duro, lazos familiares, pareja o estudio) e iniciar la busqueda de una forma justicialista para llevar hasta el hogar de la gente pobre y sin recursos tan grata experiencia, no solo ya por adquirir una porcion de necesaria cultura general, tambien para llevar felicidad y alegria a las grices vidas de los agotados obreros

Entre su mas destacadas caracteristicas, la consola Nintendo 3DS (New 3DS XL en su ultima iteracion) cuenta con un par de pantallas. La superior (mas apaisada) suele mostrar el videojuego con un magnifico bien logrado efecto 3D (esta caracteristica es opccional y regulable por el usuario). Por su parte la pantalla inferior se utiliza para desplegar mapas, inventarios y en general opciones del juego. La caracteristica principal de esta segunda pantalla es ser tactil.

Ademas posee dos camaras en la parte posterior para hacer fotografias estereo, una camara en la parte delantera, microfono. Del lado derecho una cruceta junto a un joystick y del izquierdo botones Select, Start, A, B, X, Y. En la parte posterior botones L y R. En la ultima iteracion se agregaron ZL, ZR y un joystick adicional llamado C-Stick

Dichas peculiaridades parecen dificiles de llevar con comodidad a una computadora de proposito general. Mas la comunidad entusiasta y siempre generosa de gameeeeeeers y programadores pone a nuestra disposicion un software de emulacion con nombre clave Citra. (Debajo su logo)

Dicho software es GPL v2, multiplataforma y se encuentra tanto para plataformas windows, mac y GNU

Para las amadas distros cuando el paquete no esta disponible en los repositorios (como en el caso de debian) nos ofrecen un paquete “universal” flatpack… el problema? ademas de instalar un daemon (flatpack) que este corriendo en nuestro sistema chupando ciclos de procesador, ya de primeras nos hace descargar como dependencia ~550MB del entorno KDE + “otras cosas” + citra. Esto no solo es cuestionable por el tamaño que ocupara en el sistema un sencillo emulador, tambien por el sobre costo de utilizar un contenedor con sus propias dependencias ajenas al sistema y agregar PATHs de ejecucion adicionales

Ante esta dudosa opccion lo mas razonable y recomendable (ya sea solo por el rendimiento) es recurrir a una milenaria practica en todos los sistemas libres conocidos: ver si se puede compilar desde el codigo fuente

(nota: recomiendo no aplicar mientras se lee, primero ver las “alternativas” y luego aplicar a discrecion)

Compilar en Debian 10 (Buster)

(La siguiente informacion fue extraida de la wiki de citra)

Primero obtener las librerias de compilacion necesarias

apt install libsdl2-dev qtbase5-dev libqt5opengl5-dev qtmultimedia5-dev libfdk-aac-dev build-essential clang libc++-dev cmake

mientras el sistema instala las dependencias, debemos (de preferencia) como usuario no administrado clonar el codigo fuente (~115MB)

git clone --recursive https://github.com/citra-emu/citra

Una vez cumplidos ambos requerimentos pasamos a la compilacion

# Ingresamos al codigo fuente
cd citra

# Un paso conocido cuando se compila con cmake
mkdir build && cd build

# En la wiki se ofrecen varios modos de compilacion
# modo Lo-Ultimo             # "cmake .."
# modo Release (optimizado)  # "cmake .. -DCMAKE_BUILD_TYPE=Release"
# y con opciones o no de simbolos de debugueo (lento)
#                            # "cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo"
#
#
# La opcion elegida para esta compilacion es la optimizada (Release)
# sin simbolos de debugueo y con el decodificador HLE AAC activado
# no se si esto sea mejor... pero parese mas molon!
#
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_FFMPEG=ON

Tras una (muuu lenta) compilacion exitosa, podemos ejecutar el emulador sin necesidad de instalarlo

# recomendablemente no lo hagais
# seguir leyendo y aplicar configuraciones previas
cd bin
./citra alguna-rom.3ds

… … … pero … … … esta manera espartana no nos informa cual es la disposicion del teclado para el juego (ademas de que con puro teclado dificil a de ser jugar), tampoco nos brinda opcion de utilizar un mando ni ofrece otras varias configuraciones basicas. Por ello veamos que binarios (y sus tamaños) ha dejado la compilacion (recordar estamos en citra/build/bin)

> du -h *
17M	citra
19M	citra-qt
17M	citra-room
18M	tests

si intentamos lanzar sin una rom, nos regresa un bonico mensaje y la ejecusion finaliza

> ./citra
[   0.008365] Frontend <Critical> citra/citra.cpp:main:317: Failed to load ROM: No ROM specified

asi que… intentemos con

> ./citra-qt

hala, esto ya tiene cuadros de dialogo y menues!

Hasta aqui se da por satisfactoria la compilacion. Podemos ir a citra/build/bin cada vez que necesitemos jugar, o, dejarnos de historias e instalar

# como administrador y desde-algun-lugar/citra/build
make install

ROMS ???

se pueden buscar de distintas maneras… utilizando la opcion de busqueda en qBittorrent aparece una particularmente correcta con el poco descriptivo titulo:

Collection of 250 decrypted 3DS ROMs for Citra Emulator

magnet:?xt=urn:btih:3c1d52279c6dcab8b61aa58b6c2574a0be2933e0&dn=Collection%20of%20250%20decrypted%203DS%20ROMs%20for%20Citra%20Emulator&tr=udp%3a%2f%2fopen.demonii.com%3a1337&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80&tr=udp%3a%2f%2ftracker.coppersurfer.tk%3a6969&tr=udp%3a%2f%2ftracker.leechers-paradise.org%3a6969&tr=udp%3a%2f%2fexodus.desync.com%3a6969

Creo que tiene lo mas destacado. Con esa cantidad y calidad de juegos se tiene suficiente para unos cuantos añøs. Copiar y pegar

Configs

Hemos visto que el binario “bueno” es citra-qt. Instalado en el sistema citra-qt sera el que aparecera de serie!

siguiendo la indicacion, damos double-clip para agregar nuestra lista de juegasos nintenderos

Antes de entregarnos al vicio un par de configuraciones adicionales. Abrimos la ventana de configuracion desde el menu Emulation > Configure

Ya en la ventana de configuracion, ponemos el tema Dark

General > UI > Theme: Dark

(No se por que no se muestra la opcion de interfaz en Spanish, pero no importa)

System > System > User name: mi-nick
System > System > Language: Spanish
System > System > Play Coins: 300

importatisimo poner Spanish en Language. Sin ello los juegos aparecen en english

los Play Coins parecen monedas que da el 3DS por caminar y hacer “cosas”. Trecientos parece ser el valor maximo. En el zelda BW son utiles para comprar consejos.

System > Camera > Camera Image Source: Still Image (Image)

Es buena cosa aplicar esta configuracion en la camara si se da el caso que el juego/cosa requiera una imagen, con esta opcion nos permitira pasar una imagen desde el sistema

y… lo mas importante la configuracion del teclado…

pero si en verdad quereis jugar con dignidad, conseguir un puñetero mando!

yo utilizo el logitech f710 el cual no ha requerido ninguna configuracion para que funcionara en ninguna distro, se conecta y funciona. El mando tiene un interructor (D o X) ponerlo en X

siguiendo la distribucion del propio 3DS y la del mando (cruceta, dos joystics, select, start, a, b, x, y, l, lt, r, lt) y jugando al Zelda BW y el Mario Kart 7, parece que esta es la distribucion logica y apropiada

una particularidad realmente apreciable del mando es que tiene un botoncito llamado mode la cual permite intercambiar la “entrada” del joystick izquierdo con la cruceta y viceversa, esto sin necesidad de alterar la configuracion de “teclas” del propio emulador/lo-que-sea. En verdad util es para escenarios que requieren precision (como en las masmorras del Zelda)

Ahora si a vicio! … o no … un requerimento de algunos juegos si no importante pero si necesario en la experiencia completa es hacerse de un avatar llamado mii.

los buenasos de nintendo ponen una herramienta web para crearnos un mii

mas en este caso y como citra (creo) no tiene la cualidad de conectarse a la cuenta nintnendera… (obvio… ???)

no sirve de mucho…

Si habeis caido aqui luego de pasar por el cancer de internet (los niños rata de youtube que llaman “enlace” a los puñeteros acortadores por webs cuestionables), estos son los pasos y enlaces de internete que han servido

(UNO) Conseguir Mii Maker (app)

(DOS) recomendablemente colocar Mii Maker en la misma carpeta que el resto de roms. Dice una leyenda que arrastrar y soltar este binario en la interfaz de citra-qt tambien funciona, pero no es algo que me alla atravido a comprovar

Aun no lo ejecuteis u optendrais un error

(TRES) Parece que hay fuentes/dependencias/ficheros-raros/cosas que vienen en el 3DS para que Mii Maker corra apropiadamente. En youtube hay un video que comparte (toda) su carpeta de configuracion y “datos” de citra. Nos aconseja mezclar sus carpeta con la nuestra echando mano del navegador de ficheros

primero mezclar (aplicar esta opccion a todos los archivos y carpetas)

luego omitir el reemplazo (aplicar esta opccion a todos los archivos y carpetas)

En GNU la carpeta con “los datos” de citra se encuentra en ~/.local/share/citra-emu/ estas son las carpetas que contiene

> ls ~/.local/share/citra-emu/
cheats
config
log
nand
sdmc
sysdata

p-e-r-o… la carpeta del youtuber trae varios .bin, .tar que me ponen nervioso. Aqui esta directamente sin trucos ni acortadores la carpeta aquella.

Por parte de este que escribe, fui copiando y probando carpetas al azar con el unico proposito de que funcionase Mii Maker. Por aca el resultado. Si decidis usar este

cd tmp
wget https://nasciiboy.land/data/citra/min-dot-citra.zip
unzip min-dot-citra.zip
mkdir -p ~/.local/share/citra-emu/nand
mv min-dot-citra/nand/00000000000000000000000000000000 ~/.local/share/citra-emu/nand/

vuala!!!

parece ser que el editor del 3DS es mas “redondo” que el web (que gana un poco mas de precision). El resultado en mii maker fue este

y… por fin ahora si al vicio

….

Por defecto el juego se presenta de esta manera

i-endo a View > Screen Layout contamos con diversas distribuciones de visualizacion

Segun el juego, numero de monitores y gustos podemos ajustar a nuestra conveniencia. Me guastaria que puedesen desacoplarse “las pantallas” en dos ventanas aunque esta opccion no esta disponible. Con un par de monitores y ajustando a mano se puede simular el efecto.

Para esto utilizo la distribucion de pantalla “lado a lado”

Por ejemplo, si hago una captura (gnomera) de citra, la imagen se presenta asi

(en el “mundo real”) en modo de pantalla completa veria

pero ajustando la pantalla “manualmente” lo prefiero asi

Con el zelda

para verse

Algunos atajos

….

….

PATH’s

Conclucion

nah, todo bien…

Contando con un humilde procesador AMD A6-9500 (64 bits, 2 nucleos, 2 hilos, 2GHz) que es de lo mas bajo de lo mas bajo (tirando a celeron) y sin grafica dedicada, el Zelda va (casi, casi) siempre perfecto y estable a 60 FPS y el Mario Kart 7 (que ha de ser de lo mas exigente del 3DS) aunque con ralentizaciones apreciables, no llega a ser molesto o injugable… suele tirar a un 100% de la velocidad con ralentizaciones del 80/85/90%.

Otra historia seran los exclusivos del New 3DS… pero su momento aun no ha llegado

Como recomendacion final, por ningun motivo en Zelda Between Worlds en el pueblo hablen con el viejo del street pass, hablar con el te regala un arbol de manzanas junto a tu casa… a un precio muy caro, me jodio dos partidas antes de evitarlo como a la peste

/ vg