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 Connection | Voltage & Current | Polarity & 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 Pin | Amstrad 3″ Drive | Standard PC / Gotek |
|---|---|---|
| Pin 1 (Chamfer Left) | +5 V DC (Red) | +12 V DC (Yellow) — SWAPPED! |
| Pin 2 | GND (Black) | GND (Black) |
| Pin 3 | GND (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 Type | Years | Hardware & 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.
How the 128K RAM Banking PAL (`IC109` — Amstrad 40015) Works
Because the original 40-pin Amstrad 40010 Gate Array only had enough pins to manage 64 KB of RAM, Amstrad added a programmed 20-pin PAL16L8 (`Amstrad 40015` at `IC109`) between the Z80A, the Gate Array, and the DRAM array. When software writes a configuration byte (`11cccbbb` binary, `$C0–$FF`) to I/O port #7Fxx:
- Base 64K Bank (`IC114–IC121`, `/CAS0`): Contains the four standard 16 KB pages (`$0000–$3FFF`, `$4000–$7FFF`, `$8000–$BFFF`, `$C000–$FFFF`) and always supplies video RAM to the 6845 CRTC!
- Expanded 64K Bank (`IC122–IC129`, `/CAS1`): Contains four extra 16 KB banks (`Bank 4, 5, 6, 7`) that the 40015 PAL can map into the `$4000–$7FFF` window (or full 64 KB swap in modes `$C1/$C2/$C3` for CP/M Plus)!
- Address Remapping (`A14` & `A15` Modification): The 40015 PAL intercepts CPU address lines `A14` and `A15` and outputs modified `MA14` and `MA15` to the 74LS153 DRAM multiplexers (`IC112`/`IC113`), while steering the Gate Array's `/CAS` strobe to either `/CAS0` (Base 64K) or `/CAS1` (Expanded 64K)!
40015 PAL Failure Symptoms & GAL16V8 Replacement
| Symptom | Cause & Fix |
|---|---|
| Total Black Screen (40010 Gate Array Works in Another Board) | Because `A14`, `A15`, and `/CAS` pass through the 40015 PAL (`IC109`), a dead 40015 PAL completely blocks all DRAM access — causing an instant black screen! |
| Boots to BASIC 1.1, But CP/M Plus or 128K Games Crash | Either `/CAS1` output on `IC109` Pin 12 is dead, OR one of the eight upper-bank 4164 DRAMs (`IC122–IC129`) has failed! (BASIC 1.1 only tests the lower 64K on boot!). |
| Drop-in `GAL16V8` Replacement | The original bipolar PAL16L8 (`40015`) runs hot. You can program a cheap, cool-running Lattice `GAL16V8B` or `ATF16V8B` using the open-source 40015 JEDEC equations (published on CPCWiki) as a 100% drop-in replacement! |
CPC 6128 Plus 1990–1992 • 40489 ASIC • Cartridge Slot • 4096 Colours
In 1990 Amstrad relaunched the 6128 in an off-white sculpted case as the 6128 Plus (sharing its architecture with the 464 Plus and GX4000 console). Replaces the discrete chipset with a 160-pin QFP Amstrad 40489 ASIC (CRTC Type 3), swaps the 3″ drive's belt-driven EME-156 for a later EME-157 (still 3″!), and requires a System Cartridge (Burnin' Rubber + BASIC 1.1 + AMSDOS) plugged into the top cartridge slot to boot!
Key Differences on the 6128 Plus
- No Internal ROM IC: All OS, BASIC, and AMSDOS code lives inside the plug-in Plus Cartridge! Without a cartridge inserted, a 6128 Plus will only show a black screen.
- 8-Pin Mini-DIN Video Port: Replaces the classic 6-pin DIN with an 8-pin Mini-DIN (outputting Analog RGB + Stereo Audio on one connector).
- 68-Pin High-Density Expansion Port: Replaces the 50-pin PCB edge connector (requires a 68-pin-to-50-pin passive adapter for classic CPC peripherals).
- Hardware Enhancements: 4,096-colour palette, 16 hardware sprites, soft pixel scrolling, and DMA sound channels.
Classic 6128 vs 6128 Plus Quick Comparison
| Feature | Classic CPC 6128 (1985) | CPC 6128 Plus (1990) |
|---|---|---|
| Case Styling | Dark Anthracite Grey | Ivory / Off-White Sculpted |
| System ROMs | Internal (`IC103` + `IC205`) | External Plus Cartridge required |
| Monitor Connector | 6-Pin DIN (240°) | 8-Pin Mini-DIN |
| Joystick Ports | 1× DB9 (Atari style, splitter for 2) | 2× DB9 Digital + 1× DB15 Analog |
| Printer Port | 34-Way Edge (7-bit) | 25-Pin D-Sub (8-bit Parallel!) |
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.
| Dimension | 3″ Drive Belt Specification |
|---|---|
| Inside Diameter | ~69 mm – 71 mm Ø (Folded flat length ~108–111 mm) |
| Width × Thickness | 2.8 mm – 3.0 mm wide × 0.6 mm flat |
- 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!).
- 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`!).
- 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!):
- 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!).
- 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!
- 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) | IC114 | IC122 | Vertical pixel lines every 8px; ASCII bit 0 stuck (`A` ↔ `@`) |
| Bit 1 (D1) | IC115 | IC123 | ASCII bit 1 stuck (`A` ↔ `C`); repeating vertical bars |
| Bit 2 (D2) | IC116 | IC124 | ASCII bit 2 stuck (`A` ↔ `E`); crashes during screen clear |
| Bit 3 (D3) | IC117 | IC125 | ASCII bit 3 stuck (`A` ↔ `I`); blocky character corruption |
| Bit 4 (D4) | IC118 | IC126 | Mode 1 colour plane 1 corrupted (wrong pen colour stripes) |
| Bit 5 (D5) | IC119 | IC127 | Uppercase/lowercase bit 5 stuck (`A` ↔ `a`) |
| Bit 6 (D6) | IC120 | IC128 | Letters turn into numbers/symbols; continuous reboot loop |
| Bit 7 (D7) | IC121 | IC129 | Solid 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`).
- 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!
- 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 Pin | Signal | SCART Target Pin & Resistor |
|---|---|---|
| Pin 1 | RED (~1 V p-p) | SCART Pin 15 (Direct or 100 Ω series) |
| Pin 2 | GREEN (~1 V p-p) | SCART Pin 11 (Direct or 100 Ω series) |
| Pin 3 | BLUE (~1 V p-p) | SCART Pin 7 (Direct or 100 Ω series) |
| Pin 4 | CSYNC (TTL Sync) | SCART Pin 20 via 330 Ω–470 Ω series resistor! |
| Pin 5 | GND (0 V) | SCART Pins 4, 5, 9, 13, 17, 18, 21 |
| Pin 6 | LUM (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 Signal | 3.5″ / Gotek IDC Target Pin |
|---|---|---|
| Pin 1 – 5 | NC | — |
| 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 ON | 34-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 DATA | 34-Pin IDC Pin 22 |
| Pin 23 | /WRITE GATE | 34-Pin IDC Pin 24 |
| Pin 25 | /TRACK 00 | 34-Pin IDC Pin 26 |
| Pin 27 | /WRITE PROTECT | 34-Pin IDC Pin 28 |
| Pin 29 | /READ DATA | 34-Pin IDC Pin 30 |
| Pin 31 | /SIDE 1 SELECT (Double-Sided!) | 34-Pin IDC Pin 32 (Supported by Parados!) |
| Pin 33 | /READY | 34-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.
Zilog Z80A CPU
IC105 — 4.0 MHz 8-bit CPU running Locomotive BASIC 1.1, AMSDOS, and Digital Research CP/M Plus (3.0).
View Pinout →6845 CRTC
IC107 — CRT Controller (HD6845S Type 0, UM6845R Type 1, or MC6845P Type 2) driving video timing.
View Pinout →8255AC-5 PPI
IC104 — Programmable Peripheral Interface bridging the Z80A to the AY-3-8912 and system status jumpers.
View Pinout →AY-3-8912A PSG
IC102 — 3-channel stereo sound synthesizer and 8-bit keyboard/joystick column scanner.
View Pinout →4164 DRAM (×16)
IC114–IC129 — Sixteen +5 V 64K×1 DRAMs organized into Base Bank 0 and Expanded Bank 1 (128 KB total).
View Pinout →Disc Subsystem & Custom Silicon Reference
| Chip | Part Number | Function & 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:
| Socket | Original Mask ROM | Direct 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.
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
- Amstrad CPC 464 Hub — CPC 464 & Datacorder reference
- C64 Machine Hub — Commodore 64 reference
- C128 Machine Hub — C128, C128D & DCR reference
- SX-64 Machine Hub — Executive Portable C64 reference
- Amiga Machine Hub — A500/A600/A1200 reference
- Atari ST Hub — 520ST, 1040STFM & STE reference
- Apple IIe Hub — Unenhanced, Enhanced & Platinum reference
- BBC Micro Hub — Model B, B+ & Master 128 reference
- Acorn Atom & Electron Hub — Atom & Electron reference
- ZX Spectrum Hub — 16K/48K & +2/+3 reference
- Sinclair QL Hub — 68008, Microdrive & ULA reference
- Dragon 32/64 Hub — Dragon 32 & 64 reference
- Osborne 1 & Kaypro II Hub — CP/M luggable reference
- Oric-1 & Atmos Hub — Oric 6502A & ULA 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 6128 Resources
- CPCWiki: Amstrad CPC 6128 — PCB revisions, 40015 PAL equations, and hardware mods
- CPCWiki: 3″ Disk Drive Service Guide — EME-156 / EME-157 alignment and calibration
- CPC Tech — official Amstrad CPC 6128 Service Manual and circuit diagrams
- FlashFloppy Amstrad CPC Wiki — Gotek jumper, ribbon, and `FF.CFG` reference