VOGONS


First post, by carlostex

User metadata
Rank l33t
Rank
l33t

Calling on all electronics experts and aficionados.

I've had this idea which is hardly new and i'm sure a lot of people back in the day designed their own.

Everyone pretty much has at least one replaced an 8088 for a NEC V20. A later version of the V20, the V20HL is capable to clock at least at 16MHz. Because all XT's run synchronously a simple crystal mod would render your motherboard useless in Turbo mode.

My idea was basically a small PCB that would have male 40pin DIP pins on the PCB bottom to place on the socket and then a female socket on top for the actual CPU. Then the PCB would include 2 crystal oscillators, a divide by three circuit and a 2 pin jumper header.

All we need is that our custom PCB responds to the Turbo button just like the system does. When the turbo header is pulled low all the system is at 4.77Mhz. When pulled high CPU and ISA CLK uses the other crystal. For instance my XT motherboard uses a 14.318 and a 30MHz crystals, hence the 4.77MHz and 10MHz speeds.

Make our PCB respond to the Turbo button the same way via the 2 pin header, it is a simple job to solder a second cable on the Turbo button, one cable for the system and other for our custom PCB. It is easier and will probably better to get the LOW/HIGH signal from the turbo cable instead of getting that signal from the motherboard. When pulled LOW use the divide by three from the 14.318 crystal. When pulled HIGH use the signal from the 48MHz crystal thus giving 4.77MHz and 16MHz respectively and exactly what we need.

Oh it would be a good idea to make the 48MHz as a socket. I guess the NEC V20HL can probably be slightly overclocked so it would be cool to have the ability to change the crystal from 48MHz to let's say 54MHz.

I sent this idea to James Pearce and i hope i didn't sound like an idiot they way i presented the idea, i'm not 100% sure this can be done this way, but if it can it's probably the best option since we don't need to mess with the motherboard in any way.

So what do the electronics experts around here think?

Reply 1 of 8, by alexanrs

User metadata
Rank l33t
Rank
l33t

I'm not much of an expert, but it MIGHT be easier to design this using actual PLL clock-doubling instead of another crystal, as this would give an integer multiplier from the motherboards frequency and this might make things a lot easier to design (also the higher clock would be in sync with the motherboard). Also, I do not have extensive knowledge about how the 8088 woks, but I know a thing or two and if I recall correctly the address and data lines are shared, and the processor sends them in series (first the address, then the data) in any IO or memory read operation. So what might be doable is to wire the processor's data/address+clock lines to an FPGA, and the ones from the motherboard's socket too. Then use the FPGA's PLL capabilities (if any, else put an external PLL circuitry), and operate in two modes: non-turbo - just have the FPGA pass everything through and connect the processor's clock to the original one; turbo - have the FPGA "cache" address and data (as the motherboard won't be able to process them at the higher clock) and inject wait states to the processor to make it wait for the slower bus, and pass the doubled clock.
This should be possible, but one would need to study the 8088's datasheet throughly and be good at FPGA development.

Reply 2 of 8, by carlostex

User metadata
Rank l33t
Rank
l33t

That seems to be way more complicated.

I'd rather have the circuit completely independant from motherboard signals and just rely on the Turbo header. This way in Turbo mode you could keep your high motherboard bus 8 or 10MHz (some XT's do 12) and the top speed for the CPU, 16MHz for a NEC V20HL or even swap the 48MHz crystal on the circuit for a 54MHz one to overclock to 18MHz.

This would give ultimate XT speed without turning the system into a pile of thrash trying to keep speeds in sync. I imagine a 16MHz V20 with a 10MHz bus would give an IBM AT a run for its money.

Reply 3 of 8, by alexanrs

User metadata
Rank l33t
Rank
l33t

The problem is that you have to keep things in sync. The processor and motherboard still have to communicate, you can't just toss signals at 16MHz when the motherboard is operating at 8MHz, for example. Doing it your way (no PLL, 48MHz crystal) is actually more complicated as the clocks won't be in sync, and the adapter will have to cope with all that - and yes, it will still have to decode adress/data, cache them and send them to the motherboard through the processor's socket at the motherboar's bus speed.

Reply 4 of 8, by carlostex

User metadata
Rank l33t
Rank
l33t

I had the idea the Intel 8284 clock generator could still generate READY signals for ASYNC operation. The slower motherbus bus would be bottlenecked but still the system would gain some speed.

Nevermind i should have checked datasheets before having ideas... 🤣

Reply 5 of 8, by alexanrs

User metadata
Rank l33t
Rank
l33t

From what I understood the READY signal just insers wait states, it won't make the processor hold the address or data lines longer. And the 8284 will just sync its RDY input to the clock. While that might mean that you do not have to control wait states by yourself, I doubt you don't have to deal with the data and address lines.

Reply 6 of 8, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

See if the PC Sprint can be altered to meet your needs:

http://www.brutman.com/pcsprint_annotated.zip

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 8 of 8, by bjt

User metadata
Rank Oldbie
Rank
Oldbie

I believe the reason PC Sprint is limited to a 2x speedup on a XT 5160 is that additional wait states are needed to go any faster.
The Turbo XT boards will be inserting wait states already to get to 10Mhz, but I'm guessing you'd need more to go faster.