News: 1768216457

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

How CP/M-86's delay handed Microsoft the keys to the kingdom

(2026/01/12)


A blog post by programmer Nemanja Trifunovic, [1]The Late Arrival of 16-bit CP/M , is on the face of it an interesting little excursion into the late delivery of a long-forgotten bit of software – one that turned out to be pivotal for the entire computer industry.

It's the story of why the 16-bit version of Digital Research CP/M was late, but the delayed arrival of this now-obscure OS is what catalyzed the development of a different, but source-level compatible, OS. That OS started Microsoft on its way to its current $3.5 trillion capitalization, and is also what led to the development of OS/2, Windows, and indirectly Linux. There's a good chance that you already think you know how what happened, but if you reckon it's anything to do with DR's Gary Kildall being out flying a plane, that's not the true story, as [2]The Register covered in 2011 (we'll get back to why not later in this piece). The real reason is the delay in delivering CP/M-86, and that's what Trifunovic covers in detail.

The [3]CP/M-86 User Guide [PDF] bears a copyright year of 1981. The problem is it was designed for [4]Intel's 8086 processor , and that shipped in 1978 – followed a year later by the budget model, the cut-down [5]Intel 8088 . In other words, the new edition of CP-M arrived about three years late. Its target, the 8086, was the exciting new 16-bit successor to the [6]Intel 8080 . As Intel's own page says:

It didn't revolutionize microprocessors – it created the microprocessor market.

This is no exaggeration, and a big reason it did so well was that it had a de facto standard OS: [7]Digital Research's CP/M . CP/M was completely dominant. The early business microcomputer industry ran on it and essentially nothing else.

CP/M was an OS for business microcomputers costing thousands of dollars because it needed at least one floppy diskette drive. In turn, that's why BASIC interpreters running from ROM chips dominated the growing market for inexpensive home computers.

In the period between Intel launching the 8086 and Digital Research (DR) finally launching an OS for the new processor, the three computers of [8]BYTE Magazine's "1977 Trinity" jointly created the home computer market: the Commodore PET, the Apple II, and Radio Shack's TRS-80.

There was another processor that ran CP/M: [9]Zilog's Z80 . Although a fine chip and [10]still mourned today , the Z80 was very much an eight-bit device, limited to a total of 64 KB of memory (RAM and ROM put together) without complicated bank switching.

As memory grew more affordable, what businesses needed was a partly compatible successor to the 8080 that could handle more of it. Intel delivered that with the 8086, which, rather than being limited to 64 KB, could handle 16 separate segments of 64 KB – for a total of one whole megabyte of memory space.

[11]

The problem was that, unlike the Z80, the 8086 was not binary compatible with the 8080. You couldn't run the 8080 version of CP/M (soon renamed CP/M-80) on it, like you could with a Z80. To use the new chip, hundreds of thousands of CP/M users needed a new OS. DR originally promised it would deliver one by November 1979, but it didn't happen. Trifunovic's article explains why and how it slipped.

[12]

[13]

As a result, one of the hardware OEMs selling 8086 boards was more or less forced to develop its own independent, third-party-compatible OS. No, not Microsoft, and not IBM either. Back in 2007, Tim Paterson, the developer of that OS, [14]wrote about how and why he did it . He called the result 86-DOS, and a couple of years ago, we covered the [15]rediscovery of the oldest known version of that OS .

Paterson started work on 86-DOS in 1980 because CP/M-86 was already late. That was more than a year before [16]IBM launched the first IBM PC – with the budget cut-down 8088, so [17]it cost "only" $1,500 .

[18]

As The Register [19]put it back in 2011 :

In fact, it's likely IBM selected CP/M-86 but was forced to look, at least temporarily, elsewhere as DR's effort to port CP/M to the Intel 8086/8088 CPU was taking longer than planned. Gates may well have pitched an alternative – IBM was already talking to Microsoft about using the latter's implementation of the Basic programming language – and appears to have won the deal in November 1980.

Not long after, Microsoft licensed 86-DOS from Seattle Computer Products (SCP), specifically to sub-license the OS to IBM in turn. 86-DOS had been created by SCP as a stand-in for CP/M-86 and was thus intentionally compatible with the DR OS.

In time, that made the fortune of Microsoft. Because IBM didn't get Microsoft to sign an exclusive deal, Microsoft was allowed to sell its DOS to whoever it wanted. That, together with cheaper IBM-compatible hardware, created the x86 PC industry.

The limitations of DOS, especially its memory management, are why Intel's successor chip, the 80286, was a bit of a flop. Although the 80286 had protected mode, which allowed it to support 16 MB of RAM and multitasking, this did little to help DOS — [20]or IBM's new OS/2 1.0 .

Here, too, DR missed out again. It had lost the deal to be the default OS on IBM's PC, but when Intel was developing the 80286, DR was ready for it.

It had already effectively merged its [21]multiuser multitasking MP/M [PDF] OS into CP/M-86 to create the multitasking [22]Concurrent CP/M . It then [23]added MS-DOS compatibility to create Concurrent DOS . The problem was that you can't fit many DOS apps into the 640 KB of RAM in an 8088 or 8086 PC.

[24]

So DR enhanced Concurrent DOS to make a native Intel 80286 OS. Concurrent DOS 286 was able to use up to 16 MB of RAM, and multitask lots of DOS apps in all that room ( [25]IBM and Microsoft's OS/2 1.0 wouldn't follow for over two more years, and still couldn't multitask DOS apps when it did).

The issue was that DR developed Concurrent DOS 286 on pre-release Intel 286 prototypes. Although the 80286 was [26]released in 1982 , it reached the PC market with [27]IBM's new PC/AT in 1984 . The problem was that the shipping version of the 80286 chip [28]removed some features Concurrent DOS 286 needed .

By 1985, Intel released a new stepping of the 80286, which [29]replaced the missing features , but the damage was done. Once again, this seriously damaged DR, but it recovered. It turned CDOS into a real-time OS, [30]FlexOS 286 . Versions of this remained on sale well into the 21st century, including [31]IBM 4690 OS [PDF], [32]Toshiba 4690 OS [PDF], and [33]Siemens S5-DOS/MT [PDF].

DR also continued to work on its pre-Windows GUI desktop GEM (in its early days, The Reg [34]covered the news of GEM going FOSS ). Late last year, Mr Trifunovic also published an excellent [35]History of the GEM Desktop Environment , which we also recommend. Later versions of DR FlexOS and its derivatives included a multitasking version of GEM called [36]X/GEM [PDF].

DR worked around the limitations of the 80286, and found ways to put them to good use. Microsoft, for the most part, did not. Even Windows/286 couldn't use most of the memory of an 80286 PC, as we [37]looked at last year .

As a result of the limitations of Microsoft's DOS, the 80286 was mainly just used as a faster 8086. This drove Intel to develop its following generation of CPU, the 80386. This supported multiple hardware-assisted DOS VMs with memory protection – and even if you just ran plain old single-tasking DOS, that memory protection let you rearrange that crucial first megabyte of RAM to free as much as possible of the 640 KB which was all DOS could directly use.

Without widespread use of multitasking, let alone GUIs, on late-1980s PCs, the original all-32-bit 80386DX was too expensive – even without its theoretical 4 GB memory capacity. So, once again, it was the limitations of MS-DOS that drove Intel to develop the cheaper 16-bit-bus 80386SX. This created a market for cheap 386SX PCs with cheap 16-bit RAM and a low ceiling of just 16 MB.

That market of cheap commodity 386 PCs is the soil in which Linux grew and flourished. Early 1990s 386 PCs were not workstation-class hardware. They were never expected to multitask, and they didn't run GUIs very well, but they ran DOS just great... and even their low specs allowed Linux to thrive.

Dispelling some myths about how DR lost the IBM deal

[38]Youtube Video

Yes, Gary Kildall was in his plane when IBM visited. No, he wasn't on a pleasure trip. He was flying to make a site visit with a very important business partner, Bill Godbout, for whom The Reg [39]ran an obituary in 2018 . Along on the trip was his colleague Tom Rolander, who has told this story repeatedly, including [40]on video (from 17 minutes onward). Rolander has also told the story to [41]industry commentator Robert Scoble (Scoble's interview can be [42]found on the Wayback Machine ).

[43]Microsoft open-sources the 6502 BASIC coded by Bill Gates himself

[44]50 years ago, Gates and Allen made the deal that launched Microsoft

[45]FreeDOS 1.4: Still DOS, still FOSS, more modern than ever

[46]How a good business deal made us underestimate BASIC

DR was based in Pacific Grove, some 80 miles or nearly a 90-minute drive from Silicon Valley. Kildall often chose to fly. If you had that option, wouldn't you?

Kildall wasn't at the meeting with IBM because it was not his job – he was a programmer. His wife and business partner, [47]Dorothy McEwen Kildall , co-founded DR and she handled corporate negotiations.

IBM [48]wanted a harsh NDA and a one-off payment. She refused, which was a sensible call; DR dominated business computing, and IBM wasn't even in that market.

In other words, IBM tried to drive a tough deal with the big player that dominated the sector. It didn't work, so it negotiated poorly with a bunch of upstart kids: it let Microsoft keep a licence to resell DOS to other vendors. Two poor deals in a row show that it wasn't IBM being canny; it was merely IBM being bureaucratic and institutional, poor at negotiation and compromise. It handed Microsoft the keys to the bank, and the tiny startup used them.

We've even seen a perception that what the industry got from Microsoft was better: more capable and more open.

In fact, it was DR, consigned to second place, that worked harder. It delivered a small, fast, clean GUI with GEM. Abort Retry Fail has a good [49]Short History of CP/M-86 , which shows how DR delivered and continued to deliver. It had a multitasking CP/M-86 by 1982.

Alongside its PC efforts, DR also offered a version of CP/M for the Motorola 68000 as well, complete with GEM. A development of this became the standard OS of the [50]Atari ST , a computer that outperformed the Mac and was better for music sequencing than the Amiga thanks to built-in MIDI ports as standard. A FOSS recreation of that OS called [51]EmuTOS is still in active development today, as is a multitasking offshoot called [52]FreeMINT . We wrote about [53]how to get and run them in 2022.

The Motorola 68000 world matters today too. In part, it was because the mid-1980s offerings from Intel and Microsoft were so bland and uninspiring that Apple, Commodore, and Atari thrived, each with their own alternative platforms.

Its significance was explained on The Reg nearly 15 years ago by the [54]late, great Chris Bidmead . The Mac, Amiga, and ST indirectly drove little British micro maker Acorn Computers to [55]create the world's best-selling family of CPUs ... because they were [56]so unimpressed by the performance of the 68000 and its American contemporaries .

By 1984, Concurrent CP/M became Concurrent DOS, a true multitasking OS that could run MS-DOS apps. In 1985, DR released the C rewrite, Concurrent DOS 286, two years before IBM and Microsoft's combined effort. By 1987, when OS/2 staggered out, DR was offering Concurrent DOS 386, with built-in networking as well.

The Reg FOSS desk used and supported Concurrent DOS 386 in his first job, and it was remarkable. On his employer's demo machines, he used CDOS to generate large Mandelbrot sets, which took many hours, using [57]Fractint – but with Fractint running in the background, and CDOS 386 running a copy of COMMAND.COM from IBM PC DOS 3.3 in the foreground session, so it looked exactly like a standard DOS computer and could be used as normal.

Without a time machine, we can't tell what DR would have done if it had delivered CP/M-86 on time. Perhaps it worked so hard on GEM, Concurrent DOS, DR-DOS, FlexOS, and so on because it ended up the also-ran. It worked very hard to rectify its mistakes, and if the PC industry had defaulted to DR OSes rather than Microsoft ones, it might have advanced rather faster. DR could have offered a multitasking 32-bit GUI OS with networking, able to run DOS apps, nearly a decade before Windows 95.

But it didn't. Squeezed out of the mainstream desktop OS market, it focused on multiuser, real-time, and point-of-sale systems instead. In the end, [58]Novell acquired DR in 1991 .

All because CP/M-86 was late. Trifunovic explains why and how that happened. That's vital info: it shaped the future of the PC industry, and trillion-dollar businesses hinged upon it. As [59]wise people have noted , it's important to know your history.

Bootnote

Trifunovic's day job is at [60]Ab Initio Software , which was founded by Sheryl Handler – [61]founder and former CEO of Thinking Machines, the company that built Danny Hillis's [62]Connection Machine – as partly [63]co-designed by Richard Feynman – and also designed the [64]DataVault , which has a claim to be the first ever RAID storage device. ®

Get our [65]Tech Resources



[1] https://nemanjatrifunovic.substack.com/p/the-late-arrival-of-16-bit-cpm

[2] https://www.theregister.com/2011/08/12/ibm_pc_30_anniversary/

[3] http://www.cpm.z80.de/randyfiles/DRI/CPM-86_Users_Guide.pdf

[4] https://timeline.intel.com/1978/the-beginning-of-a-legend:-the-8086

[5] https://timeline.intel.com/1979/the-8088-processor

[6] https://newsroom.intel.com/de/client-computing/50-years-ago-celebrating-the-influential-intel-8080

[7] https://www.theregister.com/2024/08/02/cpm_50th_anniversary/

[8] https://artsandculture.google.com/asset/trinity-77-byte-magazine/1wHp2P431fSaDQ

[9] https://www.theregister.com/2024/04/26/long_live_16_bit_z80/

[10] https://www.theregister.com/2024/04/29/opinion_z80/

[11] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aWUorhDWmm5mFOdf0fy87gAAA40&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aWUorhDWmm5mFOdf0fy87gAAA40&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aWUorhDWmm5mFOdf0fy87gAAA40&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[14] https://web.archive.org/web/20130120075653/http://dosmandrivel.blogspot.com/2007/09/design-of-dos.html

[15] https://www.theregister.com/2024/01/05/oldest_ancestor_of_msdos_recovered/

[16] https://www.theregister.com/2021/08/12/ibm_pc_40_anniversary/

[17] https://www.theregister.com/2006/08/11/pc_turns_25/

[18] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aWUorhDWmm5mFOdf0fy87gAAA40&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[19] https://www.theregister.com/2011/08/12/ibm_pc_30_anniversary/

[20] https://www.theregister.com/2025/01/05/microsoft_os2_flop_future/

[21] https://archive.computerhistory.org/resources/access/text/2016/12/102762485-05-01-acc.pdf

[22] https://www.computinghistory.org.uk/det/19419/Concurrent-Cp-M-86/

[23] https://www.theregister.com/2022/08/04/the_many_derivatives_of_cpm/

[24] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aWUorhDWmm5mFOdf0fy87gAAA40&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[25] https://www.os2museum.com/wp/os2-history/os2-1-0/

[26] https://www.computinghistory.org.uk/det/6187/Intel-introduces-the-80286-microprocessor/

[27] https://www.dosdays.co.uk/computers/IBM%20PC-AT%20(5170)/ibm5170.php

[28] https://books.google.im/books?id=2y4EAAAAMBAJ&pg=PA17&redir_esc=y#v=onepage&q&f=false

[29] https://books.google.im/books?id=_y4EAAAAMBAJ&pg=PA21&redir_esc=y#v=onepage&q&f=false

[30] https://web.archive.org/web/20131020105538/http://www.cbronline.com/news/digital_research_launches_flexos_286_real_time_manufacturing_operating_system

[31] https://public.dhe.ibm.com/software/retail/marketing/brochures/4690_OS/4690_use_0112.pdf

[32] https://tgcs04.toshibacommerce.com/cs/groups/internet/documents/document/dg9z/njyw/~edisp/prod.tos660737.pdf

[33] https://cache.industry.siemens.com/dl/files/741/1176741/att_41334/v1/s5dosen.pdf

[34] https://www.theregister.com/1999/04/27/gem_the_gui_that_beat/

[35] https://nemanjatrifunovic.substack.com/p/history-of-the-gem-desktop-environment

[36] http://bitsavers.informatik.uni-stuttgart.de/pdf/digitalResearch/flexos/flexos_386/Inside_Flexos386_Part_4_Computer_Shopper_199001.pdf

[37] https://www.theregister.com/2025/01/18/how_windows_got_to_v3/

[38] https://www.youtube.com/watch?v=Dx89THub510&t=1020s

[39] https://www.theregister.com/2018/11/18/bill_godbout_obituary/

[40] https://www.youtube.com/watch?v=Dx89THub510&t=1020s

[41] https://scobleizerblog.wordpress.com/2007/08/08/the-rest-of-the-story-behind-microsofts-os-deal-with-ibm/

[42] https://web.archive.org/web/20071104052350/http://www.podtech.net/home/3801/the-rest-of-the-story-how-bill-gates-beat-gary-kildall-in-os-war-part-1

[43] https://www.theregister.com/2025/09/04/microsoft_open_sources_6502_basic/

[44] https://www.theregister.com/2025/07/24/50y_of_gates_allen_mits_basic/

[45] https://www.theregister.com/2025/04/09/freedos_14/

[46] https://www.theregister.com/2025/01/03/reevaluating_basics_legacy/

[47] https://www.legacy.com/us/obituaries/montereyherald/name/dorothy-mcewen-obituary?id=26905817

[48] https://books.google.im/books?id=pNmm_Axdor8C&pg=PA147&redir_esc=y#v=onepage&q&f=false

[49] https://www.abortretry.fail/p/a-short-history-of-cpm-86

[50] https://www.atari-wiki.com/index.php?title=Atari_ST

[51] https://emutos.sourceforge.io/

[52] https://freemint.github.io/

[53] https://www.theregister.com/2022/12/05/new_atari_display_driver/

[54] https://cultbox.co.uk/news/doctor-who-screenwriter-christopher-h-bidmead-dies-at-age-84

[55] https://www.theregister.com/2012/05/02/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/

[56] https://www.theregister.com/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/

[57] https://www.fractint.org/

[58] https://www.nytimes.com/1991/07/17/business/pc-software-maker-novell-to-buy-digital-research.html

[59] https://americanart.si.edu/artwork/those-who-cannot-remember-past-are-condemned-repeat-it-george-santayana-life-reason-1905

[60] https://www.abinitio.com/en/about-ab-initio/

[61] https://www.inc.com/magazine/19950915/2622.html

[62] https://www.computerhistory.org/revolution/supercomputers/10/73

[63] https://longnow.org/ideas/richard-feynman-and-the-connection-machine/

[64] http://www.svisions.com/sv/cm-dv.html

[65] https://whitepapers.theregister.com/



Gary Kildall in full SD glory on the Computer Chronicles

bartsmit

Thanks to archive.org you can watch a whole bunch of episodes co-presented by Gary https://www.youtube.com/channel/UCkJ6eQKpHZgsZBla4JgKj3A

Excellent Article

A Non e-mouse

Thank you

80286 & DOS

A Non e-mouse

The problem was that the shipping version of the 80286 chip removed some features Concurrent DOS 286 needed.

Both the linked article and Wikipedia imply Intel broke the C-1 stepping of the 80286 rather than deliberately removing features.

Re: 80286 & DOS

Liam Proven

> Both the linked article and Wikipedia imply Intel broke the C-1 stepping of the 80286 rather than deliberately removing features.

A fair point. I can see that my wording could be taken as implying it was intentional; I have no evidence that was the case. Taking a very long-term view and a possible _excess_ of cynicism and paranoia, it might have been beneficial to some rival software companies if this had been intentional. I can't prove it, though.

Seriously, I don't know. That early on in the history of the industry, I suspect it was accidental. Hanlon's Razor applies.

"handle 16 separate segments of 64 KB – for a total of one whole megabyte"

Bebu sa Ware

" the 8086, which, rather than being limited to 64 KB, could handle 16 separate segments of 64 KB – for a total of one whole megabyte of memory space. "

Doesn't even begin to describe the fuck·up·ed·ness of the 8086/8088/80186 memory model — those "segments" had a granularity of 16 bytes ("paragraph") and could start on any paragraph and overlap any other of the four "segments."

So a given address might be represented by 2¹⁶/2⁴ 2k different segment:offset combinations.

The 80286 seemed to compound the felony but in the event was mostly used as a faster 8086 (in real mode) although you could run Windows 3.0 in 286 protected mode from memory. Minix 2.0 and Coherent 3.0 could also use protected mode.

Adding insult to injury Microsoft and Intel (asm) documentation referred to "segments" which were actually "fragments" of "groups" (addressable from a single segment register) — a "group" more closely approximating the concept of a segment in the Unix toolchain.

The documentation with Eric Isaacson's A86 assembler for MSDOS explained (I think from his time in Intel) the (ir)rationale behind some of the more dubious software design decisions.

Re: "handle 16 separate segments of 64 KB – for a total of one whole megabyte"

A Non e-mouse

I'd been into 8-bit assembly programming as a kid. When I went to Uni and got my hands on a PC I was naturally interested in x86 assembly. After a short while I realised what a mess the x86 CPU was and stayed well clear of it.

Re: "handle 16 separate segments of 64 KB – for a total of one whole megabyte"

Antony Shepherd

I always disliked that segmented memory model, just didn't have the elegance of the 6502, 6809 and 68000 processors where the memory was a contiguous address block.

Re: "handle 16 separate segments of 64 KB – for a total of one whole megabyte"

Liam Proven

> you could run Windows 3.0 in 286 protected mode from memory.

I thought this for 30-odd years, and even the great Raymond Chen did. Apparently, not really. All it really did was add the 64 kB of the HMA.

> Minix 2.0 and Coherent 3.0 could also use protected mode.

Minix? Didn't know that.

Coherent did, yes. Sadly only Coherent 4 made it out as FOSS and it seems that the 286 version may be lost. (There are some big tarballs out there if anyone is patient enough to go through them.)

The main 286-protect-mode OS for most purposes was SCO Xenix, that I know of.

Re: "handle 16 separate segments of 64 KB – for a total of one whole megabyte"

Simon Harris

One of the sources of annoyance with the way segment registers worked is that when you were compiling software you had to select the memory model you wanted - if I remember correctly you had a choice of 5:

everything (code, data) shared the same 64K segment.

code and data could each be up to 64K, but in different segments.

code was up to 64K, but data could be larger.

code was as large as you wanted, but data was up to 64K

code and data could each be larger than 64K.

The problem that resulted was that let's say you opted for one of the smaller memory models in version 1 of your software, and then your program or data requirements grew and you wanted to create a more capable version 2 - it could suddenly mean that either or both of your 16-bit data or function pointers could suddenly change to 32-bits, which had the capability of royally screwing things up, particularly if they were parts of data structures, and meant the sizes of those structures changed. If serialising data to save it consisted of just dumping a block of memory to disc (and remember storage was limited and speeds weren't that great so it was common to copy it out the fastest way possible), you could easily create incompatibilities between data from old and new versions.

Incidentally, long pointers were often stored as Segment:offset. Since the segment register was 16 bits, you have the added inefficiency of needing 32 bits to represent a 20 bit physical address, and as someone pointed out elsewhere, that meant a whole load of different segment:offset combinations representing the same physical address making long pointer comparisons a pain.

Uncle William

What appears to be not that well know is that there was an early networking version of CP/M. I was setting up a business and we needed a true record locking multi-user system. NCR had a network file server, well two, the Modus and the MicroModus that ran CP/M and their DMV CP/M workstations had open slots at the back one of which could accommodate a network card connecting to a 10Base2 Thinnet arrangement. True record locking was achieved using RM/Cobol and we went on to supply quite a few systems from around the mid '80s. It was however to become a major stumbling block as businesses demanded Microsoft systems with their NOTWorks and in the end a combination of lack of resources (we hadn't grown big enough), being held back by a solid but dated language, and not being able to quickly go to a true client/server database (we'd moved to Novell 4), plus interference with Y2K (yes, our system squeezed every ounce out of small hard drives with dd/mm/yy dates on a date driven application), we eventually failed to build our market share and I packed in, doing consultancy instead.

Other networked CP/M systems.

Peter Gathercole

Research Machines in the UK had a networked version of CP/M (called CP/NOS) in their Link 480Z educational systems in the early to mid '80s. It allowed you to set up a small network of 480Z systems (a built-into-the-keyboard Z80 system rather than a 3 box system), which booted the CP/M variant from the network via a ROM based bootloader, around a larger system (normally a 308Z with a hard disk) running MP/M, for file and printer sharing. It used a coaxial cable bussed network, but it was not 10base2 Ethernet. According to Wikipedia, they called it the CHAIN network, running at 800Kb/s.

They were selling these systems into education against Acorn's Econet connected BBC Micros. I was a BBC Micro advocate, so I did not look that closely at it, but I know that the Computer Unit in the Polytechnic I was working at preferred it to BBC micros because they regarded CP/M as a more business oriented OS (and they were right - our BBC Micro lab. was built to teach computer appreciation and architecture, rather than business computing), although they quickly switched to IBM PCs connected by something that could have been ARCnet as they augmented the central systems they operated.

Microsoft … NOTWorks

Bebu sa Ware

I recall DOS or early Windows PCs actually worked much better with AppleTalk ISA adaptors† than with MS NOTWorks.

Many environments back then were Mac + Unix so the odd PC had to connect to the network either by Apple LocalTalk (works over wet string™) or EtherTalk and there were AppleTalk to TCP/IP gateways (Webster?) as well as Apple File Sharing servers (Netatalk) that ran on Unix servers.

My unbiased‡ judgement of the last four decades is that there never was a time when Microsoft was unfucked. Always totally screwed (and their customers doubly so) to a degree that a helical spring could only envy.

† Farallon hardware and software. ‡ for an opinionated old git.

Liam Proven

> What appears to be not that well know is that there was an early networking version of CP/M.

The main official one I know of was DR MP/M which I mention in the article.

I believe it did offer networking add-ons for ordinary CP/M but I don't think it was ever in there as standard. It was a standard part of MP/M but that never seemed to catch on much. I never saw it running.

CP/M·86

Bebu sa Ware

The only time I encountered this was on a NEC APC III but also had MSDOS 2 but the bios not being directly IBM PC compatible (the video int10 particularly) meant much MSDOS software didn't work unless it could use ansi.sys although there was a TSR that would fiddle with the interrupt vectors and emulate a PC reasonably well. The box was mainly used to run Wordstar and DBase under CP/M-86 which it did until supplanted by Wordperfect on Sperry PCs.

I think early x86 Amstrads might have run CP/M·86 + GEOS/GEM ?

The Atari ST ran CP/M- 68 with the same graphical desktop I think.

I recall seeing a borked MP/M-86 PC in a bookstore (Dymocks) in the late 1990s so it wasn't an entirely mythical beast.

All pretty horrid in retrospect. Today with a flat 48 bit virtual address space and typically a minimum of 8Gb of physical memory, try telling the youth of today of your trials and tribulations with pre-80386 hardware… they won't believe you !

Re: CP/M·86

dharmOS

My Amstrad 1640 (8086 with 640K RAM) came with MS DOS 3.2 and GEM. The Amstrad 1512 had DR DOS instead (is this what you mean for a Digital Research OS?), although MS DOS was available as an option.

CP/M-86 was definitely not avialbale, as my father would not have bought a non-IBM compatible PC.

Re: CP/M·86

Liam Proven

> I think early x86 Amstrads might have run CP/M·86 + GEOS/GEM ?

No. The PC15123 and PC1640 offered a choice of MS-DOS 3.2 or DR DOS-Plus, with GEM. Never GEOS.

DOS-Plus was somewhere between CP/M-86 and DR-DOS: single-user, single-tasking, DOS-compatible by default but I think it could run background CP/M tasks.

> The Atari ST ran CP/M-68 with the same graphical desktop I think.

CP/M-68K -- mentioned in the sidebar -- but while ST TOS was derived from it, it was not the same thing.

CP/M-68K is much like classic CP/M, but obviously, 68000 native and command-line driven.

ST TOS adds in many of the improvements from what would later become DR-DOS – a module called GEMDOS. It's more like DOS than GEM, and of course, TOS has no CLI at all, not even COMMAND.COM. Its shell is GEM.

Re: CP/M·86

Simon Harris

I remember the Victor 9000/Sirius 1 used to run CPM-86 in addition to MS-DOS.

As an early contemporary of the IBM PC, it was actually pretty well specced, but not very compatible.

CP/M wasn't late

Pascal Monett

It was just IBM already being stupid, administrative and corporately blind.

Re: CP/M wasn't late

Liam Proven

> CP/M wasn't late

Oh yes it was, and this article is about a blog post that explains how and why.

The TL;DR summary is:

IBM decided to built a CP/M PC around the 8088, but DR wasn't ready, so it went to a rival that could do a cheapo knock-off instead.

Antony Shepherd

There are definitely alternate universe 'What If's to be had, not only what if IBM had gone with CP/M-86, or indeed with a 68000 processor and CP/M-68, either running GEM.

The 3rd option

Machineroom

Along with CP/M and MS-DOS was a 3rd option - the UCSD P-System which is rarely if ever mentioned.

https://www.threedee.com/jcm/psystem/

Siemens S5-DOS/MT

thames

The article mentions Siemens S5-DOS/MT. Industry ran on Programmable Logic Controllers (PLCs), and Siemens was the industry leader with the biggest market share. At that time their main product line was the S5 series, which covered the full range from small to large with different models and configurations. I did a lot of work writing programs for equipment controlled by various S5 models.

The programming software (development software) was STEP-5. This was what amounted to the editor and compiler all rolled into a single highly specialized graphical IDE if you were thinking in computer terms. STEP-5 was apparently written for CP/M. They sold portable computers intended specifically for programming the S5 series, including an interface card to connect to the PLC and a socket which you could use to burn their ROM modules (a big orange block which you inserted into the PLC).

For customers who wanted to just load the software onto their own computer instead of using a dedicated Siemens programming system, they offered a version of STEP-5 which ran on MS-DOS under some sort of CP/M emulator. I don't know the details of that as they were never very specific about it, so I don't know if it was something they created themselves or whether it was a third party product. Siemens were very big on relabelling licensed third party stuff with their own brand name.

Very late in its life they came out with a native MS-DOS version.

The successor to the S5 series was the S7, and the programming software for that was native Windows software. By that time Siemens were huge Microsoft fans and they were always pushing the latest fad from Microsoft into their products across the board, only to watch that feature become obsolete and replaced by something else. As a result there was a lot of product churn. We were able to mostly avoid that as we had a rather jaundiced eye when it came to using proprietary features in systems that were supposed to last a couple of decades.

"We don't do a new version to fix bugs." - Bill Gates
"The new version - it's not there to fix bugs." - Bill Gates
-- Retranslated from Focus 43/1995, pp. 206-212