CP-M.mdwn (1021B)
1 **CP/M** (Control Program for Microcomputers) is a small disk-based 2 [[operating system]] from the 1970s. It was originally only for computers 3 with an 8080-compatible processor (including Z80 and 8085), but there are 4 also versions for x86, 68000 and Z8000. 5 6 The main difference between CP/M and [[DOS]] is that while DOS programs 7 commonly expect a degree of [[IBM PC]] hardware compatibility, the only 8 common denominator in CP/M software is the CPU instruction set. Even 9 terminal control codes such as cursor movement can't be expected to be the 10 same across CP/M-compatible computers. 11 12 Porting CP/M to a new 8080/Z80-based computer involves rewriting a rather 13 limited set of hardware subroutines in order to handle the disk and console 14 I/O. This can be a much simpler task than e.g. physically building the 15 hardware. This makes CP/M an appealing option for DIY computers and 16 [[collapse computing]]. 17 18 For translating 8-bit CP/M software to x86 there was a rather sophisticated 19 assembly source code translator called XLT86.