Vintage Computers: Other Pages :
|
Oscar Vermeulen's Personal Web Site | |||||||||||||
A Quick Overview of CP/M
On this page, you will find an outline of CP/M's history, as well as an emulator loaded with the important software of the period. After that, a second page holds a brief overview of the inner workings of the system. The purpose of it all is to give interested newcomers to CP/M a flavour of what the system offered. Although antique, it still has relevance in three respects, which really justify giving CP/M a closer look:
Because CP/M was one of the very first operating systems, working on minimal hardware, it is very easy to understand. If you feel like finding out how exactly computers work, from the ground up, studying CP/M is the best way to do it. A Quick Tour of History | Try a CP/M Emulator | Getting Started with CP/M | CP/M How-To's A Quick Tour of History
The ad to the left is from February, 1977 and shows the whole Altair product range of MITS, at a time when peripherals suchs as a disk drive and paper tape reader were already introduced. MITS had a poor quality reputation, and that - in combination with the machine having an open expansion bus - sparked off the S-100 computer industry. Soon, serial terminals were attached and disk drive units became available. Gary Kildall, founder of Digital Research, wrote CP/M as a standard disk operating system. Version 1.4 was the first public version, and was tied closely to the use of 8" disks. Version 2.2 was the next version for general release. This version made significant improvements, most notably, the support of 5.25" disks and increased hardware independence. A version 3 became available much later, after CP/M had already peaked in its popularity. MP/M was a multi-user version of CP/M.
Soon after the Altair, a whole range of S-100 computer vendors sprang up. Where Altair was noted for its cheap but flaky hardware, Cromemco was at the high quality end of the spectrum. Cromemco, more than any other company, commercialised the microcomputer in its first years. Their machines were typical of the early CP/M machines: large metal boxes with a motherboard, which only held a row of connectors. The computer was built up from a processor card, floppy disk card, memory card and interface card - all of which were plugged in to the motherboard.
The rise of the all-in-one designs The S-100 bus, although very expandable, was a bulky way of building computers. At the end of the 70s, all-in-one type computers become more prevalent. With keyboard and screen built in and a small single motherboard rather than a card cage with separate processor, disk and memory cards, these machines were way cheaper to build - and probably, a lot more reliable in most cases.
'Modern' CP/M incarnations At the end of its life span, in 1982-1985, CP/M-compatible hardware had become very cheap to manufacture. CP/M computers had always been at the upper end of the microcomputer market, but with the arrival of machines like the Bondwell 12, CP/M systems now became very affordable. Even later, Amstrad in the UK would offer CP/M as an option on its cheap home computers - as Commodore did on its 128.
A CP/M EmulatorAlthough nothing beats the feeling of a real CP/M machine, there are many emulators which do an excellent job of replicating a CP/M system on a normal PC. As CP/M computers, by today's standards, are tiny in their processing power, emulators tend to be very small programs.
What you get: The A: drive contains some system support files, the C:
drive contains a fully loaded hard drive with all the main CP/M programs.
To mention some:
|
DIR |
(show directory of the disk drive) |
drive: |
(switches default drive, where drive is A, B, or C if there is a hard disk) |
ERA file |
(deletes file) |
TYPE file |
(types file on screen) |
file |
(starts the program file.com) |
SAVE n filename.com |
(save the first n 256-byte blocks from program memory
|
USER n |
(n between 0-15). Disk files created by one user are
invisible to another;
|
Obviously, there is more. Here is the full list of CP/M commands. Some of these are transient commands (things like DIR are built in to the command line interpreter) and others are external programs that load from disk (like PIP, the file copy command).
In the late 90s, CP/M was put into the public domain by its then-owner, Caldera. As a result, the original CP/M 2.2 manual, along with all other manuals and CP/M source code is available (here, at Gaby Chaudry's website).
Below is a selection of how-to's that can help you in actually using a CP/M system:
I have tried to give a concise overview of CP/M's internal workings here: Internals - how it works.
The Commercial CP/M Software archive holds pretty much every well-known CP/M program. Gaby Chaudry's web site is the home of many CP/M related things, most notably the Unofficial CP/M web site, which holds all the original source code from Digital Research as well as all CP/M releases and manuals. The best CP/M emulator is still MyZ80, written by Simeon Cran. But the SIMH emulator found at Peter Schorn's site is an excellent way to go more in-depth into Altair hardware emulation, as he gives all the source code. Lastly, I prefer the YAZE emulator as the best source to play around with for my own projects. It is quite portable C-code, and that allows you to run CP/M on pretty much any platform.
Last updated January, 2003 by Oscar Vermeulen