I'll admit that I have a lot of ideas, and not a lot of real 'cut and solder the wires, and write a new program!' knowledge, when it comes to computers. That's where my significant other, a software engineer for a major online company, comes in. So, I should have known I was in trouble when I started explaining the idea of a "universal emulator" to him over IM today.
Though the idea of an emulator that can read all past file formats and mediums has been kicking around for nearly ten years, nothing has really been done on the subject. There just isn't enough money involved to encourage people to use obsolete file formats. However, the prospect is exciting to anyone who's ever found themselves unable to access vital files because they don't have the proper hardware or software. This can be devastating when the historical documents of a business, institution, or even an individual are trapped in an obsolete medium. Over five hours of gtalk messages, I explained exactly how it should work, while James asked the hard questions as to how it would be implemented. All of our ideas required a foundation of a computer with a dozen or so drives: tape, floppies of various sizes, disks, etc. We came up with two possibilities for the actual software.
The first idea is true firmware emulation. You choose what OS (operating system) you want to use and it boots up. You then have the use of all the programs that would have been included with that operating system. The problems with this would be getting each OS to work on the computer, and also the issue of designing a motherboard that could connect to a dozen or so drives, and still run. You also have the issue of the obsolete program emulator eventually becoming obsolete as new OS's are created.
The second idea is less true emulation, but more feasible. You develop modern viewers for old file types, and create an "open this program properly" program. Properly implemented, you could even have it set up so that if the program doesn't recognize your file type, it sends it to the developers to develop new viewers. Your hardware would be a machine connected to all the drives that simply translates and communicates with a server that actually contains all the viewers.
So is it actually feasible? Probably, with enough money and knowledge. However, I'm not sure we're getting there, at least not this afternoon, but it's a pretty neat idea.