According to the C64 wiki, asserting G̅A̅M̅E̅
on the
cartridge port (and not asserting E̅X̅R̅O̅M̅
) of the C64 leaves three
blocks of the C64 address space "unmapped": 28 KB @ $1000 (otherwise
RAM), 8 KB @ $A000 (otherwise BASIC ROM or, in some modes, ROMH on the
cartridge) and 4 KB @ $C000 (otherwise RAM).
Is it safe for the cartridge to respond to read and write requests to these areas? (Say, because the cartridge wanted to have I/O in that area or—for some reason I can't currently fathom—its own RAM.) I assume here that the cartridge would have its own address decoding to handle this, and that the hardware would be kept off the bus until software had set up the C64 memory map properly to unmap these areas before enabling the cartridge to respond to them.
I ask because I know that even when certain onboard devices (in this case, RAM) are not mapped in, they still respond to write requests. (I have verified that writing to KERNAL ROM will of course not change the ROM, but still write to the RAM at the same addresses.)
If this is possible, are there any cartridges out there that actually use this technique?