It took me a while to find the reason for this behavior... it's caused by coleco's -lx output which doesn't seem to be fully correct IMHO.

QMC2 needs to know the interface of a device and looks that up from the XML data. When I compare coleco with any other machine I see a colon (:) in front of the interface name:

rene@marvin:~/src/mame-git> ./mame64 coleco -lx | grep "<device type="
                <device type="cartridge" tag="cartslot" interface=":coleco_cart">

rene@marvin:~/src/mame-git> ./mame64 a2600 -lx | grep "<device type="
                <device type="cartridge" tag="cartslot" mandatory="1" interface="a2600_cart">
                <device type="cassette" tag=":cassette" interface="a2600_cass">

However, in the coleco software-list the colon is omitted, so QMC2 can't find a match (and sees no "mount device" because of it):

rene@marvin:~/src/mame-git> ./mame64 -listsoftware coleco | grep "<part name=" | uniq
                        <part name="cart" interface="coleco_cart">

I don't know if that's a bug in MAME or if it "works as designed". If the latter is true, I would need to ignore the colon as a simple workaround. But as it seems to be the only driver that's doing this I suppose it's not QMC2's fault.

I really need feedback about this from some MAME-dev, please!

A mind is like a parachute. It doesn't work unless it's open. [Frank Zappa]

We're searching for QMC2 translators and support for existing translations. Interested? See here!