(Sorry for the small offtopic:)
What you are describing are effects of heterogenous computing platforms: a console is not much different from a PC anymore. This was something that started with the original Xbox [harddrive and upgradable] and PS2 [Linux-by-design] and continued with XNA etc. on Xbox 360 [basicly giving people a chance to develop programs with typical APIs easily makes it a very generic computing device]. This is even more evident today with tools like Unity which allow cross-platform development even for consoles which were usually locked down.
While this change doesn’t affect non-architecture specific software (high abstraction), it affects emulators (with custom JITs, dynarecs, certain expectations and niche features in renderering APIs etc.).
Modern, abstracted software design is not good for emulators as the flexibility is necessary to reproduce a very specific behaviour. Yet it’s very good for portability and processors / computing platforms will adapt [towards being fully heterogeneous].
(Also see Makimoto Wave: The standardization is slowly moving more logic into hardware)
I believe it is unlikely that x86 / PCs will survive another 30 years (in the form we currently use them). For most programs it’s easy enough to just recompile to a different architecture. The PC market literally went from everybody getting a PC in the 90ies to people having a new smartphone / tablet every year and slowly getting rid of their PCs. Architecture changes don’t affect the users but it will affect emulation.
What we should worry about is direct support for these new architectures and how to handle the ongoing abstraction. (by creating good interfaces to the hardware, implementing logic which might be abstracted (renderer) in software, taking into account parallelization of new platforms etc.)
Otherwise we might as well conclude that we could support EVERY platform by remote controlling a PC-based server in a datacenter somewhere (which is more likely than desktop computing for private users for the future - imo). But as you concluded: it’s not an ideal solution for other reasons.
In fact, if we preserve a platform, not by making its logic portable, but by depending on another platform (x86 PC, like we do now), we might as well simply preserve a handful of 3DS in a clean-room and make them accessible via a fast network.
@uberhalit I still like your effort in adding another way to play 3DS games to the arsenal. It might even help us create better user interfaces for alternative platforms in Citra, however, it’s orthogonal to emulation / preservation and actual Android support / portability.