Architecture & Technical Specification Card
System clock division, Gate Array wait-state memory contention, video Modes 0/1/2, 27-colour ternary RGB ladder, and AY-3-8912 PSG audio/I/O architecture.
CPU, Clocks & Wait-State Contention
| Subsystem | Technical Specification |
|---|---|
| Microprocessor | Zilog Z80A (IC101) 8-bit NMOS/CMOS CPU in DIP-40 package |
| Master Crystal | 16.000 MHz fundamental quartz crystal (X101 across Gate Array Pins 1 & 2) |
| CPU Clock (Φ) | 4.00 MHz nominal (Gate Array Pin 4 → Z80A Pin 6) |
| Effective CPU Speed | ~3.30 MHz effective (every memory cycle is rounded to a 1 μs boundary via Gate Array Pin 31 READY → Z80A Pin 24 /WAIT) |
| CRTC & PSG Clock | 1.00 MHz CCLK (Gate Array Pin 20 → 6845 CRTC Pin 21 & AY-3-8912 Pin 15) |
Raster Interrupt (/INT) |
300 Hz (6 interrupts per 50 Hz frame; Gate Array divides 6845 HSYNC by 52 scanlines on Pin 32 → Z80A Pin 16) |
| System RAM | 64 KB DRAM ($0000–$FFFF): 8× 4164 (64K×1) or 2× 41464 (64K×4) multiplexed via 74LS153 & isolated by 74LS244 |
| System & BASIC ROM | 32 KB Mask ROM (IC103 Part 40009 / 27C256): 16 KB Lower OS ($0000–$3FFF) + 16 KB Upper Locomotive BASIC 1.0 ($C000–$FFFF) |
How Zero-Snow Contention Works: In every 1 μs (4 T-state) window, the Gate Array allocates 2 DRAM reads to the 6845 CRTC video shift register and 1 DRAM cycle to the Z80A, asserting READY (/WAIT) for 1 T-state so all Z80 instruction timings become exact multiples of 1 μs (4 NOP cycles).
Gate Array Video Modes & 27-Colour Palette
| Screen Mode | Resolution (Pixels) | Text Grid | Max Colours | Bits / Pixel & VRAM |
|---|---|---|---|---|
| Mode 0 | 160 × 200 | 20 × 25 chars | 16 pens (from 27) | 4 bpp • 16 KB ($C000–$FFFF) |
| Mode 1 (Default) | 320 × 200 | 40 × 25 chars | 4 pens (from 27) | 2 bpp • 16 KB ($C000–$FFFF) |
| Mode 2 | 640 × 200 | 80 × 25 chars | 2 pens (from 27) | 1 bpp • 16 KB ($C000–$FFFF) |
- 27-Colour Ternary RGB DAC: Gate Array (40007/40010) Pins 5 (
/RED), 6 (/GREEN), and 8 (/BLUE) are 3-state outputs: Driven LOW = 0% intensity, High-Z (floating into external resistor divider) = 50% intensity, Driven HIGH = 100% intensity (33 = 27 hardware colours + 1 dedicated Border register). - Green-Screen Luminance Mixing: For the GT64/GT65 monochrome monitor (6-Pin DIN Pin 6
LUM), precision resistors weight Green (~60%), Red (~30%), and Blue (~10%) into 27 distinct green-phosphor brightness steps!
AY-3-8912 PSG Sound & 8255 PPI System I/O Port Map
AY-3-8912A Audio & Matrix Specifications
- Chip & Clock: General Instrument AY-3-8912A (DIP-28, IC102) clocked at 1.00 MHz (Pin 15) from the Gate Array.
- 3 Tone + Noise + Envelope Channels: Three 12-bit square-wave tone generators (30.5 Hz to 62.5 kHz), one 5-bit pseudo-random noise generator, and one 16-shape hardware envelope generator with 4-bit logarithmic DACs per channel.
- Hard-Panned Stereo Stage: Pin 5 (Channel A) feeds Left audio, Pin 1 (Channel C) feeds Right audio, and Pin 4 (Channel B) is resistor-mixed equally into both Left and Right on the side 3.5 mm Stereo Jack, while all 3 channels sum into the internal speaker amplifier (IC302 LA4140 / TDA2822).
- 8-Bit I/O Port A (Pins 7–14): Reads the 8 return lines (
IOA0–IOA7) of the 10×8 keyboard matrix and DB9 Joystick Port (Row 9 for Joy 0, Row 6 for Joy 1).
Z80 Partial I/O Port Decoding (Active-Low Address Bits)
| Z80 I/O Address | Decoded A15–A8 Bit | Target IC & Function |
|---|---|---|
#7Fxx | A15=0, A14=1 | Gate Array (IC105): Pen Select, Colour Palette, Mode 0/1/2 & ROM Enable |
#BCxx–#BFxx | A14=0 (A9/A8 reg) | 6845 CRTC (IC104): Register Select (#BC00), Write (#BD00), Status (#BE00) |
#DFxx | A13=0 | Upper ROM Bank Select Latch (50-Pin Expansion: ROM 0 = BASIC, ROM 7 = AMSDOS) |
#EFxx | A12=0 | 74LS273 Latch (IC108): 34-Pin Printer Port D0–D6 + Bit 7 /STROBE |
#F4xx–#F7xx | A11=0 (A9/A8 reg) | 8255 PPI (IC106): Port A (AY Bus), Port B (VSYNC/Tape Read/LK1–4), Port C (Kbd Row/Tape Write/Motor/AY BDIR+BC1) |
#FA7E / #FB7E | A10=0, A8=0, A7=0 | External NEC uPD765A FDC (DDI-1 Floppy Interface Motor & Status/Data) |
Mainboard Identification Guide & CRTC Variants
Identify Issue 1 (PT NO. MC0001A Long-Board) vs. Issue 2 (MC0002A Short-Board) vs. Late Cost-Down ASIC (MC0044A) revisions, capacitor layout shifts, and CRTC Types 0–4.
Amstrad CPC 464 Mainboard Generations At a Glance
| Board Generation | PCB Part Number | Years | Gate Array / ULA | DRAM Configuration | Capacitor Layout & Physical Clues |
|---|---|---|---|---|---|
| Issue 1 (Type 1 Long-Board) | PT NO. MC0001A – MC0001F (PT1968) |
1984–1986 | Amstrad 40007 (DIP-40, runs hot; clip-on heatsink) | 8× 4164 (64K×1 DIP-16, IC111–IC118) + 2× 74LS153 (IC109–IC110) | Full-width 38 cm PCB spanning under both keyboard and Datacorder. Electrolytics split into two distinct zones: left-hand logic/reset section (C101–C115) and right-hand Datacorder/audio amp section (C301–C316). Tall profile keycaps. |
| Issue 2 (Type 2 Short-Board) | PT NO. MC0002A – MC0002D / MC0022 |
1986–1988 | Amstrad 40010 (CMOS DIP-40 or PLCC-44, runs cool) | 8× 4164 (DIP-16) or 2× 41464 (64K×4 DIP-18 on late rev) | Half-width ~20 cm PCB under left side of keyboard; Datacorder preamp caps shifted tightly alongside the right PCB edge next to CN301/CN302 tape headers. Lower-profile keycaps. |
| Issue 3 (Late Cost-Down ASIC) | PT NO. MC0044A / MC0053 |
1988–1990 | Amstrad 40226 / 40489 (100/160-pin QFP SMD ASIC) | 2× 41464 (64K×4 DIP-18) | Ultra-compact PCB integrating Gate Array, 6845 CRTC (Type 4/3), and 8255 PPI into one SMD QFP ASIC. Miniature 5 mm pitch radial electrolytics clustered around the TDA2822M audio amp. |
Issue 1 Long-Board (Type 1) 1984–1986 • PT1968 / PT NO. MC0001A–F
The original full-width double-sided fibreglass PCB spanning the entire length of the CPC 464 casing beneath the keyboard and Datacorder. Uses the original Ferranti/Amstrad 40007 Gate Array (with clip-on metal heatsink on early units), separate 32 KB OS/BASIC ROM (IC103), and standard 40-pin DIP socketed or through-hole major ICs. Highly prized by collectors and repair engineers for easy probing and tall mechanical-plunger keycaps.
Key ICs & Designators (PT NO. MC0001A)
- IC101 (CPU): Zilog / NEC Z80A @ 4.00 MHz (effective ~3.3 MHz due to Gate Array WAIT states)
- IC102 (PSG): GI AY-3-8912A (DIP-28) — 3-channel audio + keyboard/joystick row scanner
- IC103 (ROM): 32 KB Mask ROM (40009 / 27C256) — 16 KB OS at
$0000+ 16 KB Locomotive BASIC 1.0 at$C000 - IC104 (CRTC): Hitachi HD6845S (Type 0) or UMC UM6845R (Type 1)
- IC105 (Gate Array): Amstrad 40007 (DIP-40) — video modes 0/1/2, 27-colour palette, memory banking & clocks
- IC106 (PPI): Intel / NEC 8255AC-5 (DIP-40) — AY control, cassette I/O, keyboard matrix, VSYNC read
- IC107 (Buffer): 74LS244 (DIP-20) — Octal tri-state buffer isolating Z80 data bus from DRAM during video fetches
- IC108 (Printer): 74LS273 (DIP-20) — 7-bit Centronics Printer Port data latch + bit 7
/STROBE - IC109 & IC110 (Mux): 2× 74LS153 (DIP-16) — Dual 4-to-1 DRAM row/column/video address multiplexers
- IC111–IC118 (RAM): 8× 4164 (64K×1, +5 V single-rail DIP-16) DRAMs (D0 to D7)
- IC301 (Tape Op-Amp): LM358 / LA6358 (DIP-8) — Dual op-amp Datacorder read head preamplifier & Schmitt wave shaper
MC0001A Board Layout & Jumper Links (LK1–LK4)
| Board Feature | Location / Spec | Bench Notes |
|---|---|---|
| Brand Links (LK1–LK3) | Connected to 8255 PPI PB1–PB3 | Selects boot distributor name on power-up: Amstrad (default all open), Orion, Schneider, Awa, Solavox, Saisho, Triumph, Isp. |
| Refresh Rate Link (LK4) | Connected to 8255 PPI PB4 | Open = 50 Hz PAL (European default); Closed to GND = 60 Hz NTSC field rate. |
| Audio & Tape Sub-Section | Right-hand third of PCB (IC301/IC302, C301–C316) | Physically sits underneath the Datacorder mechanism. Contains the mechanical record/play slider switch (SW301) and reed/box motor relay (RL1). |
Keyboard Variants on Issue 1 Long-Boards: Very early 1984 MC0001A production units feature a hard gold-plated PCB under the tall keyswitches; mid-1984 onwards switched to a twin-tail flexible Mylar membrane.
Issue 2 Short-Board & Issue 3 ASIC 1986–1990 • MC0002A / MC0022 / MC0044A
To cut manufacturing costs from 1986 onwards, Amstrad shrank the CPC 464 motherboard to half-width (PT NO. MC0002A), upgraded the Gate Array to the cooler CMOS 40010 (40-pin DIP or 44-pin PLCC), and shifted all Datacorder preamp components onto the main logic board's right edge. Final 1988–1990 MC0044A boards condensed the Gate Array, CRTC, and PPI into a single surface-mount QFP ASIC.
Key Architectural & Capacitor Shifts
- Gate Array: Amstrad 40010 (DIP-40 or PLCC-44 CMOS) — runs significantly cooler than the NMOS/bipolar 40007
- CRTC: Usually Motorola MC6845P (Type 2) or UMC UM6845R (Type 1)
- RAM: 8× 4164 (DIP-16) on MC0002A; condensed to 2× 41464 (64K×4, DIP-18) on late Issue 2/3 boards
- Capacitor Layout Shift: Because the right half of the PCB was eliminated, the Datacorder preamp electrolytics (
C301–C312) and audio output coupling capacitors were packed into a dense vertical strip along the right-hand board edge beside the 5-pin tape head connector. - Late Issue 3 ASIC (MC0044A): Combines Gate Array, CRTC, and 8255 PPI into a single 100-pin QFP surface-mount ASIC (Amstrad 40226 / 40489 — CRTC Type 4/3).
Issue 1 Long-Board vs. Issue 2/3 Short-Board Service Notes
| Feature | Issue 1 (MC0001A) | Issue 2/3 (MC0002A / MC0044A) |
|---|---|---|
| PCB Footprint | Full case width (~380 mm) | Compact square PCB (~200 mm) |
| Gate Array IC | 40007 (runs warm/hot) | 40010 (runs cool) or QFP ASIC |
| RAM Population | 8× 4164 (64K×1) | 8× 4164 or 2× 41464 (64K×4) |
| Audio Amplifier IC | Sanyo LA4140 (SIP-9) | SGS/ST TDA2822 / TDA2822M (DIP-8) |
| Serviceability | Spacious trace routing; sturdy pads | Tightly packed tracks; delicate copper vias |
Desoldering Caution on Short-Boards: The copper barrels on MC0002A and MC0044A PCBs lift easily if overheated above 330 °C. Always use temperature-controlled vacuum desoldering when socketing 4164 DRAMs or 74LS153 multiplexers.
6845 CRTC Variants (Type 0 – Type 4) Demo & Game Compatibility Reference
Although all five CRTC variants used by Amstrad implement the Motorola 6845 CRT Controller standard, their internal register readability, status register presence, horizontal sync width handling, and vertical rupture/split-screen behaviour differ. Demoscene productions and overscan games categorize them as CRTC Types 0 through 4:
| CRTC Type | Manufacturer & Part Number | Status Reg? | Hardware Behaviour & Compatibility Notes |
|---|---|---|---|
| Type 0 | Hitachi HD6845S / UM6845 | No | The demoscene gold standard. Supports full programmable HSYNC/VSYNC widths, interlace, and vertical rupture effects. ~99% compatibility with all CPC games and demos. |
| Type 1 | UMC UM6845R | Yes (Read $BE00) |
Very close to Type 0. Has a readable status register at port #BE00 and requires register R31 dummy access tricks in a few demos. Excellent all-round compatibility (~98%). |
| Type 2 | Motorola MC6845P / UM6845S | No | Original Motorola design. Does not allow changing HSYNC pulse width dynamically and rejects mid-line vertical split tricks. Classic 1980s games work 100%, but many modern overscan demos glitch or roll. |
| Type 3 | Amstrad ASIC (40489 — 464 Plus / GX4000) | Emulated | Integrated inside the Plus-series 160-pin ASIC. Emulates a hybrid of Type 0/1 with hardware sprites and DMA audio. |
| Type 4 | Amstrad Cost-Reduced ASIC (40226 — late 464/6128) | Emulated | Pre-Plus cost-down ASIC found in final 1988–1990 CPC 464s (MC0044A). Similar register behaviour to Type 3 without Plus features. |
Upgrade Tip: On any socketed Issue 1 or Issue 2 CPC 464 board with a discrete 40-pin DIP CRTC, you can unplug a Motorola MC6845P (Type 2) and drop a Hitachi HD6845S (Type 0) straight into the socket with zero board modifications!
Bench Diagnostic Decision Flowchart
Select a fault symptom below or follow the step-by-step decision trees for Black Screen, Solid Yellow/Blue Screen (no border), 74LS153 / 4164 RAM failures, and Datacorder tape faults.
1. Black Screen / Out-of-Sync Raster Decision Tree
Symptom: Power LED illuminates, but monitor shows a completely black screen or rolling unsynchronised raster via the 6-Pin DIN Monitor Port.
- Measure +5 V AFTER Power Switch SW1: Probe 6845 CRTC Pin 20 or Z80A Pin 11 relative to GND. Must read 4.85–5.15 V DC. Dirty switch SW1 often drops the internal rail below 4.3 V while the power LED still glows!
- Check 16 MHz Crystal & Gate Array (40007/40010) Clocks:
- Gate Array Pins 1 & 2 (XTAL): Verify 16.000 MHz oscillation.
- Gate Array Pin 4 (
PHI) → Z80A Pin 6: Must show a clean 4.00 MHz TTL clock. - Gate Array Pin 20 (
CCLK) → 6845 CRTC Pin 21: Must show a 1.00 MHz character clock. If 16 MHz is present but 4 MHz/1 MHz are dead, the Gate Array (IC105) has failed.
- Check Z80A CPU Control Lines:
- Pin 26 (
/RESET): Must pulse low (0 V) for ~50 ms at power-on, then sit at +5 V (if stuck low, check reset capacitorC10710–22 μF). - Pin 24 (
/WAIT): Driven by Gate Array Pin 31 (READY). Must show a 1 MHz pulse train — if stuck low, CPU is halted. - Pin 16 (
/INT) & Pin 17 (/NMI): Verify neither interrupt line is shorted low; check Pin 27 (/M1) for opcode fetch activity.
- Pin 26 (
- Check IC103 ROM & 6845 CRTC Sync Outputs: Remember that the 6845 CRTC has no default power-on timing! It only outputs 15.625 kHz HSYNC (Pin 39) and 50 Hz VSYNC (Pin 40) after the Z80 reads the initialization table from IC103 System ROM. If Pin 39/40 have no sync, test with an external Lower-ROM DiagROM cartridge on the 50-Pin Expansion Port.
2. Solid Yellow or Solid Blue Screen (No Border) Tree
Symptom: Monitor locks onto valid 50 Hz sync, but displays a completely solid yellow, solid royal blue, or cyan screen with no distinct border and no Amstrad 64K Microcomputer text.
- What a Solid Colour Screen Tells You: Valid sync proves that your Z80A executed the first ~30 instructions out of IC103 Lower OS ROM to program the 6845 CRTC registers and Gate Array palette, and then crashed the instant it attempted to use RAM (stack
CALL/RETor clearing VRAM at$C000–$FFFF)! - Solid Yellow Screen (Full Screen Pen 1):
- Check 74LS153 Multiplexers (IC109 & IC110): If Pin 2 (Select B =
/CPU) or Pin 14 (Select A =/CASAD) is stuck, or if an output (Pins 7/9) is dead, the CPU cannot read/write the stack and VRAM reads all$FF(Yellow Pen 1 across every pixel!). - Check 74LS244 Data Buffer (IC107): Isolates the Z80 data bus from DRAM during video fetches (enabled by Gate Array Pin 24
/244E). If IC107 fails open/shorted, the Z80 reads$FF(RST 38hcrash loop) from RAM.
- Check 74LS153 Multiplexers (IC109 & IC110): If Pin 2 (Select B =
- Solid Blue Screen (No Yellow Text):
- The OS cleared VRAM
$C000–$FFFFto$00(Blue Paper 0) and set the border to Blue, then hung before printing the startup banner — or Upper BASIC ROM selection failed. - Probe IC103 System ROM Pin 27 (
A14): When the OS attempts to initialize Upper ROM 0 (Locomotive BASIC at$C000), Pin 27 must toggle HIGH. If the upper 16 KB half of IC103 has bit-rot, the system hangs on a blank blue screen! - Also check 8255 PPI (IC106) Pin 18 (
PB0=VSYNCinput): if the OS waits for a VSYNC transition that never arrives at PB0, boot stalls on a blue screen.
- The OS cleared VRAM
Symptom: Blue border appears with vertical pixel stripes, corrupted ASCII characters, wrong byte count, or crash before Ready.
First distinguish between an address multiplexer fault (74LS153 IC109/IC110) — which duplicates whole character rows or mirrors 16K/32K screen bands — and a single-bit 4164 DRAM failure (IC111–IC118):
| Data Bit | MC0001A IC | Symptom When 4164 Chip Is Stuck High / Low |
|---|---|---|
| Bit 0 (D0) | IC111 (4164) | Vertical pixel stripes every 8th column in Mode 1/2; ASCII bit 0 flipped (A → @, R → S) |
| Bit 1 (D1) | IC112 (4164) | Every 2nd character bit corrupted (A → C); repeating vertical bars |
| Bit 2 (D2) | IC113 (4164) | Character bit 2 corrupted (A → E); often crashes while clearing screen |
| Bit 3 (D3) | IC114 (4164) | Character bit 3 corrupted (A → I); periodic pixel blocks across screen |
| Bit 4 (D4) | IC115 (4164) | Mode 1 colour plane 1 corrupted (wrong pen colours on vertical stripes) |
| Bit 5 (D5) | IC116 (4164) | Lowercase/uppercase bit flipped (A → a) |
| Bit 6 (D6) | IC117 (4164) | Letters turn into punctuation/numbers; OS workspace corruption causes instant reboot loop |
| Bit 7 (D7) | IC118 (4164) | Leftmost pixel of every byte stuck on (solid vertical yellow lines down the entire screen) |
Scope & Thermal Check: Verify +5.0 V on 4164 Pin 8 (VCC) and 0 V on Pin 16 (GND), plus active-low strobes on Pin 4 (/RAS) and Pin 15 (/CAS). Micron MT4264 and TI TMS4164 chips frequently short internally — feel IC111–IC118 after 60 seconds of power!
Symptom: Tape fails with Read Error a / Read Error b, motor won't spin, internal speaker is silent, or keyboard/joystick rows are dead.
Read Error a(No Pilot Tone / Header Detected): Check if the cassette spindle actually turns (perished 71–72 mm main belt). If the tape turns, clean the oxidised PCB record/playback slide switch (SW301) with DeoxIT and scope IC301 (LM358 / LA6358) Pin 7 output → 8255 PPI Pin 25 (PB7) for clean 0–5 V squared data pulses via the Datacorder / 5-Pin DIN Tape circuit.Read Error b(Block Checksum / Baud Rate Dropout): Caused by azimuth misalignment on high-speed 2000-baud turbo blocks, a stretched belt causing wow/flutter at the end of a tape side, a magnetized/dirty head, or dried-out preamp capacitors (C302,C304,C305).- Datacorder Motor Dead When Pressing PLAY:
Listen for the mechanical click of reed relay
RL1(driven by 8255 PPI Pin 13PC4). If RL1 clicks but the motor stays dead, check the PLAY key leaf switch and motor pass transistorTR303. - Silent Internal Speaker (The 3.5 mm Stereo Jack Trap):
Plug headphones into the side 3.5 mm STEREO socket and type
SOUND 1,200,100,15. If headphones work, your AY-3-8912 is healthy and the 3.5 mm jack's internal break-contact leaf switch is stuck open! - Keyboard / DB9 Joystick Dead: Because the keyboard and joystick connect to AY-3-8912 Port A (Pins 7–14) accessed through 8255 PPI Port A, "dead keyboard + dead sound" points to the 8255 PPI, whereas stuck individual keys/directions point to ESD damage on AY-3-8912 Pins 7–14.
Built-in Tape Deck (Datacorder) Service & Azimuth Guide
Mechanical restoration for the CPC 464 Datacorder: drive belt sizes, head cleaning, live azimuth calibration, and tape audio signal path.
1 Drive Belt Size & Replacement
If pressing PLAY produces a motor whirr with no spindle movement — or if tapes load fine at the start of a side and fail with Read Error b near the end — the main rubber drive belt has stretched.
| Belt Location | Dimensions (Diameter × Cross-Section) | Folded Length |
|---|---|---|
| Main Capstan Flywheel Belt | ~71–72 mm Ø × 1.2 mm square | ~112 mm flat |
| Tape Counter Belt | ~50–52 mm Ø × 1.0 mm square | ~78–80 mm flat |
- Unplug the 5-pin/2-pin Datacorder wire harness from the motherboard and remove the 4 screws securing the deck to the top shell.
- Unscrew the metal rear fly-plate bracket (2 screws) bridging the zinc capstan flywheel bearing — take care not to lose the tiny nylon thrust washer on the capstan shaft!
- Clean all old perished black rubber residue from the brass motor pulley and flywheel rim using cotton buds soaked in 99% IPA before fitting the new belt.
2 Tape Head Cleaning & Azimuth Alignment
The CPC 464 uses high-speed 1000/2000 baud turbo loaders that require crisp high-frequency treble response from the tape head into the LM358 (IC301) preamp.
- Clean Head & Pinch Roller first: Scrub the silver read/write head face and capstan shaft with 99% Isopropyl Alcohol until mirror-bright. Clean the rubber pinch roller with warm soapy water or rubber rejuvenator (avoid soaking rubber in acetone/IPA, which hardens it).
- Locate the Azimuth Access Hole: Look just below the cassette keys (above the numeric keypad
7/8keys) for the tiny pin-hole in the plastic deck trim. Inside sits the spring-loaded azimuth adjustment screw on the left side of the tape head. - Live Audio Alignment Method:
- Insert a known-good commercial cassette (not a home recording), type
|TAPEthenRUN", and press PLAY. - Turn up the CPC's side volume thumbwheel so you can hear the pilot tone and data blocks through the internal speaker.
- Using a non-magnetic jeweller's flathead screwdriver, gently rock the azimuth screw ±1/4 turn clockwise/anticlockwise until the data screech sounds at its brightest, loudest, and most crisp treble pitch.
- Seal the screw head with a tiny dab of nail varnish once locked in.
- Insert a known-good commercial cassette (not a home recording), type
3 Leaf Switches, Relay & External Audio Hack
- Motor Control Relay (RL1): When you press PLAY in BASIC, you must hear a sharp mechanical click from the onboard reed/box relay on the motherboard (controlled by 8255 PPI Pin 13
PC4), supplying power to the cassette motor. If the relay clicks but the motor stays dead, check the leaf switch under the PLAY key and transistorTR303(motor regulator circuit). - Write-Protect Sense Lever: At the back-left of the cassette well sits a plastic feeler finger linked to a mechanical interlock. If the lever is gummed up with old grease, the red REC key will refuse to depress even with a tabbed blank tape inserted.
- Record/Playback Slide Bar (SW301): On boards with an onboard long slide switch linked to the REC key, oxidised contacts inside the slider cause massive hum or zero signal in PLAY mode. Spray DeoxIT D5 into the slider and actuate REC+PLAY 30 times.
- External 3.5 mm TZXDuino / TapDancer Hack: Want to load
.CDT/.TZXfiles from a smartphone or TZXDuino without opening the case? Simply insert a car cassette-to-3.5 mm tape adapter straight into the Datacorder well, or wire an external 5-Pin DIN / 3.5 mm Cassette Jack!
Recap BOM & Electrolytic Capacitor Location Table
Complete electrolytic capacitor reference for Amstrad CPC 464 mainboards (PT NO. MC0001A Long-Board & MC0002A Short-Board) with circuit functions and Low-ESR 105 °C replacement recommendations. See also our Interactive Recap & Repair Reference.
| Cap Ref | Value | Original Voltage | Board Circuit & Failure Symptom | Recommended Low-ESR Replacement |
|---|---|---|---|---|
| C101 | 47 μF | 16 V Radial | +5 V DC Input Bulk Decoupling (after power switch SW1). Smooths transient current spikes when 4164 DRAMs refresh. | 47 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon PW, 5 mm Ø) |
| C102 | 10 μF | 16 V Radial | Logic Rail Decoupling near Gate Array (IC105) & 16 MHz crystal oscillator. | 10 μF 25 V or 50 V 105 °C Low-ESR (Panasonic FC / Rubycon YXF) |
| C107 | 10 μF (or 22 μF) | 16 V Radial | Z80A Power-On /RESET RC Timing Capacitor. Symptom when dry: Machine boots to garbage or solid screen on first cold switch-on, then boots fine if quickly switched off/on. |
10 μF (or 22 μF to match board) 25 V 105 °C Low-Leakage Nichicon KL / PW |
| C112 | 47 μF | 16 V Radial | DRAM Bank +5 V Rail Reservoir next to IC111–IC118 (4164 DRAMs) and IC109/IC110 (74LS153). | 47 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon HE) |
| C301 | 100 μF | 10 V / 16 V | Datacorder Motor Regulator Filter (around TR303 & relay RL1). Smooths motor brush noise so it doesn't bleed into the +5 V logic rail. |
100 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon PW) |
| C302 | 1 μF | 50 V Radial | Datacorder Read Head AC Coupling into IC301 (LM358 / LA6358) Stage 1. Symptom when leaky: Weak signal & Read Error a / Read Error b. |
1 μF 50 V WIMA MKS2 Polyester Film (never dries out!) or 1 μF 50 V Nichicon UKL |
| C303 | 10 μF | 16 V Radial | Datacorder Preamp Bias Reference Decoupling (sets half-rail DC bias for IC301 op-amp). | 10 μF 25 V 105 °C Low-ESR (Panasonic FC / Nichicon PW) |
| C304 | 4.7 μF | 25 V Radial | Preamp Inter-Stage Coupling between IC301 Amplifier and Schmitt Trigger stage (feeds 8255 PPI Pin 25 PB7). |
4.7 μF 50 V 105 °C Low-Leakage Nichicon UKL / Panasonic FC |
| C305 | 47 μF | 16 V Radial | Datacorder Preamp Supply Decoupling (isolates IC301 from digital clock noise). | 47 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon PW) |
| C306 | 10 μF | 16 V Radial | Record Head Bias / Write Filter (shapes 8255 PPI Pin 12 PC5 write pulses during SAVE). |
10 μF 25 V 105 °C (Panasonic FC / Nichicon PW) |
| C308 | 10 μF | 16 V Radial | AY-3-8912 (IC102) Left Stereo Channel DC Blocking to 3.5 mm Stereo Jack Tip. Symptom when dry: Quiet or tinny Left channel. | 10 μF 25 V Nichicon Fine Gold (UFG) / Panasonic FC |
| C309 | 10 μF | 16 V Radial | AY-3-8912 (IC102) Right Stereo Channel DC Blocking to 3.5 mm Stereo Jack Ring. Symptom when dry: Quiet or tinny Right channel. | 10 μF 25 V Nichicon Fine Gold (UFG) / Panasonic FC |
| C311 | 4.7 μF | 25 V Radial | Internal Audio Amp Input Coupling (from side volume thumbwheel VR301 into IC302 LA4140 / TDA2822). |
4.7 μF 50 V 105 °C Panasonic FC / Nichicon PW |
| C312 | 47 μF | 16 V Radial | Audio Amplifier Ripple Rejection / Feedback Bypass on IC302. |
47 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon PW) |
| C314 | 220 μF | 10 V / 16 V | Internal Loudspeaker Output Coupling Capacitor (in series with 8 Ω / 32 Ω internal speaker). Symptom when dry/shorted: Distorted, quiet, or humming speaker audio. | 220 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon PW, 6.3 mm Ø) |
| C315 | 220 μF | 10 V / 16 V | Audio Amplifier +5 V Rail Reservoir (prevents volume peaks from dipping the main +5 V logic rail). | 220 μF 25 V 105 °C Low-ESR (Panasonic FR / Nichicon PW) |
Bench Recap Tip: Because Issue 1 (MC0001A) and Issue 2 (MC0002A) boards vary slightly in silkscreen numbering between factories (Japan/Korea/Taiwan), always verify the capacitance value and negative stripe polarity marked on the PCB before removing each radial cap. Use our Resistor & Capacitor Decoder if checking ceramic bypass caps (e.g. 104 = 100 nF across every 4164 DRAM).
External Connector Pinouts & RGB SCART Wiring
Every external interface on the Amstrad CPC 464 — deep-linked directly to our interactive Connector Pinout Reference.
6-Pin DIN Monitor Output to RGB SCART / Upscaler DIN 45322 (240°)
The CPC 464 outputs pure 15.625 kHz 50 Hz analog RGB (with hardware 3-level ternary intensity mixed inside the computer by the 40007/40010 Gate Array) plus composite sync and monochrome luminance on its rear 6-pin DIN MONITOR socket. 5V/12V Pass-Through Note: Unlike the BBC Micro, the CPC's 6-pin DIN carries no DC voltage (the original CTM640/GT64 monitor supplied +5 V DC via a separate captive barrel cable, plus +12 V on the 664/6128), and carries no audio (audio comes from the side 3.5 mm Stereo Jack).
| DIN Pin | CPC 464 Signal | SCART Target Pin | Electrical Spec & Pass-Through Note |
|---|---|---|---|
| 1 | RED (~0.7 V p-p) | SCART Pin 15 | 3-state ternary Red from Gate Array Pin 5 (direct or 100 Ω series) |
| 2 | GREEN (~0.7 V p-p) | SCART Pin 11 | 3-state ternary Green from Gate Array Pin 6 (direct or 100 Ω series) |
| 3 | BLUE (~0.7 V p-p) | SCART Pin 7 | 3-state ternary Blue from Gate Array Pin 8 (direct or 100 Ω series) |
| 4 | /SYNC (Composite Sync) | SCART Pin 20 | From Gate Array Pin 7 — fit 330–470 Ω series resistor for 75 Ω sync |
| 5 | GND (0 V Return) | SCART Pins 4, 5, 9, 13, 17, 18, 21 | Common video & sync ground shield |
| 6 | LUM (Luminance) | Leave NC for RGB SCART | Weighted R+G+B+Sync for GT64/GT65 green screen (Warning: Pin 6 is +5V on BBC Micro!) |
SCART Pin 16 (+5V Pass-Through): Tap +5 V from an inline 2.1 mm DC barrel pass-through (or USB 5 V lead) through a 180 Ω resistor to SCART Pin 16 to force your TV into RGB mode.
5-Pin DIN Cassette In/Out & 3.5mm Stereo Audio Out DIN 41524 (180°) & TRS
The CPC 464 routes its AY-3-8912 PSG stereo output to the side-mounted 3.5 mm TRS Stereo Jack, while cassette read/write/motor signals (driven by 8255 PPI PB7, PC5, PC4 and LM358 IC301) follow the standard Amstrad 5-pin 180° DIN Cassette interface (internal header CN302 on CPC 464; external 5-pin DIN socket on CPC 664/6128 & TZXDuino mods).
| Pin / Contact | 5-Pin DIN Cassette Signal | 3.5mm TRS Stereo Jack | Electrical Spec & Target |
|---|---|---|---|
| Pin 1 / Tip | MIC OUT (Write to Tape) | LEFT AUDIO (Ch A + B) | DIN 1: ~10 mV from 8255 PC5 | TRS Tip → SCART Pin 6 (Left) |
| Pin 2 / Sleeve | GND (0 V Center Pin) | AUDIO GND (Sleeve) | Common 0 V ground return → SCART Pin 4 |
| Pin 3 / Ring | EAR IN (Read from Tape) | RIGHT AUDIO (Ch C + B) | DIN 3: 200 mV–2 Vpp to LM358 → 8255 PB7 | TRS Ring → SCART Pin 2 |
| Pin 4 | MOTOR RELAY A (REM) | Internal Speaker Cut-Off | Isolated reed relay RL1 Contact A (closed when 8255 PC4 = 1) |
| Pin 5 | MOTOR RELAY B (REM) | Internal Speaker Feed | Isolated reed relay RL1 Contact B (2.5 mm REM plug sleeve) |
Atari DB9 Joystick Port (CPC 2-Button & Dual Splitter) DE-9M • Matrix Row 9 & 6
The CPC 464's rear 9-pin D-Sub male (DB9 Joystick Port) is scanned as Keyboard Row 9 (Joystick 0) and Keyboard Row 6 (Joystick 1 via an Amstrad JY-2 Y-splitter) by the AY-3-8912 PSG (Pins 14–9, IOA0–IOA5)! Unlike a C64 or Atari, Pin 7 is Fire Button 1 (NOT +5 V!), giving the CPC native 2-button support.
| DB9 Pin | CPC 464 Signal | AY-3-8912 Port A Bit | Notes & JY-2 Splitter Mapping |
|---|---|---|---|
| 1 | UP | IOA0 (Pin 14) | Active-low switch to Pin 8 (Joy 0) or Pin 9 (Joy 1) |
| 2 | DOWN | IOA1 (Pin 13) | Active-low switch to Pin 8 (Joy 0) or Pin 9 (Joy 1) |
| 3 | LEFT | IOA2 (Pin 12) | Active-low switch to Pin 8 (Joy 0) or Pin 9 (Joy 1) |
| 4 | RIGHT | IOA3 (Pin 11) | Active-low switch to Pin 8 (Joy 0) or Pin 9 (Joy 1) |
| 5 | NC (Fire 3 optional) | — | Unconnected on stock CPC 464 |
| 6 | FIRE 2 (Primary Fire) | IOA4 (Pin 10) | Standard Atari/Kempston primary fire button |
| 7 | FIRE 1 (2nd Button!) | IOA5 (Pin 9) | Native 2nd Fire Button! (Warning: No +5 V on Pin 7!) |
| 8 | JOY 0 COMMON (Row 9) | 74LS145 Pin 11 | Keyboard Row 9 active-low strobe (Common for Joystick 1) |
| 9 | JOY 1 COMMON (Row 6) | 74LS145 Pin 7 | Keyboard Row 6 active-low strobe (Common for Joystick 2 on Y-splitter!) |
Centronics 36-Pin / 34-Way Edge Printer Port 7-Bit Centronics
Amstrad saved one flip-flop by implementing a 7-bit data bus (D0–D6) on the rear 34-way PCB edge printer connector (IC108 74LS273 octal latch at port #EFxx uses bit 7 for /STROBE!). Here is the direct mapping to a standard 36-pin Centronics printer plug:
| CPC 34-Pin Edge | Signal | 36-Pin Centronics Plug | Driver / Status IC |
|---|---|---|---|
| Top Pin 1 | /STROBE (Latch D7) | Centronics Pin 1 | IC108 (74LS273) Q7 output |
| Top Odd Pins 3–15 | DATA 0 – DATA 6 | Centronics Pins 2–8 | IC108 (74LS273) Q0–Q6 (7-bit ASCII) |
| Top Pin 17 | NC (No Data 7!) | Centronics Pin 9 (Tie to GND) | Ground Centronics Pin 9 so bit 7 stays 0 |
| Top Pin 21 | BUSY | Centronics Pin 11 | IC106 (8255 PPI) Port B Bit 6 (Pin 24) |
| Bottom Even Pins 2–34 | GND (0 V Return) | Centronics Pins 16, 19–30 | Signal return ground shield |
50-Pin Edge Connector Expansion Bus (DDI-1 / ROM Board Mapping) 2×25 Edge • 2.54mm Pitch
Full Z80A expansion bus on the rear-right of the motherboard (view interactive 50-pin diagram on Connector Pinout Reference). Viewed from the rear of the CPC 464, Odd pins (1–49) are on the Top (Component) side running right-to-left, and Even pins (2–50) are on the Bottom (Solder) side.
| Top Pin (Odd) | Signal | Bottom Pin (Even) | Signal | Top Pin (Odd) | Signal | Bottom Pin (Even) | Signal |
|---|---|---|---|---|---|---|---|
| 1 | SOUND (Mixed Audio I/O) | 2 | GND | 27 | D6 | 28 | /MREQ |
| 3 | A15 | 4 | A14 | 29 | D7 | 30 | /RFSH |
| 5 | A13 | 6 | A12 | 31 | /RD | 32 | /M1 |
| 7 | A11 | 8 | A10 | 33 | /WR | 34 | /IORQ |
| 9 | A9 | 10 | A8 | 35 | /HALT | 36 | Φ (4 MHz CPU Clock) |
| 11 | A7 | 12 | A6 | 37 | /INT (300 Hz) | 38 | /NMI |
| 13 | A5 | 14 | A4 | 39 | /BUSRQ | 40 | /BUSACK |
| 15 | A3 | 16 | A2 | 41 | /RESET (System Reset) | 42 | /READY (Z80 /WAIT) |
| 17 | A1 | 18 | A0 | 43 | /ROMEN (ROM Enable) | 44 | /ROMDIS (Disable Internal ROM) |
| 19 | D0 | 20 | D1 | 45 | /RAMRD (RAM Read) | 46 | /RAMDIS (Disable Internal RAM) |
| 21 | D2 | 22 | D3 | 47 | CURSOR (CRTC Pin 19) | 48 | LPEN (Lightpen Strobe) |
| 23 | D4 | 24 | D5 | 49 | GND | 50 | +5 V DC |
| 25 | — | 26 | — | Note: Keyway slot typically located between pins 39/40 and 41/42 (or pins 25/26). | |||
DDI-1 Floppy Interface & External ROM Box Mapping: Pulling Pin 44 (/ROMDIS) high (+5 V) disables the internal OS/BASIC ROM (IC103) so external devices like the Amstrad DDI-1 Disc Interface (which maps AMSDOS into Upper ROM 7 via port #DF00 and NEC uPD765A FDC at #FB7E), M4 Board, or Lower-ROM DiagROM cartridges drive the bus when Pin 43 (/ROMEN) goes active-low. Pulling Pin 46 (/RAMDIS) high overrides internal 64K DRAM for 512K dk'tronics RAM expansions.
Key IC Pinouts & EPROM Substitution Reference
Click any chip below to open its interactive pinout diagram and oscilloscope waveform guide in the IC Pinout Finder.
Zilog Z80A CPU
IC101 — 4.0 MHz Clock (Pin 6), /RESET (Pin 26), /M1 (Pin 27), /INT (Pin 16), /NMI (Pin 17), and /WAIT (Pin 24).
Amstrad 40007 / 40010 Gate Array
IC105 — 16 MHz divider, memory contention, Modes 0/1/2, 27-colour ternary RGB, and 300 Hz /INT generator.
Motorola / Hitachi 6845 CRTC
IC104 — HD6845S / UM6845R / MC6845P. Generates MA0–MA13, RA0–RA2, HSYNC (Pin 39), and VSYNC (Pin 40).
GI AY-3-8912A PSG
IC102 — 3-channel stereo sound (Pin 5=Ch A, Pin 4=Ch B, Pin 1=Ch C) & 8-bit Port A (Pins 7–14) keyboard/joystick scanner.
Open AY-3-8912 Pinout →Intel 8255A-5 PPI
IC106 — Bridges Z80 to AY-3-8912 (Port A), VSYNC & Cassette Read (Port B), Keyboard Row BCD, Motor & Printer (Port C).
Open 8255 Pinout →4164 64K×1 DRAM (×8)
IC111–IC118 — Single-rail +5 V (Pin 8 VCC, Pin 16 GND) 64K×1 dynamic RAM + 4116 triple-rail comparison.
Open 4164 Pinout →Locomotive BASIC / OS ROM (40009)
IC103 — 32 KB JEDEC DIP-28 mask ROM (16K OS + 16K BASIC 1.0) & direct 27128 / 27C256 / W27C512 EPROM equivalents.
Open 27256/ROM Pinout →74LS153 Dual 4-to-1 Mux
IC109 & IC110 — Multiplexes Z80 Row/Column and 6845 CRTC video addresses onto the 4164 DRAM address bus.
Open 74LS153 Pinout →74LS244 Bus Buffer
IC107 — Octal tri-state line driver isolating the Z80A data bus from DRAM during 6845 CRTC video fetches.
Open 74LS244 Pinout →LM358 / LA6358 Tape Preamp
IC301 — Dual single-supply op-amp amplifying and squaring Datacorder read head signals into 8255 PPI PB7.
Open LM358 Pinout →Amstrad Gate Array (40007 / 40010) Substitution Reference
The custom 40-pin Amstrad Gate Array (IC105 on long-boards) handles pixel serialisation (Modes 0, 1, 2), hardware 27-colour resistor palette output, 16 MHz clock division, and ROM/RAM banking.
| Part Number | Fitted To | Pinout Compatibility |
|---|---|---|
| Amstrad 40007 | CPC 464 Issue 1 Long-Board (MC0001A) & CPC 664 | Pin-identical to 40010! You can replace a dead/hot 40007 directly with a cooler 40010 in a 40-pin socket. |
| Amstrad 40010 | CPC 464 Issue 2 Short-Board (MC0002A) & CPC 6128 | Direct drop-in for 40007 on 40-pin DIP boards (also exists in 44-pin PLCC on compact revisions). |
| Modern FPGA / CPLD Replacements | All 40-pin DIP boards | Community open-source replacements (e.g., Gate Array 40010 FPGA drop-in) replicate 100% of original timing and run cool. |
OS + Locomotive BASIC ROM (IC103) EPROM Adapter Guide
Unlike the CPC 664, the CPC 464 combines both the 16 KB Lower OS ROM and the 16 KB Upper Locomotive BASIC 1.0 ROM into a single 32 KB 28-pin JEDEC mask ROM (Amstrad 40009) at IC103!
| Replacement Chip | Size | Drop-in Status & Programming Notes |
|---|---|---|
| 27C256 UV EPROM | 32 KB (DIP-28) | 100% Direct Drop-In! Concatenate the 16 KB OS ROM ($0000–$3FFF) followed by the 16 KB BASIC 1.0 (or DiagROM) image ($4000–$7FFF). |
| 27C512 / W27C512 EEPROM | 64 KB (DIP-28) | Dual-OS Switchable Upgrade! Program standard OS + BASIC 1.0 into lower 32 KB ($0000–$7FFF) and DiagROM into upper 32 KB ($8000–$FFFF). Lift Pin 1 (A15) and wire to a toggle switch (+5 V via 4.7 kΩ vs GND). |
| 27128 / 27C128 EPROM | 16 KB (DIP-28) | Direct drop-in for single 16 KB Upper ROM sockets (e.g. DDI-1 AMSDOS ROM or external ROMBox slots; tie Pin 27 /PGM to +5 V). |
Pin 27 (A14) Banking Note: On the CPC 464, the Gate Array drives IC103 Pin 27 (A14) low when reading the Lower OS ROM ($0000–$3FFF) and high when reading Upper ROM 0 ($C000–$FFFF). That is why a standard 27C256 works without cutting a single PCB track!
Amstrad CPC 464 Bench Repair FAQ
Quick-reference answers for common Amstrad CPC 464 fault symptoms and bench procedures.
Why does my Amstrad CPC 464 show a solid blue or solid yellow screen with no border?
A solid yellow or solid blue screen (with stable 50 Hz sync) means the 40007/40010 Gate Array and 6845 CRTC are alive, but the Z80A CPU crashed as soon as it tried to access the 64 KB DRAM stack or clear video RAM at $C000–$FFFF. Scope the two 74LS153 DRAM address multiplexers (IC109 & IC110), the 74LS244 bus buffer (IC107), and check the eight 4164 DRAMs (IC111–IC118) for a hot/shorted chip.
How do I replace the Datacorder belt on a CPC 464?
Unplug the 5-pin and 2-pin Datacorder harness leads from the PCB, remove the 4 deck mounting screws, and unscrew the 2 screws on the metal rear flywheel thrust bracket (keep the tiny nylon washer on the capstan shaft safe!). Clean perished rubber from the brass motor pulley and flywheel with 99% IPA, then fit a 71–72 mm Ø × 1.2 mm square main belt and a 50–52 mm Ø × 1.0 mm counter belt.
What power supply voltage and polarity does the Amstrad CPC 464 require?
Strictly regulated +5.0 V DC (±5%, 1.5–2.0 A min) on a 2.1 mm × 5.5 mm CENTRE-POSITIVE barrel plug. The CPC 464 has no internal 5 V regulator — connecting a 9 V/12 V brick or a centre-negative ZX Spectrum PSU destroys the Gate Array and RAM immediately.
Why is there no sound from the CPC 464 internal speaker?
Test with headphones in the side 3.5 mm STEREO jack using SOUND 1,200,100,15. If stereo headphones work, your AY-3-8912 PSG is healthy and the mechanical cut-off leaf switch inside the 3.5 mm jack is tarnished open — flush it with contact cleaner.
Resources & Cross-Linked Bench Tools
Interactive workbench utilities, sister Machine Hubs, and essential Amstrad CPC documentation.
Smiggy's Amstrad CPC Posts & Guides
- Amstrad CPC 6128 Machine Hub — 128K PAL banking, 3″ floppy drive & uPD765A FDC reference
- All Retro Computing Posts
- Posts tagged "Amstrad CPC"
- Posts tagged "CPC 464"
Interactive Bench Tools (CPC 464 Filtered)
- IC Pinout Finder (CPC 464 Chips) — Z80A, 40010, 6845, AY-3-8912, 8255, 4164, 27256 ROM, 74LS153
- Connector Pinout Reference (CPC 464 Ports) — 6-Pin DIN RGB, 5-Pin DIN Tape & Stereo Out, DB9 Joystick, 50-Pin Expansion, Centronics Printer
- Oscilloscope & Logic Analyzer Signal Visualizer
- Recap & Repair Reference & IC Substitution Guide
External CPC 464 Schematics & Archives
- CPCWiki — the definitive Amstrad CPC hardware & programming encyclopaedia
- CPCWiki Forums — active repair, hardware mod, and community forum
- CPC Tech — service manuals, MC0001A/MC0002A schematics, and Gate Array docs
- Amstrad Diagnostics (GitHub) — open-source CPC RAM, CRTC & keyboard test ROM