# Amstrad PC2286 repair: summary of work so far

*As of 7 Oct 2026. Four PC2286s, all with the same fault: the PSU comes on but nothing shows on the display.*

---

## 1. Current diagnosis

**The CPU isn't running any bus cycles.** It never fetches its first instruction from the BIOS ROMs, so
no ROM contents, RAM or video can be involved yet.

| Measurement (one machine, no ISA cards) | Result | Meaning |
|---|---|---|
| +5 V at ISA B3/B29 | good | supply OK on +5 V |
| ISA A10 (IOCHRDY) | high | bus not held "not ready" |
| ISA A1 (IOCHCK#) | high | no bus error |
| ISA B2 (RESET DRV) | high pulse, then low | system reset released normally |
| ISA B30 (OSC) | 14.3 MHz | crystal oscillator OK |
| ISA B20 (bus CLK) | 8 MHz | bus clock OK |
| ISA B28 (BALE) | always low (noisy) | **no bus cycles at all** |
| EPROM pin 20 (/CE) | always low | tied low, or stuck in one cycle |
| EPROM pin 22 (/OE) | always high | **ROMs never read** |
| EPROM pin 10 (A0 = CPU A2) | low | no address activity |
| Speaker | no beeps from any test ROM | test code never ran |

Results with test ROMs:
- Original BIOS: POST card shows nothing useful. The Amstrad BIOS has no port-80h POST codes.
- POST-code BIOS, both variants: card reads FF. The first instruction would have written 11.
- XTRAMTEST on CGA: random characters. On MDA: a grey band on 2/3 of the screen, nothing else, and no
  start beep. XTRAMTEST programs both video cards and beeps before needing any RAM, so it never ran.

**Next step: take the main board out** (it's mounted upside down) and work on the 286:
1. If it's a PLCC chip in a socket, reseat it with an extractor and check the socket for corrosion.
   Reseat any socketed gate arrays too. Oxidised sockets would explain four identical failures in
   machines that aged together.
2. Pins 30 and 62 (VCC) should read +5 V at the chip.
3. Pin 31 (CLK) should be about 25 MHz.
4. Pin 29 (RESET) should pulse then go low.
5. Pin 64 (HOLD) should be low.
6. Pins 4/5 (S1#/S0#) should pulse.
7. If all of the above are fine and S0#/S1# are still static: swap or replace the CPU, and pull any
   80287.
8. Also check every board for small plug-in daughterboards. The PC2386 has a "bug" board that patches
   the reset logic.

---

## 2. Documentation found

| Item | Where |
|---|---|
| PC2386 service manual: schematics, PSU board, parts, alignment | <https://archive.org/details/amstrad-pc-2386-service-manual> |
| PC2086 service manual (two scans) | <https://archive.org/details/manual_PC2086_SM_AMSTRAD_EN> |
| **PC2286/D/40 service manual** (47 pp, Aug 1989): museum copy only, ask them | Centre for Computing History, CH27477 |
| PC2386 BIOS v1.11 dump (same firmware as the PC2286) | <https://archive.org/details/pc-2386> |
| Option links, memory tables, SETUP.EXE (Cliff Lawson, ex-Amstrad) | <https://web.archive.org/web/20101216023809/http://web.ukonline.co.uk/cliff.lawson/atpcs.htm> |
| VCFed PC2286 thread: PSU repairs, RAM, ROM dumps, connector pinout | <https://forum.vcfed.org/index.php?threads/amstrad-pc-2286.1238386/> |

---

## 3. Key findings

**BIOS ROMs.** The BIOS is four 27C256 chips (Amstrad 40189–40192, IC149–IC152). They are
**interleaved four ways, not even/odd pairs**: byte N of the 128 KB image is in chip N mod 4.
- The lower 64 KB holds the Paradise VGA BIOS.
- The upper 64 KB holds the Amstrad system BIOS v1.11, 32 KB stored twice. So the system BIOS sits in
  the upper half of every chip, and any replacement ROM needs all four chips.
- The PC2286 and PC2386 run the same BIOS. A PC2286 owner reported the same part numbers. The banner is
  stored as `AMSTRAD PC?86 (1.11)` and the BIOS fills in 22 or 23 at boot from gate-array strap bits.

**BIOS start-up, from disassembly and emulation:**
1. Gate-array check via I/O port DEADh. If it fails, the BIOS halts silently, writing to DEADh.
2. Chipset set-up from the links.
3. CMOS defaults are loaded if the battery is dead.
4. ROM checksum.
5. Chip init; the only POST-time port-80h write is 00, here.
6. **VGA init, which uses the first 64 KB of RAM before any RAM test.**
7. "Please wait", then a dot per test.
8. Memory test, devices, boot.

Error halts show "Error: Faulty …" with message numbers 01–11 (the full table is in the notes).

**Links (PC2286):**
- Fitted (In) means enabled.
- These should be fitted: LK28 VGA, LK30 mouse, LK31 LPT1, LK32 FDC, LK33 COM1, LK34 POST.
- LK27 (on-board hard disk controller) should be disabled.
- RAM size is LK17–LK20; the stock 1 MB is In / In / Out / Out.
- RAM speed is LK21–LK22; 120 ns is Out / In.
- Video DIP switches: 1, 2 and 4 On.

**PSU.** It's the same board design as the PC2386's.
- Main-board connector, as reported by an owner: 1 +5V, 2 −5V, 3 +5V, 4 −12V, 5 GND, 6 +12V, 7 GND, 8 GND.
  Verify it against the ISA slot pins first.
- Test points: TP A (+5 V, set with VR604 to 5.00 V) and TP B (+12 V, set with VR603 to 12.00 V).
- Common failures: leaking 6800 µF/16 V capacitors, VR603 going open, the TLP741G optocoupler.

---

## 4. What's been built (in this folder)

| File | What |
|---|---|
| `PC2286-notes.md` | Full reference: ROM map, POST sequence, error codes, links, PSU, sources |
| `tools/pc2286rom.py` | `check` (identify chip order, checksums, bit rot), `join`, `split`, `diag` (turn any BIOS-socket diag ROM into four chips), `postcode`, `codes`; `--27c512` for 64 KB images |
| `tools/pc2286_postcode.asm` | Source of the POST-code patch |
| `tools/emu2286.py` | Unicorn emulator harness that runs the real BIOS (used for validation) |
| `roms/original-v1.11/` | Reference v1.11 chip set |
| `roms/postcode/`, `roms/postcode-noramtest/` | v1.11 plus port-80h progress codes (and a 64 KB RAM pre-test). Validated in emulation; on hardware they showed FF because the CPU isn't running |
| `roms/27C512/` | The same three sets as 64 KB images |
| `roms/diag/27C512/`, `roms/diag/27C256/` | Four-chip XTRAMTEST v0.2.0, XTRAMTEST-BW-5170, SuperSoft 5170 v1.2.0, and XTRAMTEST-CGA-AMSTRAD (tries CGA before MDA). Each set has its own folder |
| `roms/README.txt` | Socket placement and CRC32s for every image |

Socket rule for every set: each file goes into the socket that held the chip with the same Amstrad
number (40189–40192). Always replace all four.

---

## 5. Open questions

- Are the burned chips verified against the README CRC32s? Are they 200 ns or faster?
- What are the original chip labels (40189-2 … 40192-2)? Has an original been dumped and compared?
- Are the 286 and the gate arrays socketed? Are any daughterboards fitted?
- Do the other three machines read the same on BALE and EPROM pin 22?
