95 pointsby rbanffy4 days ago5 comments
  • zabzonk4 days ago
    The 8086 and 80286 were so difficult to program, both in assembler and higher level languages. Everyone was relieved when the 386 and 486 came around - at last you could program sensibly and use operating systems that didn't crash all the time because of good memory protection.
    • fargle4 days ago
      > The 8086 and 80286 were so difficult to program, both in assembler and higher level languages.

      286 protected modes, sure.

      16-bit 8086, no way. difficulty of use did not hinder.

      celebrating proper 32-bit protected modes, absolutely agree. but x86 was still well liked and used and was not the clunker that 286 was.

      • npsomaratna3 days ago
        Anyone here remember the LOADALL instruction? Fun times.
        • guiambros2 days ago
          Ralph Brown enters the chat...
    • ghssds4 days ago
      When an OS making use of 386's features became mainstream we were well into the '90s. By that time the 386 itself was long obsolete. If by everyone you mean almost nobody, then I agree because that's how many people used the 386 as a 386 and not simply a fast 8086.
      • adrian_b3 days ago
        You are right about before 1990, but already in 1990 Windows 3.0 was released, which had a non-negligible amount of users, even if most Windows 3.0 users typically switched continuously between using Windows 3.0 and MS-DOS, because they continued to use various MS-DOS applications, e.g. Lotus 1-2-3, WordPerfect and so on.

        In 1990, far away from USA, and where computers where relatively much more expensive, I have started to use a 80386DX-based PC/AT clone on which (besides MS-DOS), I have used two 386-specific operating systems, i.e. Windows 3.0 and SCO UNIX (a couple of years later I have also used on it other 386-specific OSes, e.g. IBM OS/2 2.0).

        I agree that during its lifetime more 80386 users must have used MS-DOS than other operating systems, but already since 1990 there was a non-negligible number of users of 80386 in 32-bit mode, with Windows 3.0 and its successors.

        Moreover, even many of the strictly MS-DOS users were using EMM386.SYS in order to access the memory above 1 MB within MS-DOS programs.

        While EMM386.SYS does not count as a complete operating system, it was a program using 80386 in its 32-bit mode that was an essential part of MS-DOS after 1990, because already by 1990 most 80386 PCs had more than 1 MB of memory, with 2 MB typical for the cheapest and 4 MB typical for the more expensive.

      • twoodfin4 days ago
        Windows 3.0/3.1 offered a 386 Enhanced mode with significant benefits:

        https://en.wikipedia.org/wiki/Windows_3.0

        Windows 3.0 arrived in 1990.

        • icedchai3 days ago
          DESQview 386, a DOS multitasker, was released a little bit earlier. Probably more useful than Windows at the time given the popularity of DOS applications. I remember some local BBSes running multiple "nodes" in DESQview.
        • skissane3 days ago
          > Windows 3.0/3.1 offered a 386 Enhanced mode with significant benefits:

          Which was a follow-up to Windows/386 2.0 released in 1987.

          I guess the big difference is few people ever used Windows 2.x, even in its 8086 variant, and use of its 386 variant was even rarer. Whereas Windows 3.0 was widely adopted. And by the time Windows 3.0 came out, 386 machines had become much more common too

          • adrian_b3 days ago
            Previous Windows versions were for 8088 or 80286, which caused serious limitations for how memory was allocated and used (e.g. the programs had to be written in such a way as to allow the operating system to change the values of the pointers, whenever it needed to move the already allocated memory regions to other places).

            While Windows 3.0 had compatibility modes with earlier Windows versions, its native mode was designed for 80386, which allowed a completely different programming model, removing the annoying limitations of the older Windows versions.

            Saying that Windows 3.0 was a follow-up is not really appropriate because it was a very different operating system, even if many APIs had remained as compatible as possible with the earlier Windows versions.

            • skissane3 days ago
              > Previous Windows versions were for 8088 or 80286, which caused serious limitations for how memory was allocated and used.

              No, this is not true. Windows/386 2.0 (and 2.1 and 2.11) were specifically for the 80386 only. The other edition of Windows 2.x, Windows/286, was for 80286 (and despite its name suggesting it required a 286, it was supported on 8086 as well, albeit with fewer features)

              > Saying that Windows 3.0 was a follow-up is not really appropriate because it was a very different operating system, even if many APIs had remained as compatible as possible with the earlier Windows versions.

              Again, I don't see how this is true. Windows 3.0's 386 Enhanced Mode was a direct evolution of Windows/386 2.x.

              It sounds like you are under the false impression that the 386-only mode was a new thing in Windows 3.0, when it wasn't, it was first introduced with Windows/386 2.0

              • adrian_b20 hours ago
                I assume that you are right, but for some reason the 386-mode of Windows 2.x has not been popular and it was little known.

                That must have been either because Windows 2.x in general was not popular, or because before 1990 the computers with 80386 were too expensive.

                What I know for sure is that since 1990 Windows 3.0 has become popular enough and most of its users were using the 386 mode, which removed the problems caused by memory relocation.

                Before Windows 95, most serious work would still be done using MS-DOS programs, frequently using EMM386.SYS for upper memory access, but many also had Windows 3.x on their computers and were toying with it from time to time.

      • thescriptkiddie3 days ago
        don't forget protected mode DOS extenders like DOS/4GW, which predated windows 3.x by years and were popular with both games and professional software
      • zabzonk3 days ago
        Well, perhaps not "mainstream", but I was programming on Xenix supporting half a dozen or so users at the BBC on a 386 towards the end of the 80s.
        • chasil3 days ago
          Texas Instruments was selling i386 Xenix systems to a major farm implement company in the early 90s. I actually traveled the country installing these in dealerships. They ran an accounting system written in RM+COBOL.

          TI replaced this line with 68000-based UNIX, then sold their business computer systems line to HP.

      • kjs32 days ago
        Those of us who were actually there at the time were running Xenix, System V, SunOS and Novell Netware requiring 386 features in the late 80s, much less the 90s.
    • timewizard4 days ago
      Banked or segmented memory was a common CPU feature of the time. It's look back upon with a disdain that simply didn't exist at the time.
      • pjc503 days ago
        Segmented memory isn't that weird. What was weird was that, instead of the obvious way of concatenating two sixteen-bit registers to produce a 32-bit address, they added them together to produce a 20-bit address. In addition to which there was some hardware nonsense with the top address bit ("gate A20"). This system seemed practically designed to generate pointer aliasing, and it also permanently limited the architecture to one megabyte of addressable memory. Whereas the concatenation system could have been extended by simply exposing more bits of the address bus on CPU pins.

        The shenanigans to get DOS machines to use more than 640k (which the application had to share with the OS and drivers!) are stuck in my memory.

        • timewizard3 days ago
          > This system seemed practically designed to generate pointer aliasing,

          We did not care about that then. Primarily because SMP and threads were simply not a thing. You might also note that any implementation of mmap(2) provides the exact same facility.

          > permanently limited the architecture to one megabyte of addressable memory

          It limited the generation. The architecture has obviously moved well past that. Now you can complain that though you have 64 bits only 48 are routed out to pins on your board.

          > The shenanigans to get DOS machines to use more than 640k (which the application had to share with the OS and drivers!) are stuck in my memory.

          hah. Program on a mainframe in 24bit mode sometime. That's a real treat.

        • kjs32 days ago
          Gate A20 and 640k memory limits are because of the design of the IBM PC and M$ DOS, not the 8086. Better hardware and software didn't have these limits (they had others).
      • qingcharles4 days ago
        I agree. I don't particularly remember any disdain at the time. It was just a thing that you worked with. Sure, it made things more complicated. Sure, it was easier with a flat address space. But there were way bigger problems in day-to-day development than segmented memory.
      • drmpeg4 days ago
        On 8086, the assembler managed the segmentation. All you had to do was load the DS (and possibly ES) register with an assembler defined symbol at the beginning of your function.

        I never worked with the 80286, I pivoted to the i960 around 1992.

    • chihuahua4 days ago
      I was doing a lot of 6502 and 68000 assembly programming. Then (around 1988?) I got a PC with an 80286, and bought a book that described the 80286 instruction set. After reading it, I said "this is some bullshit" and returned the book for a refund. I had zero interest in writing a single line of code for that processor.
      • dougvj4 days ago
        I first learned assembly on the x86 and wasn't until years later that I picked up m68k asm for a hobby computer and all that time I just assumed assembly was either gnarly and difficult like x86 or very bare bones for compilers (like the RISC isas). I didn't realize there was a such thing as nice, programmer oriented assembly.
      • Pet_Ant3 days ago
        Can you tell us what the vast difference was that made you give up programming for it? I've only assembled SPARC in college, so I have no basis of comparison.
    • pjmlp3 days ago
      I disagree, it felt perfectly natural to me, coming up from 8 bit, and having done my little stay on the demoscene back in the day.
  • twoodfin4 days ago
    The classic paper on what went wrong (and some surprises about what didn’t, really) for the iAPX 432:

    https://safari.ethz.ch/architecture_seminar/spring2020/lib/e...

    • kens4 days ago
      Interestingly, Bob Colwell, one of the authors of that paper, ended up being hired by Intel and he designed the Pentium Pro.

      The other classic paper on the iAPX 432 is "A performance evaluation of the Intel iAPX 432". Coincidentally, one of the authors was my officemate at Berkeley. https://dl.acm.org/doi/10.1145/641542.641545

      • kjs32 days ago
        he designed the Pentium Pro

        So he earned forgiveness. :-)

    • _trampeltier3 days ago
      How could they with the tools late 70s, design something like this. At least they tryed.
      • rbanffy3 days ago
        It's really sad the 432 failed, directly, because we didn't get to really see it, and indirectly, because it made almost all of our computers today to be based on horrendously kludgy processors with an architecture that killed wonderful things like Amigas, Atari STs, SGIs and so many other lines that had their lives cut short.
  • chasil3 days ago
    The computer history museum has a panel interview where they discuss standard cell automated layout with "Timberwolf," a program they obtained from a graduate student who debugged it when needed from his dorm at his university.

    https://news.ycombinator.com/item?id=26757328

  • outside12344 days ago
    Intel really was a powerhouse then and on par in terms of "cool" with Microsoft.

    Crazy to think of that now given how much their paths have diverged.

  • mdip3 days ago
    Lovely read -- the 80s early 90s were such an interesting time in computing. That was a nice walk down memory lane for me and instantly brought back memories of dialing into (and eventually running) a Bulletin Board System.

    Few families had computers and -- as a kid -- the luckiest kids had Commodore 64s. I was the only kid -- out of 8 of my friends -- who's Dad insisted on having the same hardware at home that he had at work and he, like so many of that era, fell in love with Lotus 1-2-3[0]. I found it incredible that a nearly $4,000 (1985ish dollars) 8088 "generic clone" computer with ten times the RAM of a C64, 2 floppies and an RLL (?) HDD and "a real computer monitor" had a pretty abysmal collection of often terrible looking games available (it was the early days).

    The most obnoxious part of this machine was, upon powering it on, it would count all of the memory, climbing in 64k steps, for a solid minute[1] while the jet engine that was a full-height RLL 10MB HDD[2]. Because this obnoxious boot time and the small shop's recommendation (likely because "this happened before") after the rapid demise of our HDD[2], my father elected to just leave the computer running 24x7, turning only the monitor off when not in use.

    That machine (that I hated), though, became a pretty substantial part of (if not all of -- at times) my life from age 11 on. The 386 really was a revolution. With a VGA adapter and Sound Blaster (Compatible) you could spend an hour making a boot disk and eventually get a game with excellent graphics (for the era) to start without running out of memory below the 640k barrier.

    We couldn't afford one so my Dad took the unconventional approach of starting a company and having me build PCs for neighbors, friends and eventually businesses to afford a top-of-the-line one. I had a 486DX/33 (top sku when I purchased it) PC with ... everything (even SCSI drives), a 16" SVGA monitor and laser printer a year later.

    As a teenager I took a job at CompUSA[3] in hardware sales -- from about 1993-1997ish -- what an awesome time to work at a computer chain. I'll never forget the Windows 95 launch (after years of being promised a successor to WFW 3.11; even long enough for IBM to have a reasonable contender in OS/2). We had been receiving boxed (3.5" floppy and CD-ROM versions) of the software for weeks with an embargo[3]. We'd run promotions for the release day that involved staying open over-night. Somehow many members of the public were under an odd impression that "there might not be enough copies for everyone" and people actually started lining up around 10:30 at night. By midnight the line went all the way around the entire strip-mall (which could fit three CompUSA's worth) ... twice. The warehouse walls were floor-to-ceiling Windows 95 boxes, as were the tops of all of the aisle, the entire wall behind Customer Service, along with several large 5 foot tall 4-pallet wide stacks, several end caps and a few floor-to-ceiling shelves-worth, along with their "Power Pack". The store was surrounded in "blue." We had more RAM, Hard Drive and CD-ROM drive upgrades in the store than we'd ever had at one point in time at discounts that meant nearly everyone bought one of the three, many bought all of them. We played rock music on the speakers and watched Bill Gates with the cast of Friends from a CD-ROM displayed on the monitor wall.

    That release at that time felt like a very large tipping point. Not just "there's something better than DOS that's mainstream" but with the local news regularly bringing up "The Information Super-Highway" and careers were increasingly requiring computer skills, by then the 8ish people I knew who owned computers became "half of my friends" (all from suburban middle-class families) owned recently purchased PCs. It was a unique thing to see. There were hundreds of people waiting in line. Unlike other situations where people "wait in line to buy something", this wasn't a Cabbage Patch Kid, concert tickets to a huge musical act's tour, or various Super Mario/Link cartridge games ... this was a boring operating system. One that I'd been running betas smuggled through "Elite" BBSes for probably a couple of years by then[4]. It was also well known by then that there was no shortage of the OS or the promos (we did run a few door-buster "first X people get Y for free" deals) but we'd never had more than maybe 25-30 people "waiting for the doors to open" during even the biggest promos outside of this. The composition of people, as well, was unique. Yeah, all but maybe four were guys. But it wasn't hundreds of "computer nerds" -- it was a pretty huge number of normal, average, middle-aged men of various ethnicities (we had an unusually high number of Korean individuals due to the location's racial make-up).

    Summers were notoriously slow and usually saw a few bumps toward the end of August with "laptops becoming a school supply for college students" but that year, every weekend from the release of Windows 95 until the following summer seemed as busy as early-Christmas and this was in a location that was a half-mile from Computer City, Best Buy and Circuit City. Things started taking off like crazy owing mostly to "The Information Super-Highway" everyone kept reading about (and a half-decade later it was basically "over", with all computer-centered brick-and-mortar shops but Microcenter failing).

    Intel, having gotten into a legal fight with AMD, went with Pentium branding and brought some of the best swag. I've got varieties of stuffed Intel "hazmat suit" toys and still have two Pentium key chains with the processor embedded in (apparently) Lucite. Their competitors vendor reps brought T-Shirts (and I still wear my Athlon64 "Power me Up" T-Shirt).

    Crazy stuff ... fascinating how rapidly things apex, collapse and then just become part of every-day-life and the cycles get shorter and shorter. Intel had a few mis-steps here and there during that time (Pentium FDIV), but they were the king through most of my childhood. I now sit in a room with three high-end workstations. All are recent AMD processors.

    [0] The company he owned also designed parts and was an early user of AutoCAD, so there was a profanity-infused evening involving my Dad installing an 8087 in that iron lung of a case.

    [1] After about age 8, I could recite every number it displayed for a few seconds ... 64k, 128k, 192k, 256k, 320k, 384k, ... 576k, 640k

    [2] One that I destroyed a few months after its purchase because I wanted to see what kinds of sounds it made if I turned it on, then off as it was spinning up, then immediately back on. It turns out that given a sufficient number of cycles, the kinds of sounds it makes is "none at all". It also turns out the number of cycles impressively low, like, maybe, five? Luckily, it was new enough for warranty replacement since nobody discovered my devious act.

    [3] Including rewards if we caught a competitor selling a copy before the release date.

    [4] I continued to run the final beta version I had downloaded because it was more stable than the GOLD version on my hardware ... I finally relented after the first service pack, I think.

    • fabiensanglard2 days ago
      > 16" SVGA

      These things existed? I never heart of them. I thought it was 14", 15", 17", and 21".

      • kjs32 days ago
        I know NEC made 16" VGA monitors; I had one. VGA monitors came in all sorts of sizes. I've seen VGA screens that were probably 7" deployed with PoS terminals.