Articulo de referencia

CP/M

CP/M , [ 3 ] originalmente significaba Control Program/Monitor [ 4 ] y más tarde Control Program for Microcomputers , [ 5 ] [ 6 ] [ 7 ] es un sistema operativo de mercado masivo...

CP/M , [ 3 ] originalmente significaba Control Program/Monitor [ 4 ] y más tarde Control Program for Microcomputers , [ 5 ] [ 6 ] [ 7 ] es un sistema operativo de mercado masivo creado en 1974 para microcomputadoras basadas en Intel 8080 por Gary Kildall de Digital Research, Inc. CP/M es un sistema operativo de disco [ 8 ] y su propósito es organizar archivos en un medio de almacenamiento magnético, y cargar y ejecutar programas almacenados en un disco. Inicialmente limitado a tareas únicas en procesadores de 8 bits y no más de 64 kilobytes de memoria, las versiones posteriores de CP/M agregaron variaciones multiusuario y se migraron a procesadores de 16 bits .

Los componentes principales de CP/M son el Sistema Básico de Entrada/Salida (BIOS), el Sistema Operativo Básico de Disco (BDOS) y el Procesador de Comandos de Consola (CCP). El BIOS consta de controladores que gestionan los dispositivos y el hardware del sistema. El BDOS implementa el sistema de archivos y proporciona servicios del sistema a las aplicaciones. El CCP es el intérprete de línea de comandos y proporciona algunos comandos integrados.

CP/M se convirtió finalmente en el estándar de facto y el sistema operativo dominante para microcomputadoras, [ 9 ] en combinación con las computadoras del bus S-100 . Esta plataforma informática se utilizó ampliamente en el ámbito empresarial hasta finales de la década de 1970 y mediados de la década de 1980. [ 10 ] CP/M aumentó el tamaño del mercado tanto de hardware como de software al reducir considerablemente la cantidad de programación necesaria para portar una aplicación a una computadora de un nuevo fabricante. [ 11 ] [ 12 ] Un importante impulsor de la innovación del software fue la aparición de microcomputadoras de coste (comparativamente) bajo que ejecutaban CP/M, ya que programadores y hackers independientes las compraban y compartían sus creaciones en grupos de usuarios . [ 13 ] CP/M fue finalmente desplazado en popularidad por DOS tras la introducción del IBM PC en 1981 .

Historia

Anuncio de CP/M en la edición del 29 de noviembre de 1982 de la revista InfoWorld.

Historia temprana

Gary Kildall desarrolló originalmente CP/M durante 1974, [ 5 ] [ 6 ] como un sistema operativo para ejecutarse en un sistema de desarrollo Intel Intellec-8 , equipado con una unidad de disquete Shugart Associates de 8 pulgadas conectada mediante un controlador de disquete personalizado . [ 14 ] Fue escrito en PL/M ( Lenguaje de Programación para Microcomputadoras ) del propio Kildall. [ 15 ] Varios aspectos de CP/M fueron influenciados por el sistema operativo TOPS-10 de la computadora central DECsystem-10 , que Kildall había utilizado como entorno de desarrollo. [ 16 ] [ 17 ] [ 18 ]

CP/M era compatible con una amplia gama de computadoras basadas en las CPU 8080 y Z80 . [ 19 ] Uno de los primeros licenciatarios externos de CP/M fue Gnat Computers , un desarrollador pionero de microcomputadoras de San Diego, California . En 1977, la empresa obtuvo la licencia para usar CP/M 1.0 en cualquier microcomputadora que deseara por $90. En el transcurso del año, la demanda de CP/M fue tan alta que Digital Research aumentó el precio de la licencia a decenas de miles de dólares. [ 20 ]

Bajo la dirección de Kildall, el desarrollo de CP/M 2.0 fue llevado a cabo principalmente por John Pierce en 1978. Kathryn Strutynski , amiga de Kildall de la Escuela Naval de Posgrado (NPS), se convirtió en la cuarta empleada de Digital Research Inc. a principios de 1979. Comenzó depurando CP/M 2.0 y posteriormente se convirtió en una figura influyente como desarrolladora clave de CP/M 2.2 y CP/M Plus. Otros desarrolladores iniciales de la base de CP/M fueron Robert "Bob" Silberstein y David "Dave" K. Brown. [ 21 ] [ 22 ]

CP/M originalmente significaba "Control Program/Monitor" [ 3 ] , un nombre que implica un monitor residente , un precursor primitivo de un sistema operativo. Sin embargo, durante la transición de CP/M a un producto comercial, los documentos de registro de marca presentados en noviembre de 1977 dieron el nombre del producto como "Control Program for Microcomputers" [ 6 ] . El nombre CP/M sigue un esquema de nomenclatura predominante en la época, como en el lenguaje PL/M de Kildall y PL/P ( Programming Language for Prime ) de Prime Computer, ambos sugiriendo PL/I de IBM ; y el sistema operativo CP/CMS de IBM , que Kildall había usado cuando trabajaba en el NPS. Este cambio de nombre de CP/M fue parte de un esfuerzo más amplio de Kildall y su esposa con su socia comercial, Dorothy McEwen [ 4 ], para convertir el proyecto personal de Kildall de CP/M y el compilador PL/M contratado por Intel en una empresa comercial. Los Kildall pretendían que la marca Digital Research y sus líneas de productos se convirtieran en sinónimo de "microcomputadora" en la mente del consumidor, de forma similar a lo que IBM y Microsoft lograron posteriormente con éxito al hacer que " computadora personal " fuera sinónimo de sus ofertas de productos. Intergalactic Digital Research, Inc. fue posteriormente renombrada mediante un registro de cambio de nombre corporativo a Digital Research, Inc. [ 4 ]

Éxito inicial

Tarjeta Apple CP/M con manual

En septiembre de 1981, Digital Research había vendido más de250.000 licencias de CP/M; InfoWorld afirmó que el mercado real probablemente era mayor debido a las sublicencias. Muchas empresas produjeron computadoras basadas en CP/M para muchos mercados diferentes; la revista afirmó que "CP/M está bien encaminado para establecerse como el sistema operativo de las computadoras pequeñas". [ 23 ] Incluso empresas con sistemas operativos propietarios, como Heath/Zenith ( HDOS ), ofrecieron CP/M como alternativa para sus sistemas basados ​​en 8080/Z80; por el contrario, no existía un estándar comparable para las computadoras basadas en la también popular CPU 6502. [ 19 ] Apoyaron CP/M debido a su gran biblioteca de software. El Xerox 820 ejecutó el sistema operativo porque "donde hay literalmente miles de programas escritos para él, sería imprudente no aprovecharlo", dijo Xerox. [ 24 ] (Xerox incluyó un manual de CP/M de Howard W. Sams como compensación por la documentación de Digital Research, que InfoWorld describió como atroz, [ 25 ] incompleta, incomprensible y mal indexada. [ 26 ] Consciente de su reputación, Gordon Eubanks de Digital Research prometió en 1982 que la documentación de su empresa mejoraría. [ 27 ] ) Para 1984, la Universidad de Columbia utilizó el mismo código fuente para crear binarios de Kermit para más de una docena de sistemas CP/M diferentes, además de dos versiones genéricas. [ 28 ] El sistema operativo se describió como un " bus de software ", [ 29 ] [ 30 ] que permitía que múltiples programas interactuaran con diferentes hardware de forma estandarizada. [ 31 ] Los programas escritos para CP/M eran típicamente portátiles entre diferentes máquinas, generalmente requiriendo solo la especificación de las secuencias de escape para el control de la pantalla y la impresora. Esta portabilidad hizo popular a CP/M, y se escribió mucho más software para CP/M que para sistemas operativos que se ejecutaban en una sola marca de hardware. Una restricción a la portabilidad era que ciertos programas utilizaban el conjunto de instrucciones extendido del Z80.El procesador y no funcionaría en un procesador 8080 o 8085. Otro problema eran las rutinas gráficas, especialmente en juegos y programas gráficos, que generalmente eran específicas de la máquina, ya que utilizaban acceso directo al hardware para mayor velocidad, omitiendo el sistema operativo y la BIOS (este también era un problema común en las primeras máquinas DOS).

Bill Gates afirmó que el Apple II con una SoftCard Z-80 era la plataforma de hardware CP/M más popular. [ 32 ] Digital Research declaró en 1982 que el sistema operativo había sido licenciado para más de 450 tipos de sistemas informáticos. [ 33 ] Muchas marcas de máquinas ejecutaban el sistema operativo, algunos ejemplos notables son el Altair 8800 , el IMSAI 8080 , los portátiles Osborne 1 y Kaypro , y las computadoras MSX . El sistema con capacidad CP/M más vendido de todos los tiempos fue probablemente el Amstrad PCW . En el Reino Unido, CP/M también estaba disponible en las computadoras educativas Research Machines (con el código fuente de CP/M publicado como recurso educativo), y para el BBC Micro cuando estaba equipado con un coprocesador Z80. Además, estaba disponible para la serie Amstrad CPC , el Commodore 128 , el TRS-80 y modelos posteriores del ZX Spectrum . CP/M 3 también se utilizó en el NIAT, un ordenador de mano personalizado diseñado para uso interno de AC Nielsen con 1 MB de memoria SSD .  

Multiusuario

En 1979 se lanzó una versión multiusuario de CP/M. MP/M permitía que varios usuarios se conectaran a un mismo ordenador, utilizando múltiples terminales para proporcionar a cada usuario una pantalla y un teclado. Las versiones posteriores funcionaban con procesadores de 16 bits.

CP/M Plus

Guía del sistema CP/M Plus (CP/M 3)

La última versión de 8 bits de CP/M fue la versión 3, a menudo llamada CP/M  Plus, lanzada en 1983. [ 21 ] Su BDOS fue diseñado por David K. Brown. [ 21 ] Incorporaba la gestión de memoria de conmutación de bancos de MP/M en un sistema operativo de un solo usuario y una sola tarea compatible con  las aplicaciones de CP/M 2.2. Por lo tanto, CP/M  3 podía usar más de 64  KB de memoria en un procesador 8080 o Z80. El sistema podía configurarse para admitir el marcado de fecha de los archivos. [ 21 ] El software de distribución del sistema operativo también incluía un ensamblador y un enlazador reubicables. [ 2 ] CP/M  3 estaba disponible para la última generación de computadoras domésticas de 8 bits, en particular la Amstrad PCW, la Amstrad CPC , la ZX Spectrum +3 , la Commodore 128 , las máquinas MSX y la Radio Shack TRS-80 Modelo 4. [ 34 ]

versiones de 16 bits

Distribución en disquete DEC PRO-CP/M-80 para el coprocesador Z80-A en una serie DEC Professional 3xx.

También existían versiones de CP/M para algunos procesadores de 16 bits .

La primera versión de la familia de 16 bits fue CP/M-86 para el Intel 8086 en noviembre de 1981. [ 35 ] Kathryn Strutynski fue la directora del proyecto para la línea de sistemas operativos CP/M-86 en evolución. [ 21 ] [ 22 ] En este punto, el CP/M original de 8 bits pasó a ser conocido con el retrónimo CP/M-80 para evitar confusiones. [ 35 ]

Se esperaba que CP/M-86 fuera el sistema operativo estándar de las nuevas PC de IBM , pero DRI e IBM no lograron llegar a un acuerdo sobre los términos de desarrollo y licencia. En su lugar, IBM recurrió a Microsoft, y Microsoft lanzó PC DOS basado en 86-DOS . Si bien CP/M-86 se convirtió en una opción para la PC de IBM después de que DRI amenazara con emprender acciones legales, nunca superó al sistema de Microsoft. La mayoría de los clientes se sintieron repelidos por el precio significativamente mayor que IBM cobraba por CP/M-86 en comparación con PC DOS ( US$ 240 y US$ 40 , respectivamente). [ 36 ]

Cuando Digital Equipment Corporation (DEC) lanzó el Rainbow 100 para competir con IBM, venía con CP/M-80 usando un chip Z80, CP/M-86 o MS-DOS usando un microprocesador 8088, o CP/M-86/80 usando ambos. Las CPU Z80 y 8088 funcionaban simultáneamente. [ 37 ] [ 38 ] Una ventaja del Rainbow era que podía seguir ejecutando software CP/M de 8 bits, preservando la posible inversión considerable de un usuario al pasar al mundo de 16 bits de MS-DOS. [ 37 ] Una adaptación similar de doble procesador para el CompuPro System 816 se denominó CP/M 8-16 . La adaptación CP/M-86 para el Zenith Z-100 basado en 8085/8088 también admitía la ejecución de programas para sus dos CPU.

Poco después de CP/M-86, apareció otra versión de 16 bits de CP/M, CP/M-68K, para el Motorola 68000. La versión original de CP/M-68K, de 1982, estaba escrita en Pascal/MT+68k , pero posteriormente se adaptó a C. CP/M-68K, que ya funcionaba en los sistemas Motorola EXORmacs , iba a utilizarse inicialmente en el ordenador Atari ST , pero Atari optó por un sistema operativo de disco más moderno llamado GEMDOS . CP/M-68K también se utilizó en los ordenadores SORD M68 y M68MX. [ 39 ]

En 1982, también hubo una adaptación de CP/M-68K al Zilog Z8000 de 16 bits para el Olivetti M20 , escrita en C , llamada CP/M-8000 . [ 40 ] [ 41 ]

Estas versiones de 16 bits de CP/M requerían que los programas de aplicación se recompilaran para las nuevas CPU. Algunos programas escritos en lenguaje ensamblador podían traducirse automáticamente para un nuevo procesador. Una herramienta para esto era XLT86 de Digital Research , que traducía el código fuente .ASM del procesador Intel 8080 al código fuente .A86 del Intel 8086. El traductor también optimizaba la salida en cuanto al tamaño del código y se encargaba de las convenciones de llamada, de modo que los programas CP/M-80 y MP/M-80 podían portarse automáticamente a las plataformas CP/M-86 y MP/M-86 . XLT86 estaba escrito en PL/I-80 y estaba disponible para las plataformas CP/M-80, así como para VAX/VMS . [ 42 ]

Desplazamiento por MS-DOS

A principios de la década de 1980, se estimaba que existían 2000 aplicaciones de CP/M, [ 43 ] muchas más que para sistemas operativos propietarios como HDOS. [ 44 ] Muchos esperaban que CP/M se convirtiera en el sistema operativo estándar para computadoras de 16 bits. [ 45 ] En 1980, IBM se acercó a Digital Research, por sugerencia de Bill Gates , [ 46 ] para obtener la licencia de una próxima versión de CP/M para su nuevo producto, la IBM Personal Computer. Al no lograrse un acuerdo unilateral de confidencialidad firmado , las negociaciones fracasaron e IBM contrató a Microsoft para que le proporcionara un sistema operativo. [ 47 ]

Muchos de los conceptos y mecanismos básicos de las primeras versiones de MS-DOS se asemejan a los de CP/M. Los aspectos internos, como las estructuras de datos para el manejo de archivos, son idénticos, y ambos se refieren a las unidades de disco con una letra ( A:, B:, etc.). La principal innovación de MS-DOS fue su sistema de archivos FAT . Esta similitud facilitó la adaptación de software popular de CP/M como WordStar y dBase . Sin embargo, el concepto de CP/M de áreas de usuario separadas para archivos en el mismo disco nunca se adaptó a MS-DOS. Dado que MS-DOS tiene acceso a más memoria (ya que pocos PC de IBM se vendieron con menos de 64  KB de memoria, mientras que CP/M puede ejecutarse en 16  KB si es necesario), se incorporan más comandos en la línea de comandos , lo que hace que MS-DOS sea algo más rápido y fácil de usar en computadoras con disquetes.

Aunque uno de los primeros periféricos para el IBM PC fue la tarjeta Baby Blue, una tarjeta de expansión similar a SoftCard que permite al PC ejecutar software CP/M de 8 bits como WordStar que aún no estaba disponible para él, [ 43 ] y BYTE en 1982 describió MS-DOS y CP/M como David y Goliat , la revista afirmó que MS-DOS era "mucho más fácil de usar, más rápido, con muchas más ventajas y menos desventajas". [ 33 ] InfoWorld afirmó en 1984 que los esfuerzos para introducir CP/M en el mercado doméstico habían sido en gran medida infructuosos y que la mayoría del software CP/M era demasiado caro para los usuarios domésticos. [ 48 ] En 1986 la revista afirmó que Kaypro había dejado de producir modelos basados ​​en CP/M de 8 bits para concentrarse en las ventas de sistemas compatibles con MS-DOS, mucho después de que la mayoría de los demás proveedores hubieran cesado la producción de nuevos equipos y software para CP/M. [ 49 ] CP/M perdió rápidamente cuota de mercado a medida que el mercado de la microcomputación se desplazaba hacia la plataforma compatible con IBM, y nunca recuperó su popularidad anterior. La revista Byte , una de las principales publicaciones del sector de las microcomputadoras, dejó de cubrir los productos CP/M a los pocos años de la introducción del IBM PC. Por ejemplo, en 1983 todavía había algunos anuncios de placas S-100 y artículos sobre software CP/M, pero en 1987 ya no se encontraban en la revista.

Las versiones posteriores de CP/M-86 supusieron avances significativos en rendimiento y facilidad de uso, y se hicieron compatibles con MS-DOS. Para reflejar esta compatibilidad, se cambió el nombre y CP/M-86 pasó a llamarse DOS Plus , que a su vez se convirtió en DR-DOS .

ZCPR

ZCPR [ 50 ] (el procesador de comandos de reemplazo del Z80) se presentó el 2 de febrero de 1982 como un reemplazo directo para el procesador de comandos de consola (CCP) estándar de Digital Research y fue escrito inicialmente por un grupo de aficionados a la informática que se hacían llamar "The CCP Group". Eran Frank Wancho, Keith Petersen (el archivista detrás de Simtel en ese momento), Ron Fowler, Charlie Strom, Bob Mathias y Richard Conn. Richard era, de hecho, la fuerza impulsora de este grupo (todos ellos mantenían contacto por correo electrónico).

ZCPR1 se lanzó en un disco publicado por SIG/M (Special Interest Group/Microcomputers), que forma parte del Amateur Computer Club de Nueva Jersey .

ZCPR2 se lanzó el 14 de febrero de 1983. SIG/M lo distribuyó en un conjunto de diez discos. ZCPR2 se actualizó a la versión 2.3 y también se lanzó en código para el procesador 8080, lo que permitió su uso en sistemas 8080 y 8085.

Conn y Frank Gaude fundaron Echelon Inc. para publicar la siguiente versión de ZCPR como producto comercial, aunque continuaron distribuyéndola como software libre. [ 51 ] ZCPR3 [ 52 ] se lanzó el 14 de julio de 1984, como un conjunto de nueve discos de SIG/M. El código de ZCPR3 también podía compilarse (con funciones reducidas) para el 8080 y se ejecutaba en sistemas que no contaban con el microprocesador Z80 necesario . Las características de ZCPR a partir de la versión 3 incluían shells, alias, redirección de E/S, control de flujo, directorios con nombre, rutas de búsqueda, menús personalizados, contraseñas y ayuda en línea. En enero de 1987, Richard Conn dejó de desarrollar ZCPR, y Echelon le pidió a Jay Sage (quien ya tenía una versión mejorada privada de ZCPR 3.1) que continuara trabajando en ella. Así, se desarrolló y lanzó ZCPR 3.3. ZCPR 3.3 dejó de ser compatible con los microprocesadores de la serie 8080 e incorporó la mayor cantidad de funciones de todas las actualizaciones de la línea ZCPR. Además, incluía un conjunto completo de utilidades con capacidades considerablemente ampliadas. Si bien contó con el entusiasta apoyo de la comunidad de usuarios de CP/M de la época, ZCPR por sí solo no fue suficiente para frenar la desaparición de CP/M.

Modelo de hardware

Ordenador Sanco 8001, funcionando con CP/M 2.2 (1982)
Cartucho CP/M para el Commodore 64

Un sistema CP/M mínimo de 8 bits contendría los siguientes componentes:

  • Un terminal de computadora que utiliza el conjunto de caracteres ASCII.
  • Un microprocesador Intel 8080 (y posteriormente el 8085) o Zilog Z80.
    • Los procesadores NEC V20 y V30 admiten un modo de emulación 8080 que puede ejecutar CP/M de 8 bits en un ordenador PC-DOS/MS-DOS equipado con dicho modo, aunque cualquier clon de PC podría ejecutar CP/M-86. [ 53 ] [ 54 ]
  • Al menos 16 kilobytes de RAM , comenzando en la dirección 0.
  • Un método para arrancar el primer sector del disquete.
  • Al menos una unidad de disquete

El único sistema de hardware compatible con CP/M, tal como lo comercializaba Digital Research, era el sistema de desarrollo Intel 8080. Los fabricantes de sistemas compatibles con CP/M personalizaban partes del sistema operativo para adaptarlas a su propia combinación de memoria instalada, unidades de disco y dispositivos de consola. CP/M también funcionaba en sistemas basados ​​en el procesador Zilog Z80, ya que este era compatible con el código del 8080. Si bien el núcleo distribuido de CP/M de Digital Research (BDOS, CCP, comandos transitorios del núcleo) no utilizaba ninguna de las instrucciones específicas del Z80, muchos sistemas basados ​​en el Z80 utilizaban código del Z80 en la BIOS específica del sistema, y ​​muchas aplicaciones estaban dedicadas a máquinas CP/M basadas en el Z80.

Digital Research se asoció posteriormente con Zilog y American Microsystems para producir Personal CP/M, una versión del sistema operativo basada en ROM destinada a sistemas de menor costo que potencialmente podrían equiparse sin unidades de disco. [ 55 ] Presentado por primera vez en el Sharp MZ-800, un sistema basado en casete con unidades de disco opcionales, [ 56 ] Personal CP/M fue descrito como "reescrito para aprovechar el conjunto de instrucciones Z-80 mejorado" en lugar de preservar la portabilidad con el 8080. American Microsystems anunció un microprocesador compatible con Z80, el S83, que presentaba 8  KB de ROM en el paquete para el sistema operativo y la BIOS, junto con una lógica completa para la interfaz con dispositivos de RAM dinámica de 64 kilobits. [ 57 ] El precio unitario del S83 se cotizó en $32 en cantidades de 1000 unidades. [ 58 ]

En la mayoría de las máquinas, el arranque consistía en un cargador de arranque mínimo en la ROM combinado con algún método de conmutación de bancos mínimos o un método para inyectar código en el bus (ya que el 8080 necesita ver el código de arranque en la dirección 0 para el inicio, mientras que CP/M necesita RAM allí); en otras, este arranque debía introducirse en la memoria mediante los controles del panel frontal cada vez que se iniciaba el sistema.

CP/M utilizaba el conjunto ASCII de 7 bits. Los otros 128 caracteres, posibles gracias al byte de 8 bits, no estaban estandarizados. Por ejemplo, una máquina Kaypro los utilizaba para caracteres griegos, y las máquinas Osborne empleaban el octavo bit para indicar un carácter subrayado. WordStar utilizaba el octavo bit como marcador de fin de palabra. Los sistemas CP/M internacionales solían emplear la norma ISO 646 para conjuntos de caracteres localizados, sustituyendo ciertos caracteres ASCII por caracteres localizados en lugar de añadirlos más allá del límite de 7 bits.

Componentes

Mientras se ejecuta, el sistema operativo CP/M cargado en la memoria tiene tres componentes: [ 3 ] [ 59 ] : 2 [ 60 ] : 1 [ 61 ] : 3, 4–5 [ 62 ] : 1-4–1-6

  • Sistema Básico de Entrada/Salida (BIOS),
  • Sistema Operativo Básico de Disco (BDOS),
  • Procesador de comandos de consola (CCP).

La BIOS y el BDOS residen en la memoria, al igual que el CCP, salvo que una aplicación lo sobrescriba, en cuyo caso se recarga automáticamente una vez finalizada la ejecución de la aplicación. También se proporcionan varios comandos transitorios para utilidades estándar. Estos comandos transitorios se encuentran en archivos con la extensión .COM en el disco.

La BIOS controla directamente los componentes de hardware, excepto la CPU y la memoria principal. Incluye funciones como la entrada y salida de caracteres y la lectura y escritura de sectores de disco. El BDOS implementa el sistema de archivos de CP/M y algunas abstracciones de entrada/salida (como la redirección) sobre la BIOS. El CCP recibe comandos del usuario y los ejecuta directamente (comandos internos como DIR para mostrar un directorio o ERA para eliminar un archivo) o carga e inicia un archivo ejecutable con el nombre especificado (comandos transitorios como PIP.COM para copiar archivos o STAT.COM para mostrar diversa información del sistema y de los archivos). Las aplicaciones de terceros para CP/M también son esencialmente comandos transitorios.

Los comandos BDOS, CCP y los comandos transitorios estándar son los mismos en todas las instalaciones de una revisión particular de CP/M, pero la parte del BIOS siempre se adapta al hardware específico.

Agregar memoria a una computadora, por ejemplo, significa que el sistema CP/M debe reinstalarse para permitir que los programas transitorios utilicen el espacio de memoria adicional. Se proporciona un programa de utilidad (MOVCPM) con la distribución del sistema que permite reubicar el código objeto en diferentes áreas de memoria. El programa de utilidad ajusta las direcciones en las instrucciones de salto absoluto y llamada a subrutina a las nuevas direcciones requeridas por la nueva ubicación del sistema operativo en la memoria del procesador. Esta versión parcheada se puede guardar en un nuevo disco, lo que permite que los programas de aplicación accedan a la memoria adicional disponible al mover los componentes del sistema. Una vez instalado, el sistema operativo (BIOS, BDOS y CCP) se almacena en áreas reservadas al principio de cualquier disco que se pueda usar para arrancar el sistema. Al arrancar, el cargador de arranque (generalmente contenido en un chip de firmware ROM) carga el sistema operativo desde el disco en la unidad A:.

Según los estándares actuales, CP/M es primitivo debido a las extremas limitaciones de tamaño del programa. La versión 1.0 no permite detectar el cambio de disco. Si un usuario cambia de disco sin leer manualmente su directorio, el sistema escribe en el nuevo disco utilizando la información del directorio del disco anterior, lo que provoca la pérdida de los datos almacenados. A partir de la versión 1.1 o 1.2, cambiar de disco e intentar escribir en él antes de leer su directorio generará un error fatal. Esto evita sobrescribir el disco, pero requiere reiniciar el sistema y conlleva la pérdida de los datos almacenados.

La mayor parte de la complejidad de CP/M reside en el BDOS y, en menor medida, en el CCP y los comandos transitorios. Esto significaba que, al portar el número limitado de rutinas sencillas de la BIOS a una plataforma de hardware específica, todo el sistema operativo funcionaría. Esto redujo significativamente el tiempo de desarrollo necesario para dar soporte a nuevas máquinas y fue una de las principales razones de la amplia difusión de CP/M. Hoy en día, este tipo de abstracción es común en la mayoría de los sistemas operativos (una capa de abstracción de hardware ), pero en la época en que nació CP/M, los sistemas operativos solían estar diseñados para ejecutarse en una sola plataforma, y ​​los diseños multicapa se consideraban innecesarios.

Procesador de comandos de consola

Captura de pantalla que muestra una lista de directorios de CP/M 3.0 usando el DIRcomando en una computadora doméstica Commodore 128

El procesador de comandos de consola (CCP) acepta la entrada del teclado y transmite los resultados a la terminal. CP/M funciona con una terminal de impresión o una terminal de vídeo. Todos los comandos de CP/M deben escribirse en la línea de comandos . La consola suele mostrar el A>indicador para indicar la unidad de disco predeterminada actual. Cuando se utiliza con una terminal de vídeo, este indicador suele ir seguido de un cursor parpadeante proporcionado por la terminal. El CCP espera la entrada del usuario. Se puede utilizar un comando interno del CCP, con el formato letra de unidad seguida de dos puntos, para seleccionar la unidad predeterminada. Por ejemplo, escribir B:y pulsar Intro en el indicador de comandos cambia la unidad predeterminada a B, y el indicador de comandos se convierte entonces en B>para indicar este cambio.

La interfaz de línea de comandos de CP/M se basó en el Lenguaje de Comandos Conciso (CDL) utilizado en sistemas operativos de Digital Equipment , como RT-11 para el PDP-11 y OS/8 para el PDP-8 . Los comandos consisten en una palabra clave seguida de una lista de parámetros separados por espacios o caracteres especiales. De forma similar a un comando interno de la shell de Unix , si se reconoce un comando interno, el CCP lo ejecuta. De lo contrario, intenta encontrar un archivo ejecutable en la unidad de disco actualmente conectada y (en versiones posteriores) en el área de usuario, lo carga y le pasa los parámetros adicionales de la línea de comandos. Estos se denominan programas "transitorios". Al finalizar, BDOS recarga el CCP si ha sido sobrescrito por programas de aplicación; esto permite a los programas transitorios disponer de un mayor espacio de memoria.

Los comandos en sí mismos a veces pueden resultar confusos. Por ejemplo, el comando para duplicar archivos se llama PIP(Peripheral-Interchange-Program), el nombre de la antigua utilidad DEC utilizada para tal fin. El formato de los parámetros que se le pasan a un programa no estaba estandarizado, por lo que no existe un único carácter que diferencie las opciones de los nombres de archivo. Los distintos programas pueden usar, y de hecho usan, caracteres diferentes.

El procesador de comandos de la consola CP/M incluye DIR , ERA , REN , SAVE , TYPE y USER como comandos integrados . [ 63 ] Los comandos transitorios en CP/M incluyen ASM , DDT , DUMP , ED , LOAD , MOVCPM , PIP , STAT , SUBMIT y SYSGEN . [ 63 ]

CP/M Plus (CP/M Versión 3) incluye DIR (muestra la lista de archivos de un directorio excepto aquellos marcados con el atributo SYS), DIRSYS / DIRS (lista los archivos marcados con el atributo SYS en el directorio), ERASE / ERA (elimina un archivo), RENAME / REN (cambia el nombre de un archivo), TYPE / TYP (muestra el contenido de un archivo de caracteres ASCII) y USER / USE (cambia el número de usuario) como comandos integrados: [ 64 ] CP/M 3 permite al usuario abreviar los comandos integrados. [ 65 ] Los comandos transitorios en CP/M 3 incluyen COPYSYS , DATE , DEVICE , DUMP , ED , GET , HELP , HEXCOM , INITDIR , LINK , MAC , PIP, PUT , RMAC , SET , SETDEF , SHOW , SID , SUBMIT y XREF . [ 65 ]

Sistema operativo básico de disco

El Sistema Operativo Básico de Disco, [ 15 ] [ 14 ] o BDOS, [ 15 ] [ 14 ] proporciona acceso a operaciones como abrir un archivo, mostrar información en la consola o imprimir. Los programas de aplicación cargan los registros del procesador con un código de función para la operación y direcciones para parámetros o búferes de memoria , y llaman a una dirección fija en la memoria. Dado que la dirección es la misma independientemente de la cantidad de memoria en el sistema, los programas de aplicación se ejecutan de la misma manera para cualquier tipo o configuración de hardware.

Sistema básico de entrada/salida

Anuncio de CP/M en la edición del 11 de diciembre de 1978 de la revista InfoWorld.

El Sistema Básico de Entrada/Salida o BIOS, [ 15 ] [ 14 ] proporciona las funciones de nivel más bajo requeridas por el sistema operativo.

Estas operaciones incluyen la lectura y escritura de caracteres individuales en la consola del sistema, así como la lectura y escritura de un sector de datos del disco. El BDOS gestiona parte del almacenamiento en búfer de datos del disquete, pero antes de CP/M  3.0 asumía un tamaño de sector de disco fijo de 128 bytes, como el que se utilizaba en los disquetes de 8 pulgadas de densidad simple . Dado que la mayoría de los formatos de disco de 5,25 pulgadas utilizan sectores más grandes, el bloqueo y desbloqueo, así como la gestión del área de búfer del disco, se gestionan mediante código específico del modelo en la BIOS.

La personalización es necesaria porque las opciones de hardware no están limitadas por la compatibilidad con ningún estándar popular. Por ejemplo, algunos fabricantes diseñaron sistemas de visualización de vídeo integrados, mientras que otros recurrieron a terminales de ordenador independientes. Los puertos serie para impresoras y módems pueden usar diferentes tipos de chips UART , y las direcciones de puerto no son fijas. Algunas máquinas utilizan E/S mapeadas en memoria en lugar del espacio de direcciones de E/S del 8080. Todas estas variaciones en el hardware se ocultan a otros módulos del sistema mediante el uso de la BIOS, que utiliza puntos de entrada estándar para los servicios necesarios para ejecutar CP/M, como la E/S de caracteres o el acceso a un bloque de disco. Dado que la compatibilidad con la comunicación serie a un módem es muy rudimentaria en la BIOS o puede estar completamente ausente, es práctica común que los programas CP/M que utilizan módems tengan una superposición instalada por el usuario que contenga todo el código necesario para acceder al puerto serie de una máquina en particular.

Aplicaciones

Distribución de disquetes de 5 + 1/4 pulgadas y embalaje para la última versión (versión 4) del programa de procesamiento de textos WordStar lanzado para CP/M de 8 bits .

WordStar, uno de los primeros procesadores de texto ampliamente utilizados , y dBase , un programa de base de datos temprano y popular para microcomputadoras, fueron escritos originalmente para CP/M. Dos de los primeros esquematizadores , KAMAS (Knowledge and Mind Amplification System) y su sucesor reducido Out-Think (sin funciones de programación y adaptado para la compatibilidad con 8080/V20), también fueron escritos para CP/M, aunque posteriormente se reescribieron para MS-DOS. Turbo Pascal , el antecesor de Borland Delphi , y Multiplan , el antecesor de Microsoft Excel , también debutaron en CP/M antes de que estuvieran disponibles las versiones para MS-DOS. VisiCalc , el primer programa de hoja de cálculo de la historia, estuvo disponible para CP/M. Otra compañía, Sorcim , creó su hoja de cálculo SuperCalc para CP/M, que se convertiría en el líder del mercado y el estándar de facto en CP/M. SuperCalc se convertiría en un competidor en el mercado de hojas de cálculo en el mundo de MS-DOS. AutoCAD , una aplicación CAD de Autodesk, debutó en CP/M. Había una gran cantidad de compiladores e intérpretes para lenguajes de programación populares de la época (como BASIC , Turbo Pascal de Borland , FORTRAN e incluso PL/I [ 66 ] ), entre ellos varios de los primeros productos de Microsoft .

El software CP/M suele venir con instaladores que lo adaptan a una amplia variedad de ordenadores. [ 67 ] Por ejemplo, un propietario de una Kaypro II obtendría el software en formato Xerox 820, lo copiaría a discos en formato Kaypro y lo ejecutaría desde ellos. [ 68 ] El código fuente de los programas BASIC es fácilmente accesible, y la mayoría de las formas de protección contra copia son ineficaces en el sistema operativo. [ 69 ] Si bien los programas protegidos contra copia para sistemas operativos contemporáneos suelen utilizar formatos de disco no estándar que otro software no puede leer, los usuarios de CP/M esperan compatibilidad entre diferentes programas para sus archivos; un disco ilegible, por definición, no está en formato CP/M. [ 70 ]

La falta de soporte gráfico estandarizado limitó los videojuegos , pero se portaron varios juegos de personajes y basados ​​en texto , como Telengard , [ 71 ] Gorillas , [ 72 ] Hamurabi , Lunar Lander , junto con las primeras ficción interactiva, incluyendo la serie Zork y Colossal Cave Adventure . El especialista en aventuras de texto Infocom fue uno de los pocos editores que lanzó consistentemente sus juegos en formato CP/M. Lifeboat Associates comenzó a recopilar y distribuir software "gratuito" escrito por usuarios. Uno de los primeros fue XMODEM , que permitía transferencias de archivos confiables a través de módem y línea telefónica. Otro programa nativo de CP/M fue el procesador de esquemas KAMAS.

Área del Programa de Transitorios

En la versión original de CP/M para los procesadores 8080, 8085 y Z80, la memoria de lectura/escritura entre la dirección hexadecimal 0100 y la ubicación justo antes de la dirección almacenada en 0006H (la dirección más baja del BDOS) es el Área de Programa Transitorio (TPA) disponible para los programas de aplicación de CP/M. [ 59 ] : 2, 233 Aunque todos los procesadores Z80 y 8080 podían direccionar 64 kilobytes de memoria, la cantidad disponible para los programas de aplicación podía variar, dependiendo del diseño de la computadora en particular. Algunas computadoras usaban grandes partes del espacio de direcciones para cosas como ROMs de BIOS o memoria de visualización de video. Como resultado, algunos sistemas tenían más memoria TPA disponible que otros. La conmutación de bancos era una técnica común que permitía a los sistemas tener una TPA grande mientras cambiaban el espacio de memoria ROM o de video según fuera necesario. CP/M  3.0 también permitía que partes del BDOS estuvieran en memoria conmutada por bancos.

Depuración de la aplicación

CP/M incluía una herramienta de depuración dinámica, apodada DDT (por el insecticida, es decir, un eliminador de insectos ), que permitía examinar y manipular la memoria y los módulos del programa, y ​​ejecutar un programa paso a paso. [ 73 ] [ 74 ] [ 75 ]

Programas de residencia

CP/M originalmente no admitía el equivalente a los programas de terminación y permanencia residente (TSR) como en DOS. Los programadores podían escribir software que podía interceptar ciertas llamadas del sistema operativo y extender o modificar su funcionalidad. Usando esta capacidad, los programadores desarrollaron y vendieron programas auxiliares de escritorio , como SmartKey , una utilidad de teclado para asignar cualquier cadena de bytes a cualquier tecla. [ 76 ] CP/M  3, sin embargo, agregó soporte para extensiones de sistema residente (RSX) de carga dinámica . [ 64 ] [ 21 ] Se podía usar un llamado archivo de comando nulo para permitir que CCP cargara un RSX sin un programa transitorio. [ 64 ] [ 21 ] Soluciones similares como RSM (por Módulos de Sistema Residente ) también fueron adaptadas a los sistemas CP/M 2.2 por terceros. [ 77 ] [ 78 ] [ 79 ] 

Instalación del software

Aunque CP/M proporciona cierta abstracción de hardware para estandarizar la interfaz de E/S de disco o de consola, los programas de aplicación suelen requerir instalación para utilizar todas las funciones de equipos como impresoras y terminales. A menudo, estas funciones se controlan mediante secuencias de escape que deben modificarse para cada dispositivo. Por ejemplo, la secuencia de escape para seleccionar negrita en una impresora varía entre fabricantes, e incluso entre modelos de un mismo fabricante. Este procedimiento no está definido por el sistema operativo; el usuario suele ejecutar un programa de instalación que permite seleccionar entre una gama de dispositivos o bien editar, función por función, las secuencias de escape necesarias para acceder a una función. Este proceso debe repetirse para cada programa de aplicación, ya que no existe un servicio centralizado del sistema operativo para estos dispositivos.

Los códigos de inicialización para cada modelo de impresora deben estar integrados en la aplicación. Para usar un programa como Wordstar con más de una impresora (por ejemplo, una impresora matricial rápida o una impresora de margarita más lenta pero con calidad de presentación ), se debe preparar una versión independiente de Wordstar, y el usuario debe cargar la versión correspondiente a la impresora seleccionada (y deberá salir y volver a abrir el programa para cambiar de impresora).

Que un software de instalación indique compatibilidad con un ordenador o terminal específico no significa que todas sus funciones sean compatibles. En una evaluación de 1983 de ocho hojas de cálculo para ordenadores Heath/Zenith, el crítico de Sextant señaló que la mayoría requería personalización para poder utilizar plenamente el teclado de su terminal. Se preguntó: «Simplemente no entiendo por qué la mayoría de los fabricantes piensan que el H19 solo tiene 36 teclas y una tecla CTRL enorme». [ 80 ]

Juegos de vídeo

En esta lista se incluyen 53 juegos comerciales de CP/M en disquetes de 8 pulgadas.

Formatos de disco

El formato de 128 bytes/sector, densidad simple y una sola cara de los sistemas IBM System/34 e IBM 3740 es el formato estándar de disquete de 8 pulgadas de CP/M . No existe un formato estándar de disco de 5,25 pulgadas para CP/M, ya que Kaypro, Morrow Designs , Osborne y otros utilizan cada uno el suyo propio. [ 87 ] [ 88 ] [ 25 ] [ 89 ] [ 70 ] Ciertos formatos eran más populares que otros. La mayoría del software estaba disponible en el formato Xerox 820, y otros ordenadores como el Kaypro II eran compatibles con él. [ 68 ] [ 90 ] Por el contrario, un propietario de Heath se quejó en 1983 de que pocos proveedores ofrecían software en discos Heath de 5,25 pulgadas "y muchos de los que lo hacían, lo hacían de forma intermitente". [ 91 ]

InfoWorld estimó en septiembre de 1981 que "alrededor de dos docenas de formatos eran lo suficientemente populares como para que los creadores de software tuvieran que considerarlos para llegar al mercado más amplio posible". [ 23 ] JRT Pascal , por ejemplo, proporcionó versiones en disco de 5,25 pulgadas para North Star , Osborne, Apple, Heath/Zenith ( sector duro y sector blando) y Superbrain , y una versión de 8 pulgadas. [ 92 ] Ellis Computing también ofreció su software para ambos formatos Heath y otros 16 formatos de 5,25 pulgadas, incluidas dos modificaciones diferentes de TRS-80 CP/M. [ 93 ] A partir de 1984Infocom publicó sus juegos para cinco sistemas CP/M diferentes y para CP/M genérico en disquete de 8 pulgadas. [ 83 ] Lifetree y otros distribuidores de software también convirtieron aplicaciones CP/M a varios sistemas. [ 94 ]

Se utilizaron diversos formatos según las características de cada sistema y, en cierta medida, las preferencias de los diseñadores. CP/M admite opciones para controlar el tamaño de las áreas reservadas y de directorio en el disco, así como la correspondencia entre los sectores lógicos del disco (tal como los ven los programas de CP/M) y los sectores físicos asignados en el disco. Existen muchas maneras de personalizar estos parámetros para cada sistema [ 95 ] , pero una vez configurados, no existe un método estandarizado para que un sistema cargue parámetros desde un disco formateado en otro sistema.

Si bien casi todos los sistemas CP/M con unidades de 8 pulgadas pueden leer el formato IBM de una sola cara y una sola densidad mencionado anteriormente, para otros formatos el grado de portabilidad entre diferentes máquinas CP/M depende del tipo de unidad de disco y controlador utilizado, ya que existían muchos tipos diferentes de disquetes en la era CP/M en tamaños de 8 pulgadas y 5,25 pulgadas. [ 88 ] Los discos pueden ser de sector duro o blando, de densidad simple o doble, de una o dos caras, de 35 pistas, 40 pistas, 77 pistas u 80 pistas, y la disposición del sector, el tamaño y el entrelazado también pueden variar ampliamente. Aunque los programas de traducción pueden permitir al usuario leer tipos de discos de diferentes máquinas, el tipo de unidad y el controlador también son factores. Para 1982, los discos de 5,25 pulgadas, de una sola cara, de 40 pistas y sector blando se habían convertido en el formato más popular para distribuir software CP/M, ya que eran utilizados por las computadoras de consumo más comunes de la época, como la Apple II, la TRS-80, la Osborne 1, la Kaypro II y la IBM PC. Un programa de traducción permite al usuario leer cualquier disco de formato similar en su máquina; por ejemplo, la Kaypro II puede leer discos TRS-80 , Osborne , IBM PC y Epson . Otros tipos de discos, como los de 80 pistas o de sector duro, son completamente imposibles de leer. La primera mitad de los discos de doble cara (como los de la Epson QX-10) se puede leer porque CP/M accedía a las pistas del disco de forma secuencial, siendo la pista 0 la primera (la más externa) de la cara 1 y la pista 79 (en un disco de 40 pistas) la última (la más interna) de la cara 2. Los usuarios de Apple II solo pueden usar el formato GCR de Apple, por lo que deben obtener el software CP/M en discos con formato Apple o transferirlo mediante un enlace serie.

La fragmentación del mercado de CP/M, que obligaba a los distribuidores a almacenar discos en múltiples formatos o a invertir en equipos de duplicación multiformato, en comparación con los formatos de disco más estandarizados de los PC de IBM , fue un factor que contribuyó a la rápida obsolescencia de CP/M después de 1981.

Una de las últimas máquinas notables compatibles con CP/M que apareció fue la Commodore 128 en 1985, que contaba con un procesador Z80 para la compatibilidad con CP/M, además de su modo nativo que utilizaba una CPU derivada del 6502. Para usar CP/M se requería una unidad de disquete 1571 o 1581 que pudiera leer disquetes de formato MFM de 40 pistas con sector flexible .

El primer ordenador en utilizar una unidad de disquete de 3,5 pulgadas, el Sony SMC-70 , [ 96 ] ejecutaba CP/M  2.2. El Commodore 128, el portátil Bondwell-2 , el Micromint/Ciarcia SB-180, [ 97 ] el MSX y el TRS-80 Modelo 4 (que ejecutaba Montezuma CP/M  2.2) también admitían el uso de CP/M con disquetes de 3,5 pulgadas. CP/AM, la versión de CP/M de Applied Engineering para el Apple II, también admitía discos de 3,5 pulgadas (así como discos RAM en tarjetas RAM compatibles con la tarjeta de expansión de memoria del Apple II). [ 98 ] El Amstrad PCW ejecutaba CP/M utilizando unidades de disquete de 3 pulgadas al principio, y más tarde cambió a unidades de 3,5 pulgadas.

Sistema de archivos

Los nombres de archivo se especificaban como una cadena de hasta ocho caracteres, seguida de un punto y una extensión de archivo de hasta tres caracteres ( formato de nombre de archivo "8.3" ). La extensión generalmente identificaba el tipo de archivo. Por ejemplo, .COMindicaba un archivo de programa ejecutable, y .TXTun archivo que contenía texto ASCII . Los caracteres de los nombres de archivo introducidos en la línea de comandos se convertían a mayúsculas, pero el sistema operativo no aplicaba esta conversión. Algunos programas ( MBASIC es un ejemplo notable) podían crear nombres de archivo con letras minúsculas, que luego no se podían referenciar fácilmente desde la línea de comandos.

Cada unidad de disco se identificaba mediante una letra de unidad , por ejemplo, unidad Ay unidad B. Para referirse a un archivo en una unidad específica, se anteponía la letra de unidad al nombre del archivo, separada por dos puntos, por ejemplo, A:FILE.TXT. Si no se anteponía ninguna letra de unidad, el acceso se realizaba a los archivos en la unidad predeterminada actual. [ 99 ]

El tamaño del archivo se especificaba como el número de registros de 128 bytes (que correspondían directamente a los sectores de disco en unidades de 8 pulgadas) que ocupaba un archivo en el disco. No existía una forma generalmente aceptada de especificar tamaños de archivo exactos en bytes. El sistema operativo mantenía el tamaño actual de un archivo en el Bloque de Control de Archivo (FCB) del archivo. Dado que muchos programas de aplicación (como los editores de texto ) prefieren trabajar con archivos como secuencias de caracteres en lugar de como secuencias de registros, por convención, los archivos de texto terminaban con el carácter Control-Z (ASCII SUB , hexadecimal 1A). Por lo tanto, determinar el final de un archivo de texto implicaba examinar el último registro del archivo para localizar el Control-Z de terminación. Esto también significaba que insertar un carácter Control-Z en medio de un archivo generalmente tenía el efecto de truncar el contenido del texto del archivo.

Con la llegada de discos duros extraíbles y fijos de mayor capacidad, se emplearon fórmulas de desbloqueo de disco que resultaron en más bloques de disco por bloque de asignación de archivo lógico. Si bien esto permitió archivos de mayor tamaño, también significó que el tamaño del archivo más pequeño que se podía asignar aumentó de 1 KB (en discos de densidad simple) a 2 KB (en discos de doble densidad) y así sucesivamente, hasta 32 KB para un archivo que contenía solo un byte. Esto provocó un uso ineficiente del espacio en disco si este contenía una gran cantidad de archivos pequeños.   

Las marcas de tiempo de modificación de archivos no eran compatibles en las versiones hasta CP/M  2.2, pero eran una característica opcional en MP/M y CP/M  3.0. [ 21 ]

CP/M  2.2 no tenía subdirectorios en la estructura de archivos, pero proporcionaba 16 áreas de usuario numeradas para organizar los archivos en un disco. Para cambiar de usuario, bastaba con escribir "Usuario X" en la línea de comandos, donde X era el número de usuario. La seguridad era inexistente y se consideraba innecesaria en un ordenador personal. El concepto de área de usuario tenía como objetivo hacer que la versión de usuario único de CP/M fuera algo compatible con los sistemas multiusuario MP/M. Un parche común para CP/M y los sistemas operativos derivados consistía en hacer que un área de usuario fuera accesible al usuario independientemente del área de usuario configurada actualmente. Un comando USER permitía cambiar el área de usuario a cualquier área del 0 al 15. El usuario 0 era el predeterminado. Si se cambiaba a otro usuario, como USUARIO 1, el material guardado en el disco para este usuario solo estaría disponible para USUARIO 1; USUARIO 2 no podría verlo ni acceder a él. Sin embargo, los archivos almacenados en el área USUARIO 0 eran accesibles para todos los demás usuarios; Su ubicación se especificaba con una ruta preliminar , ya que los archivos del USUARIO 0 solo eran visibles para quien hubiera iniciado sesión como USUARIO 0. La función de área de usuario tenía poca utilidad en disquetes pequeños, pero era útil para organizar archivos en equipos con discos duros . El objetivo de esta función era facilitar el uso del mismo ordenador para diferentes tareas. Por ejemplo, una secretaria podía introducir datos y, después de cambiar de área de usuario, otro empleado podía usar el equipo para facturar sin que sus archivos se mezclaran.

Gráficos

La salida de texto MBASIC se mostraba en un monitor monocromo típico de aquella época.

Aunque los sistemas S-100 con capacidad gráfica existían desde la comercialización del bus S-100 , CP/M no proporcionó soporte gráfico estandarizado hasta 1982 con GSX (Graphics System Extension). Debido a la escasa memoria disponible, los gráficos nunca fueron una característica común en los sistemas operativos CP/M de 8 bits. La mayoría de los sistemas solo podían mostrar gráficos y diagramas ASCII rudimentarios en modo texto o mediante un conjunto de caracteres personalizado . Algunos ordenadores de la línea Kaypro y el TRS-80 Modelo 4 contaban con hardware de vídeo compatible con caracteres gráficos de bloques, a los que podían acceder los programadores de ensamblador y BASIC mediante la CHR$función. El Modelo 4 podía mostrar gráficos de 640 x 240 píxeles con una tarjeta de alta resolución opcional.

Derivados

SCP derivado de CP/M ejecutándose en un PC Robotron 1715 de Alemania Oriental.
CP/J versión 2.21 ejecutándose en un Elwro 804 Junior

Oficial

Algunas empresas realizaron mejoras oficiales de CP/M basadas en el código fuente de Digital Research. Un ejemplo es IMDOS para el ordenador IMSAI 8080 fabricado por IMS Associates, Inc. , un clon del famoso Altair 8800 .

Compatible

Otros sistemas operativos compatibles con CP/M se desarrollaron de forma independiente y no utilizaron código de Digital Research. Algunos ejemplos contemporáneos fueron:

  • Cromemco CDOS de Cromemco
  • MSX-DOS para la gama de ordenadores MSX es compatible con CP/M y puede ejecutar programas CP/M.
  • La impresora Epson QX-10 venía con la opción de usar CP/M o los módulos compatibles TPM-II o TPM-III.
  • El SAM Coupé disponía de un sistema operativo opcional compatible con CP/M-2.2 llamado Pro-DOS.
  • Los ordenadores Amstrad/Schneider de las series CPC 6xx (basados ​​en disco) y PCW venían con un paquete de discos CP/M.
  • El Husky utilizaba un cargador de programas basado en ROM y con interfaz de menú llamado DEMOS, que podía ejecutar muchas aplicaciones CP/M.
  • ZSDOS es un BDOS de reemplazo para CP/M-80 2.2 escrito por Harold F. Bower y Cameron W. Cotrill.
  • CPMish es un nuevo sistema operativo FOSS compatible con CP/M 2.2 que originalmente no contenía código DR. Incluye ZSDOS como su BDOS y ZCPR (ver arriba ) como procesador de comandos. Desde que Bryan Sparks, presidente de Lineo, propietaria de DR, otorgó permiso en 2022 para modificar y redistribuir el código de CP/M, el desarrollador David Given está actualizando CPMish con algunas partes del CP/M DR original.
  • LokiOS es un sistema operativo compatible con CP/M 2.2. La versión 0.9 fue lanzada públicamente en 2023 por David Kitson como un proyecto de sistema operativo desarrollado en solitario para el Open Spectrum Project e incluye el código fuente de la BIOS , BDOS y la interfaz de línea de comandos , así como otras aplicaciones y controladores de soporte. La distribución también incluye el código fuente original de DR y una utilidad que permite a los usuarios intercambiar componentes del sistema operativo (por ejemplo, BDOS, CCP) sobre la marcha.
  • IS-DOS para ordenadores empresariales , desarrollado por Intelligent Software.
  • VT-DOS para el ordenador de televisión Videoton , escrito por Intelligent Software.
  • TIKO para el Tiki 100 noruego , llamado inicialmente KP/M, era compatible con CP/M. En su momento se asumió erróneamente que era una copia ilegal, pero fue escrito desde cero en PL/M .

Mejoras

Algunos sistemas operativos compatibles con CP/M ampliaron tanto la funcionalidad básica que superaron con creces la original, como por ejemplo TurboDOS, capaz de procesar múltiples sistemas .

bloque del este

En el antiguo Bloque del Este existían varios derivados de CP/M-80 bajo diversos nombres, entre ellos SCP ( Programa de Control de Usuario Único ), SCP/M, CP/A, [ 100 ] CP/J, CP/KC, CP/KSOB, CP/L, CP/Z, MICRODOS, BCU880, ZOAZ, OS/M, TOS/M, ZSDOS, M/OS, COS-PSA, DOS-PSA, CSOC, CSOS, CZ-CPM, DAC, HC y otros. [ 101 ] [ 102 ] También existían derivados de CP/M-86 denominados SCP1700 , CP/K y K8918-OS . [ 102 ] Fueron producidos por la VEB Robotron de Alemania Oriental y otros. [ 102 ] [ 101 ] [ 100 ]

Legado

Una serie de comportamientos exhibidos por Microsoft Windows son resultado de la retrocompatibilidad con MS-DOS, que a su vez intentó cierta retrocompatibilidad con CP/M. Las convenciones de letras de unidad y nombres de archivo 8.3 en MS-DOS (y versiones tempranas de Windows) fueron originalmente adoptadas de CP/M. [ 103 ] Los caracteres comodín que coinciden utilizados por Windows (? y *) se basan en los de CP/M, [ 104 ] al igual que los nombres de archivo reservados que se utilizan para redirigir la salida a una impresora ("PRN:") y a la consola ("CON:"). Los nombres de unidad A y B se usaban para designar las dos unidades de disquete que los sistemas CP/M usaban normalmente; cuando aparecieron los discos duros, se les designó C, que sobrevivió en MS-DOS como el C:\>símbolo del sistema. [ 105 ] El carácter de control^Z que marca el final de algunos archivos de texto también se puede atribuir a CP/M. [ 106 ] Varios comandos en DOS se modelaron a partir de comandos de CP/M; Algunos incluso tenían el mismo nombre, como DIR, REN/RENAME o TYPE (y ERA/ERASE en DR-DOS). Las extensiones de archivo como .TXTo .COMtodavía se utilizan para identificar tipos de archivo en muchos sistemas operativos.

En 1997 y 1998, Caldera publicó algunos binarios y código fuente  de CP/M 2.2 bajo una licencia de código abierto , permitiendo también la redistribución y modificación de otros archivos de investigación digital recopilados relacionados con las familias CP/M y MP/M a través del "Sitio web no oficial de CP/M" de Tim Olmstead desde 1997. [ 107 ] [ 108 ] [ 109 ] Tras la muerte de Olmstead el 12 de septiembre de 2001, [ 110 ] la licencia de distribución fue actualizada y ampliada por Lineo , que mientras tanto se había convertido en propietario de esos activos de investigación digital, el 19 de octubre de 2001. [ 111 ] [ 112 ] [ 1 ] [ 113 ]

En octubre de 2014, para conmemorar el 40 aniversario de la primera presentación de CP/M, el Museo de Historia de la Computación publicó versiones tempranas del código fuente de CP/M. [ 114 ]

A partir de 2018Existen numerosos grupos y personas activas dedicadas a la informática vintage, a la afición y a los ordenadores retro , así como algunas pequeñas empresas comerciales, que siguen desarrollando y dando soporte a plataformas informáticas que utilizan CP/M (principalmente la versión 2.2) como sistema operativo anfitrión.

Véase también

Referencias

  1. 1 2 Gasperson, Tina (26/11/2001). "La colección CP/M vuelve a estar en línea con una licencia de código abierto: un viaje al pasado" . The Register . Archivado del original el 1/09/2017.
  2. 1 2 Mann, Stephen (15 de agosto de 1983). "CP/M Plus, una tercera versión actualizada de CP/M" . InfoWorld . Vol. 5, n.º 33, pág. 49. ISSN 0199-6649 .    
  3. 1 2 3 Sandberg-Diment, Erik (1983-05-03). "Personal Computers: The Operating System in the middle" . The New York Times . Archivado del original el 23-12-2019 . Recuperado el 15-11-2019 .
  4. 1 2 3 Markoff, John (13 de julio de 1994). "Gary Kildall, de 52 años, figura clave en el desarrollo informático, fallece" . The New York Times . Archivado del original el 3 de octubre de 2017. Consultado el 18 de noviembre de 2019 .
  5. 1 2 Shustek, Len (2 de agosto de 2016). "En sus propias palabras: Gary Kildall" . Personas extraordinarias . Museo de Historia de la Computación . Archivado del original el 17 de diciembre de 2016.
  6. 1 2 3 Kildall, Gary Arlen (2016-08-02) [1993]. Kildall, Scott ; Kildall, Kristin (eds.). Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry (Manuscrito, parte 1). Familia Kildall. Archivado del original el 17-11-2016 . Recuperado el 17-11-2016 .
  7. Newton, Harry (2000). Diccionario de telecomunicaciones de Newton . Nueva York, Nueva York, EE. UU.: CMP Books . 228 págs . ISBN  1-57820-053-9.
  8. Dahmke, Mark (1983-07-01). "CP/M Plus: El nuevo sistema operativo de disco es más rápido y más eficiente que CP/M" . Revista BYTE . Vol. 8, n.º 7, pág. 360.   
  9. Proven, Liam (2024-08-02). "Hace 50 años, CP/M inició la revolución de los microordenadores" . The Register .
  10. "Compupro 8/16" . old-computers.com . Archivado del original el 3 de enero de 2016. Consultado el 21 de abril de 2022 .
  11. Cole, Maggie (25 de mayo de 1981). «Gary Kildall y la historia de éxito de la investigación digital» . InfoWorld . Vol. 3, n.º 10. Palo Alto, California, EE. UU. págs. 52–53 . ISSN 0199-6649 . Archivado del original el 1 de julio de 2024. Consultado el 25 de septiembre de 2020 .    
  12. Freiberger, Paul (5 de julio de 1982). «Historia de la microcomputación, parte 3: génesis del software» . InfoWorld . Vol. 4, n.º 26. Palo Alto, California, EE. UU. pág. 41. ISSN 0199-6649 . Archivado del original el 1 de julio de 2024. Consultado el 25 de septiembre de 2020 .    
  13. Waite, Mitchell; Lafore, Robert W.; Volpe, Jerry (1982). El libro oficial del Commodore 128. HW Sams. pág. 110. ISBN  978-0-67222456-0.
  14. 1 2 3 4 Kildall, Gary Arlen (enero de 1980). "La historia de CP/M, la evolución de una industria: el punto de vista de una persona" . Dr. Dobb's Journal . Vol. 5, n.º 1, n.º 41, págs. 6-7 . Archivado del original el 24 de noviembre de 2016. Recuperado el 3 de junio de 2013 .   
  15. 1 2 3 4 Kildall, Gary Arlen (junio de 1975), CP/M 1.1 o 1.2 BIOS y BDOS para los Laboratorios Lawrence Livermore
  16. Johnson, Herbert R. (4 de enero de 2009). "Historia de CP/M y Digital Research Inc. (DRI)" . retrotechnology.com . Archivado del original el 20 de agosto de 2008. Consultado el 28 de enero de 2009 .
  17. Warren, Jim (abril de 1976). "Primeras impresiones sobre un sistema operativo para disquetes". Dr. Dobb's Journal . Vol. 1, n.º 4. Menlo Park, California, EE. UU. pág. 5.   Subtítulo: Lenguaje de comandos y funciones similares a las de DECSYSTEM-10.
  18. Investigación digital (1978). CP/M . Pacific Grove, California, EE. UU.: Investigación digital . OCLC 221485970 . 
  19. 1 2 Wilkinson, Bill (1981-10-19). "Problemas de intercambiabilidad de software en el mercado 6502" . InfoWorld . 3 (22). Publicaciones IDG: 16. Archivado del original el 2023-04-20 . Recuperado el 2023-04-19 a través de Google Books.
  20. Freiberger, Paul ; Michael Swaine (2000). Fuego en el valle: La creación del ordenador personal . McGraw-Hill. pág. 175. ISBN  0071358927 vía Internet Archive.
  21. 1 2 3 4 5 6 7 8 Brown, David K.; Strutynski, Kathryn ; Wharton, John Harrison (14 de mayo de 1983). "Ajustando el rendimiento de un sistema operativo: el hashing, el almacenamiento en caché y el bloqueo de memoria son solo algunas de las técnicas utilizadas para mejorar el rendimiento en la última versión de CP/M" . Diseño de sistemas/Software. Computer Design - The Magazine of Computer Based Systems . Vol. 22, n.º 6. Littleton, Massachusetts, EE. UU.: PennWell Publications / PennWell Publishing Company . págs. 193-194 , 196, 198, 200, 202, 204. ISSN 0010-4566 . OCLC 1564597. CODEN CMPDA . ark:/13960/t3hz07m4t . Consultado el 14 de agosto de 2021 .      (7 páginas)
  22. 1 2 "Kathryn Betty Strutynski" . Monterey Herald (Obituario). 19 de junio de 2010. Archivado del original el 14 de agosto de 2021. Recuperado el 10 de agosto de 2021 a través de Legacy.com .
  23. 1 2 Hogan, Thom (14 de septiembre de 1981). "Estado de la microcomputación / Algunos caballos corriendo codo con codo" . pp. 10–12 . Archivado del original el 24 de junio de 2024. Recuperado el 8 de abril de 2019 . 
  24. Wise, Deborah (10 de mayo de 1982). "Los fabricantes de mainframes buscan proveedores externos de microsoftware" . InfoWorld . Vol. 4, n.º 18, págs. 21-22 . Archivado del original el 18 de marzo de 2015. Consultado el 25 de enero de 2015 .   
  25. 1 2 Meyer, Edwin W. (14 de junio de 1982). "La Xerox 820, un sistema operado por CP/M de Xerox" . InfoWorld . Vol. 4, n.º 23, págs. 101-104 . Archivado del original el 1 de julio de 2024. Recuperado el 30 de marzo de 2019 .   
  26. Hogan, Thom (1981-03-03). "La SoftCard Z80 de Microsoft" . InfoWorld . 3 (4). Popular Computing: 20– 21. ISSN 0199-6649 . 
  27. Zimmerman, Frederick (Invierno de 1983). "HUGCon 1" . Sextant . N.° 4. págs. 7–34 . Recuperado el 24 de enero de 2026 .  
  28. da Cruz, Frank (1984-04-27). "Nueva versión de KERMIT para CP/M-80" . Info-CP/M (Lista de correo). Proyecto Kermit, Universidad de Columbia . Recuperado el 2 de enero de 2025 .{{cite mailing list}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  29. Clarke, A.; Eaton, JM; David, D. Powys Lybbe (26 de octubre de 1983). CP/M - El bus de software: Un compañero para el programador . Sigma Press. ISBN 978-0905104188.
  30. Johnson, Herbert R. (30 de julio de 2014). "Historia de CP/M y Digital Research Inc. (DRI)" . Archivado del original el 29 de junio de 2021. Recuperado el 29 de junio de 2021 .
  31. Swaine, Michael (1997-04-01). "Gary Kildall y el emprendimiento colegial" . Dr. Dobb's Journal . Archivado del original el 24-01-2007 . Recuperado el 20-11-2006 .
  32. Bunnell, David (febrero de 1982). "¿El hombre detrás de la máquina? / Una entrevista exclusiva para PC con el gurú del software Bill Gates" . PC Magazine . Vol. 1, n.º 1, págs. 16-23 [20]. Archivado del original el 9 de mayo de 2013. Consultado el 17 de febrero de 2012 .   
  33. 1 2 Libes, Sol (junio de 1982). "Bytelines" . BYTE . págs. 440–450 . Recuperado el 17 de marzo de 2025 . 
  34. "Catálogo de computadoras Radio Shack RSC-12 página 28" . radioshackcomputercatalogs.com . Tandy/Radio Shack. Archivado del original el 13 de octubre de 2016. Consultado el 6 de julio de 2016 .
  35. 1 2 "Digital Research tiene CP/M-86 para IBM Displaywriter" (PDF) . Noticias de Digital Research - para usuarios de Digital Research en todo el mundo . 1 (1). Pacific Grove, California, EE. UU.: Digital Research, Inc .: 2, 5, 7. Noviembre de 1981. Cuarto trimestre. Archivado (PDF) del original el 17 de abril de 2021. Recuperado el 18 de enero de 2020 .
  36. Maher, Jimmy (31 de julio de 2017). "La historia completa del IBM PC, segunda parte: El imperio DOS ataca" . Ars Technica . pág. 3. Archivado del original el 8 de julio de 2019. Consultado el 8 de septiembre de 2019 . 
  37. 1 2 Kildall, Gary Arlen (16 de septiembre de 1982). "Ejecución de software de 8 bits en computadoras de doble procesador" (PDF) . Electronic Design : 157. Archivado (PDF) del original el 19 de agosto de 2017. Recuperado el 19 de agosto de 2017 .
  38. Snyder, John J. (junio de 1983). "¿Un DEC en cada escritorio?" . BYTE . Vol. 8, n.º 6, págs. 104-106 . Archivado del original el 2 de enero de 2015. Consultado el 5 de febrero de 2015 .   
  39. "M 68 / M 68 MX" . Archivado del original el 6 de marzo de 2016. Consultado el 17 de septiembre de 2012 .
  40. Thomas, Rebecca A.; Yates, Jean L. (1981-05-11). "Libros, placas y software para los nuevos procesadores de 16 bits" . InfoWorld - El periódico para la comunidad de microcomputación . Vol. 3, n.º 9. Popular Computing, Inc. págs. 42–43 . ISSN 0199-6649 . Consultado el 24 de enero de 2020 .    
  41. Olmstead, Tim; Chaudry, Gabriele "Gaby". "Código fuente de investigación digital" . Archivado del original el 5 de febrero de 2016.
  42. Digital Research (1981): XLT86 - Traductor de lenguaje ensamblador de 8080 a 8086 - Guía del usuario. Archivado el 18/11/2016 en Wayback Machine. Digital Research Inc., Pacific Grove.
  43. 1 2 Magid, Lawrence J. (junio-julio de 1982). "Baby Blue" . PC Magazine . Vol. 1, n.º 3, pág. 49. Archivado del original el 18 de marzo de 2015. Recuperado el 17 de marzo de 2025 .   
  44. Zimmerman, Fredrick (otoño de 1982). "El quinto aniversario del H8: orígenes y perspectivas" . Sextant .
  45. Pournelle, Jerry (marzo de 1984). "Nuevas máquinas, redes y software diverso" . BYTE . Vol. 9, n.º 3, pág. 46. Archivado del original el 2 de febrero de 2015. Consultado el 22 de octubre de 2013 .   
  46. Isaacson, Walter (2014). Los innovadores: Cómo un grupo de inventores, hackers, genios y geeks crearon la revolución digital . Simon & Schuster . pág. 358. ISBN  978-1-47670869-0.
  47. Bellis, Mary. "Inventores de la serie de computadoras modernas: la historia de los sistemas operativos MS-DOS, Microsoft, Tim Paterson y Gary Kildall" . Archivado del original el 27 de abril de 2012. Consultado el 9 de septiembre de 2010 .
  48. Mace, Scott (11 de junio de 1984). "CP/M eludes Home Market" . InfoWorld . Vol. 6, n.º 24, pág. 46. Archivado del original el 20 de septiembre de 2021. Consultado el 20 de septiembre de 2021 .   
  49. Groth, Nancy (10 de febrero de 1986). "Kaypro se retira de CP/M" . InfoWorld . Vol. 8, n.º 6, pág. 6. Archivado del original el 20 de marzo de 2022. Consultado el 29 de octubre de 2021 .   
  50. «ZCPR - oldcomputers.ddns.org» .
  51. Markoff, John; Shapiro, Ezra (septiembre de 1984). "Z Whiz" . BYTE West Coast. BYTE . págs. 396–397 . Recuperado el 10 de abril de 2025 . 
  52. "El maravilloso mundo de ZCPR3" . 30 de noviembre de 1987. Archivado del original el 23 de diciembre de 2019. Consultado el 18 de noviembre de 2019 .
  53. "Emuladores de CP/M para DOS" . retroarchive.org/cpm . Luis Basto. Archivado del original el 9 de julio de 2016. Consultado el 6 de julio de 2016 .
  54. Davis, Randy (diciembre de 1985 – enero de 1986). Escrito en Greenville, Texas, EE. UU. "Los nuevos microprocesadores NEC: ¿8080, 8086 o 8088?" (PDF) . Micro Cornucopia . N.° 27. Bend, Oregón, EE. UU.: Micro Cornucopia Inc. págs. 4–7 . ISSN 0747-587X . Archivado (PDF) del original el 11 de febrero de 2020. Recuperado el 11 de febrero de 2020 .   
  55. "Se acerca CP/M en formato plugin" . Personal Computer News . 14 de enero de 1984, pág. 7. Consultado el 3 de octubre de 2022 . 
  56. Hetherington, Tony (febrero de 1985). "Sharp MZ-800" . Personal Computer World . págs. 144–146 , 149–150 . Recuperado el 3 de octubre de 2022 . 
  57. Coles, Ray (junio de 1984). "CP/M más barato y sencillo" (PDF) . Practical Computing . pág. 43. Consultado el 3 de octubre de 2022 . 
  58. "AMI publica las especificaciones del microchip CP/M" . Microsystems . Junio ​​de 1984. pág. 12. Consultado el 25 de marzo de 2023 . 
  59. 1 2 Manual del sistema operativo CP/M (PDF) . Investigación digital. Julio de 1982.
  60. Guía del sistema CP/M-86 (PDF) . Investigación digital. 1981.
  61. Guía del sistema operativo CP/M-68K (PDF) . Investigación digital. Enero de 1983.
  62. Guía del sistema operativo CP/M-8000 (PDF) . Investigación digital. Agosto de 1984.
  63. 1 2 "Manual del sistema operativo CP/M" (PDF) . Archivado (PDF) del original el 14-12-2019 . Recuperado el 23-02-2019 .
  64. 1 2 3 Guía del programador del sistema operativo CP/M Plus (CP/M Versión 3) (PDF) (2.ª ed.). Investigación digital . Abril de 1983 [enero de 1983]. Archivado (PDF) del original el 25 de noviembre de 2016. Recuperado el 25 de noviembre de 2016 . 
  65. 1 2 Guía del usuario del sistema operativo CP/M Plus (CP/M Versión 3) (PDF) . Investigación digital. 1983. Archivado (PDF) del original el 26-11-2019 . Recuperado el 09-05-2020 .
  66. "Guía del programador del lenguaje PL/I" (PDF) . Investigación digital . Archivado (PDF) del original el 25/09/2019 . Consultado el 18/11/2019 .
  67. Mace, Scott (9 de enero de 1984). "Los fabricantes de clones de PC de IBM rechazan la compatibilidad total" . InfoWorld . Vol. 6, n.º 2 y 3, págs. 79-81 . Archivado del original el 16 de marzo de 2015. Consultado el 4 de febrero de 2015 .   
  68. 1 2 Derfler, Frank J. (18 de octubre de 1982). "Kaypro II: una microcámara portátil de bajo precio y 26 libras" . InfoWorld . pág. 59. Archivado del original el 1 de enero de 2014. Recuperado el 22 de octubre de 2013 . 
  69. Pournelle, Jerry (junio de 1983). "Zenith Z-100, Epson QX-10, licencias de software y el problema de la piratería de software" . BYTE . Vol. 8, n.º 6, pág. 411. Archivado del original el 9 de junio de 2014. Consultado el 20 de octubre de 2013 .   
  70. 1 2 Arnow, Murray (1985). El libro de Apple CP/M . Scott, Foresman and Company. pp. 2, 145. ISBN  0-673-18068-9. Consultado el 25 de junio de 2025 .
  71. Loguidice, Bill (28-07-2012). "Más sobre los juegos de computadora de Avalon Hill en plataformas Heath/Zenith" . Armchair Arcade . Archivado del original el 23-07-2015 . Recuperado el 22-07-2015 .
  72. Sblendorio, Francesco (2015-12-01). "Gorilas para CP/M" . GitHub . Archivado del original el 2016-02-05 . Recuperado el 2015-07-22 .
  73. "Sección 4 - Herramienta de depuración dinámica de CP/M" . CP/M 2.2 . Archivado del original el 17 de junio de 2015. Consultado el 29 de agosto de 2014 .
  74. CP/M Dynamic Debugging Tool (DDT) - Guía del usuario (PDF) . Digital Research . 1978 [1976]. Archivado (PDF) del original el 28-10-2014 . Recuperado el 29-08-2014 .
  75. Shael (26-06-2010) [09-12-2009]. "Utilidad DDT" . Archivado del original el 08-12-2015 . Recuperado el 29-08-2014 .
  76. Brand, Stewart (1984). Whole Earth Software Catalog . Quantum Press/Doubleday. ISBN 978-0-38519166-1Archivado del original el 4 de julio de 2015 .
  77. Liberer, Eckhard; Von Massenbach, Thomas (1987). "CP/M 2 lernt dazu. Modulare Systemerweiterungen auch für das 'alte' CP/M". c't - magazin für computertechnik (parte 1) (en alemán). vol. 1987, núm. 1. Heise Verlag . págs. 124-135 .   
  78. Liberer, Eckhard; Von Massenbach, Thomas (1987). "CP/M 2 lernt dazu. Modulare Systemerweiterungen auch für das 'alte' CP/M". c't - magazin für computertechnik (parte 2) (en alemán). vol. 1987, núm. 2. Heise Verlag . págs. 78 a 85.   
  79. Huck, Alex (09-10-2016). "RSM para CP/M 2.2" . Homecompuer DDR (en alemán). Archivado del original el 25-11-2016 . Recuperado el 25-11-2016 .
  80. Patrick, Kenneth A. (Invierno de 1983). "Ocho hojas de cálculo comparadas: productos gráficos para eliminar cálculos tediosos" . Sextant . N.° 4. págs. 40–55 . Recuperado el 24 de enero de 2026 .  
  81. 1 2 3 4 5 6 7 8 9 10 11 12 "Catálogo de Adventure International v3n5 (1983)" . Archivo de Internet . Recuperado el 19 de febrero de 2026 .
  82. 1 2 3 4 5 6 7 8 9 10 11 12 13 "Catálogo de Dynacomp, Inc.: Verano de 1981 (texto)" (PDF) . Archivo de Internet . Consultado el 19 de febrero de 2026 .
  83. 1 2 3 4 5 6 7 8 9 10 11 12 13 "Formulario de pedido de Infocom (BB-84)" (PDF) . Museo de la Historia de los Juegos de Aventuras por Computadora . Recuperado el 19 de febrero de 2026 .
  84. "Entrada de MyChess" . Wiki de programación de ajedrez . Consultado el 19 de febrero de 2026 .
  85. "The Rogue Archive (entradas etiquetadas [ cp ] , de la colección de discos Epyx)" . The Rogue Archive . Consultado el 19 de febrero de 2026 .
  86. "Colección de imágenes de disquetes de Epyx PC" . Archivo de Internet . Consultado el 19 de febrero de 2026 .
  87. Pournelle, Jerry (abril de 1982). "The Osborne 1, Zeke's New Friends, and Spelling Revisited" . BYTE . Vol. 7, n.º 4, pág. 212. Consultado el 24 de mayo de 2021 .   
  88. 1 2 Pournelle, Jerry (septiembre de 1982). "Cartas, Pascal, CB/80 y Cardfile" . BYTE . págs. 318–341 . Recuperado el 30 de diciembre de 2024 . 
  89. Waite, Mitchell ; Lafore, Robert W .; Volpe, Jerry (1985). "El modo CP/M" . El libro oficial del ordenador personal Commodore 128. Howard W. Sams & Co. pág. 98. ISBN  0-672-22456-9.
  90. Fager, Roger; Bohr, John (septiembre de 1983). "The Kaypro II" . BYTE . Vol. 8, n.º 9, pág. 212. Archivado del original el 2 de marzo de 2014. Consultado el 20 de octubre de 2013 .   
  91. Pilarski, James A. (Invierno de 1983). "Aventurándose más allá del controlador de disco Heath/Zenith" . Sextant . N.° 4. págs. 67–73 . Recuperado el 24 de enero de 2026 .  
  92. "Ahora: ¡Un Pascal CP/M completo por solo $29.95!" . BYTE (anuncio). Vol. 7, n.° 12. Diciembre de 1982. pág. 11. Archivado del original el 21 de julio de 2016. Consultado el 1 de octubre de 2016 .   
  93. "Ellis Computing" . BYTE (anuncio). Vol. 8, n.º 12. Diciembre de 1983. pág. 69.   
  94. "Distribución I: Software" (PDF) . The Rosen Electronics Letter . 22 de febrero de 1983. págs. 6–11 . Consultado el 5 de junio de 2025 . 
  95. Johnson-Laird, Andy (1983). "3". Manual del programador de CP/M . Berkeley, California, EE. UU.: Osborne/McGraw-Hill. ISBN 0-88134-103-7.
  96. "Old-computers.com: El Museo" . Archivado del original el 3 de julio de 2013. Consultado el 6 de octubre de 2017 .
  97. Ciarcia, Steve (septiembre de 1985). "Construye el SB-180" (PDF) . Revista BYTE . CMP Media . pág. 100. Archivado (PDF) del original el 29 de noviembre de 2019. Recuperado el 18 de junio de 2019 . 
  98. Manual de usuario de CP/AM 5.1 . Ingeniería Aplicada. pág. 1. Consultado el 22 de mayo de 2020 . 
  99. "Comandos integrados de CP/M" . discordia.org.uk . Archivado del original el 12 de abril de 2008. Consultado el 28 de enero de 2009 .
  100. 1 2 Pohlers, Volker (30-04-2019). "CP/A" . Homecomputer DDR (en alemán). Archivado del original el 21-02-2020 . Recuperado el 21-02-2020 .
  101. 1 2 Kurth, Rüdiger; Groß, Martín; Hambre, Henry (3 de enero de 2019). "Betriebssysteme" . robotrontechnik.de (en alemán) . Consultado el 27 de abril de 2019 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  102. 1 2 3 Kurth, Rüdiger; Groß, Martín; Hambre, Henry (3 de enero de 2019). "Sistema de apuestas SCP" . robotrontechnik.de (en alemán) . Consultado el 27 de abril de 2019 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  103. Chen, Raymond (10 de junio de 2009). "¿Por qué MS-DOS usa nombres de archivo 8.3 en lugar de, digamos, 11.2 o 16.16?" . The Old New Thing . Archivado del original el 22 de septiembre de 2011 . Recuperado el 17 de diciembre de 2010 .
  104. Chen, Raymond (17 de diciembre de 2007). "¿Cómo funcionaban los comodines en MS-DOS?" . The Old New Thing . Archivado del original el 8 de mayo de 2011. Consultado el 17 de diciembre de 2010 .
  105. Chen, Raymond (22 de octubre de 2003). "¿Qué pasa con esos nombres de archivo reservados como NUL y CON?" . The Old New Thing . Archivado del original el 2 de agosto de 2010 . Recuperado el 17 de diciembre de 2010 .
  106. Chen, Raymond (16 de marzo de 2004). "¿Por qué los archivos de texto terminan en Ctrl+Z?" . The Old New Thing . Archivado del original el 6 de febrero de 2011. Recuperado el 17 de diciembre de 2010 .
  107. Olmstead, Tim (1997-08-10). "El sitio web de CP/M necesita un servidor" . Grupo de noticias : comp.os.cpm . Archivado del original el 1 de septiembre de 2017. Consultado el 9 de septiembre de 2018 . 
  108. Olmstead, Tim (29 de agosto de 1997). "ANUNCIO: El sitio Caldera CP/M ya está activo" . Grupo de noticias : comp.os.cpm . Archivado del original el 1 de septiembre de 2017. Recuperado el 9 de septiembre de 2018 . 
  109. "Acuerdo de licencia" . Caldera, Inc. 28 de agosto de 1997. Consultado el 25 de julio de 2015 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  110. "Tim Olmstead" . 12 de septiembre de 2001. Archivado del original el 9 de septiembre de 2018.
  111. Sparks, Bryan Wayne (19 de octubre de 2001). Chaudry, Gabriele "Gaby" (ed.). "Acuerdo de licencia para el material CP/M presentado en este sitio" . Lineo, Inc. Recuperado el 25 de julio de 2015 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  112. Chaudry, Gabriele "Gaby" (ed.). "El sitio web no oficial de CP/M" . Archivado del original el 3 de febrero de 2016.
  113. Swaine, Michael (1 de junio de 2004). "CP/M y DRM" . Dr. Dobb's Journal . Vol. 29, n.º 6. CMP Media LLC . págs. 71–73 . N.º 361. Archivado del original el 9 de septiembre de 2018. Consultado el 9 de septiembre de 2018 .   Archivado el 1 de julio de 2024 en Wayback Machine .
  114. Laws, David (1 de octubre de 2014). "Código fuente CP/M de Early Digital Research" . Museo de Historia de la Computación . Archivado del original el 27 de julio de 2015. Recuperado el 25 de julio de 2015 .

Lecturas adicionales

  • Zaks, Rodnay (1980). Manual CP/M con MP/M . SYBEX Inc. ISBN 0-89588-048-2.
  • Conn, Richard (1985). ZCPR3 - El manual . New York Zoetrope. ISBN 0-918432-59-6.
  • "Rincón del Sistema Z: Décimo aniversario de ZCPR" . The Computer Journal (54). Archivado del original el 29 de octubre de 2010.
  • "El origen del nombre de CP/M" . Archivado del original el 11 de junio de 2008.
  • Katie, Mustafa A. (14 de agosto de 2013). "Intel iPDS-100 usando CP/M-Video" . Archivado del original el 7 de octubre de 2013. Recuperado el 2 de septiembre de 2013 .
  • "Hito del IEEE en ingeniería eléctrica e informática: CP/M - Sistema operativo para microcomputadoras, 1974" (PDF) . Museo de Historia de la Computación . 25 de abril de 2014. Archivado (PDF) del original el 3 de abril de 2019. Consultado el 3 de abril de 2019 .
  • "El triunfo de los nerds" . PBS .(Nota: Esta serie de PBS incluye detalles sobre la elección de IBM de Microsoft DOS en lugar de CP/M de Digital Research para la IBM PC).
  • "Preguntas frecuentes sobre CP/M" . comp.os.cpm .
  • Sage, Jay (enero-febrero de 1992). Carlson, Art; McEwen, Chris (eds.). "Diez años de ZCPR" . The Computer Journal (TCJ) - Programación, soporte al usuario, aplicaciones . Z-System Corner (54). S. Plainfield, Nueva Jersey, EE. UU.: Socrates Press: 3-7 . ISSN 0748-9331 . ark:/13960/t89g6n689 . Consultado el 29 de noviembre de 2021 . 
  • Liberer, Eckhard; Von Massenbach, Thomas (1987). "CP/M 2 lernt dazu. Modulare Systemerweiterungen auch für das 'alte' CP/M". c't - magazin für computertechnik (parte 1) (en alemán). 1987 (1). Heise Verlag : 124-135 ;Liberer, Eckhard; Von Massenbach, Thomas (1987). "CP/M 2 lernt dazu. Modulare Systemerweiterungen auch für das 'alte' CP/M". c't - magazin für computertechnik (parte 2) (en alemán). 1987 (2). Heise Verlag : 78-85 ;Huck, Alex (09-10-2016). "RSM para CP/M 2.2" . Homecomputer DDR (en alemán). Archivado del original el 25-11-2016 . Recuperado el 25-11-2016 .
  • Guzis, Charles "Chuck" P. (16 de marzo de 2015). "Re: Programación en lenguaje ensamblador CP/M" . Vintage Computer Forum . Género: CP/M y MP/M. Archivado del original el 1 de febrero de 2020. Recuperado el 1 de febrero de 2020 .
  • El sitio web no oficial de CP/M (fundado por Tim Olmstead) - Incluye código fuente
  • Página web de Gaby Chaudry sobre CP/M e historia de la informática : incluye materiales de ZCPR.
  • Página principal de CP/M - Sitio web de información técnica de John C. Elliott
  • Página de CP/M de Investigación Digital de MaxFrame