In 1974 CP/M was a private project of Gary Kildall, under the name "Control
Program/Monitor". During the conversion of CP/M to a commercial product,
trademark registration documents filed in November 1977 gave the product's name
as "Control Program for Microcomputers".
This renaming of CP/M was part of a larger effort by Kildall and his
business-partner wife to convert Kildall's personal project of CP/M and the
Intel-contracted PL/M compiler into a commercial enterprise. The Kildalls
astutely intended to establish the Digital Research brand and its product lines
as synonymous with "microcomputer" in the consumer's mind, similar to what IBM
and Microsoft together later successfully accomplished in making "personal
computer" synonymous with IBM and Microsoft product offerings. Intergalactic
Digital Research, Inc. was later renamed via a corporation change-of-name filing
to Digital Research, Inc.
CP/M used the 7-bit ASCII set. The other 128 characters made possible by the
8-bit byte were not standardized. For example, one Kaypro used them for Greek
characters, and Osborne machines used the 8th bit set to indicate an underlined
character. International CP/M systems most commonly used the ISO 646 norm
for localized character sets, replacing certain ASCII characters with localized
characters rather than adding them beyond the 7-bit boundary.
While graphics-capable S100 systems existed from the commercialization of the
S100 bus,
CP/M did not provide any standardized graphics support until the release of CP/M
3.0 with GSX (Graphic System eXtension). Owing to the small memory available,
graphics was never a common feature associated with 8-bit CP/M operating
systems.
While the 8-inch single density format (so-called "distribution format") was
standardized, various 5¼ inch formats were used depending on the characteristics
of particular systems and to some degree the choices of the designers. No single
manufacturer prevailed in the 5¼ inch era of CP/M use. A software manufacturer
had to prepare a separate version of the program for each brand of hardware on
which it was to run. With some manufacturers (Kaypro is an example), there was
not even standardization across the company's different models. Because of this
situation, disk format translation programs, which allowed a machine to read
many different formats, became popular and reduced the confusion, as did
programs like kermit which allowed transfer of data and programs from one
machine to another using the serial ports that most CP/M machines had. The
fragmented CP/M market, requiring distributors either to stock multiple formats
of disks or to invest in multiformat duplication equipment, compared with the
more standardized IBM PC disk
formats, was a contributing factor to the rapid obsolescence of CP/M after 1981.
CP/M was described as a "software bus", allowing multiple programs to
interact with different hardware in a standardized way. Programs written for
CP/M were typically portable between different machines, usually only requiring
specification of theescape sequence for control of the screen and printer. This portability made CP/M popular, and much more
software was written for CP/M than for operating systems that only ran on one
brand of hardware. One restriction on portability was that certain programs used
the extended instruction set of the Z80 processor and would not operate on an
8080 or 8085 processor.
Hundreds of different brands of machines ran CP/M, some notable examples
being the Altair, the IMSAI 8080, the Osborne 1 and Kaypro portables, MSX, and
even the Apple II when an extra Z80-card was installed. The best selling CP/M
capable system of all time was probably the Commodore 128, although few people
actually used its CP/M abilities. In the UK, CP/M was also available for the BBC
Micro when equipped with a Z80 co-processor. Furthermore, it powered the popular
Amstrad PCW word-processing system and was available for the Amstrad CPC series.
WordStar, one of the first widely used word processors, and dBASE, an early
and popular database program for small computers, were originally written for
CP/M. An early outliner, KAMAS (Knowledge and Mind Amplification System) was
also written for CP/M, though later rewritten for MS-DOS. Turbo Pascal, the
ancestor of Borland Delphi, and Multiplan, the ancestor of Microsoft Excel, also
debuted on CP/M before MS-DOS versions became available. Various character or
text-based games were written. Lifeboat Associates started collecting and
distributing user-written "free" software. One of the first was XMODEM, which
allowed communication via modem and phone
line.
The 16-bit world
Versions of CP/M were later completed for some
16-bit CPUs as well, although they required the application programs to be
re-compiled for the new CPUs -- or, if they were written in assembly language, to be largely rewritten from scratch.
One of the first was CP/M-86 for the Intel 8086, which was soon followed by
CP/M-68k for the Motorola 68000. At this point the original 8-bit CP/M became
known as CP/M-80 to avoid confusion. There was also a port to the Zilog Z8000, named CP/M-8000.
CP/M-68k was initially used in the Atari ST computer, but Atari decided to go
with a newer DOS called GEMDOS. It also was used on the SORD M68 and M68MX
computers. CP/M-86 was expected to be the standard operating system of the new
IBM PCs, but DRI and IBM were unable to negotiate development and licensing
terms. IBM turned to Microsoft instead, and Microsoft delivered PC-DOS based on
a CP/M "clone," 86-DOS. Although CP/M-86 became an option for the IBM PC after DRI
threatened legal action, it never overtook Microsoft's system.
WhenDigital Equipment Corporation put out the Rainbow 100 to compete with IBM, it came with CP/M-80 using a Z80 chip, and CP/M-86
or MS-DOS using an 8088 microprocessor. The Z80 and 8088 CPUs ran concurrently.
A benefit of the Rainbow was that it could continue to run 8-bit CP/M software
as users moved into the 16-bit world of MS-DOS.
MS-DOS takes over
Many of the basic concepts and internal mechanisms of early versions of
MS-DOS were patterned after those of CP/M. Internals like file-handling data
structures were identical, and both referred to disk drives with a letter (A:,
B:, etc.). The main innovation was MS-DOS's FAT file system. This intentional
similarity made it easier to port popular CP/M software like WordStar and dBase.
However, CP/M's concept of separate user areas for files on the same disk was
never ported to MS-DOS. Since MS-DOS had access to more memory (as few IBM PCs
were sold with less than 64 KiB of memory, while CP/M had to run in 16 KiB if
necessary), more commands were built in to the command-line user interface logic, making MS-DOS somewhat faster and easier to use on
floppy-based computers.
CP/M rapidly lost market share as the microcomputing market moved to the PC
platform, and it never regained its former popularity. Byte Magazine, at the
time one of the leading industry magazines for microcomputers, essentially
ceased covering CP/M products within a few years of the introduction of the IBM
PC. For example, in 1983 there were still a few advertisements for S100 boards
and articles on CP/M software, but by 1987 these were no
longer found in the magazine.
Later versions of CP/M-86 made significant strides in performance and
usability however and were made compatible with MS-DOS. For some time in the
1980s, the resulting system was considered to be a better x86 OS than MS-DOS. To
reflect this compatibility the name was changed, and CP/M-86 became DOS Plus,
which in turn became DR-DOS.
ZCPR
ZCPR (the Z80 Command Processor Replacement) was introduced on February 2,
1982 as a drop-in replacement for the standard Digital Research command
processor (CCP) and was initially written by a group of computer hobbyists who
called themselves "The CCP Group". They were Frank Wancho, Keith
Petersen (the archivist behind Simtel at the time), Ron Fowler, Charlie Strom,
Bob Mathias, and Richard Conn. Richard was, in fact, the driving force in this
group (all of whom maintained contact through email).
ZCPR1 was released on a disk put out by SIG/M (Special Interest
Group/Microcomputers), a part of the Amateur Computer Club of
New Jersey.
ZCPR2 was released on February 14, 1983. It was released as a set of ten
disks from SIG/M. ZCPR2 was upgraded to 2.3, and also was released in 8080 code,
permitting the use of ZCPR2 on
8080 and
8085 systems.
ZCPR3 was released on
Bastille Day, July 14, 1984, as a set of nine disks from SIG/M. The code for
ZCPR3 could also be compiled (with reduced features) for the 8080 and would run
on systems that did not have the requisite
Z80 microprocessor.
In January of 1987, Richard Conn decided to stop developing ZCPR, and Echelon
asked Jay Sage (who already had a privately enhanced ZCPR 3.1) to continue work
on ZCPR. Thus, ZCPR 3.3 was developed and released. ZCPR33 no longer supported
the 8080 series of microprocessors, and added the most features of any upgrade
in the ZCPR line.
Features of ZCPR as of version 3 included:
shells
aliases
I/O redirection
flow control
named directories
search paths
custom menus
passwords
on line help
ZCPR3.3 also included a full complement of utilities with considerably
extended capabilities. While enthusiastically supported by the CP/M user base of
the time, ZCPR alone was insufficient to slow the demise of CP/M.
ZCPR3, The Manual by Richard Conn:
ISBN 0918432596
comp.os.cpm FAQ (also present at this
Digital Research related site)
Z-System Corner: Tenth Anniversary of ZCPR - part of The Computer
Journal, issue 54
DOS [MS-DOS, DRDOS, PCDOS, IBM-DOS]
DOS operating system software was the only real choice for PCs from 1980
to 1995. MS-DOS, (MicroSoft-Disk Operating System) has it's origins
in CP/M written by Gary Kildall. There were several "DOSs" but they
all were much more alike than they were different. Over time there
were four limitations that became apparent.
Single Tasking. DOS could load only one program at a time.
640 KB memory barrier. Dos was not design to handle the large amounts
of RAM which PCs began to have.
16 bit architecture. DOS was design for 16-bit CPUs and could not
take advantage of the 32-bit processors which were introduced in 1985.
[The 80386]
Command Line Interface. DOS used a Command Line Interface, (sometimes
called a Character Cell Interface).