Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

IBM PC turns 30 (Aug. 12, 1981) (Users)

posted by Rugxulo Homepage, Usono, 06.08.2011, 00:44
(edited by Rugxulo on 06.08.2011, 00:55)

> The more interesting question is why IBM chose the Intel architecture
> for the PC, when things like the Motorola 680X0 were out there, with a
> flat, linear address space,

They only spent a year developing the IBM PC, and part of the success was due to off-the-shelf parts (i.e. cheap, easily replaceable). In hindsight, it looks like a weird decision, but they probably already had 8086 experience and/or got a cheaper price. Besides, IBM wanted to copy CP/M (esp. when they couldn't get the real thing), and they had a policy of having more than one fab plant making chips. Who knows, but perhaps Motorola wasn't successful enough in production to meet their needs (or maybe CP/M didn't want to support it, who knows). Well, clearly price and peripheral compatibility was a factor because they chose the (slower, 8-bit bus) 8088 instead of the (faster) 8086. "Use IBM, we support 16-bit, upgrade all your old 8-bit CP/M stuff with ease!"

> unlike the X86 segmented model so beloved of
> DOS programmers. (Six different memory models, depending on the size of
> your code and the size of your data, with a segment on the 8088 being 64K.
> At least on a 386 and above, a segment is 4GB...)

I don't know when all those models first appeared, but surely it was many years later. When the original IBM PC only supported (max!) 256 kb of RAM, you didn't have to worry about it. Esp. when yours probably came with 64 kb, you probably didn't have to worry about models at all! Even 128 kb is easy (small model), not much to worry about.

> Best guess is that they were already familiar with the Intel architecture
> (the DisplayWriter dedicated word processor used an 8086 CPU, with the
> UCSD P System), there were supporting chips and tools available, and they
> wanted to leverage the existing software base from the old CP/M machines
> running 8080 and Z80 CPUs like WordStar and VisiCalc.

(Can't find the link right now, but somewhere on Wikipedia it mentions that IBM had some previous experience with 8086.)

Yes, definitely. I can't remember exactly if 8080 or 8085 was "source compatible", but that was one aspect. Also the explicit CP/M API support (FCBs ftw!) was also promoted as an advantage. CP/M was (apparently) much more limited than DOS 2.0 on an 8088 w/ 256 kb.

> Marketing. IBM was always a B2B company, and never really understood the
> consumer market. OS/2 was superior, but IBM didn't know how to sell it.
> It sold into IBM shops who ran other IBM hardware and software, but never
> really seemed to get a lot of traction beyond it.

They may?? have charged too much for the DDK (vs. cheaper Windows??), dunno.

> The folks behind the popular WindowBlinds Windows skinning package were
> big OS/2 fans and tried to buy it from IBM, but IBM wasn't interested.

Don't forget that IBM is "old school". They recently turned 100! But they sold all their PC stuff (??) back in 2005 to Lenovo. eComStation 2.0 was released a few months ago, but I'm not sure IBM is involved (except via royalties, of course).

> If IBM were really savvy, they'd release it as open source. They are
> already open source players, releasing things like Eclipse and Open
> Object Rexx as open source products. An open source OS/2 might make
> interesting waves in the market.

No, they've said several times they will never do it. I don't know, I suspect they just have no control over the (overall) copyrights, e.g. Microsoft probably still owns a lot (and probably wouldn't give them permission anyways). Not to mention that IBM already suggests everyone migrate to Linux and/or Java anyways.

But they did (finally) open source NetRexx recently. (Though Cowlishaw retired early about two years ago, spends more times flying planes and spelunking, apparently, heheh.)

> A 16-bit "host" OS will probably NOT enable the 64-bit long mode, so
> it will be able to run 16-bit code. :-)

For some reason, unlike 32-bit, which can run in either 16-bit or 32-bit mode, you can't use 64-bit except in 64-bit mode. Perhaps that's due to the kludge of adding to (already almost full) opcode space, dunno.

Face it, they "can't imagine" that we won't upgrade everything to almighty 64-bit. Same as 32-bit upgrade but worse. But what'd you expect, everybody (Windows, FreeBSD/Mac OS X, Linux) was already 32-bit only anyways, so as long as the transition is easy for them .... :-/

> Maybe it was an error to make the 80286 (mostly) 8086 compatible ?

No, but perhaps they shouldn't come out with a new "incompatible" machine every few weeks!! Maybe limit the incompatible forced upgrades to, say, one a year??? :-D :-P

> Or to keep the 64 KiB segment limit ?

They never thought people would get so lazy / greedy / bloated to need gigs of storage or RAM or address space. Also prices were very high. Sure, hindsight is 20/20 ....

> Or to invent M$-DOG and M$-Windaube
> (both were already out when OSama/2 started, and influenced it) ? Or to
> implement support for the old M$-DOG and M$-Windaube legacy crap in the
> new cool OSama/2 ? It's always easy to criticize historical decisions of
> other people :-)

Who's going to rebuild everything for OS/2 exclusively? Why would you? It's just a waste of time. And yet that's what Linux and Win64 want you to do anyways, and yet nobody's complaining (except us). :-(

> So why did M$ and Boreland develop for 80286 for that many years (Win16,
> DPMI16) ?

Legacy. Expensive costs (hardware, development). Not enough RAM to bother doing other stuff.

> You could implement multitasking in RM too (maybe not that reliable) or
> use the new cool PM :-)

Desqview did run in 8086, so did others. But I guess it "wasn't good enough".

> This is afaik all known. IBM simply wanted to clear out 286 inventory,
> and keep the 386 at a premium for a time longer. Nice tiered pricing
> schemes as they were used to in mainframes.

I don't think so. They didn't jump on the 386 bandwagon until later.

> Then Compaq started mass selling 386 clones, and being quite succesful at
> it.

From what I can tell, Compaq had an "exclusive" 386 license with Intel (though they had to [clean room] "reverse engineer" the BIOS). That made AMD mad, among others.

> Because it took some time for 386 to receive full penetration. Also
> the price of memory was still prohibitive. (and 386 OSes ate more memory).

None of the software tools had caught up yet. Besides, why bother with 386 stuff when you can't even use 286 (max. 16 MB) to its fullest? Everybody had 16-bit cpus, only few had 32-bit. Not everybody wanted to upgrade every other week (unlike nowadays).

> I'm not going to argue any of that. I simply don't know enough about 286 PM.

Me either, it's very complicated! No wonder so many people take the lazy way out (386 only)! Actually, these days it's more like 686 (or P4) or higher only! Linux doesn't run in 2 MB (or even 128 or even 512 !!) anymore. :-(

> I did use it, but only to get more memory in Borland Pascal. I don't
> know much more than that you had to be very careful to not run out of
> (IIRC 8192) selectors. But that could be a dpmi/heapmanager limitations
> (allocating big blocks from the OS, eating up a selector)

Dunno, and IIRC, there were some bugs there. But one guy (Jason Burgon) said once that BP7 could (in theory) use 192 MB of RAM. Though I know 286 is limited to 16 MB, and XMSv2 to 64 MB, but I guess there were still ways (perhaps directly via DPMI to Windows or such other host).

> The 64kb thing was indeed horrible.

Only for those who used lousy compilers or didn't know what they were doing. There are always tradeoffs, and sure it's not easy, but nothing ever is. "far" and "huge" were always the ways to overcome that, apparently. But again, it just depends on what your compiler supported.

> Though some of the horrors were self
> inflicted in retrospect, like keeping to try assembler code running with
> different memory models (tiny/compact/large/huge etc). Not being able
> to pass a pointer in a single register made register parameters hard.

Hardly more difficult to pass CS:IP instead of just IP. People did it and survived. I'm not saying I'm a pro or suggesting "going back", just saying that perhaps it wasn't as bad as you make it sound.

> It depends on the uses. If you do major compilation work, a VM is only
> slowing.

Esp. since VT-X isn't standard on all cpus (still!), no thanks to Intel. I think for that reason alone is why MS finally made XP Mode not need VT-X to run.

> OTOH that could be done under XP too, and there is no need for
> native dos.

Agreed, XP ran "most" DOS software just fine. Too bad later versions of Windows were much worse (and of course XP is officially deprecated by MS and not sold directly anymore).

> So that leaves testing the result. I would do that on an old
> system, and not the new one.

Old systems die, so then you're up a creek without a paddle. There really is no bullet-proof solution, you just have to "make do" with what you've got. Too bad that "new" isn't always better (or faster or cheaper or easier or compatible or ...). :-(

 

Complete thread:

Back to the forum
Board view  Mix view
22760 Postings in 2121 Threads, 402 registered users (1 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum