Midway T-Unit (Mortal Kombat II, NBA Jam…)¶
The Midway T-Unit hardware (early 90s): a TMS34010 (graphics processor) running Mortal Kombat II, NBA Jam, NBA Jam T.E. and a T-unit version of Mortal Kombat. Digitised actors, big sprites, and ADPCM sound (Williams board) or DCS depending on the game. A descendant of the Y-Unit (Smash TV, Total Carnage, original MK1).
Identification¶
| Field | Value |
|---|---|
| Manufacturer | Midway / Williams (WMS) |
| Years | ~1992-1994 |
| Type | ROM-board platform; TMS34010 CPU/video |
| Connector type | Midway harness (not JAMMA) |
| Settings | DIP + CMOS (coinage can come from either) |
Architecture¶
| Block | Chip | Clock | Role |
|---|---|---|---|
| CPU / video | TMS34010 (GSP, Graphics System Processor) | 50 MHz | CPU and graphics engine (integrated blitter, framebuffer) |
| Video | framebuffer driven by the TMS34010 | pixel ~4 MHz | big digitised sprites, wide palette |
| Sound (MK1 T-unit) | Williams ADPCM board: M6809 + YM2151 + OKI6295 | FM + samples | |
| Sound (MK2, NBA Jam) | DCS (Digital Compression System, ADSP-2105) | high-quality compressed ADPCM audio | |
| Settings/scores | CMOS/NVRAM + a DIP bank | bookkeeping, high scores |
The TMS34010 is a graphics processor that serves both as CPU and display engine (bit-addressable, internal blitter) — hence the big digitised-actor sprites typical of MK/NBA Jam. The sound evolves: the Williams ADPCM board (6809/YM2151/OKI) on Mortal Kombat T-unit, then DCS (ADSP-2105 compression) on MK II and NBA Jam — a real audio quality jump.
Notable games¶
Mortal Kombat (T-unit version), Mortal Kombat II (1993), NBA Jam (1993), NBA Jam Tournament Edition (1994). The earlier Y-Unit (same TMS34010 family) carried Smash TV, Total Carnage, Mortal Kombat (1992) and Terminator 2.
Settings (DIP + CMOS)¶
Unlike the Williams 6809 (100% CMOS), the T-Unit has a real DIP bank — but hybrid: a "Coinage Source" switch chooses whether the coinage comes from the DIP or the CMOS. Gameplay settings (Attract Sound, "Low Blows", "Comic Book Offer"…) are on the DIP; bookkeeping and scores in CMOS. → Transcribed table: DIP settings — Mortal Kombat.
Common faults & preservation¶
| Symptom | Likely cause | Lead |
|---|---|---|
| Lost settings / scores | Flat / leaking CMOS battery | Replace the battery; clean the corrosion |
| No sound (MK2/NBA Jam) | DCS stage (ADSP-2105) | DCS board diagnosis |
| No sound (MK1 T-unit) | Williams ADPCM board (6809/YM2151/OKI) | Sound-stage diagnosis |
| Corrupted sprites / page flipping | Video RAM / TMS34010 | RAM test, contacts |
| No image | Power, TMS34010, harness | Base diagnosis |
CMOS battery leak = corrosion
As on the Williams 6809 and many boards of the era: relocate/remove the CMOS battery to avoid trace corrosion.
- Emulation: MAME (
williams/midtunit.cpp) emulates the T-Unit. No FPGA/MiSTer core (the TMS34010 is hard to reproduce in logic).
Conversions¶
- ROM swaps between games on the same base (T-Unit) are possible in the collector scene; mind the sound variant (Williams ADPCM vs DCS) which differs per game.
- No suicide encryption; the CMOS only stores settings/scores.
- ⚠️ Do not host ROMs — method only.
EPROM repair¶
TMS34010 (GSP) program + ADSP/DCS sound. Program and graphics on a ROM board (mask ROM + boot EPROM). Converting = swap the game's ROM board (Mortal Kombat, NBA Jam). See MAME midway/midtunit.cpp.
Modernisation & mods¶
The common ground for every JAMMA board
Video, power, control panel and upscalers depend on the cabinet rather than the board: everything is centralised in Modernising a cabinet. To run the board outside a cabinet (at home, on a display): supergun.
- Battery 🟢: a save battery is fitted (settings/counters/RTC). ⚠️ On this platform, a dead battery does NOT kill the game — it is a leaking battery that corrodes traces. Check and replace it before it leaks → save batteries.
- Storage 🟡: the game lives in EPROM/mask ROM on the board. Changing or restoring a game means reprogramming the EPROMs (and, for a mask ROM, using a pinout adapter) → EPROM method.
- Media preservation: replacing the original storage, multicarts, ODEs and modern options by family → PCB preservation hub.
- Scan rate 📺: a TMS34010-based board: the screen configuration is programmed by the game in the graphics controller and does not appear in the driver — not measured here. In practice these boards stay at standard ~15 kHz. (Derived from the architecture documented above.) → tri-sync and upscalers.
- FPGA / emulation: see the Emulation & FPGA section below.
Repair (technician)¶
- TMS34010 (GSP): CPU + graphics engine — corrupt/absent image = TMS34010 / framebuffer RAM / blitter → diagnose the GSP + video RAM.
- Sound: Williams ADPCM (M6809 + YM2151 + OKI6295) (MK1) or DCS (ADSP-2105) (NBA Jam/MK2) — a daughterboard to diagnose separately.
- ROM board: contacts. Capacitors: recap. EPROM sockets: turned-pin socket.
→ Methods: PCB fault-finding · Recap · EPROM · Traces & vias
Photos / assets¶
(To add: T-Unit ROM board, TMS34010, DCS/ADPCM sound board, CMOS battery.)
Sources & attribution¶
- MAME —
williams/midtunit.cpp(TMS34010 @ 50 MHz, Williams ADPCM vs DCS ADSP-2105 sound, MK/MK2/NBA Jam games,mkDIP coinage/CMOS) — https://github.com/mamedev/mame/blob/master/src/mame/williams/midtunit.cpp - Wikipedia — Midway T-Unit / Mortal Kombat II / NBA Jam — CC-BY-SA — https://en.wikipedia.org/wiki/Midway_T-Unit
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.