I designed a menu driven multicart that just uses 2 standard ICs with a couple of other components for the logic. This design suports 2K and 4K games put into a 8K..128K EPROM (another latch could be added to support EPROMs up to 1 Mbyte).
The banking scheme used, uses address range $0800-$0FFF so a LDA $0800-$0FFF can be used
to set the latch(es). I've chosen this range so normal TIA and RIOT access will not interfere
with the banking scheme and for the possibility to patch $F8 (and other banking schemes) games.
A total of 11 address lines are available, 9 are uses for bank select, 1 bit for 2K/4K mode so a 2K bank can be mirrored to 4K and 1 bit to lock the latch(es) for games that interfere with the banking scheme.
Heres the BASIC design schematic.
I wrote a 2K menu for it that displays game titles as 48 pixel wide proportional text. A menu bar to highlight the selected title is controlled by any joystick or B/W, SELECT and RESET switches to select a game. Game titles are stored as graphics and take up a lot of space. I managed to byte bust the menu code into 512 bytes. So there are 248 lines of 48 pixels available for storing game titles.
I've made working 8-in 1 version in a 32K EPROM. But there is still a lot to do like a menu for supporting more 500+ games. and a utility to select games, patch the menu and generate a image of it.