Jump to content

Amstrad CPC 464 Troubleshooting Guide

From RetroTechCollection

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:

  1. +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.
  2. The Gate Array initialises the 6845 CRTC (IC108, HD6845SP) and the 8255 PIO (IC107, M5L8255AP-5).
  3. 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).
  4. The Z80 reads from IC103 (32 KB mask ROM containing OS + Locomotive BASIC 1.0) starting at address 0000h.
  5. 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"
  6. 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]
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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]
  1. 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.
  2. If the speaker output is dead but the 3.5 mm audio jack J103 works: suspect VR301 or the speaker driver IC301.
  3. If both speaker and J103 are dead: suspect AY-3-8912 sound chip IC102 (General Instrument) on the main PCB.
  4. 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:

  1. Check connections to tape deck — reseat the sub-PCB ribbon at CP001 on the main PCB.
  2. Clean tape head — IPA on foam swab.
  3. 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.
  4. 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.
  5. 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).
  6. 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]
  1. Verify CP002 keyboard ribbon is firmly seated.
  2. Inspect the keyboard contact PCB (parts 170028/170029) for cracks, liquid spillage or distortion.
  3. 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.
  4. 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.
  5. 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:

  1. 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).
  2. 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.
  3. Reseat the suspected chip if socketed. If still bad, swap with a known-good 4164 (refurbished from another CPC, or new old-stock).
  4. 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:

  1. 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.
  2. Verify 5 V DC at J104 with a multimeter. Out of range → monitor PSU or third-party PSU fault.
  3. 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.
  4. Power the system on. Probe the 16 MHz crystal (X101) with an oscilloscope — should see a 16 MHz sine wave at the appropriate level.
  5. Probe the Gate Array IC116 pin 1 (PHI clock to the rest of the system) — should see a 4 MHz square wave.
  6. Probe the Z80A IC111 pin 6 (CLK input) — should match the GA output.
  7. Probe the CRTC IC108 pin 40 (HSYNC) — should see a 15.625 kHz pulse.
  8. 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).
  9. If the system is fully dead and the GA clocks are absent, the GA itself is suspect.
[edit | edit source]

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).