17 ms·
80386DX ISA single board microcomputer
- throwaway29303 5y agoWow! Very cool project and very inspiring! I'd love to know more about hardware like this but I wouldn't know where to start.
- ane 5y agoWhat 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?
- pan69 5y ago> 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-backplane/index.html https://alexandrugroza.ro/microelectronics/system-design/isa... [2] https://alexandrugroza.ro/microelectronics/index.html https://alexandrugroza.ro/microelectronics/index.html
- DeathArrow 5y agoI 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?
- hulitu 5y agoYou 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 ?
- anyfoo 5y agoProbably 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.
- joakleaf 5y agoProtected 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.
- anyfoo 5y agoI 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.
- slim 5y agoIs 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.
- 5y ago
- deleted 5y ago[deleted]
- mjhagen 5y agoOf course, electronics haven't changed, just gotten smaller, but the principles remain the same.
- gadyke 5y agoI'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.
- imperialdrive 5y agoUmm, WOW... and in the name of nostalgia!
- balls187 5y agoI didn't realize Intel switched the meaning of DX/SX between their 386 and 486 CPU's.
- ahefner 5y agoHow so? SX was always the crappy version.
- wruza 5y agoI 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.
- pjmlp 5y agoAs 386SX owner, it was also the no-FPU version.
- donio 5y agoNone of the 386 models had on-chip FPU. That came with the 486.
- kazinator 5y agoMoreover, there was an 80387SX copro to go with the 386SX.
- jacquesm 5y agoAnd, for us oldies the Weitek as well as the DSP32 board. https://en.wikipedia.org/wiki/Weitek https://en.wikipedia.org/wiki/Weitek and https://www.signalogic.com/images/Ariel_DSP32-PC.jpg https://www.signalogic.com/images/Ariel_DSP32-PC.jpg
- 5y ago
- flyinglizard 5y agoAwesome 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.
- anyfoo 5y agoA 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.
- jtl999 5y agoI guess the idea is if you're studying EE and related fields: "crawl before you can walk"
- flyinglizard 5y agoThis 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.
- deleted 5y ago[deleted]
- timonoko 5y ago"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.
- 5y ago
- roywashere 5y ago> 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
- tecleandor 5y agoI 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 https://computers.popcorn.cx/amstrad/pc2086/pc2086-02.jpg
- anyfoo 5y agoSomewhat. 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.
- Firehawke 5y agoThis. 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.
- incanus77 5y ago> 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.
- FullyFunctional 5y agoThis 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.
- yitchelle 5y agoIt 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.
- gigel82 5y agoI'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...
- oso2k 5y ago386, 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_compatible_processor_manufacturers 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=8fSdLKx5HlU https://m.youtube.com/watch?v=6cXdWMOl8QE&t=241s https://m.youtube.com/watch?v=6cXdWMOl8QE&t=241s
- st_goliath 5y ago
- shoo 5y ago> 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/4mx9-simm/index.html https://alexandrugroza.ro/microelectronics/system-design/4mx...
- vardump 5y agoI was a bit confused for a second, but he really means 32 MB, not 32 Mb.
- jonsen 5y agoA 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.
- guerrilla 5y agoI'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!
- pan69 5y ago> Props on going for a full 32MB of RAM. He did do his own 4MB SIMMs, so... https://alexandrugroza.ro/microelectronics/system-design/4mx9-simm/index.html https://alexandrugroza.ro/microelectronics/system-design/4mx...
- mahoro 5y agoThis 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?
- oso2k 5y agoISA 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 https://github.com/skiselev/isa8_backplane
- mahoro 5y agoThank you
- jabl 5y agoProbably because he previously designed an ISA backplane to plug it into: https://alexandrugroza.ro/microelectronics/system-design/isa-backplane/index.html https://alexandrugroza.ro/microelectronics/system-design/isa...
- mahoro 5y agoThis makes the project even more mindblowing, wow
- kar1181 5y agoI 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.
- 123pie123 5y agoThese 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.
- unixhero 5y agoGood 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.
- ido 5y agoI 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.
- formerly_proven 5y agoThe 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.
- liendolucas 5y agoWow, 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!
- immmmmm 5y agoit'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 :)
- pshirshov 5y agoIt would be so awesome if this guy may start producing and selling these in small quantities.
- deleted 5y ago[deleted]
- itomato 5y agoHow long until it receives a Pentium? https://news.ycombinator.com/item?id=29046117 https://news.ycombinator.com/item?id=29046117
- jonathanlydall 5y agoAlthough 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.
- tssva 5y agoA 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.
- jonathanlydall 5y agoOnly 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.
- hwc 5y agoCould one make a system on a chip 386?
- cogburnd02 5y agoyes.
- flyinghamster 5y ago> 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.
- userbinator 5y agoThis 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 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 https://news.ycombinator.com/item?id=15274644
- dark-star 5y agoThis 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 :(
- detaro 5y agoYou can get the PCB a lot cheaper if you don't have it made at OSHPark.
- wbsun 5y agoWith 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?
- dennis714 5y agoSee also: http://homebrewcpu.com/ http://homebrewcpu.com/