Having grown up with 386-level systems during the early 90s like so many of us, [Alexandru Groza] experienced an intense longing to experience the nostalgia of these computer systems from an interesting angle: by building his own 80386DX-based single board computer. Courtesy of the 16-bit ISA form factor, the entire system fits into a 16-bit ISA backplane which then provides power and expansion slots for further functionality beyond what is integrated on the SBMC card.
Having started the project in 2019, it is now in the home stretch towards completion. Featuring an 80386DX and 80387DX FPU alongside 128 kB of cache and a grand total of 32 MB of RAM, an OPTi chipset was used to connect with the rest of the system alongside the standard 8042-class PS/2 keyboard and mouse controller. A large part of the fun of assembling such a system is that while the parts themselves are easy enough to obtain, finding datasheets is hard to impossible for some components.
Undeterred, some reverse-engineering of signaling on functional mainboards was sufficient to fill in the missing details. Helpfully, [Alexandru] provides the full schematics and BOM of the resulting board and takes us along with bootstrapping the system after obtaining the PCBs and components. After an initial facepalm moment due to an incorrectly inserted (and subsequently very dead) CPU and boot issues, ultimately [Alexandru] gave up on the v1.6 revision of the board
Fortunately the v1.8 revision with a logic analyzer led to a number of discoveries that has led to the system mostly working, minus what appears to be DMA-related issues. Even so, it is a remarkable achievement that demonstrates the complexity of these old systems.
And – once again – all the Respect for the absolute Perfection goes to the Realms of Dracula, that magic land near the Black Sea where prehistoric digital Dinosaurs are rebuilt from scratch using tons of patience, high skills and only pieces of old electronic nails and toes.
I take it he’s rumanian?
It would make more sense to build an entire 386 system on a single fpga.
We could call it AO486 and run it on mister.
Off you go then… we’ll wait.
Ok. We’re back. It’s done. It’s also compatible with some of the Pentium instruction set as well now.
can we have Likes? I want to like this comment.
Me too!
fpga is more power eficients?
No.
Maybe, but where’s the fun doing that? :)
That reminds me of my ham radio fellows.
Hope you don’t mind if I explain a bit.
They call themselves radio amateurs, but use the internet all the time and rather have become web amateurs really. If it wasn’t so sad, I’d be funny. *sigh*
APRS? They do it on the internet. And wonder they can’t be seen locally on the air (no repeater around that sends internet data; but they don’t realize it).
Shortwave? They listen to it via WebSDR, not through their own radio. Installing a piece of wire is too much hassle, eh? ;)
OSCAR-100? They listen to it via WebSDR. Of course..
Digital modes? FT-8, needs no human interaction. Maintaining the old packet radio net for the case the internet breaks down? Nope, of course not. Too much of a hassle.
Please don’t get me wrong. FPGAs are great, but also a bit akin to hardware-based emulation.
Sure, it’s not traditional emulation. It’s about programable blocks of hardware. But at the silicon inside, an FPGA is a totally different technology, almost alien compared to that of a Z80 or 80386. It also has RAM, USB, an optional processor, use a much higher integration etc.
And here’s the “problem”. People like this here love to tinker with the real technology of a specific time frame. They want to prove themselves, see if they could have created such a piece of hardware when it was current.
Or, let’s think of CRT lovers who want to experience a real CRT picture, not some shader simulating a CRT on an LCD. Or a tube fan who doesn’t want to use field-effect transistors, but a glowing piece of magic. Or a wood worker, who wants to create sculptures of real wood instead of plastic that looks like wood. Or a piano man who loves to play music on a real piano, not a keyboard.
Or to describe the idea behind it.. The hackerday folks would probably say: “This could have been done with a 555.” ;)
Agreed. And building a 386DX using only 555’s seems to be the new Extreme Challenge…
FPGAs are kind of fake, they are just a bunch of table lookups done in parallel to simulate logic.
If you’re serious about making a 32-bit x86 from scratch you need to get some Rubylith tape and create some photolithographic masks and send it off to a foundry. Your computer is only real if it’s real silicon that you design yourself. ;-)
If using antiquated tape that was obsolete before the 386 was made, then consider writing your own VLSI CAD package as a reasonable compromise. Take a cue from Chuck Moore. http://www.ultratechnology.com/okad.htm
“If you wish to make an apple pie from scratch, you must first invent the universe.”
― Carl Sagan, Cosmos
It would be quite cool to replace all the legacy glue logic with an FPGA but still use the original 386/387 and RAM.
Not sure if someone has already done that with the Mister
fpga implementations of vintage PCs is for the kiddies – board design for a working system is for the adults
I used a few similar boards back when I worked at a sugar mill. This form factor was quite common for industrial PCs
Could You run DOS and Win 3.11 and games on it?
I think you meant to say can it run Frogger. or Doom.
I hated frogger but played on mine 386 back in 90-94 a lot of lunar lander, prince of persia, tetris, railroad tycoon, civilization, settlers (original 1), simcity, a lot of hex based strategy games… Doom i was playing on 486 so not same.
Who needs Frogger or Doom when you’ve got Alley Cat and Elite.
Alley caf was great! Self-booting game memories…
Well, in the 90s, I did run 3.1 in Standard Mode on an 80286 PC equipped with a CD drive, ATI VGA card, 4MB RAM..
Went online with it via WinCIM, watched AVI/MOV/FLI videos and listened to MOD music.. Looked at GIF files that came with shovelware CDs..
So I’d say yes, DOS and Windows 3.1 should run OK on such a 386 SBC, if it’s compatible to the PC/AT standard. 🙂 In fact, it could run original Win95, if enough memory was installed. 4MB is bare minimum (torture), but 16MB or more is preferable. Swapping becomes less frequently past 32MB RAM. That’s almost the hard disk space that Win95 occupies (40MB), hi !😁
PS: A 486DLC could perhaps be installed, too. But I’m pretty sure the author knows that. He/she/they designed a 80386 SBC on purpose, though, so I assume he/she/they likes to work with the real deal – a solid 80386 that can self-modifying code no problem. That’s fine, I appreciate that. I think that’s really cool, also. Kudos. 😎
I know 386 is enough for Win 3.1 i had one in 90-93′ or 94′ question is how compatible with PC standard it is. I’ve read all his english language entries and i’m fairly sure it is compatible enough to run majority of games from 80ties and very early 90ties he said up to 98′ but i doubt its enough for all the early 3d accelerated stuff. 2d win95 stuff should run “ok-ish” but id stay in DOS/Win3.1 realm.
Are you sure about the video playback? My 386 really struggled with playing videos. A 486 was when that first started being practical.
Looks like a cubix card.
This reminds me of the emulator cards for Amiga, just without the Zorro side.
I thought it was a bridgeboard at first glance as well
WHY?!?
Because it is fun, a challenge, expands knowledge that could be used elsewhere and, possibly the most important reason, why not?
What an amazing achievement! Congrats!
This is one of the more extreme measures I’ve seen to avoid speculative execution flaws but I like it. ;)
If a slightly newer version were made with a ‘486 then mainline linux could still be run on it. As-is, this thing would need linux 3.7 which is EOL.
In a galaxy very, very, very, very, far away, Steve Ciarcia published (in Circuit Cellar or Byte or other thing) the MPX-16, a recreation of a IBM-AT with a 286 processor… He use some ASICs for the peripherals but it was rad (at the time)…
My favorite from him his still the TRUMP-card a Z8001/2 (can’t remember now) addon ISA card for your IBM-XT that could do co-processing… Unfortunately with that name you’re never gonna find it in the internets… someone else took all the links…
Oh Oh and what about the 256x 8052 supercomputer calculating a Manderbolt fractal…. very, very, very, very far away indeed…
Awesome job! Sun made a similar 486 card for their PCI based workstations in the late 90’s. Booted Windows NT/95 and Linux from within Solaris. Was a bit of a trick to get set up and working correctly, but, it did work. Had a couple of those cards in my at-work tech museum (my desk, and, yes, I’m one of the exhibits :D ) until office moves forced me to toss them…
Is there a good book for getting started on designing and building computers like this, or like the many custom retrocomputing boards we’ve seen in recent years? I’d love to just learn about the architecture of these things.
Please don’t forget the ‘Turbo’ button!