I have an SC126 and I've used my game boards with it successfully with it in the past. I usually use the ColecoVision jumper settings. I was running it with the stock crystal. The demos I wrote are designed to insert enough nop instructions so that they can run on the SC126 at full speed.
The Z180 ColecoVision loader also enables the clock divider configures the Z180 to add the maximum number of wait states to slow it down enough so that most games will run:
https://github.com/jblang/GameController/blob/master/examples/z180load.asm#L120-L126Note that some games will still not work: those that use undocumented Z80 instructions not implemented on the Z180 such as Tetris, and ones that rely on very specific timing, such as Galaxian.
The ColecoVision loader also already relocates the Z180 ports out of the way of the sound card here:
https://github.com/jblang/GameController/blob/master/examples/z180load.asm#L112-L114Make sure you're also setting the interrupt jumper correctly. MSX uses INT while ColecoVision and Sord use NMI. ColecoVision games will not run if the jumper is set wrong. The demos I wrote use polling of the TMS9918 interrupt flag rather than relying on the interrupt lines so they should work either way.
Can you try to hard code the port into my demos and see if it really doesn't work or if the detection is just flaky?
You can hard code the port by commenting out the `call TmsProbe` line in the demo and adding the following lines:
ld a, 98h
ld (TmsPort), a
Use whatever port you have the jumpers set to (MSX or ColecoVision).
I have not tested this on the SC126 in probably over a year so it's possible a new version of RomWBW changed something that broke things, but I doubt it. I don't have my system hooked up right now but if I have time I will do some testing this weekend.