Amstrad CPC 6128 Machine Hub

128K disc powerhouse workbench reference — +5 V/+12 V PSU & reversed 3″ drive Molex alert, EME-156 belt overhaul & Gotek conversion, 16-chip 4164 DRAM locator, CRTC Type 0–4 guide, and RGB SCART pinouts.

Dual +5V / +12V Power Supply & The Infamous Reversed 3″ Drive Molex Trap!

The Amstrad CPC 6128 has two critical power traps that destroy hardware every week on the repair bench: (1) The rear 5V DC IN barrel jack has zero internal voltage regulation and feeds straight into the Z80A, 40010 Gate Array, and sixteen 4164 DRAMs — while a second rear cable (`12V DC`) powers the internal 3″ disk drive motor. (2) Inside the case, the 4-pin Molex power plug on the 3″ floppy drive has +5 V and +12 V SWAPPED compared to a standard PC Molex plug! If you plug the CPC 6128's internal drive power lead into a Gotek or 3.5″ drive via a standard passive Molex-to-Berg adapter without swapping the outer red/yellow wires, you will send +12 V DC straight into the Gotek's 5 V pin and fry it instantly!

1 Rear +5V & +12V Power Specs

Rear ConnectionVoltage & CurrentPolarity & Notes
DC 5V IN Socket
(2.1 mm × 5.5 mm Barrel)
+5.0 V DC Regulated
(±5%: 4.75–5.25 V @ 2.0 A)
CENTRE-POSITIVE (Tip = +5 V, Barrel = GND). Powers all motherboard logic AND the 3″ drive's 5 V logic!
12V DC Flying Lead / Plug
(From CTM644 / GT65 Monitor)
+12.0 V DC Regulated
(11.4–12.6 V @ 0.8–1.0 A)
CENTRE-POSITIVE (Male barrel plug on original CPC 6128 flying lead). Powers ONLY the 3″ floppy spindle & stepper motor!

Booting Without +12V Connected: A CPC 6128 will boot to `AMSDOS` and `Ready` with only +5 V connected! If you only connect +5 V (or use an external USB-powered Gotek), the computer runs 100% normally except the internal 3″ mechanical drive motor won't spin.

2 REVERSED 3″ Drive 4-Pin Molex Pinout!

Look at the wire colours on the internal 4-pin Molex plug connected to the Matsushita EME-156 3″ drive — Amstrad swapped Pins 1 and 4 compared to IBM PC ATX standard!

Molex PinAmstrad 3″ DriveStandard PC / Gotek
Pin 1 (Chamfer Left)+5 V DC (Red)+12 V DC (Yellow) — SWAPPED!
Pin 2GND (Black)GND (Black)
Pin 3GND (Black)GND (Black)
Pin 4 (Chamfer Right)+12 V DC (Yellow/Blue)+5 V DC (Red) — SWAPPED!

Rule: Always follow the RED (+5 V) wire, NOT the pin number, when wiring a Gotek or 3.5″ floppy drive inside a CPC 6128!

3 Modern Single-Brick PSU Solutions

  • MeanWell RD-35A or Dual +5V/+12V Arcade/Retro PSU: Provides tightly regulated +5.0 V (4 A) and +12.0 V (1 A) with overvoltage protection in one enclosure.
  • Internal +5V-to-+12V Boost Converter Mod (Only if keeping 3″ drive on a 5V-only PSU): Requires a 3 A+ 5 V supply because the 3″ drive motor draws an initial ~700 mA surge at 12 V (~2 A reflected on the 5 V input). Using a proper dual +5 V/+12 V supply is much safer for the PCB tracks.

System Architecture & Model Variants

Toggle between the classic 1985 CPC 6128 (Type 1/2), the late cost-reduced ASIC 6128, and the 1990 CPC 6128 Plus.

Original Amstrad CPC 6128 1985–1988 • MC0004 / MC0022A • 128 KB RAM + 3″ Disc

Released in August 1985 with a sleek business-grey low-profile keyboard, built-in 3″ Hitachi/Matsushita floppy drive, 128 KB of RAM, and bundled CP/M Plus (3.0) alongside Locomotive BASIC 1.1 and AMSDOS. The mainboard features discrete 40-pin DIP VLSI chips, sixteen 4164 DRAMs split into two 64 KB banks, and the NEC `μPD765A` floppy controller subsystem.

Key ICs & Board Designators (`MC0004` / `MC0022A`)

  • IC105 (CPU): Zilog / NEC Z80A @ 4.00 MHz
  • IC110 (Gate Array): Amstrad 40010 (40-pin DIP) — video Modes 0/1/2, 27-colour palette, 16 MHz clock divider & Lower/Upper ROM enable
  • IC109 (128K PAL): Amstrad 40015 (`PAL16L8`) (20-pin DIP) — intercepts I/O port `#7Fxx` (`11xxxxxx`) to control `/CAS0` and `/CAS1` bank switching between the lower 64K and upper 64K DRAM banks!
  • IC107 (CRTC): 6845 CRT Controller — Type 0 (`HD6845S`), Type 1 (`UM6845R`), or Type 2 (`MC6845P`)
  • IC104 (PPI): Intel / NEC 8255AC-5 — keyboard/AY interface, VSYNC read, printer busy
  • IC102 (PSG): GI AY-3-8912A — 3-channel stereo audio & keyboard matrix row scanner
  • IC103 (System ROM): 32 KB Mask ROM (`40025` — 16 KB OS + 16 KB BASIC 1.1)
  • IC204 (FDC): NEC μPD765AC / Z765A (40-pin DIP) + SED9420C data separator (`IC203`)
  • IC205 (Disc ROM): 16 KB AMSDOS v0.5 ROM (`40028`) mapped as Upper ROM 7!
  • IC114–IC129 (128K RAM): 16× 4164 (64K×1) DRAMs (`IC114–IC121` = Base 64K Bank 0; `IC122–IC129` = Expanded 64K Bank 1)

Mainboard Revisions: Type 1 (`MC0004`) vs Type 2 (`MC0022A`)

Board TypeYearsHardware & Layout Differences
Type 1 (`MC0004A–D`) 1985–86 Full-size 6128 PCB. Uses 16× 4164 DRAMs and discrete SED9420 data separator (`IC203`). Usually fitted with CRTC Type 0 (`HD6845S`) or Type 1 (`UM6845R`).
Type 2 (`MC0022A`) 1986–88 Slightly revised routing around the FDC and RAM multiplexers (`74LS153`). Still uses discrete 40-pin DIPs and 16× 4164 DRAMs.
Type 3 Cost-Down (`MC0045` / `MC0054`) 1988–90 Integrates the 40010 Gate Array, 40015 PAL, CRTC (Type 4), and 8255 PPI into a single 100-pin QFP ASIC (`40226`), and replaces the 16× 4164 DRAMs with four 41464 (64K×4) chips!

Keyboard Membrane on the CPC 6128: All classic CPC 6128s use a twin-layer flexible Mylar membrane inside the low-profile keyboard assembly. If individual keys stop working, open the keyboard backing plate and wipe the contact pads with IPA, or fit a brand-new replacement 6128 membrane.

Internal 3″ Floppy Drive (EME-156 / 157) Overhaul & Gotek Guide

Replacing the melted rubber drive belt, fixing `Disc Missing` / `Read Fail` errors, and installing a Gotek FlashFloppy emulator.

1 3″ Drive Belt Size & Melted Tar Cleanup

Every Matsushita / Panasonic EME-156, EME-156V, or EME-157 3″ drive uses a flat rubber belt underneath the spindle flywheel. When it stretches or melts into sticky black tar, typing CAT spins the motor and lights the red LED, then fails with Disc missing or Drive A: read fail.

Dimension3″ Drive Belt Specification
Inside Diameter~69 mm – 71 mm Ø (Folded flat length ~108–111 mm)
Width × Thickness2.8 mm – 3.0 mm wide × 0.6 mm flat
  1. Remove the 3″ drive from the case (4 side screws) and unscrew the small green drive controller PCB on the back/bottom (2 screws — do NOT unsolder the head or motor ribbon wires, just hinge the PCB gently to the side!).
  2. Scrub every trace of black melted rubber tar off the brass motor capstan pulley and the large zinc flywheel rim using cotton buds soaked in 99% Isopropyl Alcohol. (Even a tiny speck of old rubber on the brass pulley causes instant wow/flutter and `Data Error`!).
  3. Loop the new flat belt around the flywheel and brass pulley, making sure it isn't twisted, and re-secure the PCB.

2 Write-Protect Pin, Track 0 & Head Care

  • Lost Write-Protect Plastic Feeler Pin: On the front-left of the EME-156 chassis sits a tiny loose black plastic pin (~8 mm long) that rides between the 3″ disk's sliding write-protect tab and the PCB leaf switch. When you turn the drive upside-down with the PCB unscrewed, this tiny pin falls straight out onto the floor! If lost, the drive permanently thinks every disk is write-protected (`Write Protected` error). You can fashion a replacement pin from a 1.5 mm piece of solid wire insulation or 3D-print one.
  • Track 00 Mechanical Leaf Switch / Optical Sensor: Located beside the stepper worm gear. Clean the open metal leaf contacts on EME-156 drives with a strip of paper wetted with DeoxIT if the head bangs against the outer stop on boot.
  • Head Cleaning & Speed Calibration: Swab the lower single-sided glass/ferrite head and upper felt pressure pad gently with IPA. If a new belt still gives `Read Fail`, adjust the tiny multi-turn speed pot (`VR1`) on the motor servo board by ±5 degrees until `CAT` reads reliably on both outer and inner tracks.

3 Gotek (`FlashFloppy`) Conversion Guide

The CPC 6128 uses a 26-pin edge/ribbon connector internally on the 3″ drive (not 34-pin!):

  1. 26-Pin to 34-Pin Adapter: Use a cheap passive Amstrad 26-pin-to-34-pin IDC Gotek adapter (or plug an external Gotek into the rear 34-way `SECOND DISC DRIVE` port!).
  2. Check the Power Plug Polarity (CRITICAL!): As warned above, on the internal 4-pin Molex cable, Red (+5 V) is on Pin 1 and Yellow (+12 V) is on Pin 4. Either pop the pins out of your Molex-to-Berg adapter so Red (+5 V) goes to the Gotek's +5 V pin (and leave the Yellow +12 V wire disconnected!), or use a dedicated CPC 6128 Gotek power cable!
  3. Jumper & `FF.CFG` Settings:
    • Set the Gotek jumper to `S0` (Drive A) for internal use (or `S1` / Drive B for external use).
    • Pull Pin 28 (`READY`) low or set `chgrst = delay` / `interface = ibmpc-hdout` or `shugart` in `FF.CFG` so the `μPD765A` sees a valid Drive Ready signal for `.DSK` images!

Diagnostic Checklist, 128K DRAM Locator & CRTC Type Detector

Pinpointing faulty 4164 DRAMs across Bank 0 (`IC114–IC121`) and Bank 1 (`IC122–IC129`), testing the `μPD765A` FDC, and identifying CRTC Types 0–4.

▦

128KB 4164 DRAM Chip Locator: Base Bank 0 (`IC114–IC121`) vs Expanded Bank 1 (`IC122–IC129`)

On Type 1/2 CPC 6128 boards (`MC0004` / `MC0022A`), sixteen 4164 (64K×1) DRAMs sit in two rows of 8 chips. Because Base Bank 0 (`IC114–IC121`, `/CAS0`) holds screen memory (`$C000–$FFFF`) and system workspace, a dead chip in Bank 0 causes immediate visual stripes or boot crashes. By contrast, a dead chip in Expanded Bank 1 (`IC122–IC129`, `/CAS1`) lets the machine boot to `Ready` normally, then crashes only when loading CP/M Plus or 128K software!

16-Chip 4164 Bit-to-IC Mapping (`MC0004` / `MC0022A`)

Data Bit Base 64K Bank 0
(`/CAS0` • Screen & Boot)
Expanded 64K Bank 1
(`/CAS1` • Extra 64K)
Visual / ASCII Symptom (If Bank 0 Chip Fails)
Bit 0 (D0)IC114IC122Vertical pixel lines every 8px; ASCII bit 0 stuck (`A` ↔ `@`)
Bit 1 (D1)IC115IC123ASCII bit 1 stuck (`A` ↔ `C`); repeating vertical bars
Bit 2 (D2)IC116IC124ASCII bit 2 stuck (`A` ↔ `E`); crashes during screen clear
Bit 3 (D3)IC117IC125ASCII bit 3 stuck (`A` ↔ `I`); blocky character corruption
Bit 4 (D4)IC118IC126Mode 1 colour plane 1 corrupted (wrong pen colour stripes)
Bit 5 (D5)IC119IC127Uppercase/lowercase bit 5 stuck (`A` ↔ `a`)
Bit 6 (D6)IC120IC128Letters turn into numbers/symbols; continuous reboot loop
Bit 7 (D7)IC121IC129Solid yellow vertical stripes down leftmost pixel of every byte

How to Test Upper 64K Bank 1 (`IC122–IC129`) From BASIC!

If your CPC 6128 boots to `Ready`, run this quick 4-line BASIC program to bank in each of the four extra 16 KB pages (`&C4, &C5, &C6, &C7`) at `$4000`, test for stuck bits, and print the exact failing bit mask (`0` = all 8 chips `IC122–IC129` healthy!):

10 FOR b=&C4 TO &C7:OUT &7F00,b
20 POKE &4000,&AA:a=PEEK(&4000) XOR &AA
30 POKE &4000,&55:d=a OR (PEEK(&4000) XOR &55)
40 OUT &7F00,&C0:PRINT HEX$(b);" ERR MASK:";BIN$(d,8):NEXT

If `BIN$(d,8)` prints `00000001`, Bit 0 (`IC122`) is faulty; if `10000000`, Bit 7 (`IC129`) is faulty!

⚙

Black Screen & μPD765A Disc Controller Faults

Machine powers on to a black screen, or boots to `BASIC 1.1` without the `AMSDOS` banner (`|DISC` / `CAT` returns `Unknown command`).

  1. Black Screen Check Order:
    • Verify +5.0 V DC after the side power switch SW1 (dirty switches drop voltage under load).
    • Check 16 MHz crystal into 40010 Gate Array (`IC110` Pin 2), 4 MHz CPU clock (`Pin 4`), and 1 MHz CCLK (`Pin 37`).
    • Verify the 40015 PAL (`IC109`) is toggling `/CAS0` (`Pin 19`) during CPU reads — a dead 40015 PAL stops the CPU from reading RAM!
  2. Boots Without `AMSDOS` Banner (`|TAPE` works, `CAT` gives `Unknown command`):
    • During cold boot, Upper ROM 7 (`IC205`, AMSDOS) polls the NEC `μPD765AC` FDC (`IC204`) main status register (`#FB7E`). If the `μPD765A` or its 4 MHz clock / `SED9420` data separator (`IC203`) fails to respond, AMSDOS silently aborts initialisation!
    • Check `IC205` (AMSDOS ROM), `IC204` (`μPD765A`), and the 74LS138 I/O decoder for port `#FB7E/#FB7F`.
♫

CRTC Type 0–4 Identification & Stereo Jack Fix

Identifying which 6845 CRTC is inside your 6128 without opening the case, and curing silent internal speakers.

  • Software CRTC Type Check:
    • Type 0 (`HD6845S`) & Type 1 (`UM6845R`): Most common in 1985–87 CPC 6128s. Type 1 returns status register bits on `INP(&BE00)`, while Type 0 allows reading cursor registers `R14`/`R15` via `INP(&BF00)`.
    • Type 2 (`MC6845P`): Returns `255` (`&FF`) on both `&BE00` and `&BF00`.
    • Type 4 (`40226` Cost-Reduced ASIC): Found in late 1988–90 small-motherboard 6128s.
  • Silent Internal Piezo/Speaker or Missing Stereo Channel: Just like the CPC 464, the side-mounted 3.5 mm `STEREO` jack contains a mechanical cut-off leaf switch that disconnects the internal speaker when headphones are plugged in. Clean the 3.5 mm socket with DeoxIT D5 and check the volume thumbwheel pot!

RGB Video, External Floppy (`FD-1`) & Expansion Pinouts

6-pin DIN RGB SCART wiring, 6128 Plus 8-pin Mini-DIN, and the 34-way External Disc Drive (`SECOND DISC DRIVE`) port.

6-Pin DIN Monitor Port (Classic 6128) DIN 240°

Identical to the CPC 464 and 664. Outputs 15.625 kHz 50 Hz analog RGB + CSYNC (with stereo audio tapped from the side 3.5 mm stereo headphone jack):

DIN-6 PinSignalSCART Target Pin & Resistor
Pin 1RED (~1 V p-p)SCART Pin 15 (Direct or 100 Ω series)
Pin 2GREEN (~1 V p-p)SCART Pin 11 (Direct or 100 Ω series)
Pin 3BLUE (~1 V p-p)SCART Pin 7 (Direct or 100 Ω series)
Pin 4CSYNC (TTL Sync)SCART Pin 20 via 330 Ω–470 Ω series resistor!
Pin 5GND (0 V)SCART Pins 4, 5, 9, 13, 17, 18, 21
Pin 6LUM (Green-screen GT65)Leave unconnected for RGB SCART

CPC 6128 Plus 8-Pin Mini-DIN Pinout: `Pin 1 = G`, `Pin 2 = B`, `Pin 3 = Audio Left`, `Pin 4 = GND`, `Pin 5 = Audio Right`, `Pin 6 = R`, `Pin 7 = CSYNC`, `Pin 8 = Audio/Video GND`.

34-Way External Floppy Port (`SECOND DISC DRIVE`) PCB Edge • Drive B

Standard Shugart-style 34-way PCB edge connector on the rear of the CPC 6128 for connecting an external FD-1 3″ drive, 3.5″ drive, or external Gotek as Drive B (`|B`). Viewed looking at the rear of the computer, Top Row = Odd Pins (1–33, right-to-left) and Bottom Row = Even Pins (2–34, All GND!):

Top Pin (Odd)Shugart / CPC Signal3.5″ / Gotek IDC Target Pin
Pin 1 – 5NC—
Pin 7/INDEX (Index Pulse In)34-Pin IDC Pin 8
Pin 9/DS0 (Drive A Select)34-Pin IDC Pin 10
Pin 11/DS1 (Drive B Select!)34-Pin IDC Pin 12 (`S1` on Gotek)
Pin 13 / 15/DS2 / /MOTOR ON34-Pin IDC Pin 16
Pin 17/DIRECTION (Step Direction)34-Pin IDC Pin 18
Pin 19/STEP (Step Pulse)34-Pin IDC Pin 20
Pin 21/WRITE DATA34-Pin IDC Pin 22
Pin 23/WRITE GATE34-Pin IDC Pin 24
Pin 25/TRACK 0034-Pin IDC Pin 26
Pin 27/WRITE PROTECT34-Pin IDC Pin 28
Pin 29/READ DATA34-Pin IDC Pin 30
Pin 31/SIDE 1 SELECT (Double-Sided!)34-Pin IDC Pin 32 (Supported by Parados!)
Pin 33/READY34-Pin IDC Pin 34

Notice the 2-Pin Offset Between CPC Edge Pins and Standard 34-Pin IDC! Because Amstrad shifted the signals by 1 pair on the rear edge connector (`CPC Pin 7 = IDC Pin 8`, `CPC Pin 11 = IDC Pin 12`, … `CPC Pin 33 = IDC Pin 34`), when crimping a 34-way edge-to-IDC ribbon cable for an external Gotek/3.5″ drive, offset the ribbon by 1 wire (2 pins) at the edge connector (and flip odd/even rows) — or use a ready-made CPC External Drive B ribbon!

Chip & AMSDOS / Parados ROM Reference

Interactive IC Pinout Finder deep-dives plus NEC `μPD765A` FDC and Parados 80-track/double-sided EPROM upgrades.

Disc Subsystem & Custom Silicon Reference

ChipPart NumberFunction & Substitutes
IC204 (FDC) NEC μPD765AC-2 / Zilog Z0765A08PSC (DIP-40) Single/Double-Density floppy controller mapped at `#FB7E` (Status) and `#FB7F` (Data). Direct drop-in: any 40-pin DIP `μPD765A`, `i8272A`, or `Z765A`.
IC203 (Data Separator) Epson SED9420CAC (DIP-24) Phase-locked loop (PLL) MFM data separator for the `μPD765A`.
IC110 (Gate Array) Amstrad 40010 (DIP-40) Pin-identical to the CPC 464's `40007`. Manages video modes, colours, and ROM select lines.
IC109 (128K PAL) Amstrad 40015 (`PAL16L8`, DIP-20) 128K RAM banking decoder (`#7Fxx`). Replaceable with a programmed GAL16V8B.

OS/BASIC (`IC103`) & AMSDOS / Parados (`IC205`) EPROM Guide

The CPC 6128 has two standard 28-pin JEDEC ROM sockets on the motherboard — making EPROM upgrades effortless:

SocketOriginal Mask ROMDirect EPROM Drop-In & Upgrade
IC103 (OS + BASIC 1.1)
(32 KB, 28-Pin)
Amstrad 40025 (English)
(Lower 16K = OS, Upper 16K = BASIC 1.1)
27C256 (32 KB) is a 100% direct drop-in! Or fit a 27C512 (64 KB) with a toggle switch on Pin 1 (`A15`) to switch between stock OS+BASIC 1.1 and a Diagnostic ROM!
IC205 (AMSDOS / Upper ROM 7)
(16 KB, 28-Pin)
Amstrad 40028 (AMSDOS v0.5, 16 KB) 27C128 (16 KB) or 27C256 (32 KB) drops straight in! Best Upgrade: Burn `Parados v1.2+` into a 27C128/27C256 at `IC205` — it is 100% AMSDOS-compatible while adding support for 80-track / Double-Sided 720 KB 3.5″ disks and Gotek images!

Resources & Further Reading

Blog posts, interactive bench tools, and essential Amstrad CPC 6128 hardware references.

Bench Tools & Machine Hubs

External CPC 6128 Resources

Theme Palette

Default Dark
High-contrast dark
Amber Terminal
Monochrome amber
Matrix CRT
Phosphor green
Workbench Light
Clean light mode

Audio & Display

Relay Click Sounds Web Audio API — soft mechanical clicks
CRT Scanline & Flicker Pure CSS overlay effect

System Info

Customization Panel Theme preference, audio FX, and CRT overlay settings are saved to your browser's localStorage and persist between visits. No cookies or server-side storage is used.
Keyboard Shortcuts Press Esc to close this panel. Use the header moon/sun icon to cycle themes.