1. 18

    1. 5

      Fun fact: As the legend goes, Bill Gates was at a computer trade show in 1981 and uttered the phrase “640K ough to be enough for anybody!”. The quote ran the world, but when asked about this years later, Gates denied ever saying it.

      I am inclined to believe that he never said this because the first time I heard this quote it was ‘64 KB ought to be enough for anybody’ and related to the limitations of MS BASIC (which used 16-bit integers for addresses throughout and required an almost complete rewrite to support larger address spaces). The 640 K version always felt like a derived version. That limit wasn’t under Microsoft’s control (it came from IBM) and so it made less sense for Gates to have said it.

      The 286 was a 16-bit processor, which means that the 286 could now address up to 16 MB of RAM!

      Uh, kind of? A 16-bit address gives a 64 KiB address space. The difference with the 286 was that the segment descriptors were handled differently. On the 8086, segment registers contained a 16-bit register that was shifted and added to the address to give a 20-bit value (8 bits of overlap so segments could overlap). On the 286, segment registers contained an index into a segment descriptor table that used 24-bit base addresses and so could access 16 MiB of RAM.

      The original Wolfenstein 3D engine, created by id Software, was developed using pure real mode. Apogee (the original publisher) wanted to release a sequel for Wolfenstein 3D, so to improve the quality of the final game and unleash 32-bit power, the Wolfenstein 3D engine had to be rewritten to take advantage of protected mode.

      The predecessor, the Catacomb-3D series ran in real mode. I ran The Catacomb Abyss (the second game in the series) on my 8086 PC! Apparently The Catacomb Abyss (cat3d) was released after Wolfenstein 3D (wolf3d - I never noticed the iD naming convention was so animal focused until just now), so presumably they kept developing the real mode engine in parallel with the protected mode one.

    2. 2

      The next generation in the x86 line was the Intel 80286, released in February of 1982 with the IBM PC/AT. The 286 was a 16-bit processor, which means that the 286 could now address up to 16 MB of RAM!

      They done goofed, it access 16 mb because it had 24 bit address space.

      8086/8088 was 1MB because they had a 20 bit address space

    3. 1

      @gp6502 If only you made a black Friday bundle with all courses included ;)

      1. 1

        Haha. We got so many messages asking about Black Friday deals this week, almost more than actual programming questions from students. 😅 Unfortunately, we don’t offer discounts or coupons for our courses; ever. This was a decision we made when we started the school. It’s just to keep things fair to everyone, regardless of when they purchased the lectures.