martes, 18 de diciembre de 2018

Cargar un programa en el ZX Spectrum

El segundo artículo sobre como cargar un juego o programa en un ordenador de 8 bits iba a ser el ZX Spectrum, ya podéis imaginar cual va a ser el tercero.



Cintas

  1. Introduce la cinta rebobinada.
  2. Pulsa play.
  3. Si es un modelo con menú elige la opción 'Loader' para cargar de cinta.
  4. Si no tiene menú, tecleamos
    LOAD "" (se consigue pulsando las teclas teclas J y dos veces las teclas Symbol shift y P a la vez).
  5. Rebobinar al terminar y sacar la cinta.

Disquetera

  1. Introducimos el disquete.
  2. Elige la opción 'Loader' para cargar de disco.

Cartucho

  1. Apaga el ordenador.
  2. Cambia el cartucho.
  3. Enciende el ordenador.

NUNCA INTRODUZCAS EL CARTUCHO O LO RETIRES CON EL ORDENADOR ENCENDIDO.

Hay otros procedimientos como los microdrives, si tienes un ZXSpectrum con unidades de este tipo aún operativas consulta el siguiente artículo.


Para profundizar

viernes, 14 de diciembre de 2018

Agrupar accesos directos en Raspbian Stretch

Más de uno se habrá encontrado con esta necesidad, la manera más fácil de hacerlo en otros linuxes como Ubuntu o Debian para PC es crearte una carpeta y arrastrar allí los accesos directos. Pero en Raspbian Jessie la primera vez que abres esa carpeta no muestra el contenido y tienes que cerrarla y volver a abrirla para que ya sí te muestre lo que tiene dentro.


Para evitar este extraño bug (que supongo que tendrá algo que ver con la poca potencia de la plaquita) puedes crear la carpeta en otro sitio y crearle un acceso directo a esa carpeta, veamos como hacerlo.
  1. Creamos una carpeta donde albergar las carpetas en las que vamos a agrupar los iconos, por ejemplo el contenedor de todas las carpetas podría ser /home/pi/miescritorio
    mkdir /home/pi/miescritorio
  2. Pongamos que la primera de las carpetas va a ser 'emuladores':
    mkdir /home/pi/miescritorio/emuladores
  3. Creamos el archivo /home/pi/Desktop/emuladores.desktop con un contenido como este:
    [Desktop Entry]
    Type=Application
    Icon=/usr/share/pixmaps/cpcbegin/remakex/remakex.png
    Name=Emulators
    Name[es]=Emuladores
    GenericName=Emulators
    GenericName[es]=Emuladores
    Comment=Emuladors of several computer, bartops and consoles
    Comment[es]=Emuladores de diversos ordenadores, recreativas y consolas
    Categories=Emuladors;
    Exec=pcmanfm  /home/pi/Escritorio/Emuladores/
    StartupNotify=true
    Terminal=true
    MimeType=inode/directory;
  4. Damos permisos de escritura al archivo con extensión ".desktop" (como hay que hacer con cualquier archivo de acceso directo):
    chmod +x /home/pi/Desktop/emuladores.desktop
  5. Repetimos el proceso desde el paso 2 por cada categoría que vayamos a crear.
Los accesos directos los podemos crear como archivos directamente en cada directorio nuevo, pero si ya están creados en el escritorio y los arrastramos directamente a la categoría no va a funcionar ya que no es en realidad una carpeta.

Lo más sencillo es abrir el explorador de archivos (PCManFM), los cortamos desde /home/pi/Desktop y los pegamos en la carpeta /home/pi/miescritorio/emuladores si es el caso de nuestro ejemplo (también se pueden arrastrar si tienes dos exploradores de archivos cada uno mostrando cada una de las dos carpetas).

jueves, 6 de diciembre de 2018

Cómo instalar Sigil, el creador y editor de libros electrónicos WYSYWYG

Sigil es un excelente programa para crear y editar libros electrónicos de una manera visual, con un funcionamiento muy parecido a un procesador de textos moderno.

Vamos a instalarlo compilándolo en lugar de añadir otro ppa que siempre son un riesgo para la seguridad, lo primero es instalar las librerías y programas necesarios para su compilación:
sudo apt install git python3-tk python3-pyqt5 python3-html5lib python3-regex python3-pillow python3-cssselect python3-cssutils python3-chardet python3-dev python3-pip python3-lxml python3-six build-essential libhunspell-dev libpcre3-dev libminizip-dev git cmake qtbase5-dev qttools5-dev qttools5-dev-tools libqt5webkit5-dev libqt5svg5-dev libqt5xmlpatterns5-dev git
Lo descargamos con git
git clone https://github.com/Sigil-Ebook/Sigil

Compilamos:
cd Sigil/
mkdir sigil-build
cd sigil-build/
cmake -G "Unix Makefiles" -DCMAKE_PREFIX_PATH=/opt/Qt5.4.2/5.4/gcc_64/lib/cmake -DCMAKE_BUILD_TYPE=Release ..
make
Y finalmente instalamos:
sudo make install
Y ya esta, el funcionamiento es muy intuitivo pero si necesitas algún manual para su uso puedes consultar el oficial de la aplicación.

También tienes el manual de compilación en inglés, más completo que esta breve guía aunque puede resultar algo más lioso para el novato.

jueves, 29 de noviembre de 2018

Cargar un programa en el Amstrad CPC

Empezamos una serie de instrucciones para cargar juegos y programas en ordenadores de 8 bits, y el primero no podría ser otro que mi querido Amstrad CPC.


Disco

Run"disc" o |CPM
(o lo que ponga en la etiqueta de las instrucciones del juego).

Cinta

  1. Si el ordenador tiene disquetera teclea:
    |TAPE
  2. A continuación pulsa simultáneamente las teclas CTRL e INTRO (pequeño) o teclea:
    RUN"
  3. Pulsa INTRO y después cualquier tecla.

Cartucho

  1. Apaga el ordenador.
  2. Cambia el cartucho.
  3. Enciende el ordenador.
NUNCA INTRODUZCAS EL CARTUCHO O LO RETIRES CON EL ORDENADOR ENCENDIDO.


Enlaces de interés y para profundizar 

miércoles, 21 de noviembre de 2018

PCem, emulador de PCs antiguos para GNU/Linux

PCem, es un emulador de PC antiguos que simula compatibles especiales como los Amstrad PC por ejemplo y no se limita "solo" a emular DOS como lo hace magistralmente DosBOX, sino también contempla las peculiaridades de cada hardware incluido cada arranque de BIOS.


Vamos a ver como instalarlo y configurarlo.

Descarga e instalación

  1. Instalamos las librerías necesarias:
    sudo apt-get install libsdl2-dev libopenal-dev libwxbase3.0-dev libwxgtk3.0-dev automake glibc-source
  2. Nos descargamos la  última versión disponible del código en bitbucket.
  3. Creamos una carpeta y descomprimimos el contenido en ella:
    mkdir pcem
    cd pcem
    tar -zxvf ../PCemV14Linux.tar.gz
  4. Compilamos e instalamos:
    sudo chmod +x ./configure
    ./configure --enable-release
    make
    sudo make install

Configuración 

Ejecuta por primera vez el comando:
pcem
Te mostrará un error indicando que no hay ninguna rom pero te creará una carpeta .pcem dentro de tu $HOME con toda una estructura de directorios donde incluir todo lo necesario:

DirectorioContenido
configsArchivo de configuración de cada sistema a emular.
logslogs del emulador (los errores y advertencias).
nvrnvr
romsESENCIAL: las roms necesarias para que cada sistema se pueda emular.
Dentro de este subdirectorio hay otros por cada tipo de PC a emular.
screenshotsCapturas de pantalla.
Otras carpetasPuedes crear aquí las carpetas HD y DSK para incluir las imágenes de disco duro y disquete que vayas a usar.


Si tenemos una configuración, por ejemplo, de un pcemu de Windows es el directorio .pcem donde tendríamos que copiar el contenido de estos directorios.

También podemos cambiar aspectos de la configuración haciendo clic con el botón derecho sobre cualquier parte de la máquina emulada.


O mediante los cuadros de diálogo que aparecen al iniciar pcem con las roms ya incluidas, que nos permitirá añadir más perfiles de configuración o cambiar los que ya tenemos.


Es muy importante que los archivos de configuración tengan la ruta correcta a cada archivo al que haga referencia para que funcionen correctamente.

sábado, 17 de noviembre de 2018

Hacer un disco de autoarranque con CP/M plus (Mallard Basic)

Vamos a preparar una cara de un disco de 3'' en un Amstrad CPC6128 para que al teclear |CPM arranque el sistema operativo y el comando que deseemos.

Formatear como SYSTEM

IMPORTANTE: En el asistente de DISCKIT3 hay que usar el teclado numérico para elegir las opciones, si usas las teclas de números normales NO FUNCIONARÁ.
  1. Introducimos el disco 1 de CP/M plus (o mejor una copia) y tecleamos:
    |CPM
  2. Ejecutamos la aplicación
    DISCKIT3
  3. Seleccionamos las opciones:
    Format > System Format
  4. Nos dirá que mantengamos el disco de sistema en la unidad A para copiar las pistas de sistema y pulsemos una tecla.
  5. Seleccionamos la unidad a formatear (si tenemos más de una).
  6. Confirmamos que es la unidad y formato que le queremos dar y pulsamos una tecla.
  7. Nos pregunta si queremos seguir formateando discos, en este caso le decimos que NO.
  8. Sacamos los discos y salimos de DISCKIT3.
  9. Volvemos al prompt de CP/M

Pasar el sistema al nuevo disco

  1. Introducimos de nuevo el disquete de sistema en la unidad A: 
  2. Copiamos los siguientes archivos esenciales al disquete previamente formateado:
    PIP B:=A:C10CPM3.EMS
    PIP B:=A:KEYS.*
    PIP B:=A:SUBMIT.COM
    PIP B:=A:SETKEYS.*
    PIP B:=A:SET24X80.COM
    PIP B:=A:AMSDOS.COM
    PIP B:=A:PIP.COM
  3. Sacamos los dos disquetes, reiniciamos e introducimos solo el nuevo en la unidad A: y comprobamos que funciona con el comando:
    |CPM

Copiar Mallard Basic y programas de ejemplo

En mi caso tengo un ejecutable del Mallard Basic del PCW con programas de ejemplo por lo que también tendría que copiarlo aquí:
PIP B:=A:BASIC.COM
PIP B:=A:*.BAS 


 Hacer que arranque Basic Mallard al iniciar CP/M 

  1. Sal de CP/M con el comando AMSDOS
  2. DESDE EL BASIC AMSDOS teclea el siguiente programa:
    10 OPENOUT "PROFILE.SUB"
    20 PRINT #9, "BASIC"
    30 CLOSEOUT
  3. Guárdalo por si hay que modificarlo en el futuro:
    SAVE "GENPROF.BAS"
    (recuerda siempre que es un programa del Locomotive Basic de AMSDOS, no lo abras con el Mallard Basic de CP/M).
  4. Ejecuta el programa.
  5. Vuelve a ejecutar el comando |CPM para comprobar buen funcionamiento.

RECORDATORIO: Para salir de Basic Mallard hay que teclear el comando SYSTEM

La gran pega es que para que funcione esto el disco no puede tener puesta la protección contra escritura. :(

miércoles, 14 de noviembre de 2018

SuperTuxKart: ¿cómo desbloquear todos los circuitos y karts?

Ya hemos hablando antes de SuperTuxKart, un juego de carreras de karts que está entre mis favoritos, no solo por lo adictivo que es sino por las cosas que se puede hacer con él.



Hoy vamos a hablar de un truco para tener desbloqueados todos los circuitos y karts que aparecen con el candado, simplemente hay que editar un archivo con un editor que respete el formato que tiene de serie (yo uso jEdit para ello).

La ruta completa del archivo que hay que editar es:
$HOME/.config/supertuxkart/0.8.2/players.xml
y símplemente hay que cambiar las siguientes cadenas:
true false
none hard
Y ya está, ya puedes disfrutar de todos los karts y pistas, incluidas las que vienen bloqueadas sin necesidad que conseguir los hitos.

Los que venimos de la época de los 8 bits podríamos llamar esto "pokes para SuperTuxKart" :D

martes, 6 de noviembre de 2018

Crea tu propia distro con pinguy builder a partir de tu distro instalada

Pinguy builder, es un fork del famoso remastersys que nos dejó huérfanos hace tantos años cuando su autor dejó de mantenerlo y nos obligó a apañarnos con systembackup, un software enfocado más bien para hacer copias de seguridad y que tenía un sistema rudimentario y muy limitado para hacer tu distro propia.

Yo lo he probado con Ubuntu MATE 18.04.01 en una máquina virtual con VirtualBox, posiblemente la puedas usar en tu distro Debian y familia sin problemas.

Sin más dilación vamos al lio.

Instalación

  1. Si tenemos una versión previa, lo primero es desinstalarla:
    sudo apt-get purge pinguybuilder
  2. Nos descargamos la última versión disponible en sourceforge
  3. Instalamos el paquete y todas sus dependencias con los comandos:
    sudo dpkg -i pinguybuilder*.deb
    sudo apt-get install -f
  4. Bueno ya hemos terminado con la instalamos, vamos a ver ahora su configuración y uso.


Configuración y uso

  1. Antes de empezar por primera vez vamos a solucionar un problema que se produce al usar pinguy builder desde virtualbox debido a que su usuario y el de pinguy tienen el mismo ID, se soluciona tecleando el siguiente comando como root:
    sudo sed -i -e 's@user-uid [0-9]*@user-uid 990@' /usr/share/initramfs-tools/scripts/casper-bottom/*adduser
    Lógicamente, si creas la iso desde la distro instalada en tu máquina física este paso es innecesario.
  2. Ejecutamos pinguy builder desde las opciones de menú:
    Sistema Administración Pinguy Builder
    Nos pedirá la clave root y que cerremos todas las ventanas.
  3. Elegimos una imagen para el menú del live CD (png de 640x480), recomiendo que sea clarita y sin mucho cambio de color para que se lean bien las opciones.
  4. Elegimos otra para el sistema instalado, ésta si puede ser de mayor tamaño, para un resultado óptimo sin que pese mucho recomiendo un JPG en formato Full HD (1920x1080).
  5. Ahora vamos a la pestaña settings y cambiamos solo los datos que nos interesen cambiar, respetando en la medida de lo posible como estaban puestos los originales, por ejemplo:
  6. Volvemos a la pestaña Actions y seleccionamos las opciones Distrocdfs y Distiso, cada una de estas operaciones requerirá esperar un rato.
  7. Finalmente obtendremos nuestro archivo iso personalizado y un archivo md5 para comprobar su integridad en el directorio:
    /home/PinguyBuilder/PinguyBuilder/
  8. Estos archivos los podríamos llevar de vuelta a la máquina anfitriona y allí tostarlos en un DVD o incluirlos en un pendrive con alguna herramienta como multisystem.
  9. Cuando volvamos a crear una nueva versión de la imagen es conveniente pulsar en el botón Vaciar y empezar todo el proceso de nuevo.
NOTA: Si en algún momento nos pide un nombre de usuario tienes que teclear:
custom
Y deja la contraseña vacía.

Otra gracia es que si le pasas el disco a un amigo éste puede hacer más modificaciones y a su vez crear su propia distro derivada de la tuya.

miércoles, 31 de octubre de 2018

Maldita Castilla en Debian, Ubuntu y derivadas

Maldita Castilla es un juego indie alucinante programado por Locomalito y con la música de Gryzor87.

Maldita Castilla


Vamos a ver como instalarlo y jugarlo en Ubuntu Mate 18.04 y Debian 9.

Instalación

Primero instalamos las librerías necesarias para su instalación:
sudo apt-get install libxxf86vm1:i386 libglu1-mesa:i386 libopenal1:i386 libssl1.0.0:i386 wget

El siguiente paso es descargar la versión para Ubuntu de la página oficial y descomprimirlo:
wget -c  https://www.locomalito.com/juegos/Maldita_Castilla_linux.tgz
tar -zxvf Maldita_Castilla_linux.tgz



Jugar

Para ejecutarlo vamos a la carpeta creada con la descompresión y lo lanzamos:
cd MalditaCastilla
./runner


Para mayor comodidad es conveniente crear un acceso directo en el escritorio, así no hay que entrar en la terminal para ejecutarlo.

Manejo de los controles

ControlesFunción
CursoresMovimiento direccional
XSaltar
ZAtacar
EscMenú de pausa
Alt+IntroCambiar de ventana a pantalla completa y viceversa
Alt+F4Abandonar el juego
F6Muestra el tiempo de carrera
CursoresMovimiento direccional

Si quieres usar un mando de juegos, puedes usar antimicro y crear un perfil para el juego, como vimos en un artículo anterior.

jueves, 25 de octubre de 2018

Conectar un cassette al Amstrad CPC 6128 ó 664

Este es el esquema del cable de conexión de un cassette al puerto de cassette que tenían los modelos Amstrad CPC 6128 y 664 (la gama plus y los CPC 464 / 472 carecían de dicho puerto).



Observa que el pin 2 es la masa que siempre se conecta con la parte más externa de cada una de las clavijas. Los pines 1, 4, 5 corresponden respectivamente al control remoto, a la entrada de datos que se conecta con la salida de auriculares del cassette y la salida de datos que conectaremos con la entrada de micrófono del aparato de cassettes (puedes ver que el pin 3 hace la misma función que el pin 1).

El control remoto no es necesario pero es muy cómodo para la carga de cintas, pues así se parará cuando no esté leyendo o grabando en ellas y en caso contrario seremos nosotros los que tendremos que vigilar al ordenador para parar el cassette cuando sea necesario.

Este cable también puede ser una alternativa de comunicaciones con un PC conectando la clavija PHONES a la entrada de nuestra tarjeta de sonido y la clavija MIC a la salida. Es un método mucho más lento, engorroso y menos fiable que la conexión por puertos paralelos pero también es otra opción para compartir información y más compatible con hardware moderno.
Antiguamente las aplicaciones que necesitabas para esto serán el AIFF Decoder y el Cool Edit pero hoy recomiendo Audacity, mucho más potente, multiplataforma y software libre.

El cable no puede ser más sencillo, de hecho cuando me compré el 6128 tardaron en traerme el cable original y mientras tanto me hice uno chapucerrillo para disfrutar de los juegos que tenía de mi anterior 464.


Enlaces de interés e información nueva

viernes, 19 de octubre de 2018

Conectar una salida estéreo a una entrada mono, el "emulador de estéreo"

El objetivo es conectar a la entrada de cassettes de mis ordenadores de 8 bits (mono) mi nuevo cassette estéreo para cargar juegos de cinta o cualquier otro aparato estéreo que haga la tarea de reproducir los pitidos de los juegos (móvil, reproductor mp3, raspberry pi, salida de audio del PC...).

El principio es muy sencillo, se trata de unir las conexiones de masa por un lado y por otro las señales derecha e izquierda de la conexión estéreo con la señal única del conector mono.

Si quisiera conectar el cassette a una salida mono que tuviera hecha el ZX Spectrum +2A o en el cassette del Commodore 64, haría un cable con dos conectores macho, uno estéreo y otro mono, tal que así:


En cambio si lo que quiero es hacer un adaptador para el cable de cassette de mi Amstrad CPC6128 o para un MSX, lo haría igual solo que el conector mono sería hembra.

Si quisiera también grabar en cinta tendría que hacer dos veces este adaptador.

Otra opción es hacer un adaptador específico para los móviles (conexión CTIA) o para la raspberry, en ambos caso cambiaríamos el conector jack estéreo por un jack de 4 contactos, donde el anillo más cercano a las conexiones no se conectaría (MIC o Vídeo) y la masa sería justo el siguiente.


Si tienes un móvil muy viejo (conexión OMTP), la masa es el anillo más cercano a las conexiones y el que quedaría sin conectar sería el siguiente (MIC).

viernes, 12 de octubre de 2018

Comprar un walkman en 2018

Los aficionados a lo retro tenemos realmente complicado encontrar algunos artículos que han dejado de fabricarse a pesar de que sus consumibles se siguen usando por un sector de consumo que no es tan residual como se piensa.

Es muy fácil encontrar un plato nuevo, pero un reproductor de cassettes que funcione bien, grabe, tenga conexiones para grabar y leer es toda una odisea pero ante la necesidad hay que agudizar el ingenio... y que no te pidan un ojo de la cara por algo mediocre.

Después de tiempo buscando me enteré por el foro de retroinformática va-de-retro, de uno barato y que iba razonablemente bien.
Ya en mi casa me he encontrado con un walkman que graba, tiene botones para bobinar y rebobinar, todas las conexiones, alimentador, cascos. etc... y por el increible precio de 6€.


Así llegó, no tenía claro si era nuevo o de segunda mano, aunque en la web ponía que era nuevo.
Como podéis observar todos los botones y leyendas están en perfecto mandarín, así que he tenido que ir adivinando para que sirve cada cosa aunque la disposición es muy similar a los walkman de toda la vida.



Puesta en marcha

Alimentación

Ya avisaban en la web que el cargador tenía conexión china, pero ya tenía solución para ello, en uno de los bazares de los alrededores me he pillado un adaptador de viaje por 2,50€ , un conversor que permite conectar a la corriente de la casa aparatos con conexiones de otros países siempre que funcionen a 220V 50Hz, afortunadamente en China usan el mismo voltaje que en España, de lo que también me había informado previamente.

También ví adaptadores más baratos por 1€ pero no me inspiraban mucha confianza y solo servían para los chinos, éste tiene una conexión schuko capaz de soportar muchos amperios y admite conexiones inglesas e italianas entre otras, mejor no escatimar en seguridad.

También funciona con 4 pilas AAA pero los que sois de esta época sabéis lo poco que duran con estos aparatos, no merece la pena y sería ruinoso su uso.
   

Precauciones en el primer uso

Aunque el aparato se haya comprado en 2018, sospechaba que se había fabricado hace muchos años y se había tirado bastante tiempo en algún almacén, de hecho encontré una pegatina plateada que parece indicar la fecha de fabricación: 2007, es difícil de ver hasta en la foto.

¿Esto que implica? Pues que puede no funcionar o no hacerlo de manera correcta, pues la goma puede estar en mal estado.

Por ello la primera precaución es comprobar que todo rueda antes de meter una cinta y liarla, de hecho se me olvidó y la primera me la lió porque, mientras giraba el pincho que arrastra la cinta no lo hacían los que movían los carretes.
En esta imagen se puede ver mejor lo que funcionó y lo que no marcado por mi. 



La solución fue sacar la cinta liada con cuidado de no dañarla mucho y volví a poner el cassette en marcha, se le ayuda un poco con la mano la primera vez y comprobamos que ya funciona por sí mismo.
Hay que hacer la prueba varias veces tanto bobinando como rebobinando y en modo play.
Después ya funcionaba correctamente la cinta y se escuchaba bien.

Afortunadamente no se me olvidó la segunda precaución: usar una cinta no muy valiosa para las primeras pruebas.


Experiencia de uso

Más allá de este incidencia inicial el aparato se comporta bastante bien, incluso con cintas de 90 minutos y es suficiente para escuchar música o cargar juegos en ordenadores de 8 bits que es para lo que lo quería realmente.

Tiene un contador digital pero lo que cuenta es el tiempo que se está usando por lo que es poco útil.

Tiene un altavoz para usarlo sin cascos pero se escucha en mono como los viejos transistores, nada que ver si se escucha con unos altavoces de PC o los propios cascos que sí son estéreo.

Los cascos funcionan y el cargador va bien aunque se calienta bastante, me alegro de haber comprado un adaptador de viaje bueno.

viernes, 5 de octubre de 2018

Integra tu vieja aplicación o juego de MS-DOS como si fuera otra aplicación más en GNU/Linux

La idea es poder ejecutar un programa MS-DOS en GNU/Linux y quede como si fuera otra aplicación nativa más.
  1. Empezamos como es lógico instalándonos dosbox desde el gestor de aplicaciones de tu distro o con el comando:
    sudo apt-get install dosbox
  2. Ejecutamos DosBox una vez y salimos con el comando exit para que cree el archivo de configuración local.
  3. Después copiamos el software DOS en un directorio, por ejemplo, yo voy a hacer la prueba con un juego liberado y lo voy a copiar a $HOME/dosgames/rutaamiprograma
  4. Copiamos el archivo de configuración local a la carpeta del juego.
    cp $HOME/.dosbox/dosbox-0.74.conf $HOME/dosgames/rutaamiprograma/dosbox.conf
  5. Cambiamos, en el archivo dosbox.conf copiado en la ruta del juego, las líneas cuyo comportamiento queramos que sea distinto al que viene por defecto, por ejemplo:
    ANTESDESPUÉS¿QUÉ SE CONSIGUE?
    fullscreen=falsefullscreen=truePantalla completa
    cycles=autocycles=maxVelocidad máxima
    keyboardlayout=autokeyboardlayout=esTeclado en castellano
  6. También añadimos al final de este archivo los comandos que se ejecutarán al principio (sección [autoexec]):
    keyb sp
    mount c $HOME/dosgames/rutaamiprograma
    c:
    ejecutable_del_programa
    exit
  7. Creamos un script $HOME/dosgames/rutaamiprograma/miprograma.sh con el siguiente contenido:
    #!/bin/bash
    dosbox -conf $HOME/dosgames/rutaamiprograma/dosbox.conf
  8. Creamos un acceso directo en el escritorio a miprograma.sh, este acceso directo lo podemos también copiar también en /usr/share/applications/ para que aparezca en el menú de inicio.
    Los archivos desktop de cada juego que incluyáis en el escritorio y /usr/share/applications deberían tener un contenido similar a éste:
    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Type=Application
    Terminal=false
    Exec=/opt/dosgames/galaxia.pc/galaxia.sh
    Path=/opt/dosgames/galaxia.pc
    Name[es_ES]=galaxia
    Comment[es_ES]=Remake del juego galaxia
    Name=galaxia
    Comment=galaxia Champ Games' remake
    Icon=/opt/dosgames/galaxia.pc/GALAXIA.ICO
    Categories=DOS
  9. Opcionalmente podemos crear una categoría en el Menú de Juegos de MS-DOS como vimos en artículos anteriores.


Advertencia: aunque DOS no sea sensible a las mayúsculas y minúsculas, GNU/Linux sí lo es, así que las rutas a nuestro sistema nativo deben respetar la capitalización de cada letra tal y como fueron escritas.

Recuerda que los scripts y accesos directos deben tener permisos de escritura para que esto funcione (archivos *.sh y *.desktop).

viernes, 28 de septiembre de 2018

¿Dónde buscar cuando tienes una duda o un problema en GNU/Linux?

Si alguna vez intentas hacer algo con tu distro y te sale un error, tienes una duda o quieres hacer algo especial, he aquí algunas pautas para encontrar la solución a tu dilema.
 

Pautas

Lo primero es saber plantear la pregunta, usa español neutro y exprésalo de la manera más clara posible para encontrar la coincidencia.

Primero busca la solución por tu cuenta y, SI NO LA ENCUENTRAS, pregunta en foros, blogs, redes sociales, etc... 

Si has preguntado en un foro y luego encuentras la solución por otro lado, lo correcto es que te respondas a ti mismo con la solución y en el primer mensaje pongas al principio del título [solucionado], así servirá para la siguiente persona que se encuentre con el mismo problema que tú.

A veces, hay que buscar en inglés sobre todo si es una duda muy rara o muy técnica, aunque ya no es tan necesario como hace unos años.


Identificar el problema

Si es un programa que no se ejecuta o lo hace mal intenta lanzarlo desde consola, el texto que devuelva es lo que vas a tener que poner en el buscador para buscar la solución.
En la carpeta /var/log están los logs de los programas, que te van a dar información valiosa para buscar la solución.
Si es un componente de hardware lo puedes identificar para su posterior búsqueda con comandos como lshw, lspci, lsusb 

¿Dónde Buscar?

1. Google y otros buscadores

Lo primero es buscar la solución por tu cuenta.
Afortunadamente hoy disponemos de la mayor base de conocimiento de la historia, pero es tan grande que es muy fácil perderse.

En el buscador deberías poner algo como lo siguiente:
Error que obtienes / duda + distribución + versión
La mayoría de buscadores permiten restringir la búsqueda en un determinado periodo de tiempo, si por ejemplo, dices que quieres los resultados publicados en el último año te vas a evitar perder el tiempo probado soluciones a problemas que se solucionaron hace años.

Si no quieres encontrar vídeos de youtube que consuman tu tiempo viendo algo que a lo mejor ni te sirve añade a la cadena de búsqueda al final:
-site:www.youtube.com 

Prueba también duck duck go, un búscador que respeta más tu privacidad.

2. Wikipedia

Cuando lo que busca es la definición de algo que no conoces o manuales genéricos para algo que quieres hacer es una excelente opción.

3. YouTube, Vimeo, etc...

Es una buena opción cuando quieres hacer algo paso a paso, pero se pierde mucho tiempo viendo todo el vídeo cuando lo que necesitas saber es qué se pone en un determinado archivo de configuración, por ejemplo.
Por otro lado, no te vas a dar cuenta que no te vale hasta a ver visto la mayor parte del vídeo.

4. Páginas oficiales

Excelente opción cuando quieres saber algo de un programa en concreto, quien mejor te va a explicar como funciona que sus creadores. 
Estas páginas suelen traer algún FAQ o wiki con los problemas más habituales y su solución.

5. Notas personales

Cuando encuentres la solución a un problema lo suyo es anotarlo y tenerlo a mano para cuando te vuelva a hacer falta, que puede ser dentro de años.
En mi caso este blog son mis notas personales de problemas con GNU/Linux, la ventaja de que sea público es que compartes el conocimiento y así te aseguras que no se pierde.
También puede ser un archivo de libreoffice.org y así poderlo consultar aunque no tengas internet en ese momento.

6. Foros y blogs

Pueden ser muy útiles cuando son temas de una tecnología en concreto, también es donde se suele terminar usando los buscadores de internet.

7. Libros

Hay libros buenísimos para aprender temas de lo más variado, y muchos son gratis y de libre descarga.

8. Redes sociales

En algunas se aprende más que en otras y en otras se pierde más el tiempo que en otras.
Recomiendo suscribirse a perfiles de twitter relacionados con GNU/Linux y tu campo de interés, todo lo que veas interesante te recomiendo que lo apuntes en tus notas personales siguiendo algún orden o lógica para que las puedas encontrar cuando te hagan falta.
Personalmente, las redes que te piden muchos datos como tu teléfono móvil no me gustan nada.

viernes, 21 de septiembre de 2018

Crear una nueva categoria en el menú de Ubuntu MATE (II): desde consola

Vamos a ver como crear una categoría de menú en Ubuntu MATE desde la consola, muy útil para hacer un script de instalación o inclusiones masivas/automáticas, por ejemplo.

Al lío.
  1. Lo primero sería disponer de los iconos que vayamos a utilizar tanto para los lanzadores como para la categoría, si no queremos tener que poner la ruta completa deberían estar en /usr/share/pixmaps
  2. Creamos los lanzadores en la carpeta ~/.local/share/applications/, podríamos crear uno para el emulador caprice que se llamara menulibre-caprice32.desktop con el siguiente contenido:
    [Desktop Entry]
    Version=1.1
    Type=Application
    Name=Caprice32 (CPC emulator)
    Name[es]=Caprice32 (emulador CPC)
    Comment=Amstrad CPC/CPC+ emulator
    Comment[es]=Emulador Amstrad CPC/CPC+
    Icon=cpc6128
    Exec=cap32
    Actions=
    Categories=menulibre-emuladores;
  3. Creamos los directorios necesarios para la categoría:
    mkdir -p ~/.config/menus/applications-merged
    mkdir -p  ~/.local/share/desktop-directories/
  4. Creamos el archivo ~/.local/share/desktop-directories/menulibre-emuladores.directory con el siguiente contenido:
    [Desktop Entry]
    Version=1.1
    Type=Directory
    Name=Emulators
    Name[es]=Emuladores
    Comment=Emulation and retrocomputing
    Comment[es]=Emuladores y retroinformática
    Icon=3disk
  5. Creamos el archivo ~/.config/menus/applications-merged/user-menulibre-emuladores.menu como administrador con vim, leafpad o el editor que queramos con este contenido:
    <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
        "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
    <!-- Do not edit manually - generated and managed by xdg-desktop-menu -->
    <Menu>
        <Name>Applications</Name>
    <Menu>
        <Name>menulibre-emuladores</Name>
        <Directory>menulibre-emuladores.directory</Directory>
        <Include>
            <Filename>menulibre-caprice32.desktop</Filename>
        </Include>
    </Menu>
    </Menu>
  6. Si quieres incluir más elementos dentro de la categoría solo hay que repetir el bloque <Menu></Menu> interior con los datos correspondientes de cada lanzador.
Aprovecho esta investigación para que mi script de instalación de herramientas LDraw cree una nueva categoría de menú 'Tente y Lego 3D".


Posiblemente funcione con cualquier distro de la familia Debian y con otros entornos gráficos, en los comentarios podéis contarnos vuestras experiencias en este sentido.

Enlaces de interés

sábado, 15 de septiembre de 2018

Feliz día del software libre 2018

Hoy estamos de celebración todos los amantes del software libre ya que hoy es su día.

Recordemos que usamos software libre no solo por razones filosóficas sino por razones muy pragmáticas como:
  • Si tienes el código puedes modificar el programa y no dependes de los caprichos de una compañía que decide que ese producto que a ti te interesa y necesitas a ellos no les compensa o te lo pone a un precio prohibitivo y tienes que tragar porque en la próxima actualización del sistema deja de funcionar.
  • Si se usan formatos abiertos, esos archivos puedes abrirlos con otros programas o incluso hacer, o mandar hacer, uno que los lea y se ajuste a tus necesidades.
  • La transparencia es un valor muy importante hoy en día, y que hay más transparente que ver como está hecho el programa.
  • Incluso los que usan software propietario se benefician del software libre, ya que si no existiera hace tiempo que tendrían condiciones mucho más leoninas que las que tienen que soportar (o han elegido seguir soportando).
En fin, ¡feliz día del software libre! y recuerda, lo que no se comparte se pierde.

sábado, 8 de septiembre de 2018

Crear una nueva categoria en el menú de Ubuntu MATE (I): la solución gráfica

Imagina que, en el menú Aplicaciones, tienes muchos emuladores en una saturada categoría de los juegos, ¿no estarían mejor en una nueva categoría 'Emuladores'?
Hoy vamos a ver como crear una nueva categoría de menú de manera gráfica, más adelante veremos como hacerlo desde consola y así poder incluirlo en un script de instalación.

MATE incluye la aplicación mozo para añadir elementos a las diferentes categorías pero es poco intuitiva y muy confusa para crear categorías nuevas.
Para acceder a mozo hacemos clic con el botón derecho sobre la opción 'Aplicaciones' y seleccionamos 'Editar menús'.


Por ello es mejor instalar la aplicación menulibre desde los repositorios oficiales de tu distro, una vez instalada, al hacer clic con el botón derecho sobre Aplicaciones ahora se ejecutará esta aplicación que nos va a dar mucho más juego.



Si pulsamos en el botón + podemos crear:
  • Lanzador: un acceso directo a un programa concreto, se crea en la categoría que tengamos seleccionada.
  • Carpeta: una categoría en la que incluir más lanzadores, también permite crearla dentro de otra carpeta o categoría.
  • Separador: para incluir una línea de separación entre elementos.
Tanto si creamos un lanzador como una carpeta hay que pulsar el botón de guardar una vez hayamos rellenado todos los campos con la información de dicho elemento para que el cambio sea efectivo.


Otras opciones interesantes de la herramienta:
  • Cambiar la posición de los elementos con las flechas que aparecen en la esquina inferior izquierda.
  • Añadir categorías a los lanzadores.
  • Etc...
Como curiosidad puedes ejecutar mozo o menulibre desde consola escribiendo sus nombres en minúsculas sin espacios de separación.

domingo, 2 de septiembre de 2018

Volver a ejecutar aplicaciones java en Ubuntu MATE 18.04: solución y caza del "bug"

Hoy me he llevado una desagradable sorpresa al ejecutar jEdit que se negaba a funcionar.

Cuando ocurre esto lo mejor que hay para encontrar la solución es lanzar el programa desde consola
jedit
y ver que error devuelve, a mi me llama la atención la siguiente línea:
...
20:51:03 [main] [error] main: java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
...
Pongo el error en el buscador de internet, quitando la hora lógicamente, y salen algunas páginas que me dan pistas de cual es la solución, al final hay que comentar la siguiente línea (poniéndole un caracter almohadilla '#' al principio):
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
en el archivo /etc/java-X-openjdk/accessibility.properties donde X es la versión de java instalada, como yo tengo la 8 y la 11 he comentado la línea en ambos.

En fin, otro error incomprensible de Ubuntu 18.04, del que me estoy arrepintiendo de haberle dado otra oportunidad en el i7 que se ha solucionado con calma y un poco de sentido común, como siempre.

En todo caso tampoco descarto que sea culpa de java que no pasa por sus mejores tiempos.

domingo, 26 de agosto de 2018

Multiplicador de joysticks para el Amstrad CPC

Con este esquema te puede hacer un multiplicador para conectar dos joysticks tipo Atari o CPC de dos botones.



El joystick principal es el nº. 0 y el secundario el nº. 1.
Recuerda que si quieres usar juegos que soporten el 3er botón indocumentado tendrás que unir también los pines nº.5.
Si lo que quieres es conectar dos joysticks de PC al puerto de juegos de tu tarjeta de sonido, mira la siguiente página de Emulatronia: http://www.emulatronia.com/reportajes/2joy/index.htm.

sábado, 18 de agosto de 2018

¿Cómo hacer un joystick Atari o específico para Amstrad CPC?

Los joysticks/gamepads Atari eran digitales por lo que su fabricación es muy sencilla siguiendo este esquema:



El cable amarillo que corresponde al FIRE 1, puedes obviarlo junto al propio DISPARO 1 si lo que quieres es un simple Joystick Atari de un botón de disparo. Sin embargo, si lo pones tendrás un genuino Joystick CPC de dos disparos, para tu Amstrad CPC real.

IMPORTANTE: Si vais ha hacer un joystick para un ordenador que no sea un Amstrad CPC, no conectéis el FIRE 1, en algunos ordenadores como el Commodore 64 el pin 7 se usa para alimentar al periférico y podría provocar un corto.

Si vas a hacerte el joystick para conectarlo al PC mediante los drivers Direct-Pad aunque no sea necesario el FIRE 1, te recomiendo que lo pongas, pues quizá saquen más adelante un driver específico para joystick CPC de dos botones.

Actualización 19-08-2018: Mikel E. me recuerda que algunos juegos de Amstrad CPC soportan un tercer botón de disparo no documentado conectando el pin 5 con masa. ¡Ojo! solo para gama no plus, o gama plus tuneada (hay que hacer unos puentes en la placa).
No recomiendo usar joystick con este botón adicional en otros ordenadores de 8 bits, pues el pin 5 algunos lo usan para alimentar el joystick.

Para quien quiera montarse un autofire puede consultar este artículo en inglés.
También tengo el esquema para hacer un multiplicador de joystick para Amstrad CPC.

viernes, 10 de agosto de 2018

Antimicro, mapeador de teclas a joysticks para GNU/Linux (II): uso

En el anterior artículo vimos como instalar el mapeador de joystick a teclas, antimicro ahora vamos a ver como hacerlo funcionar.
  • Vamos a usar de ejemplo el juego xgalaga++ que, incomprensiblemente, aún no trae soporte para joystick, lo primero es ver que teclas usamos para jugar y tomar nota:
  • Ahora ejecutamos el mapeador con el comando:
    antimicro
  • Como es la primera vez que lo ejecutamos vamos a guardar la configuración que trae de fábrica, para ello pulsamos en SAVE AS y ponemos antimicro_original (yo he creado también una carpeta antimicro_confs para tenerlas localizadas.
  • Vamos pulsando en el botón correspondiente a cada tecla o palanca de nuestro mando uno a uno.
  • Volvemos a guardarlo con SAVE AS con otro nombre, por ejemplo el del juego.
Recuerda ejecutar primero antimicro antes que el juego para que funcione, siempre puedes hacerte un script para lanzarlo con el mapeo hecho:
#!/bin/bash
antimicro --profile $HOME/antimicro_confs/xgalaga++.gamecontroller.amgp &
xgalaga++