• Please review our updated Terms and Rules here

I overclocked my IBM 5150...

Retro Canada

Experienced Member
Joined
Aug 23, 2012
Messages
280
Location
Vancouver, BC
I got the PC-Sprint schematics and designed a new pc-sprint board. Got the parts from jameco (they still have 8284a) and voila.... but my DRAM's are all 200ns! bummer, So the 22.1Mhz didn't work, I got a all sorts of parity error. So I got the highest oscillator here 17.43 and it worked :D I will buy other frequencies until I find the limit for my machine...

Pics
pc-sprint1.jpg

pcsprint2.jpg

pcsprint3.jpg

pcsprint4.jpg

here the KiCad files for whomever wants it:

https://sites.google.com/site/tandycocoloco/dropbox/PC-SPRINT.zip?attredirects=0&d=1
 
Can you successfully use cassettes with the overclocked 5150? I am serious. I remember the question of CPU speed versus the cassette interface coming up a few times in the past so this might be the best chance to prove things.
 
Good evening,
Have you made any progress in overclocking your 5150? I would like to try to do in my ...
 
I'd also be interested in one of these. I have no experience in getting PCBs manufactured - if I send the KiCAD files off to a PCB fab service will they know what to do with them? Alternatively is anyone selling these boards? Happy to source the components and solder one up.
 
I got the PC-Sprint schematics and designed a new pc-sprint board. Got the parts from jameco (they still have 8284a) and voila.... but my DRAM's are all 200ns! bummer, So the 22.1Mhz didn't work, I got a all sorts of parity error. So I got the highest oscillator here 17.43 and it worked :D I will buy other frequencies until I find the limit for my machine...

Pics
View attachment 42113

View attachment 42114

View attachment 42115

View attachment 42116

here the KiCad files for whomever wants it:

https://sites.google.com/site/tandycocoloco/dropbox/PC-SPRINT.zip?attredirects=0&d=1

Hey again. I'm really interested in trying out this upgrade so I sent your gerber files off to PCBWay to get some boards manufactured. Hopefully that's the reason you shared them! I really do appreciate the effort, I don't have the skills to do it myself and I seriously doubt they would've accepted the original ASCII art diagrams! ;) Due to economies of scale I decided to go for 20 (also if I screw any up). I've also ordered enough components to build them.

Once I've built and got one working in my 5150 I guess I'll be looking to sell the extras but I'd need your blessing to do that as you did the CAD drawings. Not looking to profit - I just think it would be good to make these available to the reto community as I have the parts anyway. I see you haven't been active on here for over a year so maybe you won't see this message but I thought it was worth a try.

Will keep everyone updated with my progress!
 
Just curious, is it just the CPU or the whole system that's overclocked?

I would imagine the benchmark readings could be affected if the 8253 was increased in speed as well.
 
It had better be just the CPU with all of that--otherwise, an XCO feeding the EFI input (pin 14) and connecting pin 13 to an 8255 unused output would do it.
 
This mod adds a separate timing crystal and 8284A oscillator chip specifically to clock the CPU. It would be possible to overclock the whole system by dropping a faster crystal straight into the motherboard but I hear this causes all sorts of timing issues leading to instability. I'm sure I'm probably preaching to the (more knowledgeable than me!) choir on that anyway.

I'm not sure of the effect on the 8253, I'll have to look into it a bit more. It would appear from my very rudimentary research that the 8253 is responsible for refreshing the DRAM? In which case I imagine there would be some benefit to clocking that at a higher rate as well - depending on the speed of the RAM of course.

[Scuttles off to look for 5150 motherboard schematics...]
 
Why would clocking the refresh at a higher rate be beneficial? If you check some 1980s articles on 5150/60 speedup, there was code to reduce the refresh rate. The 5150 is supposed to aim for a 2 msec refresh, when in fact, a much lower rate is perfectly decent. Refresh on the 51x0 occupies about 10% of overhead.
 
Why would clocking the refresh at a higher rate be beneficial? If you check some 1980s articles on 5150/60 speedup, there was code to reduce the refresh rate. The 5150 is supposed to aim for a 2 msec refresh, when in fact, a much lower rate is perfectly decent. Refresh on the 51x0 occupies about 10% of overhead.

Fair enough, I'm still learning when it comes to this stuff. It seems that faster is not always better. I'll try to see if I can find some of the articles you mentioned. Yet another data point to add to my research, thanks!
 
If you can't find any, I may have a copy of one in my files. However, the business of the refresh was used by a couple of (unscrupulous) outfits advertising a "speedup" for your PC. You may also find references to the trick on SIMTEL20.
 
One could change the timing of the 8253 Programmable Interval Timer with a little bit of code to gain a few more cycles back
 
... but looking at the logic diagram for the 5150, the 8253 Timer clock is driven by PCLK, which is not altered by PC-turbo, right? So the DMA refresh should remain at the standard interval when running PC-turbo, if I've interpreted this correctly.
 
... but looking at the logic diagram for the 5150, the 8253 Timer clock is driven by PCLK, which is not altered by PC-turbo, right? So the DMA refresh should remain at the standard interval when running PC-turbo, if I've interpreted this correctly.

That was my understanding as well. The mod just increases the clock speed of the CPU (and co-processor if fitted). Everything else should be unaltered.
 
It seems this thread has picked up a bit of steam so I thought I'd post some more of my thoughts on the PC-SPRINT and see if some of the more technical people here can enlighten me on some of the finer details.

I also discovered Sergey's mod for the XT: http://www.vcfed.org/forum/showthread.php?70923-IBM-5160-overclock-Sergey%92s-way

This hooks into the HRQDMA and HRQWAIT signals on the XT motherboard to reduce the clock speed to normal whenever there is DMA activity.

It doesn't appear that the PC-SPRINT does this however, in fact it seems the 5150 doesn't provide HRQWAIT at all from what I can see (I can't find any reference to it in the technical reference but maybe it went under another name?)

That said, it looks like we can get HRQDMA from pin 10 of the 8237, so I think it would be relatively simple to add some logic around the turbo switch input to also disable the faster clock when this pin is high without any other major changes to the circuit.

Does all of this make sense?
 
pc-sprint-pcb-vcfed.jpg

OK, so I've been a very busy boy since I last posted in this thread.

I had some PC-SPRINT PCBs manufactured (pictured above) using Retro Canada's KiCAD / gerber files and have been using one in my 5150 for the past week. I have an NEC V20 CPU and an 8087-2 installed, as well as 150ns RAM. I built my PC-SPRINT with a 21.47727MHz crystal giving a CPU clock speed of 7.16MHz. This is the same as the Tandy 1000 EX and HX, for what it's worth.

I've had zero problems so far and have tested with various games with a CGA and an EGA card. The performance difference is pretty staggering, actually. I've run a whole load of benchmarks and the improvements are in the 50-55% range across the board. I just leave the turbo mode enabled at all times, even when booting - incidentally, cold boot time has been reduced from 1:02 to 43 seconds. The new reset button is handy too.

But it doesn't end there. As others raised some concerns about DMA I also decided to learn some KiCAD and circuit design and work on my own "PC-SPRINT v2". These arrived from PCBWay today and I have assembled one:

pc-sprint-v2-assembled-vcfed.jpg

..and installed it:

pc-sprint-v2-installed-vcfed.jpg

The new version adds some additional logic to incorporate the DMA signals previously identified by Sergey Kiselev:

pc-sprint-v2-new-dma-logic-vcfed.jpg

I initially built this with a rather ambitious 24MHz crystal but the PC would freeze instantly with it enabled (even at the DOS prompt) so I have downgraded to a 22.1184MHz crystal (7.37MHz CPU clock) and that has worked perfectly fine in my limited testing so far.

Note that I haven't hooked up the DMA side of things yet but that's next on the todo list. I think I found the right places on the motherboard based on the Technical Reference but I want to confirm with an oscilloscope before I do anything too hasty, especially as it's all working fine so far anyway.

I documented the whole project over on GitHub for future generations who may stumble across this and get intrigued like I (and others) did: https://github.com/reesclissold/pc-sprint

It's very much a work in progress but I've added all the details on the benchmarks I've run so far as well as all of the files for the v2. There are probably a few errors in there as I'm still learning but I felt it made sense to put all my findings in one place.
 
Back
Top