Skip to content

Sanyo PHC-25

A 1983 Japanese micro built around a Z80 and an MC6847 — the same video chip as the Dragon, the TRS-80 CoCo and the Alice. Sold in Japan and Europe, with a behavioural difference that gives the version away.

Identification

Field Value
Manufacturer Sanyo
Year 1983
CPU Z80 @ 4 MHz
Video MC6847 — M5C6847P-1 (Mitsubishi) variant per MAME
Video (Europe) M5C6847P-1 @ 4.433619 MHz
Video (Japan) M5C6847P-1 @ 3.579545 MHz
Sound AY-3-8910 @ 1 MHz — ⚠️ MAME annotates it "Synthesizer PSG-01 add-on"; it also carries both joysticks
RAM 16 KB + 6 KB video
ROM 3 × 8 KB BIOS + 4 KB character generator
Versions Europe (phc25) and Japan (phc25j)

Expected clocks — measurement table ✅

Component Frequency
Z80 4 MHz
M5C6847P-1 4.433619 MHz (Europe) · 3.579545 MHz (Japan)
AY-3-8910 (add-on) 1 MHz

The LOCK key does not do the same thing depending on the ROM

On the international version it toggles between upper and lower case; on the Japanese one, between hiragana and upper case.

⚠️ This is a difference in behaviour, not in the keyboard: MAME gives both machines exactly the same input ports, and even notes that it lacks the Japanese keyboard labels. The test also assumes a machine that boots.

The MC6847 is a shared chip

It also appears on the Dragon, the TRS-80 CoCo 1 and 2 (the CoCo 3 moves to the GIME) and the original Alice (the 32 and 90 move to the EF9345). Video symptoms and repair leads carry across these machines.

Common faults

Symptom Likely cause Lead
Won't start Z80 or its 4 MHz crystal
No picture MC6847 or the modulator Common chip, replacements findable
No sound AY-3-8910 ⚠️ MAME describes it as the Synthesizer PSG-01 add-on, yet instantiates it unconditionally and routes both joysticks through it. Whether the base machine is silent remains unverifiable. And MAME notes its own sound is "strange, volume often low to non-existent": do not use it to judge
Corrupted characters character generator ROM (4 KB) Separate from the three BIOS ROMs

MAME's caveat on the graphics

The driver carries two TODOs touching the display: "colours and graphics are different to those shown at phc25.com — who is correct?" and "screen attribute bit 7 is unknown in alphanumeric/semigraphics mode".

A rendering that does not match the emulator therefore proves nothing on this machine.

Repair (technician)

  • Standard logic: Z80, MC6847 and AY-3-8910 are all still findable. Nothing insurmountable. ⚠️ On the AY's status, see the caveat in the faults table.
  • Four distinct ROMs: three BIOS, one character generator. Corrupted characters alone point at the fourth.
  • A 1983 machine: recap and contacts before anything else.

→ Methods: PCB diagnosis · Recap

Procedure — a dead computer, step by step ✅

What this adds

Ordered for a home computer: what kills these is its power supply, its battery, its capacitors, its socketed RAM and its keyboard — roughly in that order, and well before the CPU. → PCB diagnosis

1. The power supply — measured before it is plugged in. This is the one step not to swap around. On a machine of this age a supply does not simply stop: a 5 V regulator that fails high puts 7, 9, 12 V onto the bus and takes the RAM and the custom chips with it. Measure every rail off the machine, under a dummy load if you can, and only then plug it in.

2. The battery, if it has one. Any RTC or backup cell soldered to a board is a future leak. If yours has one and it has never been changed, take it out before it takes the tracks with it. → Backup batteries

3. Capacitors. Recap is the default on these machines, not a last resort — and on the supply first, since that is what protects everything else. → Recap

4. RAM, on its sockets. These machines were built to be repaired: the RAM, and often the logic, sit in sockets. Reseat everything first — thirty years of oxide is a classic no-boot. Then swap chips: a bad RAM chip usually gives a repeatable pattern of garbage or a screen frozen at a fixed character.

5. The keyboard. A console does not have one; a computer's is a wear part. A membrane keyboard fails as whole dead rows or columns — that is the membrane, not the machine. A mechanical one wants its contacts cleaning, not replacing. Check this page: the failure mode is often documented per model.

6. Storage — tape or disk. Both often come down to the same things: a dirty head, and for tape the azimuth and a belt turned to tar. ⚠️ On the floppy side, check whether the mechanism actually has a belt before looking for one: many do, but some drives are direct drive, and hunting a belt that isn't there means stripping a drive for nothing. A machine that boots but loads nothing is a drive fault, not a logic fault — do not go looking on the board for it.

7. Video output. RF, composite, RGB or a dedicated monitor, depending on the machine (see Identification). Test with something else before you conclude: a period modulator and a modern TV disagree far more often than either is broken.

8. Still nothing. Now the logic: rails on the board, reset, clock, bus. → PCB diagnosis

Archived manufacturer documentation ✅

  • PHC-25 — technical binder, volumes 1 to 5 — 1 · 2 · 3 · 4 · 5

Status

Manufacturer documents with no explicit licence, kept for preservation.

Sources & attribution

  • MAME — src/mame/sanyo/phc25.cpp (BSD-3-Clause): the Z80 at 4 MHz, MC6847 video, AY-3-8910 at 1 MHz, 16 KB of RAM and 6 KB of video RAM, three 8 KB BIOS ROMs and a 4 KB character ROM; the Europe and Japan versions; the LOCK key behaviour (upper/lower case versus hiragana/upper case); and the "imperfect sound" flag on both — https://github.com/mamedev/mame/blob/master/src/mame/sanyo/phc25.cpp

Review & corrections

How this space is used

Spotted a wrong value, an outdated procedure, a chip reference that does not match your board? Say so here, with what you observed (model, board revision, serial number, measurement). Every report is cross-checked against a source before anything changes — an unverifiable correction is published as “reported by …, not cross-checked” rather than silently applied.

Reading is open to everyone; posting requires signing in with Discord. Reports from the wiki's declared reviewers are handled first; anyone else's are read too, but go through a human before anything is changed.