Shift838 assembled a two port version and let me know he was having trouble with it. After a few back and forths, I built a quick and dirty one myself to troubleshoot. I got the same results - being that two cartridges would conflict and with one cart, it would work if selected and hang if not. After a little testing and thinking about it overnight, I realized that we need to add handling of the GROM Ready line to the circuit as well.
The inactive cartridge just needs GROM ready disconnected, so if you have 3 poles or more on your switch as Sinphaltimus does, it should be an easy fix. If you have only two poles like I do - I'm still thinking about whether that's possible.
The problem is that GROMs are "not ready" by default and all GROMs link into the GROM Ready line. During a GROM cycle, the ready line is used to halt the 9900 until all GROMs go ready. Since the inactive cart doesn't see the GROM Select, it doesn't participate in the cycle and so stays "not ready" forever. The circuit as above works for ROM-only carts but needs this change to also support GROM.
I still need to test this theory, but it fits the symptoms and is pretty likely the cause.
Edited by Tursi, Yesterday, 12:19 PM.