permacomputing

Source repository for the main permacomputing wiki site
git clone http://git.permacomputing.net/repos/permacomputing.git # read-only access
Log | Files | Refs

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.