It’s A 486 Computer, On A Breadboard

Ever since the 1970s, a frequent project has been to take a microprocessor and construct a computer system on a breadboard or stripboard. Usually these machines feature a familiar 8-bit processor such as a 6502 or a Z80 because of their breadboard-friendly DIP packages, but there is surprisingly little reason why some of the more recent silicon can’t be treated in the same way. [FoxTech] is leading the way on this, by making a breadboard computer using an 80486DX.

A 1990-era 32-bit desktop CPU seems unpromising territory for this application, but its architecture is surprisingly accessible. It needs a breakout board to gain access to its various lines, but beyond that it can be interfaced to in a very similar way to those earlier chips.

So far there are two videos in the series, which we’ve placed below the break. The first one introduces the project and shows the basic set-up. A 486 running NOPs may produce a pretty light show, but as he starts to show in the second video, it’s capable of more. The eventual aim is to have a simple but fully functional breadboard computer, so he’s starting with logic to decode the 32-bit bus on the 486 into the 8-bit bus he’s going to use.

It’s fascinating to learn about how the 32-bit 486 handles its interfacing and deals with four bytes at once, and we’re very much looking forward to seeing this project play out. The 486 may be on life support here in 2023, but that doesn’t mean it can’t still receive some love.

Thanks [benny] for the tip!

53 thoughts on “It’s A 486 Computer, On A Breadboard

  1. I still have an old tosh 486 laptop and boot it occasionally, everything still works, the applications, built for the era, run surprisingly nippy, they could not afford the bloat. browsers were updated after many moons unlike the weekly updates we have now.

    1. Rose colored glasses.

      486 era apps were plenty bloated. Especially late 486/Pentium stuff that included web browsers.

      You were also just used to the constant delays. How much of your life has been spent waiting for a floppy to spin up and read? Bet it’s measured in days.

      IIRC ‘hello world’ for Win3 was in the 50k size range.

      1. When they worked, they were. “ie3whate~.dll is missing”
        What’s missing is a hard drive that clicks. Then you can measure your delays audibly and realize how long loading takes.

      2. “[..] has been spent waiting for a floppy to spin up and read? Bet it’s measured in days.”

        There’s a misconception here. Quality flopoy drives were quick and silent. Just look at videos about the drives installed in IBM PS/2 computers.

        From experience I can assure you that floppy technology degraded in quality in the second half of the 1990s.

        Also, let’s please don’t use USB floppy drives as a reference. Except for the first gen models, drive mechanics is horrible and cheap. Not state of the art, at all.

        1. Agreed… I’ve owned many built-in 3.5″ floppy drives, and exactly one USB floppy that came with a Toshiba laptop.

          That USB floppy drive (2003 vintage) would be the slowest floppy drive I’ve ever used.

      3. “IIRC ‘hello world’ for Win3 was in the 50k size range.”

        Another misconception, maybe. MS Windows had a cumbersome API and EXE files that were bigger than DOS EXE’s, but..

        What Windows 3 and up supported was separatind code and data components.

        If you ran a Windows 3 EXE multiple times, only ONE data set was required. Same goes for DLLs. If a DLL was used by multiple programs, only one copy (instance) was in memory.

        This reduced, if not halved memory consumption for ambitious applications. Which of course, ‘Hello World’ didn’t belong to.

      4. “Rose colored glasses.”

        At least to me, Windows 3.1 on a 12 MHz 286 PC (4MB RAM) was a quicker/more responsive experience than what we have now.

        Running Windows 3.1x on a RAM Drive on a 486 is just unreal. About as quick as running TOS/GEM on an Atari ST directly from ROM.

        From my experience, today’s technology is a step backwards in many ways.

        For example, the inability to execute program routines directly from ROM – without copying them into RAM first.

        Sadly, there’s no modern ROM technology that can be used as an 1:1 substitute to RAM. If OSes were designed like TOS/GEM they could instantly run after power-on.

      5. “486 era apps were plenty bloated. Especially late 486/Pentium stuff that included web browsers.”

        Netscape Navigator 2.x was fine, I recall. Dad used it on a 386 machine running Windows 95.

        But of course, everything is relative.
        The websites of the mid 90s were much smaller than the monstrosities of 2005+..

        So unless we use 90s copies on archive.org fir testing, ir HTMLs on shareware CDs, it’s an unfair comparison.

        1. The thing is you didn’t need the browser to be fast because the bottle neck was your internet bandwith.

          + there was no javascript. It was just text and low res images.

          This is why I like people who publish gopher/gemini/smolweb versions of their blog or make sure their website render correctly on netsurf, links or w3m. For anything that is not video related, we don’t need those massive specs we have to day just to access information.

      1. That’s cheating. Back in the day, one would have to make boot disks to bypass windows to save the resources to boot doom on a 386/486 and it would be like playing a flip-book version at best. That’s what had to happen on my Packard Bell whilst I was wearing my CK One cologne.

        1. Naaah, Quake was a slideshow (still sorta-playable!), Doom was OK on 486. At leas on my slightly overclocked DX2-66 at 80MHz. Later on my Am5x86-120 (aka DX5) even Quake was playable. Bypass Windows? Just press F8 a few times, choose DOS prompt, and done. On Win95 it worked.

        1. A 486DLC-40 upgrade chip (+DOS utility to enable L1 cache) could have had extended the life of that fine 386DX-40 PC..

          On the other hand.. Back then we didn’t know much about those rather uncommon chips.

          1. It was a mainboard and CPU replacement, the rest stayed where it was, so my GUS, ET4000, harddisks (210 and 40 Megs), floppies and the 8 MByte came trough. My family had never bought prebuilts, all PCs/IBM-compatibles where always made from parts and then upgraded.

            I did that upgrade myself at the age of nine, under supervision by my dad and a good friend of the family but yeah. I was, as they say over here, “Stolz wie Oskar” when it was done and it worked. :D

        2. My recollection is that most, if not all of the time, I was playing on low detail mode. But it worked, and was a perfectly usable experience. This was with a Trident 8900 based card.

      1. One of the better boards I had ages ago was a Baby AT size 80386/40. There was a pin compatible 80486 DX2/80 but hellaciously expensive so I never got one to try in it. But for a 386 it was among the fastest. I wanted to put an FPU in it but 40 Mhz 80387’s were impossible to find.

        The 30 pin RAM and only ISA for video would’ve been big bottlenecks for performance so an 80 Mhz 486 wouldn’t have been that big of a boost.

  2. Not a computer.

    A CPU on a homemade daughter card that likely has so much noise on the bus that it will never run at near full speed. 486 external busses ran at 25, 33 or (very rarely) 50 MHz. *

    A ‘computer’ has RAM. Other things are negotiable, but without RAM, it’s a heater. IIRC 486 era chips where the first with a dedicated memory controller component as part of the chipset.

    I do appreciate the attempt at a hacked up VAX style switch panel and LED bank.

    * Intel had problems with MB production because not one HAM on staff. They had a 90 degree bend in the bus leads, couldn’t get it run above 25MHz. Why the 486-DX2-50 was common for a minute.

    1. A friend and I were tinkering around with a 486 of some sort we were upgrading. (Back in the day.) At one point we started it, while forgetting to put in the RAM SIMMs. Imagine our surprise when it booted into the BIOS settings!

      Turns out the on (mother-)board L2 cache was enough for it to start!

    2. “A ‘computer’ has RAM. Other things are negotiable, but without RAM, it’s a heater.”

      Generally yes, but.. There also was the ancient art of programming applications that ran in the CPU registers.
      To name an example, diagnostic ROMs for IBM PCs. They worked, even if the RAM was faulty.

      1. A RISC-V SoC like the JH7110 at powerup/reset, boots from a ROM (32KiB), which uses the L1 cache as SRAM(32KiB). Its job is to configure enough clocks and enable enough devices to load the second stage bootloader either from FLASH/EMMc/SD/UART into the L2 cache which is being used as SRAM(2MiB) and then reconfigures the L1 SRAM back to function as cache and executes newly loaded bootloader (which normally decompresses) whos job it is to configure all clocks and enable all hardware including CPU cores, detect enable and configure clocks for how ever much DDR memory is present and load the next bootloader into main memory. It final task is to migrate into the DDR memory and reconfigure the L2 back to being cache and execute the newly loaded bootloader for the OS.

        I guess what I’m saying is that a modern CPU can execute a lot of code without accessing external memory.

  3. I’m still wanting the equivalent of an IBM PC/XT SBC with 640K conventional RAM and maxed out on other RAM as hardware LIM 4.0 EMS. Give it at least 6 USB 2.0 ports with legacy keyboard and mouse support so it needs no drivers for USB keyboard and mouse. A couple of serial ports that can be switched between RS232 and RS485 and an NE2000 compatible 10 megabit Ethernet port and it’ll be perfect. Oh yeah, build in Gotek floppy emulation for one of the USB ports and it’ll also need XT-IDE support on one of the USB ports (ideally with hot swap capability) so it won’t need mass storage drivers. Lastly, TTL and VGA monitor outputs.

    What such a board would be ideal for is a replacement for many 1981 to early 90’s CNC and other machine control system replacement. I have a ProLight PLM 2000 mill that’s needing a bare bones basic 8088 or 80286 PC with a ton of EMS RAM but I can’t find anything that has enough free space in the Upper Memory Area for EMS to work. Boards with built in peripherals have the UMA so full and haphazardly allocated that even if there’s enough total free UMA it all in pieces too small for any EMS driver to remap.

    An 80286 version would be good for when someone needs a little more power.

    What would be a luxury option is a 98 pin header on one edge to plug in an ISA slot adapter or peripherals made specifically for it like a soundcard or I/O for controlling relays or reading a bunch of sensors. Use one of the smaller pitch pin headers because 0.1″ would be too large for the minimum size possible for the main board.

    1. You can try EMS Magic on 386+ systems, it works under tricky situations including 32-Bit Windows. Alternatively, there are modern EMS boards like the Lotech 2MB RAM card (not fully EEMS/LIM 4 compatible?) .

      Personally, I think that physical RAM boards for Expanded Memory or chip set EMS is superior to EMM386 and its henchmen.

      From what I remember, the later version of the NEC V20/V30 were SoCs of some kind (NEC V40 etc). They included even an MMU, like in the 80286 – without Protected Mode support, of course.

      Generally speaking, the NECs are far superior to the intel CPUs (808x, 8018x)..

      https://www.cpu-world.com/CPUs/V40/index.html

    1. Back in the 1960s or so, the them “CPU” was associated with the main computer unit (containg ALU, arithmetic-logarithmic unit).

      I suppose that’s why some folks still call a PC Tower chassis “the CPU” or “the processor”..

  4. All these commontaters talking about PC systems…
    Who’s here for the *hack*?

    This is great: the seeming resurgence these days in designing custom architecture breadboard/”trainer-board”/switch-panel-interfaced computers; folk doing-so like they did in the “Wild West of computing”, learning as they go…
    But almost exclusively, still, with CPUs that were, frankly, designed in the era where such things were commonplace: The Apple I being, obviously, the most well-known. But thousands of such systems, most completely unique, were being built in garages, bedrooms, etc. at the time. Those CPUs, and a couple CPU-generations thereafter, were designed at least in part with that sort of use-case in-mind.

    So Who would think of a 486 when thinking of building such a system? By the time 486’s came into being, practically no one was making custom system architectures anymore. CPUs certainly were no longer being designed with switch-panels in mind. And, looking at all the CPU-specific and architecture-specific high pincount surfacemount low voltage high-clock-frequency support components on a 486 motherboard, it might almost seem impossible to build a custom computer with a 486. Yet, it turns out the 486 works at TTL levels, has a pretty standard address/data interface, can run down to very slow (breadboardable!) clock speeds, could even work with all the same support components one might use in an 8-bit homebrew system… only a tiny bit of glue logic to drop it in place of an 8080 or 6502.

    I’d call this “a hack.” (One that could open doors to others’ learning about CPUs). But the commontaters, on Hack-A-Day, of all places, wanna talk standard-PC-architecture regularly discussed on any number of dedicated forums. *sigh*

    1. What do you want? Seriously, please tell. Comments are simply thoughts of people or so I thought. Feedback. As long as they’re non desctructive, it’s fine, isn’t it? 🙂

      Or would it be better for the author if he/she/they gets no feedback, at all, rather? Because people merely have 486 memories associates with vintage PCs?

      Personally, I’m also tired of the constant Doom and Monkey Island references and the hyping of the crappy 6502 CPU. But I keep quite, since I know it means a lot to people and I don’t want to hurt their feelings unnecessarily.

      1. Actually, that’s fair…

        There were a couple in particular that were rather pedantically degrading of this project (and some since seem to have disappeared) that set me off. Yahknow, along the lines of “What’s the point…? [On a breadboard/with an 8bit bus] it’ll never [run at the full 50MHz/connect to a VLB card] for [Doom/Windows]!”

        My response to those was essentially your response to mine, albeit poorly-directed.
        “What do you guys come to /Hack/-a-day for, if you want to gripe that hacks aren’t as good as off-the-shelf products?”

        Apologies to those waxing nostalgia, there’s nothing wrong with that, except its being a little disheartening: the ratio of “not-a-hack”ers around here has been so high that it would seem they should far-outweigh the nostalgia in comments on projects like this one, with “Now, /that’s/ a hack!”
        The “commontaters” I meant to refer to were those who seem only to be around to degrade, since when they realize their typical degredation-tactics do not apply and they’ve nothing relevant to contribute, it seems they derail instead. [Of course I realize I’ve done a bit of derailing in this, myself].

        So in answer to “what do [I] want?” I guess the answer is I wanted to believe all those “not-a-hack”ers weren’t just trolls; that when something really was, they’d finally recognize its value, contribute something of meaning, and in droves.

        The nostalgia is nice, don’t get me wrong, but it only barely scratches the surface of what this project brings to the table…

        You can’t run linux without a 386 or better… why? CPU newbs may not understand what an MMU is, and here the 486 has one ready-to-learn. But, also boots straight into 8086-mode without any fancy extra understanding. The 8086/8088 being basically little more than 16bit versions of things like the z80 means that if one can cut their teeth on a z80 trainer/breadboard, they could probably do the same on an 8088 trainer/breadboard. And now with this breakout and 32-to-8bit converter, could do so just as they would with an 8088, but now having a slew of other doors just waiting to venture through (cache, MMU, protected-mode) once the. They’re not *requirements*, though, which is great for newbs. Heck, if one wanted to go full-on with the ‘8bit’ route, they could even do their own external paged-memory system, completely disregarding the built-in one. (I don’t recall, is x86’s memory segments 64K? If so, learning about its segmented memory could be a much-later endeavor, or even disregarded entirely).
        I tiny bit of glue logic makes the 486 essentially a “drop in” for a z80/6502 trainer “course”, which may eventually include, say, an S100 bus. Or, the other way-around: why not do a z80/6502 system with ISA (since such cards are hardly rare), or an S100-to-ISA bridge? Don’t *have* to implement fancy features like DMA just because the pins are there.

        These are just snowflakes on the tip of the iceberg of possibilities…

        I was hoping to see at least a few comments like these from the alleged droves of experienced ‘8bit’ “breadboard” CPU-folk, and similar from x86-folk. Inspiring others who haven’t yet started their own low-level CPU endeavors.

        I was hoping to see folk who were interested in starting such endeavors inspired to do-so.

        In answer to your question about would it be better if something like this didn’t receive as many comments, because so few are as-relevant? Frankly, it might be something to consider. What is the reality of the 8bit-homebrew scenario? Are so many folk really interested in taking on such endeavors? So many folk actually doing-so? Or is it just TV-time for the masses? Folk who are really interested in learning don’t care about numbers-of-comments, they care about content-of-comments. They don’t care about numbers-of-viewers, they care about inspiring and being inspired. But who’s being inspired? Especially on a site like this, it seems like there should be numerous. Yet is there even one in all these comments, besides me (who built a deadbug 486 nopulator a few years back)?
        Droves of mostly-irrelevant comments are misleading. Droves of folk *watching* breadboard/homebrew computers be developed is misleading. We’re not in this to be football games for the masses to consume, and judge. But, apparently we’ve little other choice than to expose ourselves to that, and wade through crashing waves of all that, even in dedicated harbors like this, just to find one or two like-minds in a decade. And, in this analogy, how many would-become dedicated scuba divers interested in coral reefs, give up after years of being beaten by waves, and instead get swept-into the idea of surfing those waves, instead?

        1. On that note: As I recall, my 32-bit Nopulator got around the 32-bit-to-8-bit conversion-problem by merely tying the four bytes together via resistor-networks… No latches/bus-drivers necessary!
          I’ll have to dig-through my old notes to see whether that works only for data-in, or also for data-out. But I’ll throw it in the vids’ comments.

  5. Very very true. I would only add that today’s bloat is sadly caused by a need to run in an online, thus potentially malevolent, world, and that many, many additional subsystem calls are made even without the Windows telemetry crap. Plus the extensive idiot proofing that as engineers we never used to program for back in the 80s.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.