Email or username:

Password:

Forgot your password?
Jason Lefkowitz

Unless you were there, you really cannot appreciate how much damage Intel did to the PC ecosystem with the 286.

en.wikipedia.org/wiki/Intel_80

The 286 was the successor to the 8086 and 8088 CPUs that powered the original IBM PCs. It offered a huge step forward from them.

Those older chips always ran in "real mode," where memory locations had fixed addresses, and any running program could modify the contents of any address. This meant that you couldn't have two programs running at once, because one might try to use a bit of memory the other was already using, and blammo!

The 286 introduced "protected mode," which prevented programs from being able to mess with memory allocated to other programs. Instead of addresses corresponding directly to blocks of memory, in protected mode they were treated as "virtual" addresses, and mapped to memory allocated just for that program.

Protected mode meant the days when one program could reach into another one and mess with its memory would be over. And that opened up all sorts of possibilities. You could have real multitasking! A whole range of crash bugs would be instantly eliminated! Suddenly the PC began to look like a machine that you could put against a UNIX workstation with a straight face.

But there was a problem. To maintain backwards compatibility with the old chips, the 286 had to boot into real mode. It could then shift into protected mode on demand. But -- and this is a big BUT -- once it was shifted into protected mode, IT COULD NOT SHIFT BACK. The only way to get back into real mode was to reboot the PC.

Which was a problem, because every PC user owned a huge library of DOS software, much of which could only run in real mode. So the 286 gave you multitasking -- but if you ever needed to run a real-mode program, you had to reboot your PC (and lose all the other running programs) to run it.

This was, as you may imagine, not ideal.

77 comments
Jason Lefkowitz

So the 286 was an, ahem, IMPERFECT processor. But mighty IBM blessed it as the official successor to the 8086/8088 when it released the successor to the original PC, the PC Advanced Technology (AT) -- built around the 286 -- in 1984.

Suddenly the world was full of 286s. IBM sold tons of them, of course, simply by virtue of being IBM. And the nascent PC clone market felt compelled to pick up the 286 as well, simply because they could not survive in a world where IBM was selling "the future of the PC" and they weren't.

And once there was a big installed base of 286s out there, programmers started looking for ways to take advantage of protected mode. (IBM and Microsoft started working on what was intended to be the successor to DOS, OS/2, around this time, and one of OS/2's big features was multitasking.)

But all those programmers rapidly ran into a horrible truth. The only way to take advantage of the 286's killer feature in YOUR program was to convince your customer to throw away all their OTHER programs -- all the ones they'd bought that were written for the original IBM PC, or in other words, for real mode. The user would have to be running a 100% written-for-protected-mode software library, or else they would constantly be rebooting their computer.

And guess what! The customers didn't want to throw out all their existing software! Particularly when they had been told the new machine they were buying was 100% backwards compatible with the old one!

So the 286 was an, ahem, IMPERFECT processor. But mighty IBM blessed it as the official successor to the 8086/8088 when it released the successor to the original PC, the PC Advanced Technology (AT) -- built around the 286 -- in 1984.

Suddenly the world was full of 286s. IBM sold tons of them, of course, simply by virtue of being IBM. And the nascent PC clone market felt compelled to pick up the 286 as well, simply because they could not survive in a world where IBM was selling "the future of the...

Jason Lefkowitz

The result was predictable. The customers didn't want to throw out their old software; the computer could only use its snazzy new feature if they did. So all those computers ended up just never using the snazzy new feature. They ran in real mode all the time, running the old DOS software just like it ran on the original PC, just slightly faster.

Which was kind of a buzzkill when you'd paid thousands of dollars more for the shiny new PC/AT than you would have if you'd just bought a clone of the original PC.

All the big projects that had been launched to take advantage of the 286's protected mode ran head-first into this barrier. The OS/2 project floundered as IBM and Microsoft tried to figure out how to cope with it. Microsoft wanted to just skip over the 286 altogether and make OS/2 require Intel's upcoming successor chip, the 80386, which was supposed to remove the boneheaded "you can check into protected mode, but you can never leave" limitation. But IBM had sold a massive pile of 286-based PC/AT machines to its customers on the promise that OS/2 would run on them. From IBM's perspective, OS/2 HAD to be made to work on the 286, no matter how bad the 286 was -- because otherwise they'd have the entire Fortune 500 screaming at them about false marketing.

The result was predictable. The customers didn't want to throw out their old software; the computer could only use its snazzy new feature if they did. So all those computers ended up just never using the snazzy new feature. They ran in real mode all the time, running the old DOS software just like it ran on the original PC, just slightly faster.

Jason Lefkowitz

This opened up a fundamental rift between IBM and Microsoft which would doom the OS/2 project. Believing that no multitasking OS could ever be made to work on the 286, Microsoft secretly began working on its own successor-to-DOS project, called "Windows."

While Windows 1.0 was targeted to the old 8088 processor, by 2.0 they were offering a "Windows/386" version that was targeted at Intel's new chip. They offered a "Windows/286" version of Windows 2.0 as well, but it didn't even try to use the chip's protected mode. It just treated it like a slightly faster 8088 with a few modest extra features.

This opened up a fundamental rift between IBM and Microsoft which would doom the OS/2 project. Believing that no multitasking OS could ever be made to work on the 286, Microsoft secretly began working on its own successor-to-DOS project, called "Windows."

While Windows 1.0 was targeted to the old 8088 processor, by 2.0 they were offering a "Windows/386" version that was targeted at Intel's new chip. They offered a "Windows/286" version of Windows 2.0 as well, but it didn't even try to use the chip's...

Jason Lefkowitz

In 1985, Intel finally released its follow-on to the 286, the 80386. And the 386 solved all of the 286's technical problems.

Beyond being able to switch back and forth between protected and real modes without rebooting, the 386 also added a new "virtual 8086 mode," in which software that could only run in real mode could be run inside a little sandbox that, to the code, looked just like an 8086 in real mode. Now all your old DOS programs could run right alongside your shiny new OS/2 or Windows ones.

The 386 was exactly what programmers and users wanted. (Which is why, even today, lots of software is compiled to use the 386 as its baseline platform. Every CPU that Intel released afterwards is, effectively, a 386+.)

In 1985, Intel finally released its follow-on to the 286, the 80386. And the 386 solved all of the 286's technical problems.

Beyond being able to switch back and forth between protected and real modes without rebooting, the 386 also added a new "virtual 8086 mode," in which software that could only run in real mode could be run inside a little sandbox that, to the code, looked just like an 8086 in real mode. Now all your old DOS programs could run right alongside your shiny new OS/2 or Windows ones.

Jason Lefkowitz

But there was one problem the 386 couldn't solve, because it wasn't a technical problem. That problem was IBM.

IBM had bet BIG on the 286. To sell the 286-based PC/AT, it had promised its customers that the 286 was the future of the PC. And these were customers who were used to IBM standing by its promises not just for years, but for DECADES.

There were Fortune 500 corporations which had built their entire computing infrastructure around the AT. They did that because IBM had promised them that the AT was their ticket into the future, into the world where PCs could multitask like a UNIX workstation.

But it wasn't, and the release of the 386 underlined that. Developers rushed to write software for the 386, because it offered all the 286's benefits (and more!) without the 286's dumb limitations. And that was all software that IBM's customers couldn't run, because they were saddled with their 286-based ATs.

This meant that IBM was, effectively, lashed to the mast of the 286. They couldn't just let it go and move on to the obviously better 386 the way the clone makers could, because if they did, their customers would revolt. They had to live with the 286.

In 1987, IBM released its successor to the PC/AT, the PS/2. PS/2 models were released in a range of form factors. If you wanted a server, or a gigantic tower that cost $8,000 in 1987 dollars (more than $21,000, in today's money), you could get a PS/2 with a 386 in it.

But if you just wanted a desktop workstation? The best PS/2 you could get came with a 286.

But there was one problem the 386 couldn't solve, because it wasn't a technical problem. That problem was IBM.

IBM had bet BIG on the 286. To sell the 286-based PC/AT, it had promised its customers that the 286 was the future of the PC. And these were customers who were used to IBM standing by its promises not just for years, but for DECADES.

Jason Lefkowitz

IBM's inability to give up the 286 had far-reaching consequences.

It doomed the OS/2 project, which could never keep up with the pace at which Microsoft was developing Windows because OS/2 had to be able to run on a 286. OS/2 didn't drop 286 support until 1992, by which time Windows had been fully 386-based for years. By hanging on to the 286, IBM gave Microsoft the opening they needed to wrest away the OS market.

And clone makers, who were not saddled with the promises IBM had made to support the 286 forever, rushed to embrace the obviously better 386. The original clone maker, Compaq, was shipping 386-based machines by 1986 -- a year before the still-286-centric PS/2 line emerged. One was even portable!

At the launch of his company's 386 line, Compaq president Rod Canion wasn't shy about predicting its significance. If IBM didn't have competing 386 workstations on the market soon, he said, they would lose their position as the company that defined the PC standard.

Canion was right. IBM didn't realize it until they finally gave up on the PS/2 many years later, but this was the moment they lost the PC industry. From this point on, what it meant to be a "PC" would be defined by a loose coalition of interested parties -- hardware vendors, Microsoft, Intel -- rather than by IBM.

IBM's inability to give up the 286 had far-reaching consequences.

It doomed the OS/2 project, which could never keep up with the pace at which Microsoft was developing Windows because OS/2 had to be able to run on a 286. OS/2 didn't drop 286 support until 1992, by which time Windows had been fully 386-based for years. By hanging on to the 286, IBM gave Microsoft the opening they needed to wrest away the OS market.

Computer Chronicles Revisited

@jalefkowit My most recent blog post covered another aspect of IBM's decline in this period, the RT PC. I even quoted Canion as basically saying the PC standard had grown beyond IBM's ability to try and pivot to some new proprietary standard--in this case the RISC-based RT, which was bedazzled with its own multiple problems.

Jason Lefkowitz

@chronrevisited Yeah, there were other fights as well, like the battle over the Micro Channel Architecture that the PS/2 brought. The original PC was surprisingly open for an IBM product -- a decision IBM spent the rest of its time in the PC business trying desperately to undo

Computer Chronicles Revisited

@jalefkowit Incidentally, the next episode I'm writing up involves a barrage of DOS utilities designed to address shortcomings with the 8086 and 80286 design. One of the demos is "DoubleDos," which tried to introduce a crude form of multi-tasking on the XT. There were some on-set issues with the implementation. :p

Charles U. Farley

@jalefkowit @chronrevisited The lack of Linux support for MCA is the only reason I ran OS/2 instead of Linux until I built my Pentium machine in '95. I tried out MINIX, but it became clear fairly quickly that it couldn't replace OS/2 for me.

Jason Lefkowitz

It took a long time for IBM to give up on the 286. They were releasing 286-based PS/2s as late as 1991, by which point the rest of the world had long since moved on.

(Some other vendors made the same mistake. Tandy, for instance, squandered their market position by betting just as big on the 286. I saw ads for 286-based Tandy 1000 models well into the early '90s, which presumably was Radio Shack desperately trying to clear out long-obsolete inventory.)

But the 286 wasn't the future. The 286 was broken. And it was broken because Intel broke it.

Fortunes were made, and lost, based entirely on how quickly people realized that.

It took a long time for IBM to give up on the 286. They were releasing 286-based PS/2s as late as 1991, by which point the rest of the world had long since moved on.

(Some other vendors made the same mistake. Tandy, for instance, squandered their market position by betting just as big on the 286. I saw ads for 286-based Tandy 1000 models well into the early '90s, which presumably was Radio Shack desperately trying to clear out long-obsolete inventory.)

ozoned

@jalefkowit absolutely love these long form tech history posts. Thank you for sharing!

Kermode

@ozoned @jalefkowit
Yes, me three. I lived through that time and it clears up a couple of things for me. I flirted with os2warp, but otherwise went from my h/w only days (playing with ti99, zx81, c64 etc) to amiga and then linux, skipping ms/apple entirely. Not sorry about it either :-)

chunter

@jalefkowit I used to have huge boot menus to choose between different memory managers and I wonder if you've just explained part of the reason. At one point I had a different boot sequence for every program.

Jason Lefkowitz

@chunter It's not exactly the same thing, but it's close.

The original PC CPUs (8088/8086) could only address a maximum of 1MB of RAM. DOS was written around that limitation. It reserved 384K of that for itself, and left the remaining 640K available for programs to use. (This is the source of the infamous Bill Gates prediction, "640K ought to be enough for anybody": computerworld.com/article/2534)

The problem came when DOS programs got so big they stopped being able to fit within 640K. You could add more than 1MB of memory to later PCs, but unless DOS had a way to "see" it, it would just sit there unused.

Two approaches to solving this eventually became popular, one called "extended memory" (XMS) and the other "expanded memory" (EMS). Both could give a DOS program access to memory above 1MB. But they weren't compatible with each other; they each had their own driver, and in some cases needed particular hardware. And programs had to be written to use one or the other. So you had some programs that needed XMS, some that needed EMS, and some that needed one or the other PLUS a guaranteed amount of "low memory" in that original 640K.

So you ended up writing boot loaders for different programs that configured the system memory exactly the way that specific program wanted it. By the end of the DOS era, memory needs had gotten so intense and specific that you could have dozens of these.

Windows solved this by having "real" Windows programs run in protected mode, which was free from the 640K limit, and running old DOS programs in virtual 8086 mode, where you could configure each "virtual 8086" sandbox to have whatever memory configuration you wanted.

@chunter It's not exactly the same thing, but it's close.

The original PC CPUs (8088/8086) could only address a maximum of 1MB of RAM. DOS was written around that limitation. It reserved 384K of that for itself, and left the remaining 640K available for programs to use. (This is the source of the infamous Bill Gates prediction, "640K ought to be enough for anybody": computerworld.com/article/2534)

Vertigo #$FF

@jalefkowit @chunter Slight correction, if I may; it was IBM that reserved the 384K for itself, as that was the region of memory IBM carved out for the BIOS and I/O expansion. The CGA-VGA video frame buffer appeared there, as did BIOS expansions that could be found in expansion cards like network cards, video cards, and hard drive controllers.

Microsoft needed to take a chunk of memory out of the remaining 640K for themselves, which is why towards DOS 4 and later, it became increasingly difficult to run larger programs, as the DOS kernel itself was growing, and the plurality of new device drivers like CD-ROM, network, and sounds card drivers took up yet more memory.

@jalefkowit @chunter Slight correction, if I may; it was IBM that reserved the 384K for itself, as that was the region of memory IBM carved out for the BIOS and I/O expansion. The CGA-VGA video frame buffer appeared there, as did BIOS expansions that could be found in expansion cards like network cards, video cards, and hard drive controllers.

GunChleoc

@jalefkowit @chunter Having to tweak the memory usage is certainly one thing that I don't miss.

Gareth Kitchen 🏴󠁧󠁢󠁷󠁬󠁳󠁿

@jalefkowit Aw, you stepped over the 186. No protected mode but given additional instructions that were incorporated into the 286.

The Model 2000 here predates IBM's AT.

atarimagazines.com/creative/v1

Jason Lefkowitz

@gruff I was a Tandy user myself at that time (Tandy 1000 4 lyfe yo!), so I remember the 2000, though I never had the chance to use one.

An interesting machine, but doomed by the same mistake -- once the original PC became a big hit, if you wanted to sell into the PC-compatible marketplace, you absolutely had to be 100% PC-compatible. "Mostly compatible" wouldn't cut it.

The 2000 sticks out because of the highly unusual decision to go with the 186. Did anyone else actually ship a 186-based machine? That chip kind of got lost in the stampede towards things like protected mode.

@gruff I was a Tandy user myself at that time (Tandy 1000 4 lyfe yo!), so I remember the 2000, though I never had the chance to use one.

An interesting machine, but doomed by the same mistake -- once the original PC became a big hit, if you wanted to sell into the PC-compatible marketplace, you absolutely had to be 100% PC-compatible. "Mostly compatible" wouldn't cut it.

Gareth Kitchen 🏴󠁧󠁢󠁷󠁬󠁳󠁿

@jalefkowit The Model 2000 predated the Model 1000 and the actual IBM AT by about a year.

I remember they were mostly sold with Lotus 1-2-3. I also remember doing seminars with Microsoft in London demonstrating Windows 1.0. to city traders. Microsoft loved the 2000.

Jason Lefkowitz replied to Gareth Kitchen 🏴󠁧󠁢󠁷󠁬󠁳󠁿

@gruff You're right, I had my timeline mixed up! Sorry about that.

Charles U. Farley

@jalefkowit @gruff I had a Tandy 1000 as well. It had originally had Windows (2.0?) on it when my dad bought it from a coworker, but I only ever ran DOS on it.

Natasha Nox 🇺🇦🇵🇸

@jalefkowit Thank you, that's super interesting! Now I finally know where the i386 I see all the time downloading software comes from. And I thought the story around amd64 was screwed up, lol.

Jason Lefkowitz

@Natanox Oh yeah, totally. The 386 is the lizard brain inside every Intel processor even today. Tagging software as being for "i386" is just an easier way of saying "all this needs is a 32-bit x86 processor, nothing fancier."

(and re amd64, don't even get me started on Itanium 😆​ )

Norbi📷

@jalefkowit when was Hardware Floating point support added? AFAIK even the 386 has a companion chip for that. And it was not easy to support environments with and without floating point hardware in the same program because of a missing interrupt for "instruction not implemented " or "illegal instruction"

Jason Lefkowitz

@grauzone Intel CPUs didn't get an FPU on-board by default until the 486, and even then they offered a cheaper 486SX version that didn't include the FPU. (There was an 80487 add-on FPU for that one, but if you started with a 486SX and added a 487, you just ended up with a more complicated, more expensive 486.)

Charles U. Farley

@jalefkowit @grauzone IIRC the 487 was just a 486DX with an extra pin, and it would disable the 486SX entirely when you put it in the "coprocessor" slot. So more expensive and more complicated in terms of total hardware in the system, but not really more complicated wrt hardware "in the loop".

Your friendly 'net denizen

@jalefkowit I think everything you say about the '286 and its place in the history of IBM PCs and compatibles is true, but I still have a soft spot in my heart for the processor and its unfulfilled potential.

Jason Lefkowitz

@cstanhope In a way, the story of the 286 is the story of the end of an era. It was pretty common in the small-systems world before that for each new generation of hardware to not be backwards compatible with the previous one. It was just expected that you'd have to throw away all your old software when you moved to the next generation.

The 286 was the first time in the PC world that the previous generation had sold enough software (and had software that was being put to enough actually mission-critical purposes) that when people were asked to throw away their old software, they were like, "um, no. No way. Try again."

@cstanhope In a way, the story of the 286 is the story of the end of an era. It was pretty common in the small-systems world before that for each new generation of hardware to not be backwards compatible with the previous one. It was just expected that you'd have to throw away all your old software when you moved to the next generation.

Your friendly 'net denizen

@jalefkowit Yeah, and the '286 was introduced just months after IBM launched their 8086 based PC. So it must've been in the works for a while, well before any of what eventually became the PC market would've maybe influenced Intel's design choices. I'm not even sure who Intel's customers were for the 8086 before IBM came along. Niche CP/M machines and embedded control applications?

Oh well, much like digital watches, I still think the '286 is neat. :)

Computer Chronicles Revisited

@jalefkowit @cstanhope There was also the fact that the growing use of high-level languages like C finally made it possible to have "portable" programs. This came up during the "Chronicles" episode I covered on the RT. Even the IBM rep made a point of promising compilers to make the transition to the new platform smoother. Sure, it didn't help the RT in the end, but clearly the old way of throwing away the old software, as you put, was no longer gonna fly in the business market.

MarkusL

@jalefkowit @cstanhope It had been at least attempted in the microcomputer world. If you bought a second 6502 for your BBC Micro (doubling your memory to 64K and increasing clock speed from 2MHz to 3MHz) then well-written software, which did everything through the OS, was supposed to work. Unfortunately, lots of software wrote directly to screen memory for performance, and that simply wasn't in the second processor's memory map.

scmbradley

@jalefkowit did the 286 damage the PC ecosystem by breaking IBM's near monopoly or did they help by giving clone makers a boost and giving consumers more of a varied market?

Jason Lefkowitz

@Scmbradley By throwing a wrench in the migration away from DOS to a better operating system. The inability of real mode and protected mode applications to coexist on a 286 machine, combined with the huge installed base of 286 machines and of real mode DOS applications, meant that nobody was going to be able to unseat DOS.

Because it had to support the 286, OS/2 was hobbled from the start. Windows didn't really start to take off until version 3.0, when there were finally enough 386 machines in use to create a viable market for software targeted just to them.

IBM's failure to let go of the 286 did give clone makers an opportunity, but for a long time, the 386 machines they were selling were still just running DOS apps in real mode. A complete waste of the chip's potential.

@Scmbradley By throwing a wrench in the migration away from DOS to a better operating system. The inability of real mode and protected mode applications to coexist on a 286 machine, combined with the huge installed base of 286 machines and of real mode DOS applications, meant that nobody was going to be able to unseat DOS.

scmbradley

@jalefkowit yeah I guess that's a lot of short to mid term disruption. But taking the long view, hobbling IBM might have been worth it?

Charles ☭ H

@jalefkowit

In later years, Os/2 was a better operating system than windows, had more features, was more stable, etc etc tec. IBM did a brief giant advert campaign including buying ad time during the Super Bowl.

And then they just . . . lost interest? By the time Microsoft got around to shipping windows, IBM had ceased advertising OS/2 at all. It was better than the windows that came later, but Microsoft invested a *lot* of money in advertising and it was newer than OS/2. There was no counter-advertising by IBM, just silence.

I bought IBM's C compiler for Os/2 and they had a "register in 2 weeks and we'll send you a free gift" thing. So I did. More than a ~year~ later, a poster arrived. That's a small thing, but their entire promotion was equally ill-timed.

@jalefkowit

In later years, Os/2 was a better operating system than windows, had more features, was more stable, etc etc tec. IBM did a brief giant advert campaign including buying ad time during the Super Bowl.

And then they just . . . lost interest? By the time Microsoft got around to shipping windows, IBM had ceased advertising OS/2 at all. It was better than the windows that came later, but Microsoft invested a *lot* of money in advertising and it was newer than OS/2. There was no counter-advertising...

Jason Lefkowitz

@celesteh IBM never really got the hang of marketing direct to consumers. They had spent 70 years before the IBM PC came out honing their skills at enterprise marketing, and they were still really good at that. But those weren't skills that translated into being able to sell products directly to ordinary people.

When the PS/2 line came out, they spent $50 million to reunite the cast of M*A*S*H in their TV spots. But (1) M*A*S*H had by that point been off the air for years, and (2) they got the cast, but not the rights to use their M*A*S*H characters. So they had them play nameless office workers, which was super bizarre.

Some of the blame of course has to be laid at the feet of IBM's ad agency, Lord Geller Federico Einstein, which had also been behind the Charlie Chaplin-themed ads for the original PC, and which imploded spectacularly two years after the PS/2 campaign.

youtube.com/watch?v=rbH50T9jxV

@celesteh IBM never really got the hang of marketing direct to consumers. They had spent 70 years before the IBM PC came out honing their skills at enterprise marketing, and they were still really good at that. But those weren't skills that translated into being able to sell products directly to ordinary people.

Charles ☭ H

@jalefkowit I was a kid at the time and a big fan of os/2, so my memory may be untrustworthy, but I thought the is/2 adverts were really great and they did seem to generate chatter. The problem wasn't the content, IMO.

. . . in retrospect, being a teenage fan of an operating system in the 90s was probably why everybody at school thought I was weird and I would be predisposed to like any big budget ad campaign.

I've never really used windows. I went from os/2 to linux to Mac to linux.

Charles ☭ H replied to Charles ☭ H

@jalefkowit

Just watched the advert reel and, uh, expensive and full of middle aged white people does sound very IBM to be fair. It's not a company that projects dynamism or youth.

mmu_man

@jalefkowit Actually there are ways to exit protected mode on 286, but they requiring resetting the CPU, which takes ages (it runs the BIOS again until it notices the reset was from PM and hands back over). So you wouldn't want to use them to multitask DOS boxes.

I knew about the keyboard controller method but it seems there are more clever ways:

rcollins.org/articles/pmbasics

David

@jalefkowit
Interesting history. Was software as equally expensive as hardware was at the time? I would have thought that if developers were excited to work on software using protected mode, and the customers had 286s ready for that new software, the result would have been a quick replacement of old software instead of buying new expensive hardware.

Jason Lefkowitz

@davengkel The original PC had been a GIGANTIC seller, which in turn meant it sold GIGANTIC amounts of software. And some of these software products were things like the Lotus 1-2-3 spreadsheet, which entire businesses had been built around. (Think of all the places Microsoft Excel has wedged itself into today; 1-2-3 was the same way, just for DOS.)

So there was a chicken-and-egg problem. People whose business depended on a product like 1-2-3 didn't want to throw it away until there was a clear, compelling replacement. But developers didn't want to write that replacement until it became clearer which way the market was going. (DOS, OS/2 or Windows? 286 or 386? etc.)

@davengkel The original PC had been a GIGANTIC seller, which in turn meant it sold GIGANTIC amounts of software. And some of these software products were things like the Lotus 1-2-3 spreadsheet, which entire businesses had been built around. (Think of all the places Microsoft Excel has wedged itself into today; 1-2-3 was the same way, just for DOS.)

Stewart Russell

@jalefkowit @davengkel "Windows ain't done until Lotus won't run", as the saying went

MarkusL

@jalefkowit People did, eventually, find ways to switch back into real mode by resetting the processor without rebooting the machine, but it was a horrible and inefficient kludge.

retrocomputing.stackexchange.c

Billie

@jalefkowit

It was possible to keep programs in memory ("memory resident program") and jump to it while an other one was running in real mode.

Both programs were able to modify the whole memory range. So something like early "multitasking" was possible in real mode with DOS 3.2 .

The 80286 protected mode was simply buggy and not usable. It was quickly superseded by the 80386 for that reason!

(1/2)

Billie

@jalefkowit

Because of that buggy protected mode, the 80286 was almost NO progress at all.

The changes worked with the 80386.

(2/2)

≮̜̭͠Ẁ̷̰̅ͅI̶̭̹̊C̴̝̦̙̈Ḱ̶̨̩̹͝Ḛ̷̰̉̈D̶͔̮̒͐ ̵̬̫͊́A̵̖͌͐̕Ņ̷͔͐Ḋ̷̬̱̮ ̸͇͔̜̈́̌͝V̸̨̿̈́̃I̷̥͙͒L̷̫̮͙̀E̴̮̝͝>̴̘̍̂
@jalefkowit
>Those older chips always ran in "real mode," where memory locations had fixed addresses, and any running program could modify the contents of any address. This meant that you couldn't have two programs running at once, because one might try to use a bit of memory the other was already using, and blammo!

This isn't the reason why it couldn't. For one, Windows CE and older versions of MacOS (<10) didn't have memory protection either.
@jalefkowit
>Those older chips always ran in "real mode," where memory locations had fixed addresses, and any running program could modify the contents of any address. This meant that you couldn't have two programs running at once, because one might try to use a bit of memory the other was already using, and blammo!
Iván Ávalos 🇲🇽

@jalefkowit If I remember correctly, there were techniques to return to real mode without rebooting, such as triple faults. This means, the limitation shouldn't have been a problem; and yet it was. Microsoft even patented one of the techniques, so others couldn't use it; but it wasn't the only way. Please correct me if I'm wrong.

zirblazer.github.io/htmlfiles/

Vertigo #$FF

@avalos @jalefkowit The triple fault technique and the keyboard microcontroller reboot methods were both used to reset the CPU without rebooting the rest of the PC.

The problem with these techniques is the very poor performance that comes with it. The CPU state needs to be preserved prior to using this, since many of the CPU registers are destroyed in the reset process (e.g., CS is forced to 0FFFFH), the code needs to check done state variables to make sure it's not a cold boot, etc.

Then there's the issue of having to manually swap out the lowest 640KB of memory as needed to bring in the DOS application, and you prayed that the DOS application didn't go into protected mode on its own, thus granting it ring-0 access to the rest of the system memory.

Even if the 286 supported clean re-entry to real mode, you'd still have major issues supporting multitasking in 286 mode.

@avalos @jalefkowit The triple fault technique and the keyboard microcontroller reboot methods were both used to reset the CPU without rebooting the rest of the PC.

The problem with these techniques is the very poor performance that comes with it. The CPU state needs to be preserved prior to using this, since many of the CPU registers are destroyed in the reset process (e.g., CS is forced to 0FFFFH), the code needs to check done state variables to make sure it's not a cold boot, etc.

William D. Jones

@jalefkowit I've heard thirdhand that one of the 286 designers said:

"We gave you all these new features and you piss them away by continuing to use DOS".

I'll see if I can link the actual quote later. 286 is still one of my favorite CPUs because it's true power was barely ever utilized, and it dared to be unique (even if that uniqueness wasn't good).

I still run my AT frequently.

Jason Lefkowitz

@cr1901 I don't doubt it, but if so, that kind of illustrates why the 286 failed (in the marketplace, I mean). Intel and IBM didn't appreciate just how much the success of the original PC had locked in DOS as the business standard. That wasn't great, because DOS sucked six ways to Sunday, but it's just the way things were at that moment.

People had invested billions of dollars in DOS applications, they weren't going to give them up on a whim. Prying them off DOS was only ever going to be a long, gradual process. (Even Windows, which eventually did the job, didn't stop treating DOS apps as first-class citizens until Windows 2000.)

I agree that the 286 is a very interesting chip! And it probably would have done a lot better if had been dropped into a green-field scenario, rather than one where the 8088 had already conquered the world. The fundamental mistake came from the business side, which should have understood better the market they were trying to sell into.

@cr1901 I don't doubt it, but if so, that kind of illustrates why the 286 failed (in the marketplace, I mean). Intel and IBM didn't appreciate just how much the success of the original PC had locked in DOS as the business standard. That wasn't great, because DOS sucked six ways to Sunday, but it's just the way things were at that moment.

alina

@jalefkowit this makes me kinda sad, but it was really entertaining to read, good job!

abortretryfail

@jalefkowit

Tbh, protected mode being a one-way switch seems like a sound security decision in retrospect.

txt.file

@jalefkowit this whole story describes very good why IT is such a trash fire. Even a current AMD Ryzen must be compatible with 30 year old technology that (hopefully) nobody uses anymore.
It is not turtles all the way down. It is compatibility all the way down.
The good thing about arm. It does not have the PC/Windows ecosystem. That’s why arm can sell aarch64-only chips. Because Windows ia64 failed and amd64 (with compatibility all the way down) succeed.

Go Up