extend [...] with boards like this one
It might be notable, that the mentioned X-pander-3 is a rather new and comfortable solution.
Many extenders, as they were called back then, were much less capable, often barely a switch to enable power to either cartridge.
Typical examples are
all the way down to straight plug multipliers with no switching functionality at all, like their
What cartridges were typically used together on Commodore 64 systems?
Typically: None. The C64 expansion port was only designed with a single module in mind.
The default purpose is to no have to plug them all the time when switching between cartridges, but just press a button (or two). This is a principle shared by many cartridge switchers - all the way back to the VCS)
Thus it was physically possible to have more than one cartridge connected at once,
Usually not. Most expanders offer a way to enable only one of them. Some could be configured to have more than one attached at the same time, but uses are rather rare, as the expansion bus only provides a limited set of non managed resource identifiers and requirement signaling. Namely
- IO1 (page $DE)
- IO2 (page $DF)
- ROML ($8000..$9FFF)
- ROMH ($A000..$BFFF)
though whether these would actually operate together rather than getting into a "bus fight" depended on the particular cartridges.
Usually all expected to be sole 'owners' of the bus. Thus not being able to cooperate at all. Exemptions are combinations of pure interfaces (using IO*) and a single ROM cartridge.
What cartridges, if any, were typically used together at the same time?
If at all, only interfaces using (only) one of the IO* selects - and only if being configurable to either/or an expansion interface allowing configuration, like the mentioned X-pander-3. In addition a ROM cartridge can be used. Then again, such interfaces, more often than not, also contained already ROM.
A different situation might have been with the comparably small user base of DIY hackers, building their own interfaces. But their creations were anything but a standard to be asked for (Note *1 as well).
Magic Voice has been mentioned by bodgit. Unlike as it may seam at first sight, the Magic Voice isn't a (one slot) extender offering to have (an) additional cartridge, but a combination of speech hardware with its own ROM.
The ROM can be disabled, allowing access to a ROM from a plugged cartridge. To do so all management signals (see above) are routed thru the controlling gate array and/or the 6525 TPI. The hardware is (unchangeable) tied to IO2 (See the reworked schematics).
When booting up the C64 detects EXROM pulled and hands control to the ROM. After that the Magic Voice ROM installs its routines in RAM (below BASIC and KERNAL ROM as well as at $C000) and disables its own ROM. Next a check for a ROM cartridge plugged in its slot is performed (reading EXROM/GAME via the TPI). If not, it hooks BASIC and continues in KERNAL (skipping its vector initialization), ending up in regular BASIC startup.
If a (game) cartridge is detected, it gets mapped in according to its GAME/EXROM (and optional CBM80 signature) setting and started. If the cartridge is voice enabled, it will check $C000 for a signature and use the loaded software as provided. If not, it'll just use the C64 as is - rendering the preloaded speech software random data :) (*3)
Bottom line: Stand alone it's speech cartridge with BASIC extension, with a speech enabled cartridges it's an expansion hardware (*4). In neither mode it's an extender.
*1 - Rex Datentechnik GmbH modules are an interesting exception to all of this, as that company not only offered the usual extender types, but mainly a huge palette of modules. Many of them for data acquisition and alike. Most of them configurable to coexist with others of the series on a single bus. So by buying only of their series many different boards could be used at the same time.
*2 - The mentioned X-pander 3 is a great example of a good solution, short of using active components, as it allows to switch all of these plus power. Though, adding two LED to show the state of GAME and EXROM (for the selected one) would be nice as well.
*3 - Thus using Magic Voice with a non enabled cartridge always adds a (rather short) start delay.
*4 - One may think of it as of some SNES enhancement chips. Except here the user buys it separate, lowering the cost for follow up game cartridges while at the same time earning additional money.