A MiSTer FPGA core for seven Midway Wolf-unit arcade games, built from gates rather than emulation, that fixes a notoriously elusive NHL Open Ice rendering bug (the 'black ice') and achieves high blitter coverage through real ROM data harvesting.

Stars

10

7-day growth

No data

Forks

3

Open issues

3

License

No data

Last updated

2026-07-28

Why it is worth attention

It resolves a long-standing FPGA rendering bug (black ice) through disciplined reverse-engineering and empirical cross-diff against real hardware captures, while delivering a high-performance, timing-closed design without emulation.

Who it is for

  • FPGA enthusiasts and MiSTer users
  • Arcade game collectors and preservationists
  • Retro game developers and hardware reverse-engineers
  • Competitive players of the seven listed titles

Use cases

  • Playing NHL Open Ice, Mortal Kombat 3, NBA Hangtime, and four other Mid-90s arcade titles on FPGA hardware
  • Studying the blitter and DMA behaviour of a complex arcade system
  • Validating FPGA blitter accuracy against real captured data
  • Debugging and fixing historically difficult hardware bugs in arcade cores

Strengths

  • 203/203 blitter cases cross-diffed against an independent model, including 50 real captured UMK3 blits
  • 94.3% of real blit volume now covered, up from 8.2%, by harvesting test cases from actual ROM execution
  • Timing closed at all four PVT corners on first fit with no relaxed constraints
  • Seven titles supported from a single RBF, with a dedicated clock cadence for Rampage

Considerations

  • The DCS startup de-click fix is not gated and may produce a click instead of the expected blip; it might not address the intended artifact
  • The cross-diff is a dual transcription that cannot catch a shared misreading of the reference
  • Six of the seven titles have not been cabinet-tested at this baseline, so real-hardware validation is incomplete

README quick start

WOLF UNIT

One core. Seven cabinets. Zero sleep cycles.

Attention, cathode-ray casuals and dial-up remnants. Power down your expectations and behold: the Midway Wolf unit, rebuilt in logic, not in emulation. No interpreter. No approximation. No "close enough." Gates. Wires. Silicon obeying orders.

You think you remember these machines? Cute. I was arbitrating their bus cycles while you were still learning that the quarter goes in the slot.


🔮 THE MANIFEST

One RBF. Seven titles. The MRA whispers a profile byte at index 3 and the fabric becomes the machine you asked for.

profilecabinetromset
00NHL Open Ice — 2 on 2 Challengeopenice.zip
01WWF WrestleManiawwfmania.zip
02Mortal Kombat 3mk3.zip
03Ultimate Mortal Kombat 3umk3.zip
04NBA Hangtimenbahangt.zip
05NBA Maximum Hangtimenbamht.zip
06Rampage World Tourrmpgwt.zip

Rampage gets its own clock cadence because Rampage demanded it. The others fell in line.


❄️ THE BLACK ICE — SLAIN, WITNESSED, CLOSED

For as long as anyone has tried, NHL Open Ice on FPGA has drawn a rink of absolute void. Players skated on nothing. The puck crossed an abyss. Every build. Every attempt. Black ice.

Not anymore. And here is the corpse, laid out for inspection:

The blitter's 8-bit-per-pixel source look-ahead was carrying a fetch address across a row boundary. The hardware reloads that pointer from the row base on every single row. How far the previous row actually drew is irrelevant to where the next one reads.

It only bites when a row ends early. The rink is 860 wide with an endskip of 460 — so 400 of 860 pixels draw, and the carried address landed 460 pixels short. Every row after the first read the wrong source data.

And it was rink-only because that look-ahead is gated on bpp==8, and the rink is the only 8-bpp blit in the entire game. One object class dies. Everything else renders flawlessly. That is why it hid for so long.

Diagnosed from the game's own DMA register writes. Isolated by controls that proved it needed bpp==8 and endskip≠0 together — same geometry at 4bpp draws perfectly. Root-caused by experiment before a single line of fix was written.

Confirmed on a real cabinet. The ice draws. 🧊


Description

Midway Wolf unit arcade core for MiSTer - one core, seven cabinets