I have an early Apple IIc, model A2S4000 with the 342-0272 motherboard and ROM 255. (I am considering upgrading the ROM, perhaps with a switch that would let me switch between different ROM versions.)
I'm thinking I'd like to connect something like a Motorola MC6821 PIA (4 I/O addresses) or MOS 6522 VIA (16 I/O addresses) to my Apple IIc. I pick these chips as typical examples; the general idea applies to anything similar, such as another ACIA or whatever.
(Note that this question is not looking for XY challenges proposing ways to connect I/O through means that don't resemble direct access to an IC on the system bus; that's not what I'm investigating right now.)
On a "non-c" Apple II this is no big deal; just plop the chip on a board with whatever additional logic you need, plug it in and Bob's your uncle. The Apple II even provides dedicated address space and decoding for the chip's I/O addresses and ROM, if ROM is necessary. (It's not in my case, though it would be nice to have if possible.)
However the IIc doesn't have actual slots, and much of the address space is allocated to internal hardware. This leads to the following questions (and perhaps others I've not thought of).
Is there any non-decoded address space in the Apple IIc? (I.e., addresses that when accessed don't enable any hardware, including RAM or ROM.) In the Apple IIc Technical Reference Manual Tables B-5 through B-9 list plenty of "Reserved" blocks, such as $C020-$C02F (onboard I/O area) and $C0B0-$C0FF (slots 3 through 7 I/O areas). Reading those two blocks returns semi-random values, which one would expect if those blocks are not decoded. If there are addresses I can safely use for my hardware, what are they? Or need I pull some tricks with my peripheral design to disable on-board hardware (perhaps temporarily, the way the No-Slot Clock does) in order to find address space I can use for my hardware's control and data registers?
What are my options for connecting to the address and data buses and necessary control lines? A typical choice seems to be to build a "shim" that goes between a chip and the board, the way the No-Slot Clock does with the ROM or the RAM Express II A2S4000 does with the CPU. What are the best chips with which to do this, both in terms of the signals available on their sockets (or board pads) and physical clearance? Are there other options for physical connectivity? (I am open to the idea of modifying the board to some degree, such as via soldering connectors to it.) For example, there seems to be a full set of unused pads around the GLU chip. How about options that bring the lines outside of the case, to plug in to an external board?
I'll also need some sort of address decoding for my chip select. Is there any on-board decoding I can "steal" to do part of the work, or need I fully decode the entire address on my hardware?
Are there any other concerns here that I've missed?