6 ms·
z386: An Open-Source 80386 Built Around Original Microcode
- mmastrac 4mo agoDid the microcode disassembly find any useful backdoors to read microcode without decapping?
- nand2mario 4mo 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 4mo agothere are several iterations of 386 and only one was disassembled so there's still a chance
- cbdevidal 4mo 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 4mo agohaha, this was my first thought when I read the headline, because this "classic test" always comes up here :-))
- nand2mario 4mo agoDoom (DOS extender games) is an easier protected mode application as it does not use complex page tables. Linux is much more complex.
- cbdevidal 4mo agoI have faith in you!!
- RiverCrochet 4mo 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 4mo 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 4mo 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 4mo 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 4mo 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 4mo 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 4mo ago[deleted]
- UncleOxidant 4mo agoKind of surprised this only takes 18K LUTs. That's a fairly small FPGA these days.
- mycall 4mo 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 4mo 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 4mo 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 4mo agoRelated: 80386 Microcode Disassembled https://news.ycombinator.com/item?id=48247004 https://news.ycombinator.com/item?id=48247004
- dang 4mo 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 4mo 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 4mo 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 4mo 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 4mo 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 4mo 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.