Un emulador de CP/M-68K sobre Motorola 68000

Fuentes: CP/M-68K and Motorola 68000 Emulator

El desarrollador Kjetil presenta la versión 0.1 de cpm68emu, un emulador de la CPU Motorola 68000 pensado para ejecutar CP/M-68K, el sistema operativo de Digital Research para esa familia de procesadores. El proyecto nació como una extensión de un emulador previo de 68000 al que en un principio se iba a añadir una MMU para convertirlo en un Motorola 68010; sin embargo, el autor descarta esa vía por la escasa base de software existente para el 68010 y decide centrarse en el 68000 puro y en adaptar el emulador al CP/M-68K que ya había utilizado con anterioridad.

El emulador incorpora una BIOS de CP/M a medida, acoplada al propio emulador, que gestiona la consola y el acceso a un disco en RAM. Siguiendo las recomendaciones de Digital Research, el área TPA se sitúa en la dirección 0x400 y el sistema con la BIOS en el extremo superior del espacio de direcciones de 24 bits, en 0xFF0000, lo que garantiza la compatibilidad con la mayoría de programas. Los binarios con extensión .68K dependen de una TPA concreta, mientras que los .REL son relocatables y deberían funcionar en cualquier configuración.

La consola no depende de curses y emplea directamente stdin y stdout; en entrada, LF se convierte a CR y DEL a BS para mejorar la compatibilidad. Para gestionar las imágenes del disco RAM se recomienda cpmtools, aunque el emulador también incluye comandos propios equivalentes a los que ofrece YAZE. El código y los binarios están disponibles en GitHub, GitLab y como archivo tar.gz en la web del autor.