First post, by Blavius
Man, I was hoping to write this topic when I had something working to show off, but no dice. Anyway, I thought it would be worthwhile to at least share what I did and get your thoughts on it, if only to understand what I missed.
I have a IBM PS/2 P70, a luggable with a plasma screen, which I think is a pretty neat machine. Its main downside is the stock 386 16MHz, which makes it pretty slow for things like doom and win95. As most of you know, there are lots of cool upgrades out there; souped up 386's with cache (e.g. 486DLC, 486DRX-2), plug-in modules with an actual 486, and even microchannel cards that take over part of the system entirely. The problem is that most of that stuff is just plain impossible to find - even if you would be willing to pay the prices asked when they do come around.
The only properly available option on ebay are the Cyrix 386 based solutions. Unfortunately, those are generally ticking at the board frequency. The clock-doubling ones that really give a boost to your system, I haven't seen on offer even once. So - I ended up with a TI486DLC. I'm not unhappy with it; its 8kb of L1 cache gives about a 50% performance boost. But still, it's frustrating to know there is much upward potential left. Also, I have some bad experience overclocking PS/2's, so I got stuck.
When I was browsing though 386 upgrade modules (those sporting a proper 486), I noticed one had a 'clock double' jumper. This made me think; what if I could double the clock frequency of my 486DLC externally? This would mean intercepting the board frequency on the way to the processor, doubling it, and feeding it back in. The assumption here is that the processor knows what to do with this; the other components in the system still tick at their original frequency.
The first step was to figure out a way to double the frequency. I found a nice article that used a comparator and XOR gate to achieve this, and adapted it to the frequency I needed. After a lot of experimenting, it turned out not to work too well, as the comparator used was not fast enough to output a proper square wave, but a sine instead. After a lot of tuning I managed to get the circuit to work kindof alright; it outputs a 66MHz sine out of a 33MHz clock, but the peaks are not perfectly symmetrical.
The second step was to jam it into an interposer. I cut the pin carrying CLK2, connected it to the circuit, and feed it back into the top socket.
On this goes the TI486DLC, and the whole contraption goes into the motherboard:
But this is where the fun ends. The computer doesn't post. The processor does get warm, so it at least gets power, but there is no output on the screen. When I removed the interposer and reinserted the CPU directly it again came up happily.
So, it just doesn't work. Question is why. I see two options:
1. It could work, but I didn't do it right. Maybe the 66MHz I generate doesn't have the right flanks/uptime etc.
2.There is some fundamental reason it doesn't work. Perhaps clock doubling requires some sort of buffering to interact with the rest of the system, e.g. sending the 'ready' signal only every other pulse.
Curious to hear your thoughts!