Any ideas why this should NOT work?
Storage capacity: while some games (as raw data) can fit into the built-in storage of some microcontrollers, others are too much.
Timing: this is the most crucial part, because ROM chips usually output the data bits as soon as the address lines are set; and depending of the CPU's efficiency per cycle, it latches the data bits either in a second clock pulse or one of the edges of the first one (after setting the address bus). So what this means is that the microcontroller would have to react to the change in the address lines 2 or 4 times faster than the SNES CPU itself. To make matters worse, the buses of the motherboard are built in a parallel fashion; which takes us to the third idea.
Insufficient GPIOs: they call it "16-bit console" for some reason, indeed the CPU latches or outputs 16 bits of data at a time; thus you'll need 16 pins just for the data part. Unless SNES cartridges used some kind of bank switching, the address lines are even worse, because to handle the largest ROM possible, I guess close to 24 bits are requiered. More or less you may need some microcontroller with 40 GPIOs, that can react quick enough against that many inputs and outputs.
But I guess if I just wanted to forward some opcodes and values that are computed by the Microcontroller I would not run into this problem. Also external (fast) memory seems like a simple solution, right?
But isn't a 168MHz processor many times faster than a 1MHz processor anyway?
Another possible solution would be to analyse the program code and prepare the data in advance so the SNES CPU doesn't need to wait at all, right?
Also the STM32F4 has a flexible memory controller that can handle parallel data up to 32 bits. I have no experience with this but it might work in this case too don't you think?
The STM32F4 has 70 GPIOs. That's not a problem at all.
That way you don't have to waste time actively polling the port register to react as soon as possible to a change in the address bus (again, as a real ROM chip will do).
Voltage level: I know STM32s works with 3.3V, but what about the buses?
Anti-piracy and region locks: remember that you need to also somehow provide the required signals to pass (or bypass) any piracy and region test; otherwise the CPU will refuse to do anything and the game won't even boot.
watch the R/W line, because you'll have to immediately change the data pins to inputs only while it's pulled to the "write" state; doesn't matter if it's addressing any of the on-board chips.
Do you know if the SNES processor, which is an upgrade of the 6502, expects data instantly after applying the adress on the adress lines? Or will it wait for some sort of handshake?
A bus transceiver or level shifter will prevent problems here I guess.
I can just use a manufactured cartridge and its CIC chip.
I actually don't really need to implement whole ROMs of SNES games. My main goal is just to interface with the 65816 processor to do something else with the SNES than play games.
The sound chip on this console is actually really interesting and I'd like to use its wavetable synthesizer.