But it is cool that it is possible at all to bring such software back to life. I wonder if we should start to design operating systems and software so that future generations can do this easier. I guess that would come down to writing lots of documentation; especially CPU an computer designers would have to be very open about flaws and subtle idiosyncrasies of their CPUs so it becomes easier to accurately emulate old machines, including things like firmware and any blobs (preferably with source code) needed to get a machine running.
> MAME's purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME prevents this important "vintage" software from being lost and forgotten. This is achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully?).
Those guys are doing a very good job of "documenting" a specialist subset of systems, even without support from vendors.