viernes, 30 de octubre de 2020

Retromultiinstaller, para tener lo último en retro en tu GNU/Linux

Os presento Retromultiinstaller, un script que mediante un simple menú te permite instalar multitud de emuladores, aplicaciones LDraw para hacer tus propios Tentes y Legos virtuales, juegos, lenguajes/entornos de programación retro y cualquier cosa que le quieras añadir.

Lo puedes descargar con este enlace directo o mediante el comando:

git clone https://gitlab.com/cpcbegin/retromultiinstaller

Como puedes ver en las capturas es un menú basado en dialog similar al que trae retropie u otros scripts instaladores, aunque internamente es más fácil de modificar.


Los scripts te permiten instalar los programas desde el código fuente si está disponible y los deja con accesos directos en el menú para tener la última versión de la manera más accesible para el usuario novato.


Para los más avanzados verán que es muy fácil añadir más scripts, pues solo hay que modificar o añadir archivos de texto en la carpeta menus, organizados de una manera muy intuitiva. No es necesario ser un crack de bash y de la consola precisamente.


Es la fusión de tres proyectos que han ido creciendo en github hasta ahora y que ahora quedan en vía muerta:

A partir de ahora será Retromultiinstaller el que irá creciendo en sus posibilidades, además de pasar a gitlab que es un poco más de fiar que github.

lunes, 26 de octubre de 2020

Nuevo CPCTelera con soporte apk (android) y RetroVirtualMachine para GNU/Linux

CPCTelera es un framework para hacer programas para el Amstrad CPC desde sistemas operativos modernos, por ejemplo GNU/Linux.
CPCTelera

Hace un tiempo sacaron una nueva versión con soporte para android, es decir, capaz de compilar el proyecto a un archivo apk que se puede instalar en el móvil, lo cual permite a los programadores abrir su mercado a todos, no solo a los aficionados al retro ya que para el usuario lo que queda es un juego para android normal y corriente, ni siquiera va a saber que es un juego emulado de 8 bits.


Instalación

  1. Empezamos como siempre instalando las librerías necesarias, este comando instala las que necesita Ubuntu 20.04, en otras distros o versiones cambiará la versión de libboost:
    sudo apt -y install git build-essential bison flex libboost1.71-dev libfreeimage-dev mono-runtime wget unzip wine
  2. Nos descargamos el código fuente y vamos a su directorio:
    git clone https://github.com/lronaldo/cpctelera
    cd cpctelera
  3. Cambiamos a la rama que tiene el código para compilar en android:
    git branch development origin/development
    git checkout development
  4. Compilamos e instalamos:
    ./setup.sh
  5. También necesitaremos RetroVirtualMachine (nativo) para ver los resultados y, opcionalmente, WinAPE (necesita wine y las MS Core Fonts porque no es nativo).
    Para vincular CPCtelera con estos emuladores tendremos que teclear cpct_rvm y cpct_winape, decirle que ya están instalados y darles la ruta completa de sus respectivos ejecutables.



Compilando un juego para usarlo en el Amstrad CPC (real o emulado)

Vamos a experimentar con un juego que viene de ejemplo, platformClimber, para ello:
  1. Cambiamos a la ruta relativa de la carpeta de los juegos:
    cd examples/games
  2. Compilamos el juego:
    cpct_mkproject platformClimber
  3. Cambiamos a la carpeta del juego:
    cd platformClimber
  4. En ella veremos que el juego se ha compilado como imagen de cinta, disco y snapshot bajo los nombres game.cdt, game dsk y game.sna respectivamente. 

RetroVirtualMachine

Podemos ver el resultado de la compilación con Retro Virtual Machine con el comando:
cpct_rvm game.dsk
Por supuesto, también podríamos haber ejecutado los archivos game.cdt o game sna.

La primera vez que se invoca el comando nos dirá que RVM no está configurado en nuestro sistema y nos preguntará donde lo tenemos instalado (Path to RetroVirtualMachine), si es una instalación a partir del paquete deb oficial, debemos poner:
/usr/bin/RetroVirtualMachine
Si lo has instalado en otra ubicación puedes localizar la ruta completa con el comando whereis tal que así:
whereis RetroVirtualMachine
ó
whereis rvm

según como se llame el binario.

 

Enlaces de interés

domingo, 18 de octubre de 2020

Configurar VNC y SSH en raspberry pi para control remoto gráfico desde PC

Después de instalar raspbian en nuestra raspberry pi nos interesa tener métodos para poder manejarla remotamente desde nuestro PC principal, ya sea desde consola (ssh) como desde entorno gráfico.

 

Configuración en raspberry pi

La activación de estos servidores es muy sencilla en raspbian:

  1. Hacemos clic en el botón inicio (icono frambuesa).
  2. Seleccionamos Preferencias > Configuración de Raspberry Pi.
  3. Seleccionamos la pestaña Interfaces.
  4. Activamos los servicios SSH y VNC.
  5. Pasados unos segundos aparecera el icono de VNC, hacemos clic en él.
  6. En la ventana que aparece hacemos clic en el icono de las tres rayas que hay en la esquina superior derecha.
  7. Seleccionamos Opciones.
  8. En la opción Seguridad elegimos Contraseña VNC como método de Autenticación.
  9. En la opción Opciones y permisos cambiamos la Contraseña al Usuario estándar.

 

Acceso desde el PC cliente

ssh

Para acceder a SSH desde un PC con GNU/Linux basta con teclear el comando:

ssh pi@raspberrypi.local

Te pedirá tu contraseña.

Si usas otros sistemas tendrás que usar algún cliente ssh por putty.

VNC

Necesitas un cliente de VNC, por ejemplo en GNU/Linux tenemos el excelente Remote Desktop Viewer (hay que instalar el paquete vinagre) y en todos los sistemas vncclient.

Le pones la IP o nombre de red, con el puerto utilizado si es necesario, y pulsas conectar.

A continuación pedirá la contraseña que le hemos puesto al usuario VNC e inmediatamente se verá la pantalla de la raspberry con la que podrás interactuar como si estuvieran delante del pequeño ordenador.


Para quien prefiera ver todo el proceso en YouTube aquí tenéis el vídeo.




viernes, 9 de octubre de 2020

Logo, ayer y hoy

Logo es un lenguaje de programación de alto nivel creado para iniciar a los más jóvenes en la programación y en el aprendizaje de las matemáticas, sobre todo geometría.

Turtle Draw Robot
Turtle Draw. Fuente Wikimedia.

Aunque apareció en 1967 muchos los recordamos por los ordenadores de los 80, lo que poca gente sabe es que se sigue usando hoy en día, en solitario o como librería de otros lenguajes más recientes como python o scratch, incluso se intentó crear un addon a libreoffice para incluirlo en el paquete ofimático.

Si buscáis información sobre este lenguaje en internet, mejor buscad por el término "turtle graphics logo", ya que casi todo lo que vais a encontrar si ponéis logo va a ser de la otra acepción del término más conocida por el gran público.

Vamos a repasar el pasado y el presente de este lenguaje:

 

El pasado de Logo

Las primeras implementaciones de Logo movían un robot, que podía tener forma de tortuga, triciclo o algo similar, al que se le ponía algo para pintar y que respondía a las instrucciones que se introducían en ese lenguaje.

 

 Pero muchos conocimos la versiones para ordenadores de 8 bits, recordemos algunas:

 

Amstrad CPC y PCW

Los ordenadores Amstrad CPC de disco y PCW incluían el lenguaje Dr. Logo en su set de discos del sistema.

En concreto el CPC6128 lo incluía en la cara 3 la versión para CP/M plus y en la cara 4 la de CP/M 2.2 que era compatible con los CPC de 64K y unidad de disco.


 

Los comandos que usaba esta versión eran los abreviados.

El capítulo 6 de su manual de usuario incluye la referencia a los comandos y algunos ejemplos de uso, o la ficha de DR Logo en CPCWiki.

También está disponible Kuma Logo, otro interprete que se cargaba de cassette para los que tienen un Amstrad CPC sin unidad de disco pero muy limitado.

 

ZX Spectrum

En este ordenador teníamos Sinclair Logo en formato cinta para el 48K.


También salió un interprete en la revista Microhobby para teclear.

Desconozco si funciona el Dr. Logo de Amstrad en el ZX Spectrum +3 que tenía un CP/M, si alguien lo prueba que nos lo diga en los comentarios. 


MSX

En MSX teníamos MSX logo en versión de cartucho como no podía ser de otra forma.


Commodore 64 

Abacus Software Ultrabasic incluía el interprete de logo Turtle Graphics.



Atari

Atari logo permitía usar varias tortugas lo que habría la puerta a hacer juegos rudimentarios con colisiones y todo.

 

Apple II

Apple IIgs también tenía su versión de logo, también conocida como Turtle Graphics.

También salieron versiones de logo, a veces incluidas en su Basic, para Dragon, Enterprise, Adam Computer y un lago etcétera.

Logo hoy

Vamos a empezar por los interpretes completos e independientes de otros lenguajes:

UCB Logo

Berkeley Logo es el interprete de Logo más conocido en la actualidad, esta universidad incluye versiones para GNU/Linux, Windows y OSX que podéis descargar de su página web.

Aquí tenéis unos vídeos que os muestran su manejo y enseñan fundamentos del lenguaje


Los dos siguientes están basado en UCB logo.
 

aUCBLogo

Fork de UCB Logo creado por Andreas Micheler para sus estudiantes. 

FMS Logo

Otro intérprete de logo para PCs modernos que podéis descargar de sourceforge.

 Desgraciadamente, aunque sea GP/L solo está disponible para Windows.


Hay muchos más intérpretes de Logo hoy pero lo más llamativo es la inclusión en programas modernos: 


jslogo

jslogo, es un interprete de logo en javascript que nos permite usarlo desde internet o descargarnos el código para ejecutarlo localmente.


Recientemente Badaman ha traducido el interfaz a castellano.

 

Simple Turtle Logo (Android)

También hay interpretes para usar con los móviles como Simple Turtle Logo, aquí tenéis un vídeo del programa en acción.


Scratch

El famoso lenguaje de programación visual para niños no solo hereda de logo sus objetivos sino que también incluye sus comandos aunque muy transformados y adaptados al lenguaje para que los niños de hoy puedan dibujar como los de ayer.


Scratch se puede usar desde su web donde se pueden subir nuestros propios proyectos o bien descargar las versiones de escritorio que están disponibles para varios sistemas operativos, incluido GNU/Linux.

Más información:

 

Python

Sí, habéis leído bien, python incluye logo en su librería gráfica turtle (también con los comandos muy transformados) pero lo más fuerte es que permite hacer juegos molones entre otras cosas.

  

En este caso python dota a esta librería de una utilidad que va mucho más allá de la enseñanza académica.

Para quien quiera profundizar hay multitud de tutoriales y cursos para su explotación:

Como veis lejos de estar muerto el lenguaje tiene buen futuro aunque sea a través de sus hijos bien evolucionados.

 

Logo en el futuro

¿Podrían haber robots gobernados por arduino, raspberry pi o similares controlados por comandos de Logo? ¿por qué no? 

A lo mejor ya los hay... sería una buena manera de cerrar el círculo de logo.

Fuentes y enlaces de interés


Códigos de ejemplo

 

Y si conocéis más versiones, antiguas o actuales, dejadlas en los comentarios. ;-)




jueves, 1 de octubre de 2020

Hacer fundas de pendrive con LibreOffice.org Writer

Vamos a usar LibreOffice.org Writer para hacer fundas a los pendrive y así tener más controlado su contenido.

  1. Abrimos LibreOffice Writer
  2. Creamos una tabla con tantas columnas como caras van a tener en total los pendrives y una más (recomendado 3 pendrives por línea, es decir, 13 columnas).
  3. Pulsamos con el botón derecho sobre la tabla y vamos a las opciones:
    Tamaño --> Anchura de fila
  4. Quitamos el ajuste dinámico y ponemos la altura del pendrive excluido el capuchón (p.e: 2.4 cm).
  5. Pulsamos con el botón derecho sobre la tabla y vamos a la opción Propiedades de la tabla.
  6. Definimos los anchos de cada cara, a excepción de la última.
  7. Seleccionamos cada columna (pulsando con el botón izquierdo ratón justo encima de ella).
  8. Pulsamos botón derecho sobre la selección y vamos a la opción Propiedades de la tabla.
  9. Vamos a la pestaña Fondo, seleccionamos tipo Area, seleccionamos imagen, pulsamos examinar para elegir el archivo de imagen y pulsamos aceptar.
  10. Seleccionamos las 4 columnas que componen cada pendrive.
  11. Pulsamos con el botón derecho sobre la tabla y vamos a la opción Formato de Tabla.
  12. Seleccionamos la pestaña borde y marcamos los bordes del contorno quitando los bordes interiores.