sábado, 18 de julio de 2020

ANSI CP/M emulator, ejecuta CP/M nativo en GNU/Linux

Hasta ahora hemos visto que podemos ejecutar CP/M y su software con emuladores de los ordenadores que podían ejecutarlo (p.e.: Amstrad CPC y PCW) y a través de 22Nice, un emulador del sistema que se ejecutaba sobre DOS y que por tanto debíamos ejecutar a través de DosBox, pero... ¿no existe un emulador directo del sistema CP/M nativo para GNU/Linux?

La respuesta es SÍ, de hecho hay varios, aunque por ahora solo he conseguido ejecutar con éxito: el ANSI CP/M Emulator and disk image tool.


Vamos a ver como instalarlo y usarlo.


Descarga y compilación

Tecleamos los siguientes comandos:
sudo apt install git build-essential make
git clone https://github.com/z88dk/cpm
cd cpm
make

Ya lo podíamos ejecutar desde este directorio con el comando ./cpm pero nos va a resultar más tenerlo como un comando del propio sistema en cualquier directorio.


Instalación

Simplemente copiando el archivo a /usr/local/bin ya tendríamos el emulador disponible desde cualquier directorio pero mejor le cambiamos el nombre a ansicpm para no confundirlo con futuros emuladores que instalemos ni con otro paquete oficial que se llama cpm (y que no tiene nada que ver con el vetusto sistema).
sudo cp ./cpm /usr/local/bin/ansicpm
sudo cp ./cpmtool /usr/local/bin/ansicpmtool


Uso

Simplemente CP/M

Si simplemente queremos ejecutarlo como el sistema en sí, basta con teclear el ejecutable, ya sea ./cpm desde el directorio de instalación o ansicpm desde cualquier sitio.

Interactuaríamos con su prompt y volveríamos a GNU/Linux con el comando:
bye


Binarios de CP/M como archivos sueltos


También podríamos tener un programa de CP/M con todos sus archivos necesarios en una carpeta, p.e.: dBase II, WordStart o Mallard Basic, en este caso, nos cambiamos a la carpeta donde está el binario y ejecutamos el programa con el comando como éste:
ansicpm <binario_cpm>
¡Ojo! simplemente hay que poner el nombre del binario que vayamos a ejecutar sin ./ o no funcionará.

Una vez terminada la ejecución volvemos al prompt de GNU/Linux.


Imágenes de disco

Este emulador también permite ejecutar software que está en imágenes de disco sin necesidad de sacarlo a una carpeta, pero por ahora solo soporta muy pocos formatos de disco, por lo que por ahora necesitaremos extraer los archivos de nuestras imágenes de discos Amstrad de CP/M a una carpeta, pero eso es algo que ya hemos visto como hacer en algunos de mis vídeos de youtube.



Actualización 19-07-2020:

IZ-CPM

Ivan me ha comentado en el foro de retrowiki que ha hecho otro emulador de CP/M llamado IZ-CPM, lo he probado y va genial en GNU/Linux.
También lo puedes compilar como el ANSI CP/M pero éste ya trae el binario compilado, que simplemente descargamos, descomprimimos y movemos su binario iz-cpm a /usr/local/bin
Lo ejecutamos con el comando iz-cpm desde el directorio de la aplicación y a partir de ahí el funcionamiento es muy similar a ANSI CP/M

2 comentarios:

  1. ¡Que barbaridad! CP/M en el pingüino, nunca me lo hubiera imaginado.
    Y funcionando como si fuera un DosEmu/DosBox o un Wine.

    ResponderEliminar
  2. CP/M en una raspberry pi (vale cualquiera)
    https://hackaday.com/2016/10/12/raspberry-pi-boots-cpm/

    ResponderEliminar