BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
I think a proper solution would be multidisk bundle xml support for those, with per-core controls for this similar to how disk swapping is implemented in cores that support it.
Proof-of-concept developed by @100thCoin for this TASVideos AfD submission.