Posts

CP/M Internals

Image
The reason most people are still drawn to CP/M is because it is so easy to fully understand the system, up from the tiniest detail. Yet, CP/M is the direct predecessor of MS-DOS (which was modeled very closely after CP/M) and has full functionality for normal use. If you know CP/M, you understand the low-level basics of any PC, and it gives you a level of understanding of the hardware that you'd never gain with, for instance, Linux. In short, understanding CP/M is relatively easy, and it gives you an insight in today's computers that is hard to obtain in any other way. CP/M essentially provides programs with a set of function calls that allow them to communicate with the computer's I/O devices in a standardized manner. These system calls (the BDOS functions) ensure that user programs never have to bother with how the computer hardware stores a file or puts text on a screen - instead, the system calls can be relied upon to do the job. That concept is the basis for any operat...

CP/M Hardware

 A minimal 8-bit CP/M system would contain the following components:  A computer terminal using the ASCII character set An Intel 8080 (and later the 8085) or Zilog Z80 microprocessor The NEC V20 and V30 processors support an 8080-emulation mode that can run 8-bit CP/M on a PC-DOS/MS-DOS computer so equipped, though any PC clone could run CP/M-86. At least 16 kilobytes of RAM, beginning at address 0. The CPU could support up to 64 kilobytes. A means to bootstrap the first sector of the diskette.   At least one floppy-disk drive 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 the Digital Research distributed core of CP...

CP/M Commands

 CP/M has two types of commands: built-in and transient.   If the CCP does not recognize the command as one of the built-in commands, it then searches the current disk for a file of the same name as the command and tries to load and execute it. In this way CP/M can be extended by any user developed program as a command. The built in commands are part of the CCP and are always available from the command prompt ERA - Erased one or more files from the disk DIR - Displays a directory of filenames on the disk REN - Renames a specified file SAVE - Saves blocks of memory contents to a file TYPE - Displays the contents of a file on the console USER - Changes the user number for disk access The transient commands are loaded into the TPA from disk and executed.   Here are some of the typical transient commands bundled with CP/M 2.2: STAT - Lists the number of bytes of storage remaining on the currently logged disk, provides statistical information about particular ...

A Brief History of 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 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. Gary Kildall originally developed CP/M 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 the TOPS-10 operating system of the DECsystem-10 mainframe computer, which Kildall had ...

What is CP/M

CP/M is a monitor control program for microcomputer system development that uses floppy disks or Winchester hard disks for backup storage. Using a computer system based on an 8080 or Z-80 compatible microcomputer, CP/M provides an environment for program construction, storage, and editing, along with assembly and program checkout facilities. CP/M can be easily altered to execute with any computer configuration that uses a compatible Central Processing Unit (CPU) and has at least 20K bytes of main memory with up to 16 disk drives. Although the standard Digital Research version operates on a single-density Intel MDS 800, several different hardware manufacturers support their own input-output (I/O) drivers for CP/M. The CP/M monitor provides rapid access to programs through a comprehensive file management package. The file subsystem supports a named file structure, allowing dynamic allocation of file space as well as sequential and random file access. Using this file system, a large numbe...

Introduction to 8-Bit Microprocessors

Image
8-bit microprocessors were the first widely used microprocessors in the computing industry, marking a major shift from mainframes and minicomputers to smaller, more affordable systems. The introduction of 8-bit processors in the 1970s enabled the production of personal computers, leading to the popularization of computing and setting the foundation for the modern computing landscape. 8008 The first commercial 8-bit processor was the Intel 8008 in 1972 which was originally intended for the Datapoint 2200 intelligent terminal. Intel's first 8-bit microprocessor, designed by a team including Ted Hoff, Stan Mazor, and Federico Faggin, who had also worked on the 4004.  The chip, limited by its 18-pin DIP, has a single 8-bit bus working triple duty to transfer 8 data bits, 14 address bits, and two status bits. The small package requires about 30 TTL support chips to interface to memory. For example, the 14-bit address, which can access "16 K × 8 bits of memory", needs to be lat...