Skip to content

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.