Cp/M was a cross-platform operating system with several
layers to provide
support for any platform for which the base functions of CP/M were
compiled. In other words, if your machine boots cp/m then you can run the
vast majority of CP/M programs. Some you won't. A good example of a
situation in which a program cannot run is if it takes advantage of
non-standard system calls to access the video subsystem. There are quite
a few of these programs but most are commercial such as CPT system
accounting, spreadsheet and word processing. The CPT had a very custom
full-page physical display.
Well thats only true if unique BIOS calls or direct IO was done. If you
used the
standard BDOS calls then compatability was assured save for sillyness like
terminal control sequences.
The worst offenders for this were the modem programs as they needed speed
and CPM could but often didn't have interrupt driven IO or IOBYTE
implemented.
Probably the most important setting in CP/M is your
terminal settings.
CP/M software will run on anything but does have to be informed as to what
termninal type (ie ADM3a, Soroc, Televideo, Etcetera) in order to operate
correctly. --
Often taken care of in the install program.