Amstrad CPC 464 Machine Hub
Complete CPC 464 workbench reference — +5 V PSU polarity alert, board & CRTC Type 0–4 selector, Datacorder mechanics, Gate Array/RAM diagnostics, 6-pin DIN RGB SCART wiring and expansion pinouts.
Power Supply Polarity & Voltage Alert — STRICT +5V DC REGULATED ONLY!
The Amstrad CPC 464 has NO internal 5 V voltage regulator — originally it drew regulated +5.0 V DC (at ~1.5–2.0 A) directly from the GT64 green-screen or CTM640 colour monitor via a 2.1 mm×5.5 mm barrel lead. Whatever voltage and polarity you plug into the CPC 464's rear 5V DC IN socket goes straight onto the VCC pins of the custom Amstrad Gate Array, Z80A, 8255 PPI, AY-3-8912, CRTC, and all eight 4164 DRAMs. Plugging in a 9 V/12 V brick or a reverse-polarity ZX Spectrum supply will destroy the irreplaceable Gate Array and RAM in milliseconds!
1 Polarity & Barrel Spec
| Parameter | CPC 464 Requirement |
|---|---|
| Voltage | +5.0 V DC Regulated (±5%: 4.75–5.25 V max) |
| Current | Minimum 1.5 A (2.0 A+ recommended with Datacorder motor running) |
| Barrel Plug | 2.1 mm inner × 5.5 mm outer DC barrel jack |
| Polarity | CENTRE-POSITIVE (Tip = +5 V, Outer Barrel = GND) |
Watch out for the ZX Spectrum / Guitar Pedal trap: A 9 V centre-negative ZX Spectrum PSU is both the wrong polarity AND nearly double the voltage! Conversely, if your bench has custom centre-negative adapters for Spectrums, label them clearly and measure with a DMM before every power-up.
2 Protect the Board (Crowbar / Diode Mod)
- Zero factory reverse-polarity protection on early boards: Directly after the power switch SW1, +5 V feeds the entire IC array and the internal 5 V-to-12 V tape motor boost circuit.
- Add a 1N5822 Schottky or Crowbar Fuse: Fitting a 2 A inline polyfuse plus a 5.6 V 5 W zener / TVS diode (1.5KE6.8A or SMBJ5.0A) across the DC input rails clamps accidental overvoltage or reverse-polarity events and blows the fuse before the Gate Array (IC40007/40010) dies.
- Dirty slide power switch (SW1): The side-mounted power slide switch oxidises heavily, dropping +5.0 V down to 4.2 V under load and causing random resets when pressing PLAY on the tape deck. Clean SW1 thoroughly with contact cleaner!
3 Modern PSU Replacement Options
- MeanWell RS-15-5 or GST25A05-P1J: Industrial 5.0 V 3–4 A regulated switching supply with built-in overvoltage protection (OVP).
- USB-C PD 5V Fixed Cable (with 2.1 mm Centre-Positive Tip): Make sure it is a 5 V-only non-negotiating trigger cable (never a 9 V/12 V/20 V PD trigger!).
- Note on CPC 6128 / 664: Unlike the 464, the CPC 664 and 6128 also require a separate +12 V DC supply line solely for the 3″ floppy disk drive motor. The 464 runs everything (including its cassette motor via an internal regulator) from the single +5 V input.
Motherboard Revisions & CRTC Chip Variants
Select your CPC 464 board generation or 6845 CRTC variant (Types 0–4) to inspect layout differences and software compatibility.
Early Long-Board (Type 1) 1984–1986 • PT1968 / 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 colour keycaps.
Key ICs & Designators (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 (28-pin DIP) — 3-channel audio + keyboard row scanner
- IC103 (ROM): 32 KB Mask ROM (40009 / 40013) — 16 KB OS at
$0000+ 16 KB Locomotive BASIC 1.0 at$C000 - IC104 (CRTC): Hitachi HD6845S (Type 0) or UM6845R (Type 1)
- IC105 (Gate Array): Amstrad 40007 (40-pin DIP) — video modes 0/1/2, 27-colour palette, memory banking & clocks
- IC106 (PPI): Intel / NEC 8255AC-5 (40-pin DIP) — AY control, cassette I/O, keyboard matrix, VSYNC read
- IC111–IC118 (RAM): 8× 4164 (64K×1, +5 V single-rail) DRAMs
Long-Board Electrolytic Capacitor & Service Notes
| Area | Typical Values | Function & Bench Notes |
|---|---|---|
| Audio Output & Amp | 10 μF, 47 μF, 220 μF (16 V) | Coupling caps around the internal speaker amp (LA4140 / TDA2822) and stereo 3.5 mm jack. Dry caps cause tinny or silent left/right channels. |
| Datacorder Preamp | 1 μF, 4.7 μF, 10 μF, 100 μF | Located near the tape head amplifier. Leaky/drifted caps cause Read Error b even when azimuth is aligned. |
| Reset Circuit | 10 μF / 22 μF (16 V) | Holds Z80 /RESET low at power-on. If dried out, machine boots to garbage until power-cycled twice. |
Keyboard Type on Long-Boards: Early Type 1 machines feature individual tall mechanical plungers over either a hard contact PCB (very early 1984 units!) or a dual-layer flexible Mylar membrane connected via two ribbon tails.
Cost-Reduced Short-Board (Type 2 & Type 3) 1986–1990 • MC0002 / MC0044
To cut manufacturing costs, Amstrad shrank the CPC 464 motherboard to half-width, upgraded the Gate Array to the cooler CMOS 40010 (or later surface-mount ASIC on final 1989/90 boards), and condensed the 64 KB RAM on late revisions. Externally identifiable by slightly flatter, lower-profile keycaps and the rear expansion/printer edge connectors sitting further recessed or at altered spacing on final revisions.
Key Architectural Changes
- Gate Array: Amstrad 40010 (40-pin DIP CMOS) — runs significantly cooler than the NMOS/bipolar 40007
- CRTC: Usually Motorola MC6845P (Type 2) or UM6845 (Type 1)
- RAM: 8× 4164 (16-pin DIP) on Type 2; sometimes 2× 41464 (64K×4, 18-pin DIP) on late Type 3 boards
- ROM: 32 KB combined OS + BASIC 1.0 (or BASIC 1.1 on rare Spanish/French export boards)
- Late Type 3 / 464+ Transition (MC0044): Combines the Gate Array, CRTC, and 8255 PPI into a single 100-pin QFP surface-mount ASIC (40226 / 40489 — CRTC Type 3/4)
Type 1 Long-Board vs Type 2/3 Short-Board Comparison
| Feature | Type 1 Long-Board | Type 2 / 3 Short-Board |
|---|---|---|
| PCB Footprint | Full case width (~38 cm) | Compact square PCB (~20 cm) |
| 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) |
| CRTC Usually Fitted | Type 0 (HD6845S) or Type 1 (UM6845R) | Type 2 (MC6845P) or Type 1/4 |
| Serviceability | Spacious trace routing; easy desoldering | Tightly packed tracks; thinner copper pads |
Desoldering Caution on Short-Boards: The phenolic/thin-FR4 copper barrels on late MC0002/MC0044 boards lift easily if overheated above 340 °C. Use low-melt solder or a vacuum desoldering gun when fitting IC sockets.
6845 CRTC Variants (Type 0 – Type 4) Demo & Game Compatibility Reference
Although all five CRTC variants used by Amstrad implement the 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 — very late 464/6128) | Emulated | Pre-Plus cost-down ASIC found in final 1989/90 CPC 464s. Similar register behaviour to Type 3 without Plus features. |
Upgrade Tip: On any socketed Type 1 or Type 2 CPC 464 board with a discrete 40-pin CRTC, you can unplug a Motorola MC6845P (Type 2) and drop a Hitachi HD6845S (Type 0) straight into the socket with zero board modifications!
Built-in Tape Deck (Datacorder) & Mechanical Checklist
Fixing Read Error a / Read Error b: drive belt replacement, azimuth head alignment, and leaf-switch servicing.
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.
- 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`/`8` keys) 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 & Write-Protect Tab
- 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, supplying power to the cassette motor. If the relay clicks but the motor stays dead, check the leaf switch under the PLAY key and transistor TR101/TR303 (12 V/6 V 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 and leaf switch. If the lever is bent or gummed up with old grease, the red REC key will refuse to depress even with a tabbed blank tape inserted.
- Record/Playback Slide Bar (PCB Switch): 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` / `.TZX` files from a smartphone or TZXDuino without opening the case? Simply insert a cheap car cassette-to-3.5 mm tape adapter straight into the Datacorder well!
Diagnostic Checklist & Common Faults
Step-by-step bench fault-finding for Black Screen, Corrupted Graphics (4164 DRAM), and AY-3-8912 / Stereo Jack audio faults.
Black Screen / No Boot Diagnostic Tree
Power LED illuminates (or flickers), but monitor shows a completely black screen or out-of-sync raster with no yellow Amstrad 64K Microcomputer banner.
- Step 1 — Measure +5 V AFTER the Power Switch: Probe Pin 40 of the 6845 CRTC or Pin 11 of the Z80A. It 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 brightly!
- Step 2 — Check 16 MHz Master Oscillator & Gate Array Clock: The Gate Array (40007/40010) takes the 16 MHz crystal (Pin 2) and outputs a 4 MHz CPU clock on Gate Array Pin 4 (to Z80 Pin 6) and a 1 MHz CCLK on Gate Array Pin 37 (to CRTC Pin 21). If 16 MHz is present at the crystal but 4 MHz/1 MHz are dead, the Gate Array has failed.
- Step 3 — Check Z80A Control Lines:
- Pin 26 (/RESET): Must pulse low (0 V) briefly at turn-on, then sit at +5 V.
- Pin 24 (/WAIT): Driven by Gate Array Pin 35 (
/READY) to synchronize memory access. Must show a 1 MHz pulse train — if stuck low, CPU is permanently halted. - Pin 16 (/INT) & Pin 17 (/NMI): Check for stuck-low interrupts.
- Step 4 — Check CRTC Sync Outputs: If the screen rolls or stays black, probe 6845 CRTC Pin 39 (HSYNC, 15.625 kHz) and Pin 40 (VSYNC, 50 Hz). Remember: the CRTC only outputs sync after the Z80 reads the OS ROM (IC103) and initialises the 6845 registers! A dead ROM or dead Z80 results in no sync output at all.
- Step 5 — Use a Lower-ROM Diagnostic Board: Plug an external diagnostic device (e.g. M4 Board, Dandanator CPC with Noël Llopis / Gerald DiagROM, or BackBit) into the rear expansion edge connector to bypass internal ROM IC103 and test RAM/Gate Array visually.
Corrupted Graphics / Garbage on Screen (4164 DRAM)
Blue border appears with valid sync, showing vertical dotted lines, wrong character glyphs, random pixel snow, or hanging before the Ready prompt.
Because the border and sync are present, your Z80A, OS ROM, Gate Array, and 6845 CRTC are alive! The fault lies in the eight 4164 (64K×1) DRAM chips (IC111–IC118) or their 74LS153 address multiplexers (IC109 & IC110):
| Data Bit | Long-Board IC | Symptom When Stuck High / Low |
|---|---|---|
| Bit 0 (D0) | IC111 | Vertical pixel stripes every 8th column in Mode 1/2; character ASCII bit 0 flipped (e.g. `A` becomes `@`, `R` becomes `S`) |
| Bit 1 (D1) | IC112 | Every 2nd character bit corrupted (`A` becomes `C`); repeating vertical bars |
| Bit 2 (D2) | IC113 | Character bit 2 corrupted (`A` becomes `E`); system often crashes clearing screen |
| Bit 3 (D3) | IC114 | Character bit 3 corrupted (`A` becomes `I`); periodic pixel blocks across screen |
| Bit 4 (D4) | IC115 | Mode 1 colour plane 1 corrupted (wrong pen colours on vertical stripes) |
| Bit 5 (D5) | IC116 | Lowercase/uppercase bit flipped (`A` becomes `a`) |
| Bit 6 (D6) | IC117 | Letters turn into punctuation/numbers; OS workspace corruption causes instant reboot loop |
| Bit 7 (D7) | IC118 | Leftmost pixel of every byte stuck on (solid vertical yellow lines down the entire screen) |
Thermal Finger Test & Piggybacking: MT4264 (Micron) and TMS4164 DRAMs fail frequently in CPC 464s. Touch IC111–IC118 after 60 seconds of power — a shorted 4164 will be noticeably hotter than its neighbours. For open-circuit bit faults, piggybacking a known-good 4164 over each chip one at a time often reveals the culprit immediately.
Stereo Audio Jack, Dead Speaker & AY-3-8912 / 8255 PPI Issues
No sound from the internal speaker, one stereo channel missing on headphones, or entire keyboard rows/joysticks dead.
1. The 3.5 mm Stereo Jack Switch Trap
The #1 cause of "dead sound" on an Amstrad CPC 464 is not a blown AY-3-8912 chip — it is the mechanical cut-off leaf switch built inside the side-mounted 3.5 mm STEREO headphone socket!
- When no plug is inserted, a spring contact inside the 3.5 mm jack bridges the mixed audio signal to the internal volume wheel and loudspeaker amplifier.
- After 40 years of oxidation (or after removing a headphone plug), the internal leaf contact fails to spring back closed, muting the internal speaker completely.
- Test & Fix: Plug a pair of stereo headphones into the side 3.5 mm jack and type
SOUND 1,200,100,15. If you hear the tone in headphones, your AY-3-8912 is 100% healthy! Spray contact cleaner into the 3.5 mm socket and rapidly insert/remove a jack plug 20 times, or replace the socket.
2. AY-3-8912 PSG & 8255 PPI Interdependence
On the CPC, the keyboard matrix and joystick port are scanned by IC102 (AY-3-8912 I/O Port A), which is itself accessed through IC106 (8255 PPI)!
- Keyboard completely dead AND no sound at all: Either the 8255 PPI (IC106) or the AY-3-8912 (IC102) has failed (often killed by plugging/unplugging a joystick while powered on, or by ESD on the joystick port).
- Single keyboard line stuck / autofire keys: A blown transistor driver or open pin on the AY-3-8912's 8-bit I/O port (Pins 21–14). Swap the AY-3-8912 first if socketed.
- Tape motor won't turn on & VSYNC hangs: Controlled directly by the 8255 PPI (Port C bit 4 = Motor Relay; Port B bit 0 = VSYNC input). Indicates a faulty 8255 PPI.
Power, Video & Expansion Pinouts
6-pin DIN RGB Monitor to SCART / OSSC / RetroTINK wiring, 34-way Centronics Printer, and 50-way Expansion Edge Connector.
6-Pin DIN Monitor Port to RGB SCART / Upscaler DIN 240°
The CPC 464 outputs pure 15.625 kHz 50 Hz analog RGB (with hardware 3-level intensity mixed inside the computer) plus composite sync on its rear 6-pin DIN MONITOR socket. Note that audio is NOT present on the 6-pin DIN — your SCART cable must include a flying 3.5 mm stereo jack lead that plugs into the side of the CPC!
| DIN Pin | CPC 464 Signal | SCART Target Pin | Resistor / Upscaler Note |
|---|---|---|---|
| 1 | RED (Analog ~1 V p-p) | SCART Pin 15 | Direct (or 100 Ω series if overly bright on OSSC/RetroTINK) |
| 2 | GREEN (Analog ~1 V p-p) | SCART Pin 11 | Direct (or 100 Ω series) |
| 3 | BLUE (Analog ~1 V p-p) | SCART Pin 7 | Direct (or 100 Ω series) |
| 4 | CSYNC (Composite Sync) | SCART Pin 20 | Fit 330 Ω–470 Ω series resistor to drop TTL sync to 75 Ω video level! |
| 5 | GND (0 V Return) | SCART Pins 4, 5, 9, 13, 17, 18, 21 | Video & sync ground shield |
| 6 | LUM (Luminance for GT64/65) | Not used for RGB SCART | Used only by green-screen monitors (combines R+G+B+Sync) |
Forcing SCART RGB Blanking (Pin 16): Because the CPC 464's 6-pin DIN does not output +5 V or +12 V, a passive SCART cable cannot drive SCART Pin 16 (RGB fast-blanking) on its own unless it either (a) taps +5 V from a pass-through inline DC barrel adapter via a 180 Ω resistor to SCART Pin 16, or (b) connects to an upscaler (OSSC / RetroTINK 5X/4K) which manually selects RGBS input without needing Pin 16 voltage.
34-Way Printer Port Edge Connector 7-Bit Centronics
Amstrad saved one latch bit by implementing a 7-bit data bus (D0–D6) on the rear 34-way PCB edge connector (IC108 74LS273 octal latch uses bit 7 for `/STROBE`!). Standard 7-bit ASCII text prints normally, while 8-bit graphics printers require a simple software/hardware driver adaptation.
| Top Side (Odd Pins) | Signal | Bottom Side (Even Pins) | Signal |
|---|---|---|---|
| Pin 1 | /STROBE (Latch Bit 7) | Pin 2 | GND |
| Pin 3 | DATA 0 (LSB) | Pin 4 | GND |
| Pin 5 | DATA 1 | Pin 6 | GND |
| Pin 7 | DATA 2 | Pin 8 | GND |
| Pin 9 | DATA 3 | Pin 10 | GND |
| Pin 11 | DATA 4 | Pin 12 | GND |
| Pin 13 | DATA 5 | Pin 14 | GND |
| Pin 15 | DATA 6 (MSB — 7-bit!) | Pin 16–34 | GND (Even pins) |
| Pin 17 | NC (No Data 7!) | Pin 21 | BUSY (to 8255 PPI PB6) |
Pin Numbering: Looking at the rear of the CPC 464, Pin 1 is top-right and Pin 2 is bottom-right (reading right-to-left: 1, 3, 5 … 33 on top; 2, 4, 6 … 34 underneath).
50-Way Expansion Bus Edge Connector DDI-1 Floppy / M4 Board / Dandanator / Ulifac
Full buffered/unbuffered Z80 bus situated on the rear-right of the motherboard. 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) | 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 | 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 on some connectors). | |||
How External ROMs & RAM Expansions Work: Pulling Pin 44 (/ROMDIS) high (+5 V) disables the internal OS/BASIC ROM (IC103) so external cartridges like the DDI-1 Disc Interface (AMSDOS ROM 7) or diagnostic ROMs can map into memory when Pin 43 (/ROMEN) goes active-low. Similarly, pulling Pin 46 (/RAMDIS) high overrides internal 64K RAM for 512K dk'tronics-style memory expansions!
Chip & EPROM Reference
Interactive IC Pinout Finder deep-dives plus Amstrad Gate Array & OS/BASIC ROM substitution notes.
Zilog Z80A CPU
IC101 — 4.0 MHz 8-bit CPU. Synchronised to 1 MHz memory cycles via the Gate Array's /READY wait-state generator.
6845 CRTC
IC104 — CRT Controller (HD6845S, UM6845R, MC6845P). Generates video memory addresses MA0–MA13, RA0–RA2, HSYNC, and VSYNC.
View Pinout →8255A-5 PPI
IC106 — Programmable Peripheral Interface. Bridges the CPU to the AY-3-8912, Datacorder read/write/motor, and VSYNC status.
View Pinout →AY-3-8912A PSG
IC102 — 3-channel stereo sound generator (Channels A=Left, B=Centre, C=Right) and 8-bit keyboard/joystick column scanner.
View Pinout →4164 DRAM (×8)
IC111–IC118 — Single-rail +5 V 64K×1 dynamic RAM providing the full 64 KB address space.
View Pinout →Amstrad Gate Array (40007 / 40010) 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 Long-Board (Type 1) & 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 Short-Board (Type 2) & CPC 6128 | Direct drop-in for 40007 (on boards with discrete 40-pin DIP socket). |
| 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 + BASIC ROM (IC103) EPROM Substitution Guide
Unlike the CPC 664 and 6128, 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 (28-pin) | 100% Direct Drop-In! Concatenate the 16 KB OS ROM (`$0000–$3FFF` in EPROM) followed by the 16 KB BASIC 1.0 (or BASIC 1.1 / DiagROM) image (`$4000–$7FFF` in EPROM). |
| 27C512 / W27C512 EEPROM | 64 KB (28-pin) | Dual-OS Switchable Upgrade! Program standard OS + BASIC 1.0 into the lower 32 KB (`$0000–$7FFF`) and a Diagnostic ROM or BASIC 1.1 + Parados into the upper 32 KB (`$8000–$FFFF`). Lift Pin 1 (A15) and wire to a toggle switch (+5 V via 4.7 kΩ vs GND). |
Pin 27 (A14) 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's why a standard 27C256 works without cutting a single PCB track!
Resources & Further Reading
Blog posts, interactive bench tools, and essential Amstrad CPC hardware documentation.
Smiggy's Amstrad CPC Posts
Bench Tools & Machine Hubs
- IC Pinout Finder — Z80, 6845, 8255, AY-3-8910, 4164 & more
- Recap Planner — capacitor replacement guide
- Ohm's Law Calculator
- C64 Machine Hub — Commodore 64 reference
- Amiga Machine Hub — A500/A600/A1200 reference
- BBC Micro Hub — Model B, B+ & Master 128 reference
- ZX Spectrum Hub — 16K/48K & +2/+3 reference
- Dragon 32/64 Hub — Dragon 32 & 64 reference
- C128 Machine Hub — C128, C128D & DCR reference
- SX-64 Machine Hub — Executive Portable C64 reference
- Atari ST Hub — 520ST, 1040STFM & STE reference
- Apple IIe Hub — Unenhanced, Enhanced & Platinum reference
- Sinclair QL Hub — 68008, Microdrive & ULA reference
- Acorn Atom & Electron Hub — Atom & Electron reference
- Osborne 1 & Kaypro II Hub — CP/M luggable reference
- Oric-1 & Atmos Hub — Oric 6502A & ULA reference
- Amstrad CPC 6128 Hub — 128K & 3″ disc reference
- MSX Machine Hub — MSX1, MSX2, MSX2+ & Turbo R reference
- Big-Box Amiga Hub — A1000, A2000, A3000 & A4000 reference
- Atari 8-Bit Hub — 400/800, 800XL & 130XE reference
- VIC-20 Machine Hub — Commodore VIC-20 reference
External CPC 464 Resources
- CPCWiki — the definitive Amstrad CPC hardware & programming encyclopaedia
- CPCWiki Forums — active repair, hardware mod, and community forum
- CPC Tech — service manuals, schematics, and Uncommitted Logic Array docs
- Amstrad Diagnostics (GitHub) — open-source CPC RAM, CRTC & keyboard test ROM