Just a note: Windows software for controlling hardware is highly likely to assume a)direct access to the hardware (sometimes mediated thorough ancient APIs and assuming the existence of defunct expansion slots) and b) assume meatspace time can be counted using OS timing ticks (which get stretched out as modern VMs timeshare with other processes underneath the virtulized hardware). It is awfully tough to replace them sometimes.
Just a note: Windows software for controlling hardware is highly likely to assume a)direct access to the hardware (sometimes mediated thorough ancient APIs and assuming the existence of defunct expansion slots) and b) assume meatspace time can be counted using OS timing ticks (which get stretched out as modern VMs timeshare with other processes underneath the virtulized hardware). It is awfully tough to replace them sometimes.