I work in the lab, and have relatives and friends who have labs chock full of equipment -- often chained to old computers.
Often, the old software interacts with the old hardware via bespoke physical interfaces that aren't supported by the VM in a way that actually works. And it's the hardware that's expensive to replace. Sometimes it's multiple interfaces, e.g., video is a separate interface than the internal controls of a microscope. If the hardware is old enough, the interface is an ISA or PCI card with custom drivers. My spouse has had more than one occasion when her lab was able to keep an instrument running due to the kindness of a service rep having some discontinued parts on hand.
"Pure" software that could easily run on a VM is more likely to be supplanted by new software that's rarely as expensive as hardware.
I have personally revived some old hardware by finding an interface spec and writing my own support code in Python. That might sound like a big effort, but often, a particular use of a hardware device involves a tiny subset of the device's full feature set.
Very few of the problems described in the story are solved with a virtual machine to run older software on newer computers. Lots of specific add-in cards, precise timing requirements for sampling, and high-altitude, high sunlight, high vibration conditions where an LCD screen does the job.
Often, the old software interacts with the old hardware via bespoke physical interfaces that aren't supported by the VM in a way that actually works. And it's the hardware that's expensive to replace. Sometimes it's multiple interfaces, e.g., video is a separate interface than the internal controls of a microscope. If the hardware is old enough, the interface is an ISA or PCI card with custom drivers. My spouse has had more than one occasion when her lab was able to keep an instrument running due to the kindness of a service rep having some discontinued parts on hand.
"Pure" software that could easily run on a VM is more likely to be supplanted by new software that's rarely as expensive as hardware.
I have personally revived some old hardware by finding an interface spec and writing my own support code in Python. That might sound like a big effort, but often, a particular use of a hardware device involves a tiny subset of the device's full feature set.