Misplaced Pages

Altos Computer Systems

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
#603396

119-431: Altos Computer Systems was founded in 1977 by David G. Jackson and Roger William Vass Sr. It focused on small multi-user computers, starting with multi-user derivatives of CP/M , and later including Unix and Xenix -based machines. In its 1982 initial public offering on NASDAQ , the company raised $ 59M. Thereafter the company's stock was traded under the symbol ALTO. Coming under increasing pressure from competitors in

238-450: A +12  V and a −5 V voltage in addition to the main transistor–transistor logic (TTL) compatible +5 V. Microprocessor customers were reluctant to adopt the 8008 because of limitations such as the single addressing mode, low clock speed, low pin count, and small on-chip stack, which restricted the scale and complexity of software. There were several proposed designs for the 8080, ranging from simply adding stack instructions to

357-584: A 40 MB disk drive (and sticker price of $ 14,500), while an 80-MB disk version was offered in the first quarter of 1983 (for $ 16,500). As business packages were generally lacking for the ACS 68000, it was mostly sold through OEMs rather than Altos' own dealer network. The first version of the Oracle database which ran on Unix (version 3) was announced supporting the ACS68000 among other similar "supermicro" computers like

476-455: A 40 MB hard drive launched at $ 18,980. By 1983, Altos was the leading 8086-based Unix vendor, running Xenix . In 1982, Altos diversified its product line yet again with the introduction of the ACS68000, which was based on the Motorola 68000 processor (at 8 MHz) and was intended to support up to 16 users. It shipped with Unix System III initially. The machine was initially offered with

595-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

714-404: A brief history of the company, which ran as an advertisement on their 10th anniversary, Altos Computer Systems was started by Dave Jackson in 1977 when he designed a single-board microcomputer in a room he rented on Stevens Creek Boulevard. According to this account, the company bootstrapped itself with profitable sales from the beginning, with a revenue of $ 260,000 in the first year. Jackson named

833-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

952-525: A computed pointer can be executed with PCHL . LHLD loads HL from directly addressed memory and SHLD stores HL likewise. The XCHG instruction exchanges the values of the HL and DE register pairs. XTHL exchanges last item pushed on stack with HL. then if A 4-7 > 9 OR Cy = 1 then A ← A + 0x60 The 8080 supports up to 256 input/output (I/O) ports, accessed via dedicated I/O instructions taking port addresses as operands. This I/O mapping scheme

1071-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

1190-453: A corresponding interrupt service routine , but are also often employed as fast system calls . The instruction that executes slowest is XTHL , which is used for exchanging the register pair HL with the value stored at the address indicated by the stack pointer. All 8-bit operations with two operands can only be performed on the 8-bit accumulator (the A register). The other operand can be either an immediate value, another 8-bit register, or

1309-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

SECTION 10

#1732782852604

1428-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

1547-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

1666-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

1785-479: A memory address, or a port number. Like more advanced processors, it has automatic CALL and RET instructions for multi-level procedure calls and returns (which can even be conditionally executed, like jumps) and instructions to save and restore any 16-bit register pair on the machine stack. Eight one-byte call instructions ( RST ) for subroutines exist at the fixed addresses 00h, 08h, 10h, ..., 38h. These are intended to be supplied by external hardware in order to invoke

1904-456: A memory byte addressed by the 16-bit register pair HL. Increments and decrements can be performed on any 8 bit register or an HL-addressed memory byte. Direct copying is supported between any two 8-bit registers and between any 8-bit register and an HL-addressed memory byte. Due to the regular encoding of the MOV instruction (using a quarter of available opcode space), there are redundant codes to copy

2023-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

2142-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

2261-462: A printer and one terminal was priced at $ 12,340 (the same machine but with four terminals was $ 15,625), which was considerably less than most other multi-user systems, which were typically priced in the $ 25,000–$ 50,000 range. Altos thus carved for itself a niche in the low-cost multi-user systems. The lack of any expansion slots was judged however as fairly limiting. Their omission, as well the omission of circuitry that would have been necessary to connect

2380-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

2499-706: A register into itself ( MOV B,B , for instance), which are of little use, except for delays. However, the systematic opcode for MOV M,M is instead used to encode the halt ( HLT ) instruction, halting execution until an external reset or interrupt occurs. Although the 8080 is generally an 8-bit processor, it has limited abilities to perform 16-bit operations. Any of the three 16-bit register pairs (BC, DE, or HL, referred to as B, D, H in Intel documents) or SP can be loaded with an immediate 16-bit value (using LXI ), incremented or decremented (using INX and DCX ), or added to HL (using DAD ). By adding HL to itself, it

SECTION 20

#1732782852604

2618-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

2737-553: 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. Intel 8080 The Intel 8080 ( "eighty-eighty" ) is the second 8-bit microprocessor designed and manufactured by Intel . It first appeared in April 1974 and

2856-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 ,

2975-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

3094-418: Is a disk operating system and its purpose is to organize files on 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

3213-843: Is also supported by NEC's V30 (a similarly enhanced 8086 clone). Thus, the 8080, via its instruction set architecture (ISA), made a lasting impact on computer history. A number of processors compatible with the Intel 8080A were manufactured in the Eastern Bloc : the KR580VM80A (initially marked as КР580ИК80) in the Soviet Union , the MCY7880 made by Unitra CEMI in Poland , the MHB8080A made by TESLA in Czechoslovakia ,

3332-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

3451-524: Is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility . Although earlier microprocessors were commonly used in mass-produced devices such as calculators , cash registers , computer terminals , industrial robots , and other applications, the 8080 saw greater success in a wider set of applications, and is largely credited with starting the microcomputer industry. Several factors contributed to its popularity: its 40-pin package made it easier to interface than

3570-469: Is for a subroutine named memcpy that copies a block of data bytes of a given size from one location to another. The data block is copied one byte at a time, and the data movement and looping logic utilizes 16-bit operations. The address bus has its own 16 pins, and the data bus has 8 pins that are usable without any multiplexing. Using the two additional pins (read and write signals), it is possible to assemble simple microprocessor devices very easily. Only

3689-464: Is indeed addressed as if they were memory cells, "memory-mapped", leaving the I/O commands unused. I/O addressing can also sometimes employ the fact that the processor outputs the same 8-bit port address to both the lower and the higher address byte (i.e., IN 05h would put the address 0505h on the 16-bit address bus). Similar I/O-port schemes are used in the backward-compatible Zilog Z80 and Intel 8085, and

Altos Computer Systems - Misplaced Pages Continue

3808-459: Is neither source code compatible nor binary code compatible with its predecessor. Every instruction in the 8008 has an equivalent instruction in the 8080. The 8080 also adds 16-bit operations in its instruction set. Whereas the 8008 required the use of the HL register pair to indirectly access its 14-bit memory space, the 8080 added addressing modes to allow direct access to its full 16-bit memory space. The internal 7-level push-down call stack of

3927-519: Is possible to achieve the same result as a 16-bit arithmetical left shift with one instruction. The only 16-bit instructions that affect any flag is DAD , which sets the CY (carry) flag in order to allow for programmed 24-bit or 32-bit arithmetic (or larger), needed to implement floating-point arithmetic . BC, DE, HL, or PSW can be copied to and from the stack using PUSH and POP . A stack frame can be allocated using DAD SP and SPHL . A branch to

4046-474: Is regarded as an advantage, as it frees up the processor's limited address space. Many CPU architectures instead use so-called memory-mapped I/O (MMIO), in which a common address space is used for both RAM and peripheral chips. This removes the need for dedicated I/O instructions, although a drawback in such designs may be that special hardware must be used to insert wait states, as peripherals are often slower than memory. However, in some simple 8080 computers, I/O

4165-466: Is still being commercialized as of December 2013, although Acer also commercialized servers under the other brands it has acquired, such as Gateway , as part of its multi-brand strategy . 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

4284-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

4403-456: The 8086 to have its assembly language be similar enough to the 8080, with most instructions mapping directly onto each other, that transpiled 8080 assembly code could be executed on the 8086. The initial specified clock rate or frequency limit was 2  MHz , with common instructions using 4, 5, 7, 10, or 11 clock cycles. As a result, the processor is able to execute several hundred thousand instructions per second . Two faster variants,

4522-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

4641-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

4760-713: The Tandy Model 16 , and the Fortune 32:16 . Other multi-user computers: Altos also sold a number of accompanying terminal models, from Altos II to Altos IV. Typically, these were VT100 compatible. After it was acquired by Acer, Altos started to sell Unix servers derived from Acer products. For example, in February 1993, Altos was offering servers based on AcerPower 486e ( EISA -based) systems, but bundled with Unix. In December of that year, Acer unified its server line with that of Altos and created its Acer Altos brand, which

4879-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

Altos Computer Systems - Misplaced Pages Continue

4998-506: The x86 and DOS for the PC a decade later). In 1979, even after the introduction of the Z80 and 8085 processors, five manufacturers of the 8080 were selling an estimated 500,000 units per month at a price around $ 3 to $ 4 each. The first single-board microcomputers , such as MYCRO-1 and the dyna-micro / MMD-1 (see: Single-board computer ) were based on the Intel 8080. One of the early uses of

5117-523: The +12 V pin being connected to +5 V and the −5 V pin to ground. The pin-out table, from the chip's accompanying documentation, describes the pins as follows: A key factor in the success of the 8080 was the broad range of support chips available, providing serial communications, counter/timing, input/output, direct memory access, and programmable interrupt control amongst other functions: The 8080 integrated circuit uses non-saturated enhancement-load nMOS gates, demanding extra voltages (for

5236-458: The 18-pin 8008, and also made its data bus more efficient; its NMOS implementation gave it faster transistors than those of the P-type metal–oxide–semiconductor logic (PMOS) 8008, while also simplifying interfacing by making it TTL-compatible ; a wider variety of support chips were available; its instruction set was enhanced over the 8008; and its full 16-bit address bus (versus the 14-bit one of

5355-419: The 4004 with him, from Japan in November 1972. Shima did the detailed design under Faggin's direction, using the design methodology for random logic with silicon gate that Faggin had created for the 4000 family and the 8008. The 8080 was explicitly designed to be a general-purpose microprocessor for a larger number of customers. Much of the development effort was spent trying to integrate the functionalities of

5474-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

5593-406: The 8008 to a complete departure from all previous Intel architectures. The final design was a compromise between the proposals. Federico Faggin , the originator of the 8080 architecture in early 1972, proposed the chip to Intel's management and pushed for its implementation. He finally got the permission to develop it nine months later. Faggin hired Masatoshi Shima , who helped design the logic of

5712-575: The 8008 was replaced by a dedicated 16-bit stack-pointer (SP) register. The 8080's 40-pin DIP packaging permits it to provide a 16-bit address bus and an 8-bit data bus , enabling access to 64  KiB (2 bytes) of memory. The processor has seven 8-bit registers (A, B, C, D, E, H, and L), where A is the primary 8-bit accumulator. The other six registers can be used as either individual 8-bit registers or in three 16-bit register pairs (BC, DE, and HL, referred to as B, D and H in Intel documents) depending on

5831-402: The 8008's supplemental chips into one package. It was decided early in development that the 8080 was not to be binary-compatible with the 8008, instead opting for source compatibility once run through a transpiler, to allow new software to not be subject to the same restrictions as the 8008. For the same reason, as well as to expand the capabilities of stack-based routines and interrupts, the stack

5950-501: The 8008) enabled it to access 64 KB of memory, four times more than the 8008's range of 16 KB. It was used in the Altair 8800 and subsequent S-100 bus personal computers until it was replaced by the Z80 in this role, and was the original target CPU for CP/M operating systems developed by Gary Kildall . The 8080 directly influenced the later x86 architecture . Intel designed

6069-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

SECTION 50

#1732782852604

6188-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

6307-406: The 8080 microprocessor. The first commercially-available arcade video game to incorporate a microprocessor was Gun Fight , Midway Games ' 8080-based reimplementation of Taito 's discrete-logic Western Gun , which was released in November 1975. (A pinball machine which incorporated a Motorola 6800 processor, The Spirit of '76 , had already been released the previous month. ) The 8080

6426-459: The 8080 named INTERP/80 to run compiled PL/M programs. It was written in FORTRAN IV by Gary Kildall while he worked as a consultant for Intel. There is only one patent on the 8080 with the following names: Federico Faggin, Masatoshi Shima, Stanley Mazor. The Intel 8080 is the successor to the 8008 . It uses the same basic instruction set and register model as the 8008, although it

6545-647: The 8080 was made in the late 1970s by Cubic-Western Data of San Diego, California, in its Automated Fare Collection Systems custom designed for mass transit systems around the world. An early industrial use of the 8080 is as the "brain" of the DatagraphiX Auto-COM (Computer Output Microfiche) line of products which takes large amounts of user data from reel-to-reel tape and images it onto microfiche. The Auto-COM instruments also include an entire automated film cutting, processing, washing, and drying sub-system. Several early video arcade games were built around

6664-460: The 8080A-1 and 8080A-2, became available later with clock frequency limits of 3.125 MHz and 2.63 MHz respectively. The 8080 needs two support chips to function in most applications: the i8224 clock generator/driver and the i8228 bus controller. The 8080 is implemented in N-type metal–oxide–semiconductor logic (NMOS) using non-saturated enhancement mode transistors as loads thus demanding

6783-603: The 8080APC made by Tungsram / MEV in Hungary , and the MMN8080 made by Microelectronica Bucharest in Romania . As of 2017 , the 8080 is still in production at Lansdale Semiconductors. The 8080 also changed how computers were created. When the 8080 was introduced, computer systems were usually created by computer manufacturers such as Digital Equipment Corporation , Hewlett-Packard , or IBM . A manufacturer would produce

6902-631: The Banked XIOS implementation published in the MP/M II System Implementors Guide was written by Altos (and carries a disclaimer that it only works as-is with their Sun Series 8000). The "8000" contained in the name of Altos' first series of computer did cause some confusion in the marketplace because its name may have suggested the inclusion of the 16-bit Zilog Z8000 processor, which had just been released in 1979, although Altos' ACS-8000 did not use this processor, but

7021-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

7140-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

7259-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

SECTION 60

#1732782852604

7378-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

7497-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

7616-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

7735-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

7854-634: 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

7973-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

8092-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

8211-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

8330-663: The Z80 to the industry-standard S-100 bus, which was Intel-centric (around the Intel 8080 ) was one of the reasons why the ACS-8000 could keep its cost low (relative to its epoch). Alto's next major product line would indeed use a 16-bit processor, but it would be Intel's 8086 , seemingly chosen for reasons of availability both in terms of the hardware itself and of the CP/M-86 operating system. The ACS-8600 series, announced in October 1980 as "ACS 16000" and launched in November 1981,

8449-491: The Z80. At Intel, the 8080 was followed by the compatible and electrically more elegant 8085 . Later, Intel issued the assembly-language compatible (but not binary-compatible) 16-bit 8086 and then the 8/16-bit 8088 , which was selected by IBM for its new PC to be launched in 1981. Later NEC made the NEC V20 (an 8088 clone with Intel 80186 instruction set compatibility) which also supports an 8080 emulation mode. This

8568-412: The aforementioned interview, Vass also described their plans for the company's first multi-user computer, based on a CP/M-derived executive that they called AMEX (Altos Multiuser Executive). Their new design planned to support up to four users, by providing each user with its own 48 KB of dedicated program memory (addressable by the 8-bit Z80 processor through bank switching ), while the 16 KB of memory for

8687-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

8806-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

8925-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

9044-460: The closely related x86 microprocessor families. One of the bits in the processor state word (see below) indicates that the processor is accessing data from the stack. Using this signal, it is possible to implement a separate stack memory space. This feature is seldom used. For more advanced systems, during the beginning of each machine cycle, the processor places an eight bit status word on the data bus. This byte contains flags that determine whether

9163-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

9282-476: The company after Los Altos Hills, California , where he lived. In an interview from May 1979, the company's vice-president Roger Vass described the Altos' strategy at the time as selling OEM computer systems. Vass also said that the company's revenue had reached an annual figure of $ 5M that year, after 15 months of operations. The company's single-board computer product was named "Sun-Series 8000" at this point; it

9401-572: The development of NMOS logic fabrication, a prototype of the 8080 was completed in January 1974. It had a flaw, in that driving with standard TTL devices increased the ground voltage because high current flowed into the narrow line. Intel had already produced 40,000 units of the 8080 at the direction of the sales section before Shima characterized the prototype. It was released as requiring Low-power Schottky TTL (LS TTL) devices. The 8080A fixed this flaw. Intel offered an instruction set simulator for

9520-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

9639-483: 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

9758-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

9877-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

9996-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

10115-411: The load-gate bias). It was manufactured in a silicon gate process using a minimal feature size of 6 μm. A single layer of metal is used to interconnect the approximately 4,500 transistors in the design, but the higher resistance polysilicon layer, which required higher voltage for some interconnects, is implemented with transistor gates. The die size is approximately 20 mm . The 8080

10234-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

10353-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,

10472-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

10591-446: The memory or I/O port is accessed and whether it is necessary to handle an interrupt. The interrupt system state (enabled or disabled) is also output on a separate pin. For simple systems, where the interrupts are not used, it is possible to find cases where this pin is used as an additional single-bit output port (the popular Radio-86RK computer made in the Soviet Union , for instance). The following 8080/8085 assembler source code

10710-523: The microcomputer industry. This computer platform 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

10829-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

10948-476: The older 8-bit Z80. A 1981 review in Computerworld , comparing the ACS 8000 with other multi-user systems, found that Altos' Z80 processor was underpowered, especially for CPU-intensive tasks (most other multi-user systems used 16-bit processors by then), but the ACS-8000 was found adequate for multi-user order entry systems. A configuration with a 10-MB hard-drive plus a 1-MB 8" floppy drive, bundled with

11067-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

11186-433: The operating system's image could be shared by all users. An advertisement for the "Sun-Series ACS8000-6" sold under Altos' own brand appeared in the November 1979 issue of Byte , and indeed promised to support up to four users by means of its AMEX kernel, and supporting a maximum system memory of 208 KB. The ACS 8000 could run at least three multi-user operating systems: Altos' own AMEX, Oasis, or MP/M . The sample code for

11305-474: The particular instruction. Some instructions also enable the HL register pair to be used as a (limited) 16-bit accumulator. A pseudo-register M, which refers to the dereferenced memory location pointed to by HL, can be used almost anywhere other registers can be used. The 8080 has a 16-bit stack pointer to memory, replacing the 8008's internal stack , and a 16-bit program counter . The processor maintains internal flag bits (a status register ), which indicate

11424-666: The results of arithmetic and logical instructions. Only certain instructions affect the flags. The flags are: The carry bit can be set or complemented by specific instructions. Conditional-branch instructions test the various flag status bits. The accumulator and the flags together are called the PSW, or program status word. PSW can be pushed to or popped from the stack. As with many other 8-bit processors, all instructions are encoded in one byte (including register numbers, but excluding immediate data), for simplicity. Some can be followed by one or two bytes of data, which can be an immediate operand,

11543-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

11662-428: The separate IO space, interrupts, and DMA need added chips to decode the processor pin signals. However, the pin load capacity is limited; even simple computers often require bus amplifiers. The processor needs three power sources (−5, +5, and +12 V) and two non-overlapping high-amplitude synchronizing signals. However, at least the late Soviet version КР580ВМ80А was able to work with a single +5 V power source,

11781-455: The server market, such as Compaq and Sun Microsystems , Altos posted a $ 5M loss (its first ever) in the fiscal year ending in June, 1989. In the aftermath, Altos was acquired by Acer in 1990 for $ 94M, although mostly for its US distribution channels rather than its technology. Shortly before this acquisition, there were about 128,000 Altos systems installed throughout the world. According to

11900-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

12019-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

12138-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

12257-463: The whole computer, including processor, terminals, and system software such as compilers and operating system. The 8080 was designed for almost any application except a complete computer system. Hewlett-Packard developed the HP 2640 series of smart terminals around the 8080. The HP 2647 is a terminal which runs the programming language BASIC on the 8080. Microsoft 's founding product, Microsoft BASIC ,

12376-656: 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

12495-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

12614-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

12733-494: Was based on 4-MHz Z80 processor and shipped with 32 KB of RAM, expandable to 64 KB. Altos eschewed using the (fairly standard at the time) S-100 bus , but packed their board with a disk controller (which could connect up to two 8-inch Shugart drives), two serial and one parallel port, while also leaving room for another optional Z80 to be used as DMA controller and an optional AMD 9511 floating-point coprocessor. As operating system, this machine could use CP/M or Oasis . In

12852-415: Was based on the 8086 with a 8089 standard communications co-processor. Supported operating systems were CP/M-86, MP/M-86 , Oasis-16, and—for the first time— Xenix . This was still a machine based on 8" disk technology, both for floppy and hard disks. The entry level unit, equipped with 128 KB RAM and a single 1-MB floppy drive was priced at $ 8,990 at launch, while the high end version, with 512 KB of RAM and

12971-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

13090-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

13209-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

13328-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),

13447-459: Was moved to external memory. Noting the specialized use of general-purpose registers by programmers in mainframe systems, Faggin with Shima and Stanley Mazor decided the 8080's registers would be specialized, with register pairs having a different set of uses. This also allowed the engineers to more effectively use transistors for other purposes. Shima finished the layout in August 1973. After

13566-425: Was originally programmed for the 8080. The 8080 and 8085 gave rise to the 8086, which was designed as a source code compatible , albeit not binary compatible , extension of the 8080. This design, in turn, later spawned the x86 family of chips, which continue to be Intel's primary line of processors. Many of the 8080's core machine instructions and concepts survive in the widespread x86 platform. Examples include

13685-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

13804-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

13923-482: Was then used in later Midway arcade video games and in Taito's 1978 Space Invaders , one of the most successful and well-known of all arcade video games. Zilog introduced the Z80 , which has a compatible machine language instruction set and initially used the same assembly language as the 8080, but for legal reasons, Zilog developed a syntactically-different (but code compatible) alternative assembly language for

14042-554: Was used in many early microcomputers, such as the MITS Altair 8800 Computer, Processor Technology SOL-20 Terminal Computer and IMSAI 8080 Microcomputer, forming the basis for machines running the CP/M operating system (the later, almost fully compatible and more able, Zilog Z80 processor would capitalize on this, with Z80 and CP/M becoming the dominant CPU and OS combination of the period c.  1976 to 1983 much as did

14161-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

#603396