As it turns out, HIB checks against 0x80 for the sign bit and not 0x8000. Oops.
Ah, so then you aren't using copy/paste for your opcode core. Perhaps I'll do a once over tomorrow to see if I can spot anything obvious.
Awesome, thanks! And that's correct, I'm not doing a direct copy/paste. I'm pretty much looking at your code and translating it to MAME-ese on the fly, but every so often I'll inadvertantly miss something.
You should try some SuperFX2 games. The only difference is the memory timing.
Unfortunately, none of them boot in MESS, presumably because of cart mapping issues. Neither Doom nor SMW2 even attempt to access the SuperFX chip before hanging.
Overall, looking really good!
Thanks, and thank you for writing such a good reference emulator!