• Please review our updated Terms and Rules here

Why did DOS/86 overtake CP/M-z80 ?

cj7hawk

Veteran Member
Joined
Jan 25, 2022
Messages
1,121
Location
Perth, Western Australia.
Just wondering around some of the issues of the era and realized the simple explanation of DOS replacing CP/M probably is far from the whole story...

After all, if you ignore the 86 versions of CP/M, there was no DOS on z80 machines, so it's more of a 86 killed z80 type battle than a simple DOS vs CP/M battle.

It's easy to understand what happened after DOS became dominant, but CP/M and z80 were well established. There's no question the 8088 was pushing a new architecture, but it wasn't any faster than many z80 machines of the era, and it's competitor was the 8MHz z80, but the battle between the two architectures never really eventuated. z80 based systems were already on the decline by the mid 80s while the 86 architectures were slowly climbing despite not really being that far above the z80 systems and without all of the legacy business software support.

So what were the main factors in driving the PCs dominance over z80 systems? Is it as simple to say "It was IBM"? Was it cheaper? Was it the promise of upgrades to 286 and backwardly compatible architectures? Did they just look cooler? Was z80 still associated with 64K machines ( even though later z80 machines came out with memory similar to the IBM PCs )

I'm curious as to what the thinking of others during the era was... What really killed z80 based CP/M machines.

As for my own thinking, I know there was an assumption that the 86 architecture was new, and the z80 architecture was old.... But then I also considered z80 to be a "Home PC" processor since that's where I encountered it. It was seeing Microsoft Flight Simulator for the first time that I decided that the PC was the way to go for the future, and the modularity of the systems seems the final clincher to me, since I knew I could upgrade later, and sure enough, in 87 my first machine was a 286 - by which point the speed difference and commonality of the disk systems was just too much to look at anything else on the market and by this time, there were no modern z80 machines... What did exist were a lot of old 64K machines from the previous micro-era that people were moving away from. My thinking was flawed of course - there wasn't such a big power difference between the models at the time and it really was an era of word processors and business software for most people.

So what else was going on that I completely ignored at the time?
 
It was my experience that the name IBM carried a lot of weight, and when they announced they would be making a "PC" there was a drop-off in sales of all (other) micros from then on, regardless of whether they were 8-bit or 16-bit. And when IBM finally started shipping, there was very little for other vendors to do - there were lawsuits (or at least threats of) awaiting anyone that tried to make a "clone". IBM considered their PC to be just as proprietary as their mainframes, and defended just as aggressively. It was quite awhile before IBM's dominance was finally showing cracks. We had CP/M-80 customers that were running just fine, but the idea that IBM was going to provide a platform carried a mythos that every problem would be solved. It is hard to compete with a fantasy. So there wasn't really a place to compete in that market. Apple went their own way, but most everyone else made PC clones (once the legal hurdles got toppled). Whatever hardware and software IBM chose would have become the dominant players, in spite of themselves.
 
I was not there in computing at the time, starting with IBM PC and completely missing the CP/M machines, but one of my theories is that the IBM-PC brought some standardization. Standardization in disk formats. Standardization in MDA or CGA. I also think that escaping the 64K realm was probably a big deal too. While 64K probably seemed like a lot when they were first coming around, having to do banking and no real standardization for that either. I think getting beyond that 64K barrier probably opened up a lot more capability.
 
The terrible not-release of the Z800 really put a nail in CP/M's coffin I think. PCs were in the right place at the right time to pick up the ball that Zilog and DR dropped.
 
I was not there in computing at the time, starting with IBM PC and completely missing the CP/M machines, but one of my theories is that the IBM-PC brought some standardization. Standardization in disk formats. Standardization in MDA or CGA. I also think that escaping the 64K realm was probably a big deal too. While 64K probably seemed like a lot when they were first coming around, having to do banking and no real standardization for that either. I think getting beyond that 64K barrier probably opened up a lot more capability.
There is some truth in that, but I think calling it "standardization" is being kind. Standardization implies a cooperation between dissimilar entities to agree on some common way of doing things. The IBM PC was not cooperation nor any sort of collaboration. It was simply a case of IBM doing a cannon-ball and splashing the pool dry. For a long time, IBM decided who could or could not play in their pool.
 
The terrible not-release of the Z800 really put a nail in CP/M's coffin I think. PCs were in the right place at the right time to pick up the ball that Zilog and DR dropped.
I'm not sure the Zilog Z800 was even relevant. DRI was already making CP/M for other platforms, x86 and 86K and Z8000. They were poised to go with the market, but IBM decided the direction and made it difficult for any would-be competition.
 
DOS-86/MS-DOS did have some advantages over CP/M-86. A couple come to mind:
(1) it's easier to convert a CP/M 2.x application to run on MS-DOS than it is to get it running on CP/M-86. The system API is darned near identical, right down to allowing a CALL 5 for BDOS functions. And there were a lot more CP/M 2.x applications than there were for CP/M-86. Automated conversion from x80 codes to 8086 was a real thing.
(2) A better filesystem. Although initially limited to 4K of clusters, the FAT idea did more to conserve directory space and probably was faster for large files.
That's not to say that in 1982 there weren't better operating system choices. TurboDOS comes to mind--I don't know if IBM ever considered them.
We had CP/M-86 running on our system in 1982, but after it became apparent that IBM was the heavyweight in the business, we ponied up the $$$$ for a limited MS DOS license. Others did the same. Neither MSDOS 1.x nor 2.x was locked into IBM PC hardware.
 
The dirty little secret about CP/M is it was never actually very popular, nor particularly well loved. CP/M of course had a significant niche in the business community because, well, mostly because it was first to the table and ran on the first generation of "business class" computers with roomy 80 column terminals and large capacity disk storage devices (both 8" floppies and some of the first microcomputer hard disks), but in the "personal computer" arena it was practically a nonentity, at least in the US: all the CP/M vendors combined sold many fewer units than Radio Shack sold TRS-80 Model Is… a machine with a Z80 that conspicuously didn't run CP/M out of the box, pretty much from day one, and of course it wasn't alone. Add up all the "proprietary" 8-bit computers that were on the market by 1981 or so and, again, you're going to see "all CP/M vendors" sitting at around the same unit sales as just one of the bigger proprietary names alone.

CP/M computers were, frankly, awful and boring (aesthetic judgement, I know, but defensible), compared to most proprietary 8-bit computers, in addition to usually being more expensive, at least for the entry level. It kind of goes without saying that to run CP/M you need, at minimum, one disk drive, which in 1980 means you're looking at the better part of $2500-$3000 for your day one investment, while a TRS-80 or an Apple will let you get it home for between a half and a quarter as much. (Sure, you'll get fed up with cassettes soon enough and buy a disk drive eventually anyway, but compared to a CP/M computer the first taste is practically free.) And after you *did* pony up for a disk drive practically none of the affordable home computers that acheived any widescale popularity in the US would run CP/M, at least without hardware add-ons or modifications; they all had their own proprietary disk operating systems, and most of them were at least in the same ballpark, if not better than, CP/M in functionality. And ironically, because CP/M machines (at least those using 5.25" disk drives) were all incompatible with each other anyway when it came to all kinds of details like disk formats and video terminal settings, CP/M didn’t actually offer much practical advantage in terms of standardization or avoiding vendor lock-in.

If your office computer ran CP/M there was a fair chance you paid a consultant to set it up for you and it ran a small handful of business programs; maybe if you were a huge geek you tracked down a copy of Zork for it to run after hours. But you probably weren’t spending much time carrying disks home, because getting a machine that took those big disks was awfully spendy, and the kids would hate it, a lot. The main exception to this rule were the portables like the Osborne-1 and Kaypro that came out fairly late, but the niche they created lasted only a couple years because… yeah, they were portable, and unusually cheap for CP/M computers, but they still were boring and at this point archaic; those cheaper home computers had whetted the appetite for niceties like graphics and color, and CP/M didn’t have that. (*yes, there were specific rare machines that ran CP/M that did have proprietary graphics hardware, but that’s the key there: these machines were effectively just as proprietary as an Apple II, but with much smaller software libraries if you limited consideration to programs that could actually use what you paid for.)

The other thing that the whetted appetite for improved graphics, etc, was making clear is that 64K was *not* enough memory, and while, sure, in theory a Z80 with bank-switched memory might offer “comparable“ performance to an 8088 the latter was a lot less awkward and worked *out if the box*, so to speak. The IBM PC really was in the right place at the right time here, being a machine that was no more expensive to build than an 8-bit machine but actually having enough expansion elbow room to take computing up a notch. The fact that IBM picked an OS that offered enough API compatibility with CP/M to give the software authors a leg up in initially populating the software library was an additional stroke of genius, but I think people overestimate how fundamental that was to its overall success. MS-DOS clones that weren’t compatible with IBM’s specific console and graphics hardware to run software that took advantage of the ability to do things that dumb terminal-based CP/M machines couldn’t even dream of failed fast and hard on the market because, again, it’s not the OS that sold the machine, it was the capability.

CP/M-80 was an OS for 1976; by 1982 it was time to move on. Maaaaybe in some alternate universe where Zilog had created a 16 bit Z-80-backwards compatibility CPU like the failed Z800/Z280 and gotten it on the market in time to enable a clone-able machine with similar capabilities to the IBM PC to be created in the same timeframe things would have been different, but… like @Chuck(G) points out, MS-DOS is still better (filesystem, etc) than CP/M-80, so it would have had to evolve. Something DRI was curiously bad at.
 
Once 64 kbit memory chips became common and Lotus 123 showed what could be done with 256 KB of RAM, the Z-80 and 6502 were going to be relegated to the bottom of the market. By 1985, PC clones were undercutting the business 8-bit machines and sheer volume driving down prices was going to push the 8088 machines into the entry level home market quickly.
 
Once 64 kbit memory chips became common and Lotus 123 showed what could be done with 256 KB of RAM, the Z-80 and 6502 were going to be relegated to the bottom of the market. By 1985, PC clones were undercutting the business 8-bit machines and sheer volume driving down prices was going to push the 8088 machines into the entry level home market quickly.
I think that the attack of the clones definitely cemented the PCs future - Because now the reality was everyone was doing it. But even before that, the PC was accelerating while the older z80 based systems were functionally in deep decline. Amstrad was swimming against the flow for a while, but the move to graphics and color brought that to an ending. The PCWs though were very functional as low-cost business systems of the era went. Also they still focussed on a simple 64K memory architecture without expanding on it, but most applications didn't need much more than that, and if they did, well, they did come with 256 to 512K of memory.

Maybe it was just the IBM brand that did it. But despite a 4MHz z80 having the edge over a typical 4.77MHz 8088, there was a time when you would never think of going for the z80 system. And an 8 MHz z80 could take on a 10 MHz turbo PC. Certainly the Japanese PC-8801 z80-CP/M series proved that a practical alternative to 86 existed and in that one market, it dominated with VGA-link graphics for years.

But it also seems like people had a preconceived idea by the early 80s of what a CP/M machine or z80 based system had to be - it's not like there was even a fight. The z80 just threw in the towel, long before other matters such as compatibility were key differentiators. Perhaps the only people who wanted S100/z80/CP/M by then were Spectrum owners, with an architecture that couldn't get much further away from that ideal if it tried.
 
We looked at CP/M in the early days--I think about 1.3 or so--I still have my 1.4 docs. It just didn't have the features we needed for a small-business multi-user turnkey application. So we wrote our own OS from the ground up. While it had a very primitive command-line interface (little more than a debugger) and a program loader, that's all we needed in the way of user interaction. Aside from device and filesystem handling, the rest of the whole thing was written in a compiled p-code BASIC. Program code was very compact, and ran remarkably fast--we could support up to five users on a 3 MHz 8085.
There were other similar systems at the time. CP/M was a choice.
 
My personal story: my first computer was a Commodore 64, bought in 1985 on advice of a colleague at school who knew I was more a tech guy and would love the characteristics of it. Then I got interested in PCs because a class mate started to sell them and needed my skills for assembling and testing them. It wasn't until I was given an Aster-80, a Dutch clone of the TRS80, in 1987 that I heard of CP/M.
 
I don't know about the rest of the market, but in the early days, I did tend to view a computer as more than the chips and OS. If it looked like a serious computer, it was a serious computer. If it looked like a game computer, it was a game computer. Hence the Vector Graphic MZ at school was a "powerful" serious computer and my JR-100 and later Sinclair Spectrum were home PCs.

The disk influenced it, but the appearance really set it for me. I had no idea the MZ had a z80 at the time. It was just a computer. It had basic, and the basic handled floating point numbers while my JR100 was integers only and the Spectrum was just 40 bit floating point. What I could see told me which was a serious computer.

But in my mind, the CP/M machines didn't scale. I didn't know much about what they really had. All I knew was that they had old memory and the PC had 640K, even if some of them didn't seem to have that much. The PC seemed like the next evolution of computers to me and I think I picked that idea up from the rest of the market, rather than through any serious consideration... Clock speed meant more than MIPS. Memory was something else. I knew that I could expand the memory on my machine, and even did so, but I also knew that nothing I didn't write myself would use that extra memory. I got a 128K model later, and sure enough not much used that extra memory either since it was all just 48K software. The extra memory became a ramdisk which was too small for anything practical and too useless to make a difference. But 640K was more than enough... And a ram disk big enough to hold a whole Floppy Disk worth of software. That was practical.

It just seemed like the z80 line of systems was coming to the end of an era. This is despite that I worked with z80 throughout the 80s and knew better about actual CPU output. But the embedded z80 machines I built seemed like toys using a common language. I had gotten used to the 80 column screens of CP/M and later DOS. It was hard to go back to smaller home machines, because 64 characters isn't enough to see a full page from an 80 column printer. And with a PC, I could get Mono, then CGA, then maybe one day, EGA....

It's difficult to put into words, but it feels like z80 just reached the end of it's life back in the 80s... And that the IBM PCs might not be a lot more powerful, but at 10MHz they were far more serious, and had hard disks that could load programs in seconds. That 286s would be the way forward and there were faster versions already about to come out. So what it couldn't do today, it would do tomorrow. Yet I lost nothing of what I wanted to do today.

And it just felt like I wasn't ever going to see that from z80...

Meanwhile, Japan went the other way. I got my first PC-8801 today and on unboxing, it looked really PC-like... A bit like an Amstrad XT machine. two FDDs and an analog VGA output. 8 MHz CPU. I haven't tried it yet, but I wonder if something like that would have changed the outcome for z80 PCs. It did feel like the western world gave up on z80 too soon.

Why didn't anything like PC-88 occur in the US or Europe? Amstrad came closest and even they fell a long way short. They were successful, but did no one ever try to rectify the situation and a competing z80 system? The Atari ST did produce GEM in the end, and again, it did OK... But that was 68000 based for CP/M, rather than z80/8080 based.

It feels like I'm still missing something from the era that explains it all.
 
Keep in mind that, from the perspective of a business trying to computerize - people trying to use a computer, DOS was not any sort of improvement over CP/M. Even the FAT filesystem had plenty of issues in the beginning, and it was fairly easy to corrupt a diskette. But users had no visibility to the filesystem, aside from the hierarchical directory structure (which had limited value before harddisks became standard). The user experience (compared to CP/M) was not what drove acceptance. The IBM name really carried a lot of weight, and these people trying to run their business on microcomputers "felt safer" with IBM than any of the vendors that came before. That security was not unfounded, as IBM definitely had the reputation and track record of making businesses successful. But I heard this many times from people struggling to use DOS that they were willing to put up with their difficulties when IBM was virtually guaranteeing a future. None of the other vendors could instill that sort of confidence, especially in users that were relatively unsophisticated w.r.t. understanding technology.
 
Have you looked at the East German KC85/4? That was the ultimate Z-80 platform made possible by large amounts of cheap imported memory.

The cost of memory and most of the other components were the same between Z-80 and 8088 machines. Saving a few dollars on the CPU was more than offset by the increased engineering expense to allow for banking. Some 8-bit machines could keep going until the mid-90s thanks to large software libraries but even games were needing more resources than the Z-80 or 6502 could offer.

The transition from Z-80 to 8088 happened faster than most had predicted. The dual processor machines anticipated that it would take a long time for software written for the Z-80 to have acceptable replacement 8088 software.
 
One thing to remember is after the clone thing took off, PC's for the most part came with DOS not CP/M. Back in the '80s while working for the feds in the DC area, the only appearance of CP/M that I ran into was older OEM units and they were few and far between.
 
Have you looked at the East German KC85/4? That was the ultimate Z-80 platform made possible by large amounts of cheap imported memory.
16KB DRAMs were hard to come by around 1979-80 because of import restrictions placed by the USG. There was at least one occasion of a truck being hijacked and another where a corporate parts crib was burglarized simply for the DRAMs. That's one of the reasons why the base 5150 came with only 16KB of DRAM soldered in.
 
16KB DRAMs were hard to come by around 1979-80 because of import restrictions placed by the USG. There was at least one occasion of a truck being hijacked and another where a corporate parts crib was burglarized simply for the DRAMs. That's one of the reasons why the base 5150 came with only 16KB of DRAM soldered in.
The KC85-4 was a decade later, towards the end of the East Germany's existence, and took advantage of all the surplus production of 64 kbit chips. A cassette only machine with 256K of RAM completely flips the expected idea of a budget Z-80 system.
 
It feels like I'm still missing something from the era that explains it all.

A thing I'm noticing here is you seem to be pretty myopically focusing on "z80" (which you're making semi-synonymous with "CP/M") vs "DOS/86/PC/IBM/whatever", as if some binary choice like that was all that existed. That's not even remotely true.

If you took all the 8-bit home computers manufactured up until 1990 or so (arbitrarily picking that as the end point at which anyone could pretend they were "mainstream" computers with any kind of long-term future) and piled them up into mounds the stack of Commodore 64s would be around twice as large as any other manufacturer's collection of heaps; shove all the other 6502-based machines into that pyramid and it's going to be as big or bigger than all the Z80/8080/8085-and-friends machines likewise shoved together. So right out of the gate the dichotomy falls apart; Z80 machines were almost never the "majority" of machines sold.

(I have to stick the "almost" in there because, sure, the TRS-80 Model I single-handedly defended the Z80's honor, in spades, between late 1977 and the end 1980, outselling almost every other computer on the market put together for a while... and, here's the punchline to even that: TRS-80 Model I's conspicuously don't run CP/M. As didn't a lot of other Z80 machines, not without hardware modifications.)

If we just look at Z80 machines, again, all Z80 machine sold between 1976 and 1990... sure, by the *very end* of that period a bare majority of them were at least capable of running CP/M or a CP/M compatible OS... but, and this might sound off, most machines capable of running CP/M out of the box came out after the IBM PC did. Disk drives were expensive in the 1970's and early 1980's. IBM didn't come into a world flooded with CP/M machines; the active installed base of CP/M at this point in time was probably still south of a million units, with the biggest single vendor only in the mid-tens or low hundreds of thousands. (For example, the Osborne 1 was considered "wildly successful" as CP/M computers go, but it only came out four months before the IBM PC and one quote says they sold "11,000 in the first 8 months"; if that's true there were probably fewer than 5,000 of them in the wild when IBM pulled the sheet off the 5150.)

If you look at the numbers CP/M business computer sales kept ramping up alongside the IBM PC for the next few years because prices for disk equipped computers in general had fallen enough to vastly expand the market for business computers as a whole. (Osborne, Kaypro, Xerox, NCR, Eagle, and Zenith dutifully churned out plenty of roughly similarly capable units during this period.) But the impetus here was just getting a computer, not any love or desire for CP/M itself. Frankly, for a while CP/M computers were still cheaper dates than an IBM. But as the IBM clone market started to take shape and solidify through 1983-1984 the sales of these business-focused CP/M machines went in the toilet. Why? Because IBM clones were the better product. Clones could do graphics and color, they had enough memory to run big spreadsheets, you could pull a disk out of one clone and stick it in another without having to do some weird formatting dance...

In short, CP/M was toast by 1984, and it deserved to be, despite selling the majority of its installed base after the IBM PC came out. With two exceptions, sort of:

Meanwhile, Japan went the other way. I got my first PC-8801 today and on unboxing, it looked really PC-like... A bit like an Amstrad XT machine. two FDDs and an analog VGA output. 8 MHz CPU. I haven't tried it yet, but I wonder if something like that would have changed the outcome for z80 PCs. It did feel like the western world gave up on z80 too soon.

Japan was the exception to the rule of CP/M being boring and sucking. Here's why: most Japanese computers, even fairly early on, had by Western standards really good graphics. Graphics are extremely useful when dealing with a language that, sure, can be *partially* expressed using the Katakana phonetic alphabet, but really needs pictures to handle Kanji characters. This requirement means that large framebuffers were a given, and large framebuffers with CPUs that only have 64K of address space means supporting some kind of memory banking. Therefore adopting CP/M as the default disk operating system may well have made more technical sense then it did for a stripped down Western home computer.

With that in mind, let's look at the bad:
  • These machines were *expensive* by Western standards, and usually failed to attract customers when exported outside Japan. Here's a review of the American version of the NEC PC-8801 from November 1983; the price for a bundle of the 64K system unit, two disk drives, a mono monitor, and similar software to a Kaypro or Osborne was $2,497. This was around the same price as a Columbia or Corona PC clone would go for, and around a thousand bucks more than the street price of a Kaypro II or TRS-80 Model 4. All for a machine that had very little software other than what was in its bundle, unless you spoke Japanese.
  • They still had the CP/M problem that there was only a bare minimum of compatibility and disk interchangability between different models. Your NEC PC-8801 might run neat games, but you can't pull a disk out of it and run those same games on your friend's Sharp X1. Nor will they work on the any number of MSX machines that technically run a "CP/M compatible" OS. These computers are effectively almost as proprietary as any other random 8-bit computer unless you're talking about the bare bones common denominator CP/M software left over from 1979.
In short, these computers, as nice as they were, ended up being kind of pointless dead ends when better CPUs came along. Even in Japan most of the non-MSX machines in this category were supplanted by 8086 (or 68000) based machines by the mid-80's, and MSX machines mostly lasted as long as they did because they were popular game machines.
As for:

Why didn't anything like PC-88 occur in the US or Europe? Amstrad came closest and even they fell a long way short. They were successful, but did no one ever try to rectify the situation and a competing z80 system?

The Amstrad CPC is probably the closest thing to one of the above Japanese computers (IE, CP/M with nice graphics) to be much of a success outside Japan, with what, three million or so sold? But, again: CP/M was kind of tertiary to the success of these machines. These were specifically intended to fill a low-end home computer niche against computers like the Sinclair ZX Spectrum and Commodore 64; heck the most popular single model had a cassette deck built into it. They were fairly *good* home computers, sure; the possession of an 80 column display kicks them upmarket into Apple IIe territory and qualifies them for basic productivity tasks. But let's be serious here: nobody ever pretended that these were intended to compete directly with the IBM PC or clones, which had already effectively killed the "Business class" CP/M machine.

In short, the majority of CP/M capable machines sold arguably went out the door after CP/M-80 was already dead. It served its purpose decently in the 1970's, but there was nothing particularly great about it and DRI had left it to twist in the wind for a long time. The rotting corpse of its software base was certainly a useful resource for a few bottom-feeding home computers that made it to market in that critical period where there was a significant price gap between "a minimal computer with a disk drive" vs. "a PC clone (or better) with a disk drive", but that window was closing fast by 1985. In much of the world a PC clone was cheaper than most 8-bit home computers with disk drives by 1989 or so, killing any justification for these things.

Anyway, I guess I'm curious why you think that the moldy old software base for CP/M-80 would even had been *worth* perpetuating awkwardly tricked-out Z80 machines with clumsy memory management devices. Your claim that the Z80 was faster per clock than the 8088 doesn't hold water; per clock the 6502 can kick both their butts, and in a straight head to head most of the benchmarks I've seen suggest that the 8088 and the Z80 compare on pretty even terms, and CPU speed was usually secondary to other design constraints during this period anyway. The 80's needed more memory than the 70's, the best way to use it was with a CPU that could access more memory directly, and Intel was right there at the right time with a CPU that could access more memory while otherwise being a drop-in replacement for the 8-bit CPUs from the 1970's. Seems like things worked out just fine to me.
 
Last edited:
Back
Top