Phil Stroffolino Mjolnir WIP
Phil Stroffolino posted some WIP news for Mjolnir. Many Namco games support a “link up” feature, using the C139 controller.
This allows the operator to connect up to 8 PCBs for multiplayer, LAN-style gaming.
This is used in a many games, including:
- the Final Lap series
- Cyber Sled
- Winning Run
- Driver’s Eyes
- Ridge Racer
- Time Crisis
…just to name a few.
Driver’s Eyes is an interesting use case, as the controller is used to link the separate displays (left, middle, and right monitor) for a single-player game.
I’ve 90% reverse engineered the controller, and completed some tests.
But there a more fundamental architectural problem that needs to be solved before it can be supported in a mainstream emulator: how to support emulation where for any game, 1..8 PCB instances might be present?
It’s not easy to take a driver and modify it to support multiple instances. You’d have to declare additional instances of virtual CPUs, input ports, monitors. Many emulated components are currently written to assume a single instance. Which variants shold be supported for any game - “1 cab”? “5 cabs” Even if these weren’t troublesome on their own, emulating “all pcbs” within a single process on a local machine is not practical from a performance perspective.
Towards this end, I’m exploring support for running N PCB instances using separate processes for each PCB, and pipes for the inter-CPU communication/synchronization. The goal is to allow PCBs to be emulated on different physical machines if so desired.
Check out Phil Stroffolino’s post here.

