Esta es la continuación del artículo sobre la consola de juegos retro del mes pasado, donde aprendimos cómo configurar el software de una consola de juegos retro. Esta entrega te ayudará a finalizar el proyecto enseñándote, en detalle, cómo pulir tu consola de videojuegos Monku Retro 1 (ODROID-C1 +) o Monku Retro 2 (ODROID-C2). Optimizaremos el entorno de escritorio MATE Linux, conectaremos nuestro botón de control personalizado, pondremos RetroArch en modo quiosco y configuraremos boot.ini.
Herramientas y Componentes
Este tutorial no requiere nuevas herramientas y componentes. Configuraremos la consola que ya has creado, ajustando las cosas para que realmente deslumbren.
Introducción y Objetivos
Finalizando MATE ... Casi
En esta sección, lo primero que vamos a hacer es deshacernos de esa molesta solicitud de autentificación que aparece cuando abres un navegador por primera vez después de iniciar sesión. AVISO: No estamos ante una configuración de alta seguridad: deliberadamente vamos a reducir el nivel de seguridad para facilitar su uso como consola de juegos y decodificador navegador web. Dirígete a la siguiente ubicación del menú: Applications -> Accessories -> Passwords and Keys, debería ver una ventana similar a la que se muestra a continuación. AVISO: si en algún momento se te solicita iniciar sesión cuando trabajes con el terminal, utiliza la contraseña, odroid.
Localiza la entrada de inicio de sesión de la lista en el lado izquierdo de la ventana. Si la ventana de autentificación que he mencionado hace referencia a un Password keychain diferente, busca esa entrada en la lista del lado izquierdo de la ventana. Sigue los siguientes pasos para desbloquear el keychain.
- Haz clic derecho en la entrada de destino y selecciona Change Password.
- Te pedirá que introduzcas la contraseña anterior: escribe odroid y haz clic en Continue.
- Ahora te pedirá que introduzcas una nueva contraseña: deja ambos campos en blanco y haz clic en Continue.
- Aparecerá otro cuadro de diálogo y te preguntará si estás de acuerdo en permitir que se desbloquee el keychain: haz clic en Continue.
- Cierre todos los cuadros de diálogo y cierra la ventana Password and Keys; estamos listos.
Lo siguiente que haremos con el entorno MATE es configurar un poco los paneles y widgets. Tú puedes hacer lo que quieras aquí. Yo simplemente te mostraré cómo configurar las cosas y por qué. En primer lugar, esperamos interactuar con este sistema, al menos parte del tiempo, con un gamepad. Funciona muy bien, pero no es un mouse. Realmente no vamos a hacer ninguna tarea de programación rigurosa en Linux, por lo que hay algunas cosas que no necesitamos. La segunda ventaja de esta configuración es que reducimos un poco la sobrecarga de memoria.
Sigue estas instrucciones para suprimir el panel inferior. Agregaremos controles al panel superior para compensar parte de la pérdida de funcionalidad, pero no agregaremos el widget de selección de escritorio. Puede resultar un poco exagerado para nuestras necesidades. No obstante, si lo quieres conservar, no perjudica en nada. Sigue estas instrucciones para limpiar los paneles y widgets.
- Dirígete al panel inferior y haz clic derecho, selecciona Delete This Panel, luego haz clic en Delete nuevamente cuando se te solicite.
- Dirígete a la parte superior derecha de la pantalla y haz clic con el botón derecho en el botón de encendido, selecciona Remove From Panel
Lo que vamos a hacer es volver a añadir algunos widgets, haciendo que el panel superior sea un punto de control más centralizado. Esto hará que utilizar un gamepad para controlar las cosas resulte mucho más fácil. Tu escritorio debería verse como la siguiente captura de pantalla.
Como eliminamos los botones de selección de ventana abierta cuando suprimimos el panel inferior, vamos añadir un nuevo widget al panel superior que sea más apropiado para un gamepad y que requiera menos movimiento de cursor para utilizarlo. Haz clic derecho en el panel superior y selecciona Add to Panel. Desplázate hacia abajo en la lista de opciones hasta que veas la entrada que se muestra a continuación, luego haz clic en Add.
Tenemos que realizar algunos pasos más con respecto a las aplicaciones de la bandeja y la configuración de fecha y hora, pero casi hemos terminado con este punto.
A continuación, haz clic en la fecha y hora en la esquina superior derecha. Debería aparecer un menú desplegable con el calendario. Expande la sección de Ubucaciones y haz clic en el botón Add. Configura la pestaña General como se muestra a continuación o como mejor te parezca
Agreguemos información de la ubicación para que la hora sea la correcta cuando tengamos una conexión a Internet y la sincronicemos con el protocolo de hora en red (NTP). Haz clic en la pestaña Locations y luego haz clic en el botón Add.
Empieza escribiendo la ciudad principal que tienes más cerca en el cuadro de texto Name. Si esto no funciona, prueba con otra ciudad importante o representativa de tu zona horaria (por ejemplo, en mi caso es Nueva York). Selecciona una ubicación de la lista que aparece. Haz clic en Ok una vez que hayas encontrado la adecuada. Ahora verás una entrada de ubicación en la lista de ubicaciones tal y como se muestra a continuación.
Solo quedan unas cuantas cosillas más por hacer aquí. Haz clic derecho en el icono de la batería en la bandeja superior derecha. Selecciona la opción Preferences. Haz clic en la pestaña General y desmarca Never Display An Icon. Si tiene una cadena EN o UK en la bandeja del sistema, haz clic derecho sobre ella y selecciona Preferencies. En la pestaña General, desmarca Show Icon On System Tray. Realmente no nos preocupa el tener que cambiar el idioma del teclado. Si lo necesitas, puede volver a activar el icono de la bandeja del sistema utilizando la opción de menú System -> Control Center y haciendo clic en Power Management and iBus Preferences respectivamente. Las siguientes capturas de pantalla muestran las cuestiones que acabamos de tratar
Solo nos quedan dos cositas en esta sección, luego pasaremos al botón de control personalizado y a los scripts. Mueve el ratón al panel superior y haz clic derecho. Selecciona Add to Panel, luego desplázate hacia abajo hasta que veas la opción Show Desktop como se muestra a continuación. Haz lo mismo para la opción Trash
Usa el botón central del ratón, o la rueda del ratón, para mover los íconos del widget del panel superior. Arrastramos estos dos nuevos widgets un poco más cerca del menú Systems, y sepáralos un poco. Ahora estamos listos para empezar a añadir scripts personalizados. Estos scripts iniciarán automáticamente RetroArch durante el arranque e iniciarán AntiMicro cuando RetroArch se cierre, devolviendo el control del ratón al gamepad. También haremos algo de magia con el botón de control personalizado.
Scripts y Botón de Control Personalizado
En esta sección, vamos a configurar algunos scripts personalizados para controlar el software que hemos instalado y configurado. Esto hará que pasemos de una experiencia de escritorio de Linux a una experiencia más de consola de juegos. Descárgate el paquete del script a tu dispositivo y luego cópialo y pégalo en la carpeta install_zips que creaste en el segundo tutorial. Se encuentra en el directorio de inicio del usuario ODROID.
Una vez que haya descargado y copiado el archivo zip en la carpeta install_zips, haz clic derecho y selecciona Extract Here. Once archivos deberían aparecer en un subdirectorio. Ábrelo y cópialos todos en el directorio de inicio del usuario ODROID. El directorio de inicio del usuario ODROID es la ubicación por defecto del administrador de archivos. También puede acceder a él desde un acceso directo que hay e el escritorio, o desde el panel izquierdo del administrador de archivos donde se enumeran los accesos directos a carpetas.
Nos aseguraremos de que estos scripts tengan los permisos correctos y se puedan ejecutar. Abre un terminal, Applications -> System Tools -> MATE Terminal, y ejecuta los siguientes comandos.
$ sudo chmod 755 power_btn power_btn_test pwrbuttonsvc.service restart_now shutdown_now start_am start_antimicro start_auto start_pwr start_ra stop_auto $ sudo chmod +x power_btn power_btn_test pwrbuttonsvc.service restart_now shutdown_now start_am start_antimicro start_auto start_pwr start_ra stop_autoAhora cierra el terminal y dirígete a System -> Control Center en los menús. Busca y selecciona la opción Startup Applications. Debería ver algo similar a lo que se muestra a continuación.
Haz clic en el botón Add y completa el formulario que se muestra a continuación. Aquí tienes el texto exacto también.
Name: Start RetroArch Path: /home/odroid/start_ra Description: Launches RetroArch on startup.
Ahora, también queremos iniciar un script especial AntiMicro. Así que, hacemos lo mismo para este script, que también se muestra a continuación. Aquí tienes los valores utilizados.
Name: Start AntiMicro Path: /home/odroid/start_am Description: Launches AntiMicro on startup.
Apaga el dispositivo: System -> Shut Down. Usa el botón de reinicio de hardware para volver a encenderlo. Deberías observar que RetroArch se inicia automáticamente. Ahora, si cierras RetroArch y esperas unos 5 segundos, deberías ver la ventana de AntiMicro en la bandeja del sistema y que se reanuda el control del dispositivo por gamepad.
Las cosas se están desarrollando bien. Nuestro magnífico ODROID se parece cada vez más a una gran consola de juegos retro. Finalmente añadiremos soporte para el botón de control personalizado. Antes de conectarlo al sistema, debemos probarlo. Dirígete al terminal: Applications -> System Tools -> MATE Terminal y escribe sudo ./power_btn_test y luego presiona INTRO. Puede que recibas un error de exportación de PIN GPIO si lo ejecuta dos veces seguidas. Puedes ignorar este error; La prueba seguirá funcionando. Debería ver una serie de 1 desplazándose a lo largo del terminal si está utilizando un C2, ceros si es un C1+. Mantén presionado el botón de control personalizado y observa qué sucede. Asegúrate de no presionar el botón de reinicio de hardware por accidente o de lo contrario tendrá que esperar a un reinicio. Deberías ver algo como lo que se muestra a continuación.
Para el C1+, los 0 y 1 están invertidos, tal y como lo configuré por causalidad. La imagen de arriba muestra la prueba del C2. Si no logras el mismo resultado, apaga el dispositivo, retira la carcasa - recuerda, decidimos no cerrarla, y comprueba las posiciones del conector en el cabezal GPIO. Si funciona, ¡genial! Intenta mantener presionado el botón durante diferentes períodos de tiempo. En el terminal aparecerá el script que se ejecutará durante esa duración. A continuación, tienes una lista de funciones que configuraremos.
Funciones del botón de software: - 02 Segundos presionado: reinicio de software. - 04 04 Segundos presionado: apagado del software. - 06 Segundos presionado: Desactivar el modo kiosco del juego. - 08 Segundos presionado: cambiar a una resolución de 1024x768x32bpp y reiniciar. - 10 segundos presionado: cambiar a una resolución de 720px32bpp y reiniciar.
Ahora que hemos probado la funcionalidad del botón de control personalizado, vamos a añadirlo al sistema como un servicio. A veces, dependiendo de la tarjeta SD y algunas otras cosas, el dispositivo puede llegar a funcionar mal. Este botón de control de software es realmente útil para obligar al sistema a que se reinicie limpiamente de forma segura y controlada. Abre un terminal y ejecuta los siguientes comandos. Estos registrarán, iniciarán y marcarán nuestro servicio para que se inicie automáticamente furante el arranque. Abre un terminal - Applications -> System Tools -> MATE Terminal - y ejecuta los siguientes comandos. Resiste el impulso de intentar probar las funciones de 6, 8 y 10 segundos. No vamos a experimentar todavía con el boot.ini.
$ sudo sudo cp pwrbuttonsvc.service /etc/systemd/system $ sudo cp ./power_btn /usr/bin/power_btn_test $ sudo systemctl start pwrbuttonsvc $ sudo systemctl enable pwrbuttonsvcSi alguna vez necesitas detener el servicio, puedes usar este comando, aunque no lo ejecutes ahora.
$ sudo systemctl stop pwrbuttonsvc¿Estás listo? Mantén presionado el botón de control personalizado durante 4 segundos y un poquito más. Puedes practicar con el script de prueba que ejecutamos antes. El sistema debería apagarse muy rápido y, si has contado correctamente, no debería arrancar. Si lo has mantenido durante 2 segundos menos, hará lo mismo, pero luego volverá a arrancar.
Finalizando MATE ... Esta vez sí
Espero que hasta ahora estés realmente disfrutando de todo. De verás que es genial finalmente conectar el botón y hacer que, literalmente, sea parte del sistema operativo. Tenemos una cosa más que hacer con MATE, pero es algo rápida, lo prometo. Haz clic con el botón derecho en el panel superior y selecciona Add to Panel, luego desplázate hacia abajo por la lista de opciones hasta encontrar la entrada Shut Down. Haz clic en Add y usa el botón central del ratón o la rueda del ratón para coger el nuevo widget y colocarlo de manera que esté aproximadamente a una pulgada del widget de programas abiertos. Al mantener todos los controles en un grupo reducido, mejoramos en gran medida la experiencia del usuario a la hora de controlar las cosas con el gamepad.
A continuación, añadiremos dos botones personalizados al panel superior. Haz clic con el botón derecho en el panel y selecciona Add to Panel. Elije la primera opción, Custom Application Launcher. Agregaremos primero el botón de parada y luego el botón de inicio. A continuación, tienes los valores de los campos de formulario. Usa las capturas de pantalla para navegar al icono adecuado. Puedes ver la ruta en la captura de pantalla cerca de la parte superior de la ventana.
Valores del botón de parada:
Type: Application Name: Stop RetroArch Command: /home/odroid/stop_auto Comment: Stops RetroArch if running windowed. (Really just stops RetroArch and resets AntiMicro)Valores del botón de inicio:
Type: Application Name: Start RetroArch Command: /home/odroid/start_auto Comment: Starts RetroArch and AntiMicro scripts.Las siguientes capturas de pantalla describen este paso. Úsalas para ayudar a encontrar el icono correcto si fuera necesario.
Probemos los nuevos controles. Cierra RetroArch y cualquier otra ventana que tengas abierta. Haz clic en el botón de inicio y debería ver aparecer RetroArch. Haz clic en el botón de parada y RetroArch se cerrará. Espera unos 5 segundos, y debería ver AntiMicro en la bandeja del sistema que nos devuelve el control total del gamepad.
¡Caray!, es realmente genial. Hemos personalizado completamente nuestro hardware y software ODROID-GO para crear una consola de juegos retro con el modo de quiosco RetroArch y un completo entorno Linux, si fuera necesario. Lo siguiente que vamos a hacer es ejecutar RetroArch en modo de pantalla completa y ajustar algunos parametros de video. No me detendré en ninguna configuración avanzada. Este tutorial tiene la duración que me gusta para hacer los cosas, dedicare más adelante un pequeño tutorial de seguimiento a las erratas del emulador y a la configuración avanzada de RetroArch.
¡Inicia RetroArch, y podrás usar el pequeño widget que acaba de crear! Desplázate hacia la derecha hasta la sección de Drivers y localiza la entrada Video
Aplica las configuraciones que se enumeran a continuación en el orden en que aparecen. La aplicación se puede cerrar y volver a abrir para algunas de las configuraciones; es normal.
Windowed Fullscreen Mode: Off Show Window Decorations: Off Threaded Video: On Bilinear Filtering: Off Start in Fullscreen Mode: OnUsa la tecla ESC para cerrar RetroArch cuando esté en modo de pantalla completa o utiliza el teclado/ratón para navegar hasta la sección del Menú principal y seleccionar Quit RetroArch.
Mantén presionado el botón de control personalizado durante 2 segundos y un poco más y el sistema se reiniciará. Cuando vuelva iniciarse, deberías ver una pantalla completa de RetroArch como se muestra a continuación. Desplázate hasta tus ROM con el gamepad y arranca uno. ¡Juego activado!
Actualizando boot.ini
En este apartado, lo primero que haremos es hacer una copia de seguridad del archivo boot.ini. Abre el icono de inicio en el escritorio y copia boot.ini en boot.ini.orig. También vamos a hacer dos copias más: una que llamaremos boot.ini.1024x768p32bppVga y otra que llamaremos boot.ini.1280x720p32bppHdmi. Vamos a editarlos en breve. Deberías tener algo similar a lo que se muestra a continuación.
Bajo mi experiencia, estas configuraciones de video funcionan bastante bien. La resolución VGA de 1024x768 es compatible con la mayoría, si no todas, de las pantallas recientes de ordenador, y la resolución de 720p es compatible con la mayoría, si no todos, los televisores recientes. Aunque el ODROID-C2 tiene notablemente más potencia, realmente no necesitamos más de 720p para mostrar juegos de 8 bits y 16 bits. Por supuesto, puedes seleccionar la que mejor te parezca. La idea es que, si conectamos nuestro dispositivo a un televisor, podamos mantener presionado el botón de control personalizado durante el tiempo necesario para que el dispositivo se reinicie con la resolución HDMI adecuada y eficiente en memoria. Si nos llevamos el dispositivo al trabajo y queremos jugar algunos juegos durante el almuerzo, podamos mantener presionado el botón de control personalizado durante el tiempo necesario para que el dispositivo se reinicie con la resolución VGA adecuada.
Arranquemos nuestro dispositivo ODROID y cerremos RetroArch presionando la tecla escape en el teclado o navegando hasta la opción de salida usando el mando. Applications -> System Tools -> MATE Terminal, y escribe el siguiente comando.
$ nano power_btnDesplázate hasta la parte inferior del archivo y edita el texto de modo que coincida con la imagen que se muestra a continuación. Una vez que hayas modificado el archivo, presiona Ctrl + O para sobreescribir el archivo y Ctrl + X para cerrar el editor nano. Este es el texto que debemos introducir:
$ elif [ $count -ge 8 ] && [ $count -lt 10 ] && [ $GPIO_VALUE -eq 1 ]; then count=0 $ sudo cp /media/boot/boot.ini.1024x768p32bppVga /media/boot/boot.ini $ sudo shutdown -r now #killall retroarch #cp /home/odroid/Scripts/retroarch.cfg.usb /home/odroid/.config/retroarch/ #/home/odroid/start_ra $ elif [ $count -ge 10 ] && [ $GPIO_VALUE -eq 1 ]; then $ count=0 $ sudo cp /media/boot/boot.ini.1280x720p32bppHdmi /media/boot/boot.ini $ sudo shutdown -r now #killall retroarch #cp /home/odroid/Scripts/retroarch.cfg.hdmi /home/odroid/.config/retroarch/ #/home/odroid/start_ra $ fiTen en cuenta que para el C1+ el texto anterior será ligeramente diferente. Éste utiliza comparaciones [$ GPIO_VALUE -eq 0], aunque en realidad solo nos interesan los comandos de copia de archivos y los comandos comentados. No debes cambiar nada más. A continuación, ejecuta el siguiente comando en el terminal para activar el script.
$ sudo cp ./power_btn /usr/bin/power_btn_testUna vez hecho esto, ajustaremos el archivo boot.ini copiado que creaste para dejar constancia del resultado y la resolución correctos.
Básicamente, copiaremos el archivo boot.ini con una versión preconfigurada que fija una determinada resolución de pantalla, luego reinicireamos el dispositivo. Detallo los cambios que necesitamos hacer en cada archivo para el C1+ y el C2, aunque también proporcionaré una descarga para que las cosas te resulten un poco más fáciles. Centrémonos en el C2 primero.
Abre un terminal y escribe los siguientes comandos. Primero haremos el modo VGA 1024x768.
$ cd /media/boot/ $ nano boot.ini.1024x768p32bppVgaQueremos configurar la salida de video para que sea 1024x768 VGA. Comenta las líneas que aparece a continuación. Asegúrate de que no haya modos de salida de video no comentados, excepto el que queremos.
# setenv display_autodetect "true" # setenv m "1080p60hz" # Progressive 60HzAsegúrate de que las siguientes líneas no estén comentadas. Si cometes un error, simplemente restaura la copia boot.ini.orig que realizaste anteriormente. Con cualquier ordenador con Windows o Mac podrás acceder a la partición de arranque de la tarjeta SD de tu ODROID porque es una partición Fat32. Puedes recurrir a esto para reemplazar tu boot.ini si el dispositivo no se inicia correctamente.
$ setenv m "1024x768p60hz" $ setenv vout "vga"A continuación, fijaremos el modo HDMI 720p. Abre un terminal y escribe los siguientes comandos:
$ cd /media/boot/ $ nano boot.ini.1280x720p32bppHdmiQueremos configurar la salida de video a 720p HDMI. Comenta las líneas que se enumeran a continuación. Asegúrate de que no haya modos de salida de video no comentados, excepto el que queremos.
# setenv display_autodetect "true" # setenv m "1080p60hz" # Progressive 60HzAsegurate de que la siguiente línea no esté comentada.
$ setenv m "720p60hz" # 60HzAVISO: Muchas pantallas de ordenador no admiten 720p. Si este es tu caso, es probable que termines arrancando en una pantalla en blanco. Simplemente espera un minuto o dos y luego usa el botón de control personalizado para cambiar el modo de video a 1024x768. Se necesita un poco de tiempo para habituarse, pero una vez que te acostumbras, puedes cambiar de modo con bastante facilidad. A continuación, se muestra una captura de pantalla de un Monku Retro 2 (ODROID-C2) que se ejecuta en modo VGA en una pantalla de ordeanador después de cerrar RetroArch.
Y aquí está el R2 ejecutándose a 720p en un televisor.
Como cualquier buen programa de cocina de televisión, ya tenemos un plato preparado para mostrar. Para el C1+, sigue las mismas pautas anteriores junto con los archivos que se proporcionan a continuación. El proceso es similar, los archivos proporcionados indican los cambios que debes realizar. O puedes simplemente copiarlos y pegarlos en tu directorio /media/boot, realmente depende de ti.
- Monku R1 / C1+ boot.ini - Monku R2 / C2 boot.ini
Terminando
Cerrar la carcasa es bastante simple, aunque lo vamos a repasar de todos modos. No es muy divertido terminarlo todo, cerrar la caja y apretar los tornillos exteriores y acordarse de no haber colocado los tornillos interiores, confía en mí. Lo primero que querrás hacer es organizar tus conectores. Pueden enredarse un poco, así que generalmente yo los rizo y los doblo.
Recomiendo encarecidamente recortar la ranura de la tarjeta SD porque nos aporta una gran ventaja a la hora de poder cambiar o retirar fácilmente las tarjetas SD, etc. Yo utilicé una cuchilla de afeitar para cortar todas las pequeñas pestañas de plástico que la sujetaban. Dos están cerca del borde de la carcasa, son fáciles de acceder y es seguro cortarlas con un poco de presión. Después de un rato, lograrás recortar las dos pestañas que están cerca del borde de la caja. Luego dobla la puerta hacia arriba para torcer las pestañas restantes. Consejo: debilita las pestañas tanto como pueda rascándolas con la cuchilla de afeitar.
Monta la placa en la carcasa, coloca y aprieta los dos tornillos que están en un lateral de la carcasa. Los tornillos restantes se colocan desde el exterior de la carcasa cerrada. Antes de cerrarla, intente ver si combina fácilmente. Puede que tenga que reajustar algunos conectores para que ajuste bien la carcasa. Encaja la carcasa, coloca y aprieta los tornillos exteriores, y ya está todo listo.
Espero que te hayas divertido con todo este proceso de montar y configurar tu propia consola de juegos retro desde cero. Yo lo hice. Hablare de más cosas en un tutorial de seguimiento en el que tocaré algunos temas avanzados relacionados con RetroArch y la configuración del emulador. Hasta entonces, ¡disfruta jugando!
Para comentarios, preguntas y sugerencias, visita el artículo original en http://middlemind.com/tutorials/odroid_go/mr1_build_fn.html.
Be the first to comment