CP/M-80 V2.2 Features
This document copyright Herbert R. Johnson 2007. Updated Oct 8 2007.
To return to my Digital Research page click here.
To return to my S-100 Home page click here.
To contact me @ email follow this link.
Introduction
This is a bare summary of CP/M-80's features, tools, and functions; and a summary of how to migrate CP/M-80 to another 8080-based system. CP/M is an operating system which operates a diskette drive with files on various diskettes; a character-based terminal to run programs and to edit text and source code; and devices like a text printer and paper-tape storage. Users interact with programs, or with the CP/M "console" program the CCP, through the terminal. Programs access files on diskettes or on paper tape. Tools are included to develop and test programs, and to edit programs and documents.
Gary Kildall's achievement in producing CP/M was to provide a complete set of tools to not only develop and run programs, but to migrate CP/M to other hardware - yet it did not include the "source code" for the tools or operating system! And, he ISOLATED the hardware in a BIOS so a CP/M program normally need not "see" different hardware. That made most CP/M programs "generic" and independent of specific hardware. Version 2.2 completed a series of updates which also moved disk formats and features into the BIOS; that allowed support of multiple disk formats at a time when there was no standards for them.
Therefore, CP/M became a dominant operating system for 8080 and Z80 based computers of the 1970's and into the 1980's. The history of that development is described in a series of documents in my Digital Research Inc. (DRI) Web documents, reached from this home link.
features, programs, methods
Built-in commands from CCP, command processor:
- ERA - erase files
- DIR - file directory
- REN - rename file
- SAVE - save memory to file
- TYPE - output file to console
- USER - set user number 0-15, to access sets of files
transient commmands as programs with CP/M:
- STAT - disk and file status
- ASM - assemble from 8080 source to hex
- DDT - object debugger and disassembler
- LOAD - hex file to memory
- PIP - file and device interchange
- ED - text editor
- SYSGEN - generate new CP/M from image in memory
- SUBMIT - batch file execution in CCP
- DUMP - hex dump of file
- MOVCPM - memory move of CP/M BDOS and CCP image
source code:
- generic BIOS, BOOT, GETSYS, PUTSYS source
- example DUMP source
- specific versions plus FORMAT for your system hardware often included
BIOS for CP/M:
- entry points at start as series of jump instructions
- boot, I/O, disk parameters, disk/track/sector/DMA setup, read/write sector
- **all system I/O hardware code in BIOS, none in CP/M BDOS or CCP**
- **disk parameters** are features of diskette or hard drive "format"
CP/M 2.2 system calls:
- via address at 0005H, call value in C register (0-40), address in DE, data other regs
- I/O to console, paper tape, list, printer
- FDOS disk I/O: file creation, open, close; directory, rename, delete; random or sequential read/write
CP/M disk structure:
- first tracks with boot, OS code to load
- directory with name, user number, links to file extents (sets of record blocks)
- 8.3 for filename & extension
- remainder of disk as tracks with sectors in some "logical" order vs. physical sequence
CP/M alteration for another system:
- rewrite BIOS for new hardware
- rewrite GETSYS/PUTSYS to read or write to boot tracks
- rewrite FORMAT to format new disks with correct sectors and tracks
- rewrite BOOT to boot system from system tracks
- use MOVCPM to create CCP and BDOS image in memory, use SAVE to file it
- use DDT to load moved image, plus new BOOT and BIOS, into memory
- use SYSGEN to take memory image and write to test disk's boot tracks
- reboot from test disk and debug results
Contact information:
Herb Johnson
New Jersey, USA
To email @ me, see see my ordering Web page.
Copyright © 2007 Herb Johnson