Skip to content

motoxgo hangs at black screen before POST since d7e131c39 (F2MC-16 external interrupt change) #15778

Description

@pocketjazzy

Symptom

motoxgo (World; US/Japan sets presumably alike) shows a black screen immediately after the system warning screens and never reaches POST. The MAME window goes "Not Responding" and the process must be force-killed. Reproduced with -nodrc, with a completely clean cfg/ini environment, and on self-built binaries from unmodified sources (Windows, MSYS2 UCRT64, GCC 16.1) — an official-source rebuild at the mame0288 tag works fine with the same toolchain, so this is not a build-environment issue.

Bisection

All probes built with SOURCES=src/mame/namco/namcos23.cpp on Windows and booted with the same ROM set:

build result
mame0287 (official) works
mame0288 (official + self-built from tag) works
d066f16 (Jun 2) works
fff11e5 (Jun 29) works
6da5e1f (Jun 30) works
74efc8d works
d7e131c hangs
ecd58bf (Jul 2) hangs
7234190 (Jul 3), abdec31 (Jul 7), 2a5655b (Jul 14), 57d8bec (Jul 27) hang

First bad commit: d7e131c — "F2MC-16: External interrupts do not seem to have a iack/vector fetch cycle, according to the docs. And essentially none of the drivers use interrupts in the first place" (src/devices/cpu/f2mc16/f2mc16.cpp, +4/−7).

Why only some System 23 games

The motoxgo sets emulate the "extra" I/O board with a Fujitsu MB90611A (F2MC-16 family) MCU; timecrs2 has no F2MC device and is unaffected. This is consistent with the external-interrupt change wedging the I/O-board MCU (and with it the main CPU's I/O handshake) before POST. Untested prediction: aking (MB90F574 "iocpu2" region) is likely affected as well.

Found while regression-testing PR #15777 against other System 23 titles. Happy to test a fix — the repro loop here is quick.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions