Amstrad CPC 464 Troubleshooting Guide
This guide covers diagnostic procedures for the Amstrad CPC 464 (model 464, machine code Z70xxx series, 1984–1990). The CPC 464 BIOS does not implement a numeric POST code system — faults are diagnosed by symptom, by signal probing against the schematic in the Amstrad CPC464 Service Manual, and by the official Amstrad RP1 Test Pack (a service-engineer cartridge plugged into the expansion port). This guide adapts the official Basic Hardware Analysis flowchart from the service manual and adds field-experience faults documented by the Amstrad restoration community.
Power-On Behaviour and Boot Sequence
[edit | edit source]A healthy CPC 464 with firmware v1.0 (mask ROM IC103 part 40009 for the English-language model) goes through this sequence at power-on:
- +5 V rail comes up at J104. The Z80 CPU at IC111 receives its reset pulse from the Gate Array (IC116, 40007/40010) via RC network around C302.
- The Gate Array initialises the 6845 CRTC (IC108, HD6845SP) and the 8255 PIO (IC107, M5L8255AP-5).
- CRTC generates horizontal and vertical sync; the Gate Array generates RGB output from video RAM (the upper 16 KB of system RAM, IC121–IC124 HM4864).
- The Z80 reads from IC103 (32 KB mask ROM containing OS + Locomotive BASIC 1.0) starting at address 0000h.
- After ROM initialisation, the system displays the boot screen:
- "Amstrad 64K Microcomputer (v1)
"© 1984 Amstrad Consumer Electronics plc
"and Locomotive Software Ltd."
"BASIC 1.0"
"Ready"
- "Amstrad 64K Microcomputer (v1)
- The cursor appears, and the system is ready.
For Schneider-branded units the first line reads "Schneider 64K Microcomputer (v1)" instead, but the firmware is otherwise identical.
If any step fails, the system either remains dark, shows a corrupted screen, or hangs without producing the "Ready" prompt.
Symptom Flowchart (per the Basic Hardware Analysis in the service manual)
[edit | edit source]The official service manual presents a three-branch diagnostic flowchart. The branches are reproduced below with the symptoms and the canonical fault candidates.
Branch A — No display
[edit | edit source]- Verify 5 V at J104 with a multimeter. If absent, suspect the monitor 5 V supply (not the system unit). Try a stand-alone 5 V/2 A PSU.
- If 5 V present at J104, verify the DC cord (part 170316) and the system unit's internal +5 V at the power-input area.
- If +5 V is present on the planar but no display:
- Candidate FRUs: Video connector J101, DIN cable to monitor, Gate Array IC116, Z80A IC111, CRTC IC108, 16 MHz crystal X101, RAM bank IC117–IC124.
- Probe the 16 MHz crystal at X101 with an oscilloscope. If absent, the master clock is dead — the Gate Array generates a 4 MHz Z80 clock and 1 MHz CRTC/AY clock from this. Without it nothing happens.
- Probe Z80 pin 6 (clock input). If absent, the Gate Array clock divider is dead or the GA itself is dead. The 40007 GA (Ferranti) is the most common failure point on original-revision boards.
Branch B — Garbled display, no Ready prompt
[edit | edit source]- Wavy or wrong-coloured display: usually monitor — check brightness control, DIN cable, and the monitor's internal connectors before suspecting the system unit. Suspect CRTC IC108 if vertical hold drifts.
- Patterned garbage on screen, never resolves to a boot screen: RAM failure. The CPC 464 uses eight 64 K×1 RAM chips (HM4864P-2 or 4164-equivalent) at IC117–IC124. A single bad chip produces a regular pattern of corrupted pixels because each chip provides one data bit across all 64 KB of system + video RAM.
- "Amstrad 64K Microcomputer" displayed but then hangs before "Ready": likely OS ROM IC103 corrupt, or a subset of RAM failed in higher addresses. Reseat IC103 (or reflow if soldered).
Branch C — Display OK, system runs, but specific function fails
[edit | edit source]This branch maps to specific subsystems and is covered below per subsystem.
Audio dead or distorted
[edit | edit source]- Probe the speaker (part 170124): if no signal, suspect the audio amp IC301 (LA4140 on the cassette sub-PCB), the volume control VR301 (20 kฮฉ), or the audio connector to the main PCB.
- If the speaker output is dead but the 3.5 mm audio jack J103 works: suspect VR301 or the speaker driver IC301.
- If both speaker and J103 are dead: suspect AY-3-8912 sound chip IC102 (General Instrument) on the main PCB.
- Distorted audio: aged C309/C311/C314 (1 ยตF/50 V electrolytics on the AY-3-8912 output stage) are the most common cause. See Amstrad CPC 464 Capacitor Replacement Guide.
Cassette deck does not load
[edit | edit source]The cassette deck has its own circuit on the cassette sub-PCB (parts 170201–170212 + 809155–809175). Test in this order, as per the official "Cassette & Software Analysis" flowchart:
- Check connections to tape deck — reseat the sub-PCB ribbon at CP001 on the main PCB.
- Clean tape head — IPA on foam swab.
- Check head alignment — insert a test tape with constant 6 kHz tone, set volume to max, adjust azimuth screw on the cassette head until pin 7 of IC302 reads 330–520 mV.
- Check the cassette key switches — the play, rewind, fast-forward and pause buttons each operate a leaf switch. Stuck buttons or oxidised leaf-switch contacts will keep the motor from starting.
- Check the motor control relay RY301 — this relay (part 170123) energises the motor whenever software issues the CASSETTE WRITE or CASSETTE READ commands. A failed relay coil or a failed relay driver transistor will keep the motor permanently off (or, less commonly, permanently on).
- Speed — a stretched main belt (part 170204) is the most common end-of-life fault. Symptom: tape loads when the motor is helped by hand, but stops if the motor takes over. Replace the belt.
If the deck is mechanically sound but loading fails with a "Read Error" reported by the firmware:
- Probe the cassette read output at IC302 (LA6324) pin 7 while playing a known-good tape. The signal should be a clean sine-shape at 1 kHz or 2 kHz (software-selectable write speed) at 100–500 mV peak-to-peak.
- If the signal is correct at IC302 but the firmware still reports "Read Error", suspect Q103 (ZTX312L) which buffers the cassette signal into the 8255 PIO.
The official service note: actual physical damage to a software tape will prevent it from loading at all. There are no half-working programs on the CPC — tapes either load completely or do not load. Intermittent loading with retries is a deck mechanical issue, not a tape issue.
Keyboard not working / dead keys
[edit | edit source]- Verify CP002 keyboard ribbon is firmly seated.
- Inspect the keyboard contact PCB (parts 170028/170029) for cracks, liquid spillage or distortion.
- If a single row or column is dead: trace the corresponding line back through the keyboard ribbon to the main PCB. IC101 (74LS145) decodes the row select; IC109 / IC113 (74LS153 dual 4-to-1 mux) read the column lines into the 8255 PIO.
- If a single key is dead: clean the carbon pill on the rubber dome and the matching pad on the membrane. Do not abrade the carbon pill; it is a conductive coating that wears off if scrubbed.
- Stuck keys: open the keyboard, look for liquid residue between two adjacent membrane traces. Clean with IPA.
Printer port dead
[edit | edit source]- Probe the parallel printer edge connector while the system is in BASIC: type "PRINT #8, "TEST"" and watch pins D0–D6 with a scope or LED tester. The CPC 464 only outputs 7 bits (D7 is hard-wired to ground); some printers reject this. A 'D7 conversion cable' or third-party interface is required for full 8-bit output.
- If printer port is completely dead: suspect IC114 (74LS373 octal latch) which buffers the data lines to the connector.
Expansion port problems
[edit | edit source]- The expansion port is a 50-pin PCB edge connector that exposes the full Z80 bus plus the AY-3-8912 SOUND output, the cursor and light-pen lines from the CRTC, and the +5 V/GND rails.
- Symptom: peripheral inserted, system fails to start. Likely cause: short between adjacent contacts on the edge connector due to oxidation. Clean the gold-plated fingers on the main PCB and the peripheral.
- Symptom: peripheral inserted, system starts but the peripheral fails. Check the /EXP signal on pin 48 (active-low strobe asserted whenever an expansion peripheral is selected) and the ROMDIS / RAMDIS signals.
Diagnosing the Gate Array (40007 / 40010 / 40226)
[edit | edit source]The Gate Array is the heart of the CPC: it generates all system clocks, the video RGB output, and the 8 KB Mode Lookup Table that converts pixel data into colour. It is also the most common high-failure component on original-revision (Z70100) boards because the 40007 Ferranti variant runs hot.
Symptoms of a failing Gate Array:
- No clock, no display, system completely dead but +5 V present and crystal oscillating — suspect Gate Array.
- Display present but with vertical bands of wrong colours — Gate Array video output stage failing intermittently.
- System runs but hard locks after a few minutes — Gate Array overheating. On original 40007 units, fit (or refit) a heatsink with thermal pad.
- Coloured snow on the screen, software unstable — Gate Array video latches not running cleanly. Suspect aged decoupling caps near the GA (C104–C128 0.1 ยตF/25 V) before condemning the GA itself.
The 40007 (early) and 40010 (CMOS, replacement-compatible) are pin-equivalent and interchangeable. The 40226 cost-down ASIC in Revision 3 boards is not a drop-in replacement because it combines GA + CRTC + glue logic and uses a different pinout.
Replacement Gate Arrays are available second-hand or as modern FPGA recreations (the YACAGAR project, the GalAGA, and similar).
Diagnosing RAM (HM4864P-2 / 4164)
[edit | edit source]The CPC 464 has eight 64 K×1 DRAM chips at IC117–IC124, providing 64 KB of system + video RAM. Each chip provides one data bit (D0–D7 across the whole address space). A single bad chip therefore produces a striped pattern of corrupted pixels.
Diagnostic procedure:
- Boot the system. If it produces a stable boot screen, run a RAM test program (e.g. RAMSET or the test cartridge for the Amstrad RP1 Test Pack).
- If the boot screen itself is corrupted, the pattern of corruption indicates which bit is bad: a regular vertical stripe at a particular pixel column means that bit's chip has failed.
- Reseat the suspected chip if socketed. If still bad, swap with a known-good 4164 (refurbished from another CPC, or new old-stock).
- If reseating does not help and the bit position remains constant, the chip is faulty — replace.
The CPC 464 does not implement RAM parity, so single-bit errors are not reported by the firmware — they show up as corrupted text or graphics, or as program crashes at specific addresses.
Diagnosing the 8255 PIO (IC107)
[edit | edit source]The 8255 PIO is responsible for the keyboard input, the cassette motor control, the printer strobe, the AY-3-8912 control lines, and the volume control reading. A failed 8255 produces:
- Keyboard completely dead but display working.
- AY-3-8912 silent (cannot be addressed).
- Cassette motor unable to start.
- Printer port outputs frozen.
Replacement 8255s are widely available; the CPC uses the AC-coupled M5L8255AP-5 variant. Pin-compatible alternates include the Intel D8255A-5 and the NEC uPD8255AC-5.
Diagnosing the CRTC (IC108, HD6845SP)
[edit | edit source]The 6845 CRTC generates the horizontal and vertical sync timing, the row address counters for the video DRAM, and the display enable signal. Failure modes:
- No video sync (monitor displays "no signal"): CRTC clock missing, or CRTC output stuck. Probe CRTC pin 38 (DE, Display Enable) and pin 40 (HSYNC).
- Rolling display: VSYNC missing. Probe CRTC pin 39 (VSYNC).
- Wrong colours / wrong character height: CRTC registers not being initialised by firmware. Suspect Z80 / OS ROM bus, not the CRTC itself.
The CPC was sold with multiple CRTC types (CRTC Type 0 = HD6845SP, Type 1 = UM6845R, Type 2 = MC6845, Type 3 = Pre-ASIC AMSTRAD 40226, Type 4 = ASIC CPC Plus). Software that relies on undocumented CRTC behaviour will behave differently between types. The CPC 464 ships with Type 0 (HD6845SP) on Revisions 1 and 2, and with the Type 3 / 40226 ASIC on Revision 3 cost-down boards.
Diagnosing the AY-3-8912 (IC102)
[edit | edit source]The AY-3-8912 is a General Instrument 3-channel + 1-noise synthesizer chip. It is the only audio source on the CPC. Failure modes:
- Silence — chip dead, or its register-write path through IC107 (8255) broken.
- One channel dead — single channel output buffer dead inside the chip. Cannot be repaired; replace the chip.
- Loud DC offset, distortion — aged C309/C311/C314 (1 ยตF/50 V) on the AY output stage. Recap before condemning the chip.
Software Diagnostic
[edit | edit source]The official tool was the Amstrad RP1 Test Pack, a cartridge plugged into the expansion port that ran a comprehensive POST and reported FRU-level fault codes. RP1 is now rare; modern equivalents:
- YACAGAR / GalAGA — modern FPGA Gate Array replacements that include diagnostic modes.
- The Amstrad Diagnostic ROM (community-developed) — an expansion-port ROM that runs at power-on and tests RAM, ROMs, CRTC, AY, 8255 and the keyboard matrix, reporting results on screen.
For routine community work, a known-good Amstrad DDI-1 floppy interface and a working 3" diskette with a test program is the usual starting point: if the system boots, runs diagnostics from disk and the diagnostics pass, the system unit is healthy; if not, the diagnostics indicate where to start probing.
Common Fault Catalogue
[edit | edit source]The following list groups the most-reported CPC 464 faults from community service logs:
- Dead, no display, +5 V present — Gate Array failure (most common on Z70100 / Z70200 boards with 40007), then RAM (one of IC117–IC124).
- Garbled display with vertical stripes — specific RAM chip dead. The stripe colour identifies the bit.
- "Locks up after a few minutes" — Gate Array overheating, especially on a 40007 without heatsink. Fit a heatsink with thermal compound, or replace with a 40010.
- Tape will not load anything — main belt (part 170204) stretched, perished, or liquefied. Replace.
- Tape loads intermittently — pinch roller (part 809162) hardened, or capstan dirty. Replace pinch roller and clean capstan.
- Tape loads but with random read errors — head needs cleaning, then azimuth alignment (see Amstrad CPC 464 Maintenance Guide).
- Whole row of keyboard dead — ribbon at CP002 seated badly, or membrane track broken. Reseat first.
- Single key dead — carbon pill on rubber dome or membrane pad dirty. Clean with IPA.
- Volume control noisy — VR301 needs cleaning with switch cleaner spray, or replacement.
- Speaker quieter on one side — one of C309/C311/C314 has gone open or developed high ESR. Recap.
- System unit dies if jostled — aged solder joint, usually at one of the edge connectors (printer or expansion) or at the DC jack J104. Reflow.
- Display works but no Ready prompt — OS ROM IC103 unseated (Rev 1/2 with sockets) or corrupted. Reseat or replace with a verified 40009 EPROM equivalent.
No-Display Diagnostic Procedure
[edit | edit source]If the system shows no signs of life when the monitor is connected and powered:
- Verify the monitor is good by connecting a known-good CPC to the same monitor. If the monitor also fails to display the known-good CPC's boot screen, the fault is in the monitor.
- Verify 5 V DC at J104 with a multimeter. Out of range → monitor PSU or third-party PSU fault.
- Verify the monitor cable carrying R / G / B / Sync / Lum at J101: pin 1 = Red, pin 2 = Green, pin 3 = Blue, pin 4 = Sync, pin 5 = GND, pin 6 = Lum.
- Power the system on. Probe the 16 MHz crystal (X101) with an oscilloscope — should see a 16 MHz sine wave at the appropriate level.
- Probe the Gate Array IC116 pin 1 (PHI clock to the rest of the system) — should see a 4 MHz square wave.
- Probe the Z80A IC111 pin 6 (CLK input) — should match the GA output.
- Probe the CRTC IC108 pin 40 (HSYNC) — should see a 15.625 kHz pulse.
- If all clocks are present but no display, suspect the OS ROM IC103 (bad data being fetched by the Z80) or the RAM (data corruption on first instruction fetch).
- If the system is fully dead and the GA clocks are absent, the GA itself is suspect.
Related Pages
[edit | edit source]- Amstrad CPC 464
- Amstrad CPC 464 Maintenance Guide
- Amstrad CPC 464 Capacitor Replacement Guide
- Amstrad CPC 664 / Amstrad CPC 6128
- Capacitor Failure Symptoms
References
[edit | edit source]- Amstrad CPC464 Service Manual (1985, Amstrad Consumer Electronics). Source for the Basic Hardware Analysis flowchart, the Cassette & Software Analysis flowchart, the cassette azimuth alignment procedure (IC302 pin 7, 330–520 mV), and the electrical parts list.
- Amstrad CPC 464 hardware documentation, Grimware. Source for the connector pinouts (printer / expansion / monitor / joystick / audio / DC), the boot screen text, the firmware part numbers (40009 / 40037 / 40050), and the four motherboard revisions.
- CPC hardware revisions, CPCWiki / cpctech.org.uk. Source for the per-revision IC list and the GA variant matrix.
- CRTC, CPCWiki. Source for the five CRTC types (Type 0 HD6845SP through Type 4 ASIC).
- Schematics, CPCWiki. Source for the redrawn CPC 464 schematic (464SchematicRedraw_white.pdf).