Hacker News new | ask | show | jobs
by kv85s 2370 days ago
MS-DOS user experience was extremely similar CP/M. In fact, one could safely say MS-DOS/PC-DOS only existed in the first place as a "quick and dirty" approximation of CP/M. (because IBM and Digital Research could not agree to licensing terms to bring CP/M to the IBM PC)

https://en.wikipedia.org/wiki/Digital_Research#CP/M-86_and_D...

4 comments

So similar, in fact, that it led to years of allegations that MS-DOS was a ripoff of Digital Research's intellectual property (see https://en.wikipedia.org/wiki/86-DOS#Intellectual_property_d...).

> one could safely say MS-DOS/PC-DOS only existed in the first place as a "quick and dirty" approximation of CP/M

One could indeed, especially seeing how the original name of the product Microsoft acquired and turned into MS-DOS 1.0 was QDOS, which stood for "Quick and Dirty Operating System" (see https://en.wikipedia.org/wiki/86-DOS)

:-D

The story is weirder than not just agreeing to licensing terms. Gary Kildall (of Digital Research) and IBM have wildly conflicting versions of how their meeting went. To the point that I don't think the exact circumstances will ever be clear.
I've only ever heard of the IBM/MS side of the story. Where can we find Gary Kildall's version?
It's out of print now, but "Hard Drive" by James Wallace and Jim Erickson tells it: https://www.amazon.com/Hard-Drive-Making-Microsoft-Empire/dp...
The MS-DOS Program Segment Prefix[1] exists for source compatibility with CP/M.

https://en.wikipedia.org/wiki/Program_Segment_Prefix

https://en.wikipedia.org/wiki/Zero_page_(CP/M)

Also, first 9 or so functions of INT 21h were directly analogous to CP/M's BDOS. DOS also used FCB similar to CP/M.
This is true for MS-DOS 1.0, but 2.0 introduced tree-structured directories, which 8-bit CP/M didn't have.
2.0 was also the "breakout" version of MS-DOS that made it win over CP/M.

It did it by introducing features inspired by another Microsoft OS, the Unix for 8080 known as Xenix: - tree structured directories - pipes - output redirection - DEV directory (mostly hidden as it didn't catch on, afaik)