CP/M-80: Referencia de Comandos y Utilidades
Resumen de comandos habituales del sistema operativo CP/M-80 y su uso.
Comandos Internos (CCP1)
| Comando | Explicación |
|---|---|
| DIR |
Muestra el directorio del disco actual con los archivos disponibles. Para archivos marcados como SYS se visualizan con DIRS ó DIR [SYS] si existe DIR.COM |
| ERA archivo.ext | Borra un archivo del disco. Puede usar comodines como *.BAK. |
| REN nuevo.ext=viejo.ext | Cambia el nombre de un archivo existente. |
| TYPE archivo.txt | Muestra por pantalla el contenido de un archivo de texto. |
| SAVE n archivo.com | Guarda n páginas de memoria (de 256 bytes) en un archivo COM. |
| USER n | Cambia al área de usuario n (0-15) para separar conjuntos de archivos.2 |
Utilidades Externas Frecuentes3
| Comando | Explicación |
|---|---|
| PIP |
Herramienta de copia y transferencia de archivos entre unidades, dispositivos y archivos. PIP B:=A:FILE?.* Copia archivos FILE0.COM, FILE1.LIB, etc., desde A: a B: |
| DIR |
El comando DIR interno es muy básico, pero si la consola encuentra la aplicación DIR.COM
esta puede mostrar más detalles sobre los archivos listados como RO, RW, SYS, etc. usando modificadores. Ej.: DIR [SYS,FULL,USER=ALL] |
| STAT | Informa del estado de discos y archivos; muestra atributos y espacio disponible. |
| SET |
Utilidad externa (habitual en CP/M Plus) para cambiar atributos de archivos y discos,
como SYS, DIR o RO. Ej.: SET PIP.COM [SYS], establece que el archivo es accesible desde tódas las áreas SET PIP.COM [DIR] es el opuesto a la orden anterior. |
| SETENV |
Utilidad de CP/M Plus que establece en qué unidades y en qué orden debe buscar un archivo
si no lo encuentra en la unidad actual. Ej.: SETDEF C:, A:, * [ORDER=(COM, SUB)] |
| ED | Editor de texto de línea incluido en CP/M para crear y modificar archivos ASCII. |
| ASM | Ensamblador para código 8080/Z80; genera archivos objeto a partir de fuentes ASM. |
| LOAD | Convierte archivos objeto (normalmente HEX) a formato ejecutable COM. |
| DDT | Depurador de bajo nivel para examinar memoria, ejecutar y trazar programas. |
| SUBMIT | Ejecuta lotes de comandos desde un archivo SUB para automatizar tareas. |
| XSUB | Complementa a SUBMIT permitiendo entrada de consola durante ejecución por lotes. |
| SYSGEN | Copia o instala una imagen de sistema CP/M en un disco de arranque. |
| MOVCPM | Regenera CP/M para un tamaño de memoria diferente y produce una nueva imagen del sistema. |
| LANGUAGE | Gestiona el juego de caracteres y teclado según la región. |
| DATE | Gestiona la fecha y la hora. DATE muestra el tiempo actual, DATE SET permite cambiarlo. |
| Nota: según la distribución de CP/M-80, algunos comandos externos pueden variar o no estar incluidos. | |
Extensiones Habituales de Archivos en CP/M
| Extensión | Descripción |
|---|---|
| .COM | Programa ejecutable en formato binario plano; suele cargarse y ejecutarse directamente desde CCP1. |
| .ASM | Código fuente en ensamblador 8080/Z80 para ensamblar con utilidades como ASM o MAC. |
| .HEX | Archivo objeto en formato Intel HEX, habitual como salida del ensamblador y entrada para LOAD. |
| .REL | Módulo relocalizable generado por algunos ensambladores y enlazadores para construir ejecutables. |
| .PRN | Listado de ensamblado o salida de impresión con direcciones, opcodes y líneas de código fuente. |
| .LST | Listado de texto generado por herramientas de desarrollo o utilidades de impresión. |
| .LIB | Biblioteca de módulos objeto utilizada por enlazadores en flujos de compilación más complejos. |
| .LBR |
Archivo de biblioteca/colección (similar a un contenedor) usado para agrupar múltiples ficheros. .LQR o .LZR, se tratan de archivos .LBR comprimidos con SQ o CRUNCH respectivamente, común en distribuciones de software para CP/M. |
| .OVL | Archivo de overlay: contiene módulos auxiliares que algunos programas cargan bajo demanda para ampliar funciones sin ocupar toda la memoria principal desde el inicio. |
| .SUB |
Script por lotes para SUBMIT; contiene comandos que se ejecutan secuencialmente. Caso especial: PROFILE.SUB se ejecuta automáticamente al iniciar CP/M Plus, útil para inicializar SET, SETENV, TIME, LANGUAGE, etc. Similar al autoexec.bat de DOS. |
| .TXT | Archivo de texto ASCII para documentación, notas o datos editables con TYPE y ED. |
| .DOC | Documentación en texto plano distribuida junto con programas y utilidades. |
| .BAS | Programa fuente en BASIC (MBASIC u otros intérpretes/compiladores disponibles en CP/M). |
| .BAK | Copia de seguridad automática creada por editores o herramientas al modificar archivos. |
Utilidades CPM-80 para instalar aplicaciones desde ficheros LBR4
| Utilidad | Descripción |
|---|---|
| LU | Herramienta clásica para listar y extraer archivos de bibliotecas LBR. |
| NULU | Versión mejorada de LU, muy usada para gestionar LBR y extraer paquetes distribuidos en BBS. |
| NSWEEP | Utilidad orientada a examinar discos y bibliotecas, útil para localizar y extraer contenidos de archivos LBR. |
| SQ | Comprime archivos con el formato SQueezed, frecuente en distribuciones históricas de CP/M. Utiliza codificación Huffman. La letra central de la extensión original se sustituye por una "Q", por ejemplo las extesiones CQM (COM), AQM (ASM), DQC (DOC), etc. |
| UNSQ | Descomprime archivos en formato SQueezed generados por SQ. |
| CRUNCH | Comprime archivos (habitualmente texto) para reducir espacio antes o después de empaquetarlos. Más eficiente porque utilizaba algoritmos basados en LZW. La letra central de la extensión original se sustituye habitualmente por una "Z", por ejemplo las extesiones CZM (COM), TZT (TXT), OZL (OVL) etc. |
| UNCRUNCH | Revierte archivos comprimidos con CRUNCH para recuperar el contenido original. |
| ZIP | Crea archivos ZIP en algunos entornos CP/M para intercambio con otros sistemas. Sin embargo, los archivos ZIP generados en CP/M suelen ser incompatibles con los estándares actuales. |
| UNZIP | Extrae archivos ZIP en CP/M. Utilizado para archivos de comandos y utilidades distribuidos en el formato ZIP de CP/M. |
1. Console Command Processor (Procesador de Comandos de Consola).
2. En CP/M 2.2 no existían subdirectorios: para organizar archivos se usaban áreas de usuario numeradas (USER 0-15).
Al cambiar de área con USER n, normalmente solo se veían los ficheros de esa área.
En algunas implementaciones (especialmente CP/M Plus y compatibles con SET), al marcar un fichero como
SYSTEM o PUBLIC podía hacerse visible también desde otras áreas.
3. La disponibilidad de estas utilidades puede variar según la distribución de CP/M-80. Esta referencia está muy basada en la implementación de CP/M Plus para Amstrad.
4. Utilidades para sistemas operativos actuales y ficheros LBR o comprimidos con CP/M:
80un (Python),
lbrate o
Total Commander con algún plugin como WCX si prefieres una interfaz gráfica