"CP/M compatible" vs. "MS-DOS Compatible" machines?

Chuck Guzis cclist at sydex.com
Wed Jan 30 12:57:15 CST 2008


> From: "Joshua Alexander Dersch": 

> Were there similar problems in the CP/M world?  That is, was it
> commonplace for there to be CP/M programs that bypassed CP/M BDOS calls
> and wrote directly to a specific machine's hardware?  Seems like CP/M
> developers were more disciplined in this fashion, but maybe it's just
> because in the CP/M arena there were so many different pieces of hardware
> it was the only way to do it?  (Whereas with IBM, the PC was seen as more
> of a reference standard, even if it wasn't really that way in the
> beginning?) 

The great thing about CP/M (and I'm talking about the 8-bit version 
here) was that it imposed a file system and made disk I/O uniform--
128 byte sectors, regardless of how the information was actually 
formatted onto a drive.  CP/M was really primitive when it came to 
console I/O, giving only about 3 functions for output and input each. 
No cursor positioning or screen control; basic TTY style I/O.  And, 
while there was an IOBYTE facility to redirect I/O, implementation 
was very nonuniform between vendors.

As a result, for other than simple command-line utility programs and 
compilers/assemblers and the like with minimal I/O requirements, most 
productivity and comms programs had to go to the hardware directly 
for display and communications.

And that, I think was the innovation of programs such as WordStar and 
SuperCalc, and, to a lesser extent MODEM7 and Kermit--that you were 
running on an operating system that was basically designed for TTY 
I/O with no connectivity and the majority of systems were using CRTs 
and had modems.  The problem became then how to make a single program 
work for everyone--and that was done with custom patch overlays.

DRI, for its part, seemed to remain blissfully ignorant of both of 
these aspects.

Likewise, it wasn't MS-DOS that was the great advance for the IBM PC 
platform, but rather the well-documented BIOS and I/O interfaces.  
Heck, PC-DOS 1.0 wasn't that different from CP/M-86--you still had to 
do your disk I/O through FCBs, just like CP/M.  I believe, to this 
day, you can still issue your DOS calls by loading (CL) with the 
request number and calling TPA:0005.

Cheers,
Chuck



More information about the cctalk mailing list