Hacker News new | past | comments | ask | show | jobs | submit login
80386DX ISA single board microcomputer (alexandrugroza.ro)
318 points by gigel82 on Nov 19, 2021 | hide | past | favorite | 135 comments



It is truly amazing that one person can bring up a 386DX board system. It is true that there are tons of docs available, but still to bring everything together and to get it running is truly amazing. The team size at any of the PC OEMs doing a 386DX design when it was the state of the art would be at least 25 engineers and managers, easily.

Congrats to Alexandru for hitting this out of the park.


My father used to import clone PC stuff from Taiwan. The guys running these ops were surprisingly small usually. Some of the original ISA graphics cards including the weird CEG (anti aliasing ones) had 3 guys running the entire outfit. The guy writing the software was stuffing boxes in his lunch break and there were no managers. Even the case design companies were one man outfits with all the actionable stuff contracted out. It was remarkable.


I concur. This world is simpler than people think. They share specs on powerpoint files and the firmware is written (/built) by one guy during his breaks (I was going to say exactly this even before I read your comment)


I've always wondered why no one came up with cheaper / mass produced 386/486 SOCs; are there any still-valid patents preventing that or is it too much work when we have powerful & cheap ARM SOCs that can emulate them...


Those do exist, e.g. the Vortex86 SoC[1] comes to mind.

Not sure if the AMD Geode GX/LX series[2] counts, since they IIRC have an external support chip. Some years back I used to work with router boards and industrial PCs that used them. I still have an industrial PC sitting on a shelf with an Eurocard[3] sized SBC and the ISA bus connected to a DIN41612[4] back plane.

The Geode implement a large subset of the i586 ISA tough (the LX also have an AES extension), but some other instructions are missing. I'm also not sure if they still make them any more, but given how many industrial products they're in, I'd bet there are warehouses full of them somewhere, until the last support contract expires.

[1] https://en.wikipedia.org/wiki/Vortex86

[2] https://en.wikipedia.org/wiki/AMD_Geode#Geode_LX

[3] https://en.wikipedia.org/wiki/Eurocard_(printed_circuit_boar...

[4] https://de.wikipedia.org/wiki/Datei:DIN41612-c-federleiste-c...


Not an SOC per-se but PC/104 SBCs were quite common about 20 years ago. I'm sure they're still around now, but ARM is obviously dominant. We used a PC104 SBC running Linux to control a rack of wireless radio amplifiers via CAN network at a job I had in 2001. I rolled our own custom Linux distrib to fit on small compact flash, and worked on the middleware.

(aside, the manager / senior engineer there was quite forward thinking; the whole stack was Python before it was cool, and there was a proto-AJAX front end that only worked in IE because the other browsers didn't support it yet... dashboard that was super nice. Met some really smart people there).


386, 486 embedded chips were widely produced as SOCs but they’re embedded in places you probably wouldn’t look for them. Which is why they’re SOCs. :) 586 and semi 686 compatibles are still available in certain quantities.

Today, a Pi0W could emulate anything up to a low end 486, Pi0-2W/CM3 could do about 486DX-100/low end Pentium.

https://en.m.wikipedia.org/wiki/List_of_former_IA-32_compati...

https://m.youtube.com/watch?v=8fSdLKx5HlU

https://m.youtube.com/watch?v=6cXdWMOl8QE&t=241s


Aren't there 486 class cpus in space ? I thought they made radiation hardened designs that were sufficient for their needs.


Yes, 386 and 486. MIPS CPUs are more common.


I also think it would be interesting to see how small, or how fast, you could make a standard 486 by applying modern manufacturing.


Intel did that with the Quark core. (Get the datasheet and compare with the 486 one. Some of the diagrams are identical, and I recall seeing one of the search/replace they did resulted in "QuarkDX" showing up.)


Although this seems to be a 33MHz CPU, the 386DX40 was the first "decent" processor I had access to when growing up so was quite memorable for me.

In my teenage years the PCs my brothers and I had access to were two 386DX40s each with 8MB of RAM and several hundred MBs of hard disk space (can't remember exactly, but pretty sure less than a GB).

We really loved Blizzard's Warcraft II, which despite having a minimum requirement of 486 CPU, was able to run on the 386DX40s, albeit a bit slower than intended.

Since we had two PCs we wanted to play together, but only had a parallel cable. I don't know why it was so hard for us to get hold of a serial cable, but the point is we only had the parallel one and Warcraft II would only be able to run over serial cables, not parallel ones.

I eventually worked out a way though. The 386DX40s were actually also capable of running Windows 95 which had a feature where you could "network" two PCs over a parallel cable. I then ran IPX/SPX over that network which allowed us to play Warcraft II over it.

The gameplay was pretty slow, but as I recall it was very reliable and we played quite a bit on this setup. Eventually we got a couple of BNC network cards and cables for a much more conventional setup.


If you ever get the urge for playing it again the Warcraft 2 package on GoG even comes with the IPX patcher you need to play on modern windows.

WC2 is still my favorite of the bunch and it's joy to have a game with old friends from time to time. I also play WC1 in dosbox from time to time.

I still have many fond memories of playing WC2 with friends across town via modem to modem. We were lucky that our dads were gaming friends that often played WC2 together over modem so we quickly fell into the same habits.


Another way is to use Stratagus, it can import the WC2 assets from an original CD and play using that. We used to play on huge maps many years ago with several people playing over lan (It was called freecraft back then). I'm not even sure it's maintained anymore.


Oh damn somehow I've never heard of this. I'll look into it.


I actually bought the Battle.NET Edition when it came out, which added a few quality of life features from SC if I recall, like selection groups.

But after having played SC2, I found that I don't really have the patience any more for the the primitive control options of Warcraft II.


Last time I played Warcraft 2, this is what stopped me from playing pretty quickly too; how primitive the controls were.

Command & Conquer 3 had spoiled me with its intricately refined control scheme.


A little late but you could also have used the Crynwr plip packet driver to run IPX over the parallel cable avoiding the significant overhead of running Windows 95 on a 386 system.


Only about 25 years too late :D, but that would have been cool to know about.

It does make me think though about how I might have discovered such a thing at that point in time.

I don't think I even had internet at home then, I never used things like a BBS and later I was never big into forums either. So the only way I really learnt things was either through fiddling (which is how I found out about the parallel cable networking) or through word of mouth.

It also might not have occurred to me yet how to find answers on the internet and besides, there was no Google back then.

There also wasn't any local community I was aware of that was into these kinds of things. So I only learnt very limited amounts.

I guess I could have tried computing magazines which may also have helped, but I didn't have any real money then, and it's also possible that the options were very slim in South Africa anyhow.


It’s really hard for anyone under 25/30 to appreciate how hard it was for information to come by.

I vividly remember loving a song that was playing on a store’s radio and then standing there for half an hour until the spokesman eventually listed all songs he had played. I did my best to identify and memorize the author, so I could later look them up on a music store.


> I guess I could have tried computing magazines

Here are some offline methods other people used to get such information:

1. magazines and "zines"

2. books

3. word-of-mouth (as you said)

4. clubs or meet-ups

Online methods that pre-date google:

1. newsgroups (usenet)

2. yahoo groups

3. bbses

4. forums

5. msdn

6. other search engines, even ones that used categories like yahoo were sometimes effective. It just took longer to search to find exactly what you wanted

7. manufacturer websites. for example if you need the pin settings for a WD MFM or RLL disk drive, go to the WD website and look it up.

---

It wasn't as bad as people think. It just took a long more time to find.


Additionally, when available, information was frequently of higher quality than is readily available online.

Even today, it's probably easier to find detailed, accurate technical documentation for OpenVMS and z/OS — where developers can't just be expected to "Google it" — than it is for Windows, Linux, or Apple OSes.

Moreover, pre-Internet, I never encountered a scenario where important documentation was only available in video form. At worst, you'd very rarely see consumer products bundled with a videocassette for users who couldn't be bothered to RTFM.

Sharing information is certainly easier today, as magazines, user group memberships, long-distance BBS calls, and in-person conferences present a far more significant barrier to entry than the Web.

The trend seems to be reversing, however, as more and more information once available over the Web now seems to be siloed in systems like Facebook and Discord that are neither searchable via Google nor regularly archived by the Internet Archive.

What I wouldn't give for a "Usenet 2.0", i.e., a widely-used, persistent, open, distributed discussion system to reverse this trend.


Byte Information Exchange (BIX) and CompuServe were also good online resources in the pre-Internet era.


Anyone for the former Bits and Bytes bookstore in Naperville?


If I remember correctly the AMD 386DX/40 sold for about the same price as the Intel 33 MHz part, was definitely faster in any benchmark, and in the same era when a 486DX/25 and motherboard was a very expensive system, matched or outperformed the 486 in a few benchmarks. It was very popular around 1992-1993 or so.

In terms of ratio of price/performance in the budget category, it would probably be analogous to a zen3 based $175 ryzen today installed on a $150 motherboard.


386DX40 was somewhere between 486SX16 and 20 when running 32bit code. Both 386DX and 386SX executed 16bit code at very similar speed to 286 clock for clock. 486 arch as a straight up x2 speed increase.

https://dependency-injection.com/the-slowest-486-vs-fastest-...

I have old 1994 catalogs listing AMD 386DX40 + motherboard (128KB cache) combo at a price point of three 1MB simm sticks, or one Intel 486DX25 processor, or one VLB graphic card, or one 14" VGA mono monitor :) 386SX with motherboard was 2/3 of that. I build whole 386 computer at the time spending pizza money on it (386DX40 + bunch of older used components).

If you really wanted to compare it to today it would be more of a $40 board + $50 CPU situation while everyone buys $150 boards for their $200 CPUs.


So, I was there and made this purchasing decision too. And if you remove doom from the benchmarks you linked it matches what I remember. Which is that the AMD 386-40's where faster in pretty much all cases than the Intel 486SX-20's. They were also slightly cheaper at the time. And that fact gave me a terrible time deciding which one to buy, but in the end I got the 486 because it had two huge advantages.

The first being that at the time, if one carefully selected the motherboard it was possible to overclock the 486SX-20's to 40Mhz and have a rock solid system. The second was the VLB was starting to be a thing. A 486 with a VLB graphics card was considerably faster than anything I would have been getting on the 386. And of course it was pretty clear that faster 486's could be plugged in, rather than requiring a motherboard upgrade. So IIRC, it was like an extra 15% difference in price to get a machine that was well over 2x faster.

So, I saved my pennies and borrowed some from my parents and got the 486SX. It was rock solid for the next couple years until I managed to get my hands on a DX2. That was also my first overclocking experience and by far the largest increase I've ever managed. That machine is also probably the fastest booting x86, I've ever owned because it was running MRBIOS. The boot time to DOS was entirely limited by the HD spin-up time, and with a much later DX4-100 upgrade was one of my longest running linux firewall/network servers i've ever used until it died in the mid 2000's in a heat event.

(well maybe the abit bp6 counts...)


>slightly cheaper

Start of 1994 oem component prices:

    386SX40, 0 cache motherboard ~$70 (mainly due to super cheap mobo)
    386DX40, 128Kb cache motherboard ~$140
    1MB 30pin simm ~$40
    512KB SVGA ~$35
    
    486SX20 CPU ~$150
    486 VLB motherboard ~$150
    486DX33, VLB motherboard ~$450
    486DX2/66, VLB motherboard ~$650
    486DX2/66, PCI motherboard ~$850
    4MB 72pin simm ~$170
    1MB ET4000/S3C805/CL5428 VLB card ~$150
    2MV VLB card with 2D windows acceleration ~$300
Jump from 386 to the cheapest 486 was x2 the cost of main components, ~$200-300.


MRBIOS was great. I flashed that onto a Pentium board (Elitegroup IIRC) and it even had an option for serial console!


These things remind me of one of my first jobs as a bench engineer 'trying' to fix PCs

the vast majority of problems back then was the power supply and the vast majority of the issues with power supplies was burned out capacitors - easily fixable.

for some bizaar reason one memory that also sticks out was the painful compatibility issues of putting seagate hard disks together with conner hard disks (IDE cables) also SCSI was a pita with terminators not working (resistors at the end of the scsi cable).

I built my first PC 386SX (I think it was only a 33MHz - complete with a TURBO button!! :o) ) with bits that other engineers had thrown away - literally, outside they had a skip(dumpster) with 386 motherboards and other stuff they deemed unfixable that I had to keep going through.

everyone was scared of opening monitors - using long screw drivers to ground the tube made them (mostly) safe. I also had to fix a b/w (or technically black/ orange) CGA monitor to go with it. i still managed to get windows running on it.


Good story!

Everyone were correct about being afraid of opening CRT monitors. Repairing them is a whole other domain than PC electronics. A CRT ZAP from the cathode ray components can kill. That is not a place one should poke around trying to find solutions.


Fifty years ago. EE school. TV lab. First day practicing TV repair. Two by two on high stools behind the open sets.

Joe looking up from the schematic: "John, where is the high voltage?"

John knows. Points his finger at the set ... and touch! I heard the zap and saw John and his stool tilt backwards. Flat on the floor.

He was somewhat pale but otherwise ok.


And instantly a lot smarter!


It's amazing how complacent we get.

Two times every day I duck under an electric gate that's fed by a 10kV (might be higher) low-impedance charger. Been doing it this way for years.

Then a few days ago, ducking under it as usual, I happened to be on a slightly higher part of the ground and my back touched it as I was wearing wet, muddy boots. And I was instantly reminded why the horses have learned to not get too close to the fence :-)


Those can really whack you when conditions are humid. There is a pretty funny - and very obvious - dumb thing that almost every male that lives in a rural area seems to have to experience all by themselves at least once during their young lives. You don't quite realize how dumb you can be until that happens and then afterwards you will have a much more accurate idea of where you are on the intelligence scale.


> dumb thing that almost every male that lives in a rural area

Maybe I'm lucky that I didn't grow up in a rural area :-)

Managed to get one boy out the house without him doing it (that I know of!). Hope the younger one is at least as smart!


I still feel so incredibly stupid about this because it's not as if I didn't know... but it won't happen again. I think.


I have accidentally zapped my gonads whilst stepping over an electric fence. Trust me, you definitely don't ever want to do that unless you're into that sort of thing!


Yeah, when his memory returned.


I wonder if I just got lucky in my youth trying to repair a mac classic II (at the time it was about 10 years old), or if the 9" CRT that must have not been turned on for years at that point didn't have enough of a charge?

That machine eventually lived and functioned perfectly for quite a few more years (ended up just needing a new HDD) until finally dying.


The dangers of aquadag charge are enormously exaggerated. The real danger is not that the shock will instantly vaporize you and everyone you love, but that when you disconnect the anode improperly the spark jumps to something-not-quite-ground and destroys electronics, or, when it jumps to you, you hurt yourself because you hit something or drop something.

Off-line SMPS are far more dangerous because their main caps actually contain 100-1000x more energy than a charged CRT tube. And unlike the aquadag on a tube these are very low impedance as well.


You need to discount here for CRT size. A 9" will zap you, a big 30" Barco will happily kill you if you are not going to be careful, those things will put out HV at appreciable current. Ditto for old glass tube large screen color TVs.


Yes, with big picture tubes there's certainly a potential for receiving a lethal shock (of course, depending on the circumstances even very weak shocks can become lethal). My point is more about risk, respect and understanding what you're dealing with instead of apocryphal stories and fear. The former is imho more conducive to safe procedures being followed.


The Classic II (and others newer than the earliest Macs) had bleeder resistors to discharge the CRT automatically. Older monitors and TVs did not, so manually discharging was more important. The procedure was still to manually discharge the newer machines in case the bleeder resistor failed, but whenever I discharge the CRT of anything newer than a Mac Plus it’s already discharged well before I touch the grounded screwdriver to the underside of the anode cap.


The Classic II (and others newer than the earliest Macs) had bleeder resistors to discharge the CRT automatically

Was that why older/cheaper CRTs just turned off, but the more expensive and newer ones made kind of a "thunk" noise after the screen turned off?


A level of high voltage in CRTs is directly related to the size of tube and whether it's B/W (monochrome) or color (higher for color as you need to attract 3 electron beams instead of one.) In small monochrome CRTs (like 9"-10") cathode voltages would be in single digit kilovolts range, while for large color CRTs (19"+) would be in tens on kilovolts (like 25kV.) Bottom line is that in 9" CRT lower voltages are a bit safer and dissipate quicker after power off.


I plan to replace some RIFA caps on a 9" monochrome that hasn't been powered on for years but was still working last time it was powered on. Do you know how long it takes for an old CRT like that to bleed out all the power if it doesn't have a circuit to automatically do that?


Minutes to tens of minutes (depends of voltage and air humidity.) Couple of hours would be on quite safe side. There's a simple procedure to quickly discharge HV of just turned off TV/monitor but I'd recommend that only for someone experienced working with high voltages.


Pffft...


> everyone was scared of opening monitors

Lol. I repaired them while running/being on and made them shine again!

Without having a real clue, just looking into them, and turning things with improvised tools this way and that way, until it worked.

Thereby getting some clue about how they worked, and were fixable :-)


> Take your time to solder all the components on the board. There are a lot of solder points and if you don't have patience in general, then this project might not be for you.

Understatement.


This was painful to read. 14 year old me finally managed to get the NASCOM 2, my first ever computer. It came as a kit with 2,000+ solder points, but patience was never my virtual and certainly not at 14 year old so my work wasn't perfect and worse, wasn't properly checked. The original Z-80 died and I had to get professional help to get it working. (And learn to program: Z-80 in binary hex codes -- didn't get the memory necessary for the Microsoft BASIC until later). Still have this computer.


I'm doing the much easier version of this with the 8086 right now. After having learned how to do that, I find it hilarious that I considered starting with a 386SX. This is a seriously difficult project for a hobbyist. I'm so glad someone did this though because now I can just kit and mod it and skip the designing.

Props on going for a full 32MB of RAM. No 16650 UART though? I'd add that.

Overall, congratulations!


> Props on going for a full 32MB of RAM.

He did do his own 4MB SIMMs, so...

https://alexandrugroza.ro/microelectronics/system-design/4mx...


I wish I had more upvotes to give for this. I started wondering (completely naively) how hard would it be to just go ahead and design a motherboard for an old x86 CPU from scratch.

Impossibly hard, though clearly not for everyone. What an incredible effort.


What a cool project. I really like the way he analyzed his failures, learned from them, and documented the process, and tried harder.

I wonder, did he design the ISA bus by himself or did he use an existing one?


> I wonder, did he design the ISA bus by himself or did he use an existing one?

His own [1]. Many more projects by him [2]. Truly amazing.

[1] https://alexandrugroza.ro/microelectronics/system-design/isa...

[2] https://alexandrugroza.ro/microelectronics/index.html


I've been watching this project like a hawk for months to see whether the final DMA/FDC bugs they identified get ironed out.

The idea of being able to hand-assemble a 386DX SBC, ISA backplane and Alexandru's other ISA cards is incredibly attractive to me - I find hand soldering to be entrancing in the same way some describe knitting.


> Finally I have installed 32 Mb RAM based on eight 4Mx9 70ns SIMM that I designed in the meantime.

https://alexandrugroza.ro/microelectronics/system-design/4mx...


I was a bit confused for a second, but he really means 32 MB, not 32 Mb.


A source of confusion is that memory chips are specified in number of bits capacity, not bytes capacity. The first DRAM chips where 1-bit oriented; i.e. read and write were 1-bit at a time. Then you stacked for example 8 chips in parrallel for a byte oriented architechture, etc. 8 16Kb chips for 16KB memory.


> And there is the original Duke Nukem (DN1, DN2, and DN3) which I always would have liked to have the ability to turn down the volume for. Playing without sound effects was no fun and with sound effects was disturbing for the other people in the house.

Is there a good reason that most XT/AT era computers had no volume control for their PC speaker? I always wondered. My dad's XT had an incredibly loud speaker, I always felt bad playing Accolades Test Drive on it. When I finally bought my own XT I was very happy with the fact the speaker was a little less loud


Somewhat. The internal speaker in the original PC was pretty much just a buzzer that was probably never intended to output anything else other than simple status beeps in office settings.

It does not even have the ability to modulate its amplitude, i.e. its voltage level is either "full on" or "full off" and tones are usually played by doing that, for example, 2000 times a second to get a 2kHz square wave tone. There seem to be some (likely rather PC model specific) tricks to toggle it quickly enough to get some in-between waveforms[1], but overall there are no "volume" levels.

While it's likely not very hard to have a circuit to manually reduce the overall amplitude[2], by the time this really became commonly desirable enough we probably all had sound cards anyway, if we wanted to play anything more prolonged than the system beep on it.

[1] By means of inertia, the mechanical kind or the electromagnetic kind.

[2] Or even in software, but nothing would support that.


This. PC speaker was driven far beyond its original design and intention. Sound Blasters, and later built-in clones/compatibles, changed the general outlook of sound.

You'll see a shift to Adlib/SB audio start around 1987-1988, and by 1991 they were no longer niche. PC speaker support started to wane, but didn't entirely go away until Windows 95.

How do I remember this? I ran a BBS in the 90s, and my family was one of the early adopters of sound cards back in 1987 (Creative Music System, later rebranded to Game Blaster before Creative Labs came out with the Adlib-compatible Sound Blaster) and we ended up going through a few of the different cards over the years across multiple PCs.


I remember an old demo that would play a loop of the chorus of I Say a Little Prayer through the PC speaker. It was hard to believe that the speaker could be pushed to such limits.


I had an Amstrad PC1512 I will always remember because it had a volume control. It had some sort of powered speaker, so you could turn it up absurdly high, or lower the volume down reasonably (even switching it off)

This is not the exact model, but you can see the volume control here:

https://computers.popcorn.cx/amstrad/pc2086/pc2086-02.jpg


It was just a single pin on the timer chip connected to a buzzer so you could generate a square way at a certain frequency.


But you could do a bit more. Here’s a DOS golf game that did.

https://m.youtube.com/watch?v=hMPb1UlSRpY


Probably use software to implement pulse width modulation. I knew even 8-bit computers where people would bit-bang PWN to produce audio. Its just that storing all that data would be a major constraint in such limited computers.


> 12" AOC monochrome VGA monitor

That brings a huge grin to my face. I had one of those, precisely of that vintage, which was my first VGA monitor of any type. The only thing different would be that it was 120V/60 Hz.

It lingered on as a console monitor for many years, and still worked when I finally took it to the recycler a few years ago. In its final years, it didn't get along with some graphics cards or BIOSes since it was purely 640x480 VGA and nothing else, and DDC didn't exist when it was built.


This is an awesome project! There have been others who have made their own computers using as far as a 486 (https://news.ycombinator.com/item?id=26407783 ) but making it IBM PC compatible really takes it to the next level. The only thing that would make it more amazing is if he didn't use existing chipsets and implemented all the glue logic on an FPGA (like the aforementioned 486 board) or discrete TTL.

The Pentium was when Intel started to get too secretive, I think; there's relatively little of the low-level information that's needed to create hardware like this compared to previous CPUs. I believe modern PC designs are all entirely based on a reference design from Intel so if you could get access to one, it would be possible to make your own motherboard, but signal integrity and such are going to make the PCB layout much more difficult. That said, there are plenty of laptop schematics out there... and (although a group effort) some Chinese managed to make a custom motherboard replacement for a Thinkpad: https://news.ycombinator.com/item?id=15274644


Wow, that's something impressive! I'd really pay for a device that can run DOS games from that era (the golden era of video games). Yeah, we do have emulators and all that, but having a real full fledged x86 retro computer running old stuff is cool. I don't know about the author but I think he is in a very good position to push this further and make it a product, I'd definitely buy one!


Awesome project, although I personally can’t identify with putting such effort into reinventing the past instead of making something new.

I suspect different people live in different periods. I’ve known people who always dwell on the past, those who are preoccupied with the future and those who are in the present and not overthink too much in either direction.


A lot can be learned for the present from such projects. Older stuff is usually less integrated, more tolerant to manufacturing by hand (for many reasons, including relatively easy to deal with frequencies, board layout, and required layers), and you have plenty of "reference" implementation and documentation to delve into. It is a very valuable hands-on experience that certainly gives an edge over people who only know how computers are put together theoretically.


I guess the idea is if you're studying EE and related fields: "crawl before you can walk"


This is not crawling by any stretch of imagination. It’s low speed digital which is the only thing making it “easy”, other than that it’s worlds apart in complexity from a reasonable educational or DIY project.


Because it's possible. Bringing up more advanced CPUs alone and with hobbyist tools is borderline impossible. Nothing revolutionary changed (Sorry Pentiums) until the Opteron, so you're covering an entie era by doing this and learning a ton that applies even today.

I dislike the premise of your question though. There's no reason it need to be economically useful. People can just do things thy love and enjoy.

On top of that, this question is like asking why learn finite automata, why not just jump straight to Turing machines and trying to solve P=?NP. No, that's nonsense obviously and you gotta walk before you can run.


The level of expertise in the OP is way above “walking” when translated to EE terms. It’s educational no doubt but so was every one of my professional projects over the years.

Yes I completely agree that people should do what they enjoy - it’s just that every now and then I see this completely amazing undertaking with absolutely no extrinsic value and I wonder. It’s all a very personal vantage point of course.


> The level of expertise in the OP is way above “walking” when translated to EE terms

I know, I've looked into doing it and this is mind-blowing but they're relative terms and it depends on what you compare it to. This is "walking" compared to bringing up a Ryzen machine.

> with absolutely no extrinsic value

Why should it? And how do you know it doesn't and they just haven't documented that?


"Interesting History" is just before your own time (of sentience). I would consider rebuilding 1972 computer a worthy task. But not some 1990 beige box from China.


Why not "some 1990 beige box from China" ? Do you think this is not interesting enough ? An 1972 computer is more mecanically challenging . And finding ICs could also be challenging because some are not produced anymore at least in the west. Finding SW is also a challenge. In the end is a question of mostly time and component availability.


I just threw 1988 turbo-button computer into garbage. I kept in the closet for 30 years, because it was not mine, and I excepted the owner will come any time and collect it. Now he is dead and I do not believe in ghosts.


There's people who are looking for that kind of stuff. If it's not too late, it would be worth posting it for free (or whatever) on your favorite local market.


doing your part. the only reason any vintage computer becomes valuable is that most of them get tossed in the trash. the kids in the year 2076 are going to love turbo buttons. Chinese factories manufacturing parts for American computers, who could imagine!


I kind of wish I had my 1990 beige box, even though it was a hunk of junk even for the time.


It was the worst of times. You needed at least 50 Mhz to play MP3-files. Only rich people could afford that. And couple of years later you wanted to play DIVX-files and you needed 300 Mhz.


My recollection doesn't agree with you. It was a stretch for a 300 MHz Celeron to play an MP2 (not even MP3) - I was an early adopter as I hated all the analog degrading.


I later had a 486-66, and it would only play MP3 files if they were 64kbps or lower (or 128kbps mono).


Umm, WOW... and in the name of nostalgia!


I didn't realize Intel switched the meaning of DX/SX between their 386 and 486 CPU's.


How so? SX was always the crappy version.


True, but SX used to stand (officially? dunno) for Singleword Xchange, as it had a 16 bit bus. DX was Doubleword Xchange, hence 32bit bus.

Then in the 486, the bus was always 32-bit (at least from Intel. I have a faint memory of Cyrix 486SLCs with a 16bit bus), and now the SX-DX indicated the presence of an integrated FPU instead.

Bonus: the 80487 was not just an FPU. It was a full 486DX which just disabled the main CPU and did all the work, and of course had an FPU.


> Singleword Xchange > Doubleword Xchange

Thank you! I knew all the difference (the same as 8088 vs. 8086) but never knew why those names were used. I love these tidbits of history.


Others have mostly answered it.

As a 486DX owner (IBM PC compatible AST Advantage), I was aware of the lower price point 486SX chip, and the difference was that the latter did not have hardware support for floating point calculations. In marketing jargon, the 486DX had an "integrated math co-processor."

I was also aware of the previous generation also using DX/SX designations, and until recently, assumed that the SX designation also meant a lack of a math co-processor, when instead, it simply meant a 16-bit data bus, compared to the 32bit data bus of the DX chip, and that neither DX or SX variant of the 386 had dedicated hardware for floating point calculations.


I was also confused by this statement and had to refresh my memories. In short, 386sx had 16/24 bus instead of 32, which made it 286 main board compatible. 486sx was simply non-fpu version.


As 386SX owner, it was also the no-FPU version.


That's the point. With the 386, it means bus width, the FPU was separate as the 387 anyway. With the 486, it meant whether it had an FPU.

I'm not getting into the whole controversial deal with whether the 486SX actually just had the FPU disabled, and what the 487 actually was, because there seems to be a lot of misconception around that that I don't want to inadvertently repeat: http://www.os2museum.com/wp/lies-damn-lies-and-wikipedia/


None of the 386 models had on-chip FPU. That came with the 486.


Moreover, there was an 80387SX copro to go with the 386SX.


And, for us oldies the Weitek as well as the DSP32 board.

https://en.wikipedia.org/wiki/Weitek

and

https://www.signalogic.com/images/Ariel_DSP32-PC.jpg


And if you're old and a bit odd, there were i486+i860[1] motherboards from (at least) Hauppauge, Microway & Olivetti.

[1] https://old.hotchips.org/wp-content/uploads/hc_archives/hc02...


I remember learning "Hauppauge" was pronounced "Hop Hog"


I never got my hands on one of those. But I did get to play with Transputers, which was another interesting co-processor option.


Transputers are still a thing from ST Micro, I think, though targeting the embedded market now. I got to use a Meiko 'Surface' transputer supercomputer back in the day. Interesting toy.

The i486+i860 combo I played with ended up being not particularly interesting. By the time it showed up, Pentium was eminent so the i486 was old news and the i860 was a huge pain in the ass to get anything like promised performance out of.


Meiko, there's another name that I haven't heard for a really long time.

Are there any Transputer based systems still in use?


Yeah...the Meiko was pretty nifty, and Occam was an interesting language.

Like I said, ST Micro picked up the Transputer line via acquisition. They morphed it into more of an embedded product, and targeted things like set-top boxed. Pretty sure it was the ST20 line. Unfortunately, a very quick look at the web site makes it look like ST did what everyone else in the embedded world seems to be devolving to: everything is an ARM. So...there are probably descendants of Transputer still chugging along out there, but doesn't look like it has a future.


Then Intel released DX2 486s, which ran the core at twice the bus speed.

No one is good at naming things in our industry.


and then they released DX4 that quite logically ran at .. triple the bus speed


It would be so awesome if this guy may start producing and selling these in small quantities.


it's funny, i was wondering how i could use my old 386 cpu that i saved from my first computer. the memories of running slackware 1.0 on it is still vivid. ah that moment i got my first X server running :)


How long until it receives a Pentium?

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


This is absolutely amazing and beautiful work. Congratulations to Alexandru!

BTW can someone clarify what's the benefits of building the computer as an ISA board?


ISA boards (main, backplane and/or add-on) are relatively simple to design and interface. Not having to worry about north bridge and south bridge chips, PnP, PCI, AGP, VLB, EISA, MCA, etc. makes designs simpler. Many of the period correct sound card chips, VGA chips, Ethernet chips, serial and parallel chips are still available to design around.

https://github.com/skiselev/isa8_backplane


Thank you


Probably because he previously designed an ISA backplane to plug it into: https://alexandrugroza.ro/microelectronics/system-design/isa...


This makes the project even more mindblowing, wow


With all these ARM/RISC-V based SBCs like RPi, I always wonder why no one every wants to make similar 8086/80386 SoCs and SBCs?


Wow! Very cool project and very inspiring! I'd love to know more about hardware like this but I wouldn't know where to start.


This is awesome, I would totally build this next week (I have most of the components around) but the PCB alone is over 500$, and I'm not sure I could solder that large SMD chip without breaking anything.

Awesome project, but a little too expensive for me sadly :(


You can get the PCB a lot cheaper if you don't have it made at OSHPark.


Could one make a system on a chip 386?


yes.



I wonder, apart from having fun and scratching some nostalgia itches, what are the outcomes of this? Do any of the things learned by doing this project help in working with present day hardware?


You can run Windows 3.1 which has a GUI more advanced than win 10 GUI. But 32 MB RAM ? Is there any Win 3.1 app which can use so much RAM ?


Probably not so much. Most of Win 3.1 is actually still 16bit even in Protected Mode (unless you count win32s which came much later), so everything over 1MB cannot even be addressed directly. While you can probably come up with something that makes use of the 32MB under Win 3.1, that would likely be rather artificial and not very typical of what was happening back in the day, not just because 32MB was considered absolutely massive then.

I vividly remember thinking how freaky it must be to have a PC that tests 32MB at boot (and how long it must take), and I think that was even during Pentium times already, not sure... my 486 had 8MB while many still had 4MB.


Protected mode using 16 bit segment:offset addressing could use more than 1 MB of memory.

The segments were 64K, but the base address of each individual segment was defined in a descriptor table and could point to anywhere within 24-bit addressable memory space on the 286 and 32-bit on the 386.

So the 286 was limited to 16 MB of ram in 16-bit protected mode. The 386 not so.

Incidentally, I had a 286 that was happy to use all the 4 MB of memory it had when running under Windows 3.1.

I remember using Turbo Pascal for Windows, and being amazed that I could allocate more than 640KB — albeit in 64K segments.


I know, hence why I said “addressed directly”, which 16 bit segments (like the major Windows portion living in vm86) couldn’t do, but they could still access it through windows (lowercase w, and no pun intended). EMS and XMS essentially did what you describe for example.


That much RAM on a 33Mhz 386DX would run OS/2 very comfortably, and you could actually use all of it. Or very early Linux distributions, of course. Imagine a Beowulf cluster of them!


Exactly. The requirement for my first personal PC was that it could run True Emacs on Linux (Sun 3 at my University had spoiled me), but I could only afford the absolute minimum: 386SX/25 MHz w/4 MiB. It was a Toshiba T1800 notebook, very nice but monochrome LCD, tiny harddrive, and not expandable.

With 4 MiB I was able to try X11, but not use it in practice. 32 MiB would have been incredible.


A 386DX actually has a full 32-bit address bus, so you can theoretically give it (almost, due to MMIO) 4GB of RAM. Memory testing might take a ridiculously long time, however, and I'm not sure if there's any stock BIOS that will handle it. All limitations that can be worked around, of course.


  Is there any Win 3.1 app which can use so much RAM ?
Maybe someone will start a new software project targeting the platform. That would be the second most interesting project.


There were some 32-bit extenders IIRC, but there's also Win32S.


I'd be surprised if the various compilers coudn't; especially Watcom.


Of course, electronics haven't changed, just gotten smaller, but the principles remain the same.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: