11 ms·
z386: An Open-Source 80386 Built Around Original Microcode
- mmastrac 6mo agoDid the microcode disassembly find any useful backdoors to read microcode without decapping?
- nand2mario 6mo agoNot really. The 386 does not have an interface to read the ROM direclty. Instead, it uses the Built-In Self-Test (BIST) to verify the ROM's contents. It's basically a checksum-like mechanism that verify the integrity of the CROM.
- NooneAtAll3 6mo agothere are several iterations of 386 and only one was disassembled so there's still a chance
- cbdevidal 6mo agoOf course they tested Doom :-D They might also run Linux kernel 3.7, that supported i386. Gray386linux is still maintained, and runs a patched 3.7 kernel. https://github.com/marmolak/gray386linux https://github.com/marmolak/gray386linux
- KellyCriterion 6mo agohaha, this was my first thought when I read the headline, because this "classic test" always comes up here :-))
- nand2mario 6mo agoDoom (DOS extender games) is an easier protected mode application as it does not use complex page tables. Linux is much more complex.
- cbdevidal 6mo agoI have faith in you!!
- RiverCrochet 6mo agoIf modern x86 microcode ever gets sufficiently understood and reverse engineered I bet someone gets a PLAYDOOM instruction working. (I know it's been at least partially implemented on FPGAs)
- KellyCriterion 6mo agoQuestion: Are there today any 386 instances running somewhere in the basement to do some productive stuff, maybe processing only some controller data once a day? I remember the link some month ago where that one small shop ran completely on an old Amiga (?IIRC, not sure, was linked here) Around 98/99 I was involved in a small IT-management company serving SME around the region, we had a client producing distinct metal objects with a big press; this got feeded once a day with a 5.25 floppy from another machine with production data - and it was still in use while we had already ethernet/USB/3.5 floppies etc. :-D
- bitwize 6mo agoA few years ago there was a story where the single Amiga that ran an entire US school district's HVAC was replaced with a system costing like 1.5 million dollars, after 30 years of dutiful service. I can't think of examples offhand but you bet your ass there are donut shops and auto body repair services running 386s to do POS, inventory, and the like. Some of them may be driving terminals off Xenix.
- xp84 6mo agoFunny thing about this is that the character-based systems of that era, whether PC-type or host+terminal type, were most of the time so much faster and more responsive than the laggy, over-animated, touchscreen trash they always replace them with in order to get big screens and prettier graphics.
- zozbot234 6mo agoThe Amiga was not character-based, it ran an accelerated framebuffer (with support for scanning out multiple resolutions and color depths on a single screen).
- xp84 6mo agoSorry, I was generalizing the "typical" pre-1995 system one would find in commercial installations, which in general were character-based. But I'm sure the Amiga solution would have been nice and fast too, since they were pretty powerful and programmers back then didn't feel the need to bring in PhoneGap, React, or 5,280 npm packages in order to display what amounts to a form.
- deleted 6mo ago[deleted]
- UncleOxidant 6mo agoKind of surprised this only takes 18K LUTs. That's a fairly small FPGA these days.
- mycall 6mo agoHow does it compare to something like VexRisc [0] with respect to its capabilities? I know having x86 support is a metric all by itself. [0] https://github.com/spinalhdl/vexriscv https://github.com/spinalhdl/vexriscv
- phire 6mo agoNo contest really: RISCV is a much better ISA, VexRISC is a hyper-optimised implementation of it (for FPGAs), and it's not hindered by trying to be microcode compatible. The roughly equivalent VexRISC configuration (full with MMU) is only 2736 LUTs, running at 124 Mhz (on Cyclone V, which I'm pretty sure is the same arch)
- UncleOxidant 6mo agoA lot of RISCV implementations are going to be better and take a lot less resources in an FPGA due to the much more-easily-decoded ISA. What I was saying above was that I was surprised that they could get an x86 into that few LUTs as the x86 ISA is not well suited to efficient implementations.
- ChrisArchitect 6mo agoRelated: 80386 Microcode Disassembled https://news.ycombinator.com/item?id=48247004 https://news.ycombinator.com/item?id=48247004
- dang 6mo agoRelated ongoing thread: 80386 Microcode Disassembled - https://news.ycombinator.com/item?id=48247004 https://news.ycombinator.com/item?id=48247004 - May 2026 (42 comments)
- spankibalt 6mo agoSadly, without an accompanying FPGA-implementation of an FPU it's much less useful for productivity work/research, i.e. outside of 08/15 gaming and application fare. Same with Ao486, which only implements a 486SX.
- nand2mario 6mo agoI think there are two reasons we haven’t seen an FPGA FPU yet, especially for MiSTer. First, FPUs are complex and FPGA support for floating point is limited. There's DSP blocks for integer additions and multiplications. But very little FP support. Second, the CPU itself may not be fast enough for an FPU to matter much. Quake wants at least a 75 MHz Pentium, while ao486-MiSTer is closer to a 486-66. So we probably need both a faster CPU design and a faster FPGA. Maybe Altera's new Agilex 5 will be useful here.
- spankibalt 6mo agoAye. Well, hopefully something comes to pass as a lot of industry-specific applications demand the (emulated) physical presence of an FPU. Keeping that in mind, it's obviously high-level bitching (as we say in Germany); I, as a fan of IBM PCs and compatibles, am very fascinated by your and others' awesome work in this domain.
- rasz 6mo ago> a lot of industry-specific applications demand the (emulated) physical presence of an FPU Can you name some? I cant come up with any real world uses of FPU implemented PC for industrial use. Even MISTER is pushing it considering availability of emulation.
- spankibalt 6mo agoWhat I've personally seen that needed an FPU: a water analysis package for a "field laboratory" (its centerpiece being a luggable PC), several in-house applications of an insurance company (which my mentor, a mathematician, coded), as well as a bespoke, modular sasec (safety and security) suite for facility management. I'm slowly building a reference list of DOS- and UNIX-based industry software, as I have an interest in that stuff. Can't help with any names. Yet. So much for needed. Packages that run without, but are only fully useful with an FPU, were relatively common.