I'm incredibly pleased to announce that the microcode for the Intel 80386 has been decoded.
-
It doesn't stop there. The incredibly talented nand2mario has taken reenigne's work and created a microcode-level Verilog implementation of the 80386. And yes, it runs DOOM. There's even a MiSTer core in the works.
https://nand2mario.github.io/posts/2026/z386/
https://github.com/nand2mario/z386
https://github.com/nand2mario/z386_MiSTer@gloriouscow I’m so excited about a real 386 MiSTer core!
-
@gloriouscow @ask Not true if there is a remotely decent passivation layer over the top insulating it.
Of course, I have no idea if these older parts actually have exposed metal anywhere... but on anything like 350nm and newer there's gonna be a micron or two of nitride/oxide on top insulating the die surface and protecting it from physical damage. The top metal traces aren't directly exposed.
true, the amount of delayering you need to get images of things isn't necessarily required if you were just going to try to probe things.
i still think that fact that everything is incredibly tiny is the real problem.
-
true, the amount of delayering you need to get images of things isn't necessarily required if you were just going to try to probe things.
i still think that fact that everything is incredibly tiny is the real problem.
@gloriouscow @ask well what i meant is more, dust on the top of a decapped chip with intact bond wires and passivation isn't really going to hurt it. I've had chips sitting on a shelf in a cabinet for years open cavity that still run fine.
-
@gloriouscow @ask well what i meant is more, dust on the top of a decapped chip with intact bond wires and passivation isn't really going to hurt it. I've had chips sitting on a shelf in a cabinet for years open cavity that still run fine.
how does heat dissipation work when a chip is decapped? I would have assumed a CPU would immediately overheat
-
how does heat dissipation work when a chip is decapped? I would have assumed a CPU would immediately overheat
@gloriouscow @ask Normally I'm working on embedded parts that don't generate enough heat for this to be a problem
-
@gloriouscow if you have a clean die that would be preferable to having to decap one though
@gloriouscow https://siliconpr0n.org/wiki/doku.php?id=delayer:dash
Ok yeah if it doesn't require any heating I can run this on a delayered die next time I'm working at the acid bench in the cleaneoom
-
@gloriouscow https://siliconpr0n.org/wiki/doku.php?id=delayer:dash
Ok yeah if it doesn't require any heating I can run this on a delayered die next time I'm working at the acid bench in the cleaneoom
@gloriouscow do you know what M1 is on the 286 so I can etch any of the metal there away
-
@gloriouscow https://siliconpr0n.org/wiki/doku.php?id=delayer:dash
Ok yeah if it doesn't require any heating I can run this on a delayered die next time I'm working at the acid bench in the cleaneoom
@ldcd sorry what's a rough traveller?
I can get 286 chips to you but I have no real experience with or equipment for decapping here.
-
@gloriouscow do you know what M1 is on the 286 so I can etch any of the metal there away
@ldcd @infosecdj can you answer this?
-
@ldcd sorry what's a rough traveller?
I can get 286 chips to you but I have no real experience with or equipment for decapping here.
@gloriouscow just like a checklist for the process, IE any device cleaning steps, acid mixture, times and heating required, but the siliconpr0n linked is probably good enough
-
@ldcd @infosecdj can you answer this?
@gloriouscow @ldcd Aluminium, the die is too old to have any copper on it.
-
@gloriouscow just like a checklist for the process, IE any device cleaning steps, acid mixture, times and heating required, but the siliconpr0n linked is probably good enough
@ldcd Yeah, I have no idea. I shouldn't be allowed in the average kitchen let alone a chemistry lab.
If you have unanswered questions I could get you in touch with someone, but they're the person who wrote that
-
@gloriouscow @ldcd Aluminium, the die is too old to have any copper on it.
@infosecdj @gloriouscow ok perfect that's what I was hoping, shouldn't be too hard to etch off
-
@infosecdj @gloriouscow ok perfect that's what I was hoping, shouldn't be too hard to etch off
@infosecdj @gloriouscow how many delayered 286s do you have? My training is expired on the RIE tool and it's also super oversubscribed
-
@infosecdj @gloriouscow how many delayered 286s do you have? My training is expired on the RIE tool and it's also super oversubscribed
@ldcd @gloriouscow Exactly one for now. Can make more if needed. Using RIE to strip the die is rather expensive though, just HF for oxide removal and spiked HCl for metal would do the job of getting to the substrate quickly.
-
#retrocomputing #vintagecomputing #microcode #reverseengineering
THIS BITMAP RUNS DOOM
I think this image deserves a tiny bit of explanation. What are we looking at here?
Well, it's a direct mapping of the microcode array to a bitmap, where black (0) is no transistor and white (1) is a transistor.
Overlaid on the actual microcode die photo mosaic, it looks like this.

-
@ldcd @gloriouscow Exactly one for now. Can make more if needed. Using RIE to strip the die is rather expensive though, just HF for oxide removal and spiked HCl for metal would do the job of getting to the substrate quickly.
@infosecdj @gloriouscow spiked HCl?
I don't do much semiconductor processing but I can give that a go; we're not allowed to bring any solvent to the acid bench so if you have any dies free of epoxy (but not necessarily delayered) that would be ideal
-
I think this image deserves a tiny bit of explanation. What are we looking at here?
Well, it's a direct mapping of the microcode array to a bitmap, where black (0) is no transistor and white (1) is a transistor.
Overlaid on the actual microcode die photo mosaic, it looks like this.

Each microcode word on the 386 is 37 bits long. So each of these rows of microcode bits contributes one bit to the resulting microcode word.
A PLA activates the columns of the microcode ROM from above, column-wise, and from the left side, via multiplexers, ultimately activating exactly 37 cell positions for each microcode address.
-
@infosecdj @gloriouscow spiked HCl?
I don't do much semiconductor processing but I can give that a go; we're not allowed to bring any solvent to the acid bench so if you have any dies free of epoxy (but not necessarily delayered) that would be ideal
@ldcd @gloriouscow Ah, adding some H2O2 to HCl speeds things up by a lot. Also makes it fume chlorine, so a fume hood is recommended for obvious reasons.
@gloriouscow do you think you could supply some? Both of you are likely on the same continent, no? Otherwise I can do it.