I had a 168 pin TI486 SXL-40 lying around that I bought a few years ago, thinking it was a 132 pin. I'm sure I wasn't the only one that fell for this. Always wanted to see if it worked, and I followed this thread for a bit. In the end, I rolled up my sleeves, got into KiCAD, took CB88's latest draft and adapted it to my needs.
The attachment IMG_3846.JPG is no longer available
Before I start, let's get a few things out of the way:
-This is my second PCB ever; I am confident that to a professional it looks like a toddlers doodle
-I selfishly made this to fit my computer (IBM P70 luggable), it may not fit yours - this is not an universal interposer
-I'm running with a 20MHz clock, doubled to 40MHz. The trace length is such, that for 40/80MHz it should still fall in the 2.5% skew allowed by JEDEC. So, it could work at those frequencies, but I have no way to test this
-I'm still having issues getting the cache working. The board doesn't have any coherency circuits, something I regret now.
Design and build
In this thread, the envisioned end product would be a pcb roughly the size of the processor, with pins at the bottom and a socket at the top. This would require a smd 168 sockets, and a smd 132pin array. Despite extensive searching, I did not find these components. I did however have a though-hole 168pin socket (for 486s) lying around. I reckoned the only way to have two though hole arrays would be to put them side by side.
This is of course not ideal - wire lenght increases - but it was the only way I saw this becoming a practical reality. I updated the circuit of CB88 (who left a few pins unconnected) and added in the MIC29152 regulator discussed in this thread. The real work was laying out the tracks. What you see here is my third attempt; earlier versions always drowned half-way because of too large traces or orientating the sockets in the wrong way. The traces are now the thinnest allowed by JLCPCB, and even then it barely fits here and there.
The attachment pcb.jpg is no longer available
The PCB does not have many options. The power regulator puts out 3.5V. This is fixed, but can be altered by changing out R1. There is a header for a 5v fan and a connection to the MEMW pin. Also, there is a solderjumper that allows to set pin J1 to 5V or vcc (3.5V). Only make this 5V for the SXL-G40 and SXL2-G50, all other SXL processors need vcc (3.5V).
The 132 pin side is just holes. I bought 0.5mm 24AWG wire. I used a space 132 pin socket placed at the right distance to accept the wire, solder it, cut it off. Repeat, 131x. The result is a pin array that is surprisingly rigid, not much worse than an actual processor.
Testing
My system (IBM PS/2 P70) started normally with the interposer. I used the cyrix.exe utility to double the clock (-cd), which took it to 40MHz in Norton sysinfo. I did add a little heatsink, as the processor got quite toasty (not burning my fingers though).
The attachment IMG_3847.JPG is no longer available
The attachment IMG_3848.JPG is no longer available
I've been less lucky with the cache though. Getting the cache working on the 486DLC that was in there originally was already a headache - I got it kinda working with flush and defining an exepted space. But for the 486SXL-40 none of this works. Flush (-f) or Barb (-b) don't do anything, doom isn't faster and the cache doesn't end up in cachecheck. As soon as I exept a portion of the memory the system becomes unstable. I don't think this is a fault of the interposer, more of compatibility issues between my (1989-) computer and the processor.
In any case- suggestions for how to get that working? I have seen mentions of some simple circuit that is needed to get cache coherency with Flush, but couldn't find anything on it. Can anyone point me to where I can find something on that?