90-488: MP/M ( Multi-Programming Monitor Control Program ) is a discontinued multi-user version of the CP/M operating system , created by Digital Research developer Tom Rolander in 1979. It allowed multiple users to connect to a single computer, each using a separate terminal . MP/M was a fairly advanced operating system for its era, at least on microcomputers . It included a priority-scheduled multitasking kernel (before such
180-520: A (monochrome) CGA or an EGA graphics adapter. FlexOS supported a concept of dynamically loadable and unloadable subdrivers, and it came with driver prototypes for floppies, hard disks, printers, serial interfaces, RAM disks, mice and console drivers. During boot, the FLEX286.SYS kernel would load the resource managers and device drivers specified in the CONFIG.SYS binary file (not to be mixed up with
270-413: A ROM firmware chip) loads the operating system from the disk in drive A: . By modern standards CP/M is primitive, owing to the extreme constraints on program size. With version 1.0 there is no provision for detecting a changed disk. If a user changes disks without manually rereading the disk directory the system writes on the new disk using the old disk's directory information, ruining the data stored on
360-468: A competitor in the spreadsheet market in the MS-DOS world. AutoCAD , a CAD application from Autodesk debuted on CP/M. A host of compilers and interpreters for popular programming languages of the time (such as BASIC , Borland 's Turbo Pascal , FORTRAN and even PL/I ) were available, among them several of the earliest Microsoft products. CP/M software often came with installers that adapted it to
450-528: A corporation change-of-name filing to Digital Research, Inc. By September 1981, Digital Research had sold more than 250,000 CP/M licenses; InfoWorld stated that the actual market was likely larger because of sublicenses. Many different companies produced CP/M-based computers for many different markets; the magazine stated that "CP/M is well on its way to establishing itself as the small-computer operating system". The companies chose to support CP/M because of its large library of software. The Xerox 820 ran
540-492: A direct payment of half this sum as well as shares representing 2% of the company. The company already had pSOS+ , another modular real-time multitasking operating system for embedded systems, but they continued to maintain FlexOS as well. FlexOS version 2.33 was current as of May 1998 and with FlexOS 2.34 to be released soon after with added support for faster CPUs, 64 MB of memory, EIDE and ATAPI CDROM drives. Integrated Systems
630-780: A directory except those marked with the SYS attribute), DIRSYS / DIRS (list files marked with the SYS attribute in the directory), ERASE / ERA (delete a file), RENAME / REN (rename a file), TYPE / TYP (display contents of an ASCII character file), and USER / USE (change user number) as built-in commands: CP/M 3 allows the user to abbreviate the built-in commands. Transient commands in CP/M 3 include COPYSYS , DATE , DEVICE , DUMP , ED , GET , HELP , HEXCOM , INITDIR , LINK , MAC , PIP, PUT , RMAC , SET , SETDEF , SHOW , SID , SUBMIT , and XREF . The Basic Disk Operating System, or BDOS, provides access to such operations as opening
720-464: A directory or ERA to delete a file) or loads and starts an executable file of the given name (transient commands such as PIP.COM to copy files or STAT.COM to show various file and system information). Third-party applications for CP/M are also essentially transient commands. The BDOS, CCP and standard transient commands are the same in all installations of a particular revision of CP/M, but the BIOS portion
810-449: A dozen different CP/M systems, plus two generic versions. The operating system 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 among different machines, usually requiring only the specification of the escape sequences for control of the screen and printer. This portability made CP/M popular, and much more software
900-429: A file, output to the console, or printing. Application programs load processor registers with a function code for the operation, and addresses for parameters or memory buffers , and call a fixed address in memory. Since the address is the same independent of the amount of memory in the system, application programs run the same way for any type or configuration of hardware. The Basic Input Output System or BIOS, provides
990-400: A magnetic storage medium, and to load and run programs stored on a disk. Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors . The combination of CP/M and S-100 bus computers became an early standard in the microcomputer industry. This computer platform
SECTION 10
#17327939034821080-792: A market share of 12% in the POS register/client market in June 2005, when IBM was starting to phase it out in favour to IBM Retail Environment for SUSE (IRES). IBM continued to maintain 4690 OS up to April 2015, with the most recent version released by IBM in May 2012 being IBM 4690 OS Version 6 Release 3. Toshiba released Toshiba 4690 OS Version 6 Release 4 in January 2014 and Version 6 Release 5 in January 2016. Siemens used and still maintains FlexOS in their factory automation equipment as well. For example, their Simatic S5 STEP-5 operating system S5-DOS/MT
1170-482: A name was used, the kernel was referred to as the nucleus ) with memory protection, concurrent input/output ( XIOS ) and support for spooling and queueing. It also allowed for each user to run multiple programs, and switch between them. The 8-bit system required a 8080 (or Z80 ) CPU and a minimum of 32 KB of RAM to run, but this left little memory for user applications. In order to support reasonable setups, MP/M allowed for memory to be switched in and out of
1260-478: A part of the Amateur Computer Club of New Jersey . ZCPR2 was released on 14 February 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 14 July 1984, as a set of nine disks from SIG/M. The code for ZCPR3 could also be compiled (with reduced features) for
1350-516: A prevailing naming scheme of the time, as in Kildall's PL/M language, and Prime Computer's PL/P ( Programming Language for Prime ), both suggesting IBM's PL/I ; and IBM's CP/CMS operating system, which Kildall had used when working at the NPS. This renaming of CP/M was part of a larger effort by Kildall and his wife with business partner, Dorothy McEwen to convert Kildall's personal project of CP/M and
1440-508: A program was not standardized, so that there is no single option character that differentiated options from file names. Different programs can and do use different characters. The CP/M Console Command Processor includes DIR , ERA , REN , SAVE , TYPE , and USER as built-in commands. Transient commands in CP/M include ASM , DDT , DUMP , ED , LOAD , MOVCPM [ pl ] , PIP , STAT , SUBMIT , and SYSGEN . CP/M Plus (CP/M Version 3) includes DIR (display list of files from
1530-840: A relocating assembler and linker. CP/M 3 was available for the last generation of 8-bit computers, notably the Amstrad PCW, the Amstrad CPC , the ZX Spectrum +3 , the Commodore 128 , MSX machines and the Radio Shack TRS-80 Model 4 . There were versions of CP/M for some 16-bit CPUs as well. The first version in the 16-bit family was CP/M-86 for the Intel 8086 in November 1981. Kathryn Strutynski
1620-720: A result, some systems had more TPA memory available than others. Bank switching was a common technique that allowed systems to have a large TPA while switching out ROM or video memory space as needed. CP/M 3.0 allowed parts of the BDOS to be in bank-switched memory as well. FlexNet (Novell) FlexOS is a discontinued modular real-time multiuser multitasking operating system ( RTOS ) designed for computer-integrated manufacturing, laboratory, retail and financial markets. Developed by Digital Research 's Flexible Automation Business Unit in Monterey , California, in 1985. The system
1710-530: A user-installed overlay containing all the code required to access a particular machine's serial port. WordStar, one of the first widely used word processors , and dBase , an early and popular database program for microcomputers, were originally written for CP/M. Two early outliners , KAMAS (Knowledge and Mind Amplification System) and its cut-down successor Out-Think (without programming facilities and retooled for 8080/V20 compatibility) were also written for CP/M, though later rewritten for MS-DOS. Turbo Pascal ,
1800-540: A wide variety of computers. The source code for BASIC programs was easily accessible, and most forms of copy protection were ineffective on the operating system. A Kaypro II owner, for example, would obtain software on Xerox 820 format, then copy it to and run it from Kaypro-format disks. The lack of standardized graphics support limited video games , but various character and text-based games were ported , such as Telengard , Gorillas , Hamurabi , Lunar Lander , along with early interactive fiction including
1890-565: A windowing feature, and offered PC DOS 3.2 and GEM compatibility. FlexOS 286 and FlexOS 386 versions 2.0 were registered on 3 July 1989. Among the major FlexOS customers in 1990/1991 were FANUC , IBM , ICL , Nixdorf , Siemens , TEC , Thorn EMI Software and Micrologic . Novell bought Digital Research for US$ 80 million in July 1991. X/GEM for FlexOS release 1.0 (a.k.a. X/GEM FlexOS 286 and 386) and FlexNet were registered on 21 December 1992. FlexOS
SECTION 20
#17327939034821980-451: Is always adapted to the particular hardware. Adding memory to a computer, for example, means that the CP/M system must be reinstalled to allow transient programs to use the additional memory space. A utility program (MOVCPM) is provided with system distribution that allows relocating the object code to different memory areas. The utility program adjusts the addresses in absolute jump and subroutine call instructions to new addresses required by
2070-458: Is based on FlexOS 386 with X/GEM, FlexNet and Btrieve , whereas the smaller S5-DOS system, also present on these systems, is a variant of Digital Research's Personal CP/M-86 . Siemens industrial systems like COROS LS-B/FlexOS, COROS OS-B/FlexOS, GRACIS/FlexOS, Teleperm M [ de ] OS-525 were FlexOS and X/GEM-based. Computers such as the Sicomp [ de ] PC 16-20 and
2160-522: Is still in use in some industrial applications. MP/M 8-16 (sometimes also referred to as MP/M-8/16 ) was CompuPro 's name for a combination of the multi-user 16-bit MP/M-86 to perform single-user, single-stream CP/M functions, along with multi-user, multi-tasking 8-bit MP/M operations running on the multi-processor CompuPro System 816 [ sr ] . Later on, this system was also able to run Concurrent DOS 3.1 . In 1982, Digital Research announced plans to develop MP/M-286 to take advantage of
2250-534: The Zork series and Colossal Cave Adventure . Text adventure specialist Infocom was one of the few publishers to consistently release their games in CP/M format. Lifeboat Associates started collecting and distributing user-written "free" software. One of the first was XMODEM , which allowed reliable file transfers via modem and phone line. Another program native to CP/M was the outline processor KAMAS. The read/write memory between address 0100 hexadecimal and
2340-589: The PDP-11 and OS/8 for the PDP-8 . Commands take the form of a keyword followed by a list of parameters separated by spaces or special characters. Similar to a Unix shell builtin , if an internal command is recognized, it is carried out by the CCP itself. Otherwise it attempts to find an executable file on the currently logged disk drive and (in later versions) user area, loads it, and passes it any additional parameters from
2430-529: The TOPS-10 operating system of the DECsystem-10 mainframe computer , which Kildall had used as a development environment. An early outside licensee of CP/M was Gnat Computers , an early microcomputer developer out of San Diego, California . In 1977, the company was granted the license to use CP/M 1.0 for any micro they desired for $ 90. Within the year, demand for CP/M was so high that Digital Research
2520-486: The extension .COM on disk. The BIOS directly controls hardware components other than the CPU and main memory. It contains functions such as character input and output and the reading and writing of disk sectors. The BDOS implements the CP/M file system and some input/output abstractions (such as redirection) on top of the BIOS. The CCP takes user commands and either executes them directly (internal commands such as DIR to show
2610-527: The 16-bit Intel 80286 's new memory management and protection features to run existing MP/M-86 and CP/M-86 applications. This was apparently never published "as is", but was further developed into Concurrent CP/M-286 , which seems to have formed the basis for the later Concurrent DOS 286 in 1985 and FlexOS 286 in 1986. The following list of commands are supported by the MP/M II Console Command Processor CCP: In
2700-585: The 16-bit Intel 8086 , and appeared as MP/M-86 2.0 in September 1981. Main developers of the system include Francis "Frank" R. Holsworth, later a director of marketing at Digital Research. Known revisions of MP/M-86 2.0 were dated 25 September 1981 and 5 October 1981. There also was an MP/M-86 2.1 dated 20 July 1982. MP/M-86 2.1 absorbed some of the technology of CP/M-86 1.1 (BDOS 2.2) to become Concurrent CP/M-86 3.0 (BDOS 3.0) in late 1982, which also added support for "virtual screens". Kathryn Strutynski ,
2790-441: The 7-bit boundary. In the 8-bit versions, while running, the CP/M operating system loaded into memory has three components: The BIOS and BDOS are memory-resident, while the CCP is memory-resident unless overwritten by an application, in which case it is automatically reloaded after the application finished running. A number of transient commands for standard utilities are also provided. The transient commands reside in files with
MP/M - Misplaced Pages Continue
2880-429: The 8080 I/O address space. All of these variations in the hardware are concealed from other modules of the system by use of the BIOS, which uses standard entry points for the services required to run CP/M such as character I/O or accessing a disk block. Since support for serial communication to a modem is very rudimentary in the BIOS or may be absent altogether, it is common practice for CP/M programs that use modems to have
2970-421: The 8080 and would run on systems that did not have the requisite Z80 microprocessor. Features of ZCPR as of version 3 included shells, aliases, I/O redirection, flow control, named directories, search paths, custom menus, passwords, and online help. In January 1987, Richard Conn stopped developing ZCPR, and Echelon asked Jay Sage (who already had a privately enhanced ZCPR 3.1) to continue work on it. Thus, ZCPR 3.3
3060-429: The CP/M base included Robert "Bob" Silberstein and David "Dave" K. Brown. CP/M originally stood for "Control Program/Monitor", a name which implies a resident monitor —a primitive precursor to the operating system. However, 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". The CP/M name follows
3150-645: The Digital Research distributed core of CP/M (BDOS, CCP, core transient commands) did not use any of the Z80-specific instructions, many Z80-based systems used Z80 code in the system-specific BIOS, and many applications were dedicated to Z80-based CP/M machines. Digital Research subsequently partnered with Zilog and American Microsystems to produce Personal CP/M, a ROM-based version of the operating system aimed at lower-cost systems that could potentially be equipped without disk drives. First featured in
3240-589: The IBM PC after DRI threatened legal action, it never overtook Microsoft's system. Most customers were repelled by the significantly greater price IBM charged for CP/M-86 over PC DOS ( US$ 240 and US$ 40, respectively). When Digital Equipment Corporation (DEC) put out the Rainbow 100 to compete with IBM, it came with CP/M-80 using a Z80 chip, CP/M-86 or MS-DOS using an 8088 microprocessor, or CP/M-86/80 using both. The Z80 and 8088 CPUs ran concurrently. A benefit of
3330-471: The IBM-compatible 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 S-100 boards and articles on CP/M software, but by 1987 these were no longer found in
3420-610: The Intel 80286, the FlexOS 286 DOS front-end required at least the 80286 E2 stepping to function properly (see LOADALL ). These problems had already caused delays in the delivery of Concurrent DOS 286 earlier. The system optionally supported a multitasking GEM VDI for graphical applications. FlexOS 1.31 could be linked with none, either or both of these two modules. FlexOS 1.31 also supported FlexNet . By June 1987 there were also versions 1.0 of FlexOS 386 (for hosts) and FlexOS 186 (for remote cell controllers). FlexOS 386 provided
3510-524: The Intel 8080 processor into .A86 source code for the Intel 8086. The translator would also optimize the output for code size and take care of calling conventions, so that CP/M-80 and MP/M-80 programs could be ported to the CP/M-86 and MP/M-86 platforms automatically. XLT86 itself was written in PL/I-80 and was available for CP/M-80 platforms as well as for VAX/VMS . Many expected that CP/M would be
3600-489: The Intel-contracted PL/M compiler into a commercial enterprise. The Kildalls 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 their product offerings. Intergalactic Digital Research, Inc. was later renamed via
3690-517: The NIAT, a custom handheld computer designed for A. C. Nielsen 's internal use with 1 MB of SSD memory. In 1979, a multi-user compatible derivative of CP/M was released. MP/M allowed multiple users to connect to a single computer, using multiple terminals to provide each user with a screen and keyboard. Later versions ran on 16-bit processors. The last 8-bit version of CP/M was version 3, often called CP/M Plus, released in 1983. Its BDOS
MP/M - Misplaced Pages Continue
3780-686: The OS and BIOS (this was also a common problem in early DOS machines). Bill Gates claimed that the Apple II with a Z-80 SoftCard was the single most-popular CP/M hardware platform. Many different brands of machines ran the operating system, some notable examples being the Altair 8800 , the IMSAI 8080 , the Osborne 1 and Kaypro luggables , and MSX computers. The best-selling CP/M-capable system of all time
3870-565: The Rainbow was that it could continue to run 8-bit CP/M software, preserving a user's possibly sizable investment as they moved into the 16-bit world of MS-DOS. A similar dual-processor adaption for the CompuPro System 816 [ sr ] was named CP/M 8-16 . The CP/M-86 adaptation for the 8085/8088-based Zenith Z-100 also supported running programs for both of its CPUs. Soon following CP/M-86, another 16-bit version of CP/M
3960-502: The S83 was quoted as $ 32 in 1,000 unit quantities. On most machines the bootstrap was a minimal bootloader in ROM combined with some means of minimal bank switching or a means of injecting code on the bus (since the 8080 needs to see boot code at Address 0 for start-up, while CP/M needs RAM there); for others, this bootstrap had to be entered into memory using front-panel controls each time
4050-543: The Sharp MZ-800, a cassette-based system with optional disk drives, Personal CP/M was described as having been "rewritten to take advantage of the enhanced Z-80 instruction set" as opposed to preserving portability with the 8080. American Microsystems announced a Z80-compatible microprocessor, the S83, featuring 8 KB of in-package ROM for the operating system and BIOS, together with comprehensive logic for interfacing with 64-kilobit dynamic RAM devices. Unit pricing of
4140-402: The ancestor of Borland Delphi , and Multiplan , the ancestor of Microsoft Excel , also debuted on CP/M before MS-DOS versions became available. VisiCalc , the first-ever spreadsheet program, was made available for CP/M. Another company, Sorcim , created its SuperCalc spreadsheet for CP/M, which would go on to become the market leader and de facto standard on CP/M. Supercalc would go on to be
4230-420: The basic concepts and mechanisms of early versions of MS-DOS resembled those of CP/M. Internals like file-handling data structures were identical, and both referred to disk drives with a letter ( A: , B: , etc.). MS-DOS's main innovation was its FAT file system. This 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
4320-477: The basis for their own operating systems like 4680 OS , 4690 OS , S5-DOS/MT and others. Unrelated to FlexOS, the original Concurrent DOS system architecture found a continuation in successors like Concurrent DOS XM and Concurrent DOS 386 as well. Concurrent DOS 286, Concurrent DOS 68K and FlexOS were designed by Francis "Frank" R. Holsworth (using siglum FRH). Like Portable CP/M , Concurrent DOS 286 , Concurrent DOS 68K and Concurrent DOS V60 , FlexOS
4410-661: The basis of their IBM 4680 computer for IBM Plant System products and Point-of-Sale terminals in 1986. The last release of the IBM 4680 OS has been Version 4, before it was replaced by IBM 4690 Version 1. Versions: In July 1993, IBM announced the adoption of FlexOS version 2.32 as the basis of their IBM 4690 OS Version 1, to be pre-released on 24 September 1993 and generally made available from 25 March 1994. FlexOS 2.32 supported 286 and 386 modes, had more efficient memory management, better console and pipe systems, and brought overall quality and performance improvements compared to
4500-531: The blocking and deblocking and the management of a disk buffer area is handled by model-specific code in the BIOS. Customization is required because hardware choices are not constrained by compatibility with any one popular standard. For example, some manufacturers designed built-in integrated video display systems, while others relied on separate computer terminals. Serial ports for printers and modems can use different types of UART chips, and port addresses are not fixed. Some machines use memory-mapped I/O instead of
4590-452: The command line. These are referred to as "transient" programs. On completion, BDOS will reload the CCP if it has been overwritten by application programs — this allows transient programs a larger memory space. The commands themselves can sometimes be obscure. For instance, the command to duplicate files is named PIP (Peripheral-Interchange-Program), the name of the old DEC utility used for that purpose. The format of parameters given to
SECTION 50
#17327939034824680-403: The disk. From version 1.1 or 1.2 onwards, changing a disk then trying to write to it before its directory is read will cause a fatal error to be signalled. This avoids overwriting the disk but requires a reboot and loss of the data to be stored on disk. The majority of the complexity in CP/M is isolated in the BDOS, and to a lesser extent, the CCP and transient commands. This meant that by porting
4770-473: The early 1980s Digital Research also developed networking software named CP/NET used to connect an MP/M server with multiple CP/NET clients (named requesters) running CP/M. It was originally developed by Tom Rolander. MP/NET was an MP/M system with networking allowing the MP/M system to function as both requester and server with CP/M requesters. The CP/NET clients could also be run in a diskless configuration with
4860-475: The filename extension .286 . A CP/M API front-end (FE) was available as well, using the extension .CMD for executables. (A filename extension of .68K was reserved for FlexOS 68K, a file extension derived from Concurrent DOS 68K as of 1986. ) In May 1987, FlexOS version 1.31 was released for 80286 machines. The developer version required an IBM PC/AT -compatible machine with 640 KB of conventional and 512 KB of extended memory , and either
4950-532: The following components: The only hardware system that CP/M, as sold by Digital Research, would support was the Intel 8080 Development System. Manufacturers of CP/M-compatible systems customized portions of the operating system for their own combination of installed memory, disk drives, and console devices. CP/M would also run on systems based on the Zilog Z80 processor since the Z80 was compatible with 8080 code. While
5040-409: The home market had been largely unsuccessful and most CP/M software was too expensive for home users. In 1986 the magazine stated that Kaypro had stopped production of 8-bit CP/M-based models to concentrate on sales of MS-DOS compatible systems, long after most other vendors had ceased production of new equipment and software for CP/M. CP/M rapidly lost market share as the microcomputing market moved to
5130-460: The keyboard and conveys results to the terminal. CP/M itself works with either a printing terminal or a video terminal. All CP/M commands have to be typed in on the command line . The console most often displays the A> prompt, to indicate the current default disk drive. When used with a video terminal, this is usually followed by a blinking cursor supplied by the terminal. The CCP awaits input from
5220-546: The limited number of simple routines in the BIOS to a particular hardware platform, the entire OS would work. This significantly reduced the development time needed to support new machines, and was one of the main reasons for CP/M's widespread use. Today this sort of abstraction is common to most OSs (a hardware abstraction layer ), but at the time of CP/M's birth, OSs were typically intended to run on only one machine platform, and multilayer designs were considered unnecessary. The Console Command Processor, or CCP, accepts input from
5310-480: The lowest address of the BDOS was the Transient Program Area (TPA) available for CP/M application programs. Although all Z80 and 8080 processors could address 64 kilobytes of memory, the amount available for application programs could vary, depending on the design of the particular computer. Some computers used large parts of the address space for such things as BIOS ROMs, or video display memory. As
5400-434: The lowest level functions required by the operating system. These include reading or writing single characters to the system console and reading or writing a sector of data from the disk. The BDOS handles some of the buffering of data from the diskette, but before CP/M 3.0 it assumes a disk sector size fixed at 128 bytes, as used on single-density 8-inch floppy disks. Since most 5.25-inch disk formats use larger sectors,
5490-489: The machine's "real memory" area. So for instance a program might be loaded into a "bank" of RAM that was not addressable by the CPU , and when it was time for the program to run that bank of RAM would be "switched" to appear in low memory (typically the lower 32 or 48 KB) and thus become visible to the OS. This technique, known as bank switching was subsequently added to the single user version of CP/M with version 3.0. One of
SECTION 60
#17327939034825580-513: The magazine. Later versions of CP/M-86 made significant strides in performance and usability and were made compatible with MS-DOS. To reflect this compatibility the name was changed, and CP/M-86 became DOS Plus , which in turn became DR-DOS . ZCPR (the Z80 Command Processor Replacement) was introduced on 2 February 1982 as a drop-in replacement for the standard Digital Research console command processor (CCP) and
5670-434: The new location of the operating system in processor memory. This newly patched version can then be saved on a new disk, allowing application programs to access the additional memory made available by moving the system components. Once installed, the operating system (BIOS, BDOS and CCP) is stored in reserved areas at the beginning of any disk which can be used to boot the system. On start-up, the bootloader (usually contained in
5760-451: The operating system because "where there are literally thousands of programs written for it, it would be unwise not to take advantage of it", Xerox said. (Xerox included a Howard W. Sams CP/M manual as compensation for Digital Research's documentation, which InfoWorld described as atrocious, incomplete, incomprehensible, and poorly indexed. ) By 1984, Columbia University used the same source code to build Kermit binaries for more than
5850-409: The owner of those Digital Research assets, on 19 October 2001. CP/M CP/M , originally standing for Control Program/Monitor and later Control Program for Microcomputers , is a mass-market operating system created in 1974 for Intel 8080 / 85 -based microcomputers by Gary Kildall of Digital Research, Inc. CP/M is a disk operating system and its purpose is to organize files on
5940-417: The primary uses of MP/M, perhaps to the surprise of DRI, was as a "power user" version of CP/M for a single user. The ability to run several programs at the same time and address large amounts of memory made the system worth the extra price. MP/M II 2.0 added file sharing capabilities in 1981, MP/M II 2.1 came with extended file locking in January 1982. Versions: Like CP/M, MP/M was eventually ported to
6030-479: The project manager for CP/M-86, continued as project manager for Concurrent CP/M-86. In December 1983, a DOS emulator named PC-MODE became available as an optional module for Concurrent CP/M-86 3.1 (BDOS 3.1), shipping on 21 February 1984, and the system was further developed into the MS-DOS compatible Concurrent DOS (BDOS 3.1 and higher). This in turn continued to evolve into FlexOS and Multiuser DOS and as such
6120-513: 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 KB of memory, while CP/M could run in 16 KB if necessary), more commands were built into the command-line shell , making MS-DOS somewhat faster and easier to use on floppy-based computers. Although one of the first peripherals for the IBM PC was a SoftCard-like expansion card that let it run 8-bit CP/M software, InfoWorld stated in 1984 that efforts to introduce CP/M to
6210-458: The similarly named CONFIG.SYS configuration file under DOS ), and its shell (COMMAND.286) would execute a CONFIG.BAT startup batch job instead of the common AUTOEXEC.BAT . FlexOS's optional DOS emulator provided limited PC DOS 2.1 compatibility for DOS .COM and .EXE programs. Certain restrictions applied in " 8086 emulation mode " since these programs were executed in the processor's protected mode. Due to bugs in earlier steppings of
6300-513: The standard operating system for 16-bit computers. In 1980 IBM approached Digital Research, at Bill Gates ' suggestion, to license a forthcoming version of CP/M for its new product, the IBM Personal Computer. Upon the failure to obtain a signed non-disclosure agreement , the talks failed, and IBM instead contracted with Microsoft to provide an operating system. The resulting product, MS-DOS , soon began outselling CP/M. Many of
6390-450: The system stored in ROM, then named CP/NOS (with NOS for Network Operating System). Similar, MP/NOS contained MP/M without local disk facilities. Like CP/NOS, MP/NOS performed the disk functions through the network. The system allowed to share files and printers and send electronic messages. CP/NET existed in versions 1.0, 1.1 and 1.2 in versions for 8080 and Z80 processors. CP/NET-86 for 8086
6480-616: The system was started. 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. WordStar used the 8th bit as an end-of-word marker. 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
6570-411: The user. A CCP internal command, of the form drive letter followed by a colon, can be used to select the default drive. For example, typing B: and pressing enter at the command prompt changes the default drive to B, and the command prompt then becomes B> to indicate this change. CP/M's command-line interface was patterned after the operating systems from Digital Equipment , such as RT-11 for
6660-484: The version that came with IBM 4680 OS Version 4. Further, it removed limits on the number of applications running concurrently due to its more efficient use of KOSPOOL. To support Java , IBM 4690 OS Version 2 added support for long filenames by means of a virtual filesystem (VFS) architecture and it introduced FAT32 volumes. According to "The Year of the Store?", IHL Consulting Group/RIS News, IBM 4690 OS still had
6750-711: Was CP/M-68K for the Motorola 68000 . The original version of CP/M-68K in 1982 was written in Pascal/MT+68k , but it was ported to C later on. CP/M-68K, already running on the Motorola EXORmacs systems, was initially to be used in the Atari ST computer, but Atari decided to go with a newer disk operating system called GEMDOS . CP/M-68K was also used on the SORD M68 and M68MX computers. In 1982, there
6840-454: Was able to increase the license to tens of thousands of dollars. Under Kildall's direction, the development of CP/M 2.0 was mostly carried out by John Pierce in 1978. Kathryn Strutynski , a friend of Kildall from Naval Postgraduate School (NPS), became the fourth employee of Digital Research Inc. in early 1979. She started by debugging CP/M 2.0, and later became influential as key developer for CP/M 2.2 and CP/M Plus. Other early developers of
6930-466: Was also a port from CP/M-68K to the 16-bit Zilog Z8000 for the Olivetti M20 , written in C , named CP/M-8000 . These 16-bit versions of CP/M required application programs to be re-compiled for the new CPUs. Some programs written in assembly language could be automatically translated for a new processor. One tool for this was Digital Research's XLT86 , which translated .ASM source code for
7020-438: Was available as well. Later incarnations were DR Net and FlexNet . Caldera permitted the redistribution and modification of all original Digital Research files, including source code, related to the CP/M and MP/M families through Tim Olmstead 's "The Unofficial CP/M Web site" since 1997. After Olmstead's death on 12 September 2001, the free distribution license was refreshed and expanded by Lineo , who had meanwhile become
7110-482: Was bought by their competitor Wind River Systems in February 2000. The following list of commands is supported by FlexOS: Known FlexOS versions include: Motorola 68000 / Freescale / NXP ColdFire MCF5251 platform: Intel 80286 platform: Intel 80186 / NEC V20 / V30 platform: Intel 80386 platform: NEC V60 platform: Named IBM 4680 OS Version 1, IBM originally chose DR Concurrent DOS 286 as
7200-416: Was considered to become a successor of Digital Research's earlier Concurrent DOS , but with a new, modular, and considerably different system architecture and portability across several processor families. Still named Concurrent DOS 68K and Concurrent DOS 286 , it was renamed into FlexOS on 1 October 1986 to better differentiate the target audiences. FlexOS was licensed by several OEMs who selected it as
7290-399: Was designed by David K. Brown. It incorporated the bank switching memory management of MP/M in a single-user single-task operating system compatible with CP/M 2.2 applications. CP/M 3 could therefore use more than 64 KB of memory on an 8080 or Z80 processor. The system could be configured to support date stamping of files. The operating system distribution software also included
7380-467: Was developed and released. ZCPR 3.3 no longer supported the 8080 series of microprocessors, and added the most features of any upgrade in the ZCPR line. ZCPR 3.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. A minimal 8-bit CP/M system would contain
7470-512: Was eventually displaced by DOS following the 1981 introduction of the IBM PC . Gary Kildall originally developed CP/M during 1974, as an operating system to run on an Intel Intellec-8 development system, equipped with a Shugart Associates 8-inch floppy-disk drive interfaced via a custom floppy-disk controller . It was written in Kildall's own PL/M ( Programming Language for Microcomputers ). Various aspects of CP/M were influenced by
7560-426: 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),
7650-562: Was probably the Amstrad PCW . In the UK, CP/M was also available on Research Machines educational computers (with the CP/M source code published as an educational resource), and for the BBC Micro when equipped with a Z80 co-processor. Furthermore, it was available for the Amstrad CPC series, the Commodore 128 , TRS-80 , and later models of the ZX Spectrum . CP/M 3 was also used on
7740-465: Was the project manager for the evolving CP/M-86 line of operating systems. At this point, the original 8-bit CP/M became known by the retronym CP/M-80 to avoid confusion. 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 86-DOS . Although CP/M-86 became an option for
7830-510: Was used as the primary test platform for the new Novell Embedded Systems Technology (NEST). When Novell decided to abandon further development of the various Digital Research operating systems such as Multiuser DOS (a successor to Concurrent DOS) and Novell DOS (a successor to DR DOS ), they sold FlexOS off to the Santa Clara , California-based Integrated Systems Inc. (ISI) for US$ 3 million in July 1994. The deal comprised
7920-470: Was widely used in business through the late 1970s and into the mid-1980s. CP/M increased the market size for both hardware and software by greatly reducing the amount of programming required to port an application to a new manufacturer's computer. An important driver of software innovation was the advent of (comparatively) low-cost microcomputers running CP/M, as independent programmers and hackers bought them and shared their creations in user groups . CP/M
8010-422: Was written for CP/M than for operating systems that ran on only 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. Another was graphics routines, especially in games and graphics programs, which were generally machine-specific as they used direct hardware access for speed, bypassing
8100-450: Was written in C for higher portability across hardware platforms, and it featured very low interrupt latency and fast context switching. The original protected mode FlexOS 286 version 1.3 was designed for host machines equipped with 286 CPUs, and with adaptations for NEC V60 , NEC V70 and Motorola 68000 processors planned. FlexOS 286 executables using the system's native INT DCh ( INT 220 ) application program interface had
#481518