Fifteen Classic PC Design Mistakes
Harry writes "Once upon a time, it wasn't a given that PC owners should be able to format their own floppy disks. Or that ports should be standard, not proprietary. Or that it was a lousy idea to hardwire a PC's AC adapter, or to put the power supply in the printer so that a printer failure rendered the PC unusable, too. Over at Technologizer, Benj Edwards has taken a look at some of the worst design decisions from personal computing's early years — including ones involving famous flops such as the PCJr, obscure failures such as Mattel's Aquarius, and machines that succeeded despite flaws, like the first Mac. In most instances — but not all — their bad decisions taught the rest of the industry not to make the same errors again."
Problem #1: No Power Supply Fan
Problem #2: Limited Apple II Compatibility
Problem #3: No Way to Format Disks
Problem #4: EM Pulse Erases Tapes
Problem #5: Printer Required
Problem #6: Rubber Keyboard
Problem #7: Non-Detachable AC Adapter
Problem #8: Miserable Keyboard
Problem #10: Sidecar Expansion
Problem #11: No User Expandability
Problem #12: Slow BASIC
Problem #13: Sidecar Expansion
Problem #14: Bulky Expansion Modules
Problem #15: Unreliable Proprietary Disk Drives
Don't fight for your country, if your country does not fight for you.
Actually, DisplayPort isn't proprietary, it's the successor to DVI. Mini-DisplayPort is part of the VESA specification and is entirely royalty-free.
Why? What other processor(s) should have been used, and what would have been the benefits? No, not trolling. Just interested in what you said and would like more information.
The fundamental problem with Intel's instruction set architecture for the 8088/8086 line was that it was complex and intricate. To perform some instructions, the arguments had to be in very specific registers. Every register was, in some way or another, special purpose. The contemporary Motorola architecture, based on the 6800 and extended into the 68000 line, was completely the opposite: every register was, more-or-less, general purpose.
Writing a compiler for the Intel architecture is an exercise in masochism. Writing one for the Motorola architecture is one of simplicity and elegance. The Motorola instruction set documentation of the era was simple, clean, and definitive: it molded the way instruction sets were documented for generations afterward. The Intel documentation was difficult to understand at best.
One of the stark differences in the two instruction sets was the difference in instruction length variability. Intel instructions could be almost arbitrarily long. Motorola instructions were one or two bytes, with the one byte instructions being the ones most frequently used (inspired brilliance, that was). Also, for very related reasons, the number of cycles to execute an instruction was highly variable for Intel architectures, and more-or-less fixed for Motorola architectures.
I wrote assembly code for both architectures, back in the day. I hated, hated, hated writing for Intel chips, and breathed a sigh of relief whenever writing for Motorola chips. The inherent beauty in the Motorola instruction set created a certain kind of transparency making it possible --- seriously --- to see programmer intent when reading assembly code. With Intel chips, that was just not possible. With Motorola chips, you could reverse engineer code pretty easily; with Intel chips, it was painful.
The world would be a better place if IBM had selected Motorola.
Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
Those are mistakes an end user would see. Here are some deeper mistakes from an engineerings standpoint.