viernes, 20 de diciembre de 2024

FreeCAD 1.0.0 en Debian

FreeCAD es uno de los más potentes modeladores paramétricos 3D, y es software libre.

 

Instalación desde repositorios (más antigua)

Podemos instalarlo en Debian desde los repositorios oficiales con el típico comando:

sudo apt install freecad

Pero en el caso de Debian 12 vas a tener la versión 0.2, si quieres la versión 1.0.0, más moderna y completa puedes hacerlo de dos maneras.

Appimage

Aunque no me gustan estas paqueterías que lo engloban todo, appimage es la mejor de todas porque es simplemente un binario que ejecutas sin ni siquiera instalarlo, es decir, una aplicación portable que no toca nada en el sistema.

Podemos descargarnos la última versión disponible de la web:

https://github.com/FreeCAD/FreeCAD/releases

Una vez descargado basta con darle permisos de ejecución y se lanza con un doble clic sobre el archivo.

Para más comodidad recomiendo hacer un acceso directo, aunque si te quieres ahorrar el trabajo el script RetroMultiInstaller te instalará esta versión si tu distro es arquitectura ARM64, lo habitual en un PC.


Desde el código fuente

Como software libre que es, puedes compilarlo a partir del código fuente y así podrás disfrutarlo en otras arquitecturas, basadas en ARM por ejemplo.

Antes tendrás que instalar un buen puñado de paquetes, ya que el programa tiene muchas dependencias:

sudo apt install git build-essential cmake libtool lsb-release python3 swig libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-serialization-dev libboost-thread-dev libcoin-dev libeigen3-dev libgts-bin libgts-dev libkdtree++-dev libmedc-dev libvtk9-dev libx11-dev libxerces-c-dev libyaml-cpp-dev libzipios++-dev libsimage-dev

sudo apt install qtbase5-dev qttools5-dev libqt5opengl5-dev libqt5svg5-dev qtwebengine5-dev libqt5xmlpatterns5-dev libqt5x11extras5-dev libpyside2-dev libshiboken2-dev pyside2-tools pyqt5-dev-tools python3-dev python3-matplotlib python3-packaging python3-pivy python3-ply python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets python3-pyside2.qtnetwork python3-pyside2.qtwebengine python3-pyside2.qtwebenginecore python3-pyside2.qtwebenginewidgets python3-pyside2.qtwebchannel pyqt5-dev-tools qt5-default

sudo apt install libocct-data-exchange-dev libocct-draw-dev libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev occt-draw

Nos descargamos el código desde una carpeta:

git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git freecad-source

Compilamos:

cd freecad-source
mkdir build
cd build
cmake ../
make -j$(nproc --ignore=2)

E instalamos:

sudo make install

El proceso tarda mucho rato incluso si tienes un PC potente pero si todo ha ido bien ya tienes instalado FreeCAD desde el código fuente.


viernes, 13 de diciembre de 2024

Ejecutar software de Amstrad CPC con MAME en modo gráfico GUI (I)

Hace tiempo que MAME incluye en su código lo que era el emulador MESS, que era una bifurcación del proyecto enfocada a emular ordenadores y consolas en lugar de máquinas arcades, por ello MAME es capaz de emular también este tipo de máquinas.

Antes de seguir vamos a instalar el mame en caso de que aún no lo hayas instalado, en el caso de Debian y otras distros derivadas puedes instalarlo con el comando:

sudo apt install mame

Para conseguir esto hay que incluir las BIOS(*) de los ordenadores como ROMs, se podrían incluir simplemente como archivos comprimidos en la misma carpeta de roms pero es más recomendable tenerlos en una carpeta aparte, en mi caso he creado en $HOME una carpeta mess y dentro dos carpetas, una de bios y otra de software.


Para incluir la carpeta de bios, en mi caso /home/miusuario/mess/bios puedo añadirlo al archivo mame.ini a las rutas definidas en la variable rompath, o hacerlo visualmente desde el propio entorno de MAME.

General settings ► Customize folders ► ROMs ► Add folder

Nos aparecerá un selector de carpetas por el que tenemos que navegar hasta llegar a la carpeta deseada y una vez dentro de ella pulsar la tecla TAB para añadirla.

Después vamos saliendo de las diferentes opciones seleccionadas pulsando la tecla ESC hasta volver a 'General settings' en cuya opción podemos hacer los cambios permanentes, con la opción 'Save Settings', en caso de que hayas salido completamente de las opciones las acciones serían:

General settings ► Save Settings

Ahora salimos completamente de las opciones de menú pulsando ESC una vez más hasta ver la página principal de MAME donde nos ofrecerá algunas ROMs para ejecutar, si tecleamos 'Amstrad' nos aparecerá todas las máquinas Amstrad que podemos emular.

Seleccionamos por ejemplo Amstrad CPC6128.

Nos aparecerán diversos juegos reconocidos por MAME pero que no nos funcionarán por no estar en la ruta adecuada con el nombre exacto que reconoce MAME, así que tendremos que elegir la opción 'Start empty'.

Nos saldrá una pantalla de confirmación, pulsamos una tecla y ya podemos ver nuestro Amstrad CPC6128 funcionando.

Una vez que estamos ejecutando el Amstrad CPC tenemos que activar los controles UI pulsando la tecla 'Insert' de nuestro teclado.

Pulsamos la tecla TAB y seleccionamos la opción 'File Manager'.


Nos aparecerá un menú para indicar la ubicación del archivo que queremos emular.


Podemos elegir diversos tipos de archivos, incluso a la vez:

  • printout (prin): archivo en el volcaremos la salida de lo que imprimamos.
  • snapshot (dump): archivos SNA que son volcados de memoria, en este caso se iniciaría el programa inmediatamente.
  • floppydiskX: archivos DSK, es decir, imágenes de disco, la X puede ser 1 o 2 según queramos que se comporte como unidad A: o B:
  • cassette (cass): archivos CDT, es decir, imágenes de cinta.

En el caso de elegir disquetes o cassettes tenemos que cargarlos como si estuviéramos en un Amstrad CPC real.

Si elegimos cassette debemos tener en cuenta que la combinación de teclas CTRL + Enter (pequeño) no funciona, así que tenemos que teclear RUN " y pulsar ENTER. 

Recuerda que como hemos elegido el CPC6128 hay que teclear antes |TAPE

Una vez seleccionada la imagen de cinta y ejecutado RUN" hay que "darle al play en el cassette", para ello le damos otra vez al tabulador y ahora seleccionamos la opción "Tape Control".

Seleccionamos la opción 'Play' y esperaremos a que termine la carga, no hay que esperar a que termine para salirnos de los menús.

Y bueno, básicamente así podríamos emular varios ordenadores de 8 bits con MAME.

No es el emulador más amigable del mundo y tiene varios defectos pero no está mal para un emulador que se creó para emular máquinas arcade y ahora aspira a emularlo todo.

----

(*) Los archivos BIOS necesarios se pueden sacar de casi cualquier otro emulador de CPC, como CPCEmu, caprice32, etc..., deberían comprimirse en archivos ZIP de la siguiente manera:

  • cpc464.zip: cpc464.rom y cpcados.rom
  • cpc664.zip: cpc664.rom
  • cpc6128.zip: cpc6128.rom

Recordemos que Amstrad autorizó hace años la distribución de ROMs en emuladores.


viernes, 6 de diciembre de 2024

Ampliando RetroMultiInstaller: los scripts de instalación (V)

El directorio installers es la carpeta que contiene toda colección de scripts que instalan cada uno de los programas.

Estos scripts se ejecutan desde el script instalador.sh desde la carpeta tmp para que los archivos temporales se creen en esa ruta.

El nombre del archivo del script de instalación que vamos a ejecutar sería la etiqueta que tenemos definida en el correspondiente archivo txt de la carpeta /menu seguido del sufijo _installer.sh
Si lo ejecutamos manualmente para probar que funciona correctamente hay que ir a la carpeta tmp y ejecutarlos así:

../installers/programa_installer.sh
Un ejemplo simple de script de instalación de software podría ser así:
#/bin/bash
../commonscripts/instalator.sh git
../commonscripts/createshortcuts.sh desktopcal
source ../commonscripts/makeopenchangetodir.sh /opt/webapps
git clone https://github.com/hvianna/desktopCal.js desktopcal
Los scripts que están dentro de la carpeta ../commonscripts son scripts para diversos usos que veremos en el próximo epígrafe.
El último de estos script se invoca con la instrucción source al principio, esto se hace para cambiar al directorio indicado. Hay que tener especial cuidado con los scripts que se ejecuten después de él, ya que a partir de ahora ya no se van a ejecutar desde la carpeta tmp sino por la indicada en este último script.
Después de git clone se pueden añadir todos los comandos para compilar el programa, si requiriera compilación, integración, etc…