NMK 16-bit (NMK / UPL)¶
Thunder Dragon, Mustang, Bio-ship Paladin, Acrobat Mission. A 68000 base shared between several publishers — NMK, UPL, Tecmo, Bee-Oh — and a sound microcontroller with internal ROM that poses the same preservation problem as a PIC.
Identification¶
| Field | Value |
|---|---|
| Manufacturers | NMK, UPL, Tecmo, Bee-Oh (shared hardware) |
| Years | 1989-1992 |
| Main CPU | TMP68000P-12 @ 10 MHz — or 8 MHz (verified on PCB), board depending |
| Sound CPU | Z80 @ 4.9152 MHz — or the NMK004 on later boards |
| Sound | YM2203 + two OKI M6295 @ 4 MHz (pin 7 low) |
| Sound banking | NMK112 — OKI bank switching |
| PCB format | JAMMA |
One hardware, several logos
These boards do not file under a single maker. Task Force Harrier and Mustang are UPL, Thunder Dragon is NMK/Tecmo, Many Block is Bee-Oh. The electronics underneath are the same — which makes parts and methods transferable from one title to the next.
Expected clocks — measurement table ✅¶
| Component | Expected clock | Role |
|---|---|---|
| TMP68000P-12 | 10 MHz · 8 MHz, board depending | Main CPU |
| Z80 | 4.9152 MHz | Sound CPU (Z80 boards) |
| OKI M6295 | 4 MHz | ADPCM — two of them |
⚠️ The NMK004 — one more internal ROM¶
On later boards the Z80 gives way to an NMK004.
It is a TMP90C840 with internal ROM
The NMK004 is not an exotic custom: it is a Toshiba TMP90C840, a microcontroller with internal ROM. As on the PIC-based Playmark boards, the sound program is locked inside the chip.
An NMK004 board whose MCU dies therefore loses its entire sound stage, and the contents cannot be bought anywhere. Do not bin an NMK004, even from a board beyond repair.
Three pixel clocks, one scan rate¶
An elegance of the design that is better known before measuring.
| Video crystal | Dots per line | Scan rate |
|---|---|---|
| 12 MHz ÷ 2 | 384 | ~15.6 kHz |
| 14 MHz ÷ 2 | 448 | ~15.6 kHz |
| 16 MHz ÷ 2 | 512 | ~15.6 kHz |
Three confirmed timings, one standard
All three configurations are annotated “confirmed” in MAME. The dots per line change with the crystal, but the horizontal frequency stays the same — all these boards output standard 15 kHz.
The consequence: the video crystal is not the same from board to board. Measuring 6, 7 or 8 MHz at the pixel clock indicates nothing wrong — you have to know which board you have.
Notable games¶
Task Force Harrier (1989, UPL) · Mustang (1990, UPL) · Bio-ship Paladin (1990, UPL) · Vandyke (1990, UPL) · Black Heart (1991, UPL) · Acrobat Mission (1991, UPL) · Thunder Dragon (1991, NMK/Tecmo) · Strahl (1992, UPL) · Hacha Mecha Fighter.
Common faults¶
| Symptom | Probable cause | Next step |
|---|---|---|
| No sound at all | Z80 or NMK004, board depending | Establish which is fitted before probing |
| No effects, music fine | one of the two OKI M6295s | Two separate chips, 4 MHz each |
| Sound skipping samples | NMK112 (bank switching) | An intermediate stage that is often forgotten |
| No picture | 68000 or the video crystal | ⚠️ three possible crystals depending on the board |
| No FM music | YM2203 | Independent of the OKIs |
Repair (technician)¶
- Establish the generation: Z80 or NMK004. Not the same chip, not the same availability, not the same diagnosis.
- The NMK112 is its own link. Sound that “skips” rather than sound that is absent points at it rather than at the OKIs.
- Two OKIs, not one. Only one of the two may have failed.
- Do not compare video crystals across boards: three values coexist for the same result on screen.
→ Methods: PCB diagnosis · Recap
Procedure — a dead board, step by step ✅¶
What this adds
The general method lives in PCB diagnosis. This is its application to this platform: the same order, but with the values actually expected here, so you do not have to go back and forth.
Tools: multimeter, oscilloscope (or frequency counter), current-limited bench supply, desoldering braid. → Tooling
If the board is still in a cabinet
A CRT holds its charge with the machine unplugged. → CRT safety
1. Inspection, power off. Corrosion, cut tracks, oxidised EPROM legs, leaking SMD capacitors, dubious earlier repairs.
2. The connector, before anything else. A large share of "dead boards" are a contact problem, not a fault. Clean the contacts with isopropyl alcohol and reseat — not with an abrasive eraser on a gold edge, which takes the plating off and brings the problem back worse. It costs two minutes and settles the question.
3. Power, measured on the board. Aim for +5.0 V measured as close as possible to where power reaches the board — not at the PSU output: the drop is in the loom, and that is exactly what makes a board boot on the bench and not in the cabinet. Where you probe depends on this board's connector — JAMMA edge, JVS loom or a proprietary harness — plenty of makers kept one long after JAMMA arrived — see Identification above. → Wiring Check −5 V and +12 V too if the sound stage uses them. Suspected short: bring it up current-limited and find the hot spot.
4. /RESET. It must release after power-up. Held low = the CPU never starts. A 1–2 Hz loop is not the reset circuit, it is the watchdog: the CPU is crashing at boot, so look at the bus, not at the reset.
5. Clocks — the values expected on this platform.
- TMP68000P-12 → 10 MHz · 8 MHz selon la carte (Main CPU)
- Z80 → 4,9152 MHz (CPU son (cartes à Z80))
- OKI M6295 → 4 MHz (ADPCM — deux exemplaires)
No clock on the TMP68000P-12 (10 MHz · 8 MHz selon la carte) and there is no point measuring anything else: the fault is the crystal, the divider, or the chip itself. That single measurement splits a dead board in two.
Several values for one component means several board variants in this family, not several readings on the same one: identify yours before calling a clock wrong. That is the mistake that replaces a healthy crystal.
6. Bus. Activity on the main CPU's address lines tells you whether it is running or frozen. Frozen with good clocks and good reset → work RAM, bus buffers, ROMs.
7. It boots but the picture or the sound is wrong — that is another job: see Common faults on this page, then signal tracing.
Modernisation & mods¶
- No battery suicide — but the NMK004 plays a neighbouring role: its contents cannot be replaced.
- Scan rate 📺: ~15.6 kHz on every variant.
- ⚠️ Do not host ROMs — method only.
Emulation & FPGA¶
MAME covers the family (nmk/nmk16.cpp), one of the fullest drivers for a 16-bit
base — a sign of how many publishers used it.
Photos / assets¶
(To take: a Z80 board and an NMK004 board side by side, the NMK112, and the two OKI M6295s.)
Sources & attribution¶
Text (synthesised here; sources listed for attribution):
- MAME —
src/mame/nmk/nmk16.cpp(BSD-3-Clause / GPL): the per-game summary table with publisher, sound CPU (Z80 or NMK004) and sound stage (YM2203 + 2 × OKI M6295); TMP68000P-12 at 10 MHz and the 8 MHz verified on PCB variant; Z80 at 4.9152 MHz; OKI M6295 at 4 MHz, pin 7 low; the NMK112 bank-switching device; the three screen timings annotated “confirmed” (12, 14 and 16 MHz ÷ 2 for 384, 448 and 512 dots); and above all the note that the NMK004 is a Toshiba TMP90C840 with internal ROM — https://github.com/mamedev/mame/blob/master/src/mame/nmk/nmk16.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.