miércoles, 14 de agosto de 2019

Limpiar los datos personales y todo lo que sobra de nuestros sistemas en raspberry pi antes de pasarla a un amigo

Si tienes tu raspberry con un sistema bien depurado y personalizado, puede ser interesarle a algún amigo, pero antes de pasársela hay que quitar tus cosas y ya que estamos hacer algo de limpieza.

Evidentemente si lo que vas a borrar solo lo tienes en la raspberry lo primero sería pasarlo al PC por ejemplo por ssh.

Estos son los pasos para limpiar:

Raspbian

  • Actualizamos los sistemas, en el caso de raspbian se debería hacer con este comando:
    sudo apt-get update; sudo apt-get -y upgrade; sudo apt-get -y autoremove; sudo apt-get clean
  • Abrimos los navegadores y borramos todos los datos desde el principio de los tiempos.
  • Borramos el contenido personal de /home/pi (es decir, todo o casi todo). Si tenemos kodi dejamos el directorio .kodi (ver apartado kodi).
  • Volvemos a cambiar la contraseña para poner las que traía por defecto.
  • Si nos conectamos por wifi, o borramos los datos de conexión o encriptamos nuestra contraseña (cortesía del Atareao)
    wpa_passphrase NOMBREDERED CONTRASEÑA | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf > /dev/null(luego hay que editar el archivo /etc/wpa_supplicant/wpa_supplicant.conf y borrar la contraseña sin encriptar que la deja comentada).
  • Con el mc buscamos archivos que tengan nuestro nombre de usuario o contraseñas y los vaciamos o cambiamos según el caso.
  • Finalmente hacemos lo mismo con el histórico de comandos y del propio mc.

Recalbox

  • Comprobamos que no hay ninguna actualización y si la hay, la aplicamos.
  • Miramos en el archivo de configuración recalbox.conf (sito en /recalbox/share/system/) y quitamos nuestros datos de conexión, especialmente si no están encriptados.
  • Hacemos una búsqueda en /recalbox/share/system/.kodi en busca de cadenas que contengan nuestro nombre de usuario y contraseña, si la encotramos la cambiamos por algo genérico ¡que bien que instalamos mc en recalbox!
  • De nuevo borramos el histórico de mc.

Kodi

Esto hay que hacerlo en todos los sistemas que tengamos kodi, ya sea recalbox, raspbian o LibreElec:
  • Hacemos una búsqueda en /share/system/.kodi en busca de cadenas que contengan nuestro nombre de usuario y contraseña, si la encotramos la cambiamos por algo genérico ¡que bien que instalamos mc en recalbox!
  • Vaciamos de contenido las siguientes carpetas:
    addons/packages
Todas estas acciones sobre kodi hay que hacerlas dentro de la carpeta de configuración .kodi que en casi todos los GNU/Linux de PC están en el directorio $HOME, en el caso de los sistemas para raspberry varía un poco:

SistemaUbicación
Raspbian/home/pi/.kodi
Recalbox/recalbox/share/system/.kodi
LibreElec/storage/.kodi

Bueno, ya la tienes lista para clonar a su microsd, ya sea por usando dd en GNU/Linux, con clonezilla, con las aplicaciones específicas que hay para tu sistema, etc...

martes, 6 de agosto de 2019

Abu Simbel Profanation DeLuxe, remake para GNU/Linux

Empezamos el mes de agosto con otro remake para GNU/Linux de otro juego legendario, en este caso hablamos de Abu Simbel Profanation DeLuxe.



La instalación no puede ser más sencilla ya que es un programa portable:
  1. Lo descargas.
  2. Lo descomprimes donde quieras.
  3. Entras en su carpeta ProfaDeluxe-Linux allá donde lo hayas descomprimido.
    cd ProfaDeluxe-Linux
  4. Das permisos de ejecución al archivo profanation:
    chmod +x ./profanation.
  5. Y lo ejecutas:
    ./profanation 

Y a disfrutar del juego.


Por cierto, si visitáis su página oficial, M.A. Software, veréis que tienen muchos remakes de juegos clásicos y muchos de ellos están para GNU/linux.

lunes, 29 de julio de 2019

Instalar ZEsarUX desde github, potente emulador de ordenadores de 8 bits (Ubuntu y familiares)

Hoy vamos a ver como instalar el gran emulador ZEsarUX, un programa que no solo emula ZX Spectrum como podéis ver en las imágenes:


La compilación es muy sencilla, solo cuatro pasos:
  1. Descargamos las librerías y programas necesarios para la compilación:
    sudo apt install git libsdl1.2-dev libncurses5-dev libaal-dev libcaca-dev build-essential
  2. Descargamos el programa en sí:
    git clone https://github.com/chernandezba/zesarux
  3. Compilamos:
    cd zesarux/src
    ./configure
    make
  4. Instalamos:
    sudo make install

Lo puedes ejecutar desde consola con el comando zesarux, crearte un acceso directo o instalarte la categoría de menú emuladores que incluye el acceso para este emulador.

Es muy fácil de manejar, solo debes tener en cuenta que para acceder al menú basta con pulsar sobre la pantalla con el botón derecho del ratón.

Entre sus bondades:
  • Multisistema, multiplataforma, software libre y gratuito.
  • Soporte accesibilidad para invidentes en ZX Spectrum, para aventuras conversacionales por ejemplo.
  • Juego on line (en pruebas).
  • Y un largo etcétera por descubrir.






viernes, 26 de julio de 2019

UWOL nativo para GNU/Linux (juego de plataformas muy adictivo)

UWOL es un juego de plataformas en el que tenemos que recolectar monedas sin que nos maten los enemigos.
Es un juego muy adictivo y especialmente conocido en la escena retro, pero es poco conocido que hay un excelente remake para GNU/Linux y que sigue funcionando en las últimas distros.

Para instalarlo lo mejor es hacerlo a partir del código fuente, para ello aquí tenéis la siguiente receta para Ubuntu fácilmente adaptable a cualquier otra distro:

  1. Instalamos las librerías necesarias, desde consola lo podemos hacer con el comando:
    sudo apt install libglu1-mesa-dev libglew-dev libvorbis-dev libsdl2-mixer-dev libsdl2-image-dev build-essential git
  2. Nos bajamos el juego con git:
    git clone https://github.com/AugustoRuiz/UWOL
  3. Compilamos, el autor nos lo pone fácil porque simplemente hay que ejecutar el script que incluye al efecto, es decir:
    cd UWOL
    ./makelinux.sh
  4. Y ya tendríamos el binario en la carpeta bin, por lo que para lanzarlo basta con teclear:
    cd bin
    ./uwol
  5. Para mayor comodidad nuestra nos vamos a crear un acceso directo, para lo que crearemos el archivo uwol.desktop dentro de la carpeta Escritorio o Desktop con un contenido similar a éste:
    [Desktop Entry]
    Name=UWOL
    Comment=Platform game
    Comment[es]=Juego de plataformas
    Type=Application
    Path=/opt/linuxgames/UWOL/bin
    Exec=/opt/linuxgames/UWOL/bin/uwol
    Icon=uwol
    Categories=Game;
    Terminal=false
    (sustituye /opt/linuxgames/UWOL por la ruta donde hayas copiado el juego).
  6. Damos permisos de escritura al archivo uwol.desktop
    chmod +x uwol.desktop
  7. Copiamos la imagen que aparece al principio de esta entrada en la ruta /usr/share/pixmaps como uwol.png.

Y ahora a disfrutar de este juegazo de Mojon Twins.


sábado, 20 de julio de 2019

Autologin en Devuan

DevuanPara conseguir autologin en Devuan, es decir, que se acceda como un determinado usuario sin que pida la contraseña, hay que editar el archivo /etc/slim.conf y añadir las siguientes líneas debajo de la línea comentada con el ejemplo de uso:

default user YOUR_USER
focus_password yes
autologin yes


Donde YOUR_USER es el nombre de tu usuario.

¡Ojo! este truco no es válido para algunas distros derivadas de devuan como Refracta a la que serviría el truco para Debian.

domingo, 14 de julio de 2019

Instalando Ubuntu en un Dell Optiplex 320


A continuación reproduzco el artículo de la vieja web a petición de un internauta que quiere aprovechar un viejo equipo muy parecido.

Problemática

Últimamente estan saliendo equipos con controladoras SATA, PATA, etc... que no son estándar y que por ello dan problemas para instalar diferentes sistemas operativos.
En este caso tenemos un Dell Optiplex 320 que no permite ejecutar grub, lo que nos plantea problemas incluso para arrancar CDs-live.

Solución para Linux/Ubuntu como sistema único

Para la instalación hay que seguir una serie de pasos:
  1. Podemos el disco de Ubuntu en el CD-ROM e indicamos en la BIOS que arranque por CD-ROM.
  2. Elegimos la opción correspondiente (instalar, ejecución live, etc...) pero NO PULSAMOS ENTER aún.
  3. Pulsamos F6 para otras opciones de arranque y añadimos lo siguiente:
    acpi=off pnpbios=off pci=nomsi
  4. Ahora si pulsamos INTRO y seguimos la instalación de la manera habitual.
  5. Finalizará la instalación pero no podremos iniciar el linux recien instalado porque se ha instalado con grub (el cual no funciona con estos Dell) por ello instalaremos lilo.
  6. Para ello arrancamos con un live el ordenador (teniendo en cuenta lo antes explicado) y nos meteremos en el linux previamente instalado con el comando:
    mount /dev/sda1 /mnt/
    mount --bind /dev /mnt/dev/
    chroot /mnt/
  7. Instalamos lilo para ello tecleamos lo siguiente:
    apt-get update
    apt-get install lilo
  8. Creamos (o copiaremos de otro que ya lo tenga) un fichero /etc/lilo.conf con el siguiente contenido:
    prompt
    timeout=500
    boot=/dev/sda

    map=/boot/map

    delay=30

    default=Linux

    image=/vmlinuz
    label=Linux
    read-only
    append="root=/dev/sda1 pci=nomsi pnpbios=off acpi=off "
    initrd=/initrd.img

    image=/vmlinuz
    label=LinuxOLD
    read-only
    optional
    append="root=/dev/sda1 clocksource=acpi_pm "
    initrd=/initrd.img.old
  9. Arreglamos el arranque del lilo tecleando:
    lilo -v
  10. Reiniciamos y ya está.

Solución para multisistemas

En el punto anterior he asumido que se instaló como sistema único en sda1, si no es así debemos cambiar las apariciones de sda1 por sda2 o dónde quiera hayamos instalado el ubuntu. Si queremos arrancar también el Windows debemos añadir al final de /etc/lilo.conf estas líneas:
other=/dev/sda1
label=Windows
table=/dev/sda
Si queremos que Windows sea el sistema por defecto debemos cambiar el default
default=Windows

jueves, 11 de julio de 2019

Saca capturas de tu raspberry pi en raspbian con crop

Alguna vez os habréis preguntado como saco las capturas de pantalla de la raspberry para ponerlas en el blog.
Hay muchísimos procedimientos, pero uno de los más sencillos y rápidos es crop.

Instalación

Crop se instala como cualquier otro programa en la raspberry, desde consola:
sudo apt-get install crop
 

Uso

  • Accedes por ssh a tu raspberry.
  • Cuando veas en ella la imagen que quieres capturar simplemente teclea:
    crop
  • Se creará un archivo .png con un nombre que incluye la fecha y hora de creación, ese archivo te lo puedes copiar con un pendrive o por ssh, ya sea con el comando scp o con mc
Más simple que el mecanismo de un chupete.

viernes, 5 de julio de 2019

Solucionado error en K3B que no permitía grabar CDs si no eres root

Estos dos comandos solucionan otro error tontorrón de Ubuntu 18.04, no te permite grabar CDs desde K3B si no lo ejecutas como administrador (con los DVDs el problema no existe):
sudo chmod 4711 /usr/bin/wodim
sudo chmod 4711 /usr/bin/cdrdao
A ver si cuidan más a los usuarios retro y no nos queman tanto.

 

sábado, 29 de junio de 2019

Integrar programas CP/M en GNU/Linux mediante DosBox

Ya hemos visto como integrar programas DOS como si fuera software GNU/Linux pero, ¿se podría hacer con algo más antiguo como CP/M?
Pues sí y básicamente sería lo mismo.


De hecho vamos a utilizar un emulador de CP/M para DOS llamado 22Nice, ese software no es libre, de hecho es shareware y si queremos que no muestre el mensaje de no registrado hay que pasar por caja.

Estos serían los pasos:
  1. Descargamos 22nice y lo descomprimimos en un directorio:
    wget -c http://www.cpm.z80.de/download/22nce132.zip
    mkdir 22nice
    unzip -u 22nce132.zip -d 22nice
  2. Copiamos en la misma carpeta el ejecutable de CP/M, yo he usado como ejemplo el archivo BASIC.COM (Mallard Basic).
  3. Renombramos la extensión del archivo a CP/M:
    mv BASIC.COM BASIC.CPM
  4. Entramos en DosBox y montamos la carpeta donde tenemos CP/M y el binario como F:
    dosbox
    mount f /ruta_a_cpm
  5. Generamos con el emulador un nuevo ejecutable BASIC.COM compatible con DOS:
    F:
    GENCOM * DIS=ANSI PRO=Z80
  6. Salimos de DosBox:
    exit
  7. Una vez que es una aplicación DOS ya podemos seguir las instrucciones para integrarla como si fuera una más de aplicación GNU/Linux.
    Debemos tener en cuenta en este último paso que para lanzarlo desde el entorno gráfico se tiene que tratar de una aplicación que no devuelva inmediatamente el prompt como es la del ejemplo, si no saldrá inmediatamente y ni siquiera vamos a ver que se ha ejecutado.
    En este caso sería como otro comando de consola más y desde ella habría que ejecutarlo.
Para más información sobre 22NICE podéis consultar el archivo 22NICE.DOC que se incluye en el archivo ZIP.
Recordatorio: para salir de Mallard Basic hay que teclear el comando SYSTEM.

miércoles, 19 de junio de 2019

DHCP en Linux (configuración de clientes y servidores).

Vamos a ver como utilizar el mejor sistema para hacer DHCP tanto como cliente como servidor:

Cliente DHCP:

Para hacer que una máquina linux use IPs dadas por una servidor DHCP basta indicarle que use IP dinámica, lo que se consigue poniendo las siguientes líneas en /etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
También hay que comentar la línea GATEWAY=... en el fichero /etc/sysconfig/network

Servidor DHCP.

Para hacer un servidor DHCP en linux debemos crear un fichero /etc/dhcpd.conf con una estructura similar al que ahora comento:


default-lease-time 7200;
max-lease-time 17200;
option subnet-mask 255.255.255.0; Máscara de red de los clientes
option broadcast-address 172.17.9.255; Dirección de broadcast
option routers 172.17.9.254; Dirección del router
option domain-name-servers 150.214.10.1, 150.214.10.2, 150.214.10.3; Los DNS que usarán los clientes
option domain-name "cpcbegin.local"; Dominio de nombres que usarán los clientes
subnet 172.17.9.0 netmask 255.255.255.0 {
   hardware ethernet 01:23:45:67:89:AB;
   fixed-address 172.17.9.2;

  range 172.17.9.3 172.17.9.99;
}
A la máquina que tenga como dirección física MAC 01:23:45:67:89:AB se le asignará la IP 172.17.9.2
Al resto se le irán asignando direcciones a partir de la 172.17.9.3 hasta la 172.17.9.99.

Una vez realizados los cambios iniciamos los servicios de una de las siguientes maneras:
  • /etc/rc.d/init.d/dhcpd start (forma temporal)
  • ntsysv (forma permanente).

miércoles, 12 de junio de 2019

Instalar LDCad en Ubuntu Mate 18.04 (con soporte para Tente 3D y Lego)

LDCad es otro editor del formato abierto LDraw para crear tus modelos TENTE y LEGO, está disponible nativo para GNU/Linux y Windows.

Vamos a instalarlo en mi Ubuntu Mate 18.04 y le vamos a añadir soporte Tente 3D.

 

Instalación

  1. Vamos a la sección Download y descargamos la última versión para GNU/Linux.
  2. Descomprimos el archivo:
    tar -xjvf LDCad-1-6b-Linux.tar.bz2
  3. Entramos en el directorio LDCad-1-6b-Linux y ejecutamos ./LDCad64 ó ./LDCad32 dependiendo si nuestro GNU/Linux es de 64 o 32 bits.

Soporte Tente 3D

LDCad permite tener más de una librería pero solo podemos usar una a la vez por lo que podemos añadir a la librería que trae de LEGO de serie, la de Tente 3D que previamente nos habremos bajado  y descomprimido en algún sitio.
Para ello:
  1. Seleccionamos las opciones:
    Prefs ► LDraw ► Search library paths ..
  2. Escribimos la ruta de nuestra librería y pulsamos el botón New.

Manejo

El programa es muy potente pero se maneja de manera muy diferente a MLCad por lo que hay que navegar por las diferentes opciones de menú para añadir las piezas deseadas.

Recomiendo echar un ojo a vídeos de youtube como el siguiente para hacerse una idea del funcionamiento del mismo.
También permite hacer animaciones.



Una manera más sencilla de tener este programa en tu GNU/Linux es mediante el script de instalación y configuración de aplicaciones LDraw Tente3d_installer que ya incorpora LDCad (solo Ubuntu, de momento).

miércoles, 5 de junio de 2019

Volver a usar tu altavoz interno con beep en Ubuntu o Debian

Las últimas versiones de GNU/Linux no cargan por defecto el módulo para hacer sonar el beeper, zumbador o altavoz interno del ordenador.
Para volverlo a escuchar hay que teclear los siguientes comandos:
sudo modprobe pcspkr
sudo apt-get install beep
A partir de este momento y hasta que reinicies puedes escuchar el zumbador tecleando beep.

Si quieres hacer el cambio permanente debes editar el archivo /etc/modprobe.d/blacklist.conf y comentar la línea que deshabilita del altavoz interno:
blacklist pcspkr
que quedaría como:
# blacklist pcspkr
Ya puedes volver a disfrutar del estridente y encantador sonido del altavoz interno ;-)

¡Ah! Si haciendo esto sigue sin funcionar puede que no lo tengas, algunos equipos son así de cutres, especialmente ciertos portátiles de dudosa calidad.

miércoles, 29 de mayo de 2019

Instalamos LAMP en Ubuntu 18.04, solucionamos el fallo con el socket y lo configuramos para Moodle 3.7

Instalamos los paquetes necesarios

sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-curl php-zip php-xml php-intl php-xmlrpc php-gd php-mbstring php-ldap php-pear php-soap

Reiniciamos la contraseña de mysql

Arrancamos el servidor

sudo service mysql start

Vamos a la carpeta del socket

cd /var/run

Hacemos una copia de seguridad del socket

sudo cp -rp ./mysqld ./mysqld.bak

Paramos el servidor

sudo service mysql stop

Restauramos el socket

sudo mv ./mysqld.bak ./mysqld

Iniciamos mysqld_safe

sudo mysqld_safe --skip-grant-tables --skip-networking &

Iniciamos el shell de mysql

mysql -u root

Cambiamos la contraseña

Elegimos la base de datos mysql
mysql> use mysql;
Hacemos las siguientes consultas:
mysql> update user set authentication_string=password('pontuclaveaqui') where user='root';
mysql> update user set plugin="mysql_native_password" where User='root';

Actualizamos los privilegios
mysql> flush privileges;
mysql> quit;

Salimos del modo seguro para entrar en el normal
sudo pkill mysqld
sudo service mysql start

Probamos que funciona bien:
mysql -u root -p

Nos debe pedir la contraseña.


Instalamos Moodle

  1. Creamos la tabla que vamos a usar en Moodle:
    CREATE DATABASE mymoodle CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. Salimos de mysql.
    quit;
  3. Descargamos la última versión de Moodle
  4. La descomprimimos en /var/www/html/moodle
  5. Damos permisos de escritura momentáneamente a /var/www
  6. Abrimos desde el navegador la página http://localhost/moodle
  7. Seguimos los pasos del asistente introduciendo la información que se nos va solicitando.
    El puerto de la base de datos y el socket unix no hay que introducirlo.
  8. No nos permitirá crear el archivo config.php así que creamos uno vacío con el contenido que nos indica.
  9. Quitamos los premisos de escritura que dimos a /var/www
  10. Volvemos a cargar la página http://localhost/moodle
  11. Seguimos los pasos del asistente hasta el final, nos pedirá los datos de la configuración del moodle.


Enlaces de interés

viernes, 24 de mayo de 2019

Menu para disquete de Amstrad CPC

Recupero un viejo programa Basic que usaba para poder cargar distintos programas que tuviera en un disquete con un menú como éste:


Nos podemos mover por las entradas con los cursores o el joystick y seleccionarla con las teclas ESPACIO, ENTER o el disparo 0 del joystick.
Este es el listado del programa:

10 REM Ejemplo Menu para seleccionar diversos programas en disquete.
20 MODE 1
30 PEN 1:PAPER 0
40 DIM B$(20)
50 cabecera$="EJEMPLO MENU DE DISCO (CPCBEGIN)"
60 X%=19-LEN(cabecera$)/2
70 ESPACIOS%=4+LEN(cabecera$)
80 PAPER 3
90 FOR Y%=1 TO 3
100 LOCATE X%,Y%:PRINT SPACE$(ESPACIOS%)
110 NEXT Y%
120 LOCATE X%,2
130 PRINT"  "+cabecera$
140 PAPER 0:READ Z%:FOR I%=1 TO Z%:READ a$,b$(i%):LOCATE 5,I%*(2+(z%>10))+5:PEN 2:PRINT USING"##";i%;:PRINT") ";:PEN 1:PRINT a$:NEXT i%
150 REM PEN 3:LOCATE 11,25:PRINT CHR$(164)+" 2019, MENSAJE COPYRIGHT";
160 opcion%=1
170 LOCATE 5,opcion%*(2+(z%>10))+5:PEN 0:PAPER 2:PRINT USING"##";opcion%;:PRINT") ";:a$="":WHILE a$="":a$=INKEY$:WEND
180 IF a$=CHR$(241) OR a$=CHR$(10) THEN LOCATE 5,opcion%*(2+(z%>10))+5:PAPER 0:PEN 2:PRINT USING"##";opcion%;:PRINT") ";:opcion%=opcion%+1:IF opcion%=Z%+1 THEN opcion%=Z%
190 IF a$=CHR$(240) OR a$=CHR$(11) THEN LOCATE 5,opcion%*(2+(z%>10))+5:PAPER 0:PEN 2:PRINT USING"##";opcion%;:PRINT") ";:opcion%=opcion%-1:IF opcion%=0 THEN opcion%=1
200 IF VAL("0"+a$)>0 THEN opcion%=VAL(a$):GOTO 230
210 IF a$<>CHR$(13) AND a$<>"X" AND a$<>" " THEN a$="":GOTO 170 ELSE 230
220 PRINT"Cargando..."b$(opcion%)
230 FOR j%=1 TO z%
240 PEN 2:PAPER 0
250 IF opcion%=j% THEN PRINT CHR$(24);
260 LOCATE 5,j%*(2+(z%>10))+5:PRINT USING"##";j%;:PRINT") ";
270 NEXT j%
280 PEN 1:PAPER 0:RUN B$(OPCION%)
290 END
300 'Use this syntax in DATA line:
310 'DATA number of programs,description 1,access 1,description 2,access 2,...
320 DATA 19,ALGEBRA,ALGEBRA.BAS,"BARAJA ESPANOLA",BARAJA.BAS,EDITOR DE CARACTERES,CARACTER.BAS,CRONOS I,CRONOS.BAS,IMPRIME DIRECTORIOS,DIR.BAS,DIRECCIONES Y TELEFONOS,DIRECCIO.BAS,CALCULO DIVISORES,DIVISOR.BAS,DEMO TINTAS,INKERS.BAS,TEST JOYSTICK
330 DATA JOYTEST.SPA,CALCULO NIF,NIF.SPA,PAGINADOR,PAGINAS.BAS,PIRAMIDE MALAGA,PIRAMIDE.BAS,NUMEROS PRIMOS,PRIMOS.BAS,QUIMICA JBL,QUIMICA.BAS,QUINIELA ALEATORIA,QUINIELA.BAS,TELEFONOS Y PREFIJOS,TELEFONO.BAS,TYPE AMSDOS,TYPE.BAS
340 DATA LEA ESTO,README.BAS,ENGLISH SOFTWARE,ENGLISH.BAS
350 'autosaving
360 SAVE"disc.bas",a

Si no queréis teclear todo esto, tenéis la última versión en mi github.

Para adaptarlo a tus necesidades basta con que cambies las lineas de DATA según lo que dice la linea 300, el primer dato es el número de programas.
También deberías cambiar el texto de la cabecera con el nombre que le des al disco o compilación.

Deben sobrar al menos 2K en el disquete para que quepa el programita.

Para grabarlo en un CPC real o emulado, recuerda que ya hemos visto como hacerlo con disquetes, inyectar código en un DSK con un editor de texto profesional. y que emuladores como RVM permiten inyectar y extraer archivos de las imágenes de disquetes muy fácilmente.

domingo, 19 de mayo de 2019

Tostar un archivo DSK en un disco de 3" desde la unidad de 3.5" del propio Amstrad CPC con dsk-cpc

Imagina que tu copia original de CP/M deja de funcionar (y todas las copias de seguridad que deberías haber hecho), ¿qué haces ahora? ¿cómo vas a hacer tareas habituales en el CPC como formatear disquetes?

La solución es estampar en un disco el archivo DSK del disco estropeado desde la unidad B del propio Amstrad, ¿cómo? con la utilidad dsk-cpc.

¿Qué necesito?


Preparando los discos de 3.5" en el PC

  • Copiamos la aplicación dsk-cpc a un disco de 3.5" en algún formato que lea el CPC tal y como vimos en un artículo anterior.
  • Formateamos el segundo disco de 3.5" como disco IBM de doble densidad:
    SistemaComando para formatear en doble densidad
    DOS/Windows unidad internaformat a: /t:80 /n:9 /v:dsks
    GNU/Linux unidad internafdformat /dev/fd0u720
    DOS/Windows unidad USBufiformat -f
    GNU/Linux unidad USBsudo ufiformat -f 720 -v /dev/sdd #sustituir sdd por lo que corresponda con la disquetera
  • Copiamos los dsk que queramos tostar en este segundo disco, arrastrándolos desde el explorador por ejemplo.

Nota para disqueteras USB

  • Para GNU/Linux: sustituir /dev/sdd por lo que corresponda según lo que nos diga el comando mount.
    ¡Ojo! Si nos equivocamos podemos machacar la información de otra unidad.
  • Para Windows: el driver de la disquetera y la versión del S.O. debe soportar discos de doble densidad.
  • Para ambos: la disquetera debe soportar discos de doble densidad (se puede comprobar con el comando ufiformat -i

Uso de dsk-cpc en el Amstrad CPC

  1. Encendemos la disquetera de 3.5" y el Amstrad CPC.
  2. Introducimos el disquete de 3" a machacar y el disco de 3.5" con el programa dsk-cpc.
  3. Seleccionamos la unidad B: con el comando:
    |B
  4. Ejecutamos dsk-cpc
    RUN"dsk-cpc
  5. Sacamos el disquete de 3.5" con dsk-cpc y lo sustituimos por el disquete con las imagenes DSK.
  6. Pulsamos 1 para seleccionar el DSK.
  7. Seleccionamos el dsk que queramos tostar.
  8. Seleccionamos 1 para tostar el dsk en el disco de 3".
  9. Cuando termine podemos reiniciar y probamos que funciona el disco de 3".
Advertencia: este procedimiento no funciona con todas las imágenes dsk, especialmente si están protegidas o tienen pistas extrañas.

martes, 14 de mayo de 2019

Instalar Marble en Ubuntu Mate 18.04

Marble es una excelente alternativa libre a Google Maps que además consume muchos menos recursos y da un resultado muy bueno.



Se puede instalar desde los repositorios oficiales de Ubuntu Mate con este comando:

sudo apt-get install marble-qt marble-plugins marble-maps marble-data libmarblewidget-qt5-23 libastro

Si quieres instalarla en otras distros consulta este artículo.

martes, 7 de mayo de 2019

Poner una disquetera de 3.5'' al Amstrad CPC 6128


En realidad, este cable lo tenía hecho y comprobado por Diego Vizcaíno hace muchos años pero yo nunca había conseguido hacer que funcionara, ¿por qué? porque hay que alimentar a la disquetera como es debido, 5V 2A, hace poco me regalaron algunos componentes viejos de PC que me podían servir como una fuente de ordenador de las antiguas.

El cable

El cable utilizado es el que usaban para conectar las viejas disqueteras de 5.25" con ciertas modificaciones:
  • Pines 33 y 34: deben estar cortocircuitados permanentemente para conseguir la señal Ready.
  • Pines 31 y 32: cortocircuitados leen la "cara B" del disco, sin unir leen la "cara A".
  • Pines 11 y 12: hacen que la unidad externa se convierta en la unidad A, lo que nos permitiría ejecutar programas que estén pensados para arrancar solo desde esa unidad, como diversos juegos y el propio CP/M.
Lo más recomendable es poner interruptores entre los pines que se conectan o desconectan según nuestra necesidad, por precaución mejor no conectarlos o desconectarlos con el CPC encendido,

 
Otra opción válida para alimentarla es suministrar 5V 2A por el conector de alimentación de la disquetera (como se ve en la foto de la disquetera por detrás), un alimentador de raspberry pi 2 podría servir y no sería tan aparatoso como el de un PC.
La disposición de los pines depende de si la muesca para el cable está abajo o arriba, de todas formas el cable solo debería entrar solo de la manera correcta en la disquetera (pin 1 al cable rojo), en el Amstrad sí hay que tener más cuidado como vamos a ver.

 

Conectándolo al CPC y a la disquetera

Hay que fijarse en el pin 1, que es el cable rojo:
  • A la disquetera debe ir al pin 1 de la disquetera, la mayoría de cables y disqueteras traen una muesca para que se conecten como debe ser, pero mejor comprobar este punto.

    En la serigrafía inferior podemos ver que el cable rojo está en el pin 1, en la etiqueta estaba puesto arriba porque así tenía que ser en la disquetera que iba a usar originariamente, que resultó estar cascada.
  • Al CPC debe conectarse de manera que el cable rojo sea el más alejado de la disquetera de 3" interna, normalmente junto al cable de vídeo.
¡CUIDADO!: En el manual oficial del Amstrad os encontraréis este esquema:


NO LE HAGÁIS NI CASO, es válido para las unidades Amstrad por que los pines se montaron al revés que la norma de las disqueteras de PC, es decir, el 1 sería el 34, el 2 el 33...


Funcionamiento 

Una vez conectado todo, encendemos la fuente que alimenta la disquetera y a continuación el propio CPC.
Para usarla como unidad B tecleamos
|B
y los comandos habituales para cargar o ejecutar programas.

Hay que tener en cuenta que algunos juegos y el propio CP/M solo permiten arrancar con la unidad A, así que en esos casos tenemos que unir los pines correspondientes para anular la unidad interna y que la externa funcione como A:

Una advertencia: si hacéis CAT sobre una unidad sin disquete el Amstrad se quedará bloqueado hasta que lo apaguéis y  volváis a encender.
Lo más cómodo es tener un disquete en cada una para evitaros el incordio.


Acabados (mucho por mejorar)

Como habéis visto en las fotos, he metido la fuente de alimentación y la disquetera en una caja de cartón recortada y agujereada, es cutre pero por ahora es lo que hay.
Eso sí le he hecho muchos agujeros para que escape el calor por algún lado pero de todas formas voy a estar pendiente de posibles calentamientos.

También tengo que poner un par de interruptores para cambiar de cara y puede que también para usar como unidad A.

También puedo añadir conectores para alimentar al propio Amstrad CPC para cuando quiera usar monitores externos distintos al CTM-644.

En este vídeo podéis verlo en acción.


Fuentes y enlaces de interés


miércoles, 1 de mayo de 2019

Copiar archivos a disquetes de doble densidad desde el PC para el Amstrad CPC (mediante disquetera USB en máquina virtual VirtualBox)

El objetivo es pasar archivos a disquetes de doble densidad desde el PC en un formato que sea capaz de leer el Amstrad CPC, pero con dos limitaciones:
  • Hacerlo en un equipo moderno que no trae disquetera interna.
  • Hacerlo en un equipo que solo tiene como sistema nativo GNU/Linux (Ubuntu Mate 18.04).

Vamos a ver que necesito.

Hardware

Necesitaremos tres cosas:
  • Disquetes de doble densidad (DD Disks), si solo tienes de alta no hay problema, le pones un trozo de celo opaco tapando el agujero derecho como puedes ver en el disquete negro de la foto y ya es un disco de doble densidad como el azul (que no tiene el agujero).
  • Una disquetera USB que soporte discos de doble densidad, como la que me pille hace unos meses.
  • Un PC, en mi caso voy a usar mi i7.

Software

  • VirtualBox, se recomienda instalar el Extension Pack correspondiente a la  versión que instales para tener un soporte completo USB.
    Lo puedes instalar desde el centro de software de tu distro.
  • La máquina virtual con Windows, al menos XP, que es la que soporta el programa para pasar los disquetes.
    Simplemente se crea la máquina virtual y lo instalas en ella como si fuera un ordenador real, os dejo un manual para quien no sepa.
  • La disquetera USB la puedes montar a posteriori una vez arrancado el Windows virtual haciendo clic en el icono para mapear dispositivos USB pero mi recomendación es añadir un filtro de dispositivo USB en el apartado USB de la configuración de la máquina virtual antes de arrancarla y así hacer que se mapee automáticamente.
  • CPCDiskXP, el programa que va a pasar los archivos al disquete y que lógicamente hay que descargar e instalar en el Windows XP virtual.
    Debe ser la última versión que es la que permite usar disqueteras USB con limitaciones que veremos a continuación.
  • Los archivos sueltos o archivos dsk que queramos pasar que también deben estar en el sistema virtual.
 

Uso de CPCDiskXP

Este programa se distribuye en un archivo ZIP como aplicación portable, por tanto, basta con copiarla en una carpeta y hacer doble clic en el ejecutable CPCDiskXP.exe (crear un acceso directo para más comodidad).
También incluye otro binario llamado FDInstall.exe que es el driver para usar el disquete de forma nativa pero no es compatible con las unidades USB.
Recomiendo mantener conectada la disquetera con el disquete dentro desde que iniciamos la máquina virtual hasta que salgamos de ella.
Puede que algunos disquetes con tantos años fallen pero ya vimos que unos buenos soplidos en su interior hace maravillas.

Bueno, vamos al lio:
  1. Arrancamos la máquina virtual con la unidad conectada y el disquete dentro.
  2. Ejecutamos CPCDiskXP.
  3. Hacemos clic en el botón DSK EDITOR.
  4. Clic en New.
  5. Marcamos la opción USB Floppy Drive  Compatible Formats y dejamos el que nos ofrece por defecto.
  6. Hacemos clic en el botón Add Files para añadir archivos sueltos y/o..
  7. Hacemos clic en el botón Add Files From Another DSK para incluir archivos sueltos incluidos en un DSK que no esté protegido.
  8. Una vez incluidos todos los archivos deseados pulsamos los botones Write USB Floppy y Write Disk.
  9. Si todo ha ido bien cerramos la aplicación y salimos de la máquina virtual, ya tenemos nuestro disquete listo para usar en una unidad 3.5'' conectada a nuestro CPC.

Limitaciones

  • Realmente solo puede copiar ficheros sueltos, aunque los lea de un dsk desprotegido, no se podría "quemar" una imagen tal cual en el disquete (raw).
  • Hay que usar formatos IBM y además compatible con la ROM que tenemos en nuestro CPC, que en mi caso es la estándar.
  • Por otro lado sólo podemos grabar la cara A, lo que nos hace aprovechar muy poco del disco.
  • El disquete no se podrá releer desde la aplicación por lo que siempre hay que empezar de cero.
  • Posiblemente no sea reconocido ni por GNU/Linux ni por el Windows virtual. 

Videotutorial

El tutorial 'hacer un disco de 3.5 usando una disquetera USB' es bastante clarificador pero añado otro mío para las peculiaridades de hacerlo en una máquina virtual desde GNU/Linux:


Última hora

El compañero KaosOverride, una vez más, nos proporciona información interesante desde el grupo de Telegram Amstrad Power.
Se puede hacer directamente desde GNU/Linux con las aplicaciones dsk2ima y dd. 
Tomo buena nota para futuro artículo.

jueves, 25 de abril de 2019

Instalar Refacta Devuan en un Pentium III

Recientemente ha vuelto a la casa el pentium III que tenía en casa de mis padres, un equipo de 2000 con solo 384Mb de RAM y muy pocos recursos. ¿que GNU/Linux más o menos actual le podría poner a esta pieza de museo?

Después de probar con Devuan puro (un fork de Debian sin systemd), que se instaló sin problema en una máquina virtual pero que se resiste en este equipo tan viejo probé con un fork de Devuan llamado Refracta.



Esto es lo que he hecho para instalarla en el pentium III:

Descarga y grabación de la ISO

Nos descargamos la última versión estable de refracta que podemos localizar en sourceforge.
La tostamos con K3B en un CD virgen desde mi i7 a la velocidad más baja para que no dé la lata con la lectora del pentium III que tiene sus añitos y sus limitaciones.


Instalación

Ya desde el pentium III:
  1. Accedemos a la BIOS y seleccionamos la unidad de CD-ROM al principio del arranque.
  2. Antes de pulsar F10 para grabar los cambios en la BIOS introducimos el CD.
  3. Elegimos 'Refracta (default). 
  4. Una vez arrancado iniciamos el asistente de instalación que podemos encontrar desde el Menú:
    Menú ► System ► Refracta Installer
  5. Elegimos el método 'use sudo'. 
  6. Elegimos 'Simple Instalation'.
  7. Seleccionamos 'Run GParted' y preparamos las particiones para instalar el sistema, hay que tener en cuenta dos cosas:
    • Debemos crear una partición tipo ext4 para el sistema (también puede ser ext2 pero no tendremos journaling para bien o para mal) y una linux-swap con el doble de memoria que tenga nuestro viejo equipo.
      Tomamos buena nota de la partición ext4 porque en el siguiente paso nos la van a pedir, y mejor que no nos confundamos si tenemos otro sistema.
    • Si es un disco nuevo no nos va a dejar crear particiones hasta que creemos una tabla de particiones, que podemos hacer mediante las opciones:
      Device ► Create Partition Table ► Elegimos el tipo: MSDOS ► Apply.No crear la tabla si  ya está creada y hay datos que queremos conservar pues esto borra todo el disco duro.
  8. Aplicamos todas las operaciones haciendo clic en el botón de la flechita verde y salimos de GParted.
  9. Elegimos la partición ext4 previamente creada.
  10. Hacemos clic en el botón para proceder con la instalación y confirmamos.
  11. Definimos el nombre del host y el de usuario.
  12. Permitimos sudo para nuestro usuario pero no por defecto.
    Desactivamos también la opción 'Use sudo only for shutdown'.
  13. Definimos las claves
  14. Reiniciamos retirando el CD para arrancar desde el disco interno.

Afinando el sistema

  • Actualizamos el sistema como si fuera un Ubuntu. 
  • Configuramos el teclado en castellano, para ello donde pone us en la parte superior de la pantalla, hacemos doble clic borramos los que no nos interesa e incluimos Español (a secas).
  • Después de la instalación tendríamos que desinstalar software que no se puedan ejecutar fluidamente en el equipo.
  • También pararemos los servicios que solo ralentizan este viejo equipo y no se van a poder usar de una manera práctica como el soporte bluetooth.
    Para ello ejecutamos el comando sysv, navegamos con los cursores y vamos desactivando lo que no nos interese con el espacio.
    Cuando terminemos pulsamos la tecla q.
  • Si instalamos aplicaciones extra debemos tener en cuenta lo limitado del equipo, GNU/Linux es muy bueno pero no hace milagros, porque donde no hay NO HAY, por ejemplo:
    sudo apt install mc vim
    Especial cuidado si añadimos servicios o programas que se ejecutan todo el rato.
  • Si es un equipo sin datos sensibles y queremos que esté disponible para toda la familia sin introducir una clave, podemos activar el autologin.
  • Para configurar la wifi hay que ir a:
    Menu > Internet > Wicd Network Manager
    Vamos a la pestaña Switch Off Wifi, seleccionamos nuestro SSID le ponemos la clave en properties, activamos que se conecte automáticamente a ella y le damos a Connect


viernes, 19 de abril de 2019

Activar la pantalla HAT o la HDMI en raspbian

Pero tenían un problema: no tenía forma de poner la imagen en la pantalla HDMI cuando necesitara usarla, ya tengo la solución para poder cambiar entre una y otra:
  1. Actualizamos raspbian y el firmware a una versión que soporte las dos: pantallas (framebuffers):
    sudo apt-get update
    sudo apt-get -y upgrade
    sudo rpi-update fe525d2
    reboot
  2. Instalamos el gestor de framebuffers fbi (aunque este paso puede no ser necesario):
    sudo apt-get install fbi
  3. Editamos el archivo /usr/share/X11/xorg.conf.d/99-fbturbo.conf y nos fijamos en la línea:
    Option "fbdev" "/dev/fb1"
  4. Si cambiamos fb1 por fb0 usará la tele enganchada al HDMI mientras que si dejamos fb1 usará la pantallita HAT.
  5. Para mayor comodidad podemos copiar las dos versiones de este archivo en otro directorio (p.e.: /home/pi/xconfs) y con un par de scripts copiar uno u otro en la configuración de las X.
Gracias a la ayuda de Kike de fororaspberry y al artículo de jamesh en el foro oficial por ayudarme a encontrar la solución.

Por ahora queda averiguar cómo hacer que funcionen las dos a la vez que según lo visto en el siguiente vídeo, es posible.

sábado, 13 de abril de 2019

Convertir PDF digitalizado en PDF texto desde consola con tesseract

El objetivo es convertir un archivo PDF digitalizado directamente de un documento en un PDF de texto.

¿Qué necesitamos?

ImageMagic y Tesserant

sudo apt install imagemagick tesseract-ocr

Desactivamos las restricciones de ImageMagic

sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xml_backup

Comandos para la conversión

Convertimos a tiff, pasamos el ocr y borramos el tiff:
convert -density 300 mi_doc.pdf -depth 8 mi_doc.tiff
tesseract mi_doc.tiff mi_doc.txt.pdf spa
rm mi_doc.tiff
En la línea del commando tesseract el tercer parámetro es el idioma, en nuestro caso español, si no se pone nada usa inglés y podemos saber que idiomas hay disponibles con el comando:
tesseract --list-langs

Posibles problemas

Si la imagen no está lo suficiente limpia o no es adecuada nos podemos encontrar errores como:
  • Image too small to scale!! (2x36 vs min width of 3)
  • LSTM: Training - Image not trainable
  • Tesseract not detecting text 
Las razones pueden ser diversas: las imágenes están rotadas, no tienen nitidez, poca resolución, etc... a lo mejor con algún programa gráfico como Gimp puedes limpiar el tiff y conseguir mejores resultados.

Es cuestión de prueba y error y si es necesario ampliar la información con tu buscador favorito en internet.