Originally, the $10000-$17FFF and $1C000-$1FFFF areas were reserved for external I/O, so in principle free to use - but when connecting more than one peripheral there is of course the chance of a clash, so it's better to use part of your 16K space for it.
Miracle Systems put their Trump card ROM in the first 32K and the I/O in the second 16K mentioned, and switches on a copy of the ROM at $C0000 when the QL accesses the ROM slot at $C000, so the QL will find it and execute the initialisation routine, which jumps to the real code at $10000 and switches RAM back in at $C0000 - very clever indeed
