The Amstrad PC1640 Project - Part 3
20th August 2026
In Part 2 we got the PC1640 DD with PC-ECD monitor up and running, installed a bunch of upgrades, did some benchmarking and played some games - Phew, that was a fun couple of days!
In this final Part 3, I wanted to cover some of the other thoughts and ideas spinning since I unboxed this lovely XT compatible.
A CPU Upgrade
I'm ruling out installing a 'turbo' card, such as the Orchid Tiny Turbo that took over completely from the 8086, as that would take away the purity of this PC.
The only reasonable CPU upgrade option while keeping the PC1640 as an XT-compatible is to swap out the Intel 8086 for an NEC V30. This gives anywhere from 10%-30% boost in performance, though closer to 10% in real world usage.
.jpg)
An AMD-branded 8086 (top) and Sony-branded V30 (bottom)
NEC did make the V30 faster than 8 MHz over time - it also came in 10, 12 and 16 MHz versions (though only the 8 and 10 MHz variants came in DIP40 packages that would work as a drop-in replacement here), so in theory we could attempt a slight overclock to 10 MHz. I certainly wouldn't push this system much more than that. Regardless, it will be underclocked to 8 MHz unless I also swap out the crystal oscillators to support the faster CPU.
Unfortunately, the architecture of the Amstrad PC1640 is such that just about everything else (memory, bus, etc) runs synchronously with the CPU clock. Maybe a 9.54 MHz crystal [which wasn't unusual in a Turbo XT] would be a possibility.
I did some research and found the video circuitry runs on its own crystal separate to the CPU clock - we won't change that since it would directly affect the video synchronisation circuitry from the onboard Paradise PEGA chipset to the monitor, potentially causing the monitor horizontal and vertical sync frequencies to change.
I have an NEC V30 in my Amstrad PPC640 (it's the one in the picture above), which I installed in the PC1640 and re-ran the same benchmarks as before:
.png)
Landmark Speed Test v0.99 (left) and v6.00 (right) running on the V30 CPU
.png)
Check-It 3.0 CPU, FPU, and Video running on the V30 CPU
.png)
Norton SI 5.5 and TopBench 0.38
So take these comparisons with a pinch of salt ("there are lies, damned lies, and performance benchmarks") - all tests have been synthetic so far, but it's still worth putting them all together:
| Intel 8086 @ 8 MHz | NEC V30 @ 8 MHz | % Improvement | |
|---|---|---|---|
| Landmark Speed Test 0.99 (MHz) | 4.4 | 5.0 | 14% |
| Landmark Speed Test 6.00 (MHz) | 5.11 | 6.84 | 34% |
| Check-It 3.0 CPU Test (Dhrystones) | 767 | 969 | 26% |
| Check-It 3.0 FPU Test (Whetstones) | 15.9K | 18.6K | 17% |
| Check-It 3.0 BIOS Video Test (chars/sec) | 826 | 903 | 9% |
| Check-It 3.0 Direct Video Test (chars/sec) | 10,895 | 12,176 | 12% |
| Dr. Hard 37e Hardstones | 585 | 718 | 23% |
| Dr. Hard 37e Softstones | 19 | 24 | 26% |
| Dr. Hard 37e Video Transfer Rate (MB/s) | 0.5 | 0.5 | 0% |
| Norton SysInfo 5.5 CPU Speed | 2.1 | 2.7 | 29% |
| TopBench 0.38 Total (usec) | 6636 | 4900 | 26% |
So there we are, on average a 21.6% increase in performance with the NEC V30 running at the same clock speed.
Other Performance Options
As you may have read in my 'Getting a 286 to Run Like a 386' article from a few years ago, most later systems run the CPU asynchronously to the rest of the system, allowing us to drive the CPU at a faster frequency while maintaining core timing of memory, other buses and peripherals.
On Turbo XTs, their motherboards still have a 14.31818 MHz crystal used to drive the ISA bus (CLK/2). It's also used to drive the Programmable Interval Timer, or PIT (usually CLK/12). The turbo button switches the clock generator, usually an Intel 8284, to use a secondary crystal. In the Amstrad, we don't have an 8284 - the clock gen is probably built into the custom 40039T gate array. This limits what we can do, and that 24 MHz crystal is it. I want to try replacing it with a slightly faster one, say, 27.000 or even 28.636 MHz, which would result in a theoretical 9.54 MHz when divided by 3. If (and it's a big "if") the gate arrays and memory can handle the additional speed, we may still get errors and hangs on the peripheral side of things, but lots of later XTs ran at precisely this frequency, 9.54 MHz, as their master clock source was a 28.636 MHz crystal oscillator.
The ISA bus on the PC1640 runs at precisely 4 MHz (it's CPUCLK/6). This was a design decision by Amstrad in order to maintain compatibility with expansion cards around at the time, which would run at 4.77 MHz on the IBM 5150, the same as the CPU. Driving the ISA bus at 7-12 MHz wasn't really a thing in 1986. This ISA bus frequency is probably handled within the 40039T gate array, which forces the CPU frequency of 8 MHz down by half through the insertion of hardware wait states on the ISA bus. So the ISA bus actually runs slower on this PC than the original IBM 5150! By changing the 24 MHz crystal, this will directly impact the ISA bus too - something to bear in mind.
The other crystal on-board is a 16.25 MHz one which is responsible for directly driving the onboard graphics dot clock (pixel clock) - I won't mess with this of course, as the frequency is used directly to set the horizontal sync frequency the IGA wants to instruct the monitor to run in.
The onboard RAM is a bit of a concern. It's rated at 150ns and was designed to operate at 8 MHz. If the Intel 8086 were to take just 1 clock cycle to access memory, we would need 125ns as a minimum (1 clock cycle / 8 MHz = 125ns), but because it takes 4 clock cycles to access memory, the RAM need only be 500ns (4 clock cycles / 8 MHz = 500ns). In my experience when pushing the performance envelope on these systems, it's slow RAM that is often the first to cause us issues, but this motherboard has DRAMs from Texas Instruments - a known quality brand. There are other logic chips responsible for DRAM access that will also take up additional clocks per access, but we're well within tolerance given the clock cycles.
It's time to get out the oscilloscope and probe these crystals to confirm our assumptions....
First off, here's the crystal at X105(?) with the marking '286-100':

Now the one we're really interested in, the main CPU crystal at X104 with marking '240-100':

and at the top of the board in location X101 with marking '1843.2':

and finally the ISA bus itself, measured at pin B20 on one of the expansion slots:

So this confirms the figures we were expecting, and most probably what they're used for.
I don't have any 27.000 or 28.636 MHz crystals, so will order them now and update this page when they arrive!
Using the ECD Monitor on a Different PC
For some reason I thought these Amstrad monitors weren't able to be used on other PCs, believing they needed to detect a load on the system unit power cable and feed that back to the monitor before the high-voltage side would be enabled. This is not the case for this ECD monitor - it works just fine - just be sure your graphics card is outputting the correct vertical sync polarity - this monitor is as per the EGA standard expecting separate horizontal and vertical sync signals along with a negative vertical polarity sync to tell the monitor to use EGA high-res (640 x 350) or positive for EGA low-res and CGA compatibility modes (640 x 200 or 320 x 200).
To test this out, I unplugged the System Unit power cable and connected the monitor to my other retro PC fitted with a Cirrus Logic SVGA card that has both analogue and digital outputs.
.jpg)
Ignore the blue VGA cable - that was me testing the PC and SVGA card were functioning as expected with my video capture setup before I connected the Amstrad monitor
You may have noticed the colours are rather washed out. This just needed brightness/contrast adjustments to correct:
.jpg)
That's now looking a lot better!
While we wait for the upgrade crystal oscillators to arrive, I'll end it here. I do hope you enjoyed reading this article - please send me any feedback via the 'Contact Us' link below!
.png)
.png)
.png)
.jpg)