5 ms·
OK, I'm confused. Did Bill Gates write some version of DOS that was marketed and sold?
by spigottoday 4y ago
OK, I'm confused. Did Bill Gates write some version of DOS that was marketed and sold?
- simonblack 4y agoWe need to specify which version of MSDOS we're talking about. And which version of CP/M we're talking about. PCDOS 1.0 (could also be called MSDOS 1.0) was written to use the same set of calls as CP/M 80. (NOT CPM-86.) That was the one that was written by the Seattle Computer Company and eventually sold to Microsoft, bought by Bill gates when he needed something to sell to IBM. When I was younger back in the 80s, just because I could, I wrote a cp/m emulator that basically intercepted the 'Call 0005" of cp/m and called the MSDOS interrupt instead, using the cp/m register arguments as MSDOS arguments. All those cp/m programs ran perfectly as MSDOS programs. Because the same APIs were used for MSDOS as had been used for CP/M. This is from my DOC file for the emulator: First of all, I thought it might be simple enough to make an 8080 emulator which ran an 8080 program in the ES: segment just as if the ES: segment was a 64K 8-bit system. It did work but so slowly in the CP/M operating system section that I next thought I should keep CP/M's CCP and BDOS in 8080 but code the BIOS in 8086 so that file I/O and console I/O would be a little faster. Then I made a discovery about MSDOS. I knew that it had been patterned on CP/M originally, but I didn't realise how closely! In fact, most of the BDOS calls in CP/M are identical to the INT 21H calls in MSDOS. With this in mind, it is relatively easy to trap any calls to the emulator's BDOS and use those parameters to invoke the MSDOS operating system. This means we don't need CP/M code as such in our emulator; no CCP, no BDOS, no BIOS - just a jump table so that application programs can latch into the emulator if required. Later versions of MSDOS drew largely on UNIX/Xenix practices, like pipes and tree-structured directories. These versions no longer used the original CP/M interrupt calls and used interrupt calls that did a similar job but were more like UNIX calls. Having said that, most of those original CP/M-based interrupt calls were retained also, for back-compatibility with older software.
- rep_lodsb 4y agoThe CALL 5 interface was also provided in DOS, even the later versions. CP/M 86 used INT E0h instead, but the registers used were the same (function number in CL).
- lproven 4y agoSCP, Seattle Computer Products, not "Seattle Computer Company". https://en.wikipedia.org/wiki/Seattle_Computer_Products https://en.wikipedia.org/wiki/Seattle_Computer_Products MS only bought DOS, and hired programmer Tim Paterson, later on. Initially it just licensed DOS from SCP. It's PC DOS, with a space, and MS-DOS, with a dash. I mean, if someone wants to Google this and check that I have my facts straight, they need to be exact about the spelling and punctuation. DR's version was called multiple versions at different points: DR DOS, DR-DOS, DrDOS, Novell DOS, OpenDOS, DR OpenDOS, etc.
- simonblack 4y agoI mean, if someone wants to Google this and check that I have my facts straight, they need to be exact about the spelling and punctuation. True. But I'm lazy and this isn't really worth me spending a lot of time on. And it shows. With the exception of my quoted text, everything I wrote was purely from memory.
- lproven 4y ago:-D OK, then, fair enough! In which case, I'm impressed. Thanks for the additional context and info.
- lproven 4y agoNo. Big Gates did not write any version of DOS. What Gates, with Paul Allen (and Monte Davidoff) wrote MS BASIC, as used in the ROMs of many early-1980s 8-bit computers. https://en.wikipedia.org/wiki/Monte_Davidoff https://en.wikipedia.org/wiki/Monte_Davidoff They did not write DOS or Windows, nor did they claim that they did. MS-DOS is based on SCP QDOS, AKA 86-DOS: https://en.wikipedia.org/wiki/86-DOS https://en.wikipedia.org/wiki/86-DOS It was written by Tim Paterson (one "t"): https://github.com/TimPaterson https://github.com/TimPaterson Note his excellent LinkedIn URL: https://www.linkedin.com/in/dosdaddy/ https://www.linkedin.com/in/dosdaddy/ Microsoft licensed 86-DOS from SCP. It then licensed it to IBM but retained the rights to licence it to others as well, a very smart move.