87

Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

  • Upload
    vutram

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu
Page 2: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Thundroid: El Perfecto Nodo Bitcoin Lightning June 1, 2018

El Bitcoin es una moneda digital nativa de la era de Internet. Podría decirse que otramoneda internacional, pero sin un país de origen, de modo que desafía las fronteras,las políticas comerciales y la inación arbitraria. En el documento técnico de 2008

(https://bitcoin.org/bitcoin.pdf) Satoshi Nakamoto la describe como “…

Juegos Linux: Emulación Nintendo 64 – Parte 1 June 1, 2018

Me llevó un tiempo lograr que la emulación N64 funcionara en todas las placasODROID bajo Linux. Sin embargo, ahora que lo he conseguido, es bastante divertido yabre muchas posibilidades a la hora de ejecutar los clásicos juegos de N64. Esperemos

que en el futuro veamos más mejoras y

Marco de Fotos Digital: Pantalla 4K de 55 Pulgadas Para FotosDigitales por unos 400$ June 1, 2018

Existen muchos tutoriales sobre cómo hacer un buen marco de fotos digital con unaRaspberry Pi.

SO Destacado: ODROID GameStation Turbo June 1, 2018

Uno de los proyectos más destacados en los que estoy trabajando para la comunidadODROID es la imagen ODROID GameStation Turbo, que funciona como interfaz parajuegos y reproducción multimedia. Está pensada para ser un sistema de

entretenimiento que te permita controlar tu ODROID con solo usar un mando de

Kit Consola de Juegos OGST para ODROID-XU4 June 1, 2018

El kit consola de juegos OGST para ODROID-XU4 te permite montar tu propia consolade juegos con un potente ODROID-XU4 u ODROID-XU4Q. Su atractivo diseño incluyeuna elegante pantalla LCD de 2.4″ que permite mostrar animaciones del logotipo

programables de los juegos, y está especícamente diseñado para funcionar con la

Joystick ODROID GameSir G3w USB June 1, 2018

El GameSir G3w es un gamepad de alta calidad que utiliza un chip MCU de 32 bits, conuna capacidad informática de hasta 48 millones de operaciones por segundo. Escompatible con los sistemas operativos ociales de Linux y Android que ofrece

Hardkernel.

Page 3: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Micro Servidor Alimentado con Energía Solar June 1, 2018

Los apagones no solo son molestos, sino que causan una serie de problemas queafectan a casi todos los aspectos de la vida moderna, así que, tras meses en laoscuridad, decidí dar el paso y construir un pequeño sistema de energía solar. El

ODROID C2 tiene una CPU ARM

Desarrollo Android: Usando GitHub June 1, 2018

¡Bienvenido de nuevo, desarrollador de apps! Si eres como yo, estás más quepreparado para mejorar tus habilidades en el desarrollo de aplicaciones. Como hemencionado en otras ocasiones, la empresa que domina prácticamente todo el

monopolio de proyectos de código abierto online es GitHub. Existen varias opciones basadas en

Juegos Linux en ODROID: Juegos Saturn – Parte 4 June 1, 2018

Volvemos con los juegos de ODROID-XU4/XU4 y Sega Saturn. Esta vez vamos a echarun vistazo a los juegos que empiezan por la letra “S” como Saturn o como “shmup”.Existen tantos juegos para Sega Saturn que empiezan por la “S” con los que disfruto

jugando, que he tenido que

Servidor Doméstico ODROID-XU4 June 1, 2018

En diciembre de 2017, monté mi propio servidor multimedia doméstico Odroid XU4(https://goo.gl/6tT6rt) ya que tuve algunos problemas con la conguración anterior.Lamentablemente, en este montaje no tuve en cuenta ni la estética ni el cableado, solo

me centré en la funcionalidad, porque necesitaba un servidor funcional y no me

Carputer – Pantalla Táctil Android de 7″ June 1, 2018

Este es un CarPuter Android de pantalla táctil de 7” con GPS USB muy preciso,Bluetooth 4, entrada y salida de audio de 3.5MM, WiFi y una pantalla magnéticaajustable. Tienes disponible un archivo sketchup para personalizarlo y cambiar el

tamaño según sea necesario en https://www.thingiverse.com/thing:2720349. Como técnico de ServicioLocales

Introducción a los Conceptos Básicos de BASH – Parte 2: ComandosBASH Útiles para Ordenadores de placa Reducida June 1, 2018

Last time, we learned about the ‘ls’ and ‘tree’ commands. While looking at things isnice, it’s more fun to actually do something with our data. This article contains a list of

the common commands for manipulating data. The command and its explanation are kept very brief to avoidwriting

Page 4: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Juegos Linux: Emulación Nintendo 64 – Parte 2 June 1, 2018

La Parte 1 de este artículo hemos presentado la última versión del emulador deNintendo 64 para Linux y hemos comparado su rendimiento en todas las placasODROID actuales. Esta segunda parte presenta una descripción general de algunos de

los juegos más populares de Nintendo 64, entre los que se

Page 5: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Thundroid: El Perfecto Nodo Bitcoin Lightning June 1, 2018 By @stadicus ODROID-XU4, Tutoriales

El Bitcoin es una moneda digital nativa de la era deInternet. Podría decirse que otra monedainternacional, pero sin un país de origen, de modoque desafía las fronteras, las políticas comerciales y lainación arbitraria. En el documento técnico de 2008(https://bitcoin.org/bitcoin.pdf) Satoshi Nakamoto ladescribe como “… una versión electrónica de dineropuramente de igual a igual [que] permitiría realizarpagos on line directamente desde una parte a otra sinpasar por una institución nanciera “.

Ser de igual a igual signica que Bitcoin no dependede un intermediario, como un banco, y puedetransferirse como un activo al portador, como eldinero físico, sin pedirle permiso a nadie. No necesitaalmacenarse físicamente ya que está protegido poruna clave criptográca, de modo que puedetransferirse en minutos a cualquier persona encualquier parte del mundo. Un componente clave deeste sistema nanciero de código abierto gratuito esel blockchain, un libro de contabilidad que realiza un

seguimiento de quién posee bitcoin y cuánto posee.Éste es almacenado como una copia idéntica portodos los usuarios que deciden ejecutar un nodocompleto Bitcoin. Puedes aprender másen bitcoin.org.

El Bitcoin es un experimento económico de unamagnitud épica, y su éxito no es seguro en absoluto.En cualquier caso, Bitcoin como nueva tecnología esun esfuerzo increíblemente interesante,especialmente debido a su naturalezainterdisciplinaria y la baja barrera para su acceso. ElBitcoin como moneda sólida, escasa y no inacionariaque desafía el dinero como uno de los últimosauténticos monopolios de los estados nacionales,podría tener un gran impacto en los principioseconómicos y en la sociedad en general.

De momento, Bitcoin es más bien un depótico devalor y realmente no está hecho para hacer pequeñastransacciones diarias. Los verdaderos blockchains

Page 6: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

descentralizados son un recurso escaso y no puedenescalarse para dar cabida a todas las transaccionesglobales. Si lo piensas bien, no puede ser muyadecuado almacenar todas compras de un café demanera redundante en todo el mundo para toda laeternidad. Sería como obligar a que todo el mundo sedescargara el correo electrónico de toda la gente.Estas limitaciones podrían motivar la creación de unamejor tecnología en lo que respecta a los blockchainsde Bitcoin que permitiera escalarseexponencialmente, en lugar de simplemente hacersemás grandes de forma lineal.

Aquí es donde entra en acción la denominada“Lightning Network”. Como una de múltiples ynovedosas extensiones del blockchain, promete darcabida a transacciones casi ilimitadas, conconrmación instantánea, tarifas mínimas y unamayor privacidad. Suena a algo demasiado buenopara ser verdad, pero esta tecnología está muyexplotada, comprometida con los valores del códigoabierto de cypherpunk y aprovecha los sólidosfundamentos del Bitcoin. Pincha aquí para sabermás.

Para preservar la naturaleza descentralizada de estesistema monetario, es importante que todo el mundotenga al menos la posibilidad de ejecutar su propionodo Bitcoin, preferiblemente con un hardware debajo coste como el ODROID.

NOTA: Ten en cuenta que, si bien el Bitcoin ha sidopuesto a prueba durante casi una década, LightningNetwork aún está en fase beta y su desarrollocontinúa siendo muy elevado. Esta guía también tepermite congurar tu nodo Bitcoin sin tener encuenta la parte Lightning. Lee con atención la sección“Mejores prácticas nancieras” antes de comprometertu noto al Bitcoin real.

Objetivo

Esta guía te permitirá ser tu propio banco. El objetivoes congurar un nodo Bitcoin y Lightning que:

Permita validar totalmente un Nodo Bitcoin completo yno requiera conar en un tercero.

Sea able tenerlo activo las 24 horas del día, los 7 díasde la semana

Forme parte de y apoye la descentralización de la redLightning mediante el enrutamiento de pagos

Se pueda usar para enviar y recibir pagos personalesusando la interfaz de línea de comando.

El servidor está congurado sin interfaz gráca deusuario y se gestiona de forma remota utilizando lalínea de comandos Secure Shell (SSH). También puedefuncionar como un backend de Bitcoin personal parala billetera de escritorio Electrum.

Destinatarios

Aunque esta guía se esfuerza por proporcionarinstrucciones simples y evidentes, el objetivo tambiénes hacerlo todo por nuestra cuenta, sin atajos queimpliquen conar en un tercero. Esto ha hecho queesta guía se vuelva un tanto técnica, pero he tratadode hacerla lo más sencilla posible para que logresentender lo básico sobre el cómo y el por qué.

Advertencia

Todos los componentes de la red Lightning están aúnen desarrollo y aquí manejamos dinero real. Esta guíasigue un enfoque conservador: primero congura ypruebalo todo en TestNet Bitcoin, luego, una vez queestés lo sucientemente seguro como para ponerdinero real en línea, cambia a Mainnet Bitcoin conunos simples cambios.

Preparativos

Tras publicar la “Guía para principiantes sobreLightning en una Raspberry Pi”, empecé a explorarotro hardware ya que la Raspberry Pi tiene algunosinconvenientes, principalmente en el área derendimiento y la dicultad que presenta a la hora deconectar sistemas de almacenamiento externo, alogque es muy importante a la hora de almacenar elamplio blockchain Bitcoin.

El ODROID-HC2 de Hardkernel(http://www.hardkernel.com/main/products/prdt_info.php) o el HC1 en un formato más pequeño comomini PC basada en Linux, se adapta perfectamente.Comparandolo con un Raspberry Pi, tiene lassiguientes ventajas:

Precio equiparable al de la Raspberry Pi

Page 7: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Más potente (CPU de 8 núcleos, 2 GB de RAM, EthernetGigabit)

Alojamiento interno con disco duro, conexión directacon SATA3

Solo un adaptador de corriente para todo

No cuenta con determinadas características como sonla salida HDMI, Wi-Fi integrado o los pines GPIO, peroéstas no son importantes para este proyecto enconcreto. El rendimiento es bastante mayor, de modoque parece estar preparado para el futuro ya queestoy seguro que el Bitcoin y Lightning seguiránevolucionando.

Figura 1 – El rendimiento de ODROID-HC2 es idéntico alXU4 (que es más bien un PC multimedia)

Una vez que opté por este hardware, compre elODROID-HC2 y, después de congurarlo y ejecutarlodurante dos meses, puedo decir que es lo mejoropción para un nodo Bitcoin/Lightning de bajo coste.Como este proyecto también necesita un nombreñoño, llamaré a mi nodo Thundroid.

Hice un pedido con los siguientes artículosdirectamente a Hardkernel en Singapur.Hay distribuidores disponibles en todo el mundo,pero desafortunadamente no para Suiza.

ODROID-HC2 – 54$(http://www.hardkernel.com/main/products/prdt_info.php?g_code=G151505170472)

Adaptador de corriente y cable – 7$(http://www.hardkernel.com/main/products/prdt_info.php?g_code=G151578376044)

Carcasa ODROID-HC2 (opcional) – 5$(http://www.hardkernel.com/main/products/prdt_info.php?g_code=G151)

También necesitas lo siguiente:

Tarjeta Micro SD: 16 GB, incluido un adaptador para tuordenador habitual

Disco duro interno: 500 GB o más, SATA, HDD 3,5 “oHDD/SSD de 2,5”

Cable de red RJ45

El montaje es sencillo: simplemente inserta el discoduro y fíjalo con los tornillos incluidos con tu ODROID.Si has comprado la carcasa de plástico, deslícelasobre la estructura de metal.

Instalando el sistema operativo

Utilizamos Ubuntu 16.04.03 LTE (Sistema operativomínimo, básico) proporcionado por Hardkernel.Descarga la imagen desde la sección de ODROID-XU4en wiki.odroid.com

Archivo exacto utilizado:https://odroid.in/ubuntu_16.04lts/ubuntu-16.04.3-4.14-minimal-odroid-xu4-20171213.img.xz

Descarga la imagen, guárdala en tu tarjeta MicroSD,colócala en tu Thundroid, conécta éste a tu red através de un cable y enchufa el adaptador decorriente. El arranque inicial puede durar variosminutos.

Congura tu router de red para que éste asigne unadirección IP estática a tu Thundroid.

Trabajando en tu Thundroid

Anota tus contraseñas

Necesitarás varias contraseñas, me resulta más fácilescribirlas todas al principio, en lugar de buscarlas alo largo de toda la guía. Deben ser únicas y seguras,con una extensión de al menos de 12 caracteres. Nouses espacios en blanco, comillas o caracteresespeciales poco comunes

Contraseña de usuario

Contraseña de Bitcoin RPC

Contraseña de la API Lightning

Contraseña de semilla Lightning

Guarda una copia de tus contraseñas en un lugarseguro (preferiblemente en un administrador decontraseñas como KeePass o LastPass) y mantén tus

Page 8: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

notas originales fuera de la vista una vez que elsistema esté funcionando.

La línea de comandos

Todo está congurado desde el prompt de comandosde Linux. A lo largo de toda esta guía utilizaré lassiguientes anotaciones:

#: Esto es un comentario, sólo para información $:Esto es un comando de una sola línea para introducir(sin $) y conrmar con la tecla Intro Sin prejo: Esto elel resultado del comando anterior o algo que sepuede copiar/pegar en un archivo.

Comandos de autocompletado: cuando introducescomandos, puedes usar el tabulador para completarautomáticamente, ej. para comandos, directorios onombres de archivo.

Historial de comandos: presionando las echas haciaarriba y hacia abajo en el teclado, puede recuperar loscomandos introducidos previamente.

Usar los privilegios de administrador: nuestrosusuarios no tienen privilegios de administrador. Si uncomando necesita editar la conguración del sistema,necesitamos usar el comando ‘sudo’ (“superuser do”)como prejo. En lugar de editar un archivo de sistemacon “nano /etc/fstab”, usaremos “sudo nano/etc/fstab”.

Usando el editor de texto Nano: Utilizaremos el editorNano para crear nuevos archivos de texto o editar losexistentes. No es complicado, pero guardar y salir noes muy intuitivo. Para Guardar: presiona “Ctrl-O” (paraSalir), conrma el nombre del archivo y presiona“Intro”. Para Salir: presionar “Ctrl-X”

* ** Copiar/Pegar **: si estás utilizando Windows y elcliente SSH PuTTY, puede copiar texto desde el shellseleccionándolo con el ratón (sin necesidad de hacerclic en nada) y pegar cosas en la posición del cursorcon un clic derecho en cualquier parte de la ventanaSSH.

Conectando a Thundroid

Es hora de conectarse a través de SSH y ponerse atrabajar. Para ello, necesitas un cliente Secure Shell(SSH). Instalar, iniciar y conectar:

Windows: recomiendo usar el cliente SSH [KiTTY](http://kitty.9bis.com). Puedes copiar texto desde el

shell seleccionándolo con el ratón (sin necesidad dehacer clic en nada) y pegar cosas con un clic derecho.

Mac OS: cliente SSH integrado(http://osxdaily.com/2017/04/28/howto-ssh-client-mac/)

Linux: simplemente usa el comando nativo, ej. [email protected]

Usa los siguientes parámetros de conexión SSH:

Host Name: la dirección estática que conguraste en elrouter, ej. 192.168.0.20

Port: 22

Username: root

Password: odroid

Conguración básica

Ahora estás conectado por línea de comandos a tupropio nodo Bitcoin. En primer lugar, nos ocupamosde la conguración básica. Introduce los siguientescomandos:

# change root password to [password A]

$ passwd

# update the operating system

$ apt update

$ apt upgrade

$ apt dist­upgrade

$ apt install linux­image­xu3

# answer [y], then [no] (do not abort)

# install some additional software

$ apt install htop git curl bash­completion jq

# set time zone & localization

$ dpkg­reconfigure tzdata

$ dpkg­reconfigure locales

Cuando utilices el editor de texto Nano, puedes usarlos mismos atajos de teclado para guardar (Ctrl-O,conrmar o cambiar el nombre del archivo, ypresiona Intro) y para salir (Ctrl-X).

# change hostname (replace "odroid" with

"thundroid" :) in both files

$ nano /etc/hostname

$ nano /etc/hosts

# create user "admin", set [password A] and

Page 9: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

make it a superuser

$ adduser admin

$ adduser admin sudo

# create user "bitcoin" and set password

[password A]

$ sudo adduser bitcoin

Montando el disco duro

El disco duro externo está conectado al sistema dearchivos y se puede acceder a él como una carpetanormal. Esto se denomina “montaje”. Como unainstalación de servidor, el sistema nativo de archivosLinux Ext4 es la mejor opción para el disco duroexterno.

NOTA: ¡Todos los datos de este disco duro seborrarán con los siguientes pasos!

# get NAME for hard disk

$ lsblk ­o UUID,NAME,FSTYPE,SIZE,LABEL,MODEL

# format hard disk (use [NAME] from above, e.g

/dev/sda1)

$ mkfs.ext4 /dev/[NAME]

# get UUID for hard disk, copy into notepad

$ lsblk ­o UUID,NAME,FSTYPE,SIZE,LABEL,MODEL

# edit fstab and enter new line (replace UUID)

at the end, save & exit

$ nano /etc/fstab

UUID=123456 /mnt/hdd ext4 noexec,defaults 0 0

# create mount point, mount, check and set

owner

$ mkdir /mnt/hdd

$ mount ­a

$ df /mnt/hdd

Filesystem 1K­blocks Used Available Use%

Mounted on

/dev/sda1 961300808 600388836 312057600 66%

/mnt/hdd

$ chown ­R bitcoin:bitcoin /mnt/hdd/

Moviendo el archivo Swap

El uso de un archivo Swap puede degradar muyrápido la tarjeta SD. Por lo tanto, lo moveremos aldisco duro externo.

# install necessary software package

$ apt install dphys­swapfile

# change configuration file to use swapfile on

external hard disk

$ nano /etc/dphys­swapfile

CONF_SWAPFILE=/mnt/hdd/swapfile

# enable new swap configuration

$ sudo dphys­swapfile setup

$ sudo dphys­swapfile swapon

# reboot, login as "admin" and delete old

swapfile

$ restart shutdown ­r now

$ sudo rm /var/swap

Forticando tu Thundroid

Tu Thundroid será visible desde Internet y es por elloque debe estar protegido contra posibles ataques. Unrewall controla el tráco y cierra posibles agujerosde seguridad. Inicia sesión como “admin” (nousaremos “root” nuevamente).

UFW: Uncomplicated Firewall

El rewall deniega por defecto todos los intentos deconexión por parte de otros usuarios y permite quesolo sean utilizados determinados puertosespecícos.

ADVERTENCIA: La línea “ufw allow from192.168.0.0/24 …W que aparece a continuaciónasume que la dirección IP de tu Thundroid es algo asícomo ‘192.168.0. ???’ ‘, siendo los signos deinterrogación cualquier número de 0 al 255. Si tudirección IP es ’12 .34.56.78 ‘, debe cambiar esta líneapor “ufw allow from 12.34.56.0/24 …”. De lo contrario,te bloquearás a ti mismo para siempre.

# change session to "root"

$ sudo su

$ apt install ufw

$ ufw default deny incoming

$ ufw default allow outgoing

# make sure to use the correct subnet mask

(see warning above)

$ ufw allow from 192.168.0.0/24 to any port 22

comment 'allow SSH from local LAN'

Page 10: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

$ ufw allow 9735 comment 'allow Lightning'

$ ufw deny 8333 comment 'deny Bitcoin mainnet'

$ ufw allow 18333 comment 'allow Bitcoin

testnet'

$ ufw enable

$ systemctl enable ufw

$ ufw status

# exit "root" session back to "admin"

$ exit

Fail2ban

Fail2ban monitoriza los intentos de inicio de sesiónpor SSH y bloquea a un interlocutor remoto durante10 minutos tras cinco intentos de sesión fallidos. Estohace que un ataque de fuerza bruta sea inviable, yaque simplemente llevaría demasiado tiempo.

$ sudo apt install fail2ban

Claves SSH

Una de las mejores opciones para proteger el iniciode sesión por SSH es deshabilitar completamente elinicio de sesión mediante contraseña y requerir uncerticado de clave SSH. Solo alguien que poseasicamente la clave privada puede iniciar sesión.

Congura las claves SSH para el usuario “admin”siguiendo este artículo: Congure “No Password SSHKeys Authentication” with PuTTY on Linux Servers

Ahora debería contar con tres archivos creados.Guárdalos, ya que ahora vamos a desactivar el iniciode sesión por contraseña.

Figura 2 – Listado de archivos con las claves SSH

Cierra sesión (‘Exit’) y asegúrate de que puedes iniciarsesión como “admin” con tu clave SSH

Edita el archivo de conguración SSH

$ sudo nano /etc/ssh/sshd_config

Cambia la conguración“ChallengeResponseAuthentication” y“PasswordAuthentication” a “no” (descomenta la líneaeliminando el signo # si fuera necesario), guarda loscambios y salte.

Figura 3 – conguración de SSH

# copy the ssh key to user "root", just in

case

$ sudo mkdir /root/.ssh

$ sudo cp /home/admin/.ssh/authorized_keys

/root/.ssh/

$ sudo chown ­R root:root /root/.ssh/

$ sudo chmod ­R 700 /root/.ssh/

$ sudo systemctl restart ssh

# exit and login again with your private key

$ exit

Ahora solo puedes iniciar sesión con “admin” o “root”y tu clave SSH. Como no puedes conectar unapantalla al ODROID, SSH es tu única opción.

RECUERDA: ¡Haz una copia de seguridad de tu claveSSH! ¡No tienes ninguna otra alternativa para iniciarsesión! En el peor de los casos, necesitarás grabar latarjeta MicroSD y congurar nuevamente el sistema;las cosas importantes seguirán estando en el discoduro.

Aumenta tu límite de archivos abiertos

En caso de que tu Thundroid se inunde consolicitudes de Internet, honestas o maliciosas debidoa un ataque DDoS, te encontrará rápidamente con elerror “can’t accept connection: too many open les’ “.Esto se debe a un límite con los archivos abiertos (querepresentan conexiones TCP individuales), el cualtiene un valor demasiado bajo.

Page 11: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Edite los siguientes tres archivos, agrega las líneasadicionales justo antes del comentario nal, guardalos cambios y salte.

$ sudo nano /etc/security/limits.conf

* soft nofile 128000

* hard nofile 128000

root soft nofile 128000

root hard nofile 128000

Figura 4 – Editando pam.d/limits.conf.png

$ sudo nano /etc/pam.d/common­session

session required pam_limits.so

Figura 5

$ sudo nano /etc/pam.d/common­session­

noninteractive

session required pam_limits.so

Figura 6 – Editando pam.d/common-session-noninteractive

Bitcoin

La base del nodo Lightning es un nodo de Bitcoincompletamente seguro(https://bitcoin.org/en/bitcoin-core/). Mantiene unacopia completa del blockchain y valida todas lastransacciones y bloques. Al hacer todo este trabajonosotros mismos, no necesitamos que nadie más nosaporte conanza.

Al principio, usaremos TestNet Bitcoin parafamiliarizarnos con sus operaciones. Estasincronización es gestionada directamente porThundroid y no debería tardar más de unas cuantashoras. Simplemente déjalo sincronizar por la noche.

Instalación

Descargaremos el software directamente desdebitcoin.org, vericaremos su rma para asegurarnosde que usaremos una versión ocial y la instalaremos.

Inicia sesión como “admin” y crea una carpeta para ladescarga:

$ mkdir /home/admin/download

$ cd /home/admin/download

Descargaremos los últimos binarios de Bitcoin Core ycomparamos el archivo con la suma de vericaciónrmada. Esto lo hacemos simplemente porprecaución para asegurarnos de que se trata de unaversión ocial y no de una maliciosa que intenta robarnuestro dinero.

Hazte con los últimos enlaces de descarga enbitcoin.org/en/download. Suelen cambiar con cadaactualización. Ejecuta los siguientes comandos con losnombres de archivo modicados y verica elresultado donde se te indique.

# download Bitcoin Core binary

$ wget https://bitcoin.org/bin/bitcoin­core­

0.16.0/bitcoin­0.16.0­arm­linux­

gnueabihf.tar.gz

$ wget https://bitcoin.org/bin/bitcoin­core­

0.16.0/SHA256SUMS.asc

$ wget https://bitcoin.org/laanwj­releases.asc

# check that the reference checksum matches

the real checksum

# (ignore the "lines are improperly formatted"

warning)

$ sha256sum ­­check SHA256SUMS.asc ­­ignore­

missing

> bitcoin­0.16.0­arm­linux­gnueabihf.tar.gz:

OK

# manually check the fingerprint of the public

key

$ gpg ­­with­fingerprint ./laanwj­releases.asc

> 01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2

Page 12: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

E964

# import the public key of Wladimir van der

Laan, verify the signed checksum file

# and check the fingerprint again in case of

malicious keys

$ gpg ­­import ./laanwj­releases.asc

$ gpg ­­verify SHA256SUMS.asc

> gpg: Good signature from Wladimir ...

> Primary key fingerprint: 01EA 5486 DE18 A882

D4C2 6845 90C8 019E 36C2 E964

Figura 7 – Comandos para vericar la rma bitcoind

Extrae los binarios Bitcoin Core, instálalos y verica laversión.

$ tar ­xvf bitcoin­0.16.0­arm­linux­

gnueabihf.tar.gz

$ sudo install ­m 0755 ­o root ­g root ­t

/usr/local/bin bitcoin­0.16.0/bin/*

$ bitcoind ­­version

> Bitcoin Core Daemon version v0.16.0

Prepara el directorio Bitcoin Core

Usamos el demonio Bitcoin, llamado “bitcoind”, quese ejecuta en segundo plano sin interfaz de usuario yque almacena todos los datos en el directorio‘/home/bitcoin/.bitcoin’. En lugar de crear undirectorio como tal, creamos un enlace que apunte aun directorio del disco duro externo.

# change to user "bitcoin"

$ sudo su bitcoin

# add symbolic link that points to the

external hard drive

$ mkdir /mnt/hdd/bitcoin

$ ln ­s /mnt/hdd/bitcoin

/home/bitcoin/.bitcoin

# Navigate to home directory and check the

symbolic link (the target must not be red).

$ cd

$ ls ­la

El contenido de este directorio estará en realidad enel disco duro externo.

Figura 8 – Vericando el enlace simbólico de .bitcoin

Conguración

Necesitamos crear el archivo de conguración parabitcoind. Ábrelo con Nano y pega la siguienteconguración. Guarda y Salte.

$ nano /home/bitcoin/.bitcoin/bitcoin.conf

# Thundroid: bitcoind configuration

# /home/bitcoin/.bitcoin/bitcoin.conf

# remove the following line to enable Bitcoin

mainnet

testnet=1

# Bitcoind options

server=1

daemon=1

txindex=1

disablewallet=1

# Connection settings

rpcuser=bitcoin

rpcpassword=PASSWORD_[B]

zmqpubrawblock=tcp://127.0.0.1:29000

zmqpubrawtx=tcp://127.0.0.1:29000

# Optimizations for limited hardware

dbcache=100

maxorphantx=10

maxmempool=50

maxconnections=40

maxuploadtarget=5000

NOTA: Cambia rpcpassword por una contraseñasegura, de lo contrario tus fondos podrían serrobados.

Inicio automático de bitcoind

El sistema necesita ejecutar el demonio bitcoinautomáticamente en segundo plano, incluso cuandonadie esté conectado. Usamos “systemd”, un

Page 13: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

demonio que controla el proceso de inicio usando losarchivos de conguración.

Salte de la sesión de usuario “bitcoin” para volver alusuario “admin”

$ exit

Crea el archivo de conguración con el editor de textoNano y copia el siguiente párrafo. Guardalo y Salte.

$ sudo nano

/etc/systemd/system/bitcoind.service

# Thundroid: systemd unit for bitcoind

# /etc/systemd/system/bitcoind.service

[Unit]

Description=Bitcoin daemon

After=network.target

[Service]

ExecStart=/usr/local/bin/bitcoind ­daemon ­

conf=/home/bitcoin/.bitcoin/bitcoin.conf ­

pid=/run/bitcoind/bitcoind.pid

# Creates /run/bitcoind owned by bitcoin

RuntimeDirectory=bitcoind

User=bitcoin

Group=bitcoin

Type=forking

PIDFile=/run/bitcoind/bitcoind.pid

Restart=on­failure

# Hardening measures

####################

# Provide a private /tmp and /var/tmp.

PrivateTmp=true

# Mount /usr, /boot/ and /etc read­only for

the process.

ProtectSystem=full

# Disallow the process and all of its children

to gain

# new privileges through execve().

NoNewPrivileges=true

# Use a new /dev namespace only populated with

API pseudo devices

# such as /dev/null, /dev/zero and

/dev/random.

PrivateDevices=true

# Deny the creation of writable and executable

memory mappings.

MemoryDenyWriteExecute=true

[Install]

WantedBy=multi­user.target

Habilita el archivo de conguración:

$ sudo systemctl enable bitcoind.service

Copia ‘bitcoin.conf’ en el directorio de inicio delusuario “admin” para las credenciales RPC:

$ mkdir /home/admin/.bitcoin

$ sudo cp /home/bitcoin/.bitcoin/bitcoin.conf

/home/admin/.bitcoin/

Reinicia Thundroid

$ sudo shutdown ­r now

Vericación de las operaciones de bitcoind

Después de reiniciar, el bitcoind debería empezar asincronizar y validar el blockchain de Bitcoin. Esperaun poco, vuelve a conectarte a través de SSH e iniciesesión con el usuario “admin”. Verica el estado deldemonio Bitcoin, el cual fue iniciado por systemd(salte con ‘Ctrl-C’).

$ systemctl status bitcoind

Figura 9 – Estado de Bitcoind

Pueder ver el bitcoind en acción monitorizando suregistro log (salte con ‘Ctrl-C’):

$ sudo tail ­f

/home/bitcoin/.bitcoin/testnet3/debug.log

Utiliza el cliente Bitcoin Core ‘bitcoin-cli’ para obtenerinformación sobre el blockchain actual:

$ bitcoin­cli getblockchaininfo

NOTA: Cuando “Bitcoind” se esté iniciando, puede querecibas un mensaje de error “verifying blocks”. Esnormal, simplemente espere unos minutos.

Page 14: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Entre mucha otra información, aparecerá el“vericationprogress”. Una vez que este valor alcancecasi 1 (0,999 …), el blockchain está actualizado ycompletamente validado.

Lightning Network

Descargaremos e instalaremos el LND (LightningNetwork Daemon) desde Lightning Labshttp://lightning.engineering/. Visita su repositorioGithub(https://github.com/lightningnetwork/lnd/blob/master/README.md) para obtener abundanteinformación sobre su proyecto de código abierto yLightning en general.

Instalar LND

Ahora viene lo bueno: descarga, verica e instala losarchivos binarios LND.

$ cd /home/admin/download

$ wget

https://github.com/lightningnetwork/lnd/releas

es/download/v0.4.1­beta/lnd­linux­arm­v0.4.1­

beta.tar.gz

$ wget

https://github.com/lightningnetwork/lnd/releas

es/download/v0.4.1­beta/manifest­v0.4.1­

beta.txt

$ wget

https://github.com/lightningnetwork/lnd/releas

es/download/v0.4.1­beta/manifest­v0.4.1­

beta.txt.sig

$ wget

https://keybase.io/roasbeef/pgp_keys.asc

$ sha256sum ­­check manifest­v0.4.1­beta.txt ­

­ignore­missing

> lnd­linux­arm­v0.4­beta.tar.gz: OK

$ gpg ./pgp_keys.asc

> pub 4096R/DD637C21 2017­09­12 Olaoluwa

Osuntokun <[email protected]>

> sub 4096R/5FA079A1 2017­09­12 [expires:

2021­09­12]

> 65317176B6857F98834EDBE8964EA263DD637C21

$ gpg ­­import ./pgp_keys.asc

$ gpg ­­verify manifest­v0.4.1­beta.txt.sig

> gpg: Good signature from "Olaoluwa Osuntokun

<[email protected]>" [unknown]

> Primary key fingerprint: 6531 7176 B685 7F98

834E DBE8 964E A263 DD63 7C21

Figura 10 – Suma de vericación LND

$ tar ­xzf lnd­linux­arm­v0.4.1­beta.tar.gz

$ ls ­la

$ sudo install ­m 0755 ­o root ­g root ­t

/usr/local/bin lnd­linux­arm­v0.4.1­beta/*

$ lnd ­­version

> lnd version 0.4.1­beta commit=

Congurar LND

Ahora que LND esta instalado lo conguraremos,debemos congurarlo para que funcione con BitcoinCore y se ejecute automáticamente al inicio.

Abre una sesión de usuario “bitcoin”:

$ sudo su bitcoin

Crea el directorio de trabajo LND y el enlace simbólicocorrespondiente:

$ mkdir /mnt/hdd/lnd

$ ln ­s /mnt/hdd/lnd /home/bitcoin/.lnd

$ cd

$ ls ­la

Figura 11 – Comprobando enlace simbólico LND

Crea el archivo de conguración LND y pega elsiguiente contenido (ajústalo a tu alias). Guardalo ySalte.

'$ nano /home/bitcoin/.lnd/lnd.conf'

# Thundroid: lnd configuration

# /home/bitcoin/.lnd/lnd.conf

[Application Options]

Page 15: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

debuglevel=info

debughtlc=true

maxpendingchannels=5

alias=YOUR_NAME [LND]

color=#68F442

[Bitcoin]

bitcoin.active=1

# enable either testnet or mainnet

bitcoin.testnet=1

#bitcoin.mainnet=1

bitcoin.node=bitcoind

[autopilot]

autopilot.active=1

autopilot.maxchannels=5

autopilot.allocation=0.6

Información Adicional

Figura 12 – sample-lnd.conf

Dentro del repositorio del proyecto LND:

Salte de la sesión de usuario “bitcoin” para volver a“admin”

$ exit

Crea una unidad systemd LND con el siguientecontenido. Guarda y Salte.

$ sudo nano /etc/systemd/system/lnd.service

# Thundroid: systemd unit for lnd

# /etc/systemd/system/lnd.service

[Unit]

Description=LND Lightning Daemon

Wants=bitcoind.service

After=bitcoind.service

[Service]

ExecStart=/usr/local/bin/lnd

PIDFile=/home/bitcoin/.lnd/lnd.pid

User=bitcoin

Group=bitcoin

LimitNOFILE=128000

Type=simple

KillMode=process

TimeoutSec=180

Restart=always

RestartSec=60

[Install]

WantedBy=multi­user.target

Activa e inicia LND

$ sudo systemctl enable lnd

$ sudo systemctl start lnd

$ systemctl status lnd

Monitoriza el aregistro log de LND en tiempo real(salte con ‘Ctrl-C’)

$ sudo journalctl ­f ­u lnd

Congurar la billetera LND

Una vez que LND se inicie, el proceso nos espera paraque creemos la billetera Bitcoin integrada. No usa labilletera bitcoind.

Inicia una sesión con el usuario “bitcoin”

$ sudo su bitcoin

Crear la billetera LND

$ lncli create

Si quieres crear una nueva billetera, introduce tu‘password [C]’ como contraseña de la billetera,selecciona ‘n’ en relación a una semilla existente eintroduce el ‘password [D]’ opcional como contraseñade la semilla. Se creará una nueva semilla de cifradoque consta de 24 palabras.

Figura 13 – Nueva semilla de cifrado LND

Estas 24 palabras, combinadas con tu contraseña(‘password [D]’ opcional) es todo lo que necesitas pararestaurar tu billetera Bitcoin y todos los canales

Page 16: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Lighting. El estado actual de tus canales, sin embargo,no pueden crearse de nuevo desde esta semilla, yaque esto aún se encuentra en fase de desarrollo paraLND.

NOTA: Esta información debe mantenerse en secretoen todo momento. Anota estas 24 palabrasmanualmente en un pedazo de papel y guárdalo enun lugar seguro. ¡Este pedazo de papel es todo lo quenecestia un atacante para vaciar completamente subilletera! No lo guarde en un ordenador. No tomesuna foto con tu teléfono móvil. Esta informaciónnunca debe almacenarse en formato digital en ningúnlugar.

Salte de la sesión de usuario “bitcoin”

$ exit

Asignar permisos LND a “admin”

Comprueba si se han creado los archivos de permiso“admin.macaroon” y “readonly.macaroon”. De locontrario, consulta el problema nº 890 abierto de LND(https://github.com/lightningnetwork/lnd/issues/890).

$ ls ­la /home/bitcoin/.lnd/

Figura 14 – vericación

Copia los archivos de permiso y el certicado TLS alusuario “admin” para usar “lncli”.

$ mkdir /home/admin/.lnd

$ sudo cp /home/bitcoin/.lnd/tls.cert

/home/admin/.lnd

$ sudo cp /home/bitcoin/.lnd/admin.macaroon

/home/admin/.lnd

$ sudo chown ­R admin:admin /home/admin/.lnd/

Asegúrate de que ‘lncli’ funciona desbloqueando tubilletera (introduce el ‘password [C]’) y aparecerácierta información del nodo.

$ sudo systemctl restart lnd

$ lncli unlock

Monitoriza el progreso de arranque de LND hasta quealcance el blockchain testnet (aproximadamente 1,3millones de bloques en este momento). Esto puedetardar hasta 2 horas. Después, verás pasar unaparrafada muy rápido. Salte con ‘Ctrl-C’.

$ sudo journalctl ­f ­u lnd

Conseguir algo de bitcoin testnet

Ahora tu nodo Lightning está listo. Para usarlo entestnet, puedes conseguir un bitcoin testnet gratisdesde un faucet.

Genera una nueva dirección Bitcoin para recibirfondos en cadena

$ lncli newaddress np2wkh

'> "address":

"2NCoq9q7............dkuca5LzPXnJ9NQ"

Conseguir bitcoin testnet:

<https://testnet.manu.backend.hamburg/faucet>

Comprueba el saldo de tu billetera LND.

$ lncli walletbalance

Monitoriza tu transacción (el faucet muestra el ID deTX) en un explorador de Blockchain:

<https://testnet.smartbit.com.au>

LND en acción

Tan pronto como tu operación de nanciación seaminada y conrmada, LND comenzará a abrir ymantener canales. Esta función se denomina“Autopilot” y está congurada en el archivo “lnd.conf”.Si desea mantener tus canales manualmente, puededesactivar el piloto automático.

Recibete a ti mismo una solicitud de pago enStarBlocks (https://starblocks.acinq.co/#/) o Y’alls(https://yalls.org/) y mueve algunas monedas.

Algunos comandos que puedes intentar:

Listar todos los argumentos de la interfaz de línea decomando (cli)

$ lncli

Page 17: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Obtener ayuda de un argumento especíco

$ lncli help [ARGUMENT]

Conocer algunas estadísticas generales sobre tunodo:

$ lncli getinfo

Conéctarse a un nodo compañero (puede encontraralgunos nodos para conectarte aquí:https://1ml.com/)

$ lncli connect [NODE_URI]

Verica los nodos a los que está conectadoactualmente:

$ lncli listpeers

Abrir un canal con un nodo/compañero:

$ lncli openchannel [NODE_PUBKEY]

[AMOUNT_IN_SATOSHIS] 0

Ten en cuenta que [NODE_URI] incluye @IP:PORT alnal, mientras que [NODE_PUBKEY] no.

Verica el estado de tus canales pendientes:

$ lncli pendingchannels

Verica el estado de tus canales activos:

$ lncli listchannels

Antes de pagar una factura, debes descodicarla paravericar si la cantidad y la información que contieneson correctos:

$ lncli decodepayreq [INVOICE]

Paga una factura:

$ lncli payinvoice [INVOICE]

Verica los pagos que has enviado:

$ lncli listpayments

Crea una factura:

$ lncli addinvoice [AMOUNT_IN_SATOSHIS]

Listar todas las facturas:

$ lncli listinvoices

Para cerrar un canal, necesitsa los dos argumentossiguientes que se pueden determinar con‘listchannels’ y que aparecen listados como“channelpoint”: ‘FUNDING_TXID’: ‘OUTPUT_INDEX’.

$ lncli listchannels

$ lncli closechannel [FUNDING_TXID]

[OUTPUT_INDEX]

Para forzar el cierre de un canal (si tu compañero noestá conectado o no coopera), usa

$ lncli closechannel ­­force [FUNDING_TXID]

[OUTPUT_INDEX]

Consulta la referencia de la API Lightning(http://api.lightning.community/) para obtenerinformación adicional

Preparar el mainnet Bitcoin

En la segunda parte de esta guía moveremos el nodoThundroid Bitcoin & Lightning al mainnet Bitcoin, queusa un blockchain diferente. Al igual que el pequeñoblockchain testnet, la blockchain mainnet registratodas las transacciones de Bitcoin y básicamentedene quién tiene bitcoins y cuántos tiene. Esta es lainformación más importante y no debemos conar enque otra persona nos proporcione esta información.Para congurar nuestro Nodo completo Bitcoin enmainnet, necesitamos:

Descargar todo el blockchain (~ 200 GB)

Vericar cada transacción de Bitcoin que haya tenidolugar y cada bloque que se haya minado

Crear una base de datos índice para todas lastransacciones, de modo que podamos consultarla másadelante

Calcular todos los saldos de direcciones de bitcoin(llamado el conjunto UTXO)

Consulta “Running a Full Node”(https://bitcoin.org/en/full-node) para obtenerinformación adicional.

Como te puedes imaginar Thundroid no está a laaltura de esta gran tarea. La descarga no es elproblema, la cuestión está en que procesar

Page 18: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

inicialmente todo el blockchain llevaría variassemanas debido a las restricciones de recursos.Necesitamos descargar y vericar el blockchain conBitcoin Core en un ordenador normal y luegotransferir los datos al Thundroid. Esto solo se haceuna vez. Después, Thundroid puede mantenerse aldía con los nuevos bloques.

Para cambiar a mainnet, el blockchain mainnetdebería estar listo, de esta manera empezaríamoscon esta tarea.

Usando un ordenador normal

Suponemos que utilizaras una ordeandor conWindows para esta tarea, aunque puedes realizarlacon la mayoría de sistemas operativos. Necesitastener aproximadamente 250 GB de espacio libre endisco, internamente o en un disco duro externo.Como la indexación crea un tráco pesado delectura/escritura, cuanto más rápido sea tu discoduro, mejor. Una unidad interna o un disco duroexterno USB3 será signicativamente más rápido queuno disco con conexión USB2.

Descargar y vericar Bitcoin Core

Descarga el instalador Bitcoin Core desdebitcoin.org/download y guárdalo en el directorio quedeseas utilizar para descargar el blockchain. Paravericar la autenticidad del programa, calcula susuma de vericación y compárala con las sumas devericación proporcionadas.

En Windows, antepondré a todos los comandos quenecesitamos introducir el signo “>”, de modo que conel comando “> cd bitcoin”, simplemente introduce “cdbitcoin” y presiona Intro.

Abre el prompt de comandos de Windows (‘Win + R’,introduce ‘cmd’, pulsa ‘Intro’), navega hasta eldirectorio bitcoin (en mi caso, está en la unidad ‘D:’,comprobada con el Explorador de Windows) y crea elnuevo directorio ‘bitcoin_mainnet’. Luego calcula lasuma de vericación del programa descargado.

> G:

> cd itcoin

> mkdir bitcoin_mainnet

> dir

> certutil ­hashfile bitcoin­0.16.0­win64­

setup.exe sha256

6d93ba3b9c3e34f74ccfaeacc79f968755ba0da1e2d75c

e654cf276feb2aa16d

(Figura 15 – Prompt de comandos de Windows:comprobando la suma de vericación)

Puedes comparar estas sumas de vericación con lassumas de vericación de referencia en tu Thundroiddesde el archivo que hemos descargadoanteriormente y que ya ha vericado tu autenticidad.Compara el siguiente resultado con la suma devericación de tu descarga de Bitcoin Core paraWindows.

# on Thundroid, with user "admin"

$ cat /home/admin/download/SHA256SUMS.asc |

grep win

7558249b04527d7d0bf2663f9cfe76d6c5f83ae90e5132

41f94fda6151396a29 bitcoin­0.16.0­win32­

setup.exe

60d65d6e57f42164e1c04bb5bb65156d87f0433825a1c1

f1f5f6aebf5c8df424 bitcoin­0.16.0­win32.zip

6d93ba3b9c3e34f74ccfaeacc79f968755ba0da1e2d75c

e654cf276feb2aa16d bitcoin­0.16.0­win64­

setup.exe

42706da1a95b2db8c5808529f73c2063a0dd770f71e0c8

506bfa86dc0f3403ef bitcoin­0.16.0­win64.zip

Instalando de Bitcoin Core

Ejecuta el archivo de instalación de Bitcoin Core. Esposible que tengas que hacer clic derecho y elegir“Ejecutar como administrador”. Instálalo usando laconguración por defecto. Inicia el programa ‘bitcoin-qt.exe’ localizado en el directorio “C:ProgramFilesBitcoin”. Elije tu nueva carpeta “bitcoin_mainnet”como directorio de datos personalizado.

Page 19: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 16 – Seleccionando el directorio de Bitcoin Core

Bitcoin Core abre y empieza a sincronizarinmediatamente el blockchain. Ahora, necesitamosaplicar una conguración adicional muy importanteen el archivo “bitcoin.conf”. Si no se aplica, todo elblockchain será inútil y necesitará ser revalidado.Usando el menú, abre “Settings”/“Options” y haz clicen el botón “Open Conguration File”. Introduce lasiguiente línea:

$ txindex=1

Si tu ordenador tiene mucha memoria, puedesaumentar la caché en memoria de la base de datosañadiendo la siguiente línea (con los megabytes dememoria que se van a usar, ajustándolo a tuordenador):

$ dbcache=6000

Guarda y cierra el archivo de texto, salte de BitcoinCore usando “File”/”Exit” y reinicia el programa. Elprograma empezará a sincronizar nuevamente.

Deja que el blockchain se sincronice, esto le llevará undía o dos.

Antes de pasar a mainnet

En la parte 2 de esta guía, haremos la transición almainnet Bitcoin. Este será un punto sin retorno. Hastaaquí, puedes empezar de nuevo. Experimenta contestnet bitcoin. Abre y cierra canales en el testnet. Esimportante que te sientas seguro a la hora de realizaroperaciones con Thundroid, antes de poner dineroreal en línea.

Una vez que cambies a mainnet y envies Bitcoin real atu Thundroid, tienes “entras en el juego”.

Asegúrate de que tu RaspiBolt está funcionando segúnlo previsto. Práctica un poco con “bitcoin-cli” y susopciones. Consulta la documentación de Bitcoin CoreRPC (https://bitcoin-rpc.github.io/)

Realiza ejecuciones simuladas con “lncli” y sus muchasopciones. Consulta la referencia de la API de Lightning(http://api.lightning.community/)

Prueba algunos reinicios (“sudo shutdown -r now”).¿Todo se inicia bien?

Nos vemos pronto en la parte 2, “El perfecto nodoBitcoin Lightning ”.

Page 20: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Juegos Linux: Emulación Nintendo 64 – Parte 1 June 1, 2018 By Tobias Schaaf Juegos, Linux

La emulación de la Nintendo 64 ha evolucionadorecientemente permitiendo que se pueda ejecutar entodos los dispositivos ODROID, utilizando el emuladorindependiente Mupen64plus o el núcleo Libretro paraRetroarch. Ahora que está mucho más accesible, hedecidido hacer una comparativa no solo de la versiónindependiente y el núcleo Libretro, sino también delas diferentes plataformas ODROID, para evaluar supotencial a la hora de emular la consola Nintendo 64(N64). Ten en cuenta que este artículo sólo se centraen la emulación con Linux, y no tiene en cuanta paranada Android, aunque existen varios emuladores deNintendo 64 disponibles para Android, comoMupen64plus y N64oid.

Información general

Me llevó un tiempo lograr que la emulación N64funcionara en todas las placas ODROID bajo Linux. Sinembargo, ahora que lo he conseguido, es bastantedivertido y abre muchas posibilidades a la hora de

ejecutar los clásicos juegos de N64. Esperemos queen el futuro veamos más mejoras y dispongamos deun mejor soporte para los emuladores N64 en losdispositivos ODROID bajo Linux. Por ahora, tenemosalgunas restricciones. Solo el XU3 puede usar elnúcleo Libretro bajo Linux, que tiene mejores grácosy es más fácil de controlar que el emuladorindependiente Mupen64plus. Mupen64plus seejecuta en el resto de dispositivos ODROID, como esen la serie Exynos 4 (X, X2, U2 y U3), así como en elmás reciente, aunque menos potente ODROID-C1.Ambas versiones ofrecen diferentes plugins ymétodos para ejecutar los juegos.

Plugins grácos

Ya sea usando Mupen64plus o el núcleo Libretro, seutilizan diferentes plugins para mostrar los grácosde los juegos. Mupen64plus puede usar un plugin devideo llamado rice, y otro llamado glide64mk2. Elnúcleo Libretro ofrece rice, glide64 y otro llamado

Page 21: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

gln64. Mientras los probaba, descubrí que el mejorvideocore depende del propio juego. Sin embargo,parece que glide ofrece mejores funciones grácasque el plugin rice, pero presenta algunos fallosmenores que no están presentes en el plugin devideo rice. Usando el independiente Mupen64plus,rice es incapaz de escalar la relación de aspecto ysiempre ajusta el juego al tamaño máximo de turesolución de video. Esto distorsiona la imagen,haciendo que los personajes y objetos se muestrenmás gradnes de lo normal. El ODROID-C1 funcionamejor cuando se utiliza el plugin de video Rice, ya queglide64mk2 no funciona a menos que la profundidadde color se reduzca a 16 bits, lo cual hace que losefectos de transparencia queden desactivados. Estotambién causa problemas si intentas ver películas oquiere iniciar otras aplicaciones que requieran más de16 bits. Puesto que las pruebas iniciales con el C1 notuvieron mucho éxito, decidí volver a probar cadajuego en 16 bits utilizando el núcleo de videoglide64mk2. Parece ser que hay una solución usandocontroladores framebuer en lugar de controladoresX11 y recuriendo a algunos scripts que permitencambiar la resolución y la profundidad de color, perocomo mi ODROID GameStation Turbo usa drivers X11por defecto, no dedique tiempo a realizar pruebascon framebuer. El plugin glide en los dispositivos dela serie Exynos 4 (X, X2, U2 y U3) funciona bien yrespeta la relación de aspecto con una buena calidaden general, aunque puede llegar a ser un poco máslento que rice en determinados juegos. Glide,además, parece reproducir la imagen un tanto másoscura de lo que lo hace rice, lo cual probablementese deba a que faltan algunas opciones de sombreado.El plugin glide64mk2 en los dispositivos Exynos 4 es elplugin de grácos preferido para el independienteMupen64plus. El XU3 puede usar rice, glide64 y gln64,aunque glide64 parece ser la mejor opción paraODROID en este momento.

Mandos

Afortunadamente los Joysticks funcionan muy bien entodos los dispositivos ODROID, lo que signica quetodos los emuladores (mupen64plus y libretro) sontotalmente compatibles con cualquier mando para

jugar. El emulador Mupen64plus congura losmandos automáticamente, pero no todos los mandosfuncionan a la perfección con la conguración pordefecto. Gracias a Retroarch en el XU3, puedecongurar cualquier mando asignando manualmentelos botones, de esta forma cualquier mando puedeser 100% compatible. Normalmente, deberías poderactivar el soporte para la vibración en los mandos,aunque yo tuve problemas para habilitarlo con todoslos emuladores y mandos. Pude usarla con algunosmandos del estilo de la PS3 en el emuladorindependiente Mupen64plus, pero no pude activar lavibración con el núcleo Libretro.

Sonido

El sonido funciona bastante bien en prácticamentetodos los emuladores, no he encontrado ningúnproblema importante con él. Aunque si es verdad queun juego presentaba retardos en el sonido, lo queprovocaba que los efectos no estuvieransincronizados con la acción mostrada en pantalla.Ésta fue una excepción y no lo he vuelto a ver enningún otro juego.

Selección de juegos

¿Estás listo para jugar a tus juegos favoritos deNintendo 64 en ODROID? Bueno, eso es exactamentelo que queremos probar y descubrir: ¿Funcionan tusjuegos favoritos? Para dar respuesta a esa pregunta,he realizado una busqueda sobre los que, en líneasgenerales se consideran los mejores juegos de N64.Luego he seleccionado algunos de ellos paraprobarlos, tal y como se muestra en las Figuras 1 y 2.Espero que encuentres algunos de tus juegosfavoritos en esta lista.

Page 22: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figuras 1 – Lista de algunos de los juegos de N64 dediferentes géneros más preferidos

Banjo-Kazooie

Banjo-Kazooie es un juego de plataformas que mezclalas carreras y los saltos con la aventura y la acción.Juegas como el oso Banjo tratando de salvar a tuhermana que ha sido secuestrada por una bruja.Tiene un amigo Kazooie the Pajaro, con quiennecesitas resolver un par de acertijos. Como lamayoría de los juegos de Rareware, es bastantedivertido y tiene un estilo un tanto cómico.

Figura 2 – Banjo Kazooie)

U3

En general, el juego se ejecuta de forma aceptable enel U3. A veces es un poco lento, especialmentedurante la intro. Las intro de los juegos Rare sonnormalmente bastante largas y no se pueden omitir.En el XU3 y el núcleo Libretro, es posible aumentar lavelocidad del emulador, de modo que puedes hacerque la introducción avance más rápido. Aún no hevisto esta opción en el emulador independienteMupen64plus, lo cual signica que tienes que esperarun tiempo. Además, las fuentes no son las correctas

en el emulador independiente, lo cual es un pocomolesto. El juego se vuelve algo lento después deestar jugándolo un tiempo. Utilicé las opciones deconguración del emulador para activar elframeskipping con un máximo de tres fotogramas, locual aumentó considerablemente la velocidad delmismo. Con esta conguración, nos encontramosante un juego realmente bueno, con el únicoproblema de las fuentes que he mencionado. Decidídejar la opción frameskipping congurada en tresfotogramas para el resto de juegos.

C1 – plugin rice

Para el C1, utilicé el emulador independienteMupen64plus, usando el plugin rice, ya que no queríacambiar los colores a 16 bits. Además, rice es algomás rápido que glide64mk2, y se adapta mejor al C1.También tuve que activar frameskip con el plugin ricepara que el juego funcionase sin problemas. Sinframeskipping, el sonido presenta retardo y laexperiencia no es muy buena. Aunque rice no respetala relación de aspecto, no se ve del todo mal. Losproblemas con las fuentes que aparecen conglide64mk2 no existen en rice, de modo que lasfuentes parecen ser las normales. Con el frameskipactivado, el juego se ejecuta sorprendentementerápido en el C1, lo cual me sorprendió. Si el juegofuera capaz de soportar una adecuada relación deaspecto, estaríamos ante un juego que se ejecutaría ala perfección sobre el C1

C1 – glide64mk2

Banjo-Kazooie se ejecuta en el ODROID-C1 usandoglide64mk2, pero es extremadamente lento y noresulta divertido. El plugin Rice con la profundidad delcolor congurada a 32 bits funciona mucho mejor queglide64mk2 a 16 bits.

XU3

XU3 usa el núcleo Libretro de Mupen64plus yRetroarch para emular el juego, y la experiencia en elXU3 es la mejor de las tres plataformas. El emuladorejecuta glide2gl como plugin de video, que parece sermucho mejor que el anterior glide64mk2, y noreproduce los colores tan oscuros. El núcleo Libretrono tiene la característica del frameskip que ofrece el

Page 23: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

emulador Mupen64plus, lo cual signica queúnicamente puede funcionar tan rápido como lo seala propia placa en la que se ejecuta, pudiéndoseobservar algunas ralentizaciones, dependiendo de lasescenas. En Banjo-Kazooie, esto sucede en laintroducción, pero no es de lo peor. Los grácos seven mucho mejor con Libretro, siendo el juegototalmente jugable.

Conker’s Bad Fur Day

Conker’s Bad Fur Day es otro juego de Rarewaresimilar a Banjo-Kazooie. Sin embargo, no es adecuadopara niños pequeños debido a sus continuasreferencias a las drogas y al alcohol junto con unlenguaje un tanto rudo, a pesar de su estilo cómico.También encontrarás que algunos personajes soniguales en ambos juegos. Este juego es una mezcla demuchos géneros, en su mayor parte saltar-correr yaventura de acción, pero da la sensación de ser másbien un shooter en primera persona con mezcla deotros géneros. El juego es, de hecho, uno de misfavoritos para Nintendo 64, y algunas personas leotorgan muy buenas críticas: http://bit.ly/1bo6odW.Muy recomendable para adultos y adolescentes.

Figura 3 – Conker’s Bad Fur Day

U3

El U3 con el emulador independiente Mupen64plustambién es un poco lento para Conker’s Bad Fur Day,hay escenas en las que se percibe un cierto retardo,lo cual afecta a los controles. A veces éstos reaccionanmuy lento, lo cual es bastante molesto durante lospuzzles de salto. El plugin glide64mk2 hace que los

grácos sean muy oscuros, especialmente durante lasescenas del castillo. Cuando te encuentran enhabitaciones oscuras, casi todo se ve negro endeterminados lugares.

U3 – plugin rice

Mientras que el U3 tiene problemas de velocidad, elC1 falla casi por completo porque éste simplementeno es lo sucientemente potente como para ejecutarun juego tan exigente como Conker’s Bad Fur Day. Elplugin de grácos rice también tiene muchosproblemas con este juego, bordes negros y grácosdistorsionados, no resultan muy agradables. Aunqueel juego en líneas generales funciona, es bastantelento. Algunas escenas son de hecho losucientemente rápidas para ser consideradas comojugables, pero están lejos de alcanzar la máximavelocidad. Por todo ello, considero que este juego enimpracticable sobre el ODROID-C1.

U3 – glide64mk2

Conker funciona mejor con el plugin glide64mk2 quecon el plugin rice. No llega a la velocidad máxima,pero si puedes tolerar un poco de retardo, es jugable.

XU3

El XU3 es el que ofrece mejor experiencia de juegocuando ejecutamos Conker’s Bad Fur Day. El juego,aunque no se ejecuta a toda velocidad, es másuniforme en el XU3. Con el plugin glide2gl se ve muybien y solo presenta unos cuantos problemas. No hellegado muy lejos en el juego ahora mismo, de modoque no puedo comparar el rendimiento de los nivelesposteriores, especialmente a la hora de conducirtanques y hacer uso de los modos de francotirador.

Earthworm Jim 3D

Earthworm Jim es un buen shooter de acción deplataformas sobre un gusano llamado Jim, que hasido alcanzado por un traje espacial avanzado,transformándolo en un héroe. Mientras que el juegofue en primer lugar un gran éxito en la SNES, SEGAGenesis e incluso en la Playstation 1, con la N64, sedio un paso más transformando el juego desde unaplataforma 2D en un juego de acción en 3D.

Page 24: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 4 – Earthworm Jim 3D

U3

La experiencia de juego del Earthworm Jim 3D entodos los ODROID es muy agradable. El U3 ejecuta elemulador muy rápido y con uidez, con algunos fallosgrácos menores ocasionales. Puesto que el juego esbastante colorido y brillante con recintos iluminadossin sombras ni rincones oscuros, la oscuridad grácadel glide64mk2 que afecta a otros juegos no seaprecia al jugar Earthworm Jim 3D, lo cual mejorarealmente la experiencia del juego.

C1 – plugin rice

Aunque la intro y la demo del juego son rápidos, nopude empezar a jugar. La primera escena en la quehablas con uno de tus amigos no es solo lenta, sinoque la ventana que se supone que muestra el textopermanece vacía y no reproduce nada. Los botonestampoco responden, de modo que te encuentrasatascado incluso antes de empezar el juego. Esprobable que esto sea solo un error con rice, perocomo no he probado glide64mk2 en el C1, no puedoarmar que funcione bajo este plugin. Por lo tanto,solo puedo decir que Earthworm Jim no funciona enel C1.

C1 – glide64mk2

Este juego funciona muy bien con el pluginglide64mk2, sin problemas grácos ni ralentizaciones.Todo funciona como era de esperar.

XU3

Como el C1 con glide64mk2 y el U3 son losucientemente potentes como para jugar conuidez, no nos sorprenderá que la experiencia dejuego en el XU3 también sea perfecta. Si te gustan losbuenos juegos de plataforma de acción,denitivamente te tienes que hacer con éste, aunquepresenta algunos fallos menores. Algunos de losobjetos que puedes recoger no se muestrancorrectamente. Parecen estar demasiado altos y amenudo solo ves una sombra donde se supone quedeberían estar los objetos. Aun así, puedesrecogerlos, simplemente son invisibles, aparte de esoel juego funciona a la perfección.

GoldenEye 007

GoldenEye 007 se encuentra en la lista de los 10mejores juegos del N64, ya que el juego supuso unaauténtica revolución por aquel entonces. No soloofrece buenos grácos, sino que también eraconocido por su impresionante modo multijugador.La historia y las misiones de un jugador también sonmuy emocionantes y también muy divertidas.GoldenEye es un shooter en primera personabastante formal con el toque adecuado de agentesecreto. Aunque no es tan espectacular como CateArcher, James Bond lucha o se cuela a través dediferentes niveles y tiene que defenderse de losguardias y espías enemigos. Sin embargo, Cate Archersiempre será mi espía favorito en situaciones deriesgo. Aunque este juego tiene muy buenas críticaspara el N64, realmente no me gustan demasiado losshooters en primera persona para las consolas. Porconsiguiente, no es uno de mis juegos favoritos,aunque he de reconocer que es bastante divertido.

Figura 5 – GoldenEye 007

U3

Page 25: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

El juego funciona muy bien en el U3. A excepción dela breve escena de la introducción, no he observadoralentizaciones ni dentro ni fuera de los edicios.Tuve algunos problemas a la hora de usar el mandoinalámbrico XBox 360 con el stick analógico correcto,lo cual dicultaba el movimiento del juego. Sinembargo, si usamos únicamente el stick analógicoizquierdo parece ser que es la mejor opción a la horade jugar.

C1 – plugin rice

El C1 también tiene problemas grácos con elcomplemento rice en este juego. Ni el logotipo, ni laintro son visibles, ambos se muestran ocultos tras unmarco negro. La escena que causaba unaralentización masiva a 8 fps en el U3 es demasiadopara el C1, y el emulador se detiene por completo ynalmente, se bloquea. Observando el ODROIDmientras ejecutaba el juego, me di cuenta de quecuando aparece la ralentización, el uso de la RAM sedispara hasta el punto de agotarse toda la RAMdisponible. Después, usa la partición swap y acontinuación, el memory killer naliza el emulador, locual no sucede en el U3. Entonces decidí cambiar alplugin rice en el U3, y aunque el emulador era muchomás lento que con glide64mk2, funcionabacorrectamente sin que aparecieran pantallas negras oproblemas de memoria, no llegando a bloquearse.Por lo tanto, llegue a la conclusión de quesimplemente se trataba de un problema con el propioC1.

C1 – glide64mk2

El juego funciona con glide64mk2, pero la velocidadvaría siendo muy lento en algunos casos y alcanzadomáxima velocidad en otros. Se puede jugar, pero notan bien como en el U3 o XU3.

XU3

El juego se ejecuta una velocidad decente en el XU3usando el núcleo Libretro. Los grácos se ven muybien, pero presentan recesos en algunas ocasionales,aunque no de una forma que impida jugar. Tambiénpude usar el mando XBox 360 sin ningún problema.

Kirby 64: The Crystal Shards

¿Quién no reconoce al pequeño Kirby? Este juego esmuy adecuado para niños y presenta grácos muygraciosos. El amiguito de color rosa tipo marshmallowpuede succionar sus enemigos y tragarselos paraabsorber sus poderes. La versión N64 tienemagnícos grácos en 3D y es bastante fácil de jugar,lo cual lo hace perfecto para niños. Aunque el juegose muestra en 3D, los niveles son muy lineales.Puedes ir a la izquierda, derecha, arriba y abajo, perono puede caminar libremente por el mapa, lo queprobablemente redujo en gran medida el tamaño delmapa y permitió asignar un mejor rendimiento a losefectos. El juego es similar a Mario 64, pero sinmovimiento libre en todas las direcciones.

Figura 6 – Kirby 64: The Crystal Shards

U3

La experiencia en general es bastante buena, y eljuego funciona perfectamente a máxima velocidad.Sin embargo, presenta algunos fallos grácos con elsuelo y las sombras que lo hacen parpadear enalgunas situaciones. También tuve ciertos problemascon los controles. Tuve que usar un mando diferente,ya que mi mando XBox 360 no funcionaría con estejuego. Parece que el movimiento solo funciona con elD-Pad, que no está disponible en el joystick Xbox 360.Tras cambiar a un mando “Thrustmaster Dual Trigger3 en 1”, que es similar a un mando PS3, los controlesde movimiento empezaron a funcionar y se podíajugar sin problemas al margen de los fallos técnicosque he mencionado anteriormente. La experienciadel juego es realmente suave y divertida. Los grácosson adorables y las escenas realmente encajanperfectamente en este tipo de juegos.

C1 – plugin rice

Page 26: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

La experiencia con el C1 fue diferente a la del U3, erainesperadamente lenta. Las escenas eran tan lentasque decidí omitirlas, en lugar de esperar a que sereprodujeran. Sin embargo, los fallos grácos habíandesaparecido. La jugabilidad era más lenta de loesperado, con un cierto desfase en algunas escenas,mientras que, en otras, apenas se podía percibir.Esperaba que funcionase mejor en el C1.

C1 – glide64mk2

Kirby funciona bien con glide64mk2, con algunosproblemas menores con las sombras y las texturasdel suelo.

XU3

El XU3 ejecuta Kirby sin problema. Los grácos,aunque no tan malos como en el U3, presentanalgunos fallos, como son los efectos que no semuestran en el suelo, pero que sí se muestrannormalmente al saltar o en las plataformas elevadas.Como el XU3 puedes usar el núcleo Libretro, no hayningún problema con los mandos, pudes usar unmando XBox 360 con total normalidad.

Próxima publicación: ¡Más análisis de juegos deNintendo 64, incluyendo Mario Kart, Mario Party yPaper Mario!

Page 27: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Marco de Fotos Digital: Pantalla 4K de 55 Pulgadas Para FotosDigitales por unos 400$ June 1, 2018 By @tung256 ODROID-C2, Mecaniqueo

Existen muchos tutoriales sobre cómo hacer un buenmarco de fotos digital con una Raspberry Pi.Lamentablemente, la Raspberry Pi no es compatiblecon resoluciones 4K. El ODROID-C2 puede manejarfácilmente resoluciones 4K, pero ninguno de estostutoriales de Raspberry Pi funcionan para la unidadC2. Me llevó más de 30 horas llegar a donde estoyhoy. Si quieres puedes comprar uno en Memento(mementosmartframe.com) por 900$ de 35 pulgadas4K, o un televisor Samsung por alrededor de 1300$.

Figura 1 – Esta pared ha estado vacía durante tres años

Deseaba tener un bonito póster o una pantallaretroiluminada, pero éstas suelen ser muy costosas ysolo pueden mostrar una foto al mismo tiempo. Trasuna corta espera, observé que había disponible untelevisor 4K de 55 pulgadas en Walmart por 260$.Añadí 26$ para la garantía de 3 años y los impuestos,el coste nal ascendió a 306$.

Page 28: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 2 – Añadir una toma de corriente cerca deltelevisor para que diera un aspecto más limpio

Logre pescar un cable del calibre 12 Romex de unatoma de corriente cercana. ¡Asegúrate de apagar laelectricidad antes de realizar esta tarea! Haytutoriales muy detallados disponibles en YouTubepara instalar una toma de luz. De hecho, olvidé tomarfotos y videos mientras instalaba la mía. ¡Lo siento!

Reúne todos los materiales que necesitarás

TV 4K de 55 pulgadas de Walmart, 260$ a 30 de abrilde 2018.

ODROID-C2 con adaptador de corriente en forma decilindro, 65$ con envío de 4 días en EE. UU. No use elcable micro USB para la alimentación, no es losucientemente bueno. Compré mi unidad y cable dealimentación en Ameridroid.com.

Cable HDMI de alta velocidad de Monoprice.com, 5$.Certicado para trabajar con 4K 60hz y con escalacromática 4:4:4.

Unidad ash de 32GB para guardar fotos, 15$.

Tarjeta microSD de 8GB, 4$.

Combo teclado y USB Wireless, 30$.

Adaptador WiFi USB opcional, 10$.

Todos los precios están sujetos a cambios. Mis costesfueron en realidad más bajos porque disponía dealgunos elementos a mano procedentes de otrosproyectos.

Figura 3 – El marco de fotos digital ODROID-C2 montadoen la pared

Instala Ubuntu matede https://wiki.odroid.com/odroid-c2/os_images/ubuntu/v2.4. Graba la imagen ISOdescargada en la tarjeta microSD usando laherramienta Win32disk. Inserta tu tarjeta microSD enel ODROID-C2. Conecta el cable HDMI desde C2 altelevisor. Enciéndelo y asegúrate de que todos loselementos estén conectados al ODROID-C2. Puedesomitir la conexión de la unidad USB y del adaptadorWi USB por ahora. Deja que Ubuntu se inicie ynalice el proceso. Una vez hecho, te pedirá que iniciesesión.

User ID: odroid Password: odroid

Activa el inicio de sesión automático para que notenga que iniciar sesión manualmente cada vez queenciendas el C2. Dirígete al menú Applications/SystemTools/Mate Terminal y escribe:

$ sudo nano

/usr/share/lightdm/lightdm.conf.d/60­lightdm­

gtk­greeter.conf

Si te solicita una contraseña, escriba “odroid”. Escribela línea de inicio de sesión automático. El archivo naldebería verse así:

[Seat:*] greeter­session=lightdm­gtk­greeter

autologin­user=odroid

Presiona CTRL + X para salir, o “Y” para guardar elarchivo. Instala FEH para ver fotos. En la mismaventana de terminal, escribe los siguientes comandos,presionando “Y” para conrmar, si te pregunta:

Page 29: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

$ sudo apt­get install feh

Mis fotos están editadas con una resolución 4K a3840 x 2160 píxeles. Copia tus fotos en una unidadUSB y conéctala al ODROID-C2. Usa tu ratón paranavegar al directorio /home/odroid y haz clic derechopara crear un documento vacío. Yo lo llamé pixx.sh,pero puedes ponerle el nombre que quieras. Abrepixx.sh y añade lo siguiente dentro:

$ sleep 15

$ feh ­­quiet ­­fullscreen ­­borderless ­­

hide­pointer ­­randomize ­­slideshow­delay 30

/media/odroid/38C1­602E/*

El nombre de tu unidad USB será diferente al mío. Enmi caso, la unidad se llama “38C1-602E”. Para localizarel nombre de tu USB, simplemente navega amedia/odroid y lo verás. Cambia el valor de retardode la presentación de diapositivas de 30 segundos alo que quieras. Guarda el archivo y ciérralo. Haz clicderecho en pixx.sh para ver sus propiedades. Hazlo“executable” con una de las opciones.

Añade pixx.sh al menú de inicio automático. Dirígeteal menú System/Preferences/Personal/StartupApplications y haz clic en Add.

Name=slideshow

Command=(Selecciona el archivo pixx.sh desde dondelo tengas guardado)

Comment= slideshow autostart, haz clic en Add y salte

Desactiva el protector de pantalla dirigiéndote aSystem/Control Center y eligiendo Look and Feel,luego ScreenSaver. Desactiva “Activate Screensaver” ycualquier otra cosa que pueda activar el modoreposo. He olvidado todos los parámetros, aunquetodos están aquí. Vuelve a la ventana del terminal yescribe:

$ sudo reboot

Esto reiniciará el C2. Una vez reiniciado, deberíasiniciar sesión automáticamente, espera 15 segundos yluego empezará a mostrar las fotos almacenadas enla unidad USB. Presione ESC en tu teclado para salir

de FEH si lo necesitas. Yo dejo el mío ejecutándosetodo el tiempo. Solo apago el televisor si lo necesito.

Pasos opcionales

Figura 4 – El marco de fotos completamente montadomostrando fotos familiares

Añade más fotos a la unidad ash USB copiando ypegando en la unidad USB manualmente o a travésde FTP. Para cargar via FTP y así no tener quedesconectar físicamente la unidad USB, asegúrate deque el adaptador USB WiFi esté enchufado. Ve a laesquina superior derecha del menú de Ubuntu yconéctate a tu red WiFi.

Descargue FileZilla y conéctate al ODROID a través delprotocolo SFTP, no por el protocolo FTP. Introduce ladirección IP de tu C2 en el campo host:

user: odroid password: odroid login type: normal

Sube los nuevos archivos a tu dispositivomedia/odroid/usb y reinicia C2 para que FEH puedacargar las nuevas fotos en la memoria. Para girar lapantalla de visualización a modo vertical, ve alterminal y escribe:

$ sudo nano /etc/X11/xorg.conf

Añade dentro esta línea:

Option "Rotate" "CCW"

De modo que el resultado nal se verá así:

Section "Device"

Identifier "Mali FBDEV"

Driver "fbturbo"

Option "fbdev" "/dev/fb0"

Option "Rotate" "CCW"

Page 30: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Option "SwapbuffersWait" "true"

EndSection

Salte y guarda, luego reinicia el ordenador:

$ sudo reboot

Una vez que el televisor se haya iniciado nuevamente,la pantalla debería girarse al modo vertical.

Solución de problemas

Ubuntu se reinicia solo No hay suciente potencia. Noenciendas la unidad C2 a través del puerto micro USB.Enciende la unidad C2 a través del enchufe en forma

de cilindro que vende Ameridroid.com por unos 7$.Me lleve al menos 20 horas localizar donde estaba elproblema.

La TV muestra una pantalla en blanco o no tiene señalPrueba con otro cable HDMI o prueba con otro cablede alimentación para el C2.

La TV no muestra señal ¿Desactivaste el modo reposoo el protector de pantalla en Ubuntu?

Para comentarios, preguntas y sugerencias, visita elpost original enhttp://www.instructables.com/id/55inches-4K-Digital-Photo-Frame-Display/.

Page 31: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

SO Destacado: ODROID GameStation Turbo June 1, 2018 By Tobias Schaaf Juegos, ODROID-C2, ODROID-XU4

Uno de los proyectos más destacados en los queestoy trabajando para la comunidad ODROID es laimagen ODROID GameStation Turbo, que funcionacomo interfaz para juegos y reproducción multimedia.Está pensada para ser un sistema de entretenimientoque te permita controlar tu ODROID con solo usar unmando de juegos sin tener que tocar el teclado paraver películas, escuchar música o jugar a tus juegosfavoritos. Para comprender mejor la posible utilidadde la imagen, quisiera proporcionarte una visióninterna de cómo llegue a crear la imagen, qué memotivo a hacerla y cómo puedes adaptarla parasatisfacer tus propias necesidades.

Motivación

El primer dispositivo basados en tecnología ARM quetuve en cuenta fue en realidad Open Pandora, perocuando estuve listo para comprar uno, no estabadisponible. No obstante, incluso cuando volvió a estardisponible, era tan caro que no me lo podía permitir.

Finalmente, cuando logré reunir el suciente dinero,me volví un poco escéptico y decidí buscar otrasopciones. La placa Pandora es un dispositivo con unúnico núcleo ARM de solo 1GHz y con tan solo 512MBde RAM por 700$, ¿Realmente merece la pena?Bueno, aunque la comunidad era y sigue siendotremenda, y es un dispositivo totalmente portátil(como una Nintendo DS), en mi opinión, erademasiado caro para lo que podía hacer. En esemomento, había mejores dispositivos disponibles,incluido el ODROID. Después de ver el ODROID-X2 enun artículo en una página alemana de noticias TI,realmente me enganchó. Cuando se anunció Ubuntupara ODROID, me compré un X2. Sin embargo, para loque quería Pandora que era para ejecutar juegos,ODROID no tenía demasiados juegos por aquelentonces (2012). A medida que mis sobrinos se hacíanmayores, pensé que podría hacer algo realmentebueno para ellos que evolucionase con ellos a medidaque se hacían mayores. En primer lugar, el ODROID

Page 32: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

podría ser una consola que ejecutase juegos y mástarde funcionar como un PC para hacer tareasescolares y aprender Linux. Básicamente este fue miobjetivo y motivación para crear la imagen.

Pasos hacia el éxito

El primer paso para lograr mi objetivo era generarcontenido, de modo que tuve que exportar muchosjuegos y emuladores a ODROID. Si echas un vistazo ala sección de Ubuntu (All Linuxes) de ODROID Forum,encontrarás allí muchos juegos y programas que heexportado por mi cuenta. Me supuso bastanteesfuerzo, ya que pasé de no saber prácticamentenada sobre como exportar juegos y compilar softwareen Linux a tener amplios conocimientos de ello.ODROID fue de gran ayuda a la hora de aprendernuevas habilidades y mejorar aprendiendo con estetipo de cosas. Ahora, sé cómo optimizar ciertosprogramas, cómo aplicar diferentes indicadores deoptimización y cuándo son necesarios aplicar esosindicadores. Aprendí más sobre cómo funcionan lasCPU ARM y, especialmente, sobre los diferenteshardware de las placas de Hardkernel. Mi primerproyecto fue exportar muchos juegos y compilartambién algunos emuladores. Si ha leído mis artículospublicados en anteriores números de ODROIDMagazine, encontrarás mucha información sobre quéjuegos pueden ejecutarse realmente en ODROID, lalista sigue creciendo. El siguiente gran paso fue hacerque fuese sencillo, incluso para niños, usar y trabajarcon Linux y jugar a juegos. Empecé a montarGamestation Turbo partiendo de la imagen LinaroUbuntu 12.04. La escogí sobre el resto de imágenesde sistemas operativos porque incorporaba UnityDesktop. Unity es fácil de usar y entender inclusopara personas que nunca antes hayan usado Linux.Puede que no sea el mejor entorno de escritorio paratodas las aplicaciones, pero es colorido y fácil demanejar. Para alguien que nunca haya usado Linuxantes, es una muy buena forma de empezar conLinux. Lo primero que aborde fue intentar hacer quelos programas fueran lo sucientemente fáciles deejecutar en todo el sistema. Proporcioné a todas lasaplicaciones y juegos que creé un archivo de icono.desktop, para que puedas localizarlo en Unity osimplemente colocar un acceso directo en el

escritorio. Esto funcionaba muy bien con los juegos,pero no para los emuladores, ya que los emuladoresnormalmente usan su propia interfaz deadministrador de archivos para cargar los ROM.Aunque los adultos podrían ser capaces de iniciarmanualmente todos los juegos, los niños no tendránni idea de lo que signicaría determinadasexpresiones, y resultaba un tanto complicado ver quéjuegos están disponibles o qué buscar en Unity.Inmediatamente me quedó claro que necesitabaalgún tipo de interfaz para iniciar los juegos. Ya habíausado XBMC en una PC antiguo que funcionaba comoPC de cine en Casa (HTPC), y posteriormente descubríun buen complemento XBMC llamado Rom CollectionBrowser (RCB). RCB te permite organizar las ROM delemulador de la misma forma que organizas tucolección de videos. Incluso puede descargarimágenes de vista previa y portadas, y proporcionaruna breve descripción de los juegos, algo similar a losservicios de video para las películas.

Figura 1 – Rom Collection Browser en ODROIDGameStation Turbo

Sabiendo esto, me surgió la idea de utilizar XBMCcomo frontend y congurarlo para que los niñosjugaran y se divirtieran o, mejor dicho, congurarlo deforma que incluso un niño pudiera jugar con él. Poraquel entonces, la reproducción de video y XBMCacelerados por hardware estaban fuera de onda yaque su desarrollo aún no se había completado. Laversión XBMC que venía con Ubuntu 12.04 era XBMC11 (Eden), que funcionaba, pero no muy rápidodebido a la descodicación por software. Aunque elmenú funcionaba sin problemas, la reproducción devideo no era muy uida. Aun así, funcionaba losucientemente bien como para poder probar RomCollection Browser, y comencé experimentar como

Page 33: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

congurarlo todo. Cuando salió la primera imagen deXBMC 12 (Frodo) para ODROID, todavía no eracompatible con la reproducción de películasacelerada por hardware, pero sí que soportabaOpenGL ES 2. Las cosas se volvieron un tanto difícilesllegado a este punto, ya que la compilación del códigofuente de XBMC de Hardkernel no me funcionaba enmi caso, la versión que ofrecían no tenía soporte parajoystick, lo cual era algo que consideraba crucial enmis planes. Decidí que, ya que estaba pensada paraser una plataforma de juegos, la reproducción devideo no iba ser una característica tan importante,aun así, podía reproducir sin problemas todo lo queno era HD, siempre y cuando fuese 720p o menos. Alos niños, normalmente no les importa demasiado sisu anime o historieta favorita está en HD o solo enSD. Pues bien, fue en ese momento cuando se lanzóuna imagen de XBMC acelerada por hardware quefuncionaba, y fui capaz de reconstruir la imagen conel soporte de joystick necesario. Poco antes de lanzarla primera versión de GameStation Turbo, me pase auna versión XBMC completamente funcional.

Componentes que fueron incluidos

Después de decidir cómo debería funcionar laimagen, era importante unir todas las piezaspequeñas en una imagen muy bien empaquetada, ypara ello, se necesitaba realizar algunas tareas ycontar con diferentes tipos de programas para lograrlo que realmente quería hacer. La máxima prioridadla tenía el sistema operativo, tenía que ser muyestable, fácil de mantener y disponer de una interfazque le fuese familiar a muchas personas. Las únicasalternativas eran Ubuntu 12.04 y Debian Wheezy.Cualquier otra imagen o era inestable (Debian Jessie /Sid) o tenía soporte por poco tiempo (Ubuntu 13.04 ola recién lanzado 13.10). Ubuntu 12.04 es una versiónLTS que dispone de soporte hasta 2017, lo cualsiempre es bueno, sin embargo, Debian Wheezy teníamejor rendimiento que Ubuntu 12.04. Tambiéndescubrí mientras desarrollaba Debian Wheezy quelos programas tenían más posibilidades de ejecutarseen Ubuntu 12.04 y versiones posteriores sin ningúnproblema, pero no al revés. Así que, decidí usarDebian Wheezy y LXDE, que usa menos de 150 MB deRAM incluso con XBMC y un par de programas

ejecutándose. Después de esto, era cuestión dereunir el tipo de software adecuado para convertir elODROID en una máquina de juegos.

Rom Collection Browser

Utilicé Rom Collection Browser como base parainstalar diferentes tipos de emuladores comoRetoarch, Mednafen, PPSSPP y ScummVM. Una vezcompletada la conguración básica, resultó que notodo funcionaba con un gamepad con simplementeconectarlo, así que decidí incluir antimicro, que escapaz de asignar determinadas teclas a los botonesdel joystick con el n de cubrir las lagunas donde losdrivers del joystick no funcionaban. Tambiénmantengo mis propias compilaciones del kernel eincluyo los archivos cabecera, ya que algunas partesdel núcleo proporcionadas por Hardkernel nosatisfacían mis necesidades, no estando incluidos losarchivos cabecera. Además de esto, había unaenorme diferencia de espacio entre los módulos delkernel de hardkernel y el que yo produje. El tamañode la compilación de Hardkernel era de más de 300MB, pero la mío era tan solo 16 MB, que simplementese lograba depurando los módulos. Mis scriptstambién permiten a los usuarios instalar o desinstalarpaquetes del kernel, en lugar de simplemente copiarel kernel directamente sobre los archivos existentes.

Complicaciones

El mayor problema con el que me encontré fue el delograr que todas las piezas funcionasen en conjunto, yfacilitar a la gente el uso de la imagen, incluso si notienen conocimientos de cómo congura las cosas. ElRom Collection Browser era un tanto difícil de usarpara un principiante, ya que tenías que elegir elemulador, poner en marcha los parámetros yproporcionar la extensión estándar de los archivosROM para congurarlo y ejecutarlo. Así que tuve queidear un sistema que facilitase al usuario estacuestión. Había otro problema. Quería tener elcontrol total de Joystick (GamePad), pero algunosemuladores necesitaban además otras teclas, comoRetroarch y Mednafen que requerían la tecla ESC paranalizar el juego actual y volver a XBMC, y también losjuegos MAME que necesitaban introducir un “OK”para continuar.

Page 34: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Conguración

Un problema con la pre-conguración del RomCollection Browser era que necesita la ruta completadel lugar donde se encuentran el emulador y las ROM,y qué extensión de archivo se utiliza para buscar lasROMs. Esto puede ser bastante complicado paraalguien que nunca ha trabajado con Rom CollectionBrowser. Es por eso que pre-seleccioné el emulador ylos juegos, y creé una estructura de carpetas dondedeberían colocarse las ROM, para que Rom CollectionBrowser pudiera localizar los juegos. Se puedenagregar emuladores adicionales presionando la teclaC dentro de Rom Collection Browser y seleccionando“Add a new ROM collection”. Se debe indicar la rutadel emulador, la ruta de las ROMs, la ruta donde sedebe almacenar la información, las imágenes y laextensión de las ROMs para poder localizarlas Elarchivo de conguración de ROM Collection Browserse almacena en

/home/odroid/.xbmc/userdata/addon_data/script.

game.rom.collection.browser/config.xml

Al editar este archivo, también puedes cambiar otrasopciones, como si se debe extraer un archivo .zip enuna carpeta temporal y si se debe buscar una ROMdentro de un archivo .zip (que, por ejemplo, debedesactivarse para los juegos MAME). Si tienessuciente experiencia, incluso puedes añadir nuevascolecciones directamente en este archivo.

Iniciando un emulador

Aunque iniciar una ROM directamente a través delemulador sin duda alguna funciona, tiene un par dedesventajas. En primer lugar, XBMC seguiráejecutándose en segundo plano utilizando algunosrecursos que podrían ser necesarios para mejorar laexperiencia de juego. En segundo lugar, como hemencionado anteriormente, algunos emuladoresnecesitan teclas adicionales que no están asignadas alos botones. Si usa un joystick que no es compatible,necesitas antimicro para mapear los botones. Si esasí, debes asegurarte de que el antimicro se iniciacuando realmente lo necesites, lo que podría no sertan siempre como parece. Iniciar directamenteantimicro junto con el emulador tampoco funciona.

Para resolver estos y otros problemas, dejé que XBMCejecutara un pequeño script en lugar de iniciardirectamente el emulador. En ese script, se inicia elemulador, que luego ejecuta el archivo ROM que esofrecido al script como un parámetro de línea decomandos desde XBMC. De esta forma, puedo denirlos diferentes pasos que me aseguren que elemulador se ejecutará de la mejor forma posible.

Example: running an SNES game with Retroarch:

#!/bin/sh

/usr/bin/killall ­STOP xbmc.bin

if [ `ps aux | grep antimicro | grep ­v grep |

wc ­l` ­lt 1 ]; then

antimicro ­­tray ­­profile

/home/odroid/joydev.xml &

else

/usr/bin/killall ­CONT antimicro

fi

/usr/local/bin/retroarch ­L

/usr/local/share/retroarch/cores/working/snes9

x_next_libretro.so "$1"

/usr/bin/killall ­CONT xbmc.bin

/usr/bin/killall ­STOP antimicro

Si analizas el código anterior, podrás ver que XBMCestá congurado para que entre en modosuspensión, lo cual signica que no usará capacidadde procesamiento alguna mientras ejecutamosnuestro emulador. Después de esto, realizo unacomprobación para ver si se está ejecutandoantimicro y, o bien lo cargo con el archivo de perlrequerido, o lo reanudo en caso de que todavía estéen ejecución. A continuación, llamo al emulador en sí.Aquí puedo pasar parámetros de comando que mepermiten congurar el emulador. Una vez que naliceel emulador al salir del mismo, se reanuda XBMC y sesuspende antimicro. Justo después de que el scriptcomplete todo el proceso, el control vuelve a XBMC.Esto nos permite realizar algunos trabajos de limpiezaque quizás sean necesarios. Escribí varios scripts parapoder adaptarme a las diferentes circunstancias. Porejemplo, el script ScummVM y Amiga es un poco máscomplicado; pero en general es más o menos lomismo.

Suspende los procesos que no necesitas (por ejemplo,XBMC)

Page 35: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Congura tu entorno preparando el sistema con lascosas que necesitas (por ejemplo, cargar antimicro conel perl correcto)

Llama al emulador y le proporcionamos losparámetros que crees que vas a necesitar. El “$1”representa el archivo ROM que XBMC pasa comoparámetro.

Realiza un trabajo de limpieza y reanuda los procesosque suspendiste anteriormente

Todos los scripts que utilicé para iniciar losemuladores se encuentran en /usr/local/bin/, dondepuedes revisar, mejorar o añadir tus propios scripts.

FAQ

De vez en cuando, recibo algunas preguntas sobre miimagen que me gustaría responder a continuación amodo de Preguntas frecuentes.

¿Dónde tengo que poner los archivos ROM para misjuegos? Dirígete a /home/odroid/ROMS, dondeencontrarás una estructura de carpetas ya creadapara cada tipo de ROM que quieras ejecutar, comoGBA y SNES. Consulta el post del forohttp://bit.ly/1nVvQqz para obtener más detalles sobrequé extensiones de archivos son compatibles.

¿Hay alguna forma de cargar ROM desde unalmacenamiento externo? Copia los contenidos de/home/odroid/ROMS al dispositivo dealmacenamiento externo y luego montaautomáticamente el dispositivo externo en/home/odroid/ROMS agregándolo a /etc/fstab ousando /etc/rc.local para hacerlo permanente.

¿Qué joystick/gamepad son compatibles? Creé laimagen para utilizarla con un mando inalámbricoXbox 360 y un receptor USB inalámbrico Xbox 360. Demodo que, si tiene este hardware, la imagen deberíafuncionar de tirón sin tener que hacer ningunamodicación, a menos que haya olvidado algo.Además, cualquier joystick/gamepad compatible conLinux debería funcionar también, pero tendrás queadaptar la conguración a tu dispositivo. Por lo tanto,deberás cambiar la conguración del joystick en losemuladores de forma individual. Al ejecutarMednafen, puedes simplemente presionar ALT +MAYÚS + 1 para congurar los controles de tudispositivo. El programa de conguración es fácil de

entender. El segundo jugador, si lo soporta elemulador, se puede congurar con ALT + MAYÚS + 2,y así sucesivamente. Para Retroarch, es un poco máscomplicado. Salte de XBMC, abre un terminal yescribe retroarch-joycong, luego sigue lasinstrucciones de la pantalla. Al nal, obtendrás unalarga lista de parámetros de conguración en laventana de Terminal. Copia esta lista, luego abre elarchivo /home/odroid/.cong/retroarch/retroarch.cfg,donde encontrarás los mismos parámetros de la lista.Reemplaza los parámetros existentes con los queobtuviste con retroach-joycong, y tu dispositivodebería funcionar en retroarch.

Desafortunadamente, XBMC no admite muchosdispositivos con soporte de joystick. Aunque losmandos de la Xbox 360 funcionan muy bien, otrossimplemente no hacen nada. Con PPSSPP, puedescambiar la conguración del mando dentro delemulador simplemente dirigiéndote al menú. Sinembargo, en PPSSPP, la forma en que seimplementan los mandos es bastante lenta, de modoque sólo unos cuantos llegan a funcionar realmentebien. En el peor de los casos, ya no puedrás usar elteclado puesto que la conguración del mando no tepermitirá presionar ciertas teclas de dirección. Si estote sucede, elimina el archivo/home/odroid/.cong/ppsspp/PSP/SYSTEM/controls.ini y empieza de nuevo. Si todo lo demás falla, eliminatodas las asignaciones para el mando y mantén laconguración solo para el Teclado, que siempredebería funcionar. A continuación, le toca el turno atu mejor amigo, ¡antimicro! Si usas un dispositivo dejoystick diferente y realmente tiene problemas parahacerlo funcionar con PPSSPP o XBMC, Antimicro teservirá de mucha ayuda. Usando antimicro, puedesasignar los comandos del teclado a un botón de tugamepad/joystick de la misma forma quesimplemente podías asignar las teclas de direccióndel teclado a tus gamepads.

¿La imagen es compatible con CEC? En principio No. Laimagen tiene libcec instalado, que funciona en HDMI1, pero eliminé CEC de la imagen XBMC porquecausaba problemas. Sin embargo, puedes instalarXBMC con soporte CEC si lo deseas desde mirepositorio http://oph.mdrjr.net/meveric/.

Page 36: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Cuando salgo de un emulador, la ventana del XBMC esrmuy pequeña, ¿cómo puedo solucionar esto? Si salesdel XBMC y lo reinicia nuevamente, volverá a lapantalla completa. Te aconsejería “maximizar” laventana del XBMC de todos modos para que te seamás fácil seleccionar las opciones.

¿Hay algún entorno aparte del XBMC en la imagen? Sí,detrás de XBMC existe una completa distribución deDebian con LXDE. Esto signica que puede instalartodo lo que quieras en la imagen que esté disponibledesde el repositorio de Debian, y mucho más.También puede hacer todo lo que sueles hacer en lasimágenes de Ubuntu, como navegar por internet,editar documentos y diseñar elementos grácos.

¿En el que estado está el rendimiento del XBMC y el 3D?ODROID GameStation Turbo utiliza los últimos driversMali (r4p0) proporcionados por Hardkernel, junto conlos nuevos drivers framebuer de armsoc y parchesde Xorg que ofrecen muy buen rendimiento. Elprograma para pruebas de rendimiento es2gears seejecuta con más de 250 fps, y glmark2-es2 se ejecutaa más de 90 fps. XBMC funciona a toda velocidad con60 fps y admite reproducción 1080p de películash.264. Incluso permite vsync en la reproducción depelículas y cambiará la frecuencia de tu televisor paraque coincida con la tasa de frames de las películas. Alhacerlo, usa muy poca CPU y RAM y tiene mejorrendimiento que la imagen original Lubuntu 13.10que publiqué anteriormente.

Page 37: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Kit Consola de Juegos OGST para ODROID-XU4 June 1, 2018 By Justin Lee Juegos, ODROID-XU4, Tutoriales

El kit consola de juegos OGST para ODROID-XU4 tepermite montar tu propia consola de juegos con unpotente ODROID-XU4 o ODROID-XU4Q. Su atractivodiseño incluye una elegante pantalla LCD de 2.4″ quepermite mostrar animaciones del logotipoprogramables de los juegos, y está especícamentediseñado para funcionar con la popularimagen ODROID GameStation Turbo. Este kit deconsola está disponible en la tienda Hardkernel por24$, y funciona muy bien con el nuevojoystick GameSir G3w USB Controller. El ODROID-XU4o XU4Q, la tarjeta microSD o el módulo eMMC, lafuente de alimentación 5V/4A y el mando/joystick USBno están incluidos.

Contenido del kit

A. Carcasa superior

B. Carcasa inferior

C. Placa LCD OGST-XU4

D. Cable de extensión USB2.0

E. Cable plano de 30 pines

F. Tapa del puerto USB

G. Conjunto de bases de goma

H. Tornillos

I. Cable de extensión USB3.0 (para almacenamientoopcional HDD USB de 2.5″)

Figura 1 – Kit de GameStation con anotaciones

Page 38: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Para obtener más información, visita nuestra páginade la WiKi.

Montaje

Figura 2 – Utiliza un cable plano de 30 pines (E) paraconectar el XU4 y la placa LCD (C). A continuación, retirala película protectora de la supercie de la LCD. ElODROID-XU4 se vende por separado

Figura 3 – Monta la placa LCD + el XU4 en la carcasasuperior (A) y ja los tornillos (H)

Figura 4 – Conecta la placa XU4 y la placa LCD con elcable USB2.0 (D)

Figura 5 – Conecta la placa XU4 y la placa LCD con elcable USB2.0 (D)

Figura 5 – Conecta la placa XU4 y la placa LCD con elcable USB2.0 (D)

Figura 7 – Puedes conectar un HDD de 2.5″ usando elcable USB3.0 (I) incluido en el pack y asegurar la unidadde disco duro a la carcasa inferior con cinta velcro. Elpack no incluye una unidad de disco duro. Si tualmacenamiento HDD consume más de 500 mA, esposible que necesites utilizar una fuente dealimentación de 5V/6A en lugar de una de 5V/4A

Page 39: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 8: Monta la carcasa inferior (B) y coloca lacubierta USB (F). A continuación, coloca las bases degoma (G) en la carcasa inferior

Software

ODROID GameStation Turbo es una imagen desistema operativo ODROID basada en elentretenimiento que te permite ver películas en Kodi,escuchar música, jugar desde tu escritorio, además depoder ejecutar juegos retro con diferentesemuladores desde Kodi, EmulationStation o Attract-Mode como interfaz.

La imagen se puede descargar desde los forosODROID desde el hilo ODROID GameStation Turbofor XU3/XU4. Desplácese hacia abajo hasta queencuentre el texto que se muestra en la Figura 9.

Figura 9 – Ubicaciones de descarga de ODROIDGameStation Turbo

Haz clic para seleccionar uno de los enlaces. Los dosenlaces deberían ser iguales, pero si uno te va muylento, puedes probar el otro. Los archivos md5,sha512 y sig son para aquellos usuarios que deseanasegurarse de que el archivo descargado no estádañado o no ha sido alterado, pero puede ignorarlossi no sabe qué hacer con ellos.

Una vez que hayas descargado la imagen, sigue laguía por el camino que más facil te resulte parainstalar el nuevo SO y grabar la imagen en tu tarjetaSD o módulo eMMC. Necesitará al menos una tarjetaSD/eMMC de 8GB para usar esta imagen, pero debidoa la naturaleza de la imagen (juegos y videos), sugieroutilizar tarjetas SD/eMMC más grandes, como 32 GB o64 GB (o usar una unidad de almacenamiento externoadicional).

Si usa una tarjeta SD, sugiero usar una SanDisk Ultra(no Ultra Plus o Extreme), ya que parece ser lamarca/modelo más compatible que hay disponible(también es bastante barata), otros modelos puedentener problemas (limitaciones del hardware XU4). Unavez que haya grabado la imagen en tu tarjeta SD oeMMC, insértala en el ODROID y arranca el sistema.

Cuando inicias la imagen por primera vez, apareceráel escritorio e se iniciará Kodi, luego se reiniciará paraterminar con las primeras tareas de mantenimiento.No tienes que hacer nada, todo sucederáautomáticamente y simplemente debe esperar a queel sistema se reinicie. Esto puede tardar hasta 5minutos, pero por lo general debería ser rápido.

Después de reiniciarse el sistema, volverá a cargarseel escritorio y Kodi. Salte de Kodi presionando “S” enel teclado y selecciona Exist/Quit Kodi. Ahora teencuentras en el escritorio de tu sistema operativo ypuedes acceder a todos los programas que quieras,como el navegador web, reproductor de música,instalar nuevos programas o puedes volver a Kodipara ver películas. Pero empecemos con algunosconceptos básicos y luego instalemos algunos juegosen el sistema para poder jugar un rato.

Llegado a este punto, querrás estar conectado aInternet. Conecta un Módulo WiFi o el cable Etherneta tu ODROID. En el escritorio de tu sistema operativo,asegúrese de estar conectado a internet. Parahacerlo, haz clic en el menú superior derecho paravericar/conectarte a internet. Selecciona la red WiFideseada e introduce su contraseña.

A continuación, abre una nueva ventana de terminal,pinchando el símbolo Terminal MATE en la lista deInicio rápido de la parte superior de la pantalla o en elEscritorio, o presionando la combinación de teclasCTRL + ALT + T. En la ventaja de terminal reciénabierta escribe los siguientes comandos paraactualizar el sistema.

$ su

$ apt­get update && apt­get upgrade && apt­get

dist­upgrade

Esto te conectará como root y te solicitará tucontraseña de root que es “odroid” (sin comillas) por

Page 40: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

defecto. Una vez que hayas iniciado sesión como root,el sistema se actualizará para asegurarse de tenerinstalados los últimos controladores y programas.Tras instalar todas las actualizaciones, reinicia elsistema.

Instalación de ROMs

Para ejecutar juegos retro, primero debes copiar losdenominados archivos ROM en el sistema dentro lascarpetas correctas. Puedes encontrar una lista de lasROMs compatibles en el sitio de ODROIDGameStation Turbo fara XU3/XU4 dondeencontrarás una tabla con los sistemas soportados,tal y como se muestra en la Figura 10.

Figura 9 – Lista de ROMS soportados por ODROIDGameStation Turbo

Centrémonos en una de mis consolas favoritas, laGameboy Advance (GBA), la vamos utilizar comoejemplo. Como puedes ver en la lista anterior, lasROMS para GBA deben colocarse en la carpeta/home/odroid/ROMS/GBA y deben tener la extensiónde archivos .gba. Otras extensiones como .zip, .rar o.7z no están permitidas en ente caso en concreto.

Hay varias formas de conseguir ROM para tu sistema.Puedes descargarlos desde un navegador web, que esla manera más fácil. Descarga la ROM que deseasusar, luego coloca el archivo extraído en la carpetaque hemos mencionado anteriormente.

Si ya tienes una colección de ROMS en un PC y noquiere volver a descargarlos, puede copiarlos desdetu PC a tu ODROID. En Windows, descarga e instaleuna herramienta llamada WinSCP. Te permitiráconectarte desde tu PC con Windows a tu ODROID ycopiar los archivos a éste. Para ello, inicia WinSCP entu PC con Windows y crea una nueva conexión, tal ycomo se muestra en la Figura 10.

Figura 10 – Usando de WinSCP para conectarse a ODROIDGameStation Turbo

En el nombre de Host, usa la dirección IP de tuODROID. Para encontrar la IP, dirígete a tu ODROID,abre un Terminal y escribe el siguiente comando, elcual mostrará información similar a la puede ver en laFigura 11:

$ ip addr show

Figura 11 – Resultado del comando “ip addr show”

Si estás conectado a través de LAN, la dirección IP detu ODROID la puedes encontrar en eth:, o si estáconectado a través de una red inalámbrica, la IPestará debajo de wlan0 :, debajo de la etiqueta inet.En el ejemplo anterior, la IP sería: 192.168.1.151. Elnombre de usuario y la contraseña deberían ser“odroid” (sin comillas), si aún no la has cambiado.Ahora puedes navegar en tu ODROID hasta/home/odroid/ROMS/GBA/ y copiar tus juegos desdela colección que tiene en tu PC al ODROID.

Para los usuarios de Linux, supongo que ya sabescómo copiar archivos desde PC a otro. Herramientascomo “scp” o “mc” deberían serte muy familiares, lascuales te permite copiar archivos de un sistema aotro. Puedes utilizar Filezilla como alternativa, unadministrador de archivos disponible para Windows,Linux y Mac que se puede usar de forma similar aWinSCP en todos los sistemas.

Una vez que haya copiado las ROMS en el ODROID,¡ya estás listo! En la pantalla del sistema operativo,

Page 41: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

abre EmulationStation. Dirigete a Applications ->Games -> EmulationStation y tus juegos ya deberíanaparecer en el listado.

Figura 12 – Iniciando EmulationStation desde elescritorio de ODROID GameStation Turbo

Tenga en cuenta que esto no afecta al emulador ni alos juegos que quieres ejecutar, simplemente se usapara navegar dentro de EmulationStation. Necesitarás

las direcciones (arriba, abajo, izquierda, derecha), elbotón de seleccionar e iniciar (para los menús), y A y B(seleccionar y retroceder). Cualquier otra techa queEmulationStation te pida que congures no seráutilizada, así que omítela presionando y manteniendoel botón/tecla hasta ignorar todo lo que no seanecesario (no denido).

Llegados a este punto, ¡deberías estar listo para jugarcon tu nuevo Kit consola de juegos OGST paraODROID-XU4! Para obtener más información sobre laconguración de ODROID GameStation Turbo,visita https://www.electromaker.io/blog/article/getting-started-with-gamestation-turbo-on-odroid-xu4-gamestation-turbo-xu4-installation. También tienesanálisis detallado del kit de consola de juegos OGSTen https://www.youtube.com/watch?v=AbzSgE2KCYo&feature=youtu.be.

Page 42: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Joystick ODROID GameSir G3w USB June 1, 2018 By Justin Lee Android, Juegos, Tutoriales

El GameSir G3w es un gamepad de alta calidad queutiliza un chip MCU de 32 bits, con una capacidadinformática de hasta 48 millones de operaciones porsegundo. Permite que el dispositivo sea altamentesensible y preciso en cuanto a rendimiento se reere.El D-pad otante hace que sea más fácil distinguir losocho puntos de la brújula. Los joysticks analógicostienen un posicionamiento de 360 grados de ultraprecisión.

Figura 1 – El gamepad GameSir es el último accesorio dealta calidad para juegos de Hardkernel

Page 43: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

También cuenta con botones ergonómicos muy biendiseñados, sólidos y sensibles, de acción rme ypueden presionarse sin esfuerzo. La sensibilidad alpresionar R2 / L2 permite a los jugadores percibir laprofundidad de la presión ejercida con bastanteexactitud, lo que hace que sea mucho más fácil jugara los juegos de carreras de coches. La longitud delcable USB es de 2 metros (6,6 pies) para un uso máscómodo.

Figura 2

Figura 3

Figura 4

Este gamepad funciona con el kit Consola OGST deHardkernel (https://goo.gl/5fSR48). Es compatible conlos sistemas operativos ociales de Linux y Androidque ofrece Hardkernel.

Conguración

A continuación, se muestra un archivo deconguración udev a modo de referencia para

Page 44: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

(/usr/share/libretro/autocong/udev/xiaoji_GameSir_G3w.cfg)

input_driver = "udev"

input_device = "Gamesir­G3w"

input_device_display_name = "xiaoji GameSir

G3w"

# Hex vid:pid is found using "dmesg ­w" or

"tail ­f /var/log/syslog"

# and converted to Decimal using

# http://www.binaryhexconverter.com/hex­to­

decimal­converter

# Hex vid:pid = 20BC:5500 ­> Decimal vid:pid =

8380:21760

input_vendor_id = "8380"

input_product_id = "21760"

input_b_btn = "0"

input_y_btn = "3"

input_select_btn = "10"

input_start_btn = "11"

input_up_btn = "h0up"

input_down_btn = "h0down"

input_left_btn = "h0left"

input_right_btn = "h0right"

input_a_btn = "1"

input_x_btn = "4"

input_l_btn = "6"

input_r_btn = "7"

input_l2_btn = "8"

input_r2_btn = "9"

input_l3_btn = "13"

input_r3_btn = "14"

input_l_x_plus_axis = "+0"

input_l_x_minus_axis = "­0"

input_l_y_plus_axis = "+1"

input_l_y_minus_axis = "­1"

input_r_x_plus_axis = "+2"

input_r_x_minus_axis = "­2"

input_r_y_plus_axis = "+3"

input_r_y_minus_axis = "­3"

input_b_btn_label = "A"

input_y_btn_label = "X"

input_select_btn_label = "Select"

input_start_btn_label = "Start"

input_up_btn_label = "D­Pad Up"

input_down_btn_label = "D­Pad Down"

input_left_btn_label = "D­Pad Left"

input_right_btn_label = "D­Pad Right"

input_a_btn_label = "B"

input_x_btn_label = "Y"

input_l_btn_label = "L1"

input_r_btn_label = "R1"

input_l2_btn_label = "L2"

input_r2_btn_label = "R2"

input_l3_btn_label = "Left Stick"

input_r3_btn_label = "Right Stick"

input_l_x_plus_axis_label = "Left Stick Right"

input_l_x_minus_axis_label = "Left Stick Left"

input_l_y_plus_axis_label = "Left Stick Down"

input_l_y_minus_axis_label = "Left Stick Up"

input_r_x_plus_axis_label = "Right Stick

Right"

input_r_x_minus_axis_label = "Right Stick

Left"

input_r_y_plus_axis_label = "Right Stick Down"

input_r_y_minus_axis_label = "Right Stick Up"

Para más información y comprar el GamepadGameSir G3w, visitahttp://www.hardkernel.com/main/products/prdt_info.php?g_code=G152605577891.

Page 45: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Micro Servidor Alimentado con Energía Solar June 1, 2018 By Roberto Rosario Mecaniqueo, Tutoriales

Como probablemente ya habrás leído, hace menos deun año Puerto Rico experimentó uno de los peoresdesastres naturales de la historia escrita(https://www.mayan-edms.com/post/hurricane-maria). La situación tras el paso del huracán María seha visto agravada por una infraestructura energéticadeciente de por sí. Los frecuentes apagones sonbastante comunes en la vida diaria.

Los apagones no solo son molestos, sino que causanuna serie de problemas que afectan a casi todos losaspectos de la vida moderna. Al trabajar contecnología, los apagones afectan directamente a miresultado nal y a mi principal fuente de ingresos.

Tras meses en la oscuridad, decidí dar el paso yconstruir un pequeño sistema de energía solar. Parahacer uso de la energía solar, es muy común recurrira un convertidor de voltaje con el n de potenciar los12 voltios de corriente continua (CC) producidos porlos paneles solares y almacenados en baterías de 120

voltios de corriente alterna (CA), que es la que utilizanla mayoría de los dispositivos electrónicos. El uso deun convertidor provoca algunas pérdidas deconversión en el sistema. Para minimizar estaspérdidas, empecé a convertir tantos dispositivoscomo pude para que trabajasen con 12 voltios de CC.De esta forma podrían ser alimentados directamentedesde las baterías del sistema solar. Era hora deempezar a convertir también mis herramientas detrabajo.

Algunos de los sistemas que necesito para mi trabajodiario son los ordenadores y los servidores. Tengoalgunos alojados en la nube y otros en local. Losconstantes cortes de energía signican que una granparte de la carga de las baterías de mi sistema solarse está desperdiciando, manteniendo los servidores ylos ordenadores en funcionamiento. Tenía que haberuna mejor forma de mantener encendido los equiposque necesitaba y optimizar su uso de la energíaelectricidad.

Page 46: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

En lugar de tener ordenadores más grandes, decidíempezar a reducir los dispositivos que usaba. Másdispositivos implicaba tener que repartir los serviciosentre todos ellos.

Servidor con energía solar montado

Los ordenadores de placa reducida o SBC son muycomunes hoy día con una gran variedad donde poderelegir. Estos SBC suelen funcionar con USB, de modoque ya funcionan con corriente continua. Uno de misordenadores favoritos de placa reducida es elODROID C2. El ODROID C2 es producido por unaempresa bastante responsable, está biendocumentado y cuenta con un gran soporte. ODROIDC2 tiene una CPU ARM de cuatro núcleos de 64 bits, 2GB de RAM y soporta módulos eMMC para elalmacenamiento. Es uno de los SBC más potentes delmercado dentro de su gama de precios. Con esto enmente, me propuse transformar algunos de misODROID y SBC existentes para reemplazar los típicosservidores y ordenadores que normalmente uso.

Figura 2: Las carcasas impresas en 3D de plástico muycomunes para estos SBC no son sucientes paraprotegerlos y no dejan espacio para añadircomponentes adicionales. Las carcasas de aluminiorepresentan una opción bastante mejor.

Figura 3 – Este es el ODROID C2 con botón e indicador deencendido instalados. El interruptor no está conectado anada y se deja para un futuro uso (tal vez a través deGPIO). El indicador de alimentación está soldado al LEDde actividad de la placa

Figura 4 – El cable de alimentación

Page 47: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 5 – El conector JST va al convertidor de voltaje queestá dentro de la carcasa de aluminio. Todas lasconexiones de cables están protegidas con tubos termoretráctiles

Figura 6 – El conector Anderson va por la parte exteriordel cable

Figura 7: Añadí un poco de soldadura para una mejorconductividad

Figura 8 – Aquí estoy probando la continuidad

Figura 9: Añadí un poco de tubo termo retráctil para quetrabajase a modo de presión con el cable

Figura 10 – El ODROID montado usando separadores delatón. El residuo procede de una cinta de doble cara deun intento anterior

Page 48: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 11 – La consola serial y las clavijas dealimentación fueron reemplazados tal y como semuestra en la imagen.

Figura 12 – La consola serial y las clavijas dealimentación fueron reemplazados tal y como semuestra en la imagen

Figura 13 – Aquí puedes ver el convertidor de voltajemontado con cinta de doble cara. El convertidor coge los12 voltios del sistema solar y los reduce a 5 voltios

Figura 14 – Este convertidor en particular puedesuministrar 3 amperios de forma continuada

Figura 15 – Todo montado y todos los cables atadoscorrectamente

Figura 16 – El ESP8266 (ESP-01) programado parafuncionar como enlace entre la consola serie y el WiFi.Esto permitirá acceder a la consola del ODROID inclusosi las comunicaciones fallan. Esto es perfecto paratareas de depuración y gestión

Page 49: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 17 – Aquí tiene la carcasa completamentemontada. Los agujeros para el USB, el conector de red yel botón de encendido fueron hechos a mano y huboalgunos rasguños. Esto puede evitarse usando cinta depintores o usando mejores herramientas como un CNC oun taladro de banco

Figura 18 – El ODROID-C2 es compatible conalmacenamiento eMMC y éste tiene una tarjeta de 16 GBque se utiliza para los archivos del sistema. Para elalmacenamiento, se usa un disco duro SSD SATA externocon un adaptador SATA a USB

Figura 19 – Los puertos USB de ODROID son USB 2.0. Estosignica que el acceso al almacenamiento no será muyrápido, pero es adecuado para el trabajo que realizaráeste sistema

Figura 20 – Aquí tienes el microservidor colocado al ladodel controlador de carga del sistema solar y conectado ala caja de distribución de energía Anderson

Para comentarios, preguntas y sugerencias, visita elartículo originalen https://medium.com/@siloraptor/solar-powered-microservers-for-a-post-hurricane-maria-puerto-rico-ca83027d20ac.

Page 50: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Desarrollo Android: Usando GitHub June 1, 2018 By Randy Hall Android, Tutoriales

¡Bienvenido de nuevo, desarrollador de apps! Si erescomo yo, estás más que preparado para mejorar tushabilidades en el desarrollo de aplicaciones. Como hemencionado en otras ocasiones, la empresa quedomina prácticamente todo el monopolio deproyectos de código abierto online es GitHub. Existenvarias opciones basadas en Git en el mercado, peroteniendo en cuenta nuestros objetivos, utilizaremosGitHub, con la ventaja de que todos los proyectos yerrores estarán disponibles para que la comunidadlos vea, aporte sus comentarios y mejoras.

La buena noticia es que Android Studio trata a GitHubcomo un Repositorio de código fuente de primeraclase, es decir, puedes hacer que funcionen otrosproveedores Git, pero no están tan pulidos. Estosimplemente signica que si decidir seguir tu propiocamino con algo diferente a GitHub comoherramienta de control para el código fuente,entonces lo dejaremos como un simple ejercicio, paraque lo completes y nos dejes tus comentarios en los

foros ODROID. Así pues, conectemos el IDE a nuestroproveedor de control de código fuente.

Subir el código a GitHub

Si nos jamos en el código de nuestra última entrega,era bastante básico. Android Studio sólo tardó unoscuantos minutos en crearlo, y luego tuvimos unacompleta carpeta de proyecto con scripts decompilación, código de la aplicación y archivos dediseño. El inconveniente de toda esta automatizacióncon las herramientas del entorno de desarrollointegrado es que crea una gran cantidad de archivos,y hacer un seguimiento de ellos (y los cambios que serealizan en los mismos) puede darte un gran dolor decabeza. Aquí es donde los sitios de alojamiento comoGitHub realmente nos ayudan, ya que nos permitenmantener una copia de seguridad de todos nuestrosvaliosos archivos de código, listos para serrecuperados en caso de fallo en el disco, pérdida delequipo o cualquier otro desastre. De modo que,

Page 51: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

partiremos del proyecto que creamos la última vezcon Android Studio, nos dirigiremos al menú “VCS”,seleccionaremos “Import into Version Control” yseleccionaremos “Share Project on GitHub”. Si aún noha pasado por el proceso de crear una cuenta GitHub,al que hicimos referencia la última vez, ahora es tuoportunidad.

Figura 01 – Denir el control de versiones en GitHub

Una vez que hayas conrmado y congurado lacuenta, puedes volver a Android Studio y dentro delcuadro de diálogo “Login to GitHub”, seleccionar“Password” en el Tipo de autenticación e introducetu nombre de usuario y contraseña. A continuación,se mostrará el cuadro de diálogo “Share Project onGitHub”, que te permite cambiar el repositorio, o“repo”, el nombre, el nombre remoto y la descripción.Por ahora, deja tal cual el nombre del repositorio y elnombre remoto, y añade una simple descripción parael proyecto. Yo escribí algo simple, como “My rstAndroid project”. Después, podrás conrmar quéarchivos se enviarán inicialmente a GitHub, esadecuado aceptar el todo conjunto por defecto yhacer clic en “OK”. En pocos segundos, aparecerá unanoticación en la cual se indicará que el proyecto estásubido a GitHub. Puede hacer clic en el enlace de lanoticación y vericar tu código fuente online.

Figura 02 – Conectarse a GitHub

Figura 04 – Página del proyecto GitHub

La app más básica jamás creada

Con todo el tema sobre cómo poner nuestro códigopara el control de versiones, realmente no hemosdedicado mucho tiempo a ver lo que Android Studiohabía generado. Vamos a hacerlo ahora. Al crear estaaplicación, Android Studio genera una gran cantidadde archivos, aunque solo unos cuantos son realmenteimportantes para comprender lo que sucede. Estosson los archivos que nos interesan por el momento:

app/manifests/AndroidManifest.xml

java/com/fakedomain/myhelloworld/MainActivity.java

res/layout/activity_main.xml

res/values/strings.xml

AndroidManifest.xml

Este archivo es útil desde el punto de vista de querealmente le dice al dispositivo Android qué código seejecutará cuando la aplicación se inicie por primeravez. Si haces doble clic en el archivo y lo examinas en

Page 52: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

el IDE, no hay mucho que ver, pero todo lo quecontiene es importante para ejecutar correctamentetu aplicación. Dedicaremos tiempo en otra entregapara analizar a fondo lo que realmente hace elarchivo por tu aplicación, pero por ahora es sucientesaber que Android Studio se encargará de incluirnuevas actividades y otras funciones de la aplicaciónen el archivo, al menos hasta que te se sientas máscómodo haciéndolo tú mismo.

MainActivity.java

Éste solo contiene unas cuantas líneas de código,pero dirige al lector a un recurso importante al quesin duda alguna dedicarás tiempo: el archivo dediseño activity_main.xml. Aquí es donde se dene el“aspecto general” de la aplicación y es dónde sepuede cambiar utilizando las herramientas de diseñovisual de Android Studio. Si haces doble clic en elarchivo activity_main.xml, el IDE debería mostrarte sueditor de diseño visual. Si ves un diseño con un panelde archivo XML al lado, puede que hayas elegido lavista “Text” del diseño. Si haces clic en la pestaña“Design” que se encuentra en la parte inferior delpanel, volverá a cambiar. Aunque el diseño es algoescaso, todavía podemos hacer bastante desde aquí.De hecho, si te jas bien, nuestro texto “Hello World”ya aparece en su lugar en medio de la vista. Aquíentra en juego la denominada Empty Activity: no estácompletamente vacía, aunque tiene un elementoTextView muy simple en el diseño para que puedasiniciarla. ¿Y qué mejor texto de muestra para poneren un widget de texto que nuestra favorita frase dedos palabras?

Figura 05 – Vista de diseño

strings.xml

Strings.xml es el último archivo que no debemosperder de vista. La razón de ello es que, comodesarrollador de aplicaciones, las buenas prácticasson esenciales y cuanto antes las adoptes, mejor.Para los proyectos puntuales desechables, está bienandar escribiendo valores jos de texto para losdiferentes botones, vistas de texto y controles denavegación, pero en el mundo real hay muchosidiomas, y seríamos realmente cerrados, si noarrogantes, al asumir que el inglés es el único idiomaque debería incluir nuestra aplicación. De modo que,modicaremos una conguración para hacer uso deeste archivo. Si haces doble clic en el texto “HelloWorld” en el diseño, verás que aparece el panel deAtributos. Como resultado, el atributo de textoTextView muy probablemente aparecerá resaltado,puesto que has hecho doble clic en el editor dediseño. A la derecha de ese recuadro de atributo,debería ver unos puntos suspensivos (…), sobre loscuales puedes hacer clic para mostrar la ventana derecursos para este proyecto. Dentro encontrarás losrecursos que puedes utilizar para el atributo queestás editando.

Page 53: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 06 – Editor de recursos de valor de cadena

Como queremos hacer un cambio, haga clic en elelemento de menú “Add new resource” en la esquinasuperior derecha de la ventana y luego selecciona“New string Value…”, se mostrará el cuadro de diálogo“New String Value Resource”. Para “Resource name”,elije algo sensato como “hello_world_text”, y luegodene el valor del recurso en “Hello World!” Puedeshacer clic en OK y el valor en el atributo de textohabrá cambiado a “@strings/hello_world_text” pero eldiseño seguirá mostrando el valor, que es “¡Hola,mundo!”. Si observas strings.xml con el editor decódigo, verás que hay una nueva línea en el archivo,que Android Studio ha colocado por ti. ¡Genial!

¡Vamos a ejecutarlo!

Ahora tenemos que compilarlo todo y ver que seejecuta. En la parte superior de la ventana IDE, en elcentro de la barra de herramientas verás un icono enforma de martillo verde. Haz clic en él y se compilaráel proyecto. Puede tardar algunos minutosdependiendo de la velocidad de tu máquina dedesarrollo, pero al nal el proceso se completará. Amodo de comentario, a pesar de que me encantan los

dispositivos ODROID para ejecutar aplicaciones deAndroid y Linux en general, e incluso el poderosoODROID-XU4, no son especialmente adecuados parael desarrollo de aplicaciones de esta naturaleza.Simplemente porque se necesita mucha memoriadurante el proceso compilación del software, ycompilar una aplicación con un cierto contenido alnal te llevaría a forzar tu tarjeta eMMC o SD cuandoAndroid Studio tuviese poca memoria, acortando lavida útil de tus soportes de almacenamiento. Perobueno, tú decides, y si ODROID es con lo que suelescompilar, éste puede hacer el trabajo, aunque esposible que tengas que esperar algo más condeterminadas tareas. Ahora que la aplicación estácreada, si presionas el triángulo verde “Play”, laaplicación se “ejecutará” e intentará conectarse a undispositivo Android. ¿Qué es eso? ¿No tienes undispositivo Android a mano? ¿No has visitado la Wikide ODROID para conectar tu ODROID-C2 utilizando supuerto USB OTG(https://wiki.odroid.com/getting_start/adb_fastboot)?¿No has iniciado Network ADB en tu ODROID-XU4(https://wiki.odroid.com/odroid-xu4/troubleshooting/adb_over_tcpip)? Aunquesiempre es más provechoso probar una aplicacióncon un hardware real, si todo lo demás falla, siempretienes la opción de emular un dispositivo Android.

Figura 07 – Seleccionar el dispositivo para laimplementación

Echar mano de lo virtual (dispositivos)

De modo que, si estás viendo el “Select DeploymentTarget” y está vacío, puedes hacer clic en “Create New

Page 54: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Virtual Device” y aparecerá un catálogo con variosdispositivos Android para hacer pruebas que puedesemular en tu ordenador, desde TVs, tablets, teléfonoshasta dispositivos Android Wear. En nuestro caso,creamos un dispositivo que emule un teléfono, unNexus 5X. Una vez seleccionado, haz clic en “Next” ycontinúa eligiendo una de las imágenes del sistema“recomendadas”, que en nuestro caso sería Nougat,Oreo o la vista previa “P”. Probablemente tengas quehacer clic en el enlace “download” junto a la versiónpara descargar la imagen antes de continuar y sí,puede llevar un tiempo.

Figura 08 – Editor de conguración del dispositivo virtual

Una vez que hayas descargado la imagen, haga clic en“Next”, asigna un nombre al dispositivo virtual (oguarda el que genera por defecto Android Studio),cambia la orientación de la pantalla a modo apaisadosi estás en pantallas horizontal y haga clic en “Finish”.¡Por n, tienes un dispositivo para iniciar tuaplicación!

Figura 09 – Dispositivo virtual ejecutando nuestraaplicación

Si todo va según lo previsto, el dispositivo virtualarrancará la versión de Android que descargaste y losituará en la pantalla de inicio. Unos instantes

después, Android Studio se conectará al dispositivovirtual utilizando ADB y ejecutará la aplicación. Puedeque no resulte tan graticante como tener laaplicación ejecutándose en un dispositivo Androidreal, pero una vez más, nunca podrás poner la excusade que no tienes un dispositivo Android cuando lonecesitas.

Conrmar los cambios

Toda esta codicación requiere de mucho esfuerzo, yal nal de cada sesión de codicación, siempre debeformar parte de tus prácticas habituales conrmar tutrabajo en curso. Soy el primero en decir que cuandotrabajas solo en un repositorio de código, nadie sedará cuenta de que tu código no se compilacorrectamente o que contiene muchos errores ydefectos. Te invito a superar esta cuestión. Loimportante es que conserves una copia de seguridaden caso de que suceda algo terrible y de repente teencuentres sin tu estación de trabajo con sualmacenamiento de archivos. Para hacer esto, puedesvolver al menú de VCS y seleccionar “Commit”, existeun atajo de teclado para esto, y también un completopanel de la ventana IDE usado para controlar lasversiones. Asegúrate de echarle una ojeada yfamiliarizarte con él. Verás que al menos hancambiado dos archivos: los archivos activity_main.xmly strings.xml. Puedes echarle un vistazo a los cambiospara asegurarte de que son los esperados. Ahoradeberías introducir un mensaje de conrmación, en elcual se registrará un historial de los cambiosrealizados en el código que has comprometido en elrepositorio. Yo introduciré algo escueto, como“changed text to use strings.xml”. Coloca el punterodel mouse sobre el botón “Commit” en la esquinainferior derecha, y verás que hay algunas opcionesadicionales. Para nuestra demo en GitHub, vamos acontinuar y seleccionaremos “Commit and Push …”que mostrará un cuadro de diálogo que te permiteagregar etiquetas al push para GitHub. Haga clic en“Push” y ¡listo! Nunca me cansare de hacer hincapiéen esta cuestión: asegúrate de vericar los cambiosen tu código al nal de tu día de trabajo, y no telamentarás de irte a dormir (y es posible que inclusoduermas mejor, (¡No hace falta que me des unabrazo!)

Page 55: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

¿Qué es lo siguiente?

Como esta es una nueva columna, pensé que haceruna aplicación “Hello World” sería un comienzoentretenido. Pero, sinceramente, es la aplicación másbásica que jamás se ha podido crear. Ahora estoybuscando opciones para trabajar en una aplicaciónque tenga un cierto sentido implementar en unODROID-XU4 u ODROID-C1 + / C2 por diversión y queposiblemente implique un buen aprendizaje. Algunasideas que me vienen fácilmente a la mente puedenser:

Un juego basado en Android TV, que se ejecutara enun ODROID-XU4 con LineageOS Android TV, que utilicelos propios dispositivos Tablet o móviles Android delos jugadores para controlar y jugar a un juego decartas por turnos.

Una pantalla táctil personalizada de domótica Android,que se ejecutará en un ODROID-XU4 o ODROID-C2 conLineageOS, que utiliza servicios en segundo plano paracomunicarse con otros servidores y dispositivos dedomótica para monitorizar y controlar tu hogar sinusar servicios basados en la nube.

Un Android Auto, que se ejecutara en un ODROID-C2con pantalla táctil, que recopile información de tucoche y te permita conectar tu teléfono o tabletAndroid para reproducir música, navegar, comunicartee informar del tiempo que pasas al volante.

Si la lista te parece algo intimidante o si te sientes quetodo esto es demasiado complicado, simplementerelájate. Estoy aquí para ayudarte y haré todo lo

posible para explicarlo todo lo más claramenteposible. Reconozco que cada uno de los proyectos alos que he aludido requiere combinar una serie deelementos de hardware y de software que trabajenconjuntamente para proporcionar una solución. Demodo que, no te extrañe que haya próximos artículoscentrados en el hardware para congurar o, almenos, simular una plataforma de hardware queluego podremos usar para escribir aplicaciones.También habrá ediciones en las que desglosaremoslos problemas más graves de los fragmentos decódigo a los que luego aplicaremos prácticas dearquitectura de aplicaciones basadas en Android paraque funcionen de la forma que esperan que lo haganlos usuarios de dispositivos Android. Creo que seráuna experiencia muy graticante para todos, y todose hará con código abierto y estará disponible onlinepara que los futuros desarrolladores de Androidpuedan utilizarlo. Si crees que estas ideas sonhorribles y estás convencido de que tienes algunamejor, ¡Quiero saber de qué se trata! Siempre puedecomentar la versión interactiva de ODROID Magazinede este artículo, o visitar el foro ODROID Magazine enhttps://forum.odroid.com. Lo mejor de e mis artículoses que el código con el que trabajo está disponibleonline para que lo puedas analizar. No dude en visitarmi cuenta de GitHub enhttps://GitHub.com/randybuildsthings y reírte demuchas de las cosas tontas que hago. Uso GitHubprincipalmente para juguetear, espero verte por allí.

Page 56: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Juegos Linux en ODROID: Juegos Saturn – Parte 4 June 1, 2018 By Tobias Schaaf Juegos, Linux, ODROID-XU4

Volvemos con los juegos de ODROID-XU4/XU4 y SegaSaturn. Esta vez vamos a echar un vistazo a los juegosque empiezan por la letra “S” como Saturn o como“shmup”. Existen tantos juegos para Sega Saturn queempiezan por la “S” con los que disfruto jugando, quehe tenido que hacerles su propia sección.

Samurai Spirits IV – Amakusa Kourin

Samurai Spirits IV es un buen juego del estilo “beatem up” similar al King of Fighter o Street Fighter, peroen el que cuentas con armas similares a Last Blade.

Figura 01 – Pantalla de inicio de Samurai Spirits IV paraSega Saturn

Este juego requiere una expansión de memoria de1MB para que funcione correctamente, así queasegúrese de tener el cartucho correcto seleccionado.Me gusta bastante este juego. Es uno de los mejores

Page 57: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

juegos de lucha en 2D a los que he jugado. Lassombras y las barras de salud parpadeantes son losúnicos elementos que no me gustan de este juego,pero el resto es perfecto.

Figura 02 – Tienes una buena cantidad de luchadorespara elegir en este juego

El juego es muy interesante, ya que los diferentespersonajes no solo son diferentes en los grácos, sinotambién en el estilo de lucha. Los movimientos sonfáciles de dominar, incluso las combinaciones debotones pueden funcionarte bien si sabes quémovimientos necesitas combinar.

Figura 03 – Las animaciones de lucha son realmentebuenas, los grácos y el fondo se ajustan muiuy bien alambiente.

Incluso puedes desarmar a tu enemigo y debilitarlohasta que recoja nuevamente sus armas. La músicaes agradable, hay muchas animaciones tanto en los

personajes como en el fondo. No soy un gran fanáticode los juegos de lucha, pero me he pasado unascuantas horas jugando a éste y posiblementecontinuaré jugandolo.

Saturn Bomberman

No creo que Bomberman necesite presentación,algunos dicen que la versión de Bomberman de SegaSaturn es la mejor versión que existe. Todas lasversiones que han salido a posteriori han sidocomparadas con la versión de Sega Saturn.

Figura 04 – Saturn Bomberman

Figura 05 – Excelentes animaciones, colores brillantes yuna muy buena jugabilidad, no hay nada mejor cuandose trata de Bomberman

Saturn Bomberman es realmente una joya, conbonitas escenas de anime, maravillosos coloresbrillantes, todo tipo de power-ups y un modo de

Page 58: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

juego muy familiar. ¡Si te gusta Bomberman,denitivamente deberías jugar a la versión de SegaSaturn! Ah, ¿he mencionado que admite hasta 10jugadores en una pantalla?

Sexy Parodius

Este shooter es similar a Parodius, del que halbé laúltima vez, se trata de una serie que parodia a losjuegos Gradius un tanto “Cute ’em up”.

Figura 06 – Pantalla de inicio de Sexy Parodius en SegaSaturn

Tiene una curiosa peculiaridad al nal de cada seccióndonde tienes que matar a un par de jefes, y si losvences, se irá revelando lentamente una “imagensexy”, pero si te quedas sin vida se acabó. Tienes unacantidad ilimitada de continúes, de modo que puedespasar al siguiente nivel, pero el nivel de la imagenhabrá nalizado.

Figura 07 – Pantalla de selección de personajes de SexyParodius

Aparte de esto, el juego es un buen “cute ‘em up”,aunque en realidad es bastante difícil y es posible quemueras con bastante frecuencia, pero como he dicho,afortunadamente, hay ilimitados continues.

Figura 08 – Lucha con un jefe en Sexy Parodius

Shienryu

Shienryu es otro shoot ’em up. Es un poco más simpleen cuanto a mecánica de juego, ya que no puedeselegir diferentes tipos de habilidades, y solo tienestres tipos de armas.

Page 59: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 09 – Shienryu

Figura 10: Grácos muy buenos con hasta dos jugadorescon muchas explosiones y enemigos en pantalla

Puedes utilizar un disparo extendido, un ataque conrayos que apunta automáticamente a todos losobjetivos y va saltando de unos enemigos a otros, oun ataque con cohetes que, básicamente es unacombinación de misiles autodirigidos y cohetesdirectos. A cada una de las armas se le puedeaumentar la potencia de fuego varias vecesrecopilando potenciadores. Además de esto, tienes“bombas”, que son ataques especiales diseñados paracausar mucho daño en una extensa área de lapantalla, tal y como pueden encontrar en muchosotros juegos del estilo. El juego se ejecuta muy bienen el ODROID-XU3/XU4. Los grácos probablementesean la parte más impresionante del juego, conmuchos detalles y animaciones, nubes transparentes,

así como una buena cantidad de desplazamiento. Esuno de los mejores “shmups” para el sistema.

Figura 11 – Los cohetes pueden causar mucho daño yalgunos son autodirigidos

Figura 12 – Ningún “shmup” está completo sin jefes quederrotar

Si te gustan los “shmups”, este es uno quedenitivamente deberías probar. El juego tambiénestá disponible para MAME y PS1, pero la versiónpara Saturn es posiblemente la mejor.

Shinrei Jusaishi Taroumaru

Este juego es un tanto único, se ve y se siente un pococomo la serie Shinobi. Sin embargo, en lugar de lanzarcuchillos o golpear al enemigo con los puños, recurresa tu energía interna para dispararles rayos.

Page 60: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 13 – Pantalla de inicio de Shinrei JusaishiTaroumaru

Figura 14 – Cargando tu ataque antes de golpear paracausar un mayor daño

En este juego, caminas de izquierda a derechaluchando contra multitud de enemigos que van desdellamas en movimiento, hasta ninjas y criaturasdemoníacas, y de vez en cuando luchas contradiferentes monstruos jefes que varían bastante enfuerza y en la forma de matarlos. En mi opinión, eljuego es un poco difícil de controlar. Tienes unafunción de apuntar automáticamente queúnicamente se bloquea si aparece un enemigo frentea ti. Si el enemigo está detrás de ti, tienes que darte lavuelta, y tampoco funciona si un enemigo está justoencima.

Figura 15 – Luchando contra un jefe junto con unenemigo capturado

Figura 16 – El juego incluso tiene romos rotativos

La variedad de enemigos, especialmente los jefes, esbastante impresionante, y los diferentes niveles yescenas en los que luchas son bastante buenos. No teaburrirás viendo el mismo fondo una y otra vez. Eljuego puede llegar a ser bastante difícil, pero aun asíes muy divertido. Incluso puedes “capturar” a algunosenemigos y hacer que luchen por ti. También puedesreectar algunos ataques o hacer que los proyectilesque van dirigidos hacia ti desaparezcan. El juego esbastante divertido, aunque no tiene función deguardado ni nada parecido, probablemente estépensado para jugarse en una sesión y que puedasterminarlo en aproximadamente una hora más omenos.

Sonic Wings Special

Page 61: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Parece que la “S” no solo representa a Saturn sinotambién a “shmup”, puesto que éste es una vez másun juego “shoot ‘em up” para Sega Saturn. De nuevo,la jugabilidad es bastante simplista. No hay armaspara recoger y no hay ataques con carga ni nadasimilar; simplemente un ataque estándar y un ataqueespecial “bomba”.

Figura 17 – Sonic Wings Special

Figura 18 – Buenos grácos y explosiones, pero sindesplazamiento ni transparencias en este juego

La falta de diferentes armas se compensa con unagran cantidad de aeronaves que puedes pilotar:puedes seleccionar entre 10 diferentes aeronaves,cada una con sus propias armas y ataques especiales.Otro añadido es que el botón C actúa como un botónde disparo turbo. Esto signica que no tienes quepresionar el botón de disparo una y otra vez.

Figura 19 – Muchos y diferentes fondos y enemigos

Figura 20: Muchos y exclusivos jefes, así que guardamejor tus ataques especiales para cuando luches contraellos.

Incluso si no mueres, tus armas perderán su nivel depotencia si no consigues más potenciadores con eltiempo, y una vez que te golpean, pierdes tus poderesy normalmente te dejan varado con un solo podercon tu aeronave prácticamente destruida. A veces esmejro dejar que los potenciadores vuelen por lapantalla durante un tiempo antes de recogerlos.

Steam Hearts

Aquí tienes otro shoot ’em up para Sega Saturn.Steam Hearts es una vez más un Shmup bastantebueno para Saturn, con un cierto nivel dedesplazamientos y muy buenas animaciones.

Page 62: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 21 – Portada de Steam Hearts en Sega Saturn

Lo que me gusta de este juego es que con un sologolpe no necesariamente signica que vas a estarfuera de juego. Tu nave puede recibir un par degolpes antes de caer empicada, lo cual es bastantebueno para variar.

Figura 22

Figura 23 – Una de tus armas es una espada gigante quepuede balancear para desviar las balas.

Tienes un par de armas primarias y secundariasdiferentes que puedes recopilar y hasta tres armassecundarias que tienen estilos diferentes. Esto teproporciona una amplia variedad de opciones a lahora de combinar tus poderes. Estas armassecundarias también se usan para tu ataque especialy serán “empleadas” precisamente para esto, lo quesignica que perderás estas armas secundarias trasrecurrir a tu ataque especial. Los ataques especialesson normalmente formatos más potentes de tuataque principal y no como en muchos otros juegosuna enorme pantalla que se llena con un ataqueextremadamente poderoso. Por ejemplo, si tienes unláser auto-dirigido como ataque secundario y activasel ataque especial, la velocidad y fuerza de ésteaumentarán durante un breve período de tiempo, y laespada aumentará su tamaño ocupando casi toda lapantalla. Este tipo de cosas pueden serextremadamente útiles, pero no devastadoras, comoocurren en otros juegos en los que puedes matar aun jefe con solo uno o dos ataques especiales.

Page 63: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 24 – El láser es probablemente el arma primariamás fuerte

Figura 25: Matar a un jefe con el láser es mucho másrápido que con otras armas

En denitiva, es un shooter bastante conseguido.Puedes optar entre un personaje principal masculinoo femenino, y una nave azul o roja.

Strikers 1945

Strikers 1945 es el último shoot ‘em up de esta serie.Salió para muchos y diferentes sistemas, incluso hayuna versión PSP del juego.

Figura 26 – Strikers 1945 para Sega Saturn ejecutándosesobre un ODROID-XU3

Figura 27 – Seleccionando tu avión favorito, cada unotiene diferentes armas

El juego como tal no es nada del otro mundo, ya queno tiene desplazamiento paralaje, aunque los grácosy las animaciones son bastante buenos, pero nadaque no se pueda ver en otros juegos. Aun así, esbastante divertido, el nivel es corto y te enfrentas a unnuevo jefe en cada etapa que aparece de formaaleatoria. Sin correr es lo mismo, ya que el orden delnivel cambia cada vez, lo cual te proporciona unañadido para repetir el nivel. Los niveles soninteresantes y los planos son lo sucientementediferentes como para que quieras probarlos todos.Strikers 1945 puede que no sea el mejor shmup, perolo hace todo muy bien. El sistema de juego es rápido ydesaante, pero no malintencionado. Los grácos son

Page 64: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

bastante buenos, incluso si no utilizas eldesplazamiento paralaje. Tienes buena música, unvideo de introducción, continúes ilimitados, disparosautomáticos con el botón derecho superior delmando y mucho más.

En general, Strikers 1945 es un shooter muyconseguido y funciona muy bien con el ODROID-XU4/XU3. Si te gustan los shoot ’em ups,denitivamente deberías probar este juego.

Figura 28 – Boss Battle in Striker 1945

Menciones honorícas

Saturn Bomberman Fight!!

Este juego es un tanto interesante si lo comparamoscon juegos del estilo Bomberman. No mueres con laprimera bomba que estalla a tu lado, aunque sí quetienes una barra de salud. Puedes lanzar bombas,

saltar cajas, montar animales y mucho más. El juegoes bastante diferente del Bomberman original, peroes bastante divertido. Además, lleva a Bomberman y asus amigos a un mundo 3D, lo cual proporciona aljuego un pequeño y agradable cambio de estilo.

Shichisei Toushin Guyferd – Crown KaimetsuSakusen

La primera vez que ves la introducción,instantáneamente te recuerda a una vieja serie detelevisión llamada Power Rangers, pero no, este esGuyferd, que es similar, aunque diferente en muchosaspectos. Desafortunadamente, no entiendo ni unapalabra de lo que se dice, lo cual es una lástima, yaque el juego incluye muchas escenas de videosprobablemente de la propia serie de TV (¡y me reeroa MUCHAS!). Juegas como un crawler de mazmoras,donde caminas desde la perspectiva de la primerapersona y giras a la izquierda o a la derecha ycaminas de un lado a otro, hasta que encuentraselementos o un enemigo, que es cuando empiezas aluchar. El juego es muy interesante, así que es unapena que entienda tan poco.

Shining Force III

Si quieres jugar a este juego para Sega Saturn, serámejor que insertes una Memory Backup Card paraguardar tus progresos del juego, ya que la memoriainterna de Saturn probablemente no sea suciente.Realmente no se puede disfrutar de los grácos pre-renderizados como en el caso de Donkey Kong paraSNES o como Shining Force III. Aún así, es un juego derol muy interesante que utiliza muchos elementos yefectos 3D, y es uno de los mejores juegos 3D paraSaturn. Es formidable y por lo que he escuchado, sesupone que es un juego muy “épico” y el mejor de laserie. Se ejecuta un poco lento, con mucho texto ypoca acción al principio. No he tenido realmentetiempo para jugarlo en serio y poder ofrecer unabuena crítica. Ha sido bastante elogiado, así que creono equivocarme al recomendarlo.

Silhouette Mirage

Silhouette Mirage es un juego bastante interesanteque no termino de entender del todo. Puedes correr,saltar y disparar bolas de energía con los dedos, y

Page 65: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

tienes que vencer a Mirages y Siluetas. Hay muchosdisparos, golpes y cosas que puedes hacer. Incluye untutorial que nunca he llegado a terminar, ya que telleva mucho tiempo, y simplemente te muestra losdiferentes combos de ataque que puedes hacer. Losgrácos son agradables y la música es pegadiza. Es unbuen juego, aunque no he llegado entender muy bienlo que ralamente estoy haciendo.

Street Fighter Alpha – Warrior’s Dream

Este juego también puede necesitar una tarjeta dememoria si quieres guardar tus buenas puntuaciones,o tienes que asegurarte de que la memoria delsistema tenga al menos 32 bloques libres. El juego eslo que se suele esperar de un juego al estilo StreetFighter. Tiene buenos grácos, buenas animaciones ypor lo general tiene buena calidad, pero no es algoextraordinario.

Street Fighter Zero

No he logrado hacer hacer funcionar Street FighterZero 3, aunque es una versión mejor que la versiónZero, y con la expansión de memoria de 4MB, ofrecebastantes más animaciones. Sin embargo, StreetFighter Zero es un excelente juego de lucha de la serie

Street Fighter con buenos grácos y animaciones. Haymuchos movimientos especiales, y se ejecuta muybien en el ODROID XU3/XU4. Si eres fanático de lasaga Street Fighter, denitivamente deberías echarleun vistazo a éste.

Street Racer

Street Racer es un pequeño e interesante juego decarreras con divertidos grácos de dibujos animadossimilares a Mario Kart. Tiene algunos problemasgrácos, ya que parece que el cielo está realmente enel suelo y parece que conduces sobre él. Esto haceque la pista real sea difícil ver, pero no imposible, yaún así puedes disfrutar bastante del juego. Otraventaja es que con este juego puedes gestionar lamemoria del sistema y los estados de guardado de lamemoria de backup.

Striker 1945 2

Striker 1945 2 es la segunda entrega de la serie 1945.Es un shoot’em up muy bueno, perodesafortunadamente es un poco lento. El frameskipping resulta un poco molesto, y la desactivacióndel mismo te permitirá jugar a cámara lenta, que sepuede soportar, pero ya no resulta tan divertido.

Page 66: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Servidor Doméstico ODROID-XU4 June 1, 2018 By Igor Kromin ODROID-XU4, Mecaniqueo

En diciembre de 2017, monté mi propio servidormultimedia doméstico Odroid XU4(https://goo.gl/6tT6rt) ya que tuve algunos problemascon la conguración anterior. Lamentablemente, eneste montaje no tuve en cuenta ni la estética ni elcableado, solo me centré en la funcionalidad, porquenecesitaba un servidor funcional y no me importabasu apariencia. En marzo de 2018, recibí mi monitorcurvo con una pantalla de 34 pulgadas(https://goo.gl/WekKF9) y con ello el tema delcableado y la estética del servidor en general tomaronimportancia, así que decidí hacer algo al respecto.

No he utilizado una carcasa totalmente cerrada, yaque me gusta el estilo de tener los distintoscomponentes montados en una sola lámina deacrílico, lo cual le da un aspecto más industrial. Megustaría tener una lámina superior transparente, perono he sido capaz de encontrar soportes que sean losucientemente altos como para soportar una.

El tema que he intentado resolver en este punto erael del cableado. Contaba con dos fuentes dealimentación independientes: una para el HDD y otrapara el XU4. Esto no era lo idóneo, especialmenteporque tenía que usar un adaptador de alimentacióninternacional con la fuente de alimentación XU4 (deEE. UU. a Australia). Demasiado desorden, quería usaruna única fuente de alimentación, pero necesitabados voltajes: 12V para HDD y 5V para XU4.

Mi solución fue la de usar una fuente de alimentaciónde 12V para el HDD y hacerme con un convertidorDC-DC de 12V a 5V (https://goo.gl/gKjnzG) paraalimentar el XU4. La fuente de alimentación era capazde proporcionar suciente corriente para ambos. Estome resolvió el problema del voltaje. Luego, tenía quellevar los 12V al convertidor DC-DC. Dado quecontaba con un cable divisor de alimentación de labase HDD que podía alimentar el ventilador derefrigeración y el dock en sí, opte por reutilizarlo. Estoimplicaba volver a conectar el ventilador. Esta parte

Page 67: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

fue fácil. Desarmé la base, taladré un pequeño oriciopara pasa el cable del ventilador y conecté elventilador directamente a su toma DC. Resultaba unpoco chapucero, pero funcionaba.

Figura 1 – Volver a cablear el ventilador fue fácil

Figura 2 – Otra perspectiva del cableado del ventilador

Figura 3 – El resto de componentes del proyecto antes demontarlos

Ahora que tenía el cableado más o menos resuelto,necesitaba empezar a montarlo todo en su lugar.Como tenía una hoja negra de acrílico de 3 mm,decidí usarla como base (después de cortarla con eltamaño adecuado). Utilicé bastantes separadores denylon negro (https://goo.gl/auDiwD) para colocar elXU4 y el convertidor DC-DC en su lugar. También usélos mismos separadores debajo de la base: uno encada esquina con un separador montado en el centro.

Figura 4 – Los separadores para el XU4 y el convertidorDC-DC

Figura 5 – Otra perspectiva de los separadores para elXU4 y el convertidor DC-DC

Para mantener todo limpio y ordenado, decidí colocarla pantalla sobre el convertidor DC-DC Para ello utilicéunos cuantos separadores de aluminio rojos de 35mm (https://goo.gl/G6JTsv). La altura era la adecuada.

Page 68: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 6 – La lámina acrílica lista para perforarla

Era cuestión de marcar todas las posiciones de losseparadores y realizar los correspondientes agujeros.

Figura 7 – Perforando la lámina de acrílico

Figura 8 – Los componentes montados en la lámina deacrílico

Después de colocar el XU4 y el convertidor DC-DC ensu lugar. Monté el cableado básico desde fuente dealimentación al convertidor DC-DC y me aseguré de

que todos los voltajes eran los correctos. Una vezvericados los voltajes, terminé con el cableado entreel convertidor DC-DC y el XU4. El conector DC enángulo (https://goo.gl/GvN8KY) fue muy útil en estepunto.

Figura 9 – Los componentes con el cableado montado

Tras conectarlo todo, el servidor estaba listo paraechar a andar. Colocado detrás de mi monitor se velimpio y ordenado, sin cables que puedan apreciarse.

Figura 10 – La vista nal del servidor con los cables yláminas de acrílico montadas

El disipador de calor en el XU4 no es el original. Loreemplacé hace un tiempo tal y como se describe enel artículo “Another Odroid XU4 standard heatsinkand fan replacement“ Para comentarios, preguntas ysugerencias, visita el artículo original enhttps://goo.gl/6TL9BT. Si desea leer más artículos deIgor, dirígete ahttps://www.igorkromin.net/index.php/category/odroidxu4/.

Page 69: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Carputer – Pantalla Táctil Android de 7″ June 1, 2018 By Steve Jackson (@[email protected]) Android

Este es un CarPuter Android de pantalla táctil de 7”con GPS USB muy preciso, Bluetooth 4, entrada ysalida de audio de 3.5MM, WiFi y una pantallamagnética ajustable. Tienes disponible un archivosketchup para personalizarlo y cambiar el tamañosegún sea necesarioen https://www.thingiverse.com/thing:2720349. Como técnico de Servicio Locales TI de 28 años, hemontado esta unidad por necesidad para reemplazarla pequeña pantalla del teléfono y que me sea de másutilidad a la hora de viajar. Existen unidades pre-fabricadas que puedes comprar y lograr la mismatarea, pero ya tenía la pantalla Vu7 y ODROID-XU4 deotro proyecto, así que opté por readaptarlos en algoque pudiera serme de más aplicación

Ten en cuenta que algunas de las siguientesaplicaciones/funciones son ilegales usarlas mientrasse conduces. No puedes usar aplicaciones que tepermiten escribir mientras conduces un vehículo amotor en la mayoría de los estados. Comprueba tu

legislación y no la violes al utilizar este dispositivo. Nome hago responsable del uso o aplicación inadecuadade este dispositivo y de la posible violación de lalegislación aplicable.

Esta versión del dispositivo es solo para actividadeseducativas/mecaniqueo. Apártate a un lado delcamino, detente sin ocasionar daños y luego utilízalo.Por lo general, me encuentro estacionado antes odespués de activar un servicio cuando uso estedispositivo, o me detengo y me pongo a salvo, luegohago lo que tengo que hacer. Sé inteligente cuandouses este dispositivo, y no vaya a sufrir un accidentepor utilizar lo que básicamente es un juguete friki conalgunas aplicaciones de negocios.

Page 70: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Este proyecto carputer es una forma muy económica demodernizar tu vehículo

GPS

Las unidades GPS USB son mucho más sensible yprecisas que las incorporadas en tu teléfono. Estoimplica un gran ahorro de tiempo, ya que me permiteanticipar mejor mis giros y evitar esperas innecesariasy dar vueltas en U. También localizainstantáneamente los satélites sin esperas.

Portal RepairShopr

Utilizo este calendario/portal para ver mis citas entiempo real y para colocar la dirección del cliente enla cola de visitas del GPS. Cero escribo y cero hablocon Google. Con un teclado Bluetooth RII, tambiénpuedo sentarme y añadir notas del sitio en laintimidad de mi camioneta mientras escucho lasnoticias o música.

Musica

Uso Spotify, Pandora y multitud de servicios demúsica gratuitos para proporcionar sonido a micamioneta. Todos ellos se integran muy bien con laconguración permitiéndome controlar otrosprogramas, así como también los botones de launidad principal de sonido del automóvil.

Panel de Mandos

El panel de mandos incluye un velocímetro digital(GPS), fecha, hora, clima, controles de audio e inclusoun visualizador de audio, todo esto es posible graciasa Car Launcher Pro.

WAZE

WAZE es un buscador de zonas de control develocidad, policías y accidentes con información detráco en tiempo real, un GPS alternativo a GoogleMaps y mucho más. Éste incluso te muestra loslímites de velocidad con muy buena precisión,aunque no siempre son correctos, así que estateatento a las señales de las calles.

Torque PRO

Puedes emparejar Torque PRO con un ELM327 o conun escáner Bluetooth OBD-II similar y acabaranteniendo un sistema de información del motor entiempo real. Cuenta con una muy completa gama deindicadores digitales que se pueden personalizar conmuchas conguraciones diferentes. Para los cochescon o sin Turbo, hay indicadores de potencia y devacío, indicadores de aceleración e incluso lee loscódigos del motor de la mayoría de los automóviles ycamionetas OBD-II. Existen otras aplicaciones quetambién hacen esto, pero Torque Pro, que es unaaplicación de pago, funciona perfectamente y cubretodas mis necesidades. Es agradable y muy estable enlas imágenes de Android para ODROID-XU4.

Probando los límites del Wi y su alcance

Las pruebas WiFi de un edicio amplio paracomprobar la cobertura inalámbrica, como es uncomplejo de apartamentos o un hotel, pueden llegara ser un poco monótonas si tienes que caminar. WiFiAnalyzer es una gran utilidad que proporciona unping audible para comprobar la potencia del WiFi. Tepermite recorrer toda una propiedad y trazarrápidamente los límites del WiFi sobre el plano de unlugar, revelándote las brechas de cobertura conbastante facilidad, todo ello desde la comodidad de tuaire acondicionado, lo cual es genial cuando se estáaquí en la soleada Florida. Esta herramienta mepermite estar online las 24 horas del día con algomucho más útil que la pequeña pantalla de miteléfono. Cuando mi teléfono está cerca, mi punto deacceso se conecta y listo.

Usos adicionales

Señalización LED digital, usando Neopixels con laapropiada conguración de batería para ejecutarlos

Page 71: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Controles de LED personalizados, luces de neón y otrailuminación para los efectos y las luces

Interfaz de sistema de combustible personalizado ycontroles No2

Vehículo para investigador/detective privado e interfazde seguimiento GPS para las investigaciones

Cámara de respaldo o cámara del panel deinstrumentos

Estación base de drones FPV desplegable parainspecciones y seguridad de lugares/edicios

Sistema de películas y videojuegos con reposacabezastrasero para entretener a pasajeros y niños

Informe de carga EV y motor eléctrico, AC, regenerativoy otros controles

Componentes

Ordenador ODRO ODROID-XU4 con eMMC de 32 GB +batería RTC para mantener el registro del tiempo:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825,http://www.hardkernel.com/main/products/prdt_info.php?g_code=G145628097465,http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137508214939, un disipador de calor conventilador que se recomienda encarecidamente parael XU4 en esta conguración.

Pantalla Táctil ODROID-VU7 + 5v:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G144549683088

Hub USB alimentado con 4-5 puerto: mi versión incluyeun cable de alimentación modicado para alcanzaruna potencia de 5v desde el convertidor DC-DC(https://goo.gl/WZmPUA)

Cable de extensión USB opcional de medio metro(https://goo.gl/GDQzkv)

Fuente de alimentación de 12v a 5v para alimentarODROID-XU4 y el HUB USB con alimentación (8 AMP+)https://goo.gl/mwT1ng. También necesitarás unventilador de 12V de 40 mm x 40 mm x 10 mm paraenfriar hasta 10-12 amperios

Adaptador WiFI Nano USB ODROID:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G145431421052

Adaptador Bluetooth 4 USB ODROID:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141656580698

Un pequeño Cable HDMI, lo más delgado posible, parael video de la pantalla: El cable HDMI incluido con el

ODROID-CU7 es demasiado grueso(https://goo.gl/HuQdFy)

Un Micro cable USB a USB, tan delgado como te seaposible, para la función táctil de la pantalla: La pantallaODROID-VU7 viene con este componente.

Imanes magnéticos K y J redondos de neodimio (2),para mantener la pantalla en sulugar: https://goo.gl/SeuHpM

Material ABS, del color que quieras:https://goo.gl/nYJPB4. Funciona muy bien, aunque lobarato sale caro. Estoy seguro de que podría haberencontrado algo mejor.

Cable par trenzado de un tamaño decente. Noexcesivamente pequeño, ya que se moverán más de 5amps.

Tarjeta de sonido ODROID USB 5.1 con línea deentrada, la del micrófono para que puedas hablar conGoogle:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141629380416

Unidad GPS USB Gmouse, compatible con ODROID:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G142502154078

Conector DC para ODROID-XU4:http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141440511056

Micrófono para PC https://goo.gl/YQGT9p

Esmalte de uñas Sally Hansen Insta-Dri: bueno paradarle a la pantalla un acabado brillante, el cual estádisponible en Walgreens y tiendas similares.

Un interruptor de encendido/apagado

Utiliza una combinación de hardware M2 y M3.También disponía de unos cuantos tornillos de roscagruesa que procedían de otro proyecto, con tamañosimilar al hilo grueso M2. No obstante deberías poderver lo que realmente necesitas partiendo del tamañode los agujeros.

Próximas funciones

Encendido/apagado automático al arrancar elvehículo: Desafortunadamente, no he tenidosuciente tiempo ni la curiosidad por utilizar estecircuito e implementarlo en el diseño. ¡Cualquiera queesté interesado puede personalizar uno y mostrarnoscómo lo ha hecho!

Botones complicados/control del joystick: estabaconsiderando la posibilidad de utilizar una palanca

Page 72: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

con un botón para los controles más complicados,pero no he logrado decidir dónde colocarla.

Double Din, versión completamente independientecon amplicador integrado de 4 canales, con línea deentrada/salida: sistema de sujeción adicional, parafacilitar su montaje en el hueco. La combinación decuñas y tornillos en este punto diculta la entrada y lasalida.

Controles de iluminación reactivos al sonido o HAT:Esto realmente haría resaltar este dispositivo sobre elresto de cosas. Ninguna unidad de Android comercialpuede hacer esto sin los componentes adicionales.Un HAT permitiría que el Xu4 fuese un verdaderopanel de instrumentos personalizado para el coche.

Impresión

Utiliza ABS o PETG para lograr mejores resultados.Espera algunas deformaciones, al trabajar con losbordes de los extremos de tu supercie de impresióny problemas de separación en las capas. Un recientocaliente funciona muy bien. Use cartón, papel decorcho, papel de aluminio y una lámpara de calor oluces de seguimiento; simplemente ten cuidado conel calor y no dejes de vigilarlo.

Carcasa Carputer para la pantalla

Vista lateral de la carcasa del ordenador

Vista posterior de la carcasa del ordenador

Montaje posterior a la impresión

Tras imprimir las partes, conecté el módulo eMMC enel ODROID e instalé el sistema operativo Android. Hazun recorrido de prueba sin instalar la unidad en elvehículo y asegúrate de que todo funcionacorrectamente. Recomiendo ejecutar la unidaddurante varias horas para asegurarse que no hayproblemas de calor con la fuente de alimentación.

Page 73: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Pantalla instalada en la carcasa del ordenador

La fuente de alimentación DROK me fue mejorcuando estaba congurada a unos 5.7v. Se sabe queel VU7 parpadea ligeramente cuando el XU4 trabaja al100% debido a la caída de corriente en el riel de 5v. ElHUB intenta solucionar esta cuestión, pero tienes quesubir un poco la energía. 5.7 fue mi “punto óptimo”permitiéndome reducir considerablemente cantidadde parpadeos.

¡Las conguraciones hace trabajar a las CPUs almáximo! Haz que se caliente todo hasta no podermás y ponle al XU4 tanta carga de trabajo como tesea posible. Los programas para probar elrendimiento funcionan bien para esto. No querrásmeterle fuego al salpicadero de tu coche. Si alguno delos componentes se calienta demasiado hasta elpunto de sentirlo excesivamente caliente al tocarlo, esque está funcionando a demasiada temperaturacomo para incluirlo en el salpicadero, lo cual signicaque debes añadir ventiladores.

Abriendo el salpicadero

Busca sitios para que el hub USB y la fuente dealimentación no entren en contacto con la puesta atierra de la carrocería, o podrías tener problemas conlos cortocircuitos. Asegúrate de que todos loscomponentes estén debidamente acotados consuciente ventilación con el objeto proteger loscomponentes electrónicos. La estructura Din seatornilla al marco, o se pueden usar pestañas conrosca ajustándola en su lugar de esta forma.

Disponer de una línea hacia un AUX u otra fuentesigue siendo un problema en este proyecto. Aúnestoy buscando una salida AUX limpia para elODROID-XU4 mientras esté conectado a los 12 voltiosdel coche. De momento, la unidad sólo es capaz deproporcionar audio limpio a través del Bluetooth a launidad principal del coche.

Algunos han sugerido probar el conector de salida de3.5 mm en el Boombonnet, y simplemente dejar lospequeños altavoces fuera. Siendo I2S, es posible queno experimente tanto ruido. La fuente dealimentación que utilice para ello inyectaba un 50%de ruido en la señal de audio, de modo que eratotalmente inservible.

Ordenador instalado en el salpicadero

Los ltros de ruido y de puesta a tierra recortan lasfrecuencias de los graves y otras frecuencias, ydistorsionan el sonido en cualquier sistema que usaráun amplicador y subwoofer. Créeme. Los probétodos. Ninguno llego a sonar bien después deconectarlos. El ruido desapareció, pero también lohizo el 50% de mis frecuencias de sonido.

Consideraciones adicionales

Page 74: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Ten mucho cuidado al usar imanes de neodimio encualquier proyecto. Son muy conocidos por unirse yromperse, causando que el metal alado salgavolando a gran velocidad, posiblemente cegando alusuario, ¡Así que ten cuidado! Asegúrate de que tusimanes estén orientados de la manera correcta antesde colocarlos en la posición nal, o los estarásforzando y probablemente se harán añicos en elproceso.

Todos los intentos de imprimir esto en PLA terminabaen fracaso a los pocos días. Se deformaba dentro delautomóvil debido a las altas temperaturas quealcanzaba el salpicadero No te molestes en intentarlo;no funciona.

Para imprimir los componentes y para obtener másdetalles, visita el artículo original enhttps://www.thingiverse.com/thing:2720349.

Page 75: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Introducción a los Conceptos Básicos de BASH – Parte 2:Comandos BASH Útiles para Ordenadores de placa Reducida June 1, 2018 By Erik Koennecke Linux, Tutoriales

La última vez aprendimos los comandos ‘ls’ y ‘tree’.Aunque analizar cosas puede ser interesante, resultamás divertido en realidad hacer algo con nuestrospropios datos. Este artículo contiene una lista de loscomandos más comunes a la hora de manipulardatos. El comando y su explicación son muy brevescon el n de evitar escribir una enciclopedia de Linuxy que llegue a aburrirte hasta cansarte. Simplementedebería llamarte la atención la existencia de undeterminado comando BASH.

A modo de recordatorio, cada vez que queramosconocer mejor algo, escribiremos “man” en unaventana de Terminal y nos devolverá la sintaxis deuso, así como todas las opciones disponibles para eseprograma en concreto. Ten cuidado, sin embargo,porque las páginas man a menudo tienen contenidoque se ha ido acumulando durante décadas y puedenser difíciles de digerir, especialmente para los

principiantes. Si quieres comenzar a trabajar deinmediato, abre www.explainshell.com en tunavegador, aquí encontrara explicaciones de losdistintos comandos, como los ejemplos que vamos aver a continuación. Para obtener información útilsobre cómo crear tus propios comandos, usa laspáginas TLDR en tldr.ostera.io. Compara el manualdel comando tar con la versión TLDR y verás a qué mereero.

Comandos básicos de BASH

Los comandos básicos más utilizados son:

cd – cambiar de directorio. ‘Cd /’ cambia al directorioraíz, ‘cd ~’ vuelve al directorio de inicio del usuario.

mkdir – Crear un directorio. Prueba con ‘mkdir ~/test’para crear un subdirectorio dentro de tu carpeta deinicio llamada prueba.

cp – copiar archivos. ‘Cp /path/to/le/home/odroid/test/’ genera una copia en el directorio

Page 76: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

que hemos creado antes. Con la opción -R, puedescopiar archivos y directorios de forma recursiva.

mv – mover archivos. La sintaxis es igual que cp, peroel archivo se elimina una vez que la copia se hayarealizado correctamente.

rm – eliminar archivos.

$ rm exampleFile.txt

cat – concatenar archivos. cat lee desde entradasestándar y escribe resultados estándar si no seproporcionan otras opciones. Si usas el archivo cat, seescribe el contenido del archivo en la consola, elresultado estándar. Pruebe con ‘cat/etc/fstab’ para verun ejemplo.

less – si deseas leer archivos más largos en consola.‘Less lename’ muestra el contenido del archivo y haceuna pausa después de cada página. Puede avanzar con“espacio” y regresar con “b” y “q” para salir.

$ less exampleFile.txt

head y tail – por defecto, el archivo head muestra lasprimeras 10 líneas del archivo, mientras que la tail deun archivo muestra las últimas 10 líneas del archivo.

$ tail exampleFile.txt

$ head exampleFile.txt

tar y zip – para archivar archivos. tar cf archive.tar/home/odroid/test/ archiva el directorio de prueba ytodos sus contenidos. Si añades el parámetro z (tarczf), el archivo se comprime posteriormente.

sudo y su – para todo lo que requiera más privilegios,antepones sudo para ejecutar el comando como root,el superusuario. cat/etc/sudoers no funcionará. Si usassudo cat /etc/sudoers, puedes leer el archivo. supermite ‘cambiar de usuario’ Si ha asignado unacontraseña al usuario root o tienes otros usuarios enel sistema, puedes pasarte a ellos con este comando.Con sudo -i, también puede cambiar a un prompt decomandos con más privilegios y trabajar como roothasta que te salgas.

$ sudo ­i

exit – para salir del prompt de comandos o del shell.Útil también para conexiones remotas.

$ exit

ssh – puedes iniciar sesión en una consola remota detu ODROID con esto. Aquí es donde realmente destacala consola BASH. Siéntate frente a tu PC, inicie sesiónen el ODROID donde sea que esté y trabaja como siestuviera sentado frente a él. En este caso, utilizar unaGUI es más bien un inconveniente. Ésta es la razón porla cual la consola y BASH en tu SBC son másimportantes. En un PC de escritorio, es posible quepuedas evitar la línea de comandos la mayor parte deltiempo. Para conectarse por ssh, necesitas la direcciónIP del ordenador o del ODROID y el nombre de usuariocon el que desea iniciar sesión. Por ejemplo, el usuario‘odroid’ y la IP ‘192.168.0.1’.

$ ssh [email protected]

grep – muestra los archivos que contienen un ciertopatrón de texto. ¿Desea saber qué archivos deldirectorio /etc/ contienen la palabra ‘Ubuntu’? grep -rnw ‘/etc/’ -e ‘Ubuntu’ te da la respuesta.

$ grep ­rnw ‘/etc/’ ­e Ubuntu

nd – Puedes usar nd para buscar archivos usandocasi todos los criterios que puedas imaginar y actuarsobre ellos. El ejemplo más simple: nd/home/ -name‘* test *’ busca todos los archivos y directorios quecontienen ‘test’. nd / home/odroid/ -type f -size + 1M -mtime 30 es un ejemplo más elaborado. Encuentratodos los archivos (no directorios) en /home/odroidque ocupen más de 1 MB y que hayan sidomodicados en los últimos 30 días. También puedeusar Explainshell.com para aviriguar lo que hace.

Figura 01 – explicahell.com explicando nuestro comandond

Page 77: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

sort – ordenar los archivos.

df y du- el espacio libre y el uso del disco muestrancuánto espacio le queda con df o cuánto usan tusarchivos y carpetas individuales con du -ch.

ps y kill, killall – ps lista los procesos en ejecución, siquieres ver todo lo que hay funcionando, usa ps aux. Elnúmero de proceso utilizado con kill, así que kill,matará el proceso al enviar una señal para quenalizar el proceso. Killall mata todos los procesos.

$ ps aux

$ kill

mount y umount – monta dispositivos externos yunidades con mount /dev/ /path, desmóntalos conumount /dev/.

dd – con dd, puede escribir desde cualquier lugar acualquier lugar. También se conoce como destructorde disco por alguna razón, ¡así que ten cuidado! ddif=/dev/mmcblk0 of =/home/odroid/mbrbackupbs=512 count=1 hace una copia del registro de iniciomaestro. Muy práctico cuando quieres grabar unanueva tarjeta SD.

$ dd if=/input/path of=/output/path

shutdown y reboot: apaga y reinicia tu SBC. Hay variasopciones disponibles

Ampliaciones de BASH y comodines

* y ? – ls * .txt muestra todos los archivos queterminan en .txt. Usando ls Image??.jpg, puedesmostrar los archivos con nombres como Image00.jpg oImageAB.jpg.

[abc] – ls/dev/sd[abcd]1 muestra las particiones/dev/sda1, /dev/sdb1, /dev/sdc1 y /dev/sdd1.

| como selector – Con mount | grep ‘mmc\|sd’,muestra unicamente las eMMC, tarjetas SD odispositivos externos montados. Se extiende a ‘todocon mmc o sd en el nombre’.

Comandos BASH avanzados – redirección,ujo de datos y bucles

stdin, stdout y stderr – estos tres archivos (recuerdaque todo en UNIX es un archivo) siempre existen. stdin

es el teclado, stdout es la pantalla y stderr son losmensajes de error que aparecen en pantalla.

| – Puedes canalizar el resultado de un programa en elsiguiente. El resultado del ejemplo anterior con nd esmucho más fácil de leer si usas nd /home/odroid -type f -size + 1M -mtime -30 -exec du -h ; 2>/dev/null| sort -n. El resultado de nd es usado por du paramostrar los tamaños, y todos los errores de stderr vana /dev/null, el receptor para datos innecesarios. Unavez más, si pegas este comando en explainhell.com,verás una vista desglosada de lo que hace cada parte.

$ find /home/odroid ­type f ­size +1M ­mtime

­30 ­exec du ­h ; 2>/dev/null | sort ­n

/dev/zero y /dev/null son la fuente para los bytes nulosy el receptor para todo lo que no necesitas.

> y <, >> y << - Estos redirigen la salida o la entrada aarchivos. ls * .txt> texts.list genera una lista de archivosde texto en el directorio actual. ls Documents/ *. txt >>texts.list añadiría la lista de archivos .txt al directorio deDocumentos. 2> es el resultado de stderr. La parte2>/dev/null en el ejemplo anterior redirige todos losmensajes de error fuera de la consola al Big Bit Bucket.

for, do, done – Los bucles BASH se pueden crear conestos comandos.

if, then, else – creación de bucle avanzado,principalmente para scripts.

Ejemplo de aplicación práctica

Hagamos un ejemplo para ver el potencial de shell yde los bucles. La carpeta Imágenes contiene variossubdirectorios, cada uno de los cuales deseascomprimirlo en un archivo individual para enviarlos aotra persona. Esto se puede hacer fácilmente con laGUI si solo tiene carpetas de tus viajes con la etiqueta‘EE. UU.’, ‘Corea del Sur’ y ‘España’: haces clic derecho,seleccionas comprimir y listo.

Ahora piensa en el mismo problema, pero con lascarpetas generadas por un programa desde unacámara conectada al ODROID. Si tiene 100 carpetas omás, esta tarea se vuelve tremendamente repetitiva.¡Aquí es donde BASH entra en acción!

Si usamos el comando ‘ls -F’ para mostrar undirectorio, los símbolos se añaden a los nombres de

Page 78: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

acuerdo con su tipo. Los directorios tienen una barraañadida, que también es como los ve BASH. Hazmemoria: la barra inclinada puede ser parte delnombre de la ruta de un archivo en este directorio, demodo que reciben una barra inclinada:

$ for i in */; do zip ­r "$i%/.zip" "$i";

done

Este comando coge todos los directorios que haydentro del directorio en el que nos encontramos: laparte “for i in */;” Para cada uno de ellos, hacemos losiguiente: zip -r “$ i% /. zip”, donde $i es la variable ique introducíamos antes, i%/ es el nombre sin la

barra y “$ i % /. zip” es el nombre del directorio con.zip adjunto; el directorio 2018 05 20 daría el archivo2018 05 20.zip. Las comillas evitan que los nombrescon espacios sean tratados como dos nombresdiferentes, lo cual podría tener consecuenciasdesastrosas. Después de que este comando se hayaejecutado para todo i, habremos terminado.

Una breve frase ingeniosa ahorra mucho trabajotedioso. Esto es lo que hace a BASH tan atractivo. Enel próximo artículo, veremos el arranque y el inicio desesión, y personalizaremos el prompt de BASH.

Page 79: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Juegos Linux: Emulación Nintendo 64 – Parte 2 June 1, 2018 By Tobias Schaaf Juegos, Linux

En la primera parte de este artículo presentamos laúltima versión del emulador de Nintendo 64 paraLinux y comparamos su rendimiento en todas lasplacas ODROID actuales. En esta segunda partehablaremos de algunos de los juegos más popularesde Nintendo 64, como son Mario Kart, Mario Party,Paper Mario, Star Fox, Star Wars, Starcraft, SuperMario, Super Smash Bros y Legend of Zelda.

Mario Kart 64

Mario Kart es una franquicia muy conocida deNintendo como juego de carreras, que tiene comoprotagonistas a los personajes más famosos deNintendo como Mario, Luigi, Peach, Yoshi, DonkeyKong, Bowser y algunos otros. Una de las grandesventajas de este juego es que se puede jugar conhasta 4 jugadores al mismo tiempo. En realidad, nosoy un fan de la serie, especialmente de la versión deNintendo 64, que grácamente es muy pobre en miopinión. Aunque Nintendo 64 es conocida por su

potencial 3D, Mario Kart 64 usa en su mayor partesprites 2D, que no se ven del todo bien. Los únicoselementos en 3D que presenta el juego son losterrenos por los que conduces y algunos obstáculos ypuentes, lo cual hace que el juego sea muy pocoatractivo a la hora de jugar.

U3

Page 80: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

La primera vez que ejecuté el juego sin frameskip, ibabastante lento. Puesto que el juego usa en su mayoríasprites 2D, realmente me hizo preguntarme por quénecesitaba tanta potencia de CPU. Sin embargo, unavez que activé el frame skipping, empezó a ir bien enel U3. Hay un pequeño retraso en el sonido cuando seusa el menú, pero nada que sea realmenteproblemático. Las carreras dentro del juegofuncionan bien sin retrasos ni ralentizaciones, y elmodo multijugador con varios mandos funciona a laperfección.

C1

Aunque el menú es lento, la experiencia dentro deljuego es buena y parece funcionar a máximavelocidad con el plugin Rice. Denitivamente esjugable, aunque logras una experiencia mucho mejoren el U3 o XU3. Cuando volví a probarlo conglide64mk2, el juego funcionaba bien, aunquepresentaba algunos fallos técnicos con las sombras ylas texturas del suelo.

XU3

Mario Kart 64 no tiene problemas con el XU3.Funciona a toda velocidad y puede controlarsefácilmente con un mando XBox 360.

Mario Party

Mario Party es un tipo de juego de mesa en el quejuegas con o contra hasta 4 jugadores en diferentestipos de minijuegos. El juego es bastante divertido,aunque a veces me resulta difícil entender loscontroles para ciertos minijuegos. Probablemente seaadecuado para todas las edades, desde niñospequeños hasta adultos como juego de grupo, osimplemente para pasar un buen rato.

Figura 2 – Mario Party

U3

La experiencia con el U3 es impecable, el juego seejecuta a toda velocidad sin problemas. Una vezobservé un parpadeo en la pantalla dividida de unmini-juego, pero en el momento en el que comenzó laacción, desapareció. Por lo tanto, puedo armar quees totalmente jugable.

C1 – plugin rice

El menú era un poco lento al principio, pero cuandopasé al mapa para seleccionar un juego, elmovimiento se volvió más uido, como en Mario Kart.Sin embargo, cuando intenté iniciar un juego, sólo viuna pantalla blanca. Escuchaba que todo se ejecutabaen segundo plano, y al hacer clic en los botones seactivaban ciertas acciones que podía oir, pero me eraimposible ver nada a parte de esa pantalla en blanco.Cuando lo intenté de nuevo con un modo de juegodiferente, pude ver algunas partes del juego, perofaltaban otras importantes, y en el momento en queempecé un mini-juego, simplemente obtuve unapantalla negra.

C1 – glide64mk2

Aunque el juego no llego a funcionar con elcomplemento rice, sí que lo hizo con glide64mk2,pero iba un poco lento en ocasiones. La mayor partede las escenas del juego se ejecutan a toda velocidad,de modo que considero que este juego se puedejugar con glide64mk2 a 16 bits.

XU3

Page 81: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

El XU3 no tuvo ningún problema al ejecutar estejuego. Funcionó sin problemas, lo cual no mesorprendió teniendo en cuenta que tambiénfuncionaba en el U3. En general, la experiencia dejuego es bastante agradable.

Paper Mario

Paper Mario es una mezcla entre un juego de saltar ycorrer como Super Mario y un juego de rol como FinalFantasy. Tiene buenos grácos y aunque el mundo es3D, Mario en sí está en 2D. En realidad, es una gurade papel. El sistema de juego es único y muydivertido. Es difícil de describir, aunquedenitivamente deberías probarlo.

Figura 3 – Paper Mario

U3

La experiencia de U3 con Paper Mario es realmentebuena. Me encontré con algunos problemas grácosen sombras, fuentes y burbujas de dialogo. No podíaleer lo que decían las estrellas, aunque valía poco lapena. Sí que podía leer todo lo demás, de modo queen realidad no interfería con el juego. La velocidad engeneral era muy buena, disfruté bastante del juego enel U3.

C1 – plugin rice

La experiencia en el C1 es difícil de describir. Alprincipio, el juego no funcionaba en absoluto.Después de una intro bastante lenta, el menúprincipal no aparecía. Tras otros 10 o 15 minutos,apareció otro tipo de intro, que básicamente era unaimagen de fondo desplazándose. 10 a 20 minutos

más tarde, la imagen cambió de nuevo y de repente viel menú de inicio. Creé un nuevo estado de guardadoy comencé un nuevo juego. Una vez más, me aparecióuna única imagen de fondo. Parece que el juego nofuncionaba de ninguna manera en el C1, o podríatardar horas en iniciarse. El C1 debería poder ejecutarel juego a una velocidad bastante aceptable, perodesafortunadamente, los drivers decientes y la faltade compatibilidad con los grácos hace que elsistema no funcione correctamente.

C1 – glide64mk2

Este juego funciona con glide64mk2 a toda velocidad.Al igual que ocurre con el U3, tiene problemastécnicos con las sombras y las texturas del suelo, peroa parte de eso, el juego funciona bastante bien.

XU3

El nucleo libretro hace muy buen trabajo con estejuego. No se muestran ninguno de los fallos del U3con glide64mk2. Las sombras son perfectas, lasburbujas del dialogos no presentan problemas, y sepodía leer lo que decían las estrellas. La velocidad engeneral también es perfecta. Realmente disfrutojugando a este juego en el XU3.

Star Fox 64

Star Fox 64 es una nueva versión del juego Star Foxde Super Famicom/SNES, que fue uno de los primerosshooters espaciales en 3D. La versión N64 fue famosapor sus muy buenos grácos y especialmente por susinterpretaciones de voz. Las líneas de comunicación amenudo divertidas de tus compañeros a través de laradio, las intensas batallas y los buenos grácoshacen que este juego sea realmente divertido.

Page 82: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Figura 4 – Star Fox 64

U3

El juego funciona muy bien en el U3. Aparecenalgunas ralentizaciones en el mapa de galaxias dondeseleccionas la misión, y las sombras son muy oscuras.La iluminación no funciona del todo bien, lo quesignica que el juego es muy oscuro en algunasescenas. A parte de eso, el juego funcionaperfectamente a toda velocidad.

C1 – plugin rice

El C1 le va bien este juego. El plugin de video rice seve mucho mejor a la hora de renderizan las sombrasque el glide64mk2 en el U3, de modo que las escenasno son tan oscuras. El rendimiento del C1 es un pocomás lento que en el U3, y el informe de la misiónpresenta algo de retardo. Mientras que el U3presenta cierta ralentización en el mapa de Galaxia,donde puedes seleccionar tu misión, el C1 se cuelgade mala manera, pero como es solo para seleccionartu misión, no afecta demasiado al juego. Cuandonalmente te encuentras en plena cacería disparandoa todo lo que se menea, el juego funciona a todavelocidad sin problemas, realmente resulta divertidojugarlo en el C1.

C1 – glide64mk2

Similar al U3, la experiencia de juego es bastantebuena. La velocidad con la que se ejecuta es la mismaque en el U3 y presenta los mismos problemas conlas sombras, pero aparte de eso, la experiencia dejuego es agradable y solo se ralentiza en el mapa dela galaxia.

XU3

Como de costumbre, la experiencia de XU3 es lamejor. El juego funciona sin problemas, aunque seralentiza un poco en el mapa de la galaxia. Losgrácos se ven muy bien en el XU3, y el juegofunciona sin complicaciones.

Star Wars Episode 1 – Racer

Jugué a este juego hace muchos años en el PC con mitarjeta gráca Voodoo 3DFX, que usaba el“deslizamiento” el cual está incluido en algunos de losplugins grácos de mupen64plus. El juego se centraen el Pod Racer del Episodio 1 de Star Wars. Es unjuego de carreras muy rápido con buenos grácos yobjetos que se pueden destruir, puedes actualizar tupod para hacerlo más rápido o más fácil de manejar.Este juego de hecho usa el paquete de expansión dememoria en el N64 que mejoraba los grácos, y escompatible con el dispositivo rumble pak deNintendo. Sin embargo, la versión N64 no escomparable con la versión para PC en términos degrácos, y también le falta el modo multijugador,aunque sigue siendo un buen juego de carreras.

Figura 5 – Star Wars Episode 1 – Racer

U3

La experiencia en el U3 es muy buena. El juegofunciona con uidez y rapidez, y no parece tenerningún tipo de problema. Algunas sombras sondemasiado oscuras, pero es algo que sólo ocurre enel menú.

C1 – plugin rice

Page 83: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

Una vez más, el C1 tiene problemas con este juegorelacionados con el plugin de video rice, los mismosproblemas aparecen en el U3 cuando el plugin devideo se cambia a rice. La imagen se distorsiona ycorta en algunas escenas. El juego funciona a laperfección usando glide64mk2 a toda velocidad y sinproblemas.

XU3

El juego funciona muy bien en el XU3. Finalmentedescubrí cómo usar los propulsores, y también vi unaopción para dos jugadores. Parece que, si el juegoencuentra más de un mando conectado, ofrece unaopción multijugador. La experiencia de juego fueimpecable y a toda velocidad.

Star Wars: Rogue Squadron

Ha sido catalogado como uno de los mejores juegosde N64 jamás creados, donde haces volar un X-Wing yluchas contra el malvado Imperio. Jugué al juego en elPC cuando salió, y era bastante divertido. Tenía ganasde probarlo en el ODROID. He leído que este juegonecesitaba el paquete de expansión de memoria parapoder iniciarse. Sin embargo, no importaba lo queintentase, no logre hacer que este juego funcionaraen ninguna plataforma ni con ningún plugin degrácos. Los emuladores mupen64plus y el núcleolibretro se bloqueaban o dejaban de responder.

Pictura 6 – Star Wars: Rogue Squadron

StarCraft 64

StarCraft es un juego de estrategia en tiempo realmuy famoso. Es uno de los mejores juegos de

estrategia jamás creados, aún se juega en torneos dejuegos profesionales. El juego de Nintendo 64 es unremake muy bueno con grácos reducidos, videoseliminados y poca música. Es un buen juego deestrategia, y me pareció muy interesante poderjugarlo en un emulador de Nintendo 64.

Pictura 7 – StarCraft 64

U3

El juego funciona sorprendentemente bien en el U3.Presenta algunos problemas de velocidad en el menú,pero tan pronto como empiezas a jugar, funcionabien, aunque el sonido presenta un poco de retardo,especialmente en las batallas más grandes. Puedesescuchar como nueren las unidades después dehaber desaparecido de la pantalla.

C1 – plugin rice

StarCraft 64 funciona sorprendentemente bien en C1.Parece que funciona mejor utilizando el plugin devideo Rice. Si utilizamos el plugin glide64mk2, el menúse vuelve tan lento que no puedes seleccionar lamisión a la que deseas jugar. Por lo tanto, el juego nose puede jugar con glide64mk2. La velocidad dentrodel juego probablemente sea la adecuada, pero comono puedes pasar del menú, no hay forma de saberlo.

XU3

Realmente tuve muchos problemas para ejecutarStarCraft 64 en el XU3. El juego iba muy lento alprincipio, y al cambiar de glide64 a rice o gln64aparecieron cosas extrañas. Rice y gln64 eranrealmente rápidos en el menú de XU3, y todo iba a

Page 84: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

máxima velocidad. Pero tanto rice como gln64presentaban problemas grácos importantes, lo cualhacía que el juego no se pudiera jugar. Tras algunasinvestigaciones sobre las ralentizaciones en glide64,descubrí que reduciendo la resolución aumentaba lavelocidad. El juego se muestra en 1080p sin importarla resolución seleccionada, pero la resolución a la quese representan los personajes y los objetos se puedecambiar en XU3. Descubrí que con una resolución de800×600 o menor se lograba un mejor rendimiento.

Super Mario 64

Super Mario 64 fue el título de lanzamiento para elN64, ¡y vaya que si fue un lanzamiento! Este juegoimpulsó al N64 a la cima de su clase mostrando dequé era capaz la consola y, una vez más, convirtió aMario en la estrella de la franquicia de Nintendo.

Figura 8 – Super Mario 64

U3

En el U3, Mario 64 tiene algunos fallos técnicos consombras, texturas e iluminación, pero aparte de eso,el juego se ejecuta a máxima velocidad.

C1 – plugin rice

Mario 64 parece ejecutarse un poco por debajo de lavelocidad máxima en el C1, pero todavía se puedejugar con el complemento de grácos rice. Lavelocidad es un poco mejor con glide64mk2 que conel plugin rice, pero ocasionalmente cae por debajo dela velocidad máxima. También tiene los mismosproblemas que el plugin glide64mk2 en el U3 con elrenderizado de texturas del suelo y las sombras.

XU3

El juego funciona bien en el XU3, sin tipo deproblemas ni errores.

Super Smash Bros

Este juego introdujo un nuevo género de juegos delucha. Fue un gran éxito en el N64 y dio lugar amuchas secuelas. Puedes elegir entre los famosospersonajes de Nintendo como Mario, Yoshi, PrincessPeach y muchos más, y luchar contra otrospersonajes.

Figura 9 – Super Smash Bros

U3

La experiencia de juego de Super Smash Bros en elU3 con el plugin mupen64plus y glide64mk2 es muyagradable. Incluso el menú funciona a una velocidaddecente. Existen algunos fallos con las sombras y lostextos, pero nada serio, tan sólo los problemas conlos textos son realmente apreciables.

C1 – plugin rice

presenta retardos. No obstante, Super Smash Brosfunciona bastante mejor con el plugin glide64mk2, ypuedes jugarlo prácticamente a toda velocidad,aunque tiene los mismos fallos que la versión del U3.

XU3

Aunque en el menú, aparecen algunos retrasos yralentizaciones, el juego funciona perfectamente. Esrealmente divertido de jugar.

The Legend of Zelda: Majora’s Mask

No conozco muy bien los juegos de Legend of Zeldade N64, pero sí sé que este juego te lleva unas 72

Page 85: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

horas recorrer todo el mundo, y dispones dediferentes máscaras que te ayudan en tu causa.Puedes usar la “Ocarina of Time” para retroceder enel tiempo y empezar las 72 horas una y otra vez hastaque nalices el juego.

Figura 10 – The Legend of Zelda: Majora’s Mask

U3

Aunque la velocidad del juego es bastante buena, elplugin glide64mk2 una vez más tiene problemas porser demasiado oscuro. Como no es posible activar elefecto borroso, el juego se mantiene a toda velocidadtodo el tiempo. Sin embargo, debido a que esdemasiado oscuro, a veces resulta difícil encontrar laforma de hacer las cosas, aunque no es tan oscurocomo cuando se juega en el XU3, donde no vesprácticamente nada. Considero que escompletamente jugable.

C1 – plugin rice

El juego funciona sorprendentemente bien en elODROID-C1 con el plugin rice. No hubo problemasgrácos, aunque la introducción y algunas escenaspresentan ligeros desfases. En general, el juego esmuy jugable en C1 con el complemento rice.

C1 – glide64mk2

El juego se ejecuta a velocidad casi completa, aunquepresenta el mismo problema de oscuridad que el U3.Rice es probablemente el mejor plugin para estejuego a la hora de jugar en el ODROID-C1.

XU3

La experiencia del juego en general es bastantebuena. Cuando hay escenas con efectos borrosos, eljuego se ralentiza y se vuelve más lento. Sin embargo,dado que solo ocurre en determinas escenas, el juego

se ejecuta bastante bien. Sin embargo, existe otroproblema relacionado con el plugin glide, los grácosson demasiado oscuros, lo que diculta elegir elcamino a seguir. Se volvía tan oscuro que tuve quecambiar al plugin gln64, que presenta pequeños fallossobre el terreno, aunque por otro lado funcionabaperfectamente a toda velocidad. Resulta tan oscuroque no logras ver a dónde tienes que ir, de modo queusar gln64 como plugin para este juego es la mejoropción.

The Legend of Zelda: Ocarina of Time

Se trata del predecesor de Majora’s Mask. De hecho,me costó bastante disfrutar del juego, pero sé quemejorará con el tiempo. Debe haber una razón por laque tanta gente lo tienen en su lista de los 10mejores, así que decidí probarlo.

Figura 11 – The Legend of Zelda: Ocarina of Time

U3

En general, el juego funciona bien y se ejecuta a todavelocidad, con algunos problemas menores con lassombras y las texturas del suelo. En algunos lugares,es demasiado oscuro, pero aún así es completamentejugable.

C1 – plugin rice

Tal y como ocurre en el otro juego Legend of Zelda,éste funciona muy bien en el ODROID-C1 usando elplugin rice. Con el plugin glide64mk2, el juego noalcanza su velocidad máxima y muestra los típicosproblemas con las sobras y las texturas del suelo.

XU3

Page 86: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

La experiencia en el XU3 es excelente. Hasta ahora,no he visto fallos ni ralentizaciones, aunque no hellegado demasiado lejos en el juego. Es unaexperiencia realmente agradable.

Texturas de Alta Resolución

Después de probar diferentes juegos, estuverevisando qué más se podía hacer con losemuladores, y descubrí que existen algunos paquetesde texturas de alta resolución que mejoranconsiderablemente los grácos. Probé algunos deellos para ver si funcionarían en los ODROID. Elemulador independiente Mupen64plus ofrece laposibilidad de utilizar texturas de alta resolución parajuegos N64 que pueden mejorar la experiencia dejuego dando un nuevo aspecto a los juegos, aunqueesta opción no está disponible para otrosemuladores.

Figura 12 – Super Mario 64 sin texturas de altaresolución

Figura 13 – Super Mario 64 con texturas de altaresolución

Para usar las texturas de alta resolución, descárgalasdesde http://bit.ly/1Jvpahr y cópialas en el directorio ~/.local/share/mupen64plus/hires_texture/. Algunas delas texturas reescriben por completo los grácos deljuego. Asegúrate de colocar las texturas en unacarpeta con el “nombre corto” del juego enmayúsculas. Por ejemplo, Mario 64 es “SUPER MARIO64”, y Mario Kart 64 es “MARIOKART64”.

Figura 14 – Completa transformación de las texturas deMario 64

Conclusiones

La emulación de Nintendo 64 por lo general funcionabastante bien en los dispositivos ODROID,especialmente en el U3 y XU3. El C1 tiene muchosproblemas que le impiden ofrecer la mismaexperiencia de juego que el resto de dispositivosODROID. El plugin rice, que funciona sin tener quecambiar la conguración de profundidad del color enla imagen, tiene problemas importantes con muchosjuegos, pero realiza un buen trabajo en otros. Elplugin glide64mk2 solo funciona con 16 bits, y aunquela mayoría de los juegos se ejecutan muy bien, losque funcionan mejor con el plugin rice requierenreinicar para poder usarlo, ya que rice no funcionacon 16 bits. Esto básicamente era un incordio, ya quesiempre tenia que reiniciar el ODROID por completopara cambiar entre los diferentes plugins grácos enel C1. El U3 y XU3 pueden hacer esto sin tener quereiniciar todo el sistema, lo cual hace que sea muchomás fácil cambiar entre los diferentes plugins.Además, al utilizar una profundidad de color de 16bits se evita que diferentes aplicaciones, como XBMC,se ejecuten correctamente, lo cual hace que elijas un

Page 87: Juegos Linux: Emulación Nintendo 64 – Parte 1 · línea de comandos Secure Shell (SSH). También puede funcionar como un backend de Bitcoin personal para ... Utilizamos Ubuntu

interfaz de emulador que realmente soporte el modo16 bits, o te ves obligado a iniciar los juegos de N64 através de una ventana de Terminal. Todo esto mehace pensar que el C1 no es realmente adecuadopara N64, al menos en Linux. Creo que la mejor formade ejectuar juegos N64 en el C1 es probablemente através de apliaciones de Android o una versiónsumamente modicada que utilice drivers fbdev yalgunos scripts que puedan cambiar la profundidaddel color y las aplicaciones a ejecutar. Esaconguración sería un inconveniente y por supuestono apta para principiantes. El U3 y el XU3 son muybuenos a la hora de emular juegos de la N64. Podercambiar fácilmente entre núcleos grácos es una granventaja sobre el C1. Los juegos N64 parecen necesitar

en ocasiones algunos ajustes, y si nos jamos en lasopciones de conguración de glide64mk2 o rice en elemulador independiente mupen64plus, hay muchasopciones para elegir. El XU3 es la única placa quepuede usar el núcleo libretro de mupen64plus conRetroarch en este momento. Integra los mandos muybien pudiendo adaptar fácilmente el diseño de tugamepad a tus propias necesidades y es compatiblecon diferentes mandos. Además, el XU3 tiene unapotencia de CPU adicional, que a menudo marca ladiferencia entre la velocidad máxima o la “casi”velocidad máxima. El U3 hace un muy buen trabajoemulando los juegos de N64, y ser capaz de usartexturas de alta resolución en mupen64plus es algorealmente genial.